var ajax_url_catalog="/catalog/?ajax=1&module=Catalogtd";
var searchForm = null;

/* Ф-я обработчик ответов сервера на AJAX-запрос*/
function xmlACB_Catalog(xmlObj)
 {
    try
     {
       var xml_action=xmlObj.getElementsByTagName('pubaction')[0];
       if(parseInt(xml_action.getAttribute("code"),10)==0)
        {
          showError(xml_action.getAttribute("errmsg"));
          window.location.reload();
        }
       else
        {
           switch(xml_action.getAttribute("name"))
            {
               case "getlistof":
                getListOfConfirm(xmlObj);
                break;
               case "getlist":
                getAVMListConfirm(xmlObj);
                break;
               case "setsortlikein":
                reSortLikeConfirm(xmlObj);
                break;
               case "getalllists":
                changeListOfConfirm(xmlObj);
                break;
               case "getcntof":
                getCntOfConfirm(xmlObj);
                break;
               default: break;
            }
        }
     }
    catch (err)
     { 
       alert(err.message);
     }
 }
/* */
function getVCYM(selObj)
 {
   var formObj=selObj.form;
   searchForm=formObj;
   var subEl=formObj.elements['sub'];
   if(selObj.name=='page' && subEl && subEl.value>0)
    {
      var query="pubaction=getlistofmode&id=" + 0;
      query+="&formelem="+formObj.name+"&elem="+selObj.name;
      switch(selObj.selectedIndex)
       {
         case 0: query+="&submode=tyre"; break;
         case 1: query+="&submode=disk"; break;
       }
      cbFunc = 'xmlACB_Catalog';
      sendAR(query,ajax_url_catalog);
    }
   else
    {
      var val=parseInt(selObj.options[selObj.selectedIndex].value,10);
      if(val==0 || val=="")
       {
         var selObjArr = [ formObj.elements['v'], formObj.elements['c'], formObj.elements['y'], formObj.elements['m'] ];
         switch(selObj.name)
          {
            case "v": var ind=1; break;
            case "c": var ind=2; break;
            case "y": var ind=3; break;
            case "m": var ind=4; break;
          }
         for(i=ind;i<4;i++) 
          {
             while(selObjArr[i].options.length) selObjArr[i].options[0] = null;
             selObjArr[i].options[0] = new Option ('Все',(ind==1)?"":0);
             selObjArr[i].className=(selObjArr[i].options.length > 1)?"background":"";
          }
         if(!subEl || subEl.value==0) document.getElementById("avmDiv").style.display='none';
       }
      else
       {
         var val = selObj.options[selObj.selectedIndex].value;
         var re_digit = /\d+/;
         var re_string = /[a-z]+/;
         if(re_digit.test(val))        var query="pubaction=getlist&id=" + val;
         else if(re_string.test(val))  var query="pubaction=getlist&alias=" + val;
         if(subEl && subEl.value>0) 
          {
           switch(formObj.elements['page'].selectedIndex)
            {
              case 0: query+="&submode=tyre"; break;
              case 1: query+="&submode=disk"; break;
            }
          }
         else
          {
            switch(formObj.name)
             {
               case "fstyre":
               case "fsdisk":
                 query+="&submode="+formObj.name.substr(2);
                 break;
             }
          }
         query+="&formelem="+formObj.name+"&elem="+selObj.name;
         cbFunc = 'xmlACB_Catalog';
         sendAR(query,ajax_url_catalog);
       }
    }
 }
/* */
function getAVMListConfirm(xmlObj)
 {
    var xml_action=xmlObj.getElementsByTagName('pubaction')[0];
    var formObj=document.forms[xml_action.getAttribute("form")];
    var selObjArr = [ formObj.elements['v'], formObj.elements['c'], formObj.elements['y'], formObj.elements['m'] ];
    for(var i=1;i<5;i++) 
     {
        var vObj=xmlObj.getElementsByTagName(('list'+i))[0];
        rebildSelect(selObjArr[i-1],vObj);
     }
    rebildAVM(xmlObj);
 }
/* */
function rebildSelect(selObj,vObj,formObj)
 {
    if(vObj)
     {
        while(selObj.options.length) selObj.options[0] = null;
        if(selObj.name=="v")  selObj.options[0] = new Option ('Все',"");
        else                  selObj.options[0] = new Option ('Все',0);
        if(vObj.childNodes.length>0)
         {
            for(var i=0,l=vObj.childNodes.length;i<l;i++)
             {
                var childObj=vObj.childNodes[i];
                if(childObj.nodeName!='item') continue;
                var sel=(parseInt(childObj.getAttribute("selected"),10)>0)?true:false;
                if(selObj.name=="v")
                 {
                   selObj.options[selObj.options.length]= new Option(childObj.getAttribute("name"),childObj.getAttribute("alias"),sel,sel);
                 }
                else 
                 {
                   selObj.options[selObj.options.length]= new Option(childObj.getAttribute("name"),parseInt(childObj.getAttribute("id"),10),sel,sel);
                 }
             }
         }
        selObj.options[0].selected=true;
        selObj.className=(selObj.options.length > 1)?"background":"";
     }
 }
