		var classFix = (document.all)?"className":"class";

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

/* .......................................................
	Версия для печати
....................................................... */
/*var cmsPrintObject = null;
var cmsHideObject = null;
function PrintVersion(){
	if(cmsPrintObject==null){

		cmsPrintObject = document.createElement("div");
		cmsPrintObject.setAttribute(classFix,"printversion");

		var cmsPrintHeader = document.createElement("div");
		cmsPrintHeader.innerHTML = "<p align=right><small><a href='javascript:self.print();'>печать | print</a></small></p><h1>"+document.title+"</h1><small>url: <a href='javascript:PrintVersion();'>"+self.location.href+"</small></a><br><br>";
		
		cmsPrintObject.appendChild(cmsPrintHeader);
		cmsPrintObject.appendChild(document.getElementById("nodecontent").cloneNode(1));
		
		cmsHideObject = document.createElement("div");
		cmsHideObject.innerHTML = document.body.innerHTML;
		document.body.innerHTML = "";
		cmsHideObject.style.display = "none";
		
		document.body.appendChild(cmsPrintObject);
		document.body.appendChild(cmsHideObject);
	}else{
		document.body.innerHTML = cmsHideObject.innerHTML;
		cmsPrintObject = null;
		cmsHideObject = null;
	}
}*/
/* .......................................................
	Функция для получения времени в формате GMT
....................................................... */
	function getTimeGMT(hours) {
		var exp = new Date();
		exp.setTime(exp.getTime() + 3600000*hours);
		return exp.toGMTString();
	}
/* .......................................................
	Функция установки значения cookie
		name - имя cookie
		value - значение cookie
		expires - дата окончания действия cookie (по умолчанию 0 - до конца сессии)
		path - путь, для которого cookie действительно (по умолчанию - документ, в котором значение было установлено)
		domain - домен, для которого cookie действительно (по умолчанию - домен, в котором значение было установлено)
		secure - логическое значение, показывающее требуется ли защищенная передача значения cookie
....................................................... */
	function setCookie(name, value, expires, path, domain, secure) {
		document.cookie = name + "=" + escape(value) +
			((expires) ? "; expires=" + expires : "") +
			((path) ? "; path=" + path : "") +
			((domain) ? "; domain=" + domain : "") +
			((secure) ? "; secure" : "");
	}
/* .......................................................
	Функция чтения значения cookie
		Возвращает установленное значение или пустую строку, если cookie не существует
		name - имя считываемого cookie
....................................................... */
	function getCookie(name) {
		var prefix = name + "="
		var cookieStartIndex = document.cookie.indexOf(prefix)
		if (cookieStartIndex == -1)	return null
		var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length)
		if (cookieEndIndex == -1)	cookieEndIndex = document.cookie.length
		return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex))
	}
/* .......................................................
	Функция чтения значения масива из cookie
		Возвращает установленное значение или пустую строку, если cookie не существует
		aname - имя считываемого масива
		akey	- ключ
....................................................... */
	function getCookieArrayValue(aname,akey) {
		var result = null;
		var string = getCookie(aname);
		if(string){
			prefix = akey+":";
			cookieStartIndex = string.indexOf(prefix)
			if (cookieStartIndex == -1)	return null
			cookieEndIndex = string.indexOf(",", cookieStartIndex)
			if (cookieEndIndex == -1)	cookieEndIndex = string.length
			result = string.substring(cookieStartIndex + prefix.length, cookieEndIndex)
		}
		return result;
	}
