function save_data()
{	
	str="";
	for (var i=0;i<GC;i++) {
  		if (zak[i]!=0) {str=str+i+";"+zak[i]+";"; }
	} 
	str = str + "{#end#}";
	for (i=0;i<(showfields.length-1);i++)
	{	
		if (showfields[i]!='payment') {str=str+showfields[i]+"|"+document.forma2.elements[showfields[i]].value+"|";}
	}	
	setCookie("rapidshop",str, cookiehours); 
}
function setCookie(name, value, expires, path, domain, secure) 
{     expDate=new Date(); caution="true"; 
       if (expires) {expDate.setTime(cur_date.getTime()+expires*1000*60*60);}	
        var curCookie = name + "=" + escape(value) +
                ((expires) ? "; expires=" + expDate.toGMTString() : "") +
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                ((secure) ? "; secure" : "");
        if (!caution || (name + "=" + escape(value)).length <= 4000)
                document.cookie = curCookie
        else
                if (confirm("Cookie превышает 4KB и будет вырезан !"))
                        document.cookie = curCookie
}
function getCookie(name) 
{
        var prefix = name + "=";
        var cookieStartIndex = document.cookie.indexOf(prefix);
        if (cookieStartIndex == -1)
                return ""
        var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length);
        if (cookieEndIndex == -1)
                cookieEndIndex = document.cookie.length
        return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}
function deleteCookie(name) 
{
        setCookie(name,"",0);
}
restore_data=function()
{
	var ss;	
	ss=getCookie("rapidshop");  
	clear_cart();
	if (ss!="") 
	{
		str=ss.substring(0,ss.indexOf("{#end#}")-1);  
		if (str.length>2) 
		{
			restored=str.split(";");				 		
			for (i=0;i<(restored.length/2);i++)
			{				
				zak[parseInt(restored[i*2])]=parseInt(restored[i*2+1]);					
			}				
		}
		
		str=ss.substring(ss.indexOf("{#end#}")+7,ss.length-1); 
		if (str.length>2) 
		{
			restored=str.split("|");
			if (restored[0]!="")
			{				 		
				for (i=0;i<(showfields.length-1);i++)
				{				
					if (showfields[i]==restored[i*2] && showfields[i]!='payment') {document.forma2.elements[showfields[i]].value=restored[i*2+1]; }					
				}				
			}
		}									
	}
	summa();
	show();	
}
window.onload=restore_data;

function createDescriptionField()
{
	var s;
	s="<table width=100%  class='desc' border=1 cellpadding=0 cellspacing=0>"+
	"<tr><td class=desc align=right>"+button("a", l_close, "close_info()",l_close)+"</td></tr>"+
	"<tr height=50><td class=desc valign=middle align=center><div id=description_data>data</div></td></tr></table>  ";
	return s;
}
function copy_info()
{	
	var ss;	
	document.getElementById('tovary').innerHTML=createDescriptionField();	
	ss=window.dataframe.document.getElementById('description').innerHTML;
	ss=ss.replace(imgpath,infpath+"/"+imgpath);
	ss=ss.replace("id=\"descimage\"","id=descimage onerror=javascript:this.src='"+"/"+imgpath+"/nophoto.jpg';");
	document.getElementById('description_data').innerHTML=ss;
}
function copy_page(a,l)
{	
	var ss;			
	document.getElementById('tovary').innerHTML=window.dataframe.document.getElementById('content').innerHTML;	
	document.getElementById("prilavok").style.display="block";
	document.getElementById("oformit").style.display="none";
	for (var i=1;i<=l;i++) {document.getElementById("smenu"+i).className="smenu"}
	document.getElementById("smenu"+a).className="smenuselected";
}
function close_info() {	show(); }
function show_info(a)
{	
	obj=document.getElementById("div_description");	
	obj.innerHTML=createDescriptionField();	
	document.getElementById("description_data").innerHTML="<img src='images/loading_white.gif'> Loading...";		
	document.getElementById("tovary").innerHTML=""; 	
	window.dataframe.location.replace(a);
}
function productImage(a)
{
	document.getElementById("prilavok").style.display="block";
	document.getElementById("oformit").style.display="none";
	document.getElementById('tovary').innerHTML=createDescriptionField();
	document.getElementById("description_data").innerHTML="<img src='images/loading_white.gif'> Loading...";
	document.getElementById('description_data').innerHTML="<img src='"+a+"'>";	
}

function get_var_from_str(sstr,svar) 
{
	ss=sstr.split("&");	
	res="";
	for (i=0;i<ss.length;i++) {		
		if (ss[i].indexOf(svar)!=-1) {res=(ss[i].substring(ss[i].indexOf("=")+1,ss[i].length));}		
	};	
	return res;
}