/* */
function rebildAVM(xmlObj)
 {
   var maindivObj=document.getElementById("avmDiv");
   if(maindivObj)
    {
       var objArr=['disk','tyre'];
       var cnt=0;
       for(var i=0;i<2;i++)
        {
          var divObj=document.getElementById("avm"+objArr[i]+"Div");
          if(divObj)
           {
              divObj.innerHTML="";
              var vObj=xmlObj.getElementsByTagName((objArr[i]+'avm'))[0];
              if(vObj && vObj.childNodes.length>0)
               {
                  for(var j=0,l=vObj.childNodes.length;j<l;j++)
                   {
                      var childObj=vObj.childNodes[j];
                      if(childObj.nodeName!='item') continue;
                      cnt++;
                      var def=(parseInt(childObj.getAttribute("def"),10)>0)?true:false;
                      divObj.innerHTML+='<div><a href="'+childObj.getAttribute("href")+'">'+childObj.getAttribute("name")+'</a></div>'
                   }
               }
           }
        }
       //if(cnt) maindivObj.style.display='block';
   }
 }

/* */
function goSearch(form_name,from)
 {
    formObj=document.forms[form_name];
    formObj.from.value=(from==null)?0:from;
    for(var i=0,il=formObj.elements.length;i<il;i++)
     {
       var elObj = formObj.elements[i];
       if(elObj.tagName=='SELECT')
        {
           switch(elObj.name)
            {
              case "page":
                elObj.disabled=true;
                break;
              default:
                if(getSelectValue(elObj)==0) elObj.disabled=true;
                break;
            }
        }
       else if(elObj.tagName=='INPUT' && elObj.type=='hidden' && elObj.value==0)
        {
           elObj.disabled=true;
        }
     }
    formObj.submit();
 }
function goSearchTop(btnObj)
 {
   var go_s = false;
   var formObj=btnObj.form;
   var disArr = ['page','from'];
   for(var j=0,jl=formObj.elements.length;j<jl;j++)
    {
      var elObj=formObj.elements[j];
      if(elObj.tagName=='SELECT' && elObj.name!='page')
       {
         if(elObj.name=="v")
          {
             var val = elObj.options[elObj.selectedIndex].value;
             if(val !="") go_s=true;
             else disArr.push(elObj.name);
          }
         else
          {
             var val = parseInt(elObj.options[elObj.selectedIndex].value,10);
             if(val > 0) go_s=true;
             else disArr.push(elObj.name);
          }
       }
    }
   if(go_s)
    {
      formObj.action = formObj.elements['page'].options[formObj.elements['page'].selectedIndex].value;
      for(var i=0,il=disArr.length;i<il;i++) formObj.elements[disArr[i]].disabled=true;
      formObj.submit();
    }
 }
function chViewForm(ind,aObj)
 {
    var divObj = getParentByTagName(aObj,'DIV');
    var aList = divObj.getElementsByTagName("A");
    for(var j=0,jl=aList.length;j<jl;j++)
     {
        aList[j].removeAttribute('style')
     }
    aObj.setAttribute('style', 'color:#ff0000');
    var divList = getElementsByClass('new_s',null,'DIV');
    for(var i=0,il=divList.length;i<il;i++)
     {
        divList[i].style.display=(i==ind)?"block":"none";
     }
 }
function getListOf(selObj)
 {
   var formObj = selObj.form;
   var subEl=formObj.elements['sub'];
   if(subEl && subEl.tagName=="SELECT" && getSelectValue(subEl)==2)
    {
      getCntOf(selObj);
    }
   else
    {
       var divPObj = getParentByTagName(selObj,'DIV',2);
       var selList = divPObj.getElementsByTagName("SELECT");
       var len = selList.length;
       if(selObj == selList[len-1]) return false;
       var ind = -1;
       for(var i=0;i<len;i++)
        {
           if(selList[i]==selObj) { ind=i; }
           if(ind>=0 && i>ind)
            {
               cleanSelectObj(selList[i]);
               selList[i].options[0] = new Option ('Все',0);
               selList[i].disabled=true;
            }
        }
       var val = getSelectValue(selObj);
       if((val>0 || val !="") && selObj.name!="sub")
        {
           var query = "pubaction=getlistof&form="+formObj.name+"&elem="+selObj.name+"&kkey="+selList[ind+1].name;
           //if(subEl && subEl.value>1) query+="&submode=1";
           if(subEl)
            {
              switch(subEl.tagName)
               {
                 case "SELECT": query+="&submode="+getSelectValue(subEl); break;
                 case "INPUT":  if(subEl.value>1) query+="&submode=1"; break;
               }
            }
           for(var j=0;j<=ind;j++)
            {
               query+="&key[]="+selList[j].name+"&val[]="+getSelectValue(selList[j]);
            }
           cbFunc = 'xmlACB_Catalog';
           sendAR(query,ajax_url_catalog);
        }
    }
 }
