/**
 * @at-ressources.com 2008/2010
 */
var oldDesignation = '';
var expandedRef = 0;
var expandedSmall = '';
var expandedModele = 0;

function modele_search(e){
    var field; //field being processed
    var keyChar; //the current character
    var thisKey = 0; //ascii value of character
    var doSearch = false;
    if (navigator.appName.indexOf("Netscape") != -1) {
        var keycode = e.which;
    }
    else {
        e = window.event;
        var keycode = e.keyCode;
    }
    var realkey = String.fromCharCode(keycode)
    var targ;
    if (e.target) 
        field = e.target;
    else 
        if (e.srcElement) 
            field = e.srcElement;
    if (field.nodeType == 3) { // defeat Safari bug
        field = field.parentNode;
    }
    var xMots = document.fModele.freeSearch.value;
    var Marque_ID = document.fModele.marque.value;
    var url = '../php/ax_modeles.php?';
	var url = '../php/ax_modeleSousModeles.php?';
    if (xMots != '') {
        oldDesignation = xMots;
        if (xMots != '') 
            url += '&modele=' + url_encode(xMots);
    }
    if (Marque_ID != 0) {
        url += '&marque=' + Marque_ID;
    }
    debug_url( url);
    doAjax(url, modeleTrouves_reload);
}

function modeleTrouves_reload(){
    if (!this.req.responseXML) {
        debug("Failed loading models");
    }
    else {
        var xmlDoc = this.req.responseXML.documentElement;
        if (!xmlDoc) {
            debug("Failed loading models");
        }
        else {
            var nLigne = xmlDoc.getElementsByTagName('modele').length;
            var xTitre = xmlDoc.getElementsByTagName("titre")[0].childNodes[0].nodeValue;
            //var tChildren = document.getElementById("modeles").childNodes;
            //var nTR		= tChildren.length;
            debug("found " + nLigne);
            if (document.all) {//ie
                document.getElementById("modeles").innerText = '';
                document.getElementById("infoModeles").innerText = xTitre;
            }
            else {
                document.getElementById("modeles").innerHTML = '';
                document.getElementById("infoModeles").innerHTML = xTitre;
            }
            
            for (var i = 0; i < nLigne; i++) {
                var _nom = (xmlDoc.getElementsByTagName('nom')[i].childNodes.length) ? (xmlDoc.getElementsByTagName('nom')[i].childNodes[0].nodeValue) : (' ');
                var _id = (xmlDoc.getElementsByTagName('id')[i].childNodes.length) ? (xmlDoc.getElementsByTagName('id')[i].childNodes[0].nodeValue) : (' ');
                // creation TR
                var nTR = document.createElement("tr");
                nTR.className = (i % 2) ? 'trM0' : 'trM1';
                nTR.setAttribute('id', _id);
                //if (iA == 1) {
                    var url = 'ax_sousModeles.php?mid=' + _id;
                    if (document.all) {//IE
                        eval("nTR.attachEvent('onclick',function mE(){modExpand(" + _id + ");})");
                    }
                    else {
                        nTR.setAttribute('onclick', "modExpand(" + _id + ");");//DOM2 compatibles
                    }
                /*}
                else {
                    var url = 'modele-' + url_encode(_nom) + '-' + _id + '.html';
                    if (isIE) {//IE
                        eval("nTR.attachEvent('onclick',function titi(){self.location = '" + url + "';});");
                    }
                    else {
                        nTR.setAttribute('onclick', "self.location = '" + url + "';");//DOM2 compatibles
                    }
                }
                */
				
                // creation TD
                var nTD = document.createElement("td");
                //nTD.className = 'modele';
                
                // creation link
                var a = document.createElement("a");
                var aTitre = document.createTextNode(_nom);
                a.appendChild(aTitre);
                /*if (iA == 0) {
                    a.setAttribute('href', url);
                }*/
                a.className = 'aM';
                
                nTD.appendChild(a);
                nTR.appendChild(nTD);
                
                if (document.getElementById("modeles").childNodes[i]) {
                    document.getElementById("modeles").replaceChild(nTR, document.getElementById("modeles").childNodes[i]);
                }
                else {
                    document.getElementById("modeles").appendChild(nTR);
                }
            }
        }
    }
}

