$(document).ready(function(){

	$(":input[name^='add['],a[name^='add['],:input[name^='book['],a[name^='book[']").click(function(){
		if(!(preg = /^[a-z]{3,4}\[(\d+)\]$/.exec($(this).attr('name')))) return false;
		$.drawLoading();
		var form = $(this).parents('form').eq(0);
		book = form.find(':hidden[name=book]').size() || $(this).attr('name').indexOf('book') != -1;
		var id = preg[1];
		if(!form.find(":input[name='q[" + id + "]']").size()) $("<input type=hidden name=q[" + id + "] value=1>").appendTo(form);
		var qf = form.find(":input[name='q[" + id + "]']");

		var num = parseInt(qf.val());
		if(!num || num < 0) return;
		var addf = !$(this).serialize() ? $("<input type=hidden name=" + (book ? "book" : "add") + "[" + id + "] value=1>").appendTo(form) : $(this);
		var f = form.find(":input[name^='params["+id+"]']").add(qf).add(addf).serializeArray();
		$.post('/modules/Shop/Shop_ajax.php?lang=' + lang,f,function(data){
			//$("#cart_block").load('/modules/Shop/Shop_cart_block.php?lang=' + lang,function(){
				var delay_msec = book ? 3000 : 1000;
				$.modal({
					message: data,
					buttons: null,
					isResizable: false,
					isHandlable: false,
					isClosable: false,
					drawOverlay: false,
					delay: delay_msec
				})
			//});
		})
		return false;
	})

	$(":input[name^='notify['],a[name^='notify[']").click(function(){
		if(!(preg = /^notify\[(\d+)\]$/.exec($(this).attr('name')))) return false;
		$.drawLoading();
		var form = $(this).parents('form').eq(0);
		var id = preg[1];
		var f = !$(this).serialize() ? $("<input type=hidden name=notify[" + id + "] value=1>").appendTo(form) : $(this);
		f = f.serializeArray();
		$.post('/modules/Shop/Shop_ajax.php?lang=' + lang,f,function(data){
			$("#cart_block").load('/modules/Shop/Shop_cart_block.php?lang=' + lang,function(){
				$.modal({
					message: data,
					buttons: null,
					isResizable: false,
					isHandlable: false,
					isClosable: false,
					drawOverlay: false,
					delay: 1000
				})
			})
		})
		return false;
	})

	$(":input[name^='holdover['],a[name^='holdover[']").click(function(){
		if(!(preg = /^holdover\[(\d+)\]$/.exec($(this).attr('name')))) return false;
		$.drawLoading();
		var form = $(this).parents('form').eq(0);
		var id = preg[1];
		var f = !$(this).serialize() ? $("<input type=hidden name=holdover[" + id + "] value=1>").appendTo(form) : $(this);
		f = f.serializeArray();
		$.post('/modules/Shop/Shop_ajax.php?lang=' + lang,f,function(data){
			$("#cart_block").load('/modules/Shop/Shop_cart_block.php?lang=' + lang,function(){
				$.modal({
					message: data,
					buttons: null,
					isResizable: false,
					isHandlable: false,
					isClosable: false,
					drawOverlay: false,
					delay: 1000
				})
			})
		})
		return false;
	})

	$(':input[name=payment]').change(function(){
		var f = $(this).serializeArray();
		$('#pay_description').load('/modules/Shop/Shop_pay_description.php?lang=' + lang,f);
	})

	$('.quantstable select').change(function(){
		var form = $(this).parents('form').eq(0);
		var v = $(this).val();
		var q = $('#qq' + v).val();
		form.find('.qqnumstore').text(q);
	})

	$(":input[name^='choose_composite['],a[name^='choose_composite[']").click(function(){
		if(!(preg = /^choose_composite\[(\d+)\]\[(\d+)\]\[(\d+)\]$/.exec($(this).attr('name')))) return false;
		$.drawLoading();
		var obj = $(this);
		var form = obj.parents('form').eq(0);
		var id = preg[1];
		var gid = preg[2];
		var mid = preg[3];
		var f = !$(this).serialize() ? $("<input type=hidden name=choose_composite[" + id + "][" + gid + "][" + mid + "] value=1>").appendTo(form) : $(this);
		f = f.serializeArray();
		$.post('/modules/Shop/Shop_ajax.php?lang=' + lang + '&getcompositeprice=1',f,function(data){
			if(data)
			{
				var gg = data.split(/\^\^/g);
				$('.composite_price').html(gg[0]);
				if(gg[1])
				{
					$('#cmodimage').html(gg[1]);
					init($('#cmodimage'))
				}
			}
			var compcontainer = $("#composites_container" + id);
			if(false)
			{
				compcontainer.load('/modules/Shop/Shop_composites.php?lang=' + lang + '&model_id=' + id,f,function(){
					$('.compositemodelchosen1').filter(function(){
						return $(this).find("[name^='choose_composite["+id+"]["+gid+"]']").size();
					}).removeClass('compositemodelchosen1').addClass('compositemodelchosen0');
					obj.parents('.compositemodelchosen0').removeClass('compositemodelchosen0').addClass('compositemodelchosen1');
				});
			}
			var ccc = $('.compositemodelchosen1,.compositemodelchosen0').filter(function(){
						return $(this).find("[name^='choose_composite["+id+"]["+gid+"]']").size();
			});
			ccc.find('.modelbutton1').removeClass('modelbutton1').addClass('modelbutton0').val('выбрать');
			obj.removeClass('modelbutton0').addClass('modelbutton1').val('выбрано');
			$.removeLoading();
		})
		return false;
	})
	
	shop_init();
})

