var page_loading = false;
var sequenceList = ['makes','series','years','bodies','engines','powers','models','groupicons','detaillist','detailid'];
function select_innerHTML(objeto,innerHTML){
/******
* select_innerHTML - corrige o bug do InnerHTML em selects no IE
* Veja o problema em: http://support.microsoft.com/default.aspx?scid=kb;en-us;276228
* VersГЈo: 2.1 - 04/09/2007
* Autor: Micox - NГЎiron JosГ© C. GuimarГЈes - micoxjcg@yahoo.com.br
* @objeto(tipo HTMLobject): o select a ser alterado
* @innerHTML(tipo string): o novo valor do innerHTML
*******/
	IE='\v'=='v';
	if (!IE){
		objeto.innerHTML = innerHTML;
	} else {
		//alert('IE mode');
    objeto.innerHTML = "";
    var selTemp = document.createElement("micoxselect");
    var opt;
    selTemp.id="micoxselect1";
    document.body.appendChild(selTemp);
    selTemp = document.getElementById("micoxselect1");
    selTemp.style.display="none";
    if(innerHTML.toLowerCase().indexOf("<option")<0){
        innerHTML = "<option>" + innerHTML + "</option>";
    }
    innerHTML = innerHTML.toLowerCase().replace(/<option/g,"<span").replace(/<\/option/g,"</span");
    selTemp.innerHTML = innerHTML;


    for(var i=0;i<selTemp.childNodes.length;i++){
  var spantemp = selTemp.childNodes[i];

        if(spantemp.tagName){
            opt = document.createElement("OPTION");

   if(document.all){ //IE
    objeto.add(opt);

   }else{
    objeto.appendChild(opt);
   }

   //getting attributes
   for(var j=0; j<spantemp.attributes.length ; j++){
    var attrName = spantemp.attributes[j].nodeName;
    var attrVal = spantemp.attributes[j].nodeValue;
    if(attrVal){
     try{
      opt.setAttribute(attrName,attrVal);
      opt.setAttributeNode(spantemp.attributes[j].cloneNode(true));
     }catch(e){}
    }
   }
   //getting styles
   if(spantemp.style){
    for(var y in spantemp.style){
     try{opt.style[y] = spantemp.style[y];}catch(e){}
    }
   }
   //value and text
   opt.value = spantemp.getAttribute("value");
   opt.text = spantemp.innerHTML;
   //IE
   opt.selected = spantemp.getAttribute('selected');
   opt.className = spantemp.className;
  }
 }
 document.body.removeChild(selTemp);
 selTemp = null;
	}
}

function getById(id){
    return document.getElementById(id);
}

function getName(id){
    var t = getById(id);
    if( t.name == undefined)
        return '';
    return t.name;
}

function setName(id,name){
    var t = getById(id);
    t.name = name;
}

function getSelectValue(id) {
    var t = getById(id);
    return t.options[t.selectedIndex].value;
}

function setVisible(id){
    getById(id).style.display = 'inline';
}

function setUnvisible(id){
    getById(id).style.display = 'none';
}

function showPreloader(id){
    jQuery('#'+id).html('<div style="width: 300px; height: 300px; text-align: center; margin:15% auto;"><img id="preloader" style="border: 0px" alt="Загрузка" src="images/loading.gif"/><br/><br/><span style="font-size: 15px;">Идет построение списка...</span></div>');
}