function modExpand(idm){
    smodUnload();
    expandedModele = idm;
    var url = 'php/ax_sousModeles.php?idm=' + idm;
    debug(url);
    doAjax(url, smodLoad);
}

function smodLoad(){
    debug('smodLoad: en test');
    if (!this.req.responseXML) {
        debug("Failed loading sub models");
    }
    else {
        var xmlDoc = this.req.responseXML.documentElement;
        if (!xmlDoc) {
            debug("Failed loading sub models");
        }
        else {
            var nLigne = xmlDoc.getElementsByTagName('smod').length;
            var _idm = (xmlDoc.getElementsByTagName('idm')[0].childNodes.length) ? (xmlDoc.getElementsByTagName('idm')[0].childNodes[0].nodeValue) : (' ');
            debug("found " + nLigne + " smods");
            var TRmod = $(_idm);
            
            //evel classe / tr deployé
            var classe;
            /*if (isIE) {
                classe = window.getComputedStyle(TRmod, null).className;
            }
            else {*/
                classe = TRmod.className;
            //}
            classe = 'trSmod' + classe.substring(3);
            
            var tBody = $('modeles');
            for (var i = 0; i < nLigne; i++) {
                var _nom = (xmlDoc.getElementsByTagName('nom')[i].childNodes.length) ? (xmlDoc.getElementsByTagName('nom')[i].childNodes[0].nodeValue) : (' ');
                
                // creation TR
                var nTR = document.createElement("tr");
                nTR.className = classe;
                var url = 'modele2-' + url_encode(_nom) + '.html';
                if (isIE) {
                    eval("nTR.attachEvent('onclick',function titi(){self.location = '" + url + "';});");
                }
                else { //DOM2 compatibles
                    nTR.setAttribute('onclick', "self.location = '" + url + "';");
                }
                
                // creation td
                var nTD1 = document.createElement('td');
                nTD1.className = 'tdNom';
                var nTxt1 = document.createTextNode(_nom);
                nTD1.appendChild(nTxt1);
                nTR.appendChild(nTD1);
                
                // insertion node dans la table
                var nextTR = TRmod.nextSibling;
                tBody.insertBefore(nTR, nextTR);
                
                
                
            }
        }
    }
}

function smodUnload(){
    if (expandedModele != 0) {
        debug('contraction ' + expandedModele);
        var tBody = $('modeles');
        var tTRsmod = getElementsByClassName('trSmod0', 'tr', tBody);
        for (var i = 0; i < tTRsmod.length; i++) {
            tBody.removeChild(tTRsmod[i]);
        }
        tTRsmod = getElementsByClassName('trSmod1', 'tr', tBody);
        for (var i = 0; i < tTRsmod.length; i++) {
            tBody.removeChild(tTRsmod[i]);
        }
    }
}

function getElementsByClassName(className, tag, elm){
    var testClass = new RegExp("(^|s)" + className + "(s|$)");
    var tag = tag || "*";
    var elm = elm || document;
    var elements = (tag == "*" && elm.all) ? elm.all : elm.getElementsByTagName(tag);
    var returnElements = [];
    var current;
    var length = elements.length;
    for (var i = 0; i < length; i++) {
        current = elements[i];
        if (testClass.test(current.className)) {
            returnElements.push(current);
        }
    }
    return returnElements;
}

function refExpand(idr, pathLarge){
    if (expandedRef != 0) {
        debug('expandedRef: ' + expandedRef);
        document.getElementById(expandedRef).setAttribute('src', expandedSmall);
        content("arts" + expandedRef, '');
        show('aC' + expandedRef);
        hide("aN" + expandedRef);
        if (document.getElementById("TheMention")) {
            var myNotice = document.getElementById("aN" + expandedRef);
            var myParent = myNotice.parentNode;
            myParent.removeChild(document.getElementById("TheMention"));
        }
    }
    //debug(idr+' / '+expandedRef);
    if (idr != expandedRef) {
        expandedRef = idr;
        expandedSmall = document.getElementById(idr).getAttribute('src');
        document.getElementById(idr).setAttribute('src', pathLarge);
        var url = "php/ax_refExpand.php?id=" + idr;
        debug(url);
        doAjax(url, refRefresh);
    }
    else {
        expandedRef = 0;
        expandedSmall = '';
    }
}

