window.onerror=null;
window.onscroll = scroll;



var xmlHttpGetSuggestions = createXmlHttpRequestObject(); /* событие onload обрабатываетеи нашей функцией init */ 
var nameArray = new Array();
nameArray[1] = 0;
nameArray[2] = 0;
nameArray[3] = 0;
     

function scroll()
{
	var canvas = document.getElementsByTagName((document.compatMode && document.compatMode == "CSS1Compat") ? "HTML" : "BODY")[0];
	
	 var y = canvas.scrollTop;
   // alert(y);
	if (!y)  y = 0;
    y = parseInt(y);
	yBag = y;
	y = '' + y  + 'px';
	
 var win = document.getElementById("win");
 if(win.style.visibility != "hidden")
 {
 win.style.top = y;
 var win = document.getElementById("winBg");
 win.style.top = y;
 }
 else
 {
 win.style.top = 0;
 var win = document.getElementById("winBg");
win.style.top = y;
 
}

var win = document.getElementById("bagDiv");
 if(win.style.visibility != "hidden")
 {
	 yTmp = win.style.top;
	 yTmp = 200; 
	win.style.top = yBag + yTmp + 'px';
 	}
 else
 {
 win.style.top = 0;
 var win = document.getElementById("winBg");
	 }
}

// for div suggestion
//************************************************************
var layer_reference="", style_ident="";
function init()
  {
   if (navigator.appName == "Netscape") 
   { layer_reference="document.layers"; 
     style_ident="";} 
   else 
   { layer_reference="document.all";    
     style_ident=".style"; }
  }
//*********************************************************
function order(code, num, n, sym)
		{
			
			var i=0;
			//var w=0;
			//if((n)&&(!colorsArray[n][i])) w=9999;
			//alert(colorsArray[n][i]);
			if(n!=0)
			{
				n++;
				chooseColor(code, n, sym)
			}
			else windowVisible(code, num);

		}


function changeTitle(title)
{
	var win = document.getElementById("title");
					win.innerHTML = title; 
					
}


function windowHide()
		{
		var winHide = document.getElementById("win");
		winHide.style.visibility = "hidden";
		winHide.style.top = 0;
		var winVis = document.getElementById("winBg");
		winVis.style.visibility = "hidden";
		winVis.style.top = 0;
		refreshBag();			
		}

function chooseColor(code, n, sym)
		{
			var a='';
			 
			var i=0;
				var winVis = document.getElementById("win");
				winText = "<table height='100%' width='100%'><tr><td class='bgwin' background='images/frame.gif'>";
				winText += "Выберите пожалуйста цвет<br><br>";
			
		while(colorsArray[n][i])
			{
			winText += "<img src='images/colors/" + sym + colorsArray[n][i] + ".gif' alt='"+ colorsArray[n][i] +"' hspace='2' width='22' height='15' onclick='order(\"" + code + colorsArray[n][i] + "\",\"no\",0)' class='col' />"; // 
			a += colorsArray[n][i];
			i++;				
			}
					winText += "<br><br><input type='button' name='but' value='Вернуться назад'  onClick='windowHide()'></td></tr></table>";
					winVis.innerHTML = winText; 
					winVis.style.visibility = "visible";
					var winVis = document.getElementById("winBg");
					winVis.style.visibility = "visible";
					 scroll();
		}
		
function windowVisible(code, rests)
		{
			
					var winVis = document.getElementById("win");
					winText = "<table height='100%' width='100%'><tr><td class='bgwin' background='images/frame.gif'>";
					winText += "Код товара - " + code + "<br>";
					if(rests!='no'){winText += "Остатки на складе - " + rests + "шт.<br>";}
					winText += "<br><input id='order_amount' type='text' name='amount' value='1' onKeyUp='checkAmount(event);'><br>";
					winText += "<input type='hidden' id='order_code' value='" + code + "'><input type='hidden' name='rests' value='" + rests + "'><br>";
					winText += "<input type='hidden' id='anyway' value='0'>";
					winText += "<input type='hidden' id='drop' value='-'>";
					winText += "<input type='button' name='but1' value='Заказать' onClick='makeOrder()'>&nbsp;&nbsp;&nbsp;";
					winText += "<input type='button' name='but' value='Вернуться назад'  onClick='windowHide()'></td></tr></table>";
					winVis.innerHTML = winText; 
					winVis.style.visibility = "visible";
					var winVis = document.getElementById("winBg");
					winVis.style.visibility = "visible";
					scroll();
		}