function eraseInnerHtml(atrName)
{
    switch(atrName){
    case '':
        if(getById('original_page').name == '1') {
            getById('select-models').innerHTML = "<option value=''> Выберите марку </option>";
            getById('select-models').disabled = true;
        }
        setName('models','');
        setUnvisible('models');
        setName('makes','');
        setUnvisible('makes');
    case 'makes':
        if(getById('original_page').name == '1') {
            getById('select-series').innerHTML = "<option value=''> Выберите серию </option>";
            getById('select-series').disabled = true;
        }
        setName('series','');
        setUnvisible('series');
    case 'series':
        if(getById('original_page').name == '1') {
            getById('select-years').innerHTML = "<option value=''> Выберите год </option>";
            getById('select-years').disabled = true;
        }
        setName('years','');
        setUnvisible('years');
    case 'years':
        if(getById('original_page').name == '1') {
            getById('select-bodies').innerHTML = "<option value=''> Выберите кузов </option>";
            getById('select-bodies').disabled = true;
        }
        setName('bodies','');
        setUnvisible('bodies');
    case 'bodies':
        if(getById('original_page').name == '1') {
            getById('select-engines').innerHTML = "<option value=''> Выберите тип дв. </option>";
            getById('select-engines').disabled = true;
        }
        setName('engines','');
        setUnvisible('engines');
    case 'engines':
        if(getById('original_page').name == '1') {
            getById('select-powers').innerHTML = "<option value=''>Объем двиг./ Мощность к.В.</option>";
            getById('select-powers').disabled = true;
        }
        setName('powers','');
        setUnvisible('powers');
    case 'powers':
        if(getById('original_page').name == '1') {
            getById('select-models').innerHTML = "<option value=''> Выберите модель </option>";
            getById('select-models').disabled = true;
        }
        setName('models','');
        setUnvisible('models');
    case 'models':
        setName('groupicons','');
        setUnvisible('groupicons');
    case 'groupicons':
        setName('detaillist','');
        setUnvisible('detaillist');
    case 'detaillist':
        setName('detailid','');
        setUnvisible('detailid');
    default:
    }
}

function getByAjax(mode,str)
{
    if(jQuery('display-list'))
        showPreloader('display-list');
    page_loading = true;
    jQuery.get('/spareparts/modules_N/ajax.php?original_mode[]='+mode+str, function(data){
        getById('div-temp').innerHTML = data;
        select_innerHTML(document.getElementById('select-'+mode),jQuery('#ajax_select').html());
        document.getElementById('select-'+mode).disabled = false;
        document.getElementById('display-list').innerHTML = jQuery('#ajax_list').html();
        jQuery('#div-temp').html('');
        page_loading = false;
    });
}

function getQuery(getMode){
    var result = '';
    for( var i=0;  i < sequenceList.length; ++i) {
        if( sequenceList[i] != getMode){
            result += "&"+sequenceList[i] + '=' + jQuery('#'+sequenceList[i]).attr('name') + '&' + sequenceList[i]+'_name=' + jQuery('#'+sequenceList[i]).html();
        } else{ break; }
    }
    return result;
}

function getQueryMode(){
    for( var i = sequenceList.length-2; i > 0 ; --i){
        var name = getName(sequenceList[i-1]);
        if(name != '')
            return sequenceList[i];
    }
    return 'error';
}

function getData(atrName){ // параметр - имя сделующиего запроса (для марок - следующий запрос серия)
    if( page_loading ) return;
    eraseInnerHtml(atrName);
    var mode = getQueryMode();
    if( atrName == '')
        mode = 'makes';
    var query = getQuery(mode);
    if(getById('original_page').name != '1'){
        top.location.href = 'index.php?original_page=1&original_window_mode=inline&original_mode[]=get_till_'+mode+query+"&tab_name=original_catalog";
    }
    if( mode != 'groupicons'){
        getByAjax(mode,query);
    } else {
        top.location.href = 'index.php?mode=catalog_details_group&original_page=2&original_mode[]='+mode+query+'&breadcrumbs=true';
        /*
        getById('company_phones').style.display = 'block';
        getById('original_page').name = 'second';
        getDetailsWindow(mode,query); */
    }
};

function SelectToQueryData(obj,atrName){
    if( page_loading ) return;
    var t = getById(atrName);
    t.name = obj.options[obj.selectedIndex].value;
    t.innerHTML = obj.options[obj.selectedIndex].innerHTML;
    setVisible(atrName)
    var param='';
    if (t.name == '') {
        switch(atrName){
        case 'makes': param=''; break;
        case 'series': param='makes' ; break;
        case 'years': param='series' ; break;
        case 'bodies': param='years' ; break;
        case 'engines': param='bodies' ; break;
        case 'powers': param='engines' ; break;
        case 'models': param='powers' ; break;
        }
        eraseInnerHtml(param);
    }
}

function AssignSelect(atrName){
    var t1 = getById(atrName);
    var str;
    for( var p in t1.options){
        alert(t1.options[p].value);
    }
}

function setSelect(SelectId, id)
{
    var t = getById(SelectId);
    for (var i=0; i < t.options.length; ++i){
        if( t.options[i].value == id ){
            t.options[i].selected = true;
            break;
        }
    }
}

