
$(function(){
	
	$('a', '#metal4u_').find('font:contains("Металлы и цены")').html('');
	//коррекция для какогото там гарульного ИЕ6
	//
	if ($.browser.msie && $.browser.version<=6)
	{
		$('font', '#metal4u_').css('font-size','9px');
		$('a:contains("Полоса горячекатанная")', '.message_head').html('Полоса&nbsp;горячекатанная');
	}
	
	//hide message_body after the first one
	$(".message_body[rel='off']").hide();

	//toggle message_body
	$(".message_head1").click(function(){
		$(this).next(".message_body").slideToggle(500);
		return false;
	});

	$(".message_head table").hover(
		function () 
		{				
			if ($(this).attr("rel")=="closet") $(this).addClass("message_head_act");
		},
		function () 
		{
		   if ($(this).attr("rel")=="closet") $(this).removeClass("message_head_act");
		}
	);
	
	$('.fop').click(function(){
		$(this).addClass('order-act');
		$('.url').removeClass('order-act');
		$('.fop-in').slideDown();
		$('.url-in').slideUp();
	});
	
	$('.url').click(function(){
		$(this).addClass('order-act');
		$('.fop').removeClass('order-act');
		$('.fop-in').slideUp();
		$('.url-in').slideDown();
	});
	
	function parseDouble(val)
	{
		return Math.round(parseFloat(val) * Math.pow(10, 5)) / Math.pow(10, 5);
	}
	
	function ChangeSumma(rel,count_g,price)
	{
		count_g=parseFloat(count_g);
		price=parseFloat(price.replace(" ",""));
		summa1=count_g * price;
		$("td.summa[rel='"+rel+"']").html(number_format(summa1,0,""," "));
	}

	$("input.sm-field").keyup(function(){
		count_good=parseFloat($("input[type='text'][rel='"+$(this).attr('rel')+"']").val().replace(",","."));
		if (count_good<0) count_good=count_good*(-1);
		count_good=parseDouble(count_good);
		ChangeSumma($(this).attr("rel"),count_good,$("td.price[rel='"+$(this).attr('rel')+"']").text());
	});
	
	$(".arr-top").click(function(){
		count_good=parseFloat($("input[type='text'][rel='"+$(this).attr('rel')+"']").val().replace(",","."));
		if (count_good<0) count_good=count_good*(-1);
		count_good=parseDouble(count_good+1);
		$("input[type='text'][rel='"+$(this).attr('rel')+"']").val(count_good);
		ChangeSumma($(this).attr('rel'), ($("input[type='text'][rel='"+$(this).attr('rel')+"']").val()), ($("td.price[rel='"+$(this).attr('rel')+"']").text()));
		return false;
	});
	
	$(".arr-bot").click(function(){
		count_good=parseFloat($("input[type='text'][rel='"+$(this).attr('rel')+"']").val().replace(",","."));
		if (count_good<0) count_good=count_good*(-1);
		count_good=parseDouble(count_good-1);
		if (count_good>0) $("input[type='text'][rel='"+$(this).attr('rel')+"']").val(count_good);
		ChangeSumma($(this).attr('rel'), ($("input[type='text'][rel='"+$(this).attr('rel')+"']").val()), ($("td.price[rel='"+$(this).attr('rel')+"']").text()));
		return false;
	});
	
	// в корзину
	$('.basket-but').live('click',function(){
		if (loading_start(ids_=$(this),'basket-but'))
		{
			var params={};
			params.good=$(this).attr('rel');
			if ($("input[type='text'][rel='"+params.good+"']").length>0) var count=parseFloat($("input[type='text'][rel='"+params.good+"']").val().replace(",","."));
			params.count=((count>0)?count+0:1);
			//alert(params.good+' '+params.count);
			JsHttpRequest.query(
				'/zina.php',
				params,
				function(result, errors)
				{
					loading_end(ids_,'basket-but');
					//if (errors) alert(errors);
					//$('#div_errors').html(errors);
					if (result)
					{
						alert('Товар добавлен в корзину');
						$('#goods').html(result['goods_prev']);
						if (parseFloat(result['goods_prev'].replace(",","."))>0)
						{
							$(".present-basket").show('normal');
							$(".empty-basket").hide('normal');
						}
						
					}
				},
				true
			);
		}
		return false;
	});

	// удаление товара
	/* $(".delGood").click(function(){
		var rel_g=$(this).attr('rel');
		if (loading_start(ids_=$(this),'delGood'))
		{
			var params={};
			params.delGood=$(this).attr('rel');
			JsHttpRequest.query(
				'/zina.php',
				params,
				function(result, errors)
				{
					loading_end(ids_,'delGood');
					//if (errors) alert(errors);
					if (result)
					{
						$(".goodOne[rel='"+rel_g+"']").hide('normal');
						$('#goods').html(result['goods_prev']);
						$('#summa').html(result['price_prev']);
						if (parseFloat(result['goods_prev'])<=0)
						{
							$(".present-basket").hide('normal');
							$(".empty-basket").show('normal');
							
							$("div.cat").hide('normal', function(){
								$("div.order").hide('normal', function(){
									$("div.cat").html('<h1>Корзина пустая</h1>').show('normal');
								});
							});
						}
					}
				},
				true
			);
		}
		
		return false;
	}); */

	//пересчет
	$(".recalc").click(function(){
		var all_p=0;
		var params={};
		params.editGoods=[];
		$("div.goodOne input[type='text']").each(function(){
			all_p++;
			if ($(".delGood[rel='"+$(this).attr('rel')+"']").attr("checked")) params.editGoods[$(this).attr('rel')]=0;
			else params.editGoods[$(this).attr('rel')]=parseFloat($(this).val().replace(",","."))+0;
			//alert(params.editGoods);
		});
		
		if (loading_start(ids_=$(this),'art-but'))
		{
			JsHttpRequest.query(
				'/zina.php',
				params,
				function(result, errors)
				{
					loading_end(ids_,'art-but');
					//if (errors) alert(errors);
					//$('#div_errors').html(errors);
					if (result)
					{
						$('#summa').html(result['price_prev']);
						$('#goods').html(result['goods_prev']);
						for (p_e in params.editGoods)
						{
							if (params.editGoods[p_e]==0)
							{
								$(".goodOne[rel='"+p_e+"']").hide('normal');
								all_p--;
							}
							if (all_p==0)
							{
								$(".present-basket").hide('normal');
								$(".empty-basket").show('normal');
								
								$("div.cat").hide('normal', function(){
									$("div.order").hide('normal', function(){
										$("div.cat").html('<h1>Корзина пустая</h1>').show('normal');
									});
								});
							}
						}
					}
				},
				true
			);
		}
		//$('#summa').html(result['price_prev']);
		return false;
	});
	
	$("#captcha").click(function(){
	  $(this).attr("src", $(this).attr("src")+"?"+Math.random()+"");
	});
	
	/*
	$("#order-but").click(function(){
		var params={};
		params.name=$("#order_name").val();
		params.email=$("#order_email").val();
		params.adress=$("#order_adress").val();
		params.tel=$("#order_tel").val();
		params.comment=$("#order_comment").val();
		if (loading_start(ids_=$(this),'art-but'))
		{
			JsHttpRequest.query(
				'/order.php',
				params,
				function(result, errors)
				{
					loading_end(ids_,'art-but');
					//if (errors) alert(errors);
					//$('#div_errors').html(errors);
					if (result)
					{
						alert(result['message']);
						if (result['order']==1)
						{
							$(".present-basket").hide('normal');
							$(".empty-basket").show('normal');
							
							$("div.cat").hide('normal', function(){
								$("div.order").hide('normal', function(){
									$("div.cat").html('<h1>Корзина пустая</h1>').show('normal');
								});
							});
						}
					}
				},
				true
			);
		}
		return false;
	});
	*/
	
	$(".button1").click(function(){
		$("#formOrder"+$(this).attr('rel')).submit();
		return false;
	});
	
	$.validator.messages.required = "";
	$.validator.messages.remote = "";
	$.validator.messages.email = "";
	$.validator.messages.equalTo = "";
	$.validator.setDefaults({
		errorClass: "errorClass",
		validClass: "validClass"
	});
	
	// оформление F
	$("#formOrderF").validate({
		rules:
		{
			order_name: "required",
			order_tel: "required",
			order_email:
			{
				required: true,
				email: true
			}
		},
		submitHandler: function()
		{
			params1=$("#formOrderF").formToArray();
			var params={};
			for (parI in params1) if (params1[parI]['name']) params[params1[parI]['name']]=(params1[parI]['value']);
			params.pay='f';
			sendOrder(params);
		}
	});
	
	// оформление U
	$("#formOrderU").validate({
		rules:
		{
			order_firm: "required",
			order_name: "required",
			order_adress: "required",
			order_tel: "required"
		},
		submitHandler: function()
		{
			params1=$("#formOrderU").formToArray();
			var params={};
			for (parI in params1) if (params1[parI]['name']) params[params1[parI]['name']]=(params1[parI]['value']);
			params.pay='u';
			sendOrder(params);
		}
	});
	
	function sendOrder(val)
	{
		var obj='formOrder';
		val.obj=obj;
		if (loading_start(obj,$('#loa')))
		{
			JsHttpRequest.query(
				'/order.php',
				val,
				function(result, errors)
				{
					loading_end(result.obj,$('#loa'));
					if (errors) alert(errors);
					if (result)
					{
						alert(result['message']);
						if (result['order']==true)
						{
							//$('#formOrder').clearForm();
							$(".present-basket").hide('normal');
							$(".empty-basket").show('normal');
							
							$("div.cat").hide('normal', function(){
								$("div.order").hide('normal', function(){
									$("div.cat").html('<h1>Корзина пустая</h1>').show('normal');
								});
							});
						}
					}
				},
				true
			);
		}
	}
	
	// сообщение
	$("#soobschenie").validate({
		rules:
		{
			contact_name: "required",
			contact_comments: "required",
			contact_email:
			{
				required: false,
				email: true
			},
			contact_code:
			{
				required: true,
				remote: "/codecheck.php"
			}
		},
		submitHandler: function()
		{
			params=($("#soobschenie").formToArray());
			var params1={};
			for (parI in params) if (params[parI]['name']) params1[params[parI]['name']]=(params[parI]['value']);
			if (loading_start(ids_=$(this),'order-but'))
			{
				JsHttpRequest.query(
					'/message.php',
					params1,
					function(result, errors)
					{
						loading_end(ids_,'order-but');
						//if (errors) alert(errors);
						if (result)
						{
							alert(result['message']);
							if (result['send']==true)
							{
								$('#soobschenie').clearForm();
							}
						}
					},
					true
				);
			}
		}
	});
	
});