function check_order()  
{	
	y=0; str2=""; paynote="";	
 	if (reqfields.length>0 && reqfields[0].length!=0) 	
	{
		for (i=0;i<(showfields.length-1);i++)
		{
			if (reqfields[i]==1) 
			{
				paynote=paynote + " " + namefields[i] + ": " + document.forma2.elements[showfields[i]].value; 
			if (showfields[i]=="clientemail") {if (!isValidEmail(document.forma2.elements[showfields[i]].value,true)) {y=1; str2=str2 + namefields[i] + "\n";};}
			else
			{
				if (document.forma2.elements[showfields[i]].value.length<2) {y=1; str2=str2 + namefields[i] + "\n";}
			}
			}
		}
 	}	
 	if (y!=0) {str2=str2.substr(0,(str2.length-1)); alert (l_noemail + "\n" + str2 + "");} 
	else 
	{
		document.forma2.zak_pos.value=printable();
		makePayments() ; document.getElementById('payment_loading').style.display='block';
		if (clearcookie==2) {deleteCookie("rapidshop");}		
		if (flag_pay_module=="url") 
		{
			document.forma2.target=""; document.forma2.submit();
		}
		else 
		{
			document.forma2.target="dataframe"; 
			document.forma2.submit(); 
			setTimeout("document.forma_pay.submit()",1000);
			
		}
	}
}

function get_var(svar) {
	ss=document.location.href.split("&");	
	res="";
	for (i=0;i<ss.length;i++) {		
		if (ss[i].indexOf(svar)!=-1) {res=(ss[i].substring(ss[i].indexOf("=")+1,ss[i].length));}		
	};	
	return res;
}
function Nadpis(a) {	
	i=1;
	while (a!=nadpisi[i] && i<nadpisi.length) {i=i+2;}
	if (a==nadpisi[i]) {return nadpisi[i-1].replace("<font color='red'>*</font>","");} else {return i};	
}

function formatCur(amount, znakov, delim) 
{
 var s,k;
 s="";
 if (delim==undefined) { delim="";}
 amount=Math.round(amount*Math.pow(10,znakov))/Math.pow(10,znakov);
 if (znakov==2) 
 {
   if (String(amount).indexOf(".")==-1) {str=amount+".00"} 
   else {kp=(String(amount).length-String(amount).indexOf("."));  if (kp==2) {str=amount+"0"} else {str=amount} }; 
 }
 if (znakov==1) {if (String(amount).indexOf(".")==-1) {str=amount+".0"} else {str=amount}; }
 if (znakov!=1 && znakov!=2) {str=amount;}
 str=String(str);
 k=-1;start=0;
 if (str.indexOf(".")==-1) {start=1;k=0;}
 for (var i=(str.length-1);i>=0;i--)
 {
	if (str.substr(i,1)==".") {start=1;}
	s=str.substr(i,1)+s; 
	if (start==1) {k++; if (k==3 && i>0) {k=0;s=delim+s;}}
 }
 return s;
}
function convert_data()
{	
	min_summa=Number(min_summa);summa_dostavki=Number(summa_dostavki);tipskidki=Number(tipskidki);
	skidkakol1=Number(skidkakol1);skidkaval1=Number(skidkaval1);skidkakol2=Number(skidkakol2);
	skidkaval2=Number(skidkaval2);stepvar=Number(stepvar);tablewidth=Number(tablewidth);
	leftwidth=Number(leftwidth);rightwidth=Number(rightwidth);gnwidth=Number(gnwidth);gpwidth=Number(gpwidth);
	gkwidth=Number(gkwidth);idwidth=Number(idwidth);add2width=Number(add2width);photowidth=Number(photowidth);
	GrN=document.getElementById("GrNStr").innerHTML.split("|"); 
	GN=document.getElementById("GNStr").innerHTML.split("|"); 
	GText=document.getElementById("GTextStr").innerHTML.split("|");    
	reqfields=reqfieldsstr.split("|");   showfields=showfieldsstr.split("|"); 
	namefields=namefieldsstr.split("|");paymentsname=paymentsnamestr.split("|");
	znakov=znakov-1;  
	perpage=stepvar;
	for (var i=0;i<=GC;i++) {   zak[i]=0;     };
	k=0; k2=0; k3=0;
	for (var i=GrC+1;i>0;i--) 
	{
		l=GrP[i]-GrP[i-1]; k=k+l; k2=k2+l;  k3=k3+l;  
		if (l==0) {GCount[i-1]=k; } 
		else 
		{
			GCount[i-1]=l; 
			if (GrLevel[i-1]==-3) {k=0;}; 
			if (GrLevel[i-1]==-2) {k=0; k2=0;}; 
			if (GrLevel[i-1]==-1) {k=0; k2=0; k3=0;}
		}  
	}
	k1=0; k2=0; k3=0; k4=0;
	for (var i=GrC+1;i>0;i--) 
	{
		l=GrP[i]-GrP[i-1]; 
		if (GrLevel[i-1]==-4) {k4=k4+l; GCount[i-1]=k4; k3=k3+l; k2=k2+l; k1=k1+l; k3=0; };
		if (GrLevel[i-1]==-3) {k3=k3+l; GCount[i-1]=k3; k2=k2+l; k1=k1+l; k3=0; };
		if (GrLevel[i-1]==-2) {k2=k2+l; GCount[i-1]=k2; k1=k1+l;k2=0;};
		if (GrLevel[i-1]==-1) {k1=k1+l; GCount[i-1]=k1; k1=0;};
	}
    	m=0; str_test="";
    	for (var i=0; i<GrC; i++)  
	{                    	
        	vlogen[i]=-(GrLevel[i+1]-GrLevel[i]); m=m+vlogen[i];            
        	str=str+"<br>i="+i+";GrLevel="+GrLevel[i]+";vlogen="+vlogen[i];
     	}
     	vlogen[GrC]=-m;   	
}
function activateCart()
{	 
	if (GrC!=-1) {while (GrP[curCat]==GrP[curCat+1]) {curCat++;}} 	
  	window.name="shop";
	category(curCat);	
}
function insertContent(a,s)
{	
	if (document.getElementById(a)!=null) {document.getElementById(a).innerHTML=s;}

}
function createWS()
{	
	var s;	
	document.getElementById("warning").style.display="none";
	convert_data();	
	l=Math.floor((tablewidth-rightwidth-leftwidth)/gnwidth); 
	if (tip_list==3) {stepvar=Math.round(stepvar/l)*l;gpwidth=gnwidth;idwidth=gnwidth;add2width=gnwidth;gkwidth=gnwidth;}
	if (tip_list==2) {stepvar=Math.round(stepvar/l)*l;idwidth=gnwidth;add2width=gnwidth;gpwidth=gkwidth;}
	insertContent("categories-container",createCategoriesList());
	insertContent("search-container",createSearch());
	insertContent("informer-container",cartInformer());
	s="<span id='prilavok'><span id='tovary'></span></span>"+
	"<span style='display:none' id='oformit'>"+customerDetails()+"</span>";
	insertContent("content",s);
}
function PriceListButton() 
{
	var s;	
	s="<a href='javascript:price_list()' class=menu21>"+l_priceList+"</a>"; 
	return s;  
}
function createSearch()
{	
	var s;	
	s="<table class='container' width=100% "+((show_search==1) ? "style='display:none'" : "")+"><tr><td class=containertitle>"+l_search+"</td></tr>"+
	"<tr><td class=containerrow><input type='text' id=poisk_str name=poisk_str onKeyDown='javascript: if (event.keyCode==13) {search()}' onclick=javascript:this.value='' class='searchText' value=''>"+
	"<br>"+button("b", l_ok, "search()")+"</td></tr></table>";
	return s;
}
function createCategoriesList() {
  var s;
  s="";
 ss="";	
   s+="<table class='container' width=100% "+((show_categories==1) ? "style='display:none'" : "")+"><tr><td class=containertitle>"+l_categories+"</td></tr><tr><td class='menu21'>"; 
   for (var i=0; i<=GrC; i++)  {
	str="style=margin-left:"+((GrLevel[i]+1)*(-15))+"pt";
	if (qty_sek==2) {ss=" ("+GCount[i]+")";} 
	if (vlogen[i]==0 || vlogen[i]==-1 || vlogen[i]==-2  || vlogen[i]==-3) {s+="<div class='menu21' "+str+"><a href='javascript:category("+i+")' class='menu2"+(-GrLevel[i])+"'>"+ GrN[i]+ss+"</a></div>";}
	if (vlogen[i]==1) {s+="<div class='menu21' "+str+"><a href='javascript:category("+i+")' class='menu2"+(-GrLevel[i])+"'>"+ GrN[i]+ss+"</a></div><div class='menu2' style='display:none;' id='menu2p" + i + "'>";};
	if (vlogen[i]==-1) {s+="</div>";};	
	if (vlogen[i]==-2) {s+="</div></div>";};
	if (vlogen[i]==-3) {s+="</div></div></div>";};		
    }  
  s+="<div style='padding-top:5px'></div>"; 
  if (show_all_products==2) {s+="<div class='menu21' style='margin-left:0pt;'><a href='javascript:category("+i+")' class='menu21'>"+l_AllProducts+"</a></div>";}
  if (show_hide_subcategories==2) {s+="<div class='menu21' style='margin-left:0pt;'><a href='javascript:svernut()' class='menu21'>"+l_hide_subcategories+"</a></div>";}

	

  if (show_price_list==2) {s+="<br><div class='menu21' style='margin-left:0pt'>"+PriceListButton()+"</div>" }
  s+="</td></tr></table>"; 
 return s;
}