/* .......................................................
	Функция установки значения масива в cookie
		name - имя cookie
		value - значение cookie
		expires - дата окончания действия cookie (по умолчанию 0 - до конца сессии)
		path - путь, для которого cookie действительно (по умолчанию - документ, в котором значение было установлено)
		domain - домен, для которого cookie действительно (по умолчанию - домен, в котором значение было установлено)
		secure - логическое значение, показывающее требуется ли защищенная передача значения cookie
....................................................... */
	function setCookieArrayValue(aname, akey, value, expires, path, domain, secure) {
		var result = akey+":"+value+",";
		var string = getCookie(aname);
		if(string){
			prefix = akey+":";
			cookieStartIndex = string.indexOf(prefix)
			if (cookieStartIndex == -1){
				result = string + result
			}else{
				cookieEndIndex = string.indexOf(",", cookieStartIndex)
				if (cookieEndIndex == -1)	cookieEndIndex = string.length
				result = string.substring(0,cookieStartIndex) + result + string.substring(cookieEndIndex+1,string.length) 
			}
		}
		setCookie(aname, result, expires, path, domain, secure)
	}

/* .......................................................
	Событие на интер так же как на онченже
....................................................... */
	function clickItemValue(input){	if(event.keyCode==13) input.onchange(); }

/* .......................................................
	Функции установки нового значения товара
....................................................... */
	function setItemValue(input){
		var oldValue = getCookieArrayValue("ordered",input.id)*1;

		if(input.value==Math.round(input.value) && input.value>=0){
			input.value=input.value*1;
			setCookieArrayValue("ordered",input.id,input.value*1,0);
		}else{
			input.value = oldValue;
		}
		return oldValue;
	}

/* .......................................................
	Функции изменения значения товара в каталоге
....................................................... */
	function changeItemValue(input,price){
		
		var price = (price)?price*1:0;
		var oldValue = setItemValue(input);
		
		if(price){
			var subValue = input.value-oldValue;
			changeBasketSumma(subValue*price);
		}
	}

/* .......................................................
	!!! Функции изменения значения суммы
....................................................... */
	function changeBasketSumma(summa){
		summa = (summa)?summa:0;
		var objSumma = document.getElementById("osumma");
		
		var a=parseFloat(objSumma.innerHTML);
		var b=parseFloat(summa);
		var c=a + b;
		objSumma.innerHTML= c.toFixed(2); 
		setCookie ("summa", objSumma.innerHTML);
	}

/* .......................................................
	Функции изменения значения товара в корзине
....................................................... */
/*	function changeBasketItemValue(input,iprice,ibrutto,gid){
		var ibrutto = (ibrutto)?ibrutto*1:1;
		var inetto = (inetto)?inetto*1:1;
		var oldValue = (setItemValue(input)*100)/100;
		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);
			//var objVolume = document.getElementById("ovolume_"+input.id);
			//var objMassa = document.getElementById("omassa_"+input.id);
			if(objSumma){	objSumma.innerHTML	=  decimal(Math.round((newValue*iprice) *100)/100); }
			//if(objVolume){	objVolume.innerHTML	=  Math.round((newValue*ivolume/inetto) *1000)/1000; }
			//if(objMassa){	objMassa.innerHTML	=  Math.round((newValue*ibrutto) *1000)/1000; }

			changeGroupSumma(gid,subValue*iprice,subValue*ibrutto);
		}
	}*/
/* .......................................................
/* .......................................................
	Функции изменения значения скидки на группу товаров
....................................................... */
/*	function changeGroupDiscount(input){
		if(input.value==Math.round(input.value) && input.value>=0 && input.value<=90){
			input.value = input.value*1;
		}else{
			input.value = 0;
		}
		var objSumma		= document.getElementById("osumma_"+input.id);
		var objDiscount = document.getElementById("odiscount_"+input.id);
		if(objSumma && objDiscount){
			var old_discount = objDiscount.innerHTML*1;
			var new_discount = (objSumma.innerHTML*1)*(1 - input.value*0.01);
			objDiscount.innerHTML = Math.round(new_discount*100)/100;
			changeBasketSumma(0,0,new_discount-old_discount);
		}
	}*/
