function test_pass(str) {
re = new RegExp("^[a-zA-Z0-9]+$");
 if (!re.test(str) && str!="") return 0;
else return 1; }
function email_test(str) {
re = new RegExp("^[a-zA-z0-9-\._]+@.+\\.[0-9a-zA-z]+$");
if (!re.test(str)) return 0;
else return 1; }
function telnum_test(str){ re = new RegExp("^[0-9-]+$"); if(!re.test(str) && str!="") return 0; else return 1; }
function data_test(str) {
re = new RegExp("^[0-3]{1}[0-9]{1}\\.[0-1]{1}[0-9]{1}\\.[0-9]{1}[0-9]{1}");
if (!re.test(str)) return 0;
parts=str.split("\.");
if (parts[1]>12 || parts[0]==0 || parts[1]==0 || parts[0]>31) return false;
if (parts[0]>30 && (parts[1]==4 || parts[1]==6 || parts[1]==9 || parts[1]==11)) return false;
if (parts[0]>29 && parts[1]==2) return false;
return 1; }
function data_19test(str) {
re = new RegExp("^[0-3]{1}[0-9]{1}\\.[0-1]{1}[0-9]{1}\\.19[0-9]{1}[0-9]{1}$");
rere = new RegExp("^[0-3]{1}[0-9]{1}\\.[0-1]{1}[0-9]{1}\\.2[0-9]{1}[0-9]{1}[0-9]{1}$");
if (!re.test(str) && !rere.test(str)) return 0;
parts=str.split("\.");
if (parts[1]>12 || parts[0]==0 || parts[1]==0 || parts[0]>31) return false;
if (parts[0]>30 && (parts[1]==4 || parts[1]==6 || parts[1]==9 || parts[1]==11)) return false;
if (parts[0]>29 && parts[1]==2) return false;
else return 1; }
function empty_test(str) {
re = new RegExp("^ +$");
 if (re.test(str) || str=="") return 0;
else return 1; }
function filename_test(str){
var parts=new Array(); var dopparts=new Array();var re;
parts=str.split("\\");
if (parts.length<2) parts=str.split("\/");
if (parts.length<2) return false;
dopparts=parts[parts.length-1].split("\.");
if (dopparts.length<2) return false;
re = new RegExp("[A-Za-z0-9]+");
if (!re.test(dopparts[0]) || !re.test(dopparts[1]) || dopparts[1].length>4) return false;
return true;}
function img_test(str) {
parts=str.split("\.");if (parts.length<2) return false;
str=parts[parts.length-1];
if (str!="gif" && str!="jpg" && str!="png" && str!="GIF" && str!="JPG" && str!="PNG") return false; else return true;}
function file_test(str) {
re = new RegExp("^[a-zA-z0-9_]+\.[a-zA-z0-9]+$");
if (!re.test(str) || str=="") return 0;
else return 1; }
function space_test(str) {
re = new RegExp(" ");
 if (re.test(str) || str=="") return 0;
else return 1; }
function test_array(str, arr) {var i;var flag=0;
for (i=0;i<arr.length;i++) {
if (arr[i]==str) {flag=i+1;}}
//из результата вычитать 1
if (flag>0) return flag; else return false;}
function uncheck_radio(form_name,radio_name,number){
eval("if ("+form_name+"."+radio_name+"["+number+"].checked) "+form_name+"."+radio_name+"["+number+"].checked=false;");
return true;
}
function cifra_test(str) {
re = new RegExp("^[0-9-\.,]+$");
if (!re.test(str)) return 0;
else return 1; }
function test_select_option(value,test_select) {
var i; ind=0;
for (i=0;i<test_select.options.length;i++) {
if (test_select.options[i].value==value) {ind=1;break;}}
return ind;}
function remove_from_select(arr,test_select) {
var i,j;
for (i=0;i<arr.length;i++) {
for (j=0;j<test_select.options.length;j++) {
if (test_select.options[j].value==arr[i]) test_select.options.remove(j);}
}}

function show_check_layer(layer_name)
{
if (document.all["div_"+layer_name] && document.all["div_"+layer_name].style.display=="none")
	{
    document.all["div_"+layer_name].style.display="";
    document.all["plus_"+layer_name].innerHTML="(-)";
    }
else
	{
    if (document.all["div_"+layer_name]) document.all["div_"+layer_name].style.display="none";
    document.all["plus_"+layer_name].innerHTML="(+)";
    }
}

function getCookieVal (offset)
{
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
	endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name)
{
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen)  {
	var j = i + alen;
	if (document.cookie.substring(i, j) == arg)
	return getCookieVal (j);i = document.cookie.indexOf(" ", i) + 1;
	if (i == 0) break;
}
 return null;
}

