var shadow = new Element('div',{'class':'shadow'});

shadow.setStyle('opacity','0.7');
window.addEvent('domready',function(){
	buttons = $(document).getElements('a.bullet');
	if (buttons) {
		buttons.each(function(button){
			button.addEvents({
				'click' : function(e){
					new Event(e).stop();
				},
				'mouseenter' : function(e){					
					this.getNext().setStyle('opacity',0).fade('in');
				},
				'mouseleave' : function(e){
					this.getNext().fade('out');
				}
			});
		});
	}
	
	/*if (screen.width >= 1280) {
		$(document.body).addClass('w1280');
	}*/

	$(document.body).adopt(shadow);
	//$(document.body).adopt(iFrame);
	
	var iframeLinks = $$('a.iframe');
	if (iframeLinks){
		iframeLinks.addEvent('click',function(e){
			new Event(e).stop();
			showIframe(this.href);
		});
	}
	var cart_list = $(document).getElement('.cart_list');
	var container = $(document).getElement('.main_block');
	
	var product_links = $(document).getElements('.product_price .number a');
	if (product_links) {
		product_links.addEvent('click',function(e){
			e.stop();
			alert(this);
			alert(this.className);
			if (this.hasClass('custom')) {
			    buyCustom();
			    return;
			}
			var input = this.getParent('tr').getElement('input');
			animateCart(this);
			cartUpdate('item='+input.id+'&value='+input.value);
		});
	}
	if ($('loginForm')){
		$$('#loginForm a.button').addEvent('click',function(e){
			e.stop();
			$('loginForm').submit();
		});
		$$('#loginForm input').addEvents({
			'focus': function(){
				if (this.get('d')==null) {
					this.set('d',this.value);
				}
				if (this.value==this.get('d')) this.value = '';
			},
			'blur' : function(){
				if (this.value=='') this.value=this.get('d');
			}
		});
		$$('#loginForm input[type=password]').addEvent('keydown',function(e){
			if (e.key!='enter') return;
			this.form.submit();
		});
	}
	var cafe_form;
	if (cafe_form = $$('form.select_cafe_form')){
		var submit = cafe_form.getElement('input');
		submit.addEvent('click',function(e){
			e.stop();
			var address_list = cafe_form.getElement('select');
			if (address_list.get('value')==-1) { address_list.setStyle('color','#ff0000').setStyle('font-weight','bold'); }
			else {
				showIframe(ROOT+'iframe/register.php?address='+address_list.get('value'));
			}
		});
	}
	var main_scroll = 1;
	var total_scroll = 0;
	if (main_block = $$('.center_text_block')) {
		total_scroll = $$(main_block.getElements('.part_3 h3')).length;
		main_block.getElement('.part_4 a').addEvent('click', function(e){
			e.preventDefault();
			cur_scroll = main_scroll;
			main_scroll++;
			if (main_scroll>total_scroll) main_scroll=1;
			mainBlockScroll(main_block, cur_scroll, main_scroll); 
		});
	}
	
	
	if (menu_list = $$('.sub_menu_2 a, .sub_menu_3 a')) {
		var menu_switch = 0;
		var ajaxprod;
		var tds = $$('td.cont');
		/*if (screen.width >= 1280 && menu_list.length) {
			$$('td.cont').setStyle('width', 1280);
			document.getElement('.css_cart_page_container').setStyle('width', 1256).getElement('.css_cpc_container').setStyle('width', 2560);
		}*/
		menu_list.each(function(el,i){
			el.addEvent('click', function(e){
				e.preventDefault();
				//$$('.css_cart_page_container').setStyle('display','block');
				var act = document.getElement('.sub_menu_2 .active, .sub_menu_3 .active');
				if (el.hasClass('active') || el.getParent().hasClass('active')) return;
				menu_switch = !menu_switch;
				var myprod = tds[(menu_switch)?1:0];
				if (ajaxprod) ajaxprod.cancel();
			
				ajaxprod = new Request.HTML({ onComplete: function(){
					myprod.set('html', arguments[2]);
					//$$('.css_delivery_map').setStyle('display','none');
					if (act) act.removeClass('active');
					var product_links = myprod.getElements('.product_price .number a');
					if (product_links) {
						$$(product_links).addEvent('click',function(e){
							e.stop();
							if (this.hasClass('custom')) {
							    buyCustom(this);
							    return;
							}
							var input = this.getParent('tr').getElement('input');
							if (isNaN(input.value)) {
								input.highlight('#f00');
								return;
							}
							animateCart(this);
							cartUpdate('item='+input.id+'&value='+input.value);
						});
					}
					
					//slideWidth = (screen.width>=1280) ? 1280 : 1024;
					slideWidth = 1024;
					
					(function(){document.getElement('.css_cpc_container').set('tween',{duration: 500, onComplete: function(){ tds[(menu_switch)?0:1].set('html',''); } }).tween('left',-((menu_switch?1:0)*slideWidth))}).delay(500);
					//document.getElement('.css_cpc_container').setStyle('left', -((menu_switch?1:0)*1024));
					//.chain();
					if (this.getParent().tagName=='LI') {
						this.getParent().addClass('active');
					}else {
						this.addClass('active');
					}
					//alert($$('.css_cart_page_container').getStyle('display'));
					//alert(document.getElement('.css_cpc_container').getParent().getParent().get('html'));
				}.bind(this)}).get(ROOT+'product_rpc.php?item='+(i+1));
				
			});
		});
	}
	if (menu_list.length) {
		document.getElement('.css_cpc_container').set('tween',{duration: 500, onComplete: function(){ tds[(menu_switch)?0:1].set('html',''); } }).tween('left',-((menu_switch?1:0)*1024));
	}

});

