function hP(id,pageId,all)
{
	id = id.toString();
	pageId = pageId.toString();
	if(all)
	{
		var plus=document.getElementById("plusb");
		var minus=document.getElementById("minusb");
	}
	else
	{
		var plus=document.getElementById("pl"+id);
		var minus=document.getElementById("m"+id);
	}
	if(!minus)
		return;
	var hid;//0 при переключении из развернутого состояния в свернутое; 1 при переключении из свернутого состояния в развернутое
	if(minus.style.visibility=="visible")
		hid=false;
	else
		hid=true;
	if(all)
		cookieId=id+"all";
	else
		cookieId=id;
	if(hid)
	{
		setTypeCookie(cookieId,pageId);
	}
	else
	{
		dropTypeCookie(cookieId,pageId);
	}
	if(hid)
	{
		minus.style.visibility="visible";
		minus.style.display="inline";
		plus.style.visibility="hidden";
		plus.style.display="none";
  	}
	else
	{
		minus.style.visibility="hidden";
		minus.style.display="none";
  		plus.style.visibility="visible";
		plus.style.display="inline";
	}
	var table=document.getElementById("catalogTable");
	var rows=table.getElementsByTagName("tr");
	for(var i=0;i<rows.length;i++)
	{
		rowId=rows[i].id;
		if(all)
			expr="t[0-9]+p[0-9]+";
		else
			expr="t"+id+"p[0-9]+";
		reg=new RegExp(expr,"i");
		res=reg.exec(rowId);
		if(res!=null)
		{
			if(hid)
			{
				rows[i].style.visibility="visible";
				rows[i].style.display="";
				rows[i].className="s";
			}
			else
			{
				//rows[i].style.visibility="hidden";
				rows[i].style.display="none";
				rows[i].className="s";
			}
		}
	}
	if(all)
	{
		var imgs=table.getElementsByTagName("img");
		for(var i=0;i<imgs.length;i++)
		{
			imgId=imgs[i].id;
			exprMinus="m[0-9]+";
			exprPlus="pl[0-9]+";
			regMinus=new RegExp(exprMinus,"i");
			regPlus=new RegExp(exprPlus,"i");
      		resMinus=regMinus.exec(imgId); 
			resPlus=regPlus.exec(imgId); 
			if(resMinus!=null)
			{	
				if(hid)
				{
					imgs[i].style.visibility="visible";
					imgs[i].style.display="inline";
				}
				else
				{
					imgs[i].style.visibility="hidden";
					imgs[i].style.display="none";
				}
			}
			if(resPlus != null)
			{
				if(hid)
				{
					imgs[i].style.visibility="hidden";
					imgs[i].style.display="none";
				}
				else
				{
					imgs[i].style.visibility="visible";
					imgs[i].style.display="inline";
				}
			}
		}
	}
	return;
}
function submitTieProduct(typeId)
{
	document.getElementById("tiedType").value=typeId;
	document.getElementById("korzinaProductsForm").submit();
}
function selectAllProducts(formName,mainCheckboxName)
{
	var productsForm = document.getElementById(formName);
	var inputs = productsForm.getElementsByTagName("input");
	var mainCheckbox = document.getElementById(mainCheckboxName);
	for(var i=0;i<inputs.length;i++)
	{
		if(inputs[i].type =="checkbox")
		{
			if(mainCheckbox.checked)
				inputs[i].checked=true;
			else
				inputs[i].checked=false;
		}
	}
}
function requestdata(file,params)
{
	var url=file+params+'&r='+Math.random();
	req=null;
	if(window.XMLHttpRequest)
	{
		try{req=new XMLHttpRequest();}
		catch(e){}
	}
  	else if(window.ActiveXObject)
	{
		try{req=new ActiveXObject('Msxml2.XMLHTTP');}
		catch(e)
		{
			try{req=new ActiveXObject('Microsoft.XMLHTTP');}
			catch(e){}
		}
	}
	if(req)
	{
		req.onreadystatechange=processReqChange;
		req.open("GET",url,true);
		req.send(null);
		reqTimeout=setTimeout("req.abort();",5000);
	}
	else 
		alert("Браузер не поддерживает AJAX");     
}
function processReqChange()
{
	if (req.readyState==4)
		clearTimeout(reqTimeout);
}
function K(id)
{
	var url='../korzina/?id='+id;
	openKorzina(url);
}
function openKorzina(url)
{
	var url=url+'&r='+Math.random();
	w=window.open(url,"korzina_window","top=20,left=20,width=720,height=400,scrollbars=yes");
	w.focus();
	document.getElementById('TovarDobavlen').style.visibility = 'visible';
	document.getElementById('TovarDobavlen').style.display = 'block';
	window.setTimeout("hideTovarDobavlen()","4000");
   
}
function hideTovarDobavlen()
{
	document.getElementById('TovarDobavlen').style.visibility = 'hidden';
	document.getElementById('TovarDobavlen').style.display = 'none';
}	
function setTypeCookie(typeId,pageId)
{
	var date=new Date();
	date.setTime(date.getTime()+(60*60*1000));
	var expires="; expires="+date.toGMTString();
	if(typeId.match("all"))
		var typeExpr="p"+typeId;
	else
		var typeExpr="p"+pageId+"t"+typeId;
	var currentCookie=document.cookie;
	var CurrentCookieArray=currentCookie.split(';');
	var regCookie=new RegExp("otkrType(.*)","g");
	var otkrTypeCookie;
	var i=0;
	while(i<CurrentCookieArray.length && (!otkrTypeCookie))
	{
		otkrTypeCookie=CurrentCookieArray[i].match(regCookie);
		i++;
	}
	if(!otkrTypeCookie)
	{
		document.cookie="otkrType="+typeExpr+expires;
	}
	else
	{
		otkrTypeCookie=otkrTypeCookie.toString();
		var typeZapis=otkrTypeCookie.match(typeExpr);
		if(!typeZapis)
		{
			var oldCookieValue=otkrTypeCookie.split('=')[1];
			var newCookieValue=typeExpr+oldCookieValue;
			document.cookie="otkrType="+newCookieValue+expires;
		}
	}
	if(typeId.match("all"))
	{	  
		/*Перебираем на странице все <img> c id вида plчисло, полученные числа будут id типов, имеющихся на странице*/
		var exprFinds="pl([0-9]+)";
		var regFinds=new RegExp(exprFinds,"i");
		var table=document.getElementById("catalogTable");
		var imgs=table.getElementsByTagName("img");
		for(var i=0;i<imgs.length;i++)
		{
			imgId=imgs[i].id;
			if(allType=imgId.match(regFinds))
				setTypeCookie(allType[1],pageId);
		}
	}
}
function dropTypeCookie(typeId,pageId)
{
	var date=new Date();
	date.setTime(date.getTime()+(60*60*1000));
	var expires="; expires="+date.toGMTString();
	if(typeId.match("all"))
		var typeExpr="p"+typeId;
	else
		var typeExpr="p"+pageId+"t"+typeId;
	var currentCookie=document.cookie;
	var CurrentCookieArray=currentCookie.split(';');
	var regCookie=new RegExp("otkrType(.*)","g");
	var otkrTypeCookie;
	var i=0;
	while(i<CurrentCookieArray.length && (!otkrTypeCookie))
	{
		otkrTypeCookie=CurrentCookieArray[i].match(regCookie);
		i++;
	}
	if(otkrTypeCookie)
	{
		otkrTypeCookie=otkrTypeCookie.toString();
		var typeZapis=otkrTypeCookie.match(typeExpr);
		if(typeZapis)
		{
			var oldCookieValue=otkrTypeCookie.split('=')[1];
			var newCookieValue=oldCookieValue.replace(typeExpr,'');
			document.cookie="otkrType="+newCookieValue+expires;
		}	  
	}
	if(typeId.match("all"))
	{
		/*Перебираем на странице все <img> c id вида mчисло,полученные числа будут id типов, имеющихся на странице*/
		var exprFinds="m([0-9]+)";
		var regFinds=new RegExp(exprFinds,"i");
		var table=document.getElementById("catalogTable");
		var imgs=table.getElementsByTagName("img");
		for(var i=0;i<imgs.length;i++)
		{
			imgId=imgs[i].id;
			if(allType=imgId.match(regFinds))
				dropTypeCookie(allType[1],pageId);
		}
	}
}
function openTypes(pageId)
{
	var currentCookie=document.cookie;
	var CurrentCookieArray=currentCookie.split(';');
	var regCookie=new RegExp("otkrType(.*)","g");
	var otkrTypeCookie;
	var i=0;
	while(i<CurrentCookieArray.length && (!otkrTypeCookie))
	{
		otkrTypeCookie=CurrentCookieArray[i].match(regCookie);
		i++;
	}
	if(otkrTypeCookie)
	{
		otkrTypeCookie=otkrTypeCookie.toString();
		var regTypeZapisExpr="p"+pageId+"all";
		var regTypeZapis=new RegExp(regTypeZapisExpr,"g");
		var otkrTypesArray=otkrTypeCookie.match(regTypeZapis);
		if(otkrTypesArray)
		{
			document.getElementById("minusb").style.visibility="visible";
			document.getElementById("minusb").style.display="inline";
			document.getElementById("plusb").style.visibility="hidden";
			document.getElementById("plusb").style.display="none";
		}
		var regTypeZapisExpr="p"+pageId+"t[0-9]+";
		var regTypeZapis=new RegExp(regTypeZapisExpr,"g");
		var otkrTypesArray=otkrTypeCookie.match(regTypeZapis);
		if(otkrTypesArray)
		{
			for(var i=otkrTypesArray.length-1;i>=0;i--)
			{
				var typeIdExpr="t([0-9]+)";
				var regTypeId=new RegExp(typeIdExpr);
				var typeIdArray=otkrTypesArray[i].match(regTypeId);
				var typeId=typeIdArray[1];
				hP(typeId,pageId);
			}
		}
	}
}
function stopRKey(evt)//блокировка кнопки enter
{
	var evt=(evt)?evt:((event)?event:null);
	var node=(evt.target)?evt.target:((evt.srcElement)?evt.srcElement:null);
	if ((evt.keyCode==13) && (node.type=="text"))
	{
		document.location.reload();
		return false;
	}
}
function delCheckedProducts()
{
	document.getElementById("delall").value=1;
	document.getElementById("korzinaProductsForm").submit();
}
function skrytZagruzka()
{
	document.getElementById('zagruzka').style.display="none";
	document.getElementById('zagruzka').style.visibility="hidden";
}