function SetCookie (name, value)
{
    var ind_esc=0;
	var argv = SetCookie.arguments;
	var argc = SetCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path = (argc > 3) ? argv[3] : null;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;
    if(ind_esc!=0){value=escape(value);}
	document.cookie = name + "=" + value +
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
	((path == null) ? "" : ("; path=" + path)) +
	((domain == null) ? "" : ("; domain=" + domain)) +
	((secure == true) ? "; secure" : "");
}

function SetCookieRus (name, value)
{
	var argv = SetCookieRus.arguments;
	var argc = SetCookieRus.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path = (argc > 3) ? argv[3] : null;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;
	document.cookie = name + "=" + urlEncode(value) +
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
	((path == null) ? "" : ("; path=" + path)) +
	((domain == null) ? "" : ("; domain=" + domain)) +
	((secure == true) ? "; secure" : "");
}

function DeleteCookie (name)
{
	var exp = new Date();
	exp.setTime (exp.getTime() - 1000000000);  // This cookie is history
	var cval = GetCookie (name); 
 var argv = DeleteCookie.arguments;
	var argc = DeleteCookie.arguments.length;
	var path = (argc > 1) ? argv[1] : null;
	var domain = (argc > 2) ? argv[2] : null;
	var secure = (argc > 3) ? argv[3] : false;

	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString() +
    ((path == null) ? "" : ("; path=" + path)) +
	((domain == null) ? "" : ("; domain=" + domain)) +
	((secure == true) ? "; secure" : "");
}


function show_item(name)
{
 var spnname;
 spnname="pm"+name;

 if(document.getElementById(name).style.display=="block")
  {
   document.getElementById(name).style.display="none";
   document.getElementById(spnname).innerHTML='<img src="./img/arrow_down.gif" width="14" height="8" alt="Развернуть" border=0 vspace="2" hspace="2" style="margin-left:2px;">';
  }
 else
  {
   document.getElementById(name).style.display="block";
   document.getElementById(spnname).innerHTML='<img src="./img/arrow_up.gif" width="14" height="8" alt="Свернуть" border=0 vspace="2" hspace="2" style="margin-left:2px;">';
  }
}

function createml3(ind)
{
 var ml3=document.getElementById("menulevel3"); ml3.innerHTML='';

 for(var i in arr_menul3)
  {
   if(ind==i)
   {
    var str='<table border="0" cellspacing="0" cellpadding="0"><tr>';
    for(var j in arr_menul3[i])
    {
     str+=arr_menul3[i][j].html;
     if(j<(arr_menul3[i].length-1)){ str+='<td width="2" ><span style="color:#CCCCCC;">|</span></td>'; }
     str+='</tr></table>';
     ml3.innerHTML=str;
     if(ml3.offsetWidth>980)
     {
      ml3.innerHTML='';
      if(j<(arr_menul3[i].length-1)){str=str.substr(0,(str.length-85)); }
      str=str.substr(0,(str.length-arr_menul3[i][j].html.length));
      str=str.substr(0,(str.length-85));
      str+='</tr></table>';
      str+='<table border="0" cellspacing="0" cellpadding="0"><tr>';
      str+=arr_menul3[i][j].html;
      if(j<(arr_menul3[i].length-1)){ str+='<td width="2" ><span style="color:#CCCCCC;">|</span></td>'; }
     }
     else
     { str=str.substr(0,(str.length-13)); }
    }
    str+='</tr></table>';
    ml3.innerHTML=str;
    break;
   }
  }
}

function showml3(ind)
{
 lockhide=1;
 var ml3=document.getElementById("menulevel3");
 if(ind!=0){ ml3.style.borderWidth='1px';  createml3(ind); }
 else{  ml3.style.borderWidth='0px';  ml3.innerHTML='&nbsp;'; }
}