function reload_cart(func)
{
	if(!window.lang) window.lang = $('body').attr('lang');
	//$.get('/modules/Shop/Shop_cart_block.php?lang=' + lang,function(data){
	//	var cart_block_data = data;
		$.get('/modules/Shop/Shop_cart_sum.php?lang=' + lang,function(data){
			var sum_data = data;
			$.get('/modules/Shop/Shop_cart_table.php?lang=' + lang,function(data){
				var table_data = data;
				//$("#cart_block").html(cart_block_data);
				$("#cart_table").html(table_data);
				$("#cart_sum").html(sum_data);
				if(func) func();
				shop_init();
				$.removeLoading();
			});
		})
	//})
}
	
function reload_cart_block(func)
{
	if(!window.lang) window.lang = $('body').attr('lang');
	$("#cart_block").load('/modules/Shop/Shop_cart_block.php?lang=' + lang,func);
}

function shop_init()
{
	lang = $("body").attr("lang");

	$(':input[name=delivery]').unbind('change').change(function(){
		var f = $(this).serializeArray();
		var pid = $(this).val();
		$('#delivery_description').load('/modules/Shop/Shop_delivery_description.php?lang=' + lang,f);
		$('#delivery_price').html($('#delivery_price' + pid).val());
	})

	
	$(":input[name^='deletecart['],a[name^='deletecart[']").click(function(){
		if(!(preg = /^\w+\[(\d+)\]$/.exec($(this).attr('name')))) return false;
		$.drawLoading();
		var i = preg[1];
		var obj = $(this);
		var form = obj.parents('form').eq(0);
		var f = !obj.serialize() ? $("<input type=hidden name=deletecart[" + i + "] value=1>").appendTo(form) : obj;
		f = f.serializeArray();
		$.post('/modules/Shop/Shop_ajax.php?lang=' + lang,f,function(){
			var nnum = $('#cart_table').find(":input[name^='qi[']").size();
			if( nnum == 1 )
			{
				reload_cart(function(){
					$('#cart_orderform,#cart_pays,#cart_sum').hide();
				});
			}
			else
			{
				reload_cart();
			}
		});
		return false;
	})
	
	$(":input[name^='cartrecount['],a[name^='cartrecount[']").click(function(){
		if(!(preg = /^\w+\[(\d+)\]$/.exec($(this).attr('name')))) return false;
		$.drawLoading();
		var i = preg[1];
		var obj = $(this);
		var form = obj.parents('form').eq(0);
		f = $(':input',form).serializeArray();
		$.post('/modules/Shop/Shop_ajax.php?lang=' + lang,f,function(data){
			if(data.indexOf('error') != -1)
			{
				$.modal({
					message: data,
					buttons: null,
					isResizable: false,
					isHandlable: false,
					isClosable: false,
					drawOverlay: false,
					delay: 2000
				})

			}
			else reload_cart();
			$.removeLoading();
		});
		return false;
	})

	$('.bookinfo').unbind('click').click(function(){
		
		$.get('/modules/Shop/Shop_ajax_return.php?lang=' + lang + '&field=MessageBookExplain',function(data){
			$.modal({
				message: data,
				buttons: null,
				width: '50%'
			})
		})
		return false;
	})

}