$(document).ready(function() {
	$().mousemove(function(e){
	      mousex = e.pageX;
		  mousey = e.pageY;
	   }); 

	
	$("#order_form").submit(function(){$(this).hide()})
	
	$("a[@id^=addtocart]").click(function(){
		add_to_cart($(this).attr('id').replace("addtocart",""));
		return false;
	})
	
	$("#order_recount").click(reload_cart)

	function reload_cart()
	{
		$("#cart_table").load("/shop_cart_table.php?lang=" + $("body").attr("lang"),$("#order_form").serializeArray(),function(){
			$("#cart_block").load("/shop_cart_block.php?lang=" + $("body").attr("lang"));
			$("#cart_sum").load("/shop_cart_sum.php?lang=" + $("body").attr("lang"));
			$(":text[@name^=q_]").keyup(function(){if(new RegExp('^[0-9]+$','g').test($(this).val())) reload_cart()})
		});

		if($(":checkbox[@name^=d]").length == $(":checkbox[@name^=d]:checked").length)
		{
			$("#order_form").hide();
		}
	}
	
	$(":text[@name^=q_]").keyup(function(){if(new RegExp('^[0-9]+$','g').test($(this).val())) reload_cart()})
	
	$('#orderphys').click(function(){
		$('#ordercontent').load('/shop_order_phys.php?lang=' + $("body").attr("lang"),function(){$(this).show()});
	})

	$('#orderjur').click(function(){
		$('#ordercontent').load('/shop_order_jur.php?lang=' + $("body").attr("lang"),function(){$(this).show()});
	})

	$.get('/forms_messages.php',function(data){
		$(data).appendTo('body');
	})
	
	$("form[validate]").submit(function(){
			var submit_form = true;
			var form_id = $(this).attr('id');
			if(!form_id) form_id = $(this).attr('id','form' + document.uniqueID).attr('id');
			$(this).find("div[needdiv]").remove();
			$(this).find(':input[need]').each(function(){
				if($(this).val() == '' && !$("div[needdiv]").length)
				{
					var need_message = show_need_message(this,$("div[@fmessage=fill]").html());
					$(this).bind("keydown",function(){need_message.remove()})
					submit_form = false;
					if($(this).is(":visible")) $(this).focus();
					return false;
				}
			});
			$(this).find(':input[mail]').each(function(){
				if($(this).val() && !check_mail($(this).val()) && !$("div[needdiv]").length)
				{
					var need_message = show_need_message(this,$("div[@fmessage=mail]").html());
					$(this).bind("keydown",function(){need_message.remove()})
					submit_form = false;
					this.focus();
					return false;
				}
			});
			$(this).find(':input[minlength],:password[minlength]').each(function(){
				var val_length = $(this).val().length;
				var min_length = parseInt($(this).attr('minlength'));
				if(val_length < min_length && !$("div[needdiv]").length)
				{
					var need_message = show_need_message(this,$("div[@fmessage=min]").html().replace(/#n#/g,min_length));
					$(this).bind("keydown",function(){need_message.remove()})
					submit_form = false;
					this.focus();
					return false;
				}
			});
			$(this).find(':file[exts]').each(function(){
				var exts = $(this).attr('exts').split(' ');
				var file_name = $(this).val();
				if(file_name)
				{
					var ext = '';
					var valid_ext = false;
					if(preg = new RegExp('\.([a-zA-Z]+)$','g').exec(file_name)) ext = preg[1];
					for(i = 0;i < exts.length; i++)
					{
						if(ext == exts[i])
						{
							valid_ext = true;
							break;
						}
					}
					if(!valid_ext && !$("div[needdiv]").length)
					{
						var message = $("div[@fmessage=fileext]").html();
						message = message.replace('#formats#',exts.join(','));
						var need_message = show_need_message(this,message);
						$(this).bind("keydown",function(){need_message.remove()})
						submit_form = false;
						if($(this).is(":visible")) $(this).focus();
						return false;
					}
				}
			});
						
			var pss = $(this).find(':password[password]');
			if(pss.length && submit_form)
			{
				var pss_val = $(this).find(':password[password]:first').val();
				pss.each(function(){
					if($(this).val() != pss_val && !$("div[needdiv]").length)
					{
						var need_message = show_need_message(this,$("div[@fmessage=pwds]").html());
						$(this).bind("keydown",function(){need_message.remove()})
						submit_form = false;
						this.focus();
						return false;
					}
				})
			}
			if(submit_form)
			{
				if(!$(this).is("[@direct=1]"))
				{
					var sending = show_message($("div[@fmessage=send]").html(),'center');
					if(this.method == 'get') $("#" + form_id + "_result").load($(this).attr('action'),function(){sending.remove();reload_captcha(form_id)});
					else $("#" + form_id + "_result").load($(this).attr('action'),$(this).serializeArray(),function(){
						sending.remove();
						reload_captcha(form_id);
						reevent_comments();
						$('#comments textarea').val('');
						tinyMCE.execInstanceCommand('comment','mceSetContent',false,'');
						if($(this).find('#form_message_ok').length) $("#" + form_id).remove();
					});
				}
				else return true;
			}
			return false;
	})
	
	$("form.pollform").submit(function(){
		url_str = "id=" + $(this).attr('pollid') + "&variant=" + $(":checked",this).val() + "&lang=" + $('body').attr('lang');
		$("#poll" + $(this).attr('pollid')).load("/poll.php?" + url_str);
		return false;
	});
	
	$("a[@id^=th_]").click(function(){
		var preg_array = /^th_(\d+)_(\d+)_(\d+)$/.exec($(this).attr('id'));
		if(preg_array)
		{
			var res_id = preg_array[1];
			var res_width = preg_array[2];
			var res_height = preg_array[3];
			open_modal_window('/open_image.php?file=' + res_id,res_width,res_height);
		}
		return false;
	})

	$('a[@id^=modelimagelink]').click(function(){
		var mimage = $('#modelimage' + $(this).attr('id').replace(/\D/g,''));
		mimage.removeAttr('width').removeAttr('height');
		var small_url = $(this).attr('ismallurl');
		var a_id = $(this).attr('aid');
		mimage.attr('src',small_url);
		mimage.parent('a').attr('id',a_id);
		return false;
	})
	
	$('a[@id^=opentable],a[@id^=opentablesnoop]').click(function(){
		var id_val = $(this).attr('id');
		var id = id_val.replace(/opentable/g,'');
		if(id.indexOf('snoop') == -1)
		{
			var table = $('#cat' + id);
		}
		else
		{
			id = id.replace(/snoop/g,'');
			var table = $('#catsnoop' + id);
		}
		var src = $('#openplus' + id).attr('src');
		if(table.is(':hidden'))
		{
			table.show();
			$('#openplus' + id).attr('src',src.replace(/plus/g,'minus'))
		}
		else
		{
			table.hide();
			$('#openplus' + id).attr('src',src.replace(/minus/g,'plus'))
		}
		return false;
	})
	
			$('a[@id^=openmtr]').click(function(){
		var id = $(this).attr('id').replace(/openmtr/g,'');
		var asd = $('#mtr' + id);
		if(asd.is(':hidden')) asd.show();
		else asd.hide();
		return false;
	})
	
	reevent_comments();
});


function reevent_comments()
{
	$('#comments *[@id^=quote]').click(function(){
		var cid = 'comment' + $(this).attr('id').replace(/\D/g,'');
		var str = $('#' + cid).html();
		str = str.replace(/<(blockquote)>.*<\/\1>/ig,'');
		str = '[QUOTE]' + str + '[/QUOTE]';
 		tinyMCE.execInstanceCommand('comment','mceInsertContent',false,str);
		return false;
	})
}

function reload_captcha(elID)
{
	jq = !elID ? $("img[@src*=code.jpg]") : $("img[@src*=code.jpg]",$("#"+elID));
	jq.each(function(){
		var new_src = $(this).attr('src').replace(/\?.*$/g,'') + '?' + Math.random();
		$(this).attr('src',new_src);
	})
}


function show_need_message(obj,message)
{
	return $('<div class=needmessage needdiv=1>' + message + '</div>').insertAfter($(obj)).hide().fadeIn(600);
}

function show_message(msgText,msgPos)
{
	if(!msgPos) msgPos = '';
	var ajax_message = $("<div id=ajaxmessage style='display:none'>" + msgText + "</div>").appendTo('body');
	ajax_message.css('position','absolute');
	if(msgPos == 'center')
	{
		ajax_message.css('left',($(document).scrollLeft() + ($(window).width() - ajax_message.width()) / 2))
		ajax_message.css('top',($(document).scrollTop() + ($(window).height() - ajax_message.height()) / 2));
	}
	else
	{
		ajax_message.css('left',mousex)
		ajax_message.css('top',mousey);
	}
	ajax_message.show();
	return ajax_message;
}

function show_menu(i)
{
	$('#submenu'+i).is(":hidden") ? $('#submenu'+i).show() : $('#submenu'+i).hide();
}

function add_to_cart(n)
{
	var f = $("select[@name^=prop_"+n+"_],:text[@name=q_" + n + "]").serializeArray();
	$("#cart_block").load('/shop_cart_block.php?lang=' + $('body').attr('lang'),f,function(){
		show_message($("#cart_added_text").val(),'mouse').fadeIn(600).fadeOut(600,function(){$(this).remove()});	
	});
}

function check_mail(str)
{
	if(str == '') return true;
	var reg = /\s/g;
	str = str.replace(reg,'');
	var mails = str.split(",");
	var reg2 = /^[a-zA-Z0-9][a-zA-Z0-9\._-]+@[a-zA-Z0-9_\.-]+\.[a-zA-Z]{2,4}$/;
	for(i = 0;i < mails.length;i++) if(!reg2.test(mails[i])) return false;
	return true;
} 

function open_modal_window(file,modal_width,modal_height,func)
{
	$("#modal").remove();
	var modal = $('<div id=modal style="display: none">Загрузка...</div>').appendTo('body');
	modal.css('position','absolute');
	modal.css('width',modal_width);
	modal.css('height',modal_height);
	var left_coord = $(document).scrollLeft() + ($(window).width() - modal_width) / 2;
	var top_coord = $(document).scrollTop() + ($(window).height() - modal_height) / 2;
	modal.css('left',left_coord);
	modal.css('top',top_coord);
	var reg = new RegExp('^/','g');
	modal.load(file,function(){
		$("#modalimage").parents('a').click(function(){return false})
		$("body,#modalimage").click(function(){$("#modal").hide(250,function(){$(this).remove()});})
		modal.show(250);
	});
}

function print_version()
{
	var str = '';
	$.get('/print.php',function(data){
		str = data;
		var content = $('#center > div.text').html();
		str = str.replace('#content#',content);
		var nw = self.open();
		nw.document.write(str);
		nw.document.close();
	});
	void(0);
}