function showml4(ind,id)
{
 lockhide=1;
 lockhideml4=1;

 // определяем содержание
 var str='&nbsp;';
 if(ind!=0)
 {
  for(var i in arr_menul4)
  {
   if(ind==i)
   {
    str='<table border="0" cellspacing="0" cellpadding="0"><tr>';
    for(var j in arr_menul4[i])
    {
     str+=arr_menul4[i][j].html;
     if(j<(arr_menul4[i].length-1))
     {
      str+='<td width="2" ><span style="color:#CCCCCC;">|</span></td>';
     }
    }
    str+='</tr></table>';
    break;
   }
  }
  document.getElementById("menulevel4").innerHTML=str;

  // определяем позицию
  var bp=document.getElementById('menulevel4');

  // top
  var dp=document.getElementById('m3it'+id);
  var iT=0;
  do{ iT+=dp.offsetTop;  dp=dp.offsetParent; }
  while (dp.nodeName!='BODY');
  iT+=17;

  // left
  var temp_id='m3it'+id;
  id=new Number(id);
  if(id>0){  var dp=document.getElementById(temp_id); }
  else{  var dp=document.getElementById('ml4'); }

  var iL=0;
  do{ iL+=dp.offsetLeft;  dp=dp.offsetParent; }
  while (dp.nodeName!='BODY');

  //на случай если меню уходит за правый край видимой области документа
  var b=document.body;
  var scrL=b.scrollLeft; // в пикселах прокрутка слева
  var scrT=b.scrollTop;  // в пикселах прокрутка сверху
  var clW=b.clientWidth; // в пикселах ширина видимой области документа без полос прокрутки
  var clH=b.clientHeight; // в пикселах высота видимой области документа без полос прокрутки
  var bp_W=bp.offsetWidth; // ширина менюшки
  var bp_H=bp.offsetHeight; // высота менюшки
  if(bp_W<clW){ if((iL+bp_W)>(scrL+clW)) { iL-=(iL+bp_W)-(scrL+clW);  } }
  // ..................................................

  bp.style.top=iT;
  bp.style.left=iL;
  bp.style.visibility="visible";
 }
 else
 {
  document.getElementById("menulevel4").innerHTML=str;
  document.getElementById("menulevel4").style.visibility="hidden";
 }
}

// обьект menu описывает пункт меню
function menu(id,name,href,bot,ind,act)
{
 this.id=id;
 this.name=name;
 this.href=href;
 this.bot=bot; // id обьекта нижележащего

 var text=document.createTextNode(name);
 var teg_a=document.createElement("A");  teg_a.setAttribute("href", href); teg_a.appendChild(text);
 var teg_td=document.createElement("TD");

 if(ind==1)
 {
  teg_td.setAttribute("class", "m3item"); teg_td.setAttribute("id", "m3it"+id);
  teg_td.setAttribute("onMouseOver", "showml4("+bot+","+id+");");
  teg_td.setAttribute("onMouseOut", "lockhide=0;lockhideml4=0;");
 }
 else
 {
  teg_td.setAttribute("class", "m4item");
  teg_td.setAttribute("onMouseOver", "lockhide=1;lockhideml4=1;");
  teg_td.setAttribute("onMouseOut", "lockhide=0;lockhideml4=0;");
 }

 teg_td.setAttribute("nowrap", "");
 if(act!=1){ teg_td.appendChild(teg_a); }else{ teg_td.appendChild(text); }

 this.teg_td=teg_td;


 if(ind==1)
 {
  if(act!=1)
  {
   this.html='<td class="m3item" id="m3it'+id+'" onMouseOver="showml4('+bot+','+id+');" onMouseOut="lockhide=0;lockhideml4=0;" nowrap ><a href="'+href+'" >'+name+'</a></td>';
  }
  else
  {
   this.html='<td class="m3item" id="m3it'+id+'" onMouseOver="showml4('+bot+','+id+');" onMouseOut="lockhide=0;lockhideml4=0;" nowrap >'+name+'</td>';
  }
 }
 else
 {
  if(act!=1)
  {
   this.html='<td class="m4item" onMouseOver="lockhide=1;lockhideml4=1;" onMouseOut="lockhide=0;lockhideml4=0;" nowrap ><a href="'+href+'" >'+name+'</a></td>';
  }
  else
  {
   this.html='<td class="m4item" onMouseOver="lockhide=1;lockhideml4=1;" onMouseOut="lockhide=0;lockhideml4=0;" nowrap >'+name+'</td>';
  }
 }

}

function hideml3(ind)
{
 if(lockhide!=1){ showml3(ind); } setTimeout('hideml3('+ind+')',2000);
}

// отображает или скрывает содержимое меню 4 уровня
function hideml4(ind,id)
{
 if(ind!=0) // вывести 4 уровень по умолчанию
 {
  if(lockhideml4!=1)
  {
   showml4(ind,id);
  }
 }
 else // скрыть 4 уровень
 {
  if(lockhideml4!=1)
  {
   document.getElementById("menulevel4").innerHTML="&nbsp;";
   document.getElementById("menulevel4").style.visibility="hidden";
  }
 }
 setTimeout('hideml4('+ind+','+id+')',2000);
}