function button(type,text,action,title)
{
	if (type=="a") {return "<a href='javascript:"+action+"' class=button title='"+title+"'>"+text+"</a>"}
	else if (type=="b") {return "<input type=button class=button value='"+text+"' onclick='"+action+"'>"}	
	else if (type=="buybuttons") {return "<input type=button class='"+type+"' title='"+title+"' value='"+text+"' onclick='"+action+"'>"}	
}

function makeCartResume()
{
	var s,ss;	
	ss="<br>";
	s=zak_kolvo+"&nbsp;"+l_items+ss+(show_prices==2?l_total+"&nbsp;"+rubbefore+" "+formatCur(zak_summa,znakov,tToken)+rubafter:"")+"";	
	return s;
}
function cartInformer()
{
	var s,ss;
	ss="</td></tr><tr><td class=containerrow>";
	s="<table class='container' width=100% "+((show_informer==1) ? "style='display:none'" : "")+"><tr><td class=containertitle>"+l_shopping_cart+ss;
	s+="<span id=cartResume>"+makeCartResume(ss)+"</span>"+ss+
	button("b", l_to_checkout, "checkout()")+ss+	
	button("a", l_viewcart, "viewCart()")+" "+button("a", l_clearcart, "clear_cart()")+		
	"</td></tr></table>";
	return s;
}


