var defaut = 0; 

liste_univers = new Array(14);
univers = new Array(14);

getParam = new Array()
getURL_param(document.location.href);

// gerer le cas si url a des param mais pas de param num
if(getParam["num"] == undefined){
	getParam["num"] = "1";
	defaut = 1;
}

// liste des numeros de rayon appartenant a cet univers
univers[0]="31";
univers[1]="5";
univers[2]="10";
univers[3]="4";
univers[4]="9";
univers[5]="3";
univers[6]="2";
univers[7]="1";
univers[8]="6";
univers[9]="7";
univers[10]="15";
univers[11]="13";
univers[12]="17";
univers[13]="21";
//univers[99999]="0";





//DÃ©claration de la variable contenant la rÃ©pon
var xmlDocument;
var safari=false;

//using Safari ? Mind if we lol ?
if (navigator.userAgent.match("(S|s)afari") || navigator.userAgent.match("(O|o)pera")) {
        safari=true;
}
//Firefox
if(document.implementation.createDocument) {
        xmlDocument = document.implementation.createDocument('', '', null);
        //listener sur le chargement du fichier XML
        xmlDocument.addEventListener('load', loadHandler, false);
}
//IE
else {
        //crÃ©ation d'un objet Active
        xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
}

//Fonction pour Firefox - elle est appelÃ©e quand le fichier XML est chargÃ©
function loadHandler () {
        xmlProcessor(this);
}

function loadXMLDoc(url) {
        xmlDocument.async = "false";
        //Utile seulement pour IE
        xmlDocument.onreadystatechange=state_Change;
        if (!safari) {
                xmlDocument.load(url);
        }
        else {
                if (window.XMLHttpRequest)
                {
                        xmlhttpXMLCatalogue = new XMLHttpRequest();
                        xmlhttpXMLCatalogue.onreadystatechange = process_Safari;
                        xmlhttpXMLCatalogue.open("GET", url + "?randomvar=" + Math.random(),true);
                        xmlhttpXMLCatalogue.send(null);
                }
        }
}


function process_Safari() {
        if (xmlhttpXMLCatalogue.readyState == 4)
        {
                if (xmlhttpXMLCatalogue.status != 200)
                {
                        alert("Il y a eu un problÃ¨me lors de la connexion:\n"+xmlhttpXMLCatalogue.statusText);
                }
                else {
                        var content = xmlhttpXMLCatalogue.responseText;
                        var parser = new DOMParser();
                        xmlDocument = parser.parseFromString(content, "text/xml");
                        xmlProcessor(xmlDocument);
                }
        }
}

function state_Change() {
        //readyState == 4 seulement si le fichier est lu correctement (pas d'erreurs dans le XML)
        if (xmlDocument.readyState==4) {
                xmlProcessor(xmlDocument);
        }
}



/*------------------------------------------------------------*/
/*    fonctions personalisées
/*------------------------------------------------------------*/

function masqueImg(num) {
	// Vérifie si le div est masqué
	if (document.getElementById("zone").style.display=='block') 
	{	// Si oui on affiche le div
		document.getElementById("zone").style.display='none'; 
	} else {
		// sinon on le masque
		document.getElementById("zone").style.display='none'
	}
}

// code pour afficher les boites sur liste produits
function afficherGamme(nomdiv) {
	// test  --  non ok --
	//var classGammes = GetElementsWithClassName('*','cadreMenuGamme');
	//alert ("test : " + classGammes );
	
	// Vérifie si le div est masqué
	if (document.getElementById(nomdiv).style.display=='none') 
	{	// Si oui on affiche le div
		document.getElementById(nomdiv).style.display='block'; 
	} else {
		// sinon on le masque
		document.getElementById(nomdiv).style.display='none'
	}
}

function fondImg(fondRayon)
{
//alert(rayon.style.backgroundImage);
	if(fondRayon.style.backgroundImage == "")
	{
	fondRayon.style.backgroundImage='url(../site/img/over-navV1.jpg)';
	fondRayon.style.display='block';
	fondRayon.style.width='244px';
	fondRayon.style.backgroundRepeat='no-repeat';
	fondRayon.style.color='#fff';
	fondRayon.style.fontWeight='bold';
	fondRayon.style.backgroundPosition='left top';
	fondRayon.style.margin='3px 0 0 5px';
	fondRayon.style.paddingLeft='12px';	
	}
	else{
	fondRayon.style.backgroundImage='';
	fondRayon.style.color='#BFEBFE';
	fondRayon.style.fontWeight='normal';
	fondRayon.style.margin='0px';
	fondRayon.style.paddingLeft='15px';		
	}

}

function fondGamme(fondImgGamme){
	if(fondImgGamme.style.backgroundColor =="")
	{
		fondImgGamme.style.backgroundColor ='#4CB40E';
		fondImgGamme.style.width='225px';		
	}
	else
	{
		fondImgGamme.style.backgroundColor ='';
	}
}

/*------------------------------------------------------------*/
/*    FIN fonctions personalisées
/*------------------------------------------------------------*/