function wert()
{
 LW=document.getElementById('menulevel4').offsetWidth;
 LH=document.getElementById('menulevel4').offsetHeight;
 LT=document.getElementById('menulevel4').offsetTop;
 LL=document.getElementById('menulevel4').offsetLeft;
 alert('LW='+LW+' LH='+LH+' LT='+LT+' LL='+LL);
}

function show_althelp(altname) {
scrL=document.body.scrollLeft;
scrT=document.body.scrollTop;
clW=document.body.clientWidth;
clH=document.body.clientHeight;
LW=document.getElementById(altname).offsetWidth;
LH=document.getElementById(altname).offsetHeight;
	if (navigator.appName == "Microsoft Internet Explorer"){
	cX = event.clientX;
	cY = event.clientY;
	}
	else {
	cX = e.pageX;
	cY = e.pageY;
	}

   if((LW+cX+10)>clW || (LH+cY+10)>clH)
   {
    if((LW+cX+10)>clW)
    {
     k_x=LW+cX+10-clW;
     document.getElementById(altname).style.left=scrL+cX+10-k_x;
    }
    else
    {
     document.getElementById(altname).style.left=scrL+cX+10;
    }

    if((LH+cY+10)>clH)
    {
     k_y=LH+cY+10-clH;
     document.getElementById(altname).style.top=scrT+cY-LH-10;
    }
    else
    {
     document.getElementById(altname).style.top=scrT+cY+10;
    }
   }
   else
   {
    document.getElementById(altname).style.left=scrL+cX+10;
    document.getElementById(altname).style.top=scrT+cY+10;
   }
}

function coordin(event)
{
 scrL=document.body.scrollLeft;
 scrT=document.body.scrollTop;
 //cX = event.clientX;
 //cY = event.clientY;
 cX = event.pageX;
 cY = event.pageY;
 // alert(event.type)
 alert('scrL='+scrL+' scrT='+scrT+' cX='+cX+' cY='+cY);
 // window.status='scrL='+scrL+' scrT='+scrT+' cX='+cX+' cY='+cY;
}

function hideris()
{
 var bp=document.getElementById('bignewsphoto');
 if(bp){ bp.innerHTML=''; }
}

function showris(str,width,height)
{
 var bp=document.getElementById('bignewsphoto');
 var dp=document.getElementById('bignewsphoto');
 var iL=0; var iT=0; var temp='';
 do
 {
  iL+=dp.offsetLeft; iT+=dp.offsetTop;
  dp=dp.offsetParent;
 }
 while (dp.nodeName!='BODY');
 if(bp)
 {
  temp='<div id="bigphoto" style="position:absolute; width:'+width+'px; height:'+height+'px; z-index:1; left: '+iL+'px; top: '+iT+'px;"><a href="javascript:hideris();" title="Убрать картинку"><img src="'+str+'" width="'+width+'" height="'+height+'" alt="Убрать картинку" border=0></a></div>';
  width=new Number(width); iL+=width-12;
  temp+='<div style="position:absolute;z-index:2; left:'+iL+'px;top:'+iT+'px;border-color:#000000;border-style:solid;border-width:1px;background-color:#FFFFFF;padding-left:4px;padding-right:2px;"><a href="javascript:hideris();" title="закрыть" style="color:red; font-size:8pt; text-decoration:none;">Х</a></div>';
  bp.innerHTML=temp;
 }
}

function showallris(str,width,height)
{
 var shlr=document.getElementById('shalris');
 var photogt=document.getElementById('phgt');
 var scphotogt=document.getElementById('scphgt');
 var dp=document.getElementById('bignewsphoto');
 var iL=0; var iT=0; var temp='';
 do
 {
  iL+=dp.offsetLeft; iT+=dp.offsetTop;
  dp=dp.offsetParent;
 }
 while (dp.nodeName!='BODY');
 for(var i=0;i<shlr.childNodes.length;i++)
 {
  if(shlr.childNodes[i].nodeName=="#text")
  {
   var bp=document.getElementById('bignewsphoto');
   if(shlr.childNodes[i].nodeValue=="Показать все илюстрации")
   {
    if(bp)
    {
     temp='<div id="bigphoto" style="position:absolute; width:'+width+'px; height:'+height+'px; z-index:1; left: '+iL+'px; top: '+iT+'px;"><a href="javascript:hideris();" title="Убрать картинку"><img src="'+str+'" width="'+width+'" height="'+height+'" alt="Убрать картинку" border=0></a></div>';
     width=new Number(width); iL+=width-12;
     temp+='<div style="position:absolute;z-index:2; left:'+iL+'px;top:'+iT+'px;border-color:#000000;border-style:solid;border-width:1px;background-color:#FFFFFF;padding-left:4px;padding-right:2px;"><a href="javascript:hideris();" title="закрыть" style="color:red; font-size:8pt; text-decoration:none;">Х</a></div>';
     bp.innerHTML=temp;
     shlr.childNodes[i].nodeValue="Скрыть все илюстрации";
    }
    if(photogt && scphotogt)
    {
     photogt.innerHTML=scphotogt.innerHTML;
    }
   }
   else
   {
    if(bp)
    {
     bp.innerHTML='';
     shlr.childNodes[i].nodeValue="Показать все илюстрации";
    }
    if(photogt)
    {
     photogt.innerHTML='';
    }
   }
  }
 }
}