function refRefresh(){
    if (!this.req.responseXML) {
        debug("Failed loading articles");
    }
    else {
        var xmlDoc = this.req.responseXML.documentElement;
        if (!xmlDoc) {
            debug("Failed loading articles");
        }
        else {
            var nLigne = xmlDoc.getElementsByTagName('article').length;
            var idr = xmlDoc.getElementsByTagName("idr")[0].childNodes[0].nodeValue;
            var mention = (xmlDoc.getElementsByTagName("mention")[0].childNodes[0]) ? xmlDoc.getElementsByTagName("mention")[0].childNodes[0].nodeValue : '';
            var notice = (xmlDoc.getElementsByTagName("notice")[0].childNodes[0]) ? xmlDoc.getElementsByTagName("notice")[0].childNodes[0].nodeValue : '';
            var noticeLib = (xmlDoc.getElementsByTagName("noticeLib")[0].childNodes[0]) ? xmlDoc.getElementsByTagName("noticeLib")[0].childNodes[0].nodeValue : '';
            debug("found " + nLigne + " articles");
            
            // remplacement code ref par notice
            hide('aC' + idr);
            if (notice !== '') 
                show("aN" + idr);
            // mention tarif
            if (mention !== '') {
                debug(mention);
                // creation DIV
                var nMention = document.createElement("div");
                nMention.className = 'artMention';
                nMention.innerHTML = mention;
                nMention.setAttribute('id', 'TheMention');
                //document.getElementById("tdN"+idr).insertBefore(nMention, "aN"+idr ); // appendChild();
                var myNotice = document.getElementById("aN" + idr);
                var myParent = myNotice.parentNode;
                if (document.getElementById("TheMention")) {
                    myParent.replaceChild(nMention, document.getElementById("TheMention"));
                }
                else {
                    myParent.insertBefore(nMention, myNotice);
                }
            }
            
            for (var i = 0; i < nLigne; i++) {
                var _nom = (xmlDoc.getElementsByTagName('nom')[i].childNodes.length) ? (xmlDoc.getElementsByTagName('nom')[i].childNodes[0].nodeValue) : (' ');
                var _image = (xmlDoc.getElementsByTagName('image')[i].childNodes.length) ? (xmlDoc.getElementsByTagName('image')[i].childNodes[0].nodeValue) : (' ');
                var _prix = (xmlDoc.getElementsByTagName('prix')[i].childNodes.length) ? (xmlDoc.getElementsByTagName('prix')[i].childNodes[0].nodeValue) : (' ');
                var _code = (xmlDoc.getElementsByTagName('code')[i].childNodes.length) ? (xmlDoc.getElementsByTagName('code')[i].childNodes[0].nodeValue) : (' ');
                var _rgb = (xmlDoc.getElementsByTagName('rgb')[i].childNodes.length) ? (xmlDoc.getElementsByTagName('rgb')[i].childNodes[0].nodeValue) : (' ');
                
                
                // creation TR
                var nTR = document.createElement("tr");
                nTR.className = 'liArt';
                
                // creation span code
                var nSpanCo = document.createElement("td");
                nSpanCo.className = 'liCode';
                nSpanCo.innerHTML = _code;
                
                // creation span color echantillon
                var nSpanCc = document.createElement("td");
                nSpanCc.className = 'liACC';
                nSpanCc.innerHTML = '&nbsp;';
                if (_rgb != ' ') {
                    nSpanCc.bgColor = "#" + _rgb
                }
                // creation span color
                var nSpanC = document.createElement("td");
                nSpanC.className = 'liAC';
                nSpanC.innerHTML = _nom;
                
                // creation span prix
                var nSpanP = document.createElement("td");
                nSpanP.className = 'liAP';
                nSpanP.innerHTML = _prix + ' &euro;';
                
                nTR.appendChild(nSpanCc);
                nTR.appendChild(nSpanCo);
                nTR.appendChild(nSpanC);
                nTR.appendChild(nSpanP);
                
                if (document.getElementById("arts" + idr).childNodes[i]) {
                    document.getElementById("arts" + idr).replaceChild(nTR, document.getElementById("arts" + idr).childNodes[i]);
                }
                else {
                    document.getElementById("arts" + idr).appendChild(nTR);
                }
            }
        }
    }
}