function make_client_info()
{
	str="<p  class=clientinfo><table class=clientinfo>";
	for (i=0;i<(showfields.length-1);i++)
	{
		str=str + "<tr><td class=fieldname>"+ ((reqfields[i]==1) ? "<span class=req>*</span>": "") +namefields[i]+"</td><td class=fieldvalue>";
		if (showfields[i]=='payment') 
		{
			str=str + "<select name='payment' size='1'  class='clientinfo' onchange=makePayments()>";
			for (j=0;j<(paymentsname.length-1)/2;j++)
			{
			  str=str+"<option value='"+paymentsname[j*2+1]+"'>"+paymentsname[j*2]+"</option>";
			}
			str=str + "</select>";
		}
		else {str=str + "<input type='text' name='"+showfields[i]+"'  class='clientinfo' value='' onchange='save_data()'>";}
		str=str+"</td></tr>";
	}
	str=str+"</table></p>";
	return str;
}

function customerDetails()
{
	var s;
	s="<form name='forma2' action='"+scact+"' method='post'>"+
	"<input type='hidden' name='subject' value='"+l_subject+"'>"+
	"<input type=hidden name='email' value='" + email + "'>"+
	"<input type=hidden name='email2' value='" + email2 + "'>"+
	"<input type=hidden name='email3' value='" + email3 + "'>"+
	"<input type=hidden name='lang' value='" + lang + "'>"+
	"<input type=hidden name='charset' value='" + charset + "'>"+
	"<input type=hidden name='version' value='" + version + "'>"+
	"<input type=hidden name='send_to_client' value='" + send_to_client + "'>"+
	"<input type=hidden name='showfieldsstr' value='subject|f2qty|f2subtotal|f2delivery|discountsum|f2total|f2date|zak_pos|zak_kol|" + showfieldsstr + "'>"+
	"<input type=hidden name='namefieldsstr' value='|"+l_quantity+"|"+l_subtotal+"|"+l_deliverycost+"|"+l_discount+"|"+l_total+"||||" + namefieldsstr + "'>"+
	"<input type=hidden name='f2qty' value=0>"+
	"<input type=hidden name='f2subtotal' value=0>"+
	"<input type=hidden name='f2delivery' value=0>"+
	"<input type=hidden name='discountsum' value=0>"+
	"<input type='hidden' name='f2total' value=0>"+
	"<input type='hidden' name='f2date' value=''>"+
	"<input type='hidden' name='zak_pos' value=''>"+
	"<input type='hidden' name='zak_kol' value=''>"+
	"<input type='hidden' name='shopurl' value='"+document.location.href+"'>"+
	"<table class=container width=100%>"+
	"<tr><td class=containertitle>"+l_yourorder+"</td></tr>"+
	"<tr><td class=containerrow2>"+
	l_rem1+"<div id=spisok_tovarov>_</div>"+	
	"<p class=printablebutton>"+button("b", l_printable, "printOrder()")+
	"</td></tr></table>"+
	"<table class=container width=100%>"+
	"<tr><td class=containertitle>"+l_deliverydata+"</td></tr>"+
	"<tr><td class=containerrow2>"+
	l_rem2+make_client_info()+
	"</td></tr>"+
	"</table>"+	
	"</form>"+
	"<table><tr><td valign=top>"+
	button("b",l_returnhall, "razdel_num=0;show()")+
	"</td><td width=10px></td><td valign=top>"+
	"<div id='payment_loading' style='position:absolute;display:none'><table class=desc><tr><td> <img src='images/loading_white.gif' hspace=10> Loading ...</td></tr></table></div>"+
	"<span id=pay_zone>payzone"+
	"<form name=forma_pay method='POST' action='https://merchant.webmoney.ru/lmi/payment.asp'>"+
	"</form>"+
	"</span>"+
	"</td></tr></table>";	
	return s;	
}

function summa() {
 zak_summa=0;zak_kolvo=0;
 for (var i=0;i<GC;i++) {
  zak_summa=GP[i]*zak[i]+zak_summa; 
  zak_kolvo=zak_kolvo+zak[i]; 
 } 
 document.getElementById("cartResume").innerHTML=makeCartResume();
 save_data();
}

function catTree(a)
{
	var s,k,llast;
	s="";
	if (GrLevel[a]==0) {s+=l_AllProducts;}
	else 
	{
		k=a; llast=GrLevel[k];
		s=GrN[a];
		while (GrLevel[k]!=-1)
		{			
			k--;	
			if (GrLevel[k]>llast){s=""+GrN[k]+" / "+s;llast=GrLevel[k];}
		}		
	}
	s=""+s+"";
	return s;
}

function pageTitle(a) {var s;s="<div class=pageTitle>"+a+"</div>";return s;}

function display(a) {pos=a;show();}