function urlEncode(str) {
      // Простая проверка
      if (!str || typeof(str) == "undefined") return;
      // Создаем хеш для хранения символов, где ключ - сам символ,
      // а значение - его шестнадцатеричеый эквивалент
      var utf8Array = {};
      // Сначала добавляем стандартные 255 символов
      var i = j = j2 = 0;
      for (i = 0; i <= 255; i++) {
            j = parseInt(i/16); var j2 = parseInt(i%16);
            utf8Array[String.fromCharCode(i)] = ('%' + j.toString(16) + j2.toString(16)).toUpperCase();
      }
      // И отдельно проработаем кириллицу
      var rusAdditional = {
            '_' : '%5F', 'А' : '%C0', 'Б' : '%C1', 'В' : '%C2', 'Г' : '%C3', 'Д' : '%C4', 'Е' : '%C5',
            'Ж' : '%C6', 'З' : '%C7', 'И' : '%C8', 'Й' : '%C9', 'К' : '%CA', 'Л' : '%CB', 'М' : '%CC',
            'Н' : '%CD', 'О' : '%CE', 'П' : '%CF', 'Р' : '%D0', 'С' : '%D1', 'Т' : '%D2', 'У' : '%D3',
            'Ф' : '%D4', 'Х' : '%D5', 'Ц' : '%D6', 'Ч' : '%D7', 'Ш' : '%D8', 'Щ' : '%D9', 'Ъ' : '%DA',
            'Ы' : '%DB', 'Ь' : '%DC', 'Э' : '%DD', 'Ю' : '%DE', 'Я' : '%DF', 'а' : '%E0', 'б' : '%E1',
            'в' : '%E2', 'г' : '%E3', 'д' : '%E4', 'е' : '%E5', 'ж' : '%E6', 'з' : '%E7', 'и' : '%E8',
            'й' : '%E9', 'к' : '%EA', 'л' : '%EB', 'м' : '%EC', 'н' : '%ED', 'о' : '%EE', 'п' : '%EF',
            'р' : '%F0', 'с' : '%F1', 'т' : '%F2', 'у' : '%F3', 'ф' : '%F4', 'х' : '%F5', 'ц' : '%F6',
            'ч' : '%F7', 'ш' : '%F8', 'щ' : '%F9', 'ъ' : '%FA', 'ы' : '%FB', 'ь' : '%FC', 'э' : '%FD',
            'ю' : '%FE', 'я' : '%FF', 'ё' : '%B8', 'Ё' : '%A8'
      }
      for (i in rusAdditional) utf8Array[i] = rusAdditional[i];
      // Посимвольно заменяем символы на их шестнадцатиречные эквиваленты
      var res = "";
      for(i = 0; i < str.length; i++) {
            var simbol = str.substr(i,1);
            res += typeof utf8Array[simbol] != "undefined" ? utf8Array[simbol] : simbol;
      }
      // Пробелы заменяем на плюсы
      res = res.replace(/\s/g, "+");
      return res;
}

function goout()
{
 SetCookie('go_out',1,null,'/');
 var str = escape(window.location);
 var temp = str.split('%23');
 window.location = unescape(temp[0]); 
}