function modSearch(field){
    var xMots = field.value;
    if (xMots != '') {
        var url = '../php/ax_modeles.php?';
        url += 'modele=' + url_encode(xMots);
        debug(url);
        doAjax(url, modeleTrouves_load);
    }
}

function modeleTrouves_load(){
    if (!this.req.responseXML) {
        debug("Failed loading models");
    }
    else {
        var xmlDoc = this.req.responseXML.documentElement;
        if (!xmlDoc) {
            debug("Failed loading models");
        }
        else {
            var contexte = (document.getElementById("searchPopup")) ? ('main') : ('admin');
            var popup = (contexte === 'main') ? document.getElementById("searchPopup") : document.getElementById("searchAdmin");
            var nLigne = xmlDoc.getElementsByTagName('modele').length;
            var xdisplay = "";
            if (nLigne > 0) 
                xdisplay = 'block';
            else 
                xdisplay = 'none';
            debug("found " + nLigne);
            if (document.all) {//ie
                popup.innerText = '';
                popup.style.display = xdisplay;
            }
            else {
                popup.innerHTML = '';
                popup.setAttribute('style', 'display: ' + xdisplay + ';');
            }
            // creation ul
            var nUl = document.createElement("ul");
            nUl.className = 'sUl';
            
            popup.appendChild(nUl);
            
            for (var i = 0; i < nLigne; i++) {
                var _nom = (xmlDoc.getElementsByTagName('nom')[i].childNodes.length) ? (xmlDoc.getElementsByTagName('nom')[i].childNodes[0].nodeValue) : (' ');
                var _id = (xmlDoc.getElementsByTagName('id')[i].childNodes.length) ? (xmlDoc.getElementsByTagName('id')[i].childNodes[0].nodeValue) : (' ');
                
                // creation li
                var nLi = document.createElement("li");
                nLi.className = 'sLi';
                nLi.setAttribute('id', _id);
                
                // creation link
                var a = document.createElement("a");
                var aTitre = document.createTextNode(_nom);
                a.appendChild(aTitre);
                if (contexte === 'main') {
                    a.setAttribute('href', 'modele-' + url_encode(_nom) + '-' + _id + '.html');
                }
                else {// 		admin fiche produits
                    a.setAttribute('href', 'javascript:setModele(' + _id + ',"' + _nom + '")');
                }
                a.className = 'sA';
                nLi.appendChild(a);
                nUl.appendChild(nLi);
            }
        }
    }
}

function type_search(type_ID){
    var url = '../php/ax_references.php?';
    url += 'type=' + type_ID;
    if (document.getElementById("freeSearch")) {
        url += '&modele=' + document.getElementById("freeSearch").value;
    }
    debug("type_search: " + url);
    doAjax(url, refs_reload);
}