function getListOfConfirm(xmlObj)
 {
    var xml_action=xmlObj.getElementsByTagName('pubaction')[0];
    var formObj=document.forms[xml_action.getAttribute("form")];
    var selObj = formObj.elements[xml_action.getAttribute("elem")];
    var cnt = parseInt(xml_action.getAttribute("cnt"),10);
    switch(formObj.name)
     {
        case "fstyresub":
         document.getElementById("tyreCntDiv").innerHTML='&nbsp;<br />найдено: '+cnt;
         break;
        case "fsdisksub":
         document.getElementById("diskCntDiv").innerHTML='&nbsp;<br />найдено: '+cnt;
         break;
     }
    var optObj = xmlObj.getElementsByTagName('option');
    if(optObj && optObj.length)
     {
        for(var i=0;i<optObj.length;i++) 
         {
            selObj.options[selObj.options.length] = new Option (optObj[i].getAttribute("txt"),optObj[i].getAttribute("val"));
         }
     }
    selObj.options[0].selected = true;
    selObj.disabled = false;
    selObj.className=(selObj.options.length > 1)?"background":"";
 }
function initDiv()
 {
   document.getElementById('diskAvDiv').style.display="none";
 }
function reSortLike(clickObj,mode)
 {
   var thObj = getParentByTagName(clickObj,'TH');
   var tableObj = getParentByTagName(thObj,'TABLE');
   var th_ind = thObj.cellIndex;
   var type = tableObj.id.substr(0,4);
   var query = "pubaction=setsortlikein&type="+type+"&mode="+mode+"&elemindex="+(th_ind+1);
   cbFunc = 'xmlACB_Catalog';
   sendAR(query,ajax_url_catalog);
 }
function reSortLikeConfirm(xmlObj)
 {
   var xml_action=xmlObj.getElementsByTagName('pubaction')[0];
   var tableObj = document.getElementById(xml_action.getAttribute("type")+'LikeTable');
   var elem_index = parseInt(xml_action.getAttribute("elemindex"),10) - 1;
   switch(xml_action.getAttribute("mode"))
    {
      case "asc":
        var imgObj = tableObj.rows[0].cells[elem_index].getElementsByTagName("IMG")[0];
        sortTable(imgObj,'asc');
        break;
      case "desc":
        var imgObj = tableObj.rows[0].cells[elem_index].getElementsByTagName("IMG")[1];
        sortTable(imgObj,'desc');
        break;
    }
 }
function changeListOf(selObj)
 {
   var sub_mode = parseInt(getSelectValue(selObj),10);
   var formObj = selObj.form;
   formObj.elements['b'].options[0].selected = true;
   var re = /^l(\d)$/i;
   formObj2 = document.forms[formObj.name.substr(0,6)];
   try
    {
      for(var i=0,il=formObj.elements.length;i<il;i++)
       {
         var elObj = formObj.elements[i];
         if(elObj.tagName=='SELECT' && re.test(elObj.name))
          {
            cleanSelectObj(elObj);
            if(sub_mode==2)
             {
                FromSelToSel(formObj2.elements[elObj.name], elObj, 'rewrite');
                elObj.disabled=false;
                elObj.className="";
             }
            else
             {
               elObj.options[0] = new Option ('Все',0);
             }
            elObj.options[0].selected = true;
          }
         else if(elObj.tagName=='INPUT' && elObj.type=="button")
          {
            elObj.disabled = false;
          }
       }
      getListOf(formObj.b);
    }
   catch(e)
    {
       alert(e.message);
    }
 }

function getCntOf(selObj)
 {
   var formObj = selObj.form;
   var query = "pubaction=getcntof&type=";
   switch(formObj.name)
    {
      case "fstyresub": query+='tyre'; break;
      case "fsdisksub": query+='disk'; break;
    }
   var re = /^l(\d)$/i;
   for(var i=0,il=formObj.elements.length;i<il;i++)
    {
      var elObj = formObj.elements[i];
      if(elObj.tagName=='SELECT' && re.test(elObj.name) )
       {
         var val = getSelectValue(elObj);
         if(val>0) query+="&"+elObj.name+"="+val;
       }
    }
   query+="&b="+getSelectValue(formObj.b);
   cbFunc = 'xmlACB_Catalog';
   sendAR(query,ajax_url_catalog);
 }
function getCntOfConfirm(xmlObj)
 {
   var xml_action=xmlObj.getElementsByTagName('pubaction')[0];
   var formObj = document.forms['fs'+xml_action.getAttribute("type")+'sub'];
   var cnt = parseInt(xml_action.getAttribute("cnt"),10);
   document.getElementById(xml_action.getAttribute("type")+"CntDiv").innerHTML='&nbsp;<br />найдено: '+cnt;
   for(var i=0,il=formObj.elements.length;i<il;i++)
    {
      var elObj = formObj.elements[i];
      if(elObj.tagName=='INPUT' && elObj.type=="button")
       {
         if(cnt>0)
          {
            elObj.disabled=false;
            elObj.style.background = 'url(../img/site_img/search_button.gif)';
          }
         else
          {
            elObj.disabled=true;
            elObj.style.background = 'url(../img/site_img/search_button_grey.gif)';
          }
       }
    }
 }