function printRow(id,pp) 
{
	var nrow1,nrow1e,nrow2,nrow2e,photowidth2,b1,b2;	
	str=""; nrow1=""; nrow1e=""; curalign=""; nrow2=""; nrow2e="";b1="";b2="";
	if ((pp/2-Math.round(pp/2))==0 && tip_list==1) {k="chet"} else {k="nechet"};   
	if (tip_list==3) {curalign="text-align:center";photowidth2=gnwidth;}
	if (tip_list==2) {curalign="text-align:left";photowidth2=photowidth;}
if (descpopup==1)
{
	//путь к файлу описания
	str01="<a href='"+infpath+"/"+GKod[id]+".htm' class=row target=dataframe>"; str02="</a>";
	//путь к большой картинке
	str21="<a href='javascript:productImage(\""+infpath+"/"+imgpath+"/"+GKod[id]+"."+jpg+"\");' class=row>"; str22="</a>";
}
else
{
	str01="<a href='"+infpath+"/"+GKod[id]+".htm' class=row target=_blank  onclick='window.open(this.href,\"\",\"height="+descheight+",width="+descwidth+",location=0,directories=0,menubar=0\"); return false;' >"; str02="</a>";
	str21="<a href='"+infpath+"/"+imgpath+"/"+GKod[id]+"."+jpg+"' target=_blank onclick='window.open(this.href,\"\",\"height="+descheight+",width="+descwidth+",location=0,directories=0,menubar=0\"); return false;' class=row>"; str22="</a>";
}




	if (infon[id]==3 || infon[id]==2) {str21=str01;str22=str02;} else if (infon[id]==1) {str01=""; str02="";} else {str01="";str02="";};				
	if (tip_list==3) {nrow2="<tr>";nrow2e="</tr>"; str+="<td class=nazvan"+k+" style='width:"+gnwidth+";vertical-align:top' ><div class='spacer'><table width=100% cellpadding=0 cellspacing=0>"; }	
	if (tip_list!=1) {b1="<div class=price>";b2="</div>"; str+=nrow2+"<td class=infimg"+k+"  style='width:"+photowidth2+";"+curalign+"'>"+str21+"<img id='photo"+ i +"' src="+((infon[id]!=0 && infon[id]!=3) ? infpath+"/"+th_image+"/"+GKod[id]+"."+jpg : imgpath+"/nophoto.jpg")+" width="+photowidth+" class='photo' align=center alt='"+l_productdescription+"'  onerror=javascript:this.src='"+imgpath+"/nophoto.jpg';>"+str22+"</td>"+nrow2e;}	
	if (tip_list==2) {nrow1="<tr>";nrow1e="</tr>";str+="<td  style='width:"+gnwidth+";'><table width=100%  cellpadding=0 cellspacing=0>";}	
	str+=nrow1+nrow2+"<td class='nazvan"+k+"'  style='width:"+gnwidth+";"+curalign+"'>"+str01+GN[id]+str02+"</td>"+nrow1e+nrow2e;  
	if (show_product_id==2) {str+=nrow1+nrow2+"<td class='id"+k+"' style='width:"+idwidth+";"+curalign+"'>"+((tip_list!=1) ? l_ID : "")+" "+GKod[id]+"</td>"+nrow1e+nrow2e;  }
	if (show_add_field2==2) {str+=nrow1+nrow2+"<td class='add2"+k+"' style='width:"+add2width+";"+curalign+"'>"+GText[id]+"</td>"+nrow1e+nrow2e;}
	if (tip_list==2) {str+="</table></td><td  style='width:"+gpwidth+";align:left'><table width=100%  cellpadding=0 cellspacing=0>";}
	if (show_prices==2) {str+=nrow1+nrow2+"<td class='price"+k+"'  style='width:" + gpwidth + ";"+curalign+"'>"+b1+rubbefore+formatCur(GP[id],znakov,tToken)+rubafter+b2+"</td>"+nrow1e+nrow2e;}
	str+=nrow1+nrow2+"<td   style='width:"+gkwidth+";"+curalign+"'  class='kolvo"+k+"'>"+
		"<input type="+(GK[id]>0?"text":"hidden")+" value="+zak[id]+" id='k"+pp+"' onchange='rukami("+pp+")' onclick='this.select()' onKeyDown='javascript: if (event.keyCode==13) {rukami("+pp+");this.select()}' class='gk_style"+k+"' "+((show_qty==1) ? "style='display:none'" : "")+" >"+
		"<input type='hidden' value="+id+" id='id"+pp+"' onchange='rukami("+pp+")' >";
	if (GK[id]>0)
	{
		if (buy_button==2)
		{
			str+="<NOBR>"+button("buybuttons","+","plus("+ pp +")",l_addtocart);
			str+=button("buybuttons","-","minus("+ pp +")",l_cartout)+"</NOBR>";
		}
		else if (buy_button==1)
		{
			str=str+"<input type='button' class='buy_button' title='"+l_addtocart+"' value='"+l_addtocart+"' style='width:80' onclick='plus("+ pp +")'>";		
		
		}
	}
	else {str+="<span class=notavail>"+l_not_available+"</span>";}
	str+="</td>"+nrow1e+nrow2e;
	if (tip_list!=1) {str+="</td></tr></table></div>"};
	str=str+"</td>";	
	
	return str;
}