function lookPic(way,code1,rests1,n,sym)
		{	
					var winVis = document.getElementById("win");
					winText = "<table height='100%' width='100%'><tr><td class='bgWinPic'>";
					winText += "<img src="+way+" border=0  class='aimg' onClick='windowHide()' height='500' title='нажмите, чтобы закрыть'>";
					winText += "<br /><br />";
					
					if(code1)
					{
					winText += "<input type='button' name='but' value='Заказать'  onClick='order(\"";
					winText += code1;
					winText += "\",\"";
					winText += rests1;
					winText += "\",\"";
					winText += n;
					winText += "\",\"";
					winText += sym;
					winText += "\")'> &nbsp;&nbsp;&nbsp;";
					}
					
					winText += "<input type='button' name='but' value='Вернуться назад'  onClick='windowHide()'></td></tr></table>";
					winVis.innerHTML = winText; 
					winVis.style.visibility = "visible";
					var winVis = document.getElementById("winBg");
					winVis.style.visibility = "visible";
					scroll();
		}
//******************************************************************************************************************************
// tree menu 

//var isMSIE = document.attachEvent != null;
//var isGecko = !document.attachEvent && document.addEventListener;
function pressbutt(el,subm)		
{

 var SUBMENU = document.getElementById(subm);


if (SUBMENU.style.visibility=='visible')
	{
		SUBMENU.style.visibility = 'hidden';
		SUBMENU.style.display = 'none';
		
	SUBMENU.style.position = 'absolute';
	strin = el.innerHTML;
	var pos = strin.indexOf('</td>');
	//alert(pos);
	
	if(pos == -1) var pos = strin.indexOf('</TD>');
	
	//alert(strin);
	xTmp = pos;
	//alert(xTmp);
	substrin = strin.substring(xTmp,strin.length);
	substrin = '<table><tr><td class="m"><img src="images/pluss.gif">'+substrin;
	el.innerHTML = substrin;
	}
else
	{
	SUBMENU.style.visibility = 'visible';
	SUBMENU.style.display = 'block';
	SUBMENU.style.position = 'relative';
	strin = el.innerHTML;
	var pos = strin.indexOf('</td>');
	//alert(pos);
	
	if(pos == -1) var pos = strin.indexOf('</TD>');
	//alert(strin);
	xTmp = pos;
	//alert(xTmp);
	substrin = strin.substring(xTmp,strin.length);
	substrin = '<table><tr><td class="m"><img src="images/minus.gif">'+substrin;
	el.innerHTML = substrin;
	}
}

//********************************************************************************************************************************
// создает экземпляр объекта XMLHttpRequest 
//********************************************************************************************************************************
function createXmlHttpRequestObject() 
{
var xmlhttp;
 try {
 xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
 try {
 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
 } catch (E) {
 xmlhttp = false;
 }
 }
 if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
 xmlhttp = new XMLHttpRequest();
 }
 // вернуть созданный объект или вывести сообщение об ошибке 
if (!xmlhttp)
	alert("Can't create OBJECT XMLHttpRequest."); 
else 
	return xmlhttp; 
	}
//********************************************************************************************************************************

function makeOrder()
		{
				var cd = document.getElementById("order_code").value; // 
				var am = document.getElementById("order_amount").value;
				var anyway = document.getElementById("anyway").value;
				var drop = document.getElementById("drop").value;
				
				sentData(cd,am,anyway,drop);
		}
