var GlobPath="";
var SDPrefix="";
function AddToBasketRaw(id,price,name,quan){
	error = 0;	
	if (onecolorid[id] && (cid!=id)){
		setcolor(onecolorid[id],oneclist[id],id);		
	}
	if (onesizeid[id]){
		setsize(onesizeid[id],oneslist[id],id);
	}
	
	if (currentcolor=="" || cid!=id)
		error+=1;
	if (currentsize=="" || sid!=id)
		error+=2;
	if (error==1){
		alert("Выберите цвет.");
	} else if (error==2){
		alert("Выберите размер.");
	} else if (error==3){
		alert("Выберите цвет и размер.");
	}
	if (error){
		return false;
	}
	params = currentcolor+"AND"+currentsize;
	AddToBasket(id,price,name,quan,params);
}
function AddToBasket(id,price,name,quan,params){
	alert (name+" стоимостью "+price+" руб.\n Добавлено в корзину.");
	if (xCost=="") { xCost=0; }
	if (xTotalQuan=="") { xTotalQuan=0; }

	xCost=parseFloat(xCost);
    xTotalQuan=parseFloat(xTotalQuan);
	var xBasket=getCookie("basket");
	var yBasket="";
	//xBasket += "BEG"+id;
	
	xCost += price*quan;
	xTotalQuan +=quan;
	
	idBEG=xBasket.indexOf("BEG");
	idEND=xBasket.indexOf("END",idBEG);
	idQUAN=xBasket.indexOf("QUAN",idBEG);
	idCOST=xBasket.indexOf("COST",idBEG);
	idPARAM=xBasket.indexOf("PARAM",idBEG);
	var xAdded=0;    
	while ((idBEG!=-1) && (idEND!=-1)) {      
      var xRecord=xBasket.substring(idBEG, idEND+3);
      var xID=xBasket.substring(idBEG+3,idPARAM);
      var xPARAM=xBasket.substring(idPARAM+5,idQUAN);
      //alert('id:'+id+" xID:"+xID);
      if (xID==id && xPARAM==params) {		 
         var yQuan=parseFloat(xBasket.substring(idQUAN+4, idCOST));
         if (isNaN(yQuan)) { yQuan=0; }
		 var yCost=parseFloat(xBasket.substring(idCOST+4, idEND));
         if (isNaN(yCost)) { yCost=0; }
         yQuan+=quan;
         xRecord="BEG"+id+"PARAM"+xPARAM+"QUAN"+yQuan+"COST"+yCost+"END";
         xAdded=1;
      }
      yBasket+=xRecord;
	  idBEG=xBasket.indexOf("BEG",idEND);
	  idEND=xBasket.indexOf("END",idBEG);
	  idQUAN=xBasket.indexOf("QUAN",idBEG); 
	  idCOST=xBasket.indexOf("COST",idBEG);
	  idPARAM=xBasket.indexOf("PARAM",idBEG);
    }
	if (xAdded==0) {
      xBasket=xBasket + "BEG"+id+"PARAM"+params+"QUAN"+quan+"COST"+price+"END";
      //xTotalQuan++;
    } else { 
	  xBasket=yBasket; 
	}
	setCookie("basket", xBasket, GlobPath, 0);
    setCookie("cost", xCost, GlobPath, 0);
    setCookie("totalquan", xTotalQuan, GlobPath, 0);
    updatePage();
}
function deleteFromBasket(id,params){	
	var xBasket=getCookie("basket");
	var yBasket="";
	
	//xCost += price*quan;
	//xTotalQuan +=quan;
	
	idBEG=xBasket.indexOf("BEG");
	idEND=xBasket.indexOf("END",idBEG);
	idQUAN=xBasket.indexOf("QUAN",idBEG);
	idCOST=xBasket.indexOf("COST",idBEG);	
	idPARAM=xBasket.indexOf("PARAM",idBEG);
	while ((idBEG!=-1) && (idEND!=-1)) {      
      var xRecord=xBasket.substring(idBEG, idEND+3);
      var xID=xBasket.substring(idBEG+3,idPARAM);
      var xPARAM=xBasket.substring(idPARAM+5,idQUAN);
      if (xID==id && xPARAM==params) {		 
         var yQuan=parseFloat(xBasket.substring(idQUAN+4, idCOST));
         if (isNaN(yQuan)) { yQuan=0; }	
		 var yCost=parseFloat(xBasket.substring(idCOST+4, idEND));
         if (isNaN(yCost)) { yCost=0; }
		 xTotalQuan -=yQuan;
		 xCost -= yCost*yQuan;
         xRecord="";         
      }
      yBasket+=xRecord;
	  idBEG=xBasket.indexOf("BEG",idEND);
	  idEND=xBasket.indexOf("END",idBEG);
	  idQUAN=xBasket.indexOf("QUAN",idBEG); 
	  idCOST=xBasket.indexOf("COST",idBEG);	  
	  idPARAM=xBasket.indexOf("PARAM",idBEG);
    }
	xBasket=yBasket;
	setCookie("basket", xBasket, GlobPath, 0);
    setCookie("cost", xCost, GlobPath, 0);
    setCookie("totalquan", xTotalQuan, GlobPath, 0);
    updatePage();
	return true;
}
function recalcBasket() {  
	xCost=parseFloat(xCost);
    xTotalQuan=parseFloat(xTotalQuan);
	var xBasket=getCookie("basket");
	var yBasket="";

	idBEG=xBasket.indexOf("BEG");
	idEND=xBasket.indexOf("END",idBEG);
	idQUAN=xBasket.indexOf("QUAN",idBEG);
	idCOST=xBasket.indexOf("COST",idBEG);
	idPARAM=xBasket.indexOf("PARAM",idBEG);
    xCost = 0;
	xTotalQuan = 0;
	while ((idBEG!=-1) && (idEND!=-1)) {      
      var xRecord=xBasket.substring(idBEG, idEND+3);
      var xID=xBasket.substring(idBEG+3,idPARAM);
      var xPARAM=xBasket.substring(idPARAM+5,idQUAN);
	  var xQuan=xBasket.substring(idQUAN+4, idCOST);
    	 xElemQuan = document.getElementById("quan"+xID+xPARAM);
		 yQuan=parseInt(xElemQuan.value);
		 zQuan=parseFloat(xElemQuan.value);
		
         if ((isNaN(yQuan)) || (yQuan<=0) || (yQuan!=zQuan)) {
            alert("Значение " + xElemQuan.value + " не является корректным количеством товаров");
            yQuan=xQuan;
            xElemQuan.value=yQuan;
            return;
         }		 
		 var yCost=parseFloat(xBasket.substring(idCOST+4, idEND));
         if (isNaN(yCost)) { yCost=0; }	 
         xCost += yCost*yQuan;
		 xTotalQuan +=yQuan;
         xRecord="BEG"+xID+"PARAM"+xPARAM+"QUAN"+yQuan+"COST"+yCost+"END";
         
      yBasket+=xRecord;
	  idBEG=xBasket.indexOf("BEG",idEND);
	  idEND=xBasket.indexOf("END",idBEG);
	  idQUAN=xBasket.indexOf("QUAN",idBEG); 
	  idCOST=xBasket.indexOf("COST",idBEG);	  
	  idPARAM=xBasket.indexOf("PARAM",idBEG);
    }

	  xBasket=yBasket; 

	setCookie("basket", xBasket, GlobPath, 0);
    setCookie("cost", xCost, GlobPath, 0);
    setCookie("totalquan", xTotalQuan, GlobPath, 0);
	alert("Изменения сохранены.");
    updatePage();
	//xElemTc = document.getElementById("totalquan");
}
function updatePage() {
   //xBasket = getCookie("basket");
   xTotalQuan = getCookie("totalquan");
   xCost = getCookie("cost");  
   xQuan=document.getElementById("quan");
   xSum=document.getElementById("sum");
   xTotSum=document.getElementById("totsum");   
   if ((xTotalQuan=="") || (xCost=="")) {
      if (xQuan!=null) { xQuan.innerHTML=rusNumTov("0"); }
      if (xSum!=null) { xSum.innerHTML="0"; }
      if (xTotSum!=null) { xTotSum.innerHTML="0";}
   } else {
      if (xQuan!=null) { xQuan.innerHTML=rusNumTov(xTotalQuan); }
      if (xSum!=null) { xSum.innerHTML=xCost; }
      if (xTotSum!=null) { xTotSum.innerHTML=xCost; }
   }
}
function rusNumTov(count){
	//count += "643";
	ret = count;
	ccount = count.toString();
	switch (ccount.charAt(ccount.length-1)){
		case "0":
			rets = "товаров";
			break;
		case "1":		
			rets = "товар";
			break;
		case "2":
		case "3":
		case "4":
			rets = "товара";
			break;
		case "5":
		case "6":
		case "7":
		case "8":
		case "9":
			rets = "товаров";
			break;
	}
	return ret+" "+rets;
}
function getCookie(name) {
   name=SDPrefix + name;
   var cookieValue = document.cookie;
   var startPos=cookieValue.indexOf(" " + name + "=");
   if (startPos==-1) {
      startPos=cookieValue.indexOf(name + "=");
   }
   if (startPos==-1) {
      return "";
   }
   startPos=cookieValue.indexOf("=", startPos) + 1;
   var endPos=cookieValue.indexOf(";", startPos);
   if (endPos==-1) {
      endPos=cookieValue.length;
   }
   return cookieValue.substring(startPos, endPos);
}
function setCookie(AName, AValue, APath, AMonthBeforeExpire) {
   AName=SDPrefix+AName;
   var xValue=String(AValue);
   xValue=xValue.replace(/;/g, "%3B");
   var xExpires = "";
   AMonthBeforeExpire=1;
   if (AMonthBeforeExpire!=0) {
      var xNowDate = new Date();
      xNowDate.setMonth(xNowDate.getMonth() + AMonthBeforeExpire);
      xExpires = ";expires=" + xNowDate.toGMTString();
   }
   if (APath!="") { APath = ";Path=" + APath; }
   document.cookie = AName + "=" + xValue + xExpires + APath;
}
function emptyBasket() {
   if (confirm("Вы действительно желаете очистить корзину?")) {
      setCookie("basket", "", GlobPath, 0);
      setCookie("cost", "0", GlobPath, 0);
      setCookie("totalquan", "0", GlobPath, 0);
      alert ("Корзина очищена.");
      updatePage();
      return true;
   } else {
      return false;
   }
}