function show() 
{ 	
  var curp,lastp;
  sShow=""; 
	if (razdel_num==0) 
	{
		if (search_on==0) {sShow=pageTitle(catTree(curCat))} else {sShow=pageTitle(l_searchresults+" <i>"+poisk_str+"</i>");}
	}
	else 
	{
		sShow=pageTitle(l_shopping_cart);
	} 
  sShow+="<div class='products"+tip_list+" bbb'><tr>"; 
  if (tip_list==3) {l=Math.floor((tablewidth-leftwidth-rightwidth)/gnwidth); m=0;} 
  if (tip_list==1) {l=-2; sShow=sShow+"<td class='zagolovki' style='width:"+gnwidth+";'>"+l_productname+"</td>"+(show_product_id==2 ? "<td class='zagolovki'>"+l_productID+"</td>":"") +(show_add_field2==2 ? "<td class='zagolovki'>"+l_addTextField+"</td>":"") +"<td class='zagolovki' >"+l_productprice+"</td><td    class='zagolovki'>"+((show_qty==2) ? l_quantity : "")+"</td></tr><tr>";}; 
 document.getElementById("cartResume").innerHTML=makeCartResume();
 if (search_on==0)  
 {
	 if (razdel_num==0) 
	 {
		if (tip_sek==0) {end_sek=GrP[curCat+1]} else {end_sek=GC}; 
	 } 
	 else 
	 {
		start_sek=0; end_sek=zak_count;	
	 }
 } 
 for (var i=pos; i<(pos+stepvar);i++) 
 {	
	m=m+1; nrow="</tr><tr>";
	if (tip_list==3) { 
		if (m==l) {m=0; } else {nrow="";};
	}
	if (search_on==0) 
	{
  		if (razdel_num==0 ) 
		{         
  		     if (i<end_sek) {sShow=sShow+printRow(i,i-pos)+nrow;}          
	    	}
  		else 
		{  
     			ik=zak_index[i];
		     	if (i<=zak_count) {sShow=sShow+printRow(ik,ik-pos)+nrow; end_sek=zak_count; }   
		  }    
	}
	else
	{
		ik=search_res[i];
	     	if (i<search_count) {sShow=sShow+printRow(ik,ik-pos)+nrow;  }   	
	}
  }
  sShow+="</tr></div>"; 

  curp=Math.ceil((pos - start_sek)/stepvar)+1;
  lastp=Math.ceil((end_sek - start_sek)/stepvar);
  sShow+=pageNums(curp,lastp);
  
  if (razdel_num==1) {sShow+="<br><br>"+button("b",l_to_checkout,"checkout()");}
  document.getElementById("prilavok").style.display="block";
  document.getElementById("oformit").style.display="none";
  document.getElementById("tovary").innerHTML=sShow;
  if (scroll_to_top==2) {document.body.scrollTop=0;}
}

function pageNums(curp,lastp)
{
	var s; s="";
	if (lastp>1)
  	{
		s+="<br clear=left><p class=page><b class=page>"+l_page+"</b>&nbsp;";
	  	for (var i=1; i<=lastp;i++)
		{	
			if (i==curp) {s+="<b class=pagenum>"+i+"</b>&nbsp;";} 
			else {s+="<a href='javascript:display("+((i-1)*stepvar+start_sek)+")' class=pagenum>"+i+"</a> ";}
		}
		s+="<a  href='javascript:maxperpage()' class=pagenum>"+l_display_all+"</a></p>";
  	}
	return s;
}
function maxperpage()
{	
	category(curCat);
	stepvar=10000;	
	show();
}
function category(a)
{
	stepvar=perpage;
	if (vlogen[a]==1) 
	{
		if (document.getElementById("menu2p"+a).style.display=="none") {document.getElementById("menu2p"+a).style.display="block";} else {document.getElementById("menu2p"+a).style.display="none";}
	}
	else
	{
		curCat=a; 
		search_on=0; document.getElementById("poisk_str").value="";
		razdel_num=0; 
		pos=GrP[curCat];
		if (curCat==(GrC+1)) {pos=0; tip_sek=1;} else {tip_sek=0;}	  
		if (tip_sek==0) {end_sek=GrP[curCat+1]} else {end_sek=GC+1};
		if (tip_sek==0) {start_sek=GrP[curCat]} else {start_sek=0};
		show(); 	 
	}
}
function svernut()
{
	for (var i=0; i<=GrC; i++)  
	{
		if (vlogen[i]==1) {document.getElementById("menu2p"+i).style.display="none";}
	}
}
function clear_cart() {
	for (var i=0;i<=GC;i++) {zak[i]=0};
	for (i=0;i<(showfields.length-1);i++)
	{				
		if (showfields[i]!='payment') {document.forma2.elements[showfields[i]].value=""; }					
	}
	razdel_num=0;
	show();
	summa(); 	
}

function zaks_count() {
  zak_count=-1;
  zak_kolvo=0;
  for (var i=0;i<=GC;i++) { 
   if (zak[i]!=0) { 
    zak_count=zak_count+1;
    zak_kolvo=zak_kolvo+zak[i];    
    zak_index[zak_count]=i;    
   }
  }
}

function symbols(s,r)
{
	var ss;
	ss="";
	for (var i=0;i<r;i++) {ss+=s;}
	return ss;
}

function price_list()
{
   str="<style>td{font-size:11px;font-family:Arial,Tahoma}</style><table border=1 cellpadding=0 cellspacing=0 align=center><tr>";
	k=0; j=0;
   str=str + "<tr><td  style='background-color:lightgrey;font-size:11px' align=center><b>"+l_productname+"</b></td>"+(show_product_id==2 ? "<td  style='background-color:lightgrey;font-size:11px' align=center><b>"+l_productID+"</b></td>":"")+"<td align=center  style='background-color:lightgrey;font-size:11px'><b>"+l_productprice+"</b></td></tr>";
   for (var i=0;i<GC;i++) 
  {   
		
	while (GrP[k]==i) 
	{
		
		str=str + "<tr><td  style='padding-left:5;padding-right:5;background-color:"+ss+"'><b>"+ symbols("---",(-GrLevel[k])-1)+" <u>"+GrN[k] +"</b></u></td><td  align=center  style='background-color:"+ss+"'>&nbsp;</td>"+(show_product_id==2 ? "<td  style='background-color:"+ss+"'>&nbsp;</td>":"")+"</tr>";k=k+1;
		if (j==0) {ss="lightgrey";j=1;} else {ss="white";j=0;} 
	} 
	 str=str + "<tr><td style='padding-left:5;padding-right:5;background-color:"+ss+"'>"+ symbols("&nbsp;",8)+ GN[i] +"</td>" + (show_product_id==2 ? "<td style='padding-left:5;padding-right:5;background-color:"+ss+"'>"+GKod[i]+"</td>":"") + "<td  align=right  style='padding-left:5;padding-right:5;background-color:"+ss+"'>"+rubbefore + formatCur(GP[i],znakov,tToken) + rubafter+"</td></tr>";
	if (j==0) {ss="lightgrey";j=1;} else {ss="white";j=0;} 
   }
  	str=str + "</tr><tr><td colspan=2></td></tr><tr><td colspan="+(show_product_id==2 ? "3":"2")+">"+l_contacts+"</td></tr></table></font>";
	prOrder=window.open("");	
	prOrder.document.write(str);
	prOrder.document.write("");
	prOrder.document.close();

}