function refreshBag()
{
	if(xmlHttpGetSuggestions) 
					{
						try 
						{/* если объект XHLHttpRequest не занят обработкой
							предыдущего запроса... */ 
							if (xmlHttpGetSuggestions.readyState == 4 || xmlHttpGetSuggestions.readyState == 0) 
							{	 
						// here set parameters 2-d - url of page which we are if 3-th  -  true - it's mean asynhron..
								//alert(getFunctionsUrl);
							var make_url = 'body/refresh_bag.php?cache='+(new Date().getTime());
							xmlHttpGetSuggestions.open("GET", make_url, true); //
						// need for asynhr
								xmlHttpGetSuggestions.onreadystatechange = checkResponseBag; 
						// send - here's null, beacause parameters sending in open()
								xmlHttpGetSuggestions.send(null);
							}
							// если объект XMLHttpRequest занят... 
							else 
							{
							//сохранить ключевое слово, введенное пользователей 
							setTimeout("refreshBag();", 500); 
							}
						}
						catch(e) 
						{
							setTimeout("refreshBag();", 500); 	
						}
					
					}
	}
function sentData(code,num,anyway,drop)
		{
				if(xmlHttpGetSuggestions) 
					{
						try 
						{/* если объект XHLHttpRequest не занят обработкой
							предыдущего запроса... */ 
							if (xmlHttpGetSuggestions.readyState == 4 || xmlHttpGetSuggestions.readyState == 0) 
							{	 
						// here set parameters 2-d - url of page which we are if 3-th  -  true - it's mean asynhron..
								//alert(getFunctionsUrl);
							var make_url = "body/sent_order.php?code=" + encode(code) + "&amount=" + encode(num) + "&anyway=" + encode(anyway) + "&drop=" + encode(drop) + "";
								
			xmlHttpGetSuggestions.open("GET", make_url, true); //
						// need for asynhr
								xmlHttpGetSuggestions.onreadystatechange = checkResponse; 
						// send - here's null, beacause parameters sending in open()
								xmlHttpGetSuggestions.send(null);
							}
							// если объект XMLHttpRequest занят... 
							else 
							{
							userCode = code;
							userNum = num;
							useranyway = anyway;
							userdrop = drop;
							
								setTimeout("sentData(userCode,userNum,useranyway,userdrop);", 500); 
							}
							}
							catch(e) 
							{
								userCode = code;
							userNum = num;
							useranyway = anyway;
							userdrop = drop;
							
								setTimeout("sentData(userCode,userNum,useranyway,userdrop);", 500); 
								//alert("Невозможно соединиться с сервером,\n попробуйте еще раз.");
							}
					
					}
			
		}
//********************************************************************************************************************************
//
//************************************************************************************************************************************			
/* преобразовать все дочерние узлы документа XML в массив */ 
function xmlToArray(resultsXml)
	{ 	//И инициализировать массив restAtsArray
		var resultsArray= new Array();
		// обойти в цикле все узлы xml и извлечь их содержимое
		for(i=0; i<resultsXml.length; i++)
		resultsArray[i] = resultsXml.item(i).firstChild.data; 
		// вернуть содержимое узлов а виде массива 
		return resultsArray; 
	}
//********************************************************************************************************************************
/* обрабатывает HTTP ответ сервера, который содержит подсказки
	к заданному ключевому слову */ 
function checkResponse()
	{
	// если запрос выполнен - решить, что делать с данными 
	if (xmlHttpGetSuggestions.readyState == 4)
			{
				// продолжать, только если получен статус HTTP "OK"
				if (xmlHttpGetSuggestions.status == 200)
				{
						try 
						{
							// обработать ответ сервера 
							readResponse();
							checkResult();							
						}
						catch(e) 
						{ 
						  	// вывести сообщение об ошибке 
							setTimeout("checkResponse();", 500); 
							//alert("Возникли проблемы при приеме данных");
						} 
				} 
				else
				{
						setTimeout("checkResponse();", 500); 
						//displayError("Возникли проблемы при приеме данных:\п" + xmlHttpGetSuggestions.statusText);
				}
			}
				
				
				
	}
function checkResponseBag()
	{
	// если запрос выполнен - решить, что делать с данными 
	if (xmlHttpGetSuggestions.readyState == 4)
			{
				// продолжать, только если получен статус HTTP "OK"
				if (xmlHttpGetSuggestions.status == 200)
				{
						try 
						{
							// обработать ответ сервера 
							refreshBagFinish();
							
						}
						catch(e) 
						{ 
						  	// вывести сообщение об ошибке 
							setTimeout("checkResponseBag();", 500); 
							//alert("Возникли проблемы при приеме данных");
						} 
					} 
					else
					{
						setTimeout("checkResponseBag();", 500);
						//alert("Возникли проблемы при приеме данных:\п");
					}
				}
				
			}
			
