var month = 30 * 24 * 60 * 60 * 1000;
var year = 365 * 24 * 60 * 60 * 1000;

function search_this(query)
{
	$("#query").val(query);
	$("#search_form").submit();
}

function setService(val, id, qty)
{
	var vtotal = parseInt(qty)*parseInt(val);
	var voutput = vtotal.triads(' ', ',');
	
	$("#s_"+id).html(voutput);
	$("#service_"+id).val(vtotal);
	$("#srv_"+id).val(val);
	
	var total_cost = 0;
	$("input[name=tservice]").each(function() {
		total_cost += parseInt($(this).val());
	});
	
	$("#serviceCost_post").val(total_cost.toString());
	
	updateTotal();
}

function updateTotal() {
	
	var total_cost = parseInt($('#totalCost_post').val());
	var ship_cost = parseInt($('#shipCost_post').val());
	var service_cost = parseInt($('#serviceCost_post').val());
	
	var num = total_cost + ship_cost + service_cost;
	var toutput = num.triads(' ', ',');
	
	$('#totalCost').html(toutput + ' руб');
}

function deliverySet()
{
	var sc = $('#citySelector').val();

	var num = parseInt(sc);
	var output = num.triads(' ', ',');
	$('#shipCost').html(output + ' руб');
}

$(document).ready(function(){
	
	deliverySet();
	updateTotal();
	$('#citySelector').change(function(){
		deliverySet();
		
		var selected = $("#citySelector option:selected");
		
		$('#order_city').val(selected.text());
		var sc = $('#citySelector').val();
		/*var total = $('#totalCost_post').val();
		var tnums = parseInt(total) + parseInt(sc);
		var toutput = tnums.triads(' ', ',');
		$('#totalCost').html(toutput + ' руб');*/
//		alert('1');
		$('#shipCost_post').val(sc);
		
		updateTotal();
	});
	

	
	
	//var CompareCookieName = "SDLCompare";
	
	$('#add2cart').click(function(){
			var form = $('#cart');
			form.submit();
	});
	
	$('#add2cart-b').click(function(){
			var form = $('#cart-b');
			form.submit();
	});
	
	$('#call').click(function(){
		$("#tbForm").css('display','');	
 		$("#message").html('');	
		return false;
	});
	
	$("*[class*=popup-close]").click(function() {
		$("#tbName").val('');
		$("#tbPhone").val('');
		$("#tbComment").val('');
    $("*[class*=popup-position]").fadeOut('fast');
  });

  $("#callButton").click(function(){
  	var isError = false;
 		
  	if ($("#tbName").val() == '')
  	{
  		$("#tbName").css("border-color","#FF0000");
  		isError = true;
  	}
  	else
  	{
  		$("#tbName").css("border-left","1px solid #cccdce");
  		$("#tbName").css("border-top","1px solid #cccdce");
  		$("#tbName").css("border-bottom","1px solid #ebeced");
  		$("#tbName").css("border-right","1px solid #ebeced");
  	}
  		
  	if ($("#tbPhone").val() == '')
  	{
  		$("#tbPhone").css("border-color","#FF0000");
  		isError = true;
  	}
  	else
  	{
  		$("#tbPhone").css("border-left","1px solid #cccdce");
  		$("#tbPhone").css("border-top","1px solid #cccdce");
  		$("#tbPhone").css("border-bottom","1px solid #ebeced");
  		$("#tbPhone").css("border-right","1px solid #ebeced");
  	}
  	
  	if (isError)
  		return false;
  	
  	$.post("/call/", { name: $("#tbName").val(), phone: $("#tbPhone").val(), comment: $("#tbComment").val()},
		  function(data){
		  	if (data == 'ok')
		  	{
		  		$("#message").html('Ваше сообшение успешно отправлено!');
		  		$("#tbForm").css('display','none');
		  		$("#tbName").val('');
					$("#tbPhone").val('');
					$("#tbComment").val('');
		  	}
		  });
		return false; 
  })
  
  var container = $("#divNoticeContainer");
  var suff = 'товар';  
  
  $("input[name=compare]").click(function()
  {
  	var count = 0;
  	
  	var html = '<div class="%CssClass%"><a href="/compare/">%Message%</a></div>';
		var url = "/addon/compare.php";
		
		var part = $("#part").val();
  	var id = $(this).val();
  	
  	if ($(this).is(':checked'))
  	{
  		//alert('add:' + part + ' : ' + id);
  		
			$.getJSON(url, {'action': 'add', 'part': part, 'id': $(this).val()},
				function(data){
				  /*for(obj in data)
				  {
				  	str+='<option value="'+data[obj]['id']+'">'+data[obj]['title'];
				  }
				  box.html(str);
				  box.get(0).disabled=false;*/
				
					if (data.status == 'ok')
					{
						if (data.count > 1 && data.count < 5)
						{
							container.css("display","");
							html = html.replace('%Message%', 'У вас в сравнении ' + data.count + ' товара.<br /> Перейти к сравнению');
							html = html.replace('%CssClass%', data.css);
							container.html(html);
						}
					}
					else
					{
						html = html.replace('%Message%', 'Вы уже добавили к сравнению 4 товара.<br /> Удалите, пожалуйста какой-нибудь из них.');
						html = html.replace('%CssClass%', data.css);
						container.html(html);
						return false;
					}
		  	
				  //alert(data.count);
			});
			
  		/*$.post(url, , function(response){
	  		html = html.replace('%Message%', response);
	  		html = html.replace('%CssClass%', 'b-notif-success');
	  		container.html(html);
	  	});*/
  	}
  	else
  	{
  		//alert('remove:' + part + ' : ' + id);
  		
  		$.getJSON(url, {'action': 'remove', 'part': part, 'id': $(this).val()},
				function(data){
				  /*for(obj in data)
				  {
				  	str+='<option value="'+data[obj]['id']+'">'+data[obj]['title'];
				  }
				  box.html(str);
				  box.get(0).disabled=false;*/
				  
				  if (data.status == 'ok')
					{
						if (data.count > 1 && data.count < 5)
						{
							container.css("display","");
							html = html.replace('%Message%', 'У вас в сравнении ' + data.count + ' товара.<br /> Перейти к сравнению');
							html = html.replace('%CssClass%', data.css);
							container.html(html);
						}
						else
						{
							container.css("display","none");
						}
					}
		  		
				  //alert(data.count);
			});
			
  		/*$.post(url, {'action': 'remove', 'part': part, 'id': $(this).val()}, function(response){
	  		html = html.replace('%Message%', response);
	  		html = html.replace('%CssClass%', 'b-notif-success');
	  		container.html(html);
	  	});*/
  	}
  });
  /*$("input[name=compare]").click(function()
  {
  	var count = 0;
  	
  	var html = '<div class="%CssClass%"><a href="/compare/">%Message%</a></div>';
		var url = "/addon/compare.php";
	
		var part = $("#part").val();
  	var id = $(this).val();
  	
	  if ($(this).is(':checked'))
	  {
	  	var val = GetCookie(CompareCookieName);
		  if (val == null || val == "")
		      val = id;
		  else {
		      count = val.split(",").length;
		      if (count >= 4) {
		          html = html.replace('%Message%', "Вы уже добавили к сравнению 4 товара. Удалите, пожалуйста какой-нибудь из них.");
				  		html = html.replace('%CssClass%', 'b-notif-error');
				  		container.html(html);
		          return false;
		      }
		      else {
		          if (val.indexOf(id) == -1) {
		              val += "," + id
		          }
		      }
		  }
		  
		  SetCookie(CompareCookieName, val, new Date(new Date().getTime() + month).toUTCString());
		  //alert(val);
		  if (val == null || val == "")
      	count = 0;
      else
      {
		  	count = val.split(",").length;
		  	if (count > 1)
		  		suff = 'товарa';
		  	else
		  		suff = 'товар';
      }
		  //alert(count);
		  if (count > 0) {
	   		container.css("display","block");
				html = html.replace('%Message%', "В сравнении "+count+" "+suff+".<br />Перейти в сравнению.");
				html = html.replace('%CssClass%', 'b-notif-success');
				container.html(html);
			}
			
	  	$.post(url, {'action': 'add', 'part': part, 'id': $(this).val()}, function(response){
	  		html = html.replace('%Message%', response);
	  		html = html.replace('%CssClass%', 'b-notif-success');
	  		container.html(html);
	  	});
	  }
	  else
	  {
	  	var arr = GetCookie(CompareCookieName).split(',');
	  	//alert(id + ':' + arr);
      arr.splice(arr.indexOf(id), 1);
      var val = "";
      for (var i = 0; i < arr.length; i++) {
        if (val == "")
          val += arr[i];
        else
          val += ',' + arr[i];
      }
     	
      SetCookie(CompareCookieName, val, new Date(new Date().getTime() + month).toUTCString());
      //alert(val);
      if (val == null || val == "")
      	count = 0;
      else
      {
		  	count = val.split(",").length;
		  	if (count > 1)
		  		suff = 'товарa';
		  	else
		  		suff = 'товар';
      }
      //alert(count);
      if (count > 0) {
				html = html.replace('%Message%', "В сравнении "+count+" "+suff+".<br />Перейти в сравнению.");
				html = html.replace('%CssClass%', 'b-notif-success');
				container.html(html);
			}
			else
			{
				container.css("display","none");
			}
			
	  	$.post(url, {'action': 'remove', 'part': part, 'id': $(this).val()}, function(response){
	  		html = html.replace('%Message%', response);
	  		html = html.replace('%CssClass%', 'b-notif-success');
	  		container.html(html);
	  	});
	  }
  });*/
});