var loading_start_ids=[], a_interval=[];
function loading_start(obj,ids)
{
	var ids;
	if (ids==undefined) ids=obj;
	loading_start_ids[ids];
	if (loading_start_ids[ids]==undefined||loading_start_ids[ids]==false)
	{
		loading_start_ids[ids]=true;
		$(obj).attr('disabled',true);
		//$(obj).after("<div class='loading' rel='"+ids+"'>&nbsp;</div>"); // loading...
		$('body').css("cursor","wait");
		a_interval[ids]=setTimeout(function(){alert('Повторите попытку :) ');loading_end(obj,ids);}, 30000);
		return true;
	}
	return false;
}
function loading_end(obj,ids)
{
	var ids;
	if (ids==undefined) ids=obj;
	if (loading_start_ids[ids]==true)
	{
		clearTimeout(a_interval[ids]);
		$(obj).attr('disabled',false);
		loading_start_ids[ids]=false;
		//$("div.loading[rel='"+ids+"']").css({display:'none'});
		$('body').css("cursor","auto");
	}
}


function number_format (number, decimals, dec_point, thousands_sep) {
    // Formats a number with grouped thousands
    //
    // version: 906.1806
    // discuss at: http://phpjs.org/functions/number_format
    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     bugfix by: Michael White (http://getsprink.com)
    // +     bugfix by: Benjamin Lupton
    // +     bugfix by: Allan Jensen (http://www.winternet.no)
    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +     bugfix by: Howard Yeend
    // +    revised by: Luke Smith (http://lucassmith.name)
    // +     bugfix by: Diogo Resende
    // +     bugfix by: Rival
    // +     input by: Kheang Hok Chin (http://www.distantia.ca/)
    // +     improved by: davook
    // +     improved by: Brett Zamir (http://brett-zamir.me)
    // +     input by: Jay Klehr
    // +     improved by: Brett Zamir (http://brett-zamir.me)
    // +     input by: Amir Habibi (http://www.residence-mixte.com/)
    // +     bugfix by: Brett Zamir (http://brett-zamir.me)
    // *     example 1: number_format(1234.56);
    // *     returns 1: '1,235'
    // *     example 2: number_format(1234.56, 2, ',', ' ');
    // *     returns 2: '1 234,56'
    // *     example 3: number_format(1234.5678, 2, '.', '');
    // *     returns 3: '1234.57'
    // *     example 4: number_format(67, 2, ',', '.');
    // *     returns 4: '67,00'
    // *     example 5: number_format(1000);
    // *     returns 5: '1,000'
    // *     example 6: number_format(67.311, 2);
    // *     returns 6: '67.31'
    // *     example 7: number_format(1000.55, 1);
    // *     returns 7: '1,000.6'
    // *     example 8: number_format(67000, 5, ',', '.');
    // *     returns 8: '67.000,00000'
    // *     example 9: number_format(0.9, 0);
    // *     returns 9: '1'
    // *     example 10: number_format('1.20', 2);
    // *     returns 10: '1.20'
    // *     example 11: number_format('1.20', 4);
    // *     returns 11: '1.2000'
    // *     example 12: number_format('1.2000', 3);
    // *     returns 12: '1.200'
    var n = number, prec = decimals;
 
    var toFixedFix = function (n,prec) {
        var k = Math.pow(10,prec);
        return (Math.round(n*k)/k).toString();
    };
 
    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
    var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;
 
    var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
 
    var abs = toFixedFix(Math.abs(n), prec);
    var _, i;
 
    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;
 
        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }
 
    var decPos = s.indexOf(dec);
    if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) {
        s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
    }
    else if (prec >= 1 && decPos === -1) {
        s += dec+new Array(prec).join(0)+'0';
    }
    return s;
}