// создает слой с картинкой товара и отображает его или скрывает
function showphoto(id,ind,event,src,w,h)
{
 var d=document; var layer="bvmphoto"+id; var lay; var cont_id,cont;
 // создаем слой подсказки если нету такой
 lay=d.getElementById(layer);
 if(lay==undefined)
 {
  lay=document.createElement("DIV");
  lay.setAttribute("id", layer);
  lay.style.position="absolute";
  lay.style.top="540px"; lay.style.left="161px";
  lay.style.backgroundColor="#FFFFFF";
  lay.style.borderWidth="1px";
  lay.style.borderStyle="solid";
  lay.style.borderColor="#000000";
  lay.style.padding="0 0 0 0";
  lay.style.visibility="visible";
  lay.style.fontFamily="Tahoma";
  lay.style.fontSize="11px";
  lay.style.zIndex=10;
  d.body.appendChild(lay);
  lay=d.getElementById(layer);
  lay.innerHTML="<img src='/img/" + src + "' width='" + w + "' height='" + h + "'>";
 }

 scrL=d.body.scrollLeft; scrT=d.body.scrollTop;
 clW=d.body.clientWidth; clH=d.body.clientHeight;
 LW=lay.offsetWidth; LH=lay.offsetHeight;
 cX = event.clientX;	cY = event.clientY;

 // скрываем слой подсказки
 if(ind==0) { lay.style.visibility='hidden'; }

 // отображаем перемещаем слой подсказки вслед за мышой
 if(ind==2 || ind==1)
 {
  //cont_id="d_dot"+id; cont=d.getElementById(cont_id).innerHTML;
  if((LW+cX+10)>clW || (LH+cY+10)>clH)
  {
   if((LW+cX+10)>clW){ k_x=LW+cX+10-clW; lay.style.left=scrL+cX+10-k_x; }else{ lay.style.left=scrL+cX+10; }
   if((LH+cY+10)>clH){ k_y=LH+cY+10-clH; lay.style.top=scrT+cY-LH-10; }else{ lay.style.top=scrT+cY+10; }
  }
  else{ lay.style.left=scrL+cX+10; lay.style.top=scrT+cY+10; }
  lay.style.visibility='visible';
 }
}


// создает слой с подсказкой и отображает его или скрывает
function showhelp(id,ind,event)
{
 var d=document; var layer="helper"; var lay; var cont_id,cont;
 // создаем слой подсказки если нету
 lay=d.getElementById(layer);
 if(lay==undefined)
 {
  lay=document.createElement("DIV");
  var text_item=document.createTextNode("звоните");
  lay.setAttribute("id", layer);
  
   lay.style.position="absolute";
   lay.style.top="540px"; lay.style.left="161px";
   lay.style.backgroundColor="#FFFFCC";
   lay.style.borderWidth="1px";
   lay.style.borderStyle="solid";
   lay.style.borderColor="#000000";
   lay.style.padding="5 5 5 5";
   lay.style.visibility="visible";
   lay.style.fontFamily="Tahoma";
   lay.style.fontSize="11px";
   lay.style.zIndex=5;
  
  lay.appendChild(text_item); d.body.appendChild(lay); lay=d.getElementById(layer);

 }

 scrL=d.body.scrollLeft; scrT=d.body.scrollTop;
 clW=d.body.clientWidth; clH=d.body.clientHeight;
 LW=lay.offsetWidth; LH=lay.offsetHeight;
 cX = event.clientX;	cY = event.clientY;

 // скрываем слой подсказки
 if(ind==0) { lay.style.visibility='hidden'; }

 // отображаем перемещаем слой подсказки вслед за мышой
 if(ind==2 || ind==1)
 {
  cont_id="d_dot"+id; cont=d.getElementById(cont_id).innerHTML; lay.innerHTML=cont;
  if((LW+cX+10)>clW || (LH+cY+10)>clH)
  {
   if((LW+cX+10)>clW){ k_x=LW+cX+10-clW; lay.style.left=scrL+cX+10-k_x; }else{ lay.style.left=scrL+cX+10; }
   if((LH+cY+10)>clH){ k_y=LH+cY+10-clH; lay.style.top=scrT+cY-LH-10; }else{ lay.style.top=scrT+cY+10; }
  }
  else{ lay.style.left=scrL+cX+10; lay.style.top=scrT+cY+10; }
  lay.style.visibility='visible';
 }
}

// редактирет значение куки отвечающей за хранение списка товаров подлежащих сравнению
// кука bchb хранит список товаров для сравнения в виде id~id~id~id~id
function set_bchb(id)
{
 var d=document; var chb=d.getElementById(id); var ckv=GetCookie('bchb');
 var temp=id.split("_"); var nid=temp[1];

 if(!ckv)
 { if(chb.checked==true){ SetCookie('bchb',nid,null,'/'); } }
 else
 {
  if(chb.checked==true)
  { temp=ckv.split("~");    if(temp.length>0){ckv+="~"+nid;}else{ckv=nid;}  }
  else
  {
   temp=ckv.split("~"); var arr=new Array();
   for(var j in temp){ if(temp[j]!=nid){ arr[arr.length]=temp[j];}  }
   ckv="";
   for(j in arr){ if(j==0){ ckv+=arr[j]; }else{ ckv+="~"+arr[j]; }  }
  }
  SetCookie('bchb',ckv,null,'/');
 }
}