function ToQueryData(obj,atrName){
    if( page_loading ) return;
    var t = getById(atrName);
    t.name = obj.name;
    t.innerHTML = obj.innerHTML;
    setVisible(atrName);
    setSelect('select-'+atrName,obj.name);
}

function SetQueryData(fieldName, fieldId,ancorId){
    if( page_loading ) return;
    var t = getById(ancorId);
    t.name =fieldId;
    t.innerHTML = fieldName;
    setVisible(ancorId);
}

function getDetailsWindow(mode,str)
{
    showPreloader('page_details');
    page_loading = true;
    jQuery.get('/spareparts/modules_N/ajax.php?original_mode[]='+mode+str, function(data){
        getById('page_details').innerHTML = data;
        page_loading = false;
	    jQuery('table#detailslist td.ilustration').mouseover(function(){
            jQuery('table#detailslist td.ilustration').css('background','#FFFFFF');
            jQuery('table#submenu td').css('background','#9eb6d7');
            jQuery(this).css('background','#57759e');
        });
    });
}

function backToPage_2(query){
    top.location.href = 'index.php?mode=catalog_details_group' +
            '&original_page=2'+
            '&original_window_mode=inline'+
            query+
            '&breadcrumbs=true';
            //"&"+jQuery('#hidden-query').attr('value')+
            /*'&groupicons=' + jQuery('#groupicons') +'&groupicons_name=' + jQuery('#groupicons').html()+*/
}

function getGroupIcons() {
    if (getById('original_page').name == '2') {
        getById('display-detaillist').innerHTML = '';
        getById('display-details').innerHTML = '';
        jQuery('.cat_link').css('display','block');
        eraseInnerHtml('models');
    }
    if (getById('original_page').name == '3') {
        backToPage_2(getQuery('groupicons')+'&original_mode[]=groupicons');
    }
}

function backToDetailList(){
    if( getById('original_page').name == '2'){
        eraseInnerHtml('groupicons');
        getById('display-details').innerHTML = '';
    }
    if( getById('original_page').name == '3'){
        backToPage_2(getQuery('detaillist')+'&original_mode[]=groupicons&original_mode[]=detaillist');
    }
}

function getDetailsTable()
{
    if( page_loading ) return;
    if( getById('original_page').name == '2' ){
        page_loading = true;
        var t = getById("hidden-query");
        var query = "&"+t.value+"&"+'detaillist='+jQuery('#detaillist').attr('name');
        showPreloader('display-details');
        jQuery.get('/spareparts/modules_N/ajax.php?original_mode[]=details'+query, function(data){
            getById('display-details').innerHTML = data;
            page_loading = false;
        });
    } if( getById('original_page').name == '3' ){
        backToPage_2(getQuery('detailid')+'&original_mode[]=groupicons&original_mode[]=detaillist&original_mode[]=details');
    }
}

function getDetailList() {
    if( page_loading ) return;
    page_loading = true;
    getById('display-details').innerHTML = '';
    getById('display-detaillist').innerHTML = '';
    jQuery('.cat_link').css('display','none');
    getById('detailsgroup').width = 90;
    var t = getById("hidden-query");
    var query = t.value+"&groupicons="+jQuery('#groupicons').attr('name')+'&models='+jQuery('#models').attr('name');
    showPreloader('display-detaillist');
    jQuery.get('/spareparts/modules_N/ajax.php?original_mode[]=detaillist&'+query, function(data){
        getById('display-detaillist').innerHTML = data;
        page_loading = false;
        /*jQuery('table#submenu td').mouseover(function(){
            jQuery('table#detailslist td.ilustration').css('background','#e3ecf8');
            jQuery('table#submenu td').css('background','#9eb6d7');
            jQuery(this).css('background','#57759e');
        });*/
    });
    eraseInnerHtml('groupicons');
}
function testinput(re, str){
   if (str.search(re) != -1)
      return true
   else
      return false
}

function getDetail( detailId ){
    top.location.href = 'index.php?' +
            'mode=qnowsearch' +
            '&original_page=3' +
            '&part='+detailId+
            getQuery('/*all sequence*/')+
            '&original_mode[]=qnowsearch'+
            '&breadcrumbs=true';
}