//On appelle la fonction avec la rÃ©ponse XML en paramÃ¨tre
function xmlProcessor(catalogue) {

        if(!getParam["num"]){
                getParam["num"] = getRayonFromGamme(xmlDocument, getParam["type"]);
        }

        // permet de recuperer l'univers courant a partir du num rayon courant (param num de l'url)
        mon_univers = getUniversFromRayon(getParam["num"]);
        if(mon_univers != -1){
        k = mon_univers;


        rayons = catalogue.documentElement.childNodes;
        var contenu="<div  class=\"imgRepeatBas\"><ul id=\"cadreMenu\">\n";

        for(var k = 0; k < univers.length; k++){
                
		//alert(titre_univers[k]);
           //contenu += "<li class=\""\"></li>\n";
              
			  var liste_rayon = univers[k].split(",");
                
				for(var rayon = 0; rayon < liste_rayon.length; rayon++){
                       
					   for (var i = 0; i < rayons.length; i++) {
                                
								if (rayons.item(i).tagName == "rayon") {
                                        
										if(rayons.item(i).getAttribute("num") == liste_rayon[rayon]){
											
											   //alert(rayons.item(i).getAttribute("nom"));
                                                contenu += "<li class=\"cadreLienRayon\"><a id=\"lien"+rayons.item(i).getAttribute("num")+"\" href=\"javascript:void(0);\" onclick=\"afficherGamme (" + rayons.item(i).getAttribute("num") + ") ;  fondImg(this) \" class=\"lienRayon\">" + rayons.item(i).getAttribute("nom") +"</a>\n";
												
												//Listage de Gammes
												contenu += "<div class=\"cadreMenuGamme\" id=\"" + rayons.item(i).getAttribute("num") + "\" style=\"display:none\" >\n";											
                                                gammes = rayons.item(i).childNodes;
                                                for (var j = 0; j < gammes.length; j++) {
                                                        if (gammes.item(j).tagName == "gamme") {
                                                                //alert(gammes.item(j).getAttribute("nom"));
    																contenu += "<a href=\"" + gammes.item(j).getAttribute("url") + "\" class=\"lienGamme\" id=\"lienGammes"+gammes.item(j).getAttribute("num")+"\" onclick=\"fondGamme(this)\">" + gammes.item(j).getAttribute("nom") + "</a>\n";
                                                       	}
                                                }
												
												//fin du cadre gammes + contener rayon
												contenu += "</div></li>\n";

                                        }//fin if rayon (num)
										
				                  } //fin if rayon
								
								
                        }
                }


        }


        contenu += "</ul></div>\n";
        //on affiche notre variable de nav
        document.getElementById("menu").innerHTML = contenu;
		//alert(document.getElementById("menu").innerHTML);
        
	// garder le feedback sur gammes et articles
	//le num permet de le garder par rapport au rayon en cours et le type permet de le gérer par rapport a la gamme selectionné
	if(defaut != 1){
		fondImg(document.getElementById('lien'+getParam["num"]));
			fondGamme(document.getElementById('lienGammes'+getParam["type"]));
		afficherGamme(getParam["num"]);
	}


	} //if mon univers
	

}


function getUniversFromRayon(num){
        mon_univers = -1;
        nb_univers = liste_univers.length;
        for(var k = 0; k < nb_univers; k++){
                var liste_rayon = univers[k].split(",");
                for(var rayon = 0; rayon < liste_rayon.length; rayon++){
                        if(liste_rayon[rayon] == num){
                                mon_univers = k;
                                break;
                        }
                }
        }
        return mon_univers;
}


function getUniversFromGamme(catalogue, type){
        //parcours de tous le fichier xml
        //liste des rayons
        rayons = catalogue.documentElement.childNodes;
        //on boucle sur les nodes
        for (var i = 0; i < rayons.length; i++) {
                //pour s'assurer qu'on est bien sur une node rayon
                if (rayons.item(i).tagName == "rayon") {
                        //on boucle sur les gammes
                        gammes = rayons.item(i).childNodes;
                        for (var j = 0; j < gammes.length; j++) {
                                //pour s'assurer qu'on est bien sur une node gamme
                                if (gammes.item(j).tagName == "gamme") {
                                        //alert(gammes.item(j).getAttribute("num"));
                                        if(gammes.item(j).getAttribute("num") == type){
                                                alert(type+"=>"+getUniversFromRayon(rayons.item(i).getAttribute("num")));
                                        }
                                }
                        }
                }
        }


}


function getRayonFromGamme(catalogue, type){
        mon_rayon = -1;
        //parcours de tous le fichier xml
        //liste des rayons
        rayons = catalogue.documentElement.childNodes;
        //on boucle sur les nodes
        for (var i = 0; i < rayons.length; i++) {
                //pour s'assurer qu'on est bien sur une node rayon
                if (rayons.item(i).tagName == "rayon") {
                        //on boucle sur les gammes
                        gammes = rayons.item(i).childNodes;
                        for (var j = 0; j < gammes.length; j++) {
                                //pour s'assurer qu'on est bien sur une node gamme
                                if (gammes.item(j).tagName == "gamme") {
                                        //alert(gammes.item(j).getAttribute("num"));
                                        if(gammes.item(j).getAttribute("num") == type){
                                                mon_rayon = rayons.item(i).getAttribute("num");
                                                break;
                                        }
                                }
                        }
                }
        }

        return mon_rayon;
}

function getURL_param(monurl){
	if(monurl.indexOf("?") != -1){
        	tab = monurl.split("?");
        	var liste_param = tab[1];
        	var param = liste_param.split("&");
        	for(var k = 0; k < param.length; k++){
                	val = param[k].split("=");
                	getParam[val[0]] = val[1];
        	}
	}else{
		// gerer le cas si url n a pas de param
		getParam["num"] = "1";
		defaut = 1;
	}
}



//on charge le fichier architecture_catalogue.xml qui se situe dans le rÃ©pertoire boutique (et boutique_us)
loadXMLDoc("../boutique/architecture_catalogue.xml");