// добавлем id товара к куке,отвечающей за хранение списка товаров подлежащих сравнению
function set_bvmbchb(id)
{
 var d=document; var chb=d.getElementById(id); var ckv=GetCookie('bchb');
 var temp=id.split("_"); var nid=temp[1];
 if(ckv)
 {
  temp=ckv.split("~"); var arr=new Array();
  for(var j in temp){  if(temp[j]==nid){ return true;  }  }
  if(temp.length>0){ckv+="~"+nid;}else{ckv=nid;}
  chb.checked=true;
 }
 if(!ckv){ ckv=nid; chb.checked=true; }
 SetCookie('bchb',ckv,null,'/');
}

// проверяет наличие куки bchb и количество элементов в ней должно быть не менее 2
function check_bchb()
{
 var ckv=GetCookie('bchb');
 if(!ckv){alert('Необходимо выбрать хотя бы две позиции!'); return false;}
 if(ckv){ var temp=ckv.split("~");if(temp.length<2){ alert('Необходимо выбрать хотя бы две позиции!'); return false; } }
 return true;
}

function showmap(str,width,height,map)
{
 var bp=document.getElementById(map);
 var dp=document.getElementById(map);
 var iL=0; var iT=0; var temp='';
 do
 {
  iL+=dp.offsetLeft; iT+=dp.offsetTop;
  dp=dp.offsetParent;
 }
 while (dp.nodeName!='BODY');
 if(bp)
 {
  temp='<div id="bigphoto" style="position:absolute; width:'+width+'px; height:'+height+'px; z-index:1; left: '+iL+'px; top: '+iT+'px;"><a href="javascript:hidemap(\''+map+'\');" title="Убрать картинку"><img src="'+str+'" width="'+width+'" height="'+height+'" alt="Убрать картинку" border=0></a></div>';
  width=new Number(width); iL+=width-12;
  temp+='<div style="position:absolute;z-index:2; left:'+iL+'px;top:'+iT+'px;border-color:#000000;border-style:solid;border-width:1px;background-color:#FFFFFF;padding-left:4px;padding-right:2px;"><a href="javascript:hidemap(\''+map+'\');" title="закрыть" style="color:red; font-size:8pt; text-decoration:none;">Х</a></div>';
  bp.innerHTML=temp;
 }
}

function hidemap(map){ var bp=document.getElementById(map); if(bp){ bp.innerHTML=''; } }

// отображает большой рисунок в слое посередине видимой области страницы
function showris2(imW,imH,src,id)
{
 var bsL=document.body.scrollLeft;
 var bsT=document.body.scrollTop;
 var bcW=document.body.clientWidth;
 var bcH=document.body.clientHeight;
 var iL=bsL; var iT=bsT; var temp;
 if(imW<bcW){  iL+=((bcW-imW)/2); }
 if(imH<bcH){ iT+=((bcH-imH)/2); }
 temp='<div id="'+id+'" style="position:absolute; width:'+imW+'px; height:'+imH+'px; z-index:1; left: '+iL+'px; top: '+iT+'px; border-width:1px;border-style:solid;border-color:#000000;"><a href="javascript:hideris2(\''+id+'\');" title="Убрать картинку"><img src="'+src+'" width="'+imW+'" height="'+imH+'" alt="Убрать картинку" border=0></a></div>';
 document.getElementById('fordiv').innerHTML=temp;
}

function hideris2(str){ document.getElementById('fordiv').innerHTML=""; }


function ajaxload(url){
 if(!req){alert("Браузер не поддерживает передачу данных при помощи JavaScript!");}
 if(!(req.readyState == 0 || req.readyState == 4))
 {alert("Невозможно соединиться с сервером, повторите попытку чуть позже!");}
 else{
  try{
   if(req.readyState == 4){req.abort();}
   req.onreadystatechange = function(){
   if(req.readyState == 4){
    if(req.status == 200){eval(req.responseText);         
    }else{alert("Не удалось получить данные:\n" + req.statusText);}
   }
  }
   req.open("GET", url, true);
   req.send(null);
  }
  catch(e){alert("Невозможно соединиться с сервером:\n" + e.toString());}
 }
}

