var menuReq;
// retrieve XML document (reusable generic function);
// parameter is URL string (relative or complete) to
// an .xml file whose Content-Type is a valid XML
// type, such as text/xml; XML source must be from
// same domain as HTML file
function menuLoadXMLDoc(url) {
   // branch for native XMLHttpmenuRequest object
   if (isIE) url=url + "?no_cache_for_ie="+Math.random();
    if (window.XMLHttpRequest) {
        menuReq = new XMLHttpRequest();
        menuReq.onreadystatechange = menuProcessmenuReqChange;
        menuReq.open("GET", url, true);
        menuReq.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        // isIE = true;
        menuReq = new ActiveXObject("Microsoft.XMLHTTP");
        if (menuReq) {
            menuReq.onreadystatechange = menuProcessmenuReqChange;
            menuReq.open("GET", url, true);
            menuReq.send();
        }
    }
}

// handle onreadystatechange event of menuReq object
function menuProcessmenuReqChange() {
    // only if menuReq shows "loaded"
    if (menuReq.readyState == 4) {
        // only if "OK"
        if (menuReq.status == 200) {
			
                buildMenuBar();
         } else {
            alert("Erreur lors de la lecture des données XML :\n" + menuReq.statusText);
         }
    }
}
function buildMenuBar() {
	var items = menuReq.responseXML.getElementsByTagName("menu");
    //alert(items.length + " menus");
    for (var i = 0; i < items.length; i++) {
		var menuxml = items[i];
		if (isIE) {
			var myNewMenuId =  menuxml.childNodes[0].firstChild.nodeValue;
			var myNewMenuZone =menuxml.childNodes[1].firstChild.nodeValue;
			var myNewMenuText = menuxml.childNodes[2].firstChild.nodeValue;
			var myNewMenuUrl = menuxml.childNodes[3].firstChild.nodeValue;
			var myNewMenuEnabled= menuxml.childNodes[4].firstChild.nodeValue;
			var myNewMenuSmleft= menuxml.childNodes[5].firstChild.nodeValue;
			var myNewMenuSmenabled= menuxml.childNodes[6].firstChild.nodeValue;
		} else {
			// navigateurs firefox, safari, etc..
			var myNewMenuId = getElementTextNS("", "id", menuxml, 0);
			var myNewMenuZone = getElementTextNS("", "zone", menuxml, 0);
			var myNewMenuText = getElementTextNS("", "text", menuxml, 0);
			var myNewMenuUrl= getElementTextNS("", "link", menuxml, 0);
			var myNewMenuEnabled = getElementTextNS("", "enabled", menuxml, 0);
			var myNewMenuSmleft = getElementTextNS("", "smleft", menuxml, 0);
			var myNewMenuSmenabled = getElementTextNS("", "smenambled", menuxml, 0);
		}
		if (myNewMenuEnabled == 1) {
			myNewMenu = document.createElement("div");
			myNewMenu.setAttribute("className","casemenu");
			myNewMenu.setAttribute("class","casemenu");
			if (myNewMenuUrl != '#') {
				myNewMenuLink=document.createElement("a")
				myNewMenuLink.setAttribute("href",myNewMenuUrl);
				myNewMenuLink.appendChild(document.createTextNode(myNewMenuText));
				myNewMenu.appendChild(myNewMenuLink);
			} else {
				myNewMenu.appendChild(document.createTextNode(myNewMenuText));
			}
			document.getElementById(myNewMenuZone).appendChild(myNewMenu);
			// les sous menus
			var submenuxml = menuxml.getElementsByTagName("sousmenu");
			if  ((submenuxml.length >0) && (myNewMenuSmenabled != 0)){
				// activation de l'évènement onmouseover sur le menu 
				myNewMenu.onmouseover =new Function("showMenu('menu"+myNewMenuId+"')");
				// création du calque "sous menu"
				var myNewSubmenu = document.createElement("div");
				mynewSubmenuStyle="position:absolute;left:"+myNewMenuSmleft+"px; top:75px;  display:none; z-index:1000;"; 
				if (isIE) {myNewSubmenu.style.setAttribute("cssText",mynewSubmenuStyle);} else {myNewSubmenu.setAttribute("style",mynewSubmenuStyle);}
				myNewSubmenu.setAttribute("id", 'menu' + myNewMenuId );
				// on y ajoute les sous menus
				for (var j = 0; j < submenuxml.length; j++) {
					var myNewSubMenuPicto = ''; 
					var myNewSubMenuLinkTarget = ''
					if (isIE) {
						for (id=0; id<submenuxml[j].childNodes.length; id++){
							if (submenuxml[j].childNodes[id].nodeName=='picto')  myNewSubMenuPicto = submenuxml[j].childNodes[id].firstChild.nodeValue;
							if (submenuxml[j].childNodes[id].nodeName=='text')  {
								myNewSubMenuText = submenuxml[j].childNodes[id].firstChild.nodeValue;
							}
							if (submenuxml[j].childNodes[id].nodeName=='link')  myNewSubMenuLink = submenuxml[j].childNodes[id].firstChild.nodeValue;
							if (submenuxml[j].childNodes[id].nodeName=='enabled') myNewSubMenuEnabled = submenuxml[j].childNodes[id].firstChild.nodeValue;
							if (submenuxml[j].childNodes[id].nodeName=='target')  myNewSubMenuLinkTarget = submenuxml[j].childNodes[id].firstChild.nodeValue;
						}						
						// alert(myNewSubMenuText);
					} else {
					// navigateurs  firefox, safari, etc..
						var myNewSubMenuText = getElementTextNS("", "text", submenuxml[j], 0);
						var myNewSubMenuLink = getElementTextNS("", "link", submenuxml[j], 0);
						var myNewSubMenuEnabled = getElementTextNS("", "enabled", submenuxml[j], 0);
						myNewSubMenuPicto = getElementTextNS("", "picto", submenuxml[j], 0);
						myNewSubMenuLinkTarget = getElementTextNS("", "target", submenuxml[j], 0);
					}
					// if (myNewSubMenuText == 'Palmarès') alert(myNewSubMenuLink);
					if (myNewSubMenuText != '!SEPARATOR') {
						if (myNewSubMenuEnabled == 1) {
							// alert(myNewSubMenuText);
							var	myNewSubmenuItem = document.createElement("a");
							myNewSubmenuItem.setAttribute("href",myNewSubMenuLink);
							if ((myNewSubMenuLinkTarget != '') && (myNewSubMenuLinkTarget != 'n/a')) myNewSubmenuItem.setAttribute("target",myNewSubMenuLinkTarget);
							
							if ((myNewSubMenuPicto != '') && (myNewSubMenuPicto != 'n/a')) {
								// alert ("création image " + myNewSubMenuPicto);
								var myNewSubmenuItemImg=document.createElement("img");
								// myNewSubmenuItemImg
								myNewSubmenuItemImg.setAttribute('src','/2009/img/menu/' + myNewSubMenuPicto);  
								myNewSubmenuItemImg.setAttribute('border','0');  
								myNewSubmenuItemImg.setAttribute('align','absmiddle');  
								myNewSubmenuItem.appendChild(myNewSubmenuItemImg);
							}// IF ajout d'une image
							// texte du sous menu (placé ici pour etre après l'image)
							myNewSubmenuItem.appendChild(document.createTextNode(myNewSubMenuText));
							myNewSubmenu.appendChild(myNewSubmenuItem);		
							// alert(myNewSubmenuItem.innerHTML);
						}
					}	else {
						var	myNewSubmenuSeparator = document.createElement("hr");
						myNewSubmenu.appendChild(myNewSubmenuSeparator);	
					}
						
				} // boucle for sous-menus
				document.getElementById('menubars').appendChild(myNewSubmenu);
			}	// si nombre de sous-menus > 0
		
		} 	// si création du menu
		
    }	// boucle for menus		
}
function showMenu(idMenu){	
	hideMenu();
	document.getElementById(idMenu).style.display = "block";
	displayedMenu = idMenu;
}
function hideMenu(){
	var d = document.getElementById(displayedMenu)
	if (d) d.style.display = "none";
}
function gotoHome(){
	//
}
var displayedMenu='menubar1';
menuLoadXMLDoc("/xml/menu.xml")
	