function pokazZagruzka()
{
	document.getElementById('zagruzka').style.display="block";
	document.getElementById('zagruzka').style.visibility="visible";
}


function openZagruzka(url)
{
  w = window.open(url,'zagruzka_window','top=100,left=200,width=400,height=200,scrollbars=yes,toolbar=yes');
  w.focus();
}


document.onkeypress = function(objlink) 
{ return sendmsg(objlink) }; 

function sendmsg(objlink) 
{ 
  var sendform=document.forms['vydelenie']; 
  var ctrl_ent=0; 
  var ev=null; 
  var errortext=''; 
  var cont_send=''; 
  var c1='На странице\n\n'; 
  var c2='\n\nОбнаружена ошибка\n\n'; 
  var c3='\n\nСообщить об этом разработчикам?\nСообщение отправится автоматически, заполнения форм или написания писем не потребуется.' 
  
  if (window.event) 
    ev=window.event; 
  if (ev) 
  { 
    ctrl_ent=ev.keyCode==10 || (ev.keyCode == 13 && ev.ctrlKey); if (ctrl_ent) 
    { 
      if (document.getSelection) 
      { 
        errortext=document.getSelection(); 
        err_len=errortext.length; 
      } 
      else 
      { 
        tr=document.selection; 
        read=tr.createRange(); 
        errortext=read.text; 
        read.moveStart("word", -5); 
        read.moveEnd("word", 5); 
        cont_send=read.text; 
        err_len=errortext.length; 
      } 
    } 
  } 
  else 
  { 
    ctrl_ent=(objlink.keyCode==13 && objlink.ctrlKey); 
    if (ctrl_ent) 
    { 
      errortext=getSelection(); 
      err_=errortext; 
      err_len=err_.length; 
    } 
  } 
  if(errortext!='') 
  { 
    if (err_len > 100) 
    alert ('Вы выбрали слишком большой объем текста\nМаксимум - 100 символов!'); 
    else 
    { 
      ref=document.location.href; 
      if (confirm(c1+ref+c2+'>>>'+errortext+'<<<'+c3)) 
      { 
        sendform.addr.value=ref; 
        sendform.txt.value=errortext; 
        sendform.context.value=cont_send; 
        smallwindow = window.open('','wokrwindow1','resizable=no,toolbars=no,width=1,height=1'); 
        sendform.target="wokrwindow1"; 
        sendform.submit(); 
        //smallwindow.close();
      } 
    } 
  } 
}