/* .......................................................
	ФФункции изменения значения суммы группы
....................................................... */
/*	function changeGroupSumma(gid,summa,discount,volume,massa){
		var input				= document.getElementById(gid);
		var objSumma		= document.getElementById("osumma_"+gid);
		var objDiscount = document.getElementById("odiscount_"+gid);
		if(objSumma && objDiscount){
		//if(objSumma){
			objSumma.innerHTML = Math.round((objSumma.innerHTML*1 + summa)*100)/100;
			objDiscount.innerHTML = Math.round((objDiscount.innerHTML*1 + discount)*100)/100;
			//var old_discount = objDiscount.innerHTML*1;
			//var new_discount = (objSumma.innerHTML*1)*(1 - input.value*0.01);
			//objDiscount.innerHTML = Math.round(new_discount*100)/100;
			changeBasketSumma(summa,discount,volume,massa);
		}
	}

	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;
	}*/
/* .......................................................
	!!! Функции установка значения суммы
....................................................... */
/*	function setBasketSumma(summa,discount,volume,massa){
		var obj = document.getElementById("obasket");
		var objSumma = document.getElementById("osumma");
		//var objVolume = document.getElementById("ovolume");
		//var objMassa = document.getElementById("omassa");
		var objDiscount = document.getElementById("odiscount");
		if(obj){ obj.setAttribute(classFix,tovarCount()>0?"visible":"hidden");	}
		//if(obj){ obj.setAttribute(classFix,(summa*1>0 || omassa*1>0 || volume*1>0)?"visible":"hidden");	}
		//if(obj){ obj.setAttribute(classFix,(summa*1>0)?"visible":"hidden");	}
		if(objDiscount){			objDiscount.innerHTML		= discount }
		if(objSumma){			objSumma.innerHTML		= summa }
		//if(objVolume){		objVolume.innerHTML		= volume }
		//if(objMassa){	objMassa.innerHTML = massa }
	}*/
/* .......................................................
	Проверка введенных данных
....................................................... */
	/*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;
			default: // не пустое
				if(oInput.value.length>size){
					return true;
				}else{
					alert("Не заполнено поле «"+descr+"»");
					oInput.focus();
					return false;
				}
			break;
		}
	}*/
/* .......................................................
	Открытия картинки в новом окне
....................................................... */
/*	var imageWindow;
	function openimage(src,title){ 
		var wWidth = 510;
		var wHeight = 400;
		imageWindow=window.open("","blankImageWindow", 'status=no,scrollbars=no,resizable=yes,width='+(wWidth)+',height='+(wHeight)+'');
			imageWindow.document.write("<html><head><title>"+title+"</title>");
			imageWindow.document.write("<body topmargin=0 marginheight=0 leftmargin=0 marginwidth=0 bgcolor=white text=black link=black alink=black vlink=black "); 
			imageWindow.document.write("onload=\"self.resizeTo(document.getElementById('image').width+25,document.getElementById('image').height+40);\">");
			imageWindow.document.write("<table border=0 cellspacing=0 cellpadding=0 width=100% height=100%><tr><td align=center>");
			imageWindow.document.write("<a href='javascript:self.close();' title='закрыть окно'><img src='"+src+"' border=0 id=image style='padding:1px;border:#365591 solid 1px;'></a>");
			imageWindow.document.write("</td></tr></table>");
			imageWindow.document.write("</body></html>");
			imageWindow.document.close();
		imageWindow.focus();
	}
	function get_position(obj,pos){
		if(obj.tagName!="TR" && obj.tagName!="FORM"){
			pos[0] += obj.offsetLeft;
			pos[1] += obj.offsetTop;
			pos[2] = obj.tagName + " ("+ obj.offsetLeft+", "+obj.offsetTop+")\n" + pos[2];
		}
		if(obj.parentNode.tagName != "HTML") pos = get_position(obj.parentNode,pos);
		return pos;
	}
	function overimage(oImage,visible){ 
		var oiLink = document.getElementById("ilink");
		if(visible){
			oiLink.setAttribute(classFix,"visible");
			var pos = new Array(0,0,"");
			get_position(oImage,pos);
			//alert(pos[2]);
			oiLink.style.left = pos[0]-oiLink.offsetWidth-25+oImage.offsetWidth;
			oiLink.style.top = pos[1]-oiLink.offsetHeight-25+oImage.offsetHeight;
		}else{
			oiLink.setAttribute(classFix,"hidden");	
		}
	}*/
