/*
Nom:					Menu.JS
Description:			Menu des pages du site Web de l'étude Gross & Associés
Auteur:					Raphaël Splivalo, fastnet.ch
Date:					26.04.2004
Version:				1.0
Dernière modification:	03.06.2004
Copyright:				Raphaël Splivalo, fastnet.ch
*/
var lastMenu
// identification du navigateur
if (document.all) {n=0;ie=1;ns6=0;fShow="visible";fHide="hidden";} // ie (Internet Explorer)
else if (document.getElementById){n=0;ie=0;ns6=1;fShow="";fHide="hidden";} // ns6 (Netscape >= 6.0)
else if (document.layers) {n=1;ie=0;ns6=0;fShow="show";fHide="hide";} // n4 (Netscape Navigator/Communicator <= 4.8)

	function setResize(){
		setTimeout("window.onresize=reDo;",0);
	}
	function reDo(){
		window.location.reload()
	}

// Initialize variables used in displaySubMenu function
leftX = 0; leftY = 0; rightX = 0;

img1_on = new Image();	img1_on.src = "images/menu1on.gif";
img1_off = new Image();	img1_off.src = "images/menu1off.gif";
img1_img = new Image();	img1_img.src = "images/menu1off.gif";

img2_on = new Image();	img2_on.src = "images/menu2on.gif";
img2_off = new Image();	img2_off.src = "images/menu2off.gif";
img2_img = new Image();	img2_img.src = "images/menu2off.gif";

img3_on = new Image();	img3_on.src = "images/menu3on.gif";
img3_off = new Image();	img3_off.src = "images/menu3off.gif";
img3_img = new Image();	img3_img.src = "images/menu3off.gif";

img4_on = new Image();	img4_on.src = "images/menu4on.gif";
img4_off = new Image();	img4_off.src = "images/menu4off.gif";
img4_img = new Image();	img4_img.src = "images/menu4off.gif";

img5_on = new Image();	img5_on.src = "images/menu5on.gif";
img5_off = new Image();	img5_off.src = "images/menu5off.gif";
img5_img = new Image();	img5_img.src = "images/menu5off.gif";

/*img6_on = new Image();	img6_on.src = "images/menu6on.gif";
img6_off = new Image();	img6_off.src = "images/menu6off.gif";
img6_img = new Image();	img6_img.src = "images/menu6off.gif";*/

img6_1on = new Image();		img6_1on.src = "images/menu6_1on.gif";
img6_1off = new Image();	img6_1off.src = "images/menu6_1off.gif";
img6_1img = new Image();	img6_1img.src = "images/menu6_1off.gif";

img6_2on = new Image();		img6_2on.src = "images/menu6_2on.gif";
img6_2off = new Image();	img6_2off.src = "images/menu6_2off.gif";
img6_2img = new Image();	img6_2img.src = "images/menu6_2off.gif";

img7_on = new Image();	img7_on.src = "images/specialist_on.gif";
img7_off = new Image();	img7_off.src = "images/specialist_off.gif";
img7_img = new Image();	img7_img.src = "images/specialist_off.gif";

	// menu contents
	function showToolbar(){
		// addItem(id, image or text, hint, location);
		menu = new Menu();
		//menu.addItem("six",'<img src="images/menu6off.gif" name="img6" border="0" hspace="0" vspace="0" ismap usemap="#map" />',"","");
		//menu.addItem("six",'<img src="images/menu6_1off.gif" name="img6_1" border="0" hspace="0" vspace="0" /><br><img src="images/menu6_2off.gif" name="img6_2" border="0" hspace="0" vspace="0" />',"","");
		menu.addItem("deux",'<img src="images/menu2off.gif" name="img2" border="0" hspace="0" vspace="0" />',"","2.asp?page=2_1");
		menu.addItem("quatre",'<img src="images/menu4off.gif" name="img4" border="0" hspace="0" vspace="0" />',"","4.asp?page=4_1");
		menu.addItem("trois",'<img src="images/menu3off.gif" name="img3" border="0" hspace="0" vspace="0" />',"","3.asp?page=3_1");
		menu.addItem("sept",'<img src="images/specialist_off.gif" name="img7" border="0" hspace="0" vspace="0" />',"","7.asp?page=7_1");
		menu.addItem("cinq",'<img src="images/menu5off.gif" name="img5" border="0" hspace="0" vspace="0" />',"","5.asp?page=5_1");
		menu.addItem("un",'<img src="images/menu1off.gif" name="img1" border="0" hspace="0" vspace="0" />',"","1.asp?page=1");

		// addSubItem(idParent, text, hint, location);
		/*menu.addSubItem("six","Contacts","","6.asp?page=6_1");
        menu.addSubItem("six","Liens","","6.asp?page=6_2");*/
		menu.addSubItem("deux","Le cabinet","","2.asp?page=2_1");
		menu.addSubItem("deux","Méthode de travail","","2.asp?page=2_2");
		menu.addSubItem("quatre","Jean-Pierre Gross","","4.asp?page=4_1");
        menu.addSubItem("quatre","Jacques-Henri Bron","","4.asp?page=4_2");
        menu.addSubItem("quatre","Pierre Mathyer","","4.asp?page=4_3");
        menu.addSubItem("quatre","Fran&ccedil;ois Logoz","","4.asp?page=4_5");
        menu.addSubItem("quatre","Alexandre Guyaz","", "4.asp?page=4_6");
        menu.addSubItem("quatre","Daniel Guignard","","4.asp?page=4_7");
		menu.addSubItem("quatre","Adrian Schneider","","4.asp?page=4_13");
        //menu.addSubItem("quatre","Sandra Genier M&uuml;ller","","4.asp?page=4_8");
        //menu.addSubItem("quatre","Serge Segura","","4.asp?page=4_12");  
        
       // menu.addSubItem("quatre","Guy Longchamp","","4.asp?page=4_14");
        menu.addSubItem("quatre","Olivier Nicod","","4.asp?page=4_16");
		menu.addSubItem("quatre","Vincent Yerly","","4.asp?page=4_19");	 
        menu.addSubItem("quatre","Cédric Genton","","4.asp?page=4_17");		
        menu.addSubItem("quatre","Camille Perrier","","4.asp?page=4_18"); 
		
		menu.addSubItem("trois","Contrats","","3.asp?page=3_1");
 		menu.addSubItem("trois","Droit des soci&eacute;t&eacute;s","","3.asp?page=3_2");
 		menu.addSubItem("trois","Fusions et acquisitions","","3.asp?page=3_3");
 		menu.addSubItem("trois","Poursuites et faillites","","3.asp?page=3_4");
 		menu.addSubItem("trois","Sursis concordataire","","3.asp?page=3_5");
 		menu.addSubItem("trois","Droit p&eacute;nal &eacute;conomique","","3.asp?page=3_6");
 		menu.addSubItem("trois","Droit bancaire et boursier","","3.asp?page=3_7");
 		menu.addSubItem("trois","Relations bancaires","","3.asp?page=3_8");
 		menu.addSubItem("trois","Arbitrage","","3.asp?page=3_9");
 		menu.addSubItem("trois","Successions","","3.asp?page=3_10");
 		menu.addSubItem("trois","Circulation routi&egrave;re","","3.asp?page=3_11");
 		menu.addSubItem("trois","Responsabilit&eacute; civile et assurances","","3.asp?page=3_12");
 		menu.addSubItem("trois","Immobilier","","3.asp?page=3_13_1");
 		menu.addSubItem("trois","> Droit du bail","","3.asp?page=3_13_1");
 		menu.addSubItem("trois","> Contrat d'entreprise","","3.asp?page=3_13_2");
 		menu.addSubItem("trois","> Marchés publics","","3.asp?page=3_13_3");
 		menu.addSubItem("trois","> Constructions et aménagement du territoire","","3.asp?page=3_13_4");
 		menu.addSubItem("trois","> Droits réels","","3.asp?page=3_13_5");
 		menu.addSubItem("trois","Droit du travail","","3.asp?page=3_14");
 		menu.addSubItem("trois","Concurrence et cartels","","3.asp?page=3_16");
 		menu.addSubItem("trois","Brevets, marques, designs, droits d'auteur","","3.asp?page=3_17");
 		menu.addSubItem("trois","Mariage et divorce","","3.asp?page=3_18");
        menu.addSubItem("cinq","Politique d'honoraires","","5.asp?page=5_1");
        menu.addSubItem("cinq","Provisions et facturation","","5.asp?page=5_2");
        menu.addSubItem("sept","Avocat spécialiste FSA","","7.asp?page=7_1");

        menu.showMenu();
	}
	//create the menu
	function Menu(){
		this.addItem = addItem;
		this.addSubItem = addSubItem;
		this.showMenu = showMenu;
      	this.bgColor = "#c2d2dc";
      	this.subMenuPaneWidth = 260;
		lastMenu = null;
		
		HTMLstr = "";
		// en-tête de la page, avec logo et choix des langues
		HTMLstr += "<table width='950' align='left' border='0' cellpadding='0' cellspacing='3'>\n";
		HTMLstr += "<tr><td height='20' colspan='7' bgcolor='#c2d2dc'>&nbsp;</td></tr>";
		HTMLstr += "<tr><td width='864' height='62' colspan='6' valign='bottom' bgcolor='#003366'>";
		HTMLstr += "&nbsp;<img src='../images/G&A_logo_neg.gif' alt='Logo Gross & Associés' /></td>";
		HTMLstr += "<td bgcolor='#003366' width='86' valign='middle' align='center'>";
		/* gestion des langues
		HTMLstr += "&nbsp;&nbsp;<a href='../en/" + str_link + "' class='tabOver'>ENGLISH</a><br>";
		HTMLstr += "&nbsp;&nbsp;<a href='../fr/" + str_link + "' class='tabOver'>FRAN&Ccedil;AIS</a><br>";
		*/
		//Anglais HTMLstr += "&nbsp;&nbsp;<span class='tabOver'>ENGLISH</span><br>";
		HTMLstr += "<span class='tabOver'><a href='../en/1.asp' class='tabOver'><img src='images/enus.gif' alt='english' border=0 hspace=5 vspace=5 /></a></span>";
		HTMLstr += "<span class='tabOver'><a href='../fr/1.asp' class='tabOver'><img src='images/fr.gif' alt='français' border=0 hspace=5 vspace=5 /></a></span><br>";
		HTMLstr += "<span class='tabOver'><a href='../de/1.asp' class='tabOver'><img src='images/de.gif' alt='deutsch' border=0 hspace=5 vspace=5 /></a></span>";
		HTMLstr += "<span class='tabOver'><a href='../es/1.asp' class='tabOver'><img src='images/es.gif' alt='español' border=0 hspace=5 vspace=5 /></a></span><br>";			
		HTMLstr += "\n";
		HTMLstr += "<!-- MENU PANE DECLARATION BEGINS -->\n";
		HTMLstr += "\n";
		HTMLstr += "<tr valign='bottom'>";
		HTMLstr += "<td onMouseOver=\"this.className='tabOver'\" onMouseOut=\"this.className='tabOut'\"><a href='6.asp?page=6_1' onMouseOver=\"displaySubMenu('contact')\"><img src='images/menu6_1off.gif' name='img6_1' border='0' hspace='0' vspace='0' /></a>";
		HTMLstr += "<br><a href='6.asp?page=6_2' onMouseOver=\"displaySubMenu('liens')\"><img src='images/menu6_2off.gif' name='img6_2' border='0' hspace='0' vspace='0' /></a></td>\n";
		HTMLstr += "<!-- MAIN MENU STARTS -->\n";
		HTMLstr += "<!-- MAIN_MENU -->\n";
		HTMLstr += "<!-- MAIN MENU ENDS -->\n";
		HTMLstr += "</table>\n";
		HTMLstr += "<!-- SUB MENU STARTS -->\n";
		HTMLstr += "<!-- SUB_MENU -->\n";
		HTMLstr += "<!-- SUB MENU ENDS -->\n";
		HTMLstr += "\n";
		HTMLstr += "<!-- MENU PANE DECLARATION ENDS -->\n";
	}
	//add drop-down container
    function addItem(idItem, text, hint, location){
        var Lookup = "<!-- ITEM "+idItem+" -->";
        if (HTMLstr.indexOf(Lookup) != -1){
            alert(idParent + " already exists");
            return;
        }
        var MENUitem = "";
        MENUitem += "<!-- ITEM "+idItem+" -->";
        if (n){ //n4 à adapter
			MENUitem += "<td height='36' class=\"tabOut\" ";
			MENUitem += "onMouseOver=\"this.className='tabOver'\" onMouseOut=\"this.className='tabOut'\">";
			MENUitem += "<ilayer name="+idItem+">";
			MENUitem += "<a href='";
			MENUitem += location;
			MENUitem += "' class=clsMenuItemNS onmouseover=\"displaySubMenu('"+idItem+"')\">";							 														
			MENUitem += text;
			MENUitem += "</a>";
			MENUitem += "</ilayer></td>";
		} else { //ie ou ns6
            MENUitem += "<td height='36' class=\"tabOut\" ";
            MENUitem += "onMouseOver=\"this.className='tabOver'\" onMouseOut=\"this.className='tabOut'\"> ";
            MENUitem += "<a ";
            /*if (hint != null) MENUitem += "title='"+hint+"' ";*/
            // si l'URL est vide, l'hyperlien renvoie sur la page affichée
			if (location != null && idItem.substr(0,3) != 'six') {
				MENUitem += "href='"+location+"' ";
			} else if (location != null && idItem.substr(0,3) == 'six') {
				tag = location.indexOf(">")
				MENUitem += "href='" + location.substr(0,tag) + "'>";
				MENUitem += "<a href='" + location.substr(tag+1,location.length-tag) + "' ";
			} else MENUitem += "href='.' ";
			//if (idItem != 'six') {
				MENUitem += "onMouseOver=\"displaySubMenu('"+idItem+"')\"> ";
			//}
            MENUitem += "<div id='"+idItem+"'>";
            MENUitem += text;
            MENUitem += "</div></td>\n";
        }
		MENUitem += "<!-- END OF ITEM "+idItem+" -->\n\n";
        MENUitem += "<!-- MAIN_MENU -->\n";
        HTMLstr = HTMLstr.replace("<!-- MAIN_MENU -->\n", MENUitem);
    }
    //add sub-menu items to applicable drop-down container
    function addSubItem(idParent, text, hint, location){
        var MENUitem = "";
        Lookup = "<!-- ITEM "+idParent+" -->";
        if (HTMLstr.indexOf(Lookup) == -1){
			alert(idParent + " not found");
			return;
        }
        Lookup = "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->";
        if (HTMLstr.indexOf(Lookup) == -1){
			if (n){ //n4 à adapter
				MENUitem += "\n";
				MENUitem += "<layer id='"+idParent+"submenu' visibility=hide bgcolor='"+this.bgColor+"'>\n";
				MENUitem += "<table align='center' bgcolor='"+this.bgColor+"' cellpadding='5' cellspacing='3' width="+this.subMenuPaneWidth+">\n";
				MENUitem += "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->\n";
				MENUitem += "</table>\n";
				MENUitem += "</layer>\n";
				MENUitem += "\n";
			} else {
				MENUitem += "\n";
				MENUitem += "<div id='"+idParent+"submenu' style='position:absolute; background-color: "+this.bgColor+"; visibility: hidden; width: "+this.subMenuPaneWidth+"; top: -300;z-index:100;'>\n";
				MENUitem += "<table align='center' bgcolor='"+this.bgColor+"' cellpadding='5' cellspacing='3' width="+this.subMenuPaneWidth+">\n";
				MENUitem += "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->\n";
				MENUitem += "</table>\n";
				MENUitem += "</div>\n";
				MENUitem += "\n";
			}
			MENUitem += "<!-- SUB_MENU -->\n";
			HTMLstr = HTMLstr.replace("<!-- SUB_MENU -->\n", MENUitem);
        }
        Lookup = "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->\n";
        if (n) MENUitem = "<tr><td><a class=clsMenuItemNS title='"+hint+"' href='"+location+"'>"+text+"</a><br></td></tr>\n";
        else MENUitem = "<tr><td><a class=tabOut title='"+hint+"' href='"+location+"'>"+text+"</a><br></td></tr>\n";
        MENUitem += Lookup;
        HTMLstr = HTMLstr.replace(Lookup, MENUitem);
	}
	//write out main menu bar
	function showMenu(){
		document.writeln(HTMLstr);
		document.writeln("<map name='map'>");
		document.writeln("<area shape='rect' coords='0,0,83,17' href='6.asp?page=6_1' alt='Contacts' onMouseOver='document.img6_1.src = img6_1on.src' onMouseOut='document.img6_1.src = img6_1off.src'>");
		document.writeln("<area shape='rect' coords='0,18,83,36' href='6.asp?page=6_2' alt='Liens' onMouseOver='document.img6_2.src = img6_2on.src' onMouseOut='document.img6_2.src = img6_2off.src'>");
		document.writeln("</map>");
	}
	//show submenu, and then calculate its x and y coordinates
    function displaySubMenu(idMainMenu){
		// réaffiche tous les titres de menus en mode normal
		document.img1.src = img1_off.src; document.img2.src = img2_off.src; document.img3.src = img3_off.src;
		document.img4.src = img4_off.src; document.img5.src = img5_off.src; /*document.img6.src = img6_off.src;*/
		document.img6_1.src = img6_1off.src; document.img6_2.src = img6_2off.src;document.img7.src = img7_off.src;
		
		// affiche le titre du menu survolé en mode inverse
		// si le menu survolé n'a pas d'items (submenu), le reste de ce sous-programme n'est pas exécuté
		switch (idMainMenu){
			case "un":
				document.img1.src = img1_on.src
				return
			case "deux":
				document.img2.src = img2_on.src
				break
			case "trois":
				document.img3.src = img3_on.src
				break
			case "quatre":
				document.img4.src = img4_on.src
				break
			case "cinq":
				document.img5.src = img5_on.src
				break
			case "sept":
				document.img7.src = img7_on.src
				break				
			case "contact":
				/*document.img6.src = img6_on.src*/
				document.img6_1.src = img6_1on.src;
				return	
			case "liens":
				/*document.img6.src = img6_on.src*/
				document.img6_2.src = img6_2on.src;
				return
		}
		var menu;
		var submenu;
        if (n){ //n4 à adapter
			submenu = document.layers[idMainMenu+"submenu"];
			if (lastMenu != null && lastMenu != submenu) hideAll();
			submenu.left = document.layers[idMainMenu].pageX - 7;
			submenu.top  = document.layers[idMainMenu].pageY + document.layers[idMainMenu].clip.height + 5;
			submenu.visibility = fShow;
			submenu.zIndex=10;
			leftX  = document.layers[idMainMenu+"submenu"].left;
			rightX = leftX + document.layers[idMainMenu+"submenu"].clip.width;
			leftY  = document.layers[idMainMenu+"submenu"].top+document.layers[idMainMenu+"submenu"].clip.height;
        } else if (ns6) {
			menu = document.getElementById(idMainMenu);
            submenu = document.getElementById(idMainMenu+"submenu");
            if (lastMenu != null && lastMenu != submenu) hideAll();
			submenu.style.left = calculateSumOffset(menu, 'offsetLeft');
			submenu.style.top  = document.getElementById(idMainMenu).offsetHeight + 99;
			submenu.style.visibility = fShow;
			leftX  = calculateSumOffset(menu, 'offsetLeft');
			rightX =leftX + document.getElementById(idMainMenu+"submenu").offsetWidth + 1;
			leftY  = document.getElementById(idMainMenu+"submenu").offsetHeight + window.pageYOffset + 170;
        } else if (ie) {
            menu = eval(idMainMenu);
            submenu = eval(idMainMenu+"submenu.style");
            if (lastMenu != null && lastMenu != submenu) hideAll();
			submenu.left = calculateSumOffset(menu, 'offsetLeft');
			submenu.top  = document.all[idMainMenu].offsetHeight + 97;
			submenu.visibility = fShow;
			leftX  = document.all[idMainMenu+"submenu"].style.posLeft;
			rightX = leftX + document.all[idMainMenu+"submenu"].offsetWidth + 2;
			leftY  = document.all[idMainMenu+"submenu"].style.posTop+document.all[idMainMenu+"submenu"].offsetHeight;
		}
        lastMenu = submenu;
	}
    //hide the submenu
    function hideAll(){
		if (ns6){
			if (lastMenu != null) {
				lastMenu.style.visibility = fHide;
			}
		} else {
			if (lastMenu != null) {
				lastMenu.visibility = fHide;
			}
		}
    }
    //used to calculate position of a submenu
    function calculateSumOffset(idItem, offsetName){
        var totalOffset = 0;
        var item = eval('idItem');
        do {
            totalOffset += eval('item.'+offsetName);
            item = eval('item.offsetParent');
        } while (item != null);
        // le menu déroulé ne doit pas dépasser la limite de largeur de la page Web
        if (totalOffset > 950 - menu.subMenuPaneWidth) {
			totalOffset = 950 - menu.subMenuPaneWidth + 3
        }
        return totalOffset;
    }
	//close menu on mouse out of menu container
    function updateIt(e){
		if (ie){
			var x = window.event.clientX;
			var y = window.event.clientY;
		} else {
			var x = e.pageX;
			var y = e.pageY;
		}
		//si la position du pointeur est en dehors du menu, celui-ci est masqué
		if (x > rightX || x < leftX || y > leftY) hideAll();
    }
//set page to hide menus on a mouse click or on mouseout of menu container
if (ns6){
    document.body.onclick=hideAll;
    document.body.onmousemove=updateIt;
} else if (ie){
    document.body.onclick=hideAll;
    document.body.onscroll=hideAll;
    document.body.onmousemove=updateIt;
} else if (n){ //n4 à contrôler
    document.onmousedown=hideAll;
    window.captureEvents(Event.MOUSEMOVE);
    window.onmousemove=updateIt;
}