function 	refreshBagFinish()
			{
				var response = xmlHttpGetSuggestions.responseText;
				//alert(response);
				var winVis = document.getElementById("tdBag");
				winVis.innerHTML = response;
				}
/* 		обрабатывает ответ сервера		*/ 
function readResponse()
	{
		// извлечь ответ сервера
		var response = xmlHttpGetSuggestions.responseText;
		// ошибка сервера?
		if (response.indexOf("ERRNO") >= 0 || response.indexOf("error:") >= 0 || response.length == 0)
			throw(response.length == 0 ? "Void server response." : response);
		// получить ссылку на корневой элемент
		
		response = xmlHttpGetSuggestions.responseXML.documentElement; 

		// инициализировать новый массив имен функций 
		nameArray = new Array();
		// проверить - найдена ли хоть одна функция по нашему запросу 
		if(response.childNodes.length) 
			{
				/* извлечь имена функций из документа в виде массива */ 
				nameArray = xmlToArray(response.getElementsByTagName("name")); 
			}
		
		}
//********************************************************************************************************************************
function encode(uri)
		{
					if (encodeURIComponent)
					{
						return encodeURIComponent(uri);
					}
					if (escape)
					{ 
						return escape(uri);
					}
		}
//********************************************************************************************************************************
function checkResult()
		{	var code = nameArray[1];
			var number = nameArray[2];
			var drop = nameArray[3];
			
			
			var winVis = document.getElementById("win");
			
			winText = "<table height='100%' width='100%'><tr><td class='bgwin' background='images/frame.gif'>";	
			winText += "Код товара - " + code + "";
			
			if((nameArray[0] == 1)&&(nameArray[3] != 1)) {winText += "<br><br>добавлен в корзину<br><br><form action='start.php?cat=bag' method='post'><input type='button' name='but' value='ОК'  onClick='windowHide()'> &nbsp; <input type='submit' name='but' value='Открыть корзину'></form></td></tr></table>";
			
			} 
			if((nameArray[0] == 0)&&(nameArray[3] != 1)) {winText += "<br>Не удалось записать данные в корзину,<br>попробуйте еще раз.<br><br><input type='button' name='but' value='OK'  onClick='windowHide()'></td></tr></table>";} 
			if((nameArray[0] == 2)&&(nameArray[3] != 1))
			{
					winText += "<br>Данный товар уже есть в корзине<br>уверены,что хотите изменить заказ?<br>";										
					winText += "<br><input id='order_amount' type='text' name='amount'  onKeyUp='checkAmount(event);' value='" + number + "'><br><br>";
					winText += "<input type='hidden' id='order_code' value='" + code + "'>";
					winText += "<input type='hidden' id='anyway' value='1'>";
					winText += "<input type='hidden' id='drop' value='-'>";
					winText += "<input type='button' name='but1' value='Заказать' onClick='makeOrder()'>&nbsp;&nbsp;&nbsp;";
					winText += "<input type='button' name='but' value='Вернуться назад'  onClick='windowHide()'></td></tr></table>";
			}
			if((nameArray[0] == 1)&&(nameArray[3] == 1))
			{
					winText += "<br><br>удален из корзины<br><br>";										
					winText += "<form action='start.php?cat=bag' name='n1' method='post'><input type='submit' name='but' value='ОK'></form></td></tr></table>";
					
			}
			if((nameArray[0] == 4)&&(nameArray[3] != 1)) {winText += "<br><br>заказ по данной позиции изменен<br><br><form action='start.php?cat=bag' method='post'><input type='submit' name='but' value='ОK'></form></td></tr></table>";
			} 
					winVis.innerHTML = winText; 
					winVis.style.visibility = "visible";
					var winVis = document.getElementById("winBg");
					winVis.style.visibility = "visible";
				
			}
