bV=parseInt(navigator.appVersion); ie4 = (document.all)? true:false;
var global_cat_id=0;
var checks, main_cat_id, massiv, lico;
var str1=/^ch(\[[0-9]+\]\[[0-9]+\])/;
var ChosenChecks = new Array();
var globalcurpage=1;
var url, recount_id, dostavka_price, onblur=0;
var forpodbor=0;
function createRequestObject()
{
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer") ro = new ActiveXObject("Microsoft.XMLHTTP");
    else ro = new XMLHttpRequest();
    return ro;
}
var http = createRequestObject();

function sndReq (id, file, cat_id, global_cat_id)
{
	document.getElementById("listtovars").innerHTML="";
	Hidden("listtovars", "none");
	main_cat_id=cat_id;
	checks = document.getElementsByTagName("input");
	massiv='';
	for(i=0; checks.length > i; i++)
	{
		if(checks[i].type == "checkbox")
		{
			found1 = checks[i].name.match(str1);
			found2 = found1[1].split("]");
			cur_cat_id=found2[0].substr(1);
			cur_id=found2[1].substr(1);
			if (!(ChosenChecks[cur_cat_id])) 
			ChosenChecks[cur_cat_id] =  new Array;
			if (document.searchpodbor['ch['+cur_cat_id+']['+cur_id+']'].checked==true)
			ChosenChecks[cur_cat_id][cur_id]=1;
			else ChosenChecks[cur_cat_id][cur_id]=0;
			if(found1) checks[i].disabled = true;
			if (ChosenChecks[cur_cat_id][cur_id]==1) massiv=massiv+found1[1]+"_";
		}
	}
	url="/misc/"+file+".php?massiv="+massiv+"&main_cat_id="+global_cat_id;
//	alert(url);
	goAjax(url);
}
function handleResponse()
{
    if(http.readyState == 4)
	{
        var response = http.responseText;
        var update = new Array();
        if(response.indexOf('|' != -1)) 
		{
            update = response.split('|');
			update[8]="nds";
			update[9]=(update[3]*0.2).toFixed(3);
			update[10]="itogo3";
			update[11]=Number(update[3])+Number(update[9]);

			if (update[0] && update[1] && document.getElementById(update[0])) document.getElementById(update[0]).innerHTML = update[1];
			if (update[2] && update[3] && document.getElementById(update[2])) document.getElementById(update[2]).innerHTML = update[3];
			if (update[4] && update[5] && document.getElementById(update[4])) document.getElementById(update[4]).innerHTML = update[5];
			if (update[6] && update[7] && document.getElementById(update[6])) document.getElementById(update[6]).innerHTML = update[7];
			if (update[8] && update[9] && document.getElementById(update[8])) document.getElementById(update[8]).innerHTML = update[9];
			if (update[10] && update[11] && document.getElementById(update[10])) document.getElementById(update[10]).innerHTML = update[11];

			if (update[4] == "flag_none") SHOWTOVARS();
			if (update[2] == "nums") Hidden("num", "inline");
			if (update[0] == "listtovars") Hidden("listtovars", "inline");
        }
	stopwait(); 
    }
}
function FREE(file, cat_id, global_cat_id)
{
	Hidden("listtovars", "none");
	checks = document.getElementsByTagName("input");
	massiv='';
	for(i=0; checks.length > i; i++)
	{
		if(checks[i].type == "checkbox")
		{
			found1 = checks[i].name.match(str1);
			found2 = found1[1].split("]");
			cur_cat_id=found2[0].substr(1);
			cur_id=found2[1].substr(1);
			if (cat_id==cur_cat_id) ChosenChecks[cur_cat_id][cur_id]=0;
			if (ChosenChecks[cur_cat_id][cur_id]==1) massiv=massiv+found1[1]+"_";
		}
	}
	url="/misc/"+file+".php?massiv="+massiv+"&main_cat_id="+global_cat_id;
	goAjax(url);
}
function goAjax(url)
{
//	alert(url);
    http.open("get", url);
   	http.onreadystatechange = handleResponse;
    http.send(null);
}

