//Déclaration de la variable contenant la réponse
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 ActiveX
	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);	
	}
}

//On appelle la fonction avec la réponse XML en paramètre
function xmlProcessor(catalogue) {
	//on démarre notre nav perso
	var contenuNav = "<div id=\"nav_principale_haute\">";
	//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") {
			//Récupération du numéro du rayon
			var numrayon = rayons.item(i).getAttribute("num");
			//Nommage des rayons
			if (numrayon == 21) { fin_div = "2"; nom_du_rayon = "smell"; }		
			if (numrayon == 31) { fin_div = "3"; nom_du_rayon = "touch"; }				
			if (numrayon == 11) { fin_div = "1"; nom_du_rayon = "view"; }
			if (numrayon == 41) { fin_div = "4"; nom_du_rayon = "taste"; }
			if (numrayon == 51) { fin_div = "5"; nom_du_rayon = "hear"; }
			//ouverture du rayon
			contenuNav += "<div class=\"bloc_rayon\" onmouseover=\"aff('nav_haute_" + fin_div + "'); MM_swapImage('original_" + nom_du_rayon + "','','img_js/bt_original_" + nom_du_rayon + "_over.gif',1);\" onmouseout=\"projectionBlock(); MM_swapImgRestore();\"";
			if (numrayon == 51) { contenuNav += " style=\"margin-right:0px\""; }
			contenuNav += ">";
			//images du rayon
			contenuNav += "<div class=\"illustration_navigation\"><img src=\"img_js/original-" + nom_du_rayon + ".jpg\" alt=\"" + rayons.item(i).getAttribute("nom") + "\" name=\"illus_" + nom_du_rayon + "\" border=\"0\" id=\"illus_" + nom_du_rayon + "\" /></a></div>";
			contenuNav += "<div class=\"bt_navigation\"><a href=\"" + rayons.item(i).getAttribute("url") + "\"><img src=\"img_js/bt_original_" + nom_du_rayon + "_off.gif\" alt=\"" + rayons.item(i).getAttribute("nom") + "\" name=\"original_" + nom_du_rayon + "\" border=\"0\" id=\"original_" + nom_du_rayon + "\" /></a></div>";
			//ouverture du cadre des gammes
			contenuNav += "<div class=\"navigation_horizontale\" id=\"nav_haute_" + fin_div + "\" style=\"display:none;background-image:url(img_js/fond_navigation.gif);background-repeat:no-repeat;\" >";
			//liste des gammes de ce rayon
			gammes = rayons.item(i).childNodes;
			//on boucle sur les gammes
			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") {
					//ouverture de la gamme
					contenuNav += "<a href=\"" + gammes.item(j).getAttribute("url") + "\">" + gammes.item(j).getAttribute("nom") + "</a>\n";
					//fermeture fin de cellule gamme
				}
			}
			//fermeture du cadre des gammes
			contenuNav += "</div>";
			//fermeture du rayon
			contenuNav += "</div>";
		}
	}
	contenuNav += "</div>";
	//on affiche notre variable de nav
	document.getElementById("cadre_html_nav_haute").innerHTML = contenuNav;
}
//on charge le fichier catalogue.xml qui se situe dans le répertoire boutique (et boutique_us)
loadXMLDoc("../boutique/architecture_catalogue.xml");