//********************************************************************************************************************************
function changeOrder(code, number)
		{	var winVis = document.getElementById("win");
			
			winText = "<table height='100%' width='100%'><tr><td class='bgwin' background='images/frame.gif'>";	
			winText += "Код товара - " + code + "";
					
					winText += "<br>Вы действительно желаете изменить заказ?<br>";										
					winText += "<br><input id='order_amount' type='text' name='amount'  onKeyUp='checkAmount(event);' value='" + number + "'><br><br>";
					winText += "<input type='hidden' id='order_code' value='" + code + "'>";
					winText += "<input type='hidden' id='anyway' value='1'>";
					winText += "<input type='hidden' id='drop' value='0'>";
					winText += "<input type='button' name='but1' value='Заказать' onClick='makeOrder()'>&nbsp;&nbsp;&nbsp;";
					winText += "<input type='button' name='but' value='Вернуться назад'  onClick='windowHide()'></td></tr></table>";
			
			
					winVis.innerHTML = winText; 
					winVis.style.visibility = "visible";
					var winVis = document.getElementById("winBg");
					winVis.style.visibility = "visible";
			
			}
//********************************************************************************************************************************
function dropOrder(code, number)
		{	var winVis = document.getElementById("win");
			
			winText = "<table height='100%' width='100%'><tr><td class='bgwin' background='images/frame.gif'>";	
			winText += "Код товара - " + code + "";
					
					winText += "<br><br>Вы действительно желаете <br>удалить из заказа?<br>";										
					winText += "<br><input id='order_amount' type='hidden' name='amount'  onKeyUp='checkAmount(event);' value='" + number + "'><br>";
					winText += "<input type='hidden' id='order_code' value='" + code + "'>";
					winText += "<input type='hidden' id='anyway' value='1'>";
					winText += "<input type='hidden' id='drop' value='1'>";
					winText += "<input type='button' name='but1' value='Удалить' onClick='makeOrder()'>&nbsp;&nbsp;&nbsp;";
					winText += "<input type='button' name='but' value='Вернуться назад'  onClick='windowHide()'></td></tr></table>";
			
			
					winVis.innerHTML = winText; 
					winVis.style.visibility = "visible";
					var winVis = document.getElementById("winBg");
					winVis.style.visibility = "visible";
			
			}
//********************************************************************************************************************************
	function checkAmount(e)
		{
					var am = document.getElementById("order_amount").value;
					// получить ссылку на событие
					e = (!e) ? window.event : e;
					// получить ссылку на приемник события
					target = (!e.target) ? e.srcElement : e.target;
					if (target.nodeType == 3){	target = target.parentMode;}; 
					// получить код символа нажатой клавиши 
					keyCd = (e.charCode) ? e.charCode : ((e.keyCode) ? e.keyCode : ((e.which) ? e.which : 0)); 
					// убедиться, что получено событие keyup 
					//alert(keyCd);
					
				if (e.type == "keyup") 
						{
							// проверить, нажата ли клавиша, которая нас интересует 
						if ((keyCd >= 48 && keyCd <= 57)||(keyCd == 13)||(keyCd == 27)||(keyCd == 8)||(keyCd == 46)||(keyCd >= 37 && keyCd <= 40)) 
							{
											
							if((amount == 0)&&(keyCd != 13))
							{
							alert("Пожалуйста введите значение больше нуля!"); 
							var winVis = document.getElementById("amount");
								winVis.value = "";
							}

							}	
						else 
							{ 
							alert("Пожалуйста вводите только числовые значения!"); 
							var winVis = document.getElementById("order_amount");
								winVis.value = "";
							};								
						}	
				}
		
function clearBag()
		{	var winVis = document.getElementById("win");
			
			winText = "<table height='100%' width='100%'><tr><td class='bgwin' background='images/frame.gif'>";	
				
					winText += "<br>Вы действительно желаете <br>удалить все товары из корзины?<br>";										
					winText += "<br><br>";										
					winText += "<form action='body/clear_bag.php' name='n1' method='post'><input type='button' name='but' value='Вернуться назад'  onClick='windowHide()'>&nbsp;&nbsp;&nbsp;<input type='submit' name='but' value='ОK'></form></td></tr></table>";
			
					winVis.innerHTML = winText; 
					winVis.style.visibility = "visible";
					var winVis = document.getElementById("winBg");
					winVis.style.visibility = "visible";
			
			}