function MENU(num, mode)
{
	if (mode=="1")
	{
		if (document.getElementById("sec"+num).style.display!="inline")
		{
			document.getElementById("sec"+num).style.display="inline";
			document.getElementById("n1_"+num).style.backgroundImage='url("/img/rus/minus.gif")';
			document.getElementById("n1a_"+num).style.color="#E3D600";
		}
		else
		{
			document.getElementById("sec"+num).style.display="none";
			document.getElementById("n1_"+num).style.backgroundImage='url("/img/rus/plus.gif")';
			document.getElementById("n1a_"+num).style.color="#ffffff";
		}
	}
	else if (mode=="2")
	{
		if (document.getElementById("third"+num).style.display!="inline")
		{
			document.getElementById("third"+num).style.display="inline";
			document.getElementById("n2_"+num).style.backgroundImage='url("/img/rus/minus2.gif")';
			document.getElementById("n2a_"+num).style.color="#E3D600";
		}
		else
		{
			document.getElementById("third"+num).style.display="none";
			document.getElementById("n2_"+num).style.backgroundImage='url("/img/rus/plus2.gif")';
			document.getElementById("n2a_"+num).style.color="#ffffff";
		}
	}
	else if (mode=="3")
	{
		if (document.getElementById("forth"+num).style.display!="inline")
		{
			document.getElementById("forth"+num).style.display="inline";
			document.getElementById("n3_"+num).style.backgroundImage='url("/img/rus/minus2.gif")';
			document.getElementById("n3a_"+num).style.color="#E3D600";
		}
		else
		{
			document.getElementById("forth"+num).style.display="none";
			document.getElementById("n3_"+num).style.backgroundImage='url("/img/rus/plus2.gif")';
			document.getElementById("n3a_"+num).style.color="#ffffff";
		}
	}
	else if (mode=="4")
	{
		if (document.getElementById("fifth"+num).style.display!="inline")
		{
			document.getElementById("fifth"+num).style.display="inline";
			document.getElementById("n4_"+num).style.backgroundImage='url("/img/rus/minus2.gif")';
			document.getElementById("n4a_"+num).style.color="#E3D600";
		}
		else
		{
			document.getElementById("fifth"+num).style.display="none";
			document.getElementById("n4_"+num).style.backgroundImage='url("/img/rus/plus2.gif")';
			document.getElementById("n4a_"+num).style.color="#ffffff";
		}
	}
//	else SHOWTOVARS(num, 1, keyword);
}

function SHOWTOVARS(cat_id, level, keyword)
{
	if (level==3) url="/misc/tovarssearch.php?cat_id="+cat_id+"&Keywrd="+encodeURIComponent(keyword); // поиск по ключевому слову
	if (level==4) url="/misc/tovarssearch.php?cat_id="+cat_id+"&producer="+keyword; // поиск по производителю
	if (level==2)
	{
		if (global_cat_id) document.getElementById("n2a_"+global_cat_id).style.color="#ffffff";
		document.getElementById("n2a_"+cat_id).style.color="#E3D600";
		global_cat_id=cat_id;
	}
	if (level!=3 && level!=4) url="/misc/tovars.php?curpage="+cat_id;
//	document.body.style.cursor="wait";
	if (document.all) 
	{
		document.all["waitplease"].style.visibility="visible";
		document.all["waitplease1"].style.visibility="visible";
//		alert("IE visibility is ON");
	} else 	{
		element = document.getElementById('waitplease');
		element1 = document.getElementById('waitplease1');
		element.style.visibility="visible";
		element1.style.visibility="visible";
//		alert("NN visibility is ON");
	}

	setTimeout("goAjax(url)");
	
}

function GO(mode)
{
	document.formlogin.mode.value=mode;
	if (mode=="reg")  document.formlogin.action="/registration/";
	if (mode=="send") document.formlogin.action="/registration/?mode="+mode;
	if (mode=="exit") document.formlogin.action="/registration/?reg=11";
	if (mode=="sendpass") document.SendPasswd.submit();
	else document.formlogin.submit();
}