function loadTab(id) {
	$("div .js_link_active").each(function (i) {
		$(this).removeClass("js_link_active");
		$(this).addClass("js_link");
	});
	
	$("#tab"+id).addClass("js_link_active");
	
	$("#nitems").html('');
	$("#nitems").css("background" , "url(/i/ajax-loader.gif) no-repeat center center #fff");
	
	$.ajaxSetup ({
		cache: false
	});
		
	var loadUrl = "/addon/load.php";
//	alert(loadUrls);
	$("#nitems").load(loadUrl , {cid: id}, function(responseText){
	 	$(this).fadeIn(5000);
	 	$("#nitems").css({'background' : 'none'});
 	});
}

function SetCookie(name, value, expires) {
    document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        "; path=/";
}

function GetCookie(name) {
    var cookie = " " + document.cookie;
    var search = " " + name + "=";
    var setStr = null;
    var offset = 0;
    var end = 0;
    if (cookie.length > 0) {
        offset = cookie.indexOf(search);
        if (offset != -1) {
            offset += search.length;
            end = cookie.indexOf(";", offset)
            if (end == -1) {
                end = cookie.length;
            }
            setStr = unescape(cookie.substring(offset, end));
        }
    }
    return (setStr);
}

Number.prototype.triads = function (triadSeparator, decSeparator, fractNum)
{
  if (typeof(fractNum)=='undefined') fractNum = 0;
  var num = parseInt(this).toString();
  var numd = this.toString();

  numd = numd.toString().substr(numd.indexOf('.')+1, fractNum);
  /* while (numd.length<fractNum) numd += '0'; // add 0 after comma */
  
  var regEx = /(-?\d+)(\d{3})/;
  while (regEx.test(num)) { num = num.replace(regEx,"$1"+triadSeparator+"$2"); }
  if (numd != 0)
  { num += decSeparator+numd; }
  return num;
}