function plReg()
		{
			
			
					var winVis = document.getElementById("win");
					winText = "<table height='100%' width='100%'><tr><td class='bgwin' background='images/frame.gif'>";
					winText += "<b>Пожалуйста зарегистрируйтесь,<br>чтобы иметь возможность делать заказ.</b><br><br>";
					winText += "<a href='start.php?cat=registration'>Зарегистрироваться </a> &nbsp; &nbsp; ";
					winText += "<a onclick='comeIn();' href='#'> Войти </a><br><br>";
					winText += "<input type='button' name='but' value='Вернуться назад'  onClick='windowHide()'></td></tr></table>";
					winVis.innerHTML = winText; 
					winVis.style.visibility = "visible";
					var winVis = document.getElementById("winBg");
					winVis.style.visibility = "visible";
					scroll();
		}
function comeIn()
		{
			
					var winVis = document.getElementById("win");
					winText = "<table height='100%' width='100%'><tr><td class='bgwin' background='images/frame.gif'>";
					winText += "<form name='login' action='body/log_in.php' method='post'><br>Логин&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
            		winText += "<input type='text' id='lg' name='login' maxlength='20' class='logIn'><br><br>Пароль&nbsp;&nbsp;&nbsp;";
					winText += "<input type='password' name='psw' maxlength='20' class='logIn'><br><br><input type='submit' value='Войти' />";
					winText += "&nbsp;&nbsp;&nbsp;<input type='button' name='but' value='Вернуться назад'  onClick='windowHide()'></form></td></tr></table>";
					winVis.innerHTML = winText; 
					winVis.style.visibility = "visible";
					var winVis = document.getElementById("winBg");
					winVis.style.visibility = "visible";
					var inp = document.getElementById("lg");
					inp.focus();
					scroll();
		}
		
function hidePic(id)
		{
	var my = document.getElementById(id);
		my.style.visibility="hidden";//передача параметру visibility значения hidden, блок становится невидим
		my.innerHTML="";//очищение содежимого блока
		//my.style.top=0;
		//my.style.left=0;//отправка блока в верхний левый угол экрана
			var my = document.getElementById("myAltBg");
		my.style.visibility="hidden";
		}

		//Теперь пришло время movePic():
function movePic(word, id)
		{
		var obj = document.getElementById(id);
//alert(id);
		 var x=0, y='85px';
 while(obj) {
    x+=obj.offsetLeft;
    obj=obj.offsetParent;
 }
 
 		tmp = "<br><br>";
		word = tmp + word;
		var my = document.getElementById("myAltBg");
		x1 = '' + x - 70 + 'px';
		my.style.left = x1;
		my.style.top = y;//блок находится на 5 пикселей правее и ниже курсора мыши
		my.style.visibility = "visible";//блок становится видимым*/
		
		var my = document.getElementById("myAlt");
		my.innerHTML=word;//отправка в подсказку строки
		my.style.left = x1;
		my.style.top = y;
		my.style.visibility = "visible";//блок становится видимым*/
		}
		
	function bagHide()
		{
					var winHide = document.getElementById("bagDiv");
					winHide.style.visibility = "hidden";
					
		}	
function delFromHistory(date)
		{
			
					var winVis = document.getElementById("win");
					winText = "<table height='100%' width='100%'><tr><td class='bgwin' background='images/frame.gif'>";
					winText += "Вы уверены, <br>что хотите удалить историю заказов<br> за " + date + "<br><br>";
					winText += "<form action='body/delFromHistory.php?date=" + date + "' method='post'><input type='button' name='but' value='Вернуться назад'  onClick='windowHide()'> &nbsp; <input type='submit' name='but' value='Удалить'></form></td></tr></table>";
					winVis.innerHTML = winText; 
					winVis.style.visibility = "visible";
					var winVis = document.getElementById("winBg");
					winVis.style.visibility = "visible";
		}