$(document).ready(function(){

	$.get('/general/ajax_vars.php?lang=' + lang + '&shop=1',function(data){
		$(data).appendTo('body');
	})

	$("*[@id^=addtocart],*[@id^=putoff]").click(function(){
		add_to_cart($(this).attr('id'));
		return false;
	})

	$("*[@id^=compare_list_]").click(function(){
		var comp = $(this);
		var csrc = comp.attr('src');
		var is_del = csrc.indexOf('delete') != -1;
		if(preg_array = /^compare_list_(\d+)_(\d+)$/.exec($(this).attr('id')))
		{
			$('#compare_block').load('/modules/shop/shop_compare_block.php?lang=' + lang + '&cat_id=' + preg_array[1] + '&id=' + preg_array[2] + (is_del ? '&delete=1' : ''),function(){
				if(!is_del) comp.attr('src',csrc.replace('add','delete'));
				else comp.attr('src',csrc.replace('delete','add'));
				show_message($("#MessageCompare" + (is_del ? "Delete" : "Add")).html());
			});
		}
	})
	
	$('#payment').change(function(){
		var pay_id = $(this).val();
		var pay_select = $(this);
		$('#pay_description').load('/modules/shop/shop_pay_description.php?lang=' + lang,pay_select.serializeArray());
	})
	
	$('#orderphys').click(function(){
		$('#field318').hide();
	})

	$('#orderjur').click(function(){
		$('#field318').show();
	})
	
	$('#showcompare').click(function(){
		open_ajax_window('/modules/shop/shop_compare.php?lang=' + lang,'compare_window');
		return false;
	})

	shop_init();
})

function delete_compare(id)
{
	$('#compare_block').load('/modules/shop/shop_compare_block.php?lang=' + lang + '&delete_compare_id=' + id,function(){
		$('#compare_window .ajaxwindowcontent').load('/modules/shop/shop_compare.php?lang=' + lang,init);
	});
	return false;
}


function reload_cart()
{
	$("#cart_table").load('/modules/shop/shop_cart_table.php?lang=' + lang,$(":text[@name^='qi['],:input[@name^='propsi['],:checkbox[@name^='d['],:hidden[@name^='d['],:checkbox[@name^='p['],:input[@name^='p['],:input[@name^='p['],select[@name=delivery]").serializeArray(),function(){
			$("#cart_block").load('/modules/shop/shop_cart_block.php?lang=' + lang);
			$("#cart_sum").load('/modules/shop/shop_cart_sum.php?lang=' + lang);
			var cc = $("#cart_options,#cart_orderform");
			var bool = $(":checkbox[@name^='d[']").size() || !$(this).parent().find(":hidden[@name^='ids[']").size();
			bool_1 = bool && $(":checkbox[@name^='d[']").length == $(":checkbox[@name^='d[']:checked").length;
			bool_2 = bool && $(":checkbox[@name^='p[']:checked").length == $(":checkbox[@name^='d[']").length;
			if(bool_1 || bool_2) 
			{
				cc.hide();
			}
			else if(cc.is(":hidden")) cc.show();
			init();
			shop_init();
	});
}
	
function reload_cart_block()
{
	$("#cart_block").load('/modules/shop/shop_cart_block.php?lang=' + lang);
}

function history_init()
{
	$('*[@id^=cancelorder]').click(function(){
		var order_id = $(this).attr('id').replace(/\D/g,'');
		$('#shop_history').load('/modules/shop/shop_history.php?lang=' + lang + '&cancel_id=' + order_id,function(){
			history_init();
		});
		return false;
	})
}

function shop_init()
{
	lang = $("body").attr("lang");
	history_init();

	$(':input[@id^=delete_from_cart_]').click(function(){
		var id = $(this).attr('id').replace(/^delete_from_cart_/g,'');
		var form = this.form;
		if(preg = /^(\d+)_(\d+)$/.exec(id))
		{
			$(this.form).append('<input type=hidden name="d[' + preg[1] + ']" value="' + preg[2] + '">')
			reload_cart()
		}
		return false;
	})
	
	$(':input[@id^=act_putoff_]').click(function(){
		var id = $(this).attr('id').replace(/act_putoff_/g,'');
		var form = this.form;
		if(preg = /^(\w+?)_(\d+)$/.exec(id))
		{
			var value = preg[1] == 'add' ? 'on' : '0';
			$('#p_' + preg[2],form).val(value);
			reload_cart()
		}
		return false;
	})
	
	$(".order_recount").click(function(){
		reload_cart();
		return false;
	})
}

function add_to_cart(n)
{
	var putoff = n.indexOf('putoff') != -1 ? 1 : 0;
	n = n.replace(/\D/g,'');
	if(!$(":text[@name='q[" + n + "]']").size()) $("<input type=hidden name=q[" + n + "] value=1>").appendTo('body');
	var qf = $("*[@name='q[" + n + "]']");
	var num = parseInt(qf.val());
	if(!num || num < 0) return;
	var maxq = parseInt($("#shop_maxq").text());
	if(maxq && num > maxq)
	{
		qf.val(maxq);
		show_message($("#shop_maxq_message").html());
		return false;
	}
	
	var f = $("select[@name^='props["+n+"]'],*[@name='q[" + n + "]']").serializeArray();
	$("#cart_block").load('/modules/shop/shop_cart_block.php?lang=' + lang + '&putoff=' + putoff,f,function(){
		show_message($("#Message" + (putoff ? 'PutOff' : 'CartAdd')).html());
	});
}