//////////////////// For registration /////////////////////////
function save()
{
	flag=true;
	re = /^\s*$/;
	re1 = /^[\d]+$/;
	re2 = /^\d+$/;
	re3= /([^<)\s]+@\S+\.[^>(\s]+)/;
	re4 = /^[\d \-\+\(\)]+$/;
	document.registration.lico.value=lico;
	with (document.registration)
	{
/*		if (re.test(secondname.value))
		{
			button.disabled=false;
			alert("Введите фамилию!");
			secondname.focus();
			return;
		}*/
/*		if (re.test(name.value))
		{
			button.disabled=false;
			alert("Введите имя!");
			name.focus();
			return;
		}*/
/*		if (re.test(otch.value))
		{
			button.disabled=false;
			alert("Введите отчество");
			otch.focus();
			return;
		}*/
		if (lico=="j")
		{		
			if (re.test(organisation.value)) 
			{
				button.disabled=false;
				alert("Введите название организации");
				organisation.focus();
				return;
			}
		}
		if (re.test(address.value)) 
		{
			button.disabled=false;
			if (lico=="j") alert("Введите фактический адрес");
			else alert("Введите адрес");
			address.focus();
			return;
		}
		if (lico=="j")
		{		
			if (re.test(juraddress.value)) 
			{
				button.disabled=false;
				alert("Введите юридический адрес");
				juraddress.focus();
				return;
			}
			if (!re1.test(okpo.value)) 
			{
				button.disabled=false;
				alert("Введите ОКПО. Принимаются символы от 0 до 9");
				okpo.focus();
				return;
			}
			if (!re1.test(inn.value)) 
			{
				button.disabled=false;
				alert("Введите ИНН. Принимаются символы от 0 до 9");
				inn.focus();
				return;
			}
			if (!re1.test(numsvid.value)) 
			{
				button.disabled=false;
				alert("Введите № свидетельства. Принимаются символы от 0 до 9");
				numsvid.focus();
				return;
			}
		} 
		if (!re4.test(phone.value)) 
		{
			button.disabled=false;
			alert("Заполните поле \"Телефон\". Принимаются символы от 0 до 9, () и -.");
			phone.focus();
			return;
		}
		if (!re3.test(email.value))
		{ 
			button.disabled=false;
			alert("Введите email");
			email.focus();
			return;
		}
		if (!re3.test(email2.value))
		{ 
			button.disabled=false;
			alert("Введите подтверждение email");
			email2.focus();
			return;
		}
		if (email.value!=email2.value)
		{
			button.disabled=false;
			alert("Несовпадение почтовых адресов");
			re_passwd.focus();
			return;
		}
		if (re.test(login.value)) 
		{
			button.disabled=false;
			alert("Введите логин!");
			login.focus();
			return;
		}
		if ((login.value.length<4)) 
		{
			button.disabled=false;
			alert("Логин должен быть более 4");
			login.focus();
			return;
		}
		if (document.registration.pass)
		{
			if (re.test(pass.value)) 
			{
				button.disabled=false;
				alert("Введите пароль!");
				pass.focus();
				return;
			}
			if ((pass.value.length<6)||(pass.value.length>15)) 
			{
				button.disabled=false;
				alert("Пароль должен быть более 6 и менее 15 символов!");
				pass.focus();
				return;
			}
			if (pass.value!=re_passwd.value)
			{
				button.disabled=false;
				alert("Несовпадение паролей");
				re_passwd.focus();
				return;
			}
		}
		submit();
	}
}
function ORDER_TOVAR(mode, id, category, title, cat_id, img, nalicie)
{
	flag=true;
	if (mode=="recount")
	{
		recount_id=id;
		url="/misc/db_basket.php?id="+id+"&mode="+mode+"&number=";
		oneblur=setTimeout("Blur()", 0); //  в одной функции не хочет на лету менять количество, пришлось вынести в функцию Blur
	}
	if (mode=="delone")
	{
		url="/misc/db_basket.php?del_id="+id+"&mode="+mode;
		goAjax(url);
	}
	if (mode=="delall")
	{
    	document.TovarsInBasket.mode.value=mode;
    	document.TovarsInBasket.action="/misc/db_basket.php";
	    document.TovarsInBasket.submit();
	}

	if (mode=="add")
	{
		minimum=parseInt(document.getElementById("tt"+id).value);
		current_num=parseInt(document.getElementById("t"+id).value);

		if (minimum > current_num || isNaN(current_num))
		{
			alert("Минимальное количество должно быть не менее "+minimum);
			flag=false;
			return;
		}
		else if (current_num % minimum) // если не кратно
		{
			alert("Количество должно быть кратно "+minimum);
			flag=false;
			return;			
		}
		if (flag)
		{
			params="id|"+id+"|cat_id|"+cat_id+"|title|"+title+"|category|"+category+"|img|"+img+"|number|"+current_num+"|minimum|"+minimum;
			url="/misc/db_basket.php?params="+params+"&cat_id="+cat_id+"&id="+id;
			goAjax(url);
			window.open("/misc/order.php?nal="+nalicie, "wOrder", "width=400, height=400, left=300, top=300, status=no, toolbar=no, menubar=no, scrollbars=no, resizable=no");
		}
	}
}
function ORDER_PART(mode, number, tovar, partner_id)//add - добавить, number- № строки в табличке на странице, tovar - наим. , partner_id - ид поставщика
{
	flag=true;
	if (mode=="recount")
	{
		recount_id=id;
		url="/misc/db_partsket.php.php?id="+id+"&mode="+mode+"&number=";
		oneblur=setTimeout("Blur()", 0); //  в одной функции не хочет на лету менять количество, пришлось вынести в функцию Blur
	}
	if (mode=="delone")
	{
		url="/misc/db_partsket.php?del_id="+id+"&mode="+mode;
		goAjax(url);
	}
	if (mode=="delall")
	{
    	document.TovarsInBasket.mode.value=mode;
    	document.TovarsInBasket.action="/misc/db_partsket.php.php";
	    document.TovarsInBasket.submit();
	}

	if (mode=="add")
	{
//		minimum=parseInt(document.getElementById("zz"+id).value);
		current_num=parseInt(document.getElementById("z"+number).value);

		if (isNaN(current_num) || current_num == 0)
		{
			alert("Укажите количество в шт.");
			flag=false;
			return;
		}
 		if (flag)
		{
		      //params="id|"+id+"|cat_id|"+cat_id+"|title|"+title+"|category|"+category+"|img|"+img+"|number|"+current_num+"|minimum|"+minimum;
			params="tovar="+tovar+"&amp;p_id="+partner_id;
			url="/misc/db_partsket.php?"+params;
			goAjax(url);
			window.alert("Товар: "+tovar+", количество: "+number+", поставщик:"+partner_id);
//			window.open("/misc/partorder.php?nal="+current_num, "wOrder", "width=400, height=400, left=300, top=300, status=no, toolbar=no, menubar=no, scrollbars=no, resizable=no");
		}
	}
}
function Blur() // функция для обработки вводимого количества товаров
{
	clearTimeout(oneblur);
	document.TovarsInBasket['number['+recount_id+']'].blur();
	document.TovarsInBasket['number['+recount_id+']'].focus();
	num=document.TovarsInBasket['number['+recount_id+']'].value;
	if (num>10000000) num=10000000;
//	document.getElementById("amount"+recount_id).innerHTML = num;
	proizvedenie=num*document.getElementById("price"+recount_id).innerHTML;
	proizvedenie=NormalizeSum(proizvedenie);
	document.getElementById("pricesum"+recount_id).innerHTML = proizvedenie;
	url=url+num;
	goAjax(url);
}
function NormalizeSum(proizvedenie, numafterpoint) // при некоторых значениях произведение бываеи равно 5.850000000000000005, функция приводит к нормальному виду
{
	if (numafterpoint==0) flag=false;
	else flag=true;
	if (!numafterpoint) numafterpoint=4;
	proizvedenie=proizvedenie.toFixed(numafterpoint);
	lengths=proizvedenie.length;
	if (proizvedenie.substring(lengths-1) == 0 && flag)
	{
		numafterpoint--;
		proizvedenie=parseFloat(proizvedenie);
		proizvedenie=NormalizeSum(proizvedenie, numafterpoint);
	}
	return proizvedenie;
}
function SUBMITT(num, mode)
{
	if (mode==1) oplata_id=document.getElementById("sel_cat_id"+num).options[document.getElementById("sel_cat_id"+num).selectedIndex].value;
	if (num==0 && num!="_d")
	{
		if (document.getElementById("sel_cat_id"+num).options[document.getElementById("sel_cat_id"+num).selectedIndex].value==0)
		num--;
		num++;
	}
	if (parseInt(num)>0) cat_id=document.getElementById("sel_cat_id"+num).options[document.getElementById("sel_cat_id"+num).selectedIndex].value;
	else cat_id=0;
	if (num=="_d")
	{
		Hidden("itogodostavka", "none");
		Hidden("basket_contacts", "none");
		ustanovka_id=document.getElementById("sel_cat_id"+num).options[document.getElementById("sel_cat_id"+num).selectedIndex].value;
		if (ustanovka_id==0)
		{
			Hidden("cats", "none");
			document.getElementById("itogo").innerHTML=itogohidden;
		}
		else Hidden("cats", "inline");
		if (ustanovka_id==7) // если с установкой, то меняем общую стоимость, которая хранится в переменной itogoustanovkahidden
		{
			Hidden("itogoustanovka", "table-row");
			Hidden("onemoreustanovka", "inline");
			if (document.getElementById("itogo")) document.getElementById("itogo").innerHTML=itogoustanovkahidden;
			if (document.Data3.ustanovka) document.Data3.ustanovka.value=1;
		}
		else
		{
			Hidden("itogoustanovka", "none");
			Hidden("onemoreustanovka", "none");
			if (document.getElementById("itogo")) document.getElementById("itogo").innerHTML=itogohidden;
			if (document.Data3.ustanovka) document.Data3.ustanovka.value=0;
		}
	}
	if (num==2) // если выбираем район
	{
		Hidden("basket_contacts", "inline"); // когда выбран район отображаем форму для заполнения
		if (ustanovka_id==6) // если выбрана доставка БЕЗ установки, то отображаем строку с доставкой и скрываем строку с установкой
		{
			Hidden("itogodostavka", "table-row");
			Hidden("onemoreustanovka", "none");
			Hidden("itogoustanovka", "none");
		}
		else
		if (ustanovka_id==7) // если выбрана доставка с установкой, то отображаем строку с доставкой
		{
			Hidden("itogodostavka", "table-row");
		}
	}
	if (num==1) // если выбирается город, скрываем контактную информацию и доставку
	{
		Hidden("basket_contacts", "none");
		Hidden("itogodostavka", "none");
		if(ustanovka_id==7 && document.getElementById("itogo")) document.getElementById("itogo").innerHTML=itogoustanovkahidden;
		else if (ustanovka_id==6 && document.getElementById("itogo")) document.getElementById("itogo").innerHTML=itogohidden; // если выбрана просто доставка, то к стоимости заказа добавляем стоимость доставки
	}
	url="/misc/city_change.php?cat_id="+cat_id+"&mode="+mode+"&ustanovka_id="+ustanovka_id+"&oplata_id="+oplata_id;
	goAjax(url);
}
function OK()
{
	flag=true;
	re = /^\s*$/;
	re3= /([^<)\s]+@\S+\.[^>(\s]+)/;
	re4 = /^[\d \-\+\(\)]+$/;
	if (document.getElementById("b_amount"))
	if (document.getElementById("b_amount").innerHTML==0)
	{
		alert("Количество товара должно быть не менее одной единицы");
		flag=false;
		return;
	}
	if (re.test(document.Data3.contact.value) || document.Data3.contact.value=="Имя")
	{
		alert("Введите имя");
		flag=false;
		return;
	}
	if (!re4.test(document.Data3.phone.value))
	{
		alert("Введите контактный телефон. Принимаются символы от 0 до 9, () и -");
		flag = false;
		return;
	}
	if (!re3.test(document.Data3.email.value))
	{
		alert("Введите электронный адрес");
		flag = false;
		return;
	}
/*	if (!document.Data3.passptorder.value && document.Data3.fj)
	{
		alert("Введите паспортные данные!");
		flag = false;
		return;
	}*/
	if (flag) 
	{
		document.Data3.sent.value='1';
		document.Data3.order.value='basket';
		document.Data3.submit();
	}
}

