// This Script and many more, available from
// http://www.viewsource.dk
// 
//  - Lots of free Java Applets
//  - Lots of free JavaScripts
//  - Lots of free DHTMLScripts
//  - Lots of free ASPScripts

********************************************
      This goes in the head section
********************************************

<script>
<!-- Beginning of JavaScript -

// CREDITS:
// Hierarchical menu ondoubleclick by Urs Dudli and Peter Gehrig 
// Copyright (c) 2000 Peter Gehrig and Urs Dudli. All rights reserved.
// Permission given to use the script provided that this notice remains as is.
// Additional scripts can be found at http://www.24fun.ch.
// info@24fun.ch
// 1/20/2000

// IMPORTANT: 
// If you add this script to a script-library or script-archive 
// you have to add a link to http://www.24fun.ch on the webpage 
// where this script will be running.

// INSTRUCTIONS: 
// Copy the block <div id="menu"> at the end of the body-part of this webpage.
// Paste this block at the end of the body-part of your webpage.
// Do not change this block.

// Put the the image minus131.gif and the image plus131.gif in the same directory
// as the script.

// Configure the menu and font parameters for each menublock below.
// each menublock[x] contains all necessary informations to build one menu-item with 
// as many sublinks as you like. You can add as many menublocks as you need.
// Attention: When you configure the menublocks take care that you
// set the ";" and the "+" as seen below.

var menublock=new Array() 
var plus_i=0 
menublock[0]="Verdana;"+ 			// font mainlink
			 "1;"+				// fontsize mainlink
			 "000000;"+			// fontcolor mainlink
			 "1;"+				// fontweight mainlink, 1 means bold, 0 means normal
			 "Verdana;"+ 		// font sublinks
			 "1;"+				// fontsize sublinks
			 "FFFFFF;"+			// fontcolor sublinks
			 "0;"+				// fontweight sublinks, 1 means bold, 0 means normal
			 "menublock 1|#|;"+ 				        // text|URL|target of mainlink
			 "submenu 1.1|submenu11.html|_blank;"+		// text|URL|target of first sublink
			 "submenu 1.2|submenu12.html|_blank;" 		// text|URL|target of second sublink	 
			 
menublock[1]="Verdana;"+ 		// font mainlink
			 "1;"+				// fontsize mainlink
			 "000000;"+			// fontcolor mainlink
			 "1;"+				// fontweight mainlink, 1 means bold, 0 means normal
			 "Verdana;"+ 		// font sublinks
			 "1;"+				// fontsize sublinks
			 "FFFFFF;"+			// fontcolor sublinks
			 "0;"+				// fontweight sublinks, 1 means bold, 0 means normal
			 "menublock 2|#|;"+	                    // text and URL of first mainlink
			 "submenu 2.1|submenu21.html|_blank;"+	// text|URL|target of mainlink
			 "submenu 2.2|submenu22.html|_blank;"+	// text|URL|target of first sublink
			 "submenu 2.3|submenu23.html|_blank;"+	// text|URL|target of second sublink 
			 "submenu 2.4|submenu24.html|_blank;"+	// text|URL|target of thirth sublink 
			 "submenu 2.5|submenu25.html|_blank;"   // text|URL|target of fourth sublink 
			 
menublock[2]="Verdana;"+ 	    // font mainlink
			 "1;"+				// fontsize mainlink
			 "000000;"+			// fontcolor mainlink
			 "1;"+				// fontweight mainlink, 1 means bold, 0 means normal
			 "Verdana;"+ 		// font sublinks
			 "1;"+				// fontsize sublinks
			 "FFFFFF;"+			// fontcolor sublinks
			 "0;"+				// fontweight sublinks, 1 means bold, 0 means normal
			 "menublock 3|#|;"+	                    // text and URL of mainlink
			 "submenu 3.1|submenu31.html|_blank;"+	// text and URL of first sublink
			 "submenu 3.2|submenu32.html|_blank;"+	// text and URL of second sublink
			 "submenu 3.3|submenu33.html|_blank;"   // text and URL of thirth sublink 	
             
// The following block is different. It contains a mainlink without submenus.
// Take care to set the ";;;;" exactly as seen below.
menublock[3]="Verdana;"+ 		// font mainlink
			 "1;"+				// fontsize mainlink
			 "000000;"+			// fontcolor mainlink
             "1;"+				// fontweight mainlink, 1 means bold, 0 means normal
             ";;;;"+ 		    // leave it empty
			 "HOME|menudblclick.html|_blank;"   // text and URL of mainlink
			 
// the backgroundcolor of the menu			 
var bgmenu="FF0000"

// the width of the menu (pixels)
var widthmenu=120
             		 
// No need to change anything below	 
//  **********************************************************************************  
var menusplit
var urlsplit
var font_weight_main
var font_weight_sub
var font_weight_sub
var showmenu=1
var x,y

var minusimg=new Image()
minusimg.src="minus131.gif"