function getmore(id,url)
{ 
 var mytable = document.getElementById("bvmlist");
 if (document.getElementById('bvmmore_'+id)){
 // удаляем строку   
  for (i = 0; i < mytable.rows.length; i++)
  {
   if(mytable.rows[i].id == ('bvmmore_'+id))
   { 
    mytable.deleteRow(i); 
    document.getElementById('getmore_'+id).innerHTML="Подробнее..";
    break;
   }
  } 
 }
 else
 {
  // вставляем строку и содержимое
  var mytable = document.getElementById('bvmlist');
  for(i = 0; i < mytable.rows.length; i++)
  {
   if(mytable.rows[i].id == ('bvmrow_'+id))
   { 
    var newrow = mytable.insertRow((i+1));
    newrow.setAttribute('id','bvmmore_'+id);
    newrow.style.backgroundColor = "ffffff";
    var newcell = newrow.insertCell(0);
    newcell.setAttribute('colSpan','6');
    newcell.style.borderWidth = '1px';
    newcell.style.borderStyle = 'solid';
    newcell.style.borderColor = '000000';
    newcell.innerHTML = "Загрузка...<img src=\"/images/ajax-loader.gif\" align=\"absmiddle\">";        
    break;
   }
  }        
  
  //var url='cat.php?gmore='+id;
  if(!req) alert("Браузер не поддерживает передачу данных при помощи JavaScript!");
  if(!(req.readyState == 0 || req.readyState == 4))
  {
   alert("Невозможно соединиться с сервером, повторите попытку чуть позже!");
  }
  else
  {
   try
   {
    if(req.readyState == 4) req.abort();
    req.onreadystatechange = function(){
     if(req.readyState == 4)
     {
      if(req.status == 200)
      {
       newcell.innerHTML = req.responseText;
       document.getElementById('getmore_'+id).innerHTML = "Свернуть..";
      }else alert("Не удалось получить данные:\n" + req.statusText);
     }
    }
    req.open("GET", url, true);
    req.send(null);
   }
   catch(e){alert("Невозможно соединиться с сервером:\n" + e.toString());}
  }
 } 
}

function get_iLiT(id)
{
 var bp=document.getElementById(id);
 var dp=document.getElementById(id);
 var iL=0; var iT=0; 
 if(bp){
  do{iL+=dp.offsetLeft; iT+=dp.offsetTop;dp=dp.offsetParent;}
  while (dp.nodeName!='BODY');
 }
 var arr=new Array(iL,iT);
 return arr;
}

function setalltnpos(){
 var arr=get_iLiT("treecat"); var alltn=document.getElementById("treecatalltn"); var iL=arr[0]; var iT=arr[1];
 if(alltn){
  alltn.style.visibility="visible"; iL+=500; iT+=10;
  alltn.style.top=iT+"px"; alltn.style.left=iL+"px";
 } 
}

function go_rs(){
  var i; var msg,newmsg;
  if(!simb){simb=1;}   
  if(!arr_rs_cnt){arr_rs_cnt=0;}
  
  
  var rs=document.getElementById('runstr');
  if(!rs){ return false; }
  if(arr_rs_ind==1){rs.innerHTML="";arr_rs_ind=0;}
  
  var rstdW=rs.offsetParent.offsetWidth
  msg=rs.innerHTML
  
  if(arr_rs[arr_rs_cnt].length>=simb){
   newmsg="НОВОСТИ: "+arr_rs[arr_rs_cnt].substr(0,simb); simb++;      
  }else{
   msg+="&nbsp;"; newmsg=msg; 
  }
  
  if(rstdW>(rs.offsetWidth+30)){
   rs.innerHTML=newmsg; rs.href=arr_rs_href[arr_rs_cnt]; 
   gorsTimeout=setTimeout("go_rs()",40);
  }else{ 
   clearTimeout(gorsTimeout); 
   if(arr_rs_cnt<(arr_rs.length-1)){arr_rs_cnt++;}else{arr_rs_cnt=0;} 
   arr_rs_ind=1; simb=1;
   gorsTimeout=setTimeout("go_rs()",3000);   
  } 
}

/* аналог php функции htmlspecialchars работает в связке с jsStringReplace */
function jsCodeHtmlChars(r){
 r=jsStringReplace(r,"&","&amp;");
 r=jsStringReplace(r,"<","&lt;");
 r=jsStringReplace(r,">","&gt;");
 
 r=jsStringReplace(r,"&#039","'");
 r=jsStringReplace(r,"'","&#039");
 return (r);
}

function jsStringReplace(text,searchString, replaceString){
 lengthSearchString=searchString.length;
 lengthReplaceString=replaceString.length;
 rezultText=text;
 start_poz=0;//начальная позиция с которой начинаем поиск заданной подстроки
 while ((poz=rezultText.indexOf(searchString,start_poz))!=-1)
 {
 firstPart=rezultText.substring(0,poz);
 lengthRezultText=rezultText.length;
 endPart=rezultText.substring(poz+lengthSearchString, lengthRezultText );
 rezultText=firstPart+replaceString+endPart;
 start_poz=poz+lengthReplaceString;
 }
 return (rezultText);
}