function decimal(val){
  val = val+"";
  d = val.indexOf(".");
  if(d == -1) val += ".00";
  if(d == (val.length-2)) val += "0";
  return val;
}

function decimal2(val){
  val = val+"";
  s = val.split(".");
  //alert(s[1].length);
  d = val.indexOf(".");
  if(d == -1) val += ".000";
  if(d == (val.length-3)) val += "0";
  
  return val;
}
/* .......................................................
	Событие на интер так же как на онченже
....................................................... */
	function clickItemValue(input){
          
		//if(typeof(event)=='object' && event.keyCode==13) input.onchange();
                return "&";
	}

/* .......................................................
	Функции установки нового значения товара
....................................................... */
	function setItemValue(input){
		/*var oldValue = getCookieArrayValue("ordered",input.id)*1;*/
		var oldValue = getCookieArrayValue("ordered",input.id);
		/*if(input.value==Math.round(input.value) && input.value>=0){*/
		if(input.value==input.value && input.value>=0){
			//input.value=input.value*1;
			setCookieArrayValue("ordered",input.id,input.value*1,0,base.substring(base.indexOf("/",8),base.length));
		}else{
			input.value = oldValue;
		}
		return oldValue;
	}
/* .......................................................
	Функции изменения значения товара в корзине
....................................................... */
	function changeBasketItemValue(input,iprice,gid){
		var iprice = (iprice)?iprice*1:0;
		var oldValue = setItemValue(input);
		var newValue = (input.value*100)/100;
		if(newValue == 0) self.history.go(0);// если ноль перегружаем страницу
		if(iprice){
			var subValue = input.value-oldValue;
			
			var objSumma = document.getElementById("osumma_"+input.id);
			if(objSumma){objSumma.innerHTML	=  decimal(Math.round((newValue*iprice) *100)/100);}

			changeGroupSumma(gid,subValue*iprice);
		}
	}
/* .......................................................
	Функции изменения значения товара в каталоге
....................................................... */
	function changeItemValue(input,price,need3d){
		var price = (price)?price*1:0;
		var oldValue = setItemValue(input);
		if(price){
			var subValue = input.value-oldValue;
			changeBasketSumma(subValue*price);
		}
                if (need3d==1){
                  if(typeof(event)=='object' && (event.keyCode==37 || event.keyCode==8 || event.keyCode==39))// 37 - <-
                {
                return input.value
                }   
                else{
                a = input.value*1;
                a = a.toFixed(3);
	     return input.value = a;
                }
                }
                else{
                  b = input.value*1;
                b = Math.round(b);
                return input.value = b;
                }
	}

/* .......................................................
	ФФункции изменения значения суммы группы
....................................................... */
	function changeGroupSumma(gid,summa){
		changeBasketSumma(summa);
		/*var input			= document.getElementById(gid);
		var objSumma		= document.getElementById("osumma_"+gid);
		if(objSumma){
			objSumma.innerHTML = decimal(Math.round((objSumma.innerHTML*1 + summa)*100)/100);
			changeBasketSumma(summa);
		}*/
	}


	function tovarCount(){
		var basket = getCookie("ordered");
		var cnt = 0;
		if (basket){
			var tovars = basket.split(",");
			if (tovars){
				for (i=0;i<tovars.length;i++){
					el = tovars[i].split(":");
					if (el[1]*1>0) cnt += el[1]*1;
				}
			}
		}
                return cnt.toFixed(3);
	}
/* .......................................................
	!!! Функции изменения значения суммы
....................................................... */
	function changeBasketSumma(summa){
		summa = (summa)?summa:0;
		var obj = document.getElementById("obasket");
		var objSumma = document.getElementById("osumma");
		var objSumma_ = document.getElementById("osumma_");
		var objCounter = document.getElementById("ocounter");
		if(objSumma)	{
			objSumma.innerHTML	=  decimal(Math.round((objSumma.innerHTML*1 + summa) *100)/100); 
			if(objSumma_) objSumma_.innerHTML	=  objSumma.innerHTML;
		}
		if(objCounter) objCounter.innerHTML = decimal2(tovarCount());


					//if(obj){ obj.setAttribute(classFix,tovarCount()>0?"visible":"hidden");	}
	}
/* .......................................................
	!!! Функции установка значения суммы
....................................................... */
	function setBasketSumma(summa){
		var obj = document.getElementById("obasket");
		var objSumma = document.getElementById("osumma");
		var objSumma_ = document.getElementById("osumma_");
		var objCounter = document.getElementById("ocounter");
		//if(obj){ obj.setAttribute(classFix,tovarCount()>0?"visible":"hidden");	}
		if(objSumma) {
			objSumma.innerHTML = decimal(summa);
			if(objSumma_) objSumma.innerHTML = objSumma.innerHTML;
		}
		if(objCounter) objCounter.innerHTML = tovarCount();
	}
/* .......................................................
	Проверка введенных данных
....................................................... */
	function checkValue(name,type,size,descr){
		var oInput = document.getElementById(name);
		var size = (size)?size:3; 
		var descr = (descr)?descr:"";
                
		switch(type){
			case 0: // положительное целое
				if(oInput.value != oInput.value*1){
					oInput.value = 0;
					alert("Не заполнено поле «"+descr+"»");
					oInput.focus();
					return false;
				}else{
					oInput.value = Math.abs(Math.round(oInput.value));
					return true;
				}
			break;
			case 1: // email
				var re_mail = /([\w\.\-_]+@[\w\.\-_]+)/;
				if(oInput.value.match(re_mail)!=null){
					return true;
				}else{
					alert("Неверно заполнено поле «"+descr+"»");
					oInput.focus();
					return false;
				}
			break;
                      case 9: // ТРИ точки
                        
				
					return oInput.toFixed(3);
					
				
			break;
			default: // не пустое
				if(oInput.value.length>size){
					return true;
				}else{
					alert("Не заполнено поле «"+descr+"»");
					oInput.focus();
					return false;
				}
			break;
		}
	}