function Hidden(id, style)
{
	if (document.getElementById(id))
	{
		if (style == "table-row")
		{
				if (ie4) document.getElementById(id).style.display="inline";
				else document.getElementById(id).style.display=style;
		}
		else
		document.getElementById(id).style.display=style;
	}
}

function Search()
{
	prod_id=document.SearchForm.producer.options[document.SearchForm.producer.selectedIndex].value;
	flag=true;
	re = /^\s*$/;
	searchword=document.SearchForm.Keywrd.value;
	if (prod_id==0)
	{
		if (re.test(searchword))
		{
			alert("Поле поиска не должно быть пустым!");
			flag=false;
			return;
		}
		if (searchword==" слово для поиска")
		{
			alert("Введите поисковое слово");
			flag=false;
			return;	
		}
		if (searchword.length < 3)
		{
			alert("Количество символов не должно быть меньше 3");
			flag=false;
			return;	
		}
	}
	if (flag==true)
	document.SearchForm.submit();
}

function PrtSearch()
{
	flag=true;
	re = /^\s*$/;
	searchword=document.SearchForm.Keywrd.value;
	if (re.test(searchword))
	{
		alert("Поле поиска не должно быть пустым!");
		flag=false;
		return;
	}
	if (searchword==" слово для поиска")
	{
		alert("Введите поисковое слово");
		flag=false;
		return;	
	}
	if (searchword.length < 3)
	{
		alert("Количество символов не должно быть меньше 3");
		flag=false;
		return;	
	}
	if (flag==true)
	document.SearchForm.action="/partsearch/";
	document.SearchForm.submit();
}