function products_list()
{
	var s, colspan; 
	colspan=1;
	if (show_product_id==2) {colspan++;}
	if (show_prices==2) {colspan=colspan+2;}
	s="<table cellpadding=5 cellspacing=0 width=100%><tr><td style='border-bottom:solid 1px gray;' align=center>"+l_productname+"</td>" + (show_product_id==2 ? "<td style='border-bottom:solid 1px gray;' align=center>"+l_productID+" </td>":"") + (show_prices==2?"<td align=center style='border-bottom:solid 1px gray;'>"+l_productprice+" </td>":"")+"<td  align=center style='border-bottom:solid 1px gray;'>"+l_quantity+" </td>"+ (show_prices==2?"<td style='border-bottom:solid 1px gray;' align=center>"+l_subtotal+" </td>":"")+"</tr>\n";
   	for (var i=0;i<=zak_count;i++) 
  	{   	 
		 s+="<tr><td valign=top> "+ GN[zak_index[i]] +" </td>" + (show_product_id==2 ? "<td valign=top> "+GKod[zak_index[i]]+" </td>":"") + (show_prices==2?"<td  align=center valign=top> "+rubbefore+ formatCur(GP[zak_index[i]],znakov,tToken)+rubafter+" </td>":"")+"<td  align=center valign=top> "+ zak[zak_index[i]] +" </td>"+ (show_prices==2?"<td  align=center valign=top> "+rubbefore+ formatCur(GP[zak_index[i]]*zak[zak_index[i]],znakov,tToken)+rubafter+" </td>":"")+"</tr>\n";
   	}
	s+="<tr><td align=right style='border-top:solid 1px gray;'  valign=top   colspan="+(colspan-1)+">"+l_subtotal+" </td><td  align=center  style='border-top:solid 1px gray;'  valign=top> "+zak_kolvo+" </td>"+ (show_prices==2?"<td style='border-top:solid 1px gray;' align=center  valign=top> "+rubbefore+ formatCur(zak_summa,znakov,tToken) +rubafter+" </td>":"")+"</tr>\n";
   	if (summa_dostavki!=0) {s+="<tr><td   colspan="+colspan+" align=right  valign=top>"+l_deliverycost+" </td><td align=center  valign=top> "+rubbefore+formatCur(dost,znakov,tToken)+rubafter+" </td></tr>\n";}
	if (show_prices==2)
	{
		if (skidkaval1!=0 || skidkaval2!=0) {s+="<tr><td   colspan="+colspan+" align=right  valign=top>"+l_discount+" </td><td align=center  valign=top> "+rubbefore+document.forma2.discountsum.value+rubafter+" </td></tr>\n";}
		if (skidkaval1!=0 || skidkaval2!=0 || summa_dostavki!=0)s+="<tr><td    colspan="+colspan+" align=right  valign=top>"+l_total+" </td><td align=center valign=top> "+rubbefore + document.forma2.f2total.value+rubafter+"</td></tr>";
	}
	s+="</table>";   
	return s;
}

var d = new Date();

function printable()
{
	str="<br/><b>"+l_yourorder+" "+d.toLocaleString()+"</b><hr>\n <table border=1 cellpadding=5 cellspacing=0>";
	for (i=0;i<(showfields.length-1);i++)
	{		
		str=str + "<tr><td class=clientinfo>"+namefields[i]+" </td><td> ";
		if (showfields[i]=='payment') 
		{
			str+=document.forma2.payment.options[document.forma2.payment.selectedIndex].text;	
		}
		else
		{
			
			str=str + document.forms["forma2"].elements[showfields[i]].value;			
		}
		str=str+"</td></tr>\n";
	}
	str+="</table>\n";
	str+=products_list()+"<hr>"+l_contacts;
	return str;
}

function printOrder () {
	prOrder=window.open("");	
	prOrder.document.write("<title>"+l_yourorder+"</title>");	
	prOrder.document.write(printable());
	prOrder.document.close();		
}