function refs_reload(){
    debug('refs_reload');
    if (!this.req.responseXML) {
        debug("Failed loading references");
    }
    else {
        var xmlDoc = this.req.responseXML.documentElement;
        if (!xmlDoc) {
            debug("Failed loading references");
        }
        else {
            var nLigne = xmlDoc.getElementsByTagName('reference').length;
            //var xTitre	= xmlDoc.getElementsByTagName("titre")[0].childNodes[0].nodeValue;
            debug("found " + nLigne);
            content('tRefs', '');
            var tbody = document.createElement("tbody");
            document.getElementById("tRefs").appendChild(tbody);
            expandedRef = 0;
            
            for (var i = 0; i < nLigne; i++) {
            
                var _id = (xmlDoc.getElementsByTagName('id')[i].childNodes.length) ? (xmlDoc.getElementsByTagName('id')[i].childNodes[0].nodeValue) : (' ');
                var _code = (xmlDoc.getElementsByTagName('code')[i].childNodes.length) ? (xmlDoc.getElementsByTagName('code')[i].childNodes[0].nodeValue) : (' ');
                var _chaine = (xmlDoc.getElementsByTagName('chaine')[i].childNodes.length) ? (xmlDoc.getElementsByTagName('chaine')[i].childNodes[0].nodeValue) : (' ');
                var _id_modele = (xmlDoc.getElementsByTagName('id_modele')[i].childNodes.length) ? (xmlDoc.getElementsByTagName('id_modele')[i].childNodes[0].nodeValue) : (' ');
                var _pict_nom = (xmlDoc.getElementsByTagName('pict_nom')[i].childNodes.length) ? (xmlDoc.getElementsByTagName('pict_nom')[i].childNodes[0].nodeValue) : (' ');
                // creation TR
                var nTR = document.createElement("tr");
                //var url = 'modele-'+url_encode(_nom)+'-'+_id+'.html';
                nTR.className = (i % 2) ? 'trM0' : 'trM1';
                if (document.all) {//IE
                    eval("nTR.attachEvent('onclick',function toto(){refExpand( " + _id + ", './photos/art360/" + _pict_nom + ".jpeg' );})");
                }
                else {
                    nTR.setAttribute('onclick', "refExpand(" + _id + ", './photos/art360/" + _pict_nom + ".jpeg' );");//DOM2 compatibles
                }
                
                // creation TD 1
                var nTD1 = document.createElement("td");
                nTD1.className = 'tdImg';
                var img = document.createElement("img");
                if (_pict_nom !== ' ') {
                    img.setAttribute('src', './photos/art80/' + _pict_nom + '.jpeg');
                }
                else {
                    img.setAttribute('src', './images/bg80.jpg');
                }
                img.setAttribute('id', _id);
                nTD1.appendChild(img);
                nTR.appendChild(nTD1);
                
                // creation TD 2
                var nTD2 = document.createElement("td");
                nTD2.className = 'tdNom';
                var nom = document.createElement("div");
                nom.className = 'artDesignation';
                var xnom = document.createTextNode(_chaine);
                nom.appendChild(xnom);
                nTD2.appendChild(nom);
                
                var code = document.createElement("div");
                code.className = 'artCode';
                var xcode = document.createTextNode(_code);
                code.appendChild(xcode);
                nTD2.appendChild(code);
                
                var stable = document.createElement("table");
                var stbody = document.createElement("tbody");
                stbody.className = 'ulArts';
                stbody.setAttribute('id', 'arts' + _id);
                stable.appendChild(stbody);
                nTD2.appendChild(stable);
                
                nTR.appendChild(nTD2);
                tbody.appendChild(nTR);
            }
        }
    }
}

function marqueSearch(code){
    if (!code) {
        var code = document.fModele.marque.value;
    }
    else {
        document.fModele.marque.value = code;
    }
    /*var freeSearch = document.fModele.freeSearch.value
     var url = '../php/ax_modeles.php?';
     url += '&marque=' + code;
     debug(url);
     doAjax(url, modeleTrouves_reload);*/
    var xMots = document.fModele.freeSearch.value;
    var lib = document.fModele.freeSearchLib.value;
    var Marque_ID = document.fModele.marque.value;
    //if (iA == 1) {
        var url = '../php/ax_modeleSousModeles.php?';
    /*}
    else {
        var url = '../php/ax_modeles.php?';
    }*/
    if ((xMots !== '') & (xMots !== lib)) {
        oldDesignation = xMots;
        url += 'modele=' + url_encode(xMots);
    }
    if (Marque_ID != 0) {
        url += '&marque=' + Marque_ID;
    }
    debug("RQ " + url);
    doAjax(url, modeleTrouves_reload);
}