function PartSearch()
{
	flag=true;
	re = /^\s*$/;
	searchword=document.partsrch.Keywrd.value;
	if (re.test(searchword))
	{
		alert("Поле поиска не должно быть пустым!");
		flag=false;
		return;
	}
	if (searchword==" слово для поиска")
	{
		alert("Введите поисковое слово");
		flag=false;
		return;	
	}
	if (searchword.length < 3)
	{
		alert("Количество символов не должно быть меньше 3");
		flag=false;
		return;	
	}
	if (flag==true)
	document.partsrch.submit();
}

function Check(id)
{
	minimum=parseInt(document.getElementById("tt"+id).value);
	current_num=document.TovarsInBasket['number['+id+']'].value;

	if (current_num % minimum) // если не кратно
	{
		alert("Количество должно быть кратно "+minimum);
		ostatok=current_num % minimum;
		reverse_ostatok=10-ostatok;
		current_num=parseInt(current_num)+parseInt(reverse_ostatok);
		document.TovarsInBasket['number['+id+']'].value=current_num;
		proizvedenie=current_num*document.getElementById("price"+id).innerHTML
		proizvedenie=NormalizeSum(proizvedenie);
		document.getElementById("pricesum"+id).innerHTML=proizvedenie;
		ORDER_TOVAR("recount", id);
	}
}
function Reg(lico_)
{
	lico=lico_;
	if (lico=="j")
	{
		Hidden("juraddress", "table-row");
		Hidden("okpo", "table-row");
		Hidden("inn", "table-row");
		Hidden("numsvid", "table-row");
		Hidden("organisation", "table-row");
		document.getElementById("faktaddress").innerHTML="Фактический адрес";
		Hidden("jurlico", "inline");
		Hidden("usedbgrant", "none");
	}
	if (lico=="f")
	{
		//return;
		document.getElementById("faktaddress").innerHTML="Адрес";
		Hidden("juraddress", "none");
		Hidden("okpo", "none");
		Hidden("inn", "none");
		Hidden("numsvid", "none");
		Hidden("organisation", "none");
		Hidden("jurlico", "inline");
		Hidden("usedbgrant", "block");
	}
	if (lico=="fg")
	{
		document.getElementById("faktaddress").innerHTML="Адрес";
		Hidden("juraddress", "none");
		Hidden("okpo", "none");
		Hidden("inn", "none");
		Hidden("numsvid", "none");
		Hidden("organisation", "none");
		Hidden("jurlico", "inline");
		Hidden("usedbgrant", "block");
	}
}

function waitpls(){
	if (navigator.appName == "Netscape") {
		document.waitplease.visibility="visible";
		document.waitplease1.visibility="visible";
	}else{
		document.all["waitplease"].style.visibility="visible";
		document.all["waitplease1"].style.visibility="visible";
	}
}

function stopwait(){
	if (document.all) 
	{
		document.all["waitplease"].style.visibility="hidden";
		document.all["waitplease1"].style.visibility="hidden";
//		alert("IE visibility is ON");
	} else 	{
		element = document.getElementById('waitplease');
		element1 = document.getElementById('waitplease1');
		element.style.visibility="hidden";
		element1.style.visibility="hidden";
//		alert("NN visibility is ON");
	}
}