function calc_delivery()
{
	discountvalue=0;
	if (tipskidki==1) { if (zak_kolvo>=skidkakol1) {discountvalue=skidkaval1;}  ;  if (zak_kolvo>=skidkakol2) {discountvalue=skidkaval2;}}
	if (tipskidki==2) { if (zak_summa>=skidkakol1) {discountvalue=skidkaval1;}  ;  if (zak_summa>=skidkakol2) {discountvalue=skidkaval2;}}
}
function viewCart() 
{
 	
	zaks_count();  
	if (zak_summa<=0) {alert (l_orderisnull)}  
	else
	{
		search_off();
		razdel_num=1;  	  
		pos=0;
		show();		
	}
}
function checkout() 
{
	if (scroll_to_top==2) {document.body.scrollTop=0;}
	search_off();
	zaks_count();  
	if (zak_summa<=0) 
	{ 
   		alert (l_orderisnull)
	}
	else 
	{
		zak_str1="zak_str1=";
		zak_str2="zak_str2=";   
		for (var i=0;i<=zak_count;i++) 
		{ 
			zak_str1=zak_str1 + GN[zak_index[i]] + ":; Qty=" + zak[zak_index[i]] + ":; Price=" + GP[zak_index[i]]+ ":;;";
			zak_str2=zak_str2 + GKod[zak_index[i]] + ":;" + zak[zak_index[i]] + ":;" ;
		} 
		if (zak_count!=-1) {document.forma2.f2qty.value=zak_kolvo};
		document.forma2.f2subtotal.value=formatCur(zak_summa,znakov,tToken);
		calc_delivery(); 
		discountsum=zak_summa*discountvalue/100;
		document.forma2.discountsum.value=formatCur(discountsum,znakov,tToken);
		document.forma2.f2date.value=cur_date;   
		if (tipcostdost==1) {dost=summa_dostavki} else if (tipcostdost==3) {dost=zak_kolvo*summa_dostavki} 
		else {dost=zak_summa*summa_dostavki/100}	   
		if (zak_summa>=min_summa && min_summa!=-1) { dost=0;  } 
		document.forma2.f2delivery.value=formatCur(dost,znakov,tToken);
		document.forma2.f2total.value=formatCur(zak_summa+dost-discountsum,znakov,tToken);    
		document.getElementById("spisok_tovarov").innerHTML="" + products_list();
		document.forma2.zak_pos.value=printable();	
		if (oc==0) {if (document.getElementById("v"+"a").href.substring(9,11)=="pi" && document.getElementById("v"+"2").src.substring(10,12)=="id" && document.getElementById("v"+"2").height=="100" && document.getElementById("v"+"2").width=="768") {} else {clear_cart();}	}		
		makePayments();   
		document.getElementById("prilavok").style.display="none";
		document.getElementById("oformit").style.display="block";

	}
}
function search() 
{ 
    	poisk_str=document.getElementById("poisk_str").value; 
	razdel_num=0;
	if (poisk_str!="") 
	{ 
		search_count=0; 
		for (i=0;i<GC;i++) 
		{
			if (find_str(GN[i],poisk_str)==1) 
			{				
				search_res[search_count]=i;	
				search_count=search_count+1;
			}			
		}
	search_on=1;
	pos=0;
	start_sek=0; end_sek=search_count-1;
	show(); 
	}
}

function find_str(gde,chto) {
 if (gde.toLowerCase().search(chto.toLowerCase())==-1) {return 0}
 else {return 1}
}
function plus(a){
	var per_package;
        id=document.getElementById("id"+a).value;
	if ((GNum[id])>0) {per_package=GNum[id];} else {per_package=1;} 

        if (GK[id]==0.01) {alert(l_quantity0);}
	else
	{
        if (prov_ogran_kolva==2) 
        {	
   	if ((zak[id]+per_package)<=GK[id]) {zak[id]=zak[id]+per_package;} else   { alert(l_maxquantity + GK[id]);}
        }    
        else 
        {	
	zak[id]=zak[id]+per_package;
        }
	}    
  document.getElementById("k"+a).value=zak[id];
  summa();
}
function minus(a){
  var per_package;
  id=document.getElementById("id"+a).value;
  if ((GNum[id])>0) {per_package=GNum[id];} else {per_package=1;} 
  if ((zak[id]-per_package)>=0)  { 
       zak[id]=zak[id]-per_package;
  }
  document.getElementById("k"+a).value=zak[id];
  summa();
}
function rukami(a)
{
	id=document.getElementById("id"+a).value;
	if (isNaN(document.getElementById("k"+a).value)) {document.getElementById("k"+a).value=0;alert(l_notnumber);}
	if (Number(document.getElementById("k"+a).value)<0) {document.getElementById("k"+a).value=0;alert(l_negnumber);}
	zak_last=Number(document.getElementById("k"+a).value);
	if ((GNum[id])>0) {per_package=GNum[id];} else {per_package=1;} 
	if ((zak_last/per_package)!=Math.round(zak_last/per_package)) {zak_last=per_package*Math.round(zak_last/per_package);}
        if (GK[id]==0.01) 
	{
		alert(l_quantity0);
	}
	else
	{
	        if (prov_ogran_kolva==2) 
	        {	
		   	if (zak_last<=GK[id]) {zak[id]=zak_last;} else   { alert(l_maxquantity + GK[id]);zak[id]=GK[id];}
        	}    
        	else 
        	{	
			zak[id]=zak_last;
        	}
	}    
	document.getElementById("k"+a).value=zak[id]; 
	summa();
}

function search_off(){search_on=0; document.getElementById("poisk_str").value="";poisk_str="";}
function isValidEmail (email, strict)
{
 if ( !strict ) email = email.replace(/^\s+|\s+$/g, '');
 return (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(email);
}