function mainBlockScroll(main_block, cur_scroll, main_scroll) {
	text_blocks = $$('.part_3 div div div');
	img_blocks = $$('.part_2 div div div');
	
	text_blocks[cur_scroll-1].fade('out');
	img_blocks[cur_scroll-1].fade('out');
	
	text_blocks[main_scroll-1].setStyle('visibility', '');
	img_blocks[main_scroll-1].setStyle('visibility', '');
	
	new_pos_text = text_blocks[main_scroll-1].getPosition(text_blocks[main_scroll-1].getParent()).y;
	
	text_blocks[main_scroll-1].fade('hide');
	
	main_block.getElement('.part_3 div div').setStyle('top', -new_pos_text);
	
	text_blocks[main_scroll-1].fade('in');
	
	img_blocks[main_scroll-1].fade('hide');
	
	new_pos_img = img_blocks[main_scroll-1].getPosition(img_blocks[main_scroll-1].getParent()).y;
	
	img_blocks[main_scroll-1].fade('in');
	
	main_block.getElement('.part_2 div div').setStyle('top', -new_pos_img);
	
	text_blocks[cur_scroll-1].setStyle('visibility', 'hidden');
	img_blocks[cur_scroll-1].setStyle('visibility', 'hidden');
}

function showIframe(src){
	var iFrame = new IFrame({

	src: '',
	scrolling : 'no',
	frameborder: '0',
	allowtransparency: 'true',
	styles: {
	    width: 530,
	    height: 500,
	    border: '0',
	    position: 'absolute',
	    left: '50%',
	    margin: '0 0 0 -265px',
	    top: '60px'
	    
	}
	
	});
	iFrame.setStyle('z-index','15');
	iFrame.setProperty('allowTransparency',true);
	
	iFrame.inject($(document).body);
	
	window.scrollTo(0,0);
	
	shadow.setStyle('height',window.getScrollSize().y+'px');
	shadow.setStyle('display','block');
	iFrame.src = src;
	
}
function cartUpdate(uri, onSucc) {
	var mycart = $(document).getElement('.css_cart_float_block a strong');
	if (!mycart) return false;
	if (mycart.getParent('div').hasClass('css_cfb_2')) return false;
	var ajax = new Request.HTML({update: mycart, onSuccess: onSucc}).get(ROOT+'cart.php?'+uri);
	return false;
}

function cartDelete(itemId, itemInfo) {
	var ajax = new Request.JSON({onSuccess: function(jsonObj){
		var mycart = $(document).getElement('.css_cart_float_block a strong')
		if (mycart.getParent('div').hasClass('css_cfb_2') == false) {
			mycart.set('html', jsonObj[0]);
		}
		var mysum = $(document).getElement('.css_total_buttons h3 span').set('html', jsonObj[1]);
		var mcount = $('count-'+itemId+itemInfo);
		if (mcount) {
			ncount = parseInt(mcount.get('html'));
			ncount -= 1;
			if (ncount<=0) {
				product_info = mcount.getParent('.product_info');
				product_del = product_info.getPrevious('tr');
				product_price = product_info.getNext('tr');
				product_info.dispose();
				product_price.dispose();
				product_del.dispose();
				if ($$('.product_info').length==1) {
					$$('.empty_cart').setStyle('display', '');
					$$('.css_part_1 h3').set('html', '&nbsp;');
					$$('.css_tb_cart_2').setStyle('display', 'none');
				}
			}else {
				mcount.set('html', ncount);
			}
		}
	}}).get(ROOT+'updcart.php?delItem='+itemId+'|||'+itemInfo);
}