function showSvoystvaKakXml()
{
  var table = document.getElementById("tovarTable");
  
  var xml = '';
  
  while(nomerStroki = getPoleRowNumber(table))
  {
    stroka = table.rows[nomerStroki];
    
    if(stroka.id != 'addRow')
    {
      nazvanie = stroka.cells[0].childNodes[0].value;
      znachenie = stroka.cells[1].childNodes[0].value;
      
      xmlSvoystva = '  <svoystvo>\n'+
    	            '    <nazvanie>'+nazvanie+'</nazvanie>\n'+
                    '    <znachenie>'+znachenie+'</znachenie>\n'+
                    '  </svoystvo>\n';
      xml += xmlSvoystva;
    }
    
    table.deleteRow(nomerStroki);
  }
  
  xml = '<tovar>\n'+ xml +'</tovar>';
  document.getElementById('xmlText').value = xml;
  
  var xmlRow = document.getElementById('xmlRow'); 
  xmlRow.style.visibility = 'visible';
  xmlRow.style.display = '';
}


function showSvoystvaKakPolya()
{
  var xmlRow = document.getElementById('xmlRow');
  
  xmlRow.style.visibility = 'hidden';
  xmlRow.style.display = 'none';

  var table = document.getElementById("tovarTable");
  
  var tovar = document.getElementById('xmlText').value;

  expr='[\n\r]';
  reg=new RegExp(expr,'g');
  tovar = tovar.replace(reg,'');

  exprNachalo='^(.*)<tovar>';
  regNachalo=new RegExp(exprNachalo,'i');
  tovar = tovar.replace(regNachalo,'<tovar>');
  
  exprKonez='<\/tovar>(.*)$';
  regKonez=new RegExp(exprKonez,'i');
  tovar = tovar.replace(regKonez,'</tovar>');
  
  exprSvoystva='<svoystvo>(.*?)</svoystvo>';
  regSvoystva=new RegExp(exprSvoystva,'ig');
  var svoystva = tovar.match(regSvoystva); 
  if(svoystva != undefined)
  {	  
    for(var i=0;i<svoystva.length;i++)
    {
      exprNazvanie='<nazvanie>(.*?)</nazvanie>';
      regNazvanie=new RegExp(exprNazvanie,'i');
      nazvanieArray = svoystva[i].match(regNazvanie);
      nazvanie = nazvanieArray[1];
    
      exprZnachenie='<znachenie>(.*?)</znachenie>';
      regZnachenie=new RegExp(exprZnachenie,'i');
      znachenieArray = svoystva[i].match(regZnachenie);
      znachenie = znachenieArray[1];
  
      exprQuot='\\"';
      regQuot=new RegExp(exprQuot,'ig');
      nazvanie = nazvanie.replace(regQuot,'&quot;');
    
      newrowNomer = getXmlRowNumber(table);
      newrow = table.insertRow(newrowNomer);
      newrow.className = 'poleRow';
      newrow.insertCell(-1).innerHTML = '<input type="text" style="width:135px" value="'+ nazvanie +'">'; 
      newrow.insertCell(-1).innerHTML = '<input type="text" style="width:300px" value="'+ znachenie +'">'+
                                        '<input type="button" style="width:90px;margin-left:15px;" value="Удалить" onClick="deletePoleRow(this);">'+
                                        '<input type="button" style="width:100px;margin-left:15px;" value="Добавить выше" onClick="addPoleRowVverh(this);">';
    }
  }
  
  
  newrow = table.insertRow(getXmlRowNumber(table));
  newrow.className = 'poleRow';
  newrow.id = 'addRow';
  newrow.insertCell(-1).innerHTML = '<input type="button" style="width:135px" value="Добавить свойство" onClick="addNewPoleRow();">'; 
  newrow.insertCell(-1).innerHTML = '&nbsp;';

}

