function addCommas(nStr) {
  nStr += '';
  x = nStr.split('.');
  x1 = x[0];
  x2 = x.length > 1 ? '.' + x[1] : '';
  var rgx = /(\d+)(\d{3})/;
  while (rgx.test(x1)) {
    x1 = x1.replace(rgx, '$1' + ' ' + '$2');
  }
  return x1 + x2;
}

$(document).ready(function(){

	/* ОТРЕЗАЕМ "/catalog" */
	var pathname = window.location.pathname.substr(0,8);
  if ($("#fullsearch").length) {
  $("#srch").val(($("#fullsearch").val()));
  }


	/* Круглые уголки */
	$(".container").after("<div class='shadow'><b></b><em></em></div>");
	$(".container").before("<div class='top'><b class='b4'><em></em></b><b class='b3'><em></em></b><b class='b2'><em></em></b><b class='b1'><em></em></b></div>");
	$(".container").after("<div class='bottom'><b class='b1'><em></em></b><b class='b2'><em></em></b><b class='b3'><em></em></b><b class='b4'><em></em></b></div>");
  /*  */

	$("#srch").focus( function() {
		 var srch_default = 'Что ищем?';
		 var srch_cur = $("#srch");
		 srch_cur.val(srch_cur.val()==srch_default?'':srch_cur.val())
	});
  var dropdown = true;
	$("#navi li").each( function() {
	  var obj = $(this);
	  if (obj.has("li").length<1) {
	    obj.css('color','#0080FF').css('min-height','10px');
			obj.html(function(index, html) {
			return '<a href="/cat/' + obj.attr("id") + '/">'+html+'<\/a>';
			});
	  }
	  else {
      var ul = obj.find('ul');
      if(ul.length==1) {
      	obj.css("background","url(/images/menu_brd.gif) top left no-repeat");
      	if ($.browser.msie)
      		obj.css("margin", "0px 0 7px 0");
        else
      		obj.css("padding-top","4px");

        var string_obj = obj.find("span:eq(1)");
        var off = 0;
        if (string_obj.height()<=16) {
        	if ($.browser.msie)
        		off = 40
        	else
        		off = 35
        }
        else {
        if ($.browser.msie)
        		off = 18
        	else
        		off = 14
        }
        string_obj.css("line-height",off+"px");

	      obj.find("span:first").css("cursor","pointer").css("color","#0080FF").click(function () {
		 	  ul.css("margin", "0px 0 15px 0");
		 	  ul.slideToggle("fast");
			  });
	      if (obj.find('ul:eq(0)>li.marked').length<1)
	      	obj.find('ul:eq(0)').hide();
	      else
	      	obj.find('ul:eq(0)').css("margin", "0px 0 15px 0").show();
	    }
	  }
	});
	/* кнопки пересчета */
	$("a[rel^='bsk']").click( function() {
		var rel = $(this).attr( 'rel' );
	  var match = rel.split(":");
	  //match[1] = экшн
	  var val = $(this).parents('td:eq(0)').find('input');
	  if (match[1]=='reduce') {
	  val.val( (val.val()*1-1)>1 ? (val.val()*1-1) : 1  )
	  }
	  else if(match[1]=='increase') {
	  val.val( (val.val()*1+1)<1000 ? (val.val()*1+1) : 999  )
	  }
  });

  /* sdfsdf */
  function loadBasket(data) {

  if (pathname=='/catalog') {
  var bsk_top = window.opener.$("#bsk_top");
  }
  else {
  var bsk_top = $("#bsk_top");
  }

	$.ajax({
				 async: false,
				 type: 'POST',
				 data: data,
				 dataType : 'json',
				 url: "/engine/ajax/basket.php",
				 success: processJson,
				 beforeSend: function(){
				 //
				 },
				 ajaxStop: function(){
				 //
				 }
		});

		function processJson(json) {

	    if (data) {
		    if (data.action=='add') {
		    $("#res_text").text('Товар добавлен!');
		    $("#item_add_success").center().fadeTo(1, 1).delay(1000).fadeOut("fast");
			    if (pathname=='/catalog') {
			    var val = window.opener.$("tr input[name^=quantity["+data.str+"]]");
			    var price =  window.opener.$("#price_"+data.str).text().replace(/ /i,'');
			    val.val( (val.val()*1+1)<1000 ? (val.val()*1+1) : 999  )
	        var sum = price*val.val()*1;
	        window.opener.$("#sum_"+data.str).text(addCommas(price*val.val()*1));
	        window.opener.$("#total_sum").text(addCommas(json.total.sum));
	        }
        }
        else if (data.action=='drop' && json.total.quantity) {
		    location.reload();
        }
	    }

				if (json.total.quantity)
				bsk_top.text('Товаров: '+json.total.quantity+' шт');
				else {
				bsk_top.text('пусто');
				$("#basket").html('<div align="center">Ваша корзина пуста</div>');
				}
			}

  }
  /* start onLoad */
	loadBasket();
	/* ЮЗЕР ЭКШН */
	$("a[rel^='basket']").click( function(event) {
	$("#item_add_success").stop();
  var rel = $(this).attr( 'rel' );
  var match = rel.split(":");

	var quantity = $(this).prev('input');
  var reg = /^[0-9]+?$/;
	if(quantity.length>0 && !reg.test(quantity.val()) || quantity.val()<1) {
	alert ('Значением может быть только целое число не меньше 1');
	quantity.val('1');
	return false;
	}

  //match[1] = экшн
  //match[2] = ID
  var data = {
       "str":match[2],
       "action":match[1],
       "quantity": quantity.val()
       }
		if (match[1]=='drop') {
			if (!confirm('Товар ``'+$(this).attr( 'name' )+'`` будет удален.\nВы уверены?'))
			return false;
			else
			$(this).parents('tr:eq(0)').fadeOut('slow');
		}
		else if (match[1]=='clear') {
			if (!confirm('Корзина будет очищена.\nВы уверены?'))
			return false;
		}

		loadBasket(data);

	});




});



function Dump(d,l) {
    if (l == null) l = 1;
    var s = '';
    if (typeof(d) == "object") {
        s += typeof(d) + " {\n";
        for (var k in d) {
            for (var i=0; i<l; i++) s += "  ";
            s += k+": " + Dump(d[k],l+1);
        }
        for (var i=0; i<l-1; i++) s += "  ";
        s += "}\n"
    } else {
        s += "" + d + "\n";
    }
    return s;
}

jQuery.fn.center = function() {
var w = $(window);
this.css("position","absolute");
this.css("top",(w.height()-this.height())/2+w.scrollTop() + "px");
this.css("left",(w.width()-this.width())/2+w.scrollLeft() + "px");
return this;
}

function openw(link) {
	var w = $(window);
	var wTop = (w.height()-500)/2;
	var wLeft = (w.width()-770)/2;
	var param = "width=770,height=500,";
	param += "left=" + wLeft + ",top=" + wTop+ ",scrollbars=yes,location=no,status=no,toolbar=no";
	newWin = window.open(link,"showpage",param);
	newWin.focus()
}