function animateCart(el) {
    if (el.hasClass('custom')) {
	var element = document.getElement('.css_creating_product .css_cp_image img');
    }else {
	imgid = el.getParent('tr').getElement('input').id;
	var element = $('image-'+imgid);
    }
	var clone = new Element('img').setStyles({
			'margin' : '0',
			'position' : 'absolute'
	}).inject($(document.body)).position(element.getPosition());
	if (element.runtimeStyle) {
	if (element.runtimeStyle.filter) {
		clone.src = element.runtimeStyle.filter.match(/src='(.+?)'/)[1];
	}else {
		clone.src = element.src;
	}
	}else {
		clone.src = element.src;
	}
	
	//clone.src = '/img/indexcafe_logo.gif';
	//clone.filter = '';
	
	clone.set('morph', {'duration' : 500, onComplete: function() { clone.dispose(); } });
	cart = document.getElement('.css_cart_float_block');
	var pos = cart.getPosition();

	clone.morph({
		top: pos.y,
		left: pos.x,
		opacity: 0.25
	});
}

function setPrices(el,arg) {
	$$('.css_d_list .css_active').removeClass('css_active');

	$$(el).getParent().addClass('css_active');
	for (i=1; i<arguments.length; i++) {
		num = arguments[i];
		c = i;
		if (num == parseFloat(num)){
			myStr = num+'.Ls';
			document.getElement('.css_dmi_coords_'+c+' span').getParent().removeClass('css_dmi_price_3');
		}else {
			myStr = num;
			document.getElement('.css_dmi_coords_'+c+' span').getParent().addClass('css_dmi_price_3');
		}
		$$(document.getElement('.css_dmi_coords_'+c+' span')).set('html', myStr);
	}
	return false;
}

function buyCustom(el){

    if (wok.getLength() < wok_size) {
	alert(wok_error);
	return;
    }
    var input = el.getParent('tr').getElement('input');
    animateCart(el);
    var info = wok.getValues().join(',');
    cartUpdate('item='+input.id+'&value='+input.value+'&info=' + info);
}

function addSpecial (group_id, part_id) {
    if (wok[group_id]) {
		if (wok[group_id] == part_id) return;
		var prev_part = wok[group_id];
		var big_image =  document.getElement('.css_creating_product .css_cp_image');
	
		var img_back = $('part_' + prev_part).getElement('img').clone().inject($(document.body)).setStyles({
				'margin' : '0',
				'position' : 'absolute',
				'z-index': '10000',
				'visibility' : 'visible',
				'display': 'inline'
		});
	
		var img_pos = big_image.getPosition($(document.body));
		var img_size = big_image.getSize();
	
		img_pos.x = img_pos.x + img_size.x/2;
		img_pos.y = img_pos.y + img_size.y/2;
	
		img_back.position(img_pos);
	
		moveImage(img_back,  $('part_' + prev_part).getElements('img')[1]);
	
		(function(){  
			var imgs = $('part_' + prev_part).getElements('img'); 
			imgs[0].setStyle('display', 'inline');
			imgs[1].setStyle('display', 'none');
		}).delay(500);
	
		img_back.dispose();
    }

    wok[group_id] = part_id;

    var imgs = $('part_'  + part_id).getElements('img');
    moveImage( imgs[0], document.getElement('.css_creating_product .css_cp_image') , true);
    imgs[0].setStyle('display', 'none');
    imgs[1].setStyle('display', 'inline');

    

    $('ingredient_' + group_id).set('text', $$('#part_'+part_id+' a')[1].innerHTML);

}

function moveImage(img1, img2, center) {
	var element = img1;
	var clone = new Element('img').setStyles({
			'margin' : '0',
			'position' : 'absolute',
			'z-index': '10000'
	}).inject($(document.body)).position(element.getPosition());
	if (element.runtimeStyle) {
	if (element.runtimeStyle.filter) {
		clone.src = element.runtimeStyle.filter.match(/src='(.+?)'/)[1];
	}else {
		clone.src = element.src;
	}
	}else {
		clone.src = element.src;
	}

	//clone.src = '/img/indexcafe_logo.gif';
	//clone.filter = '';

	clone.set('morph', {'duration' : 500, onComplete: function() { clone.dispose(); } });

	var pos = img2.getPosition($(document.body));
	if (center) {
	    var size = img2.getSize();
	    pos.x = pos.x + size.x /2;
	    pos.y = pos.y + size.y /2;
	}

	clone.morph({
		top: pos.y,
		left: pos.x,
		opacity: 0.25
	});
}