function getXmlRowNumber(table)
{
  for(var j=0;j<table.rows.length;j++)
  {
    if(table.rows[j].id == 'xmlRow')
    {
      return j;
    }
  }
}

function getAddRowNumber(table)
{
  for(var j=0;j<table.rows.length;j++)
  {
    if(table.rows[j].id == 'addRow')
    {
      return j;
    }
  }
}


function getPoleRowNumber(table)
{
  for(var j=0;j<table.rows.length;j++)
  {
    if(table.rows[j].className == 'poleRow')
    {
      return j;
    }
  }
}

function addNewPoleRow()
{
  var table = document.getElementById("tovarTable");
  
  newrow = table.insertRow(getAddRowNumber(table));
  newrow.className = 'poleRow';
  newrow.insertCell(-1).innerHTML = '<input type="text" style="width:135px" value="">'; 
  newrow.insertCell(-1).innerHTML = '<input type="text" style="width:300px" value="">'+
                                    '<input type="button" style="width:90px;margin-left:15px;" value="Удалить" onClick="deletePoleRow(this);">'+
                                    '<input type="button" style="width:100px;margin-left:15px;" value="Добавить выше" onClick="addPoleRowVverh(this);">';
}	

function deletePoleRow(object)
{
  var row = object.parentNode.parentNode;
  row.parentNode.removeChild(row);
}	


function saveKakXml()
{
  var table = document.getElementById("tovarTable");
  if(getPoleRowNumber(table))
  {
    var xml = '';
    
    for(var k=0;k<table.rows.length;k++)
    {
      if(table.rows[k].className == 'poleRow')
      {
        stroka = table.rows[k];
        if(stroka.id != 'addRow')
        {
          nazvanie = stroka.cells[0].childNodes[0].value;
          znachenie = stroka.cells[1].childNodes[0].value;
      
          xmlSvoystva = '  <svoystvo>\n'+
    	                '    <nazvanie>'+nazvanie+'</nazvanie>\n'+
                        '    <znachenie>'+znachenie+'</znachenie>\n'+
                        '  </svoystvo>\n';
          xml += xmlSvoystva;
        }
      }
    }
    xml = '<tovar>\n'+ xml +'</tovar>';
    document.getElementById('xmlText').value = xml;
  }
}	


function addPoleRowVverh(object)
{
  var row = object.parentNode.parentNode;
  var table = document.getElementById("tovarTable");
  for(var k=0;k<table.rows.length;k++)
  {
    if(table.rows[k]==row)
    {
      newrow = table.insertRow(k);
      newrow.className = 'poleRow';
      newrow.insertCell(-1).innerHTML = '<input type="text" style="width:135px" value="">'; 
      newrow.insertCell(-1).innerHTML = '<input type="text" style="width:300px" value="">'+
                                        '<input type="button" style="width:90px;margin-left:15px;" value="Удалить" onClick="deletePoleRow(this);">'+
                                        '<input type="button" style="width:100px;margin-left:15px;" value="Добавить выше" onClick="addPoleRowVverh(this);">';
      return;
    }	
  }
}	

function podsvetkaNaydenogo(searchString,searchVid)
{

  var reg = new RegExp('('+searchString+')','gi');
  var replacement = '<span style="color:#FF6C00;font-weight:bold">$1</span>';
  
  if(searchVid == "name"  ||  searchVid == "all")
  {
    var contentEl = document.getElementById('resultTable');
    var texts = contentEl.getElementsByTagName('A');
    for ( var i = 0; i < texts.length; i++)
    {
      if(texts[i].className.indexOf('zelpoiska') >= 0)
      {
        var content = texts[i].innerHTML;
        var newContent = content.replace(reg,replacement);
        texts[i].innerHTML = newContent;
      }
    }
  }
  
  if(searchVid == "id1c"  ||  searchVid == "all")
  {
    var contentEl = document.getElementById('resultTable');
    var kods = contentEl.getElementsByTagName('SPAN');
    for ( var i = 0; i < kods.length; i++)
    {
      
      if(kods[i].className.indexOf('id1c') >= 0)
      {
        var content = kods[i].innerHTML;
        var newContent = content.replace(reg,replacement);
        kods[i].innerHTML = newContent;
      }
    }
  }
  
  if(searchVid == "id1c" || searchVid == "name" ||  searchVid == "all")
  {
    contentEl = document.getElementById('resultsHeaderP');
    var content = contentEl.innerHTML;
    var newContent = content.replace(reg,replacement);
    contentEl.innerHTML = newContent;
  }
}  



function showAttach(znak)
{
  var attachStyle = document.getElementById('attach').style;
  var attachRefStyle = document.getElementById('attach_ref').style;
  
  if(znak)
  {
    attachStyle.display = 'block';
    attachStyle.visibility = 'visible';
    attachRefStyle.display = 'none';
    attachRefStyle.visibility = 'hidden';
  }
  else
  {	  
    attachStyle.display = 'none';
    attachStyle.visibility = 'hidden';
    attachRefStyle.display = 'block';
    attachRefStyle.visibility = 'visible';
  }
}

function deleteAttachment(attachmentId,attachmentName,sid)
{
  if(confirm('Вы хотите удалить \"'+ attachmentName +'\"?'))
  {
    var sBody = 'attachId='+ attachmentId + '&sid=' + sid;
    var action = "http://ww9.gesc.ru/admin/delAttachment.cgi";
   
    var oXmlHttp = createXMLHttp();
    oXmlHttp.open("POST",action, true);
    oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  
    oXmlHttp.onreadystatechange = function() 
    {
      //alert(oXmlHttp.readyState+'\n'+oXmlHttp.status);
      if(oXmlHttp.readyState == 4) 
      {
        if(oXmlHttp.status == 200) 
        {
    	  var response = oXmlHttp.responseText;
   
          //alert(response);
   
          expr="<oshibka>(.*)</oshibka>";
		  reg=new RegExp(expr,"i");
		  res=reg.exec(response);
		  responseOshibka = res[1];
		  if(responseOshibka.length>0)
		    responseOshibka = 'Ошибка:<br>' + responseOshibka;
		  document.getElementById('oshibka').innerHTML = responseOshibka;
        
          expr="<id>(.*)</id>";
		  reg=new RegExp(expr,"i");
		  res=reg.exec(response);
		  if(res)
		  {
		    
		    var responseId = res[1];
                      
            var deleteInputId = 'attach' + responseId;
            var deleteInput = document.getElementById(deleteInputId);
            deleteInput.parentNode.removeChild(deleteInput);
            
            var deleteYakorId = 'yakor' + responseId;
            var deleteYakor = document.getElementById(deleteYakorId);
          
            var deleteRow = deleteYakor.parentNode.parentNode;
            deleteRow.parentNode.removeChild(deleteRow);
          
            document.getElementById('kolvo').value--;
          }
        } 
        else 
        {
          alert("Ошибка: " + oXmlHttp.statusText);
        } 
      }
    };
  
    oXmlHttp.send(sBody);
  
  }
}	


function createXMLHttp() 
{
  if(typeof XMLHttpRequest != "undefined") 
  { // для браузеров аля Mozilla

    return new XMLHttpRequest();
  } 
  else if(window.ActiveXObject) 
  { // для Internet Explorer (all versions)
    var aVersions = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0",
                     "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp",
                     "Microsoft.XMLHttp"
                    ];
    
    for (var i = 0; i < aVersions.length; i++) 
    {
      try 
      { //
        var oXmlHttp = new ActiveXObject(aVersions[i]);
        return oXmlHttp;
      } 
      catch (oError) 
      { 
      }
    }
    throw new Error("Невозможно создать объект XMLHttp.");
  }
}
