Blame | Last modification | View Log | RSS feed
/** DROPDOWN MENU*/var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1var ns6=document.getElementById&&!document.allvar ns4=document.layersfunction showmenu(e,which){if (!document.all&&!document.getElementById&&!document.layers)returnclearhidemenu()menuobj=ie4? document.all.popmenu : ns6? document.getElementById("popmenu") : ns4? document.popmenu : ""menuobj.thestyle=(ie4||ns6)? menuobj.style : menuobjif (ie4||ns6)menuobj.innerHTML=whichelse{menuobj.document.write('<layer name=gui bgColor=#E6E6E6 width=165 onmouseover="clearhidemenu()" onmouseout="hidemenu()">'+which+'</layer>')menuobj.document.close()}menuobj.contentwidth=(ie4||ns6)? menuobj.offsetWidth : menuobj.document.gui.document.widthmenuobj.contentheight=(ie4||ns6)? menuobj.offsetHeight : menuobj.document.gui.document.heighteventX=ie4? event.clientX : ns6? e.clientX : e.xeventY=ie4? event.clientY : ns6? e.clientY : e.y//Find out how close the mouse is to the corner of the windowvar rightedge=ie4? document.body.clientWidth-eventX : window.innerWidth-eventXvar bottomedge=ie4? document.body.clientHeight-eventY : window.innerHeight-eventY//if the horizontal distance isn't enough to accomodate the width of the context menuif (rightedge<menuobj.contentwidth)//move the horizontal position of the menu to the left by it's widthmenuobj.thestyle.left=ie4? document.body.scrollLeft+eventX-menuobj.contentwidth : ns6? window.pageXOffset+eventX-menuobj.contentwidth : eventX-menuobj.contentwidthelse//position the horizontal position of the menu where the mouse was clickedmenuobj.thestyle.left=ie4? document.body.scrollLeft+eventX : ns6? window.pageXOffset+eventX : eventX//same concept with the vertical positionif (bottomedge<menuobj.contentheight)menuobj.thestyle.top=ie4? document.body.scrollTop+eventY-menuobj.contentheight : ns6? window.pageYOffset+eventY-menuobj.contentheight : eventY-menuobj.contentheightelsemenuobj.thestyle.top=ie4? document.body.scrollTop+event.clientY : ns6? window.pageYOffset+eventY : eventYmenuobj.thestyle.visibility="visible"return false}function contains_ns6(a, b) {//Determines if 1 element in contained in another- by Brainjar.comwhile (b.parentNode)if ((b = b.parentNode) == a)return true;return false;}function hidemenu(){if (window.menuobj)menuobj.thestyle.visibility=(ie4||ns6)? "hidden" : "hide"}function dynamichide(e){if (ie4&&!menuobj.contains(e.toElement))hidemenu()else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))hidemenu()}function delayhidemenu(){if (ie4||ns6||ns4)delayhide=setTimeout("hidemenu()",500)}function clearhidemenu(){if (window.delayhide)clearTimeout(delayhide)}function highlightmenu(e,state){if (document.all)source_el=event.srcElementelse if (document.getElementById)source_el=e.targetif (source_el.className=="menuitems"){source_el.id=(state=="on")? "mouseoverstyle" : ""}else{while(source_el.id!="popmenu"){source_el=document.getElementById? source_el.parentNode : source_el.parentElementif (source_el.className=="menuitems"){source_el.id=(state=="on")? "mouseoverstyle" : ""}}}}if (ie4||ns6)document.onclick=hidemenu