var plusimg=new Image()
plusimg.src="plus131.gif"
			 
var showsubmenus=new Array()
for (i=0;i<=menublock.length-1;i++) {
	showsubmenus[i]=-1
}

var plusminusimg=new Array()
for (i=0;i<=menublock.length-1;i++) {
	plusminusimg[i]=plusimg.src
}

function openandclose(visi) {
	showsubmenus[visi]=(-1)*showsubmenus[visi]
    var menucontent=""
    if (showsubmenus[visi]==1) {plusminusimg[visi]=minusimg.src}
    if (showsubmenus[visi]==-1) {plusminusimg[visi]=plusimg.src}
    menucontent+="<table border=0 cellspacing=0  width="+widthmenu+">"
	for (i=0;i<=menublock.length-1;i++) {
		menusplit=menublock[i].split(";")
		urlsplit=menusplit[8].split("|")
		if (menusplit[3]==1) {font_weight_main="<b>"}
		if (menusplit[3]==0) {font_weight_main=""}
		if (menusplit[7]==1) {font_weight_sub="<b>"}
		if (menusplit[7]==0) {font_weight_sub=""} 
		menucontent+="<tr><td bgcolor="+bgmenu+">"
       if (menusplit[9].length==0) {
            menucontent+="&nbsp;</td>"
            menucontent+="<td bgcolor="+bgmenu+">"
            menucontent+=font_weight_main
            menucontent+="<a href="+urlsplit[1]+" target="+urlsplit[2]+">"
            menucontent+="<font face="+menusplit[0]+" color="+menusplit[2]+" size="+menusplit[1]+">"
            menucontent+=urlsplit[0]
            menucontent+="</font></a></td></tr>"
            plus_i++ 
        }
        
        if (menusplit[9].length!=0) {
            var thismainmenu=i+plus_i
            menucontent+="<a href='javascript:openandclose("+i+")'>"
            menucontent+="&nbsp;&nbsp;<img src='"+plusminusimg[i]+"' border=0></a></td>"
            menucontent+="<td bgcolor="+bgmenu+">"
            menucontent+=font_weight_main
            menucontent+="<a href='javascript:openandclose("+i+")'>"
            menucontent+="<font face="+menusplit[0]+" color="+menusplit[2]+" size="+menusplit[1]+">"
            menucontent+=urlsplit[0]
            menucontent+="</font></a></td></tr>"
   
		    if (showsubmenus[i]==1) {
			    for (ii=9;ii<=menusplit.length-1;ii++) {
				    urlsplit=menusplit[ii].split("|")
                    menucontent+="<tr><td bgcolor="+bgmenu+">&nbsp;</td><td bgcolor="+bgmenu+">"
    			    menucontent+=font_weight_sub
                    menucontent+="<a href="+urlsplit[1]+" target="+urlsplit[2]+">"
                    menucontent+="<font face="+menusplit[4]+" color="+menusplit[6]+" size="+menusplit[5]+">"
                    menucontent+=urlsplit[0]
                    menucontent+="</font></a>&nbsp;</td></tr>"
			    }
		    }
        }    
	}
    menucontent+="</table>"
	if (document.all) {
		menu.innerHTML=menucontent
	}
	if (document.layers) {
		document.menu.document.write(menucontent)
		document.menu.document.close()
	}
}

function dblclick() {
	if (document.all && showmenu==1) {
		document.all.menu.style.visibility="visible"
		document.all.menu.style.posLeft=x
		document.all.menu.style.posTop=y
	}
	if (document.layers && showmenu==1) {
		document.menu.visibility="visible"
		document.menu.left=x
		document.menu.top=y
	}
	if (document.all && showmenu!=1) {
		document.all.menu.style.visibility="hidden"
	}
	if (document.layers && showmenu!=1) {
		document.menu.visibility="hidden"
	}
	showmenu=showmenu*-1
}


if (document.layers) {
document.captureEvents(Event.ONDBLCLICK);
}
document.ondblclick=dblclick;

if (document.layers){
	document.captureEvents(Event.MOUSEMOVE);
}
document.onmousemove = handlerMM;

function handlerMM(e){
	x = (document.layers) ? e.pageX : event.clientX
	y = (document.layers) ? e.pageY : event.clientY
}


// - End of JavaScript - -->
</script>

********************************************
      This goes in the body section
********************************************

 <body bgcolor=#ffffff onLoad="openandclose(1000)">
<STYLE>
A {color:FF0000;}
</STYLE>

<b>HIERARCHICAL MENU ON RIGHTCLICK:</b><br>
This is the first fullfledged hierarchical menu that your visitors can display and hide simply by doubleclicking. It works with IE4x as well as NN4.6x.<br><br>

<b>RUN THE SCRIPT:</b><br>
Doubleclick anywhere to open the menu. Doubleclick again to close the menu.<br><br>


<div id="menu" style="LEFT: 10px; POSITION: absolute; TOP: 20px; VISIBILITY: hidden"></div>
