var yixue_disappeardelay=250  //menu disappear speed onMouseout (in miliseconds)
var yixue_enableanchorlink=1 //Enable or disable the anchor link when clicked on? (1=yixue_e, 0=d)
var yixue_hidemenu_onclick=1 //hide menu when user clicks within menu? (1=yes, 0=no)

/////No further editting needed

var yixue_ie5=document.all
var yixue_ns6=document.getElementById&&!document.all

function yixue_getposOffset(yixue_what, yixue_offsettype){
var totaloffset=(yixue_offsettype=="left")? yixue_what.offsetLeft : yixue_what.offsetTop;
var parentEl=yixue_what.offsetParent;
while (parentEl!=null){
totaloffset=(yixue_offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}

function yixue_showhide(yixue_obj, yixue_e, visible, hidden){
if (yixue_ie5||yixue_ns6)
dropmenuobj.style.left=dropmenuobj.style.top=-500
if (yixue_e.type=="click" && yixue_obj.visibility==hidden || yixue_e.type=="mouseover")
yixue_obj.visibility=visible
else if (yixue_e.type=="click")
yixue_obj.visibility=hidden
}

function yixue_iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function yixue_clearbrowseredge(yixue_obj, yixue_whichedge){
var edgeoffset=0
if (yixue_whichedge=="rightedge"){
var windowedge=yixue_ie5 && !window.opera? yixue_iecompattest().scrollLeft+yixue_iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-yixue_obj.offsetWidth
}
else{
var topedge=yixue_ie5 && !window.opera? yixue_iecompattest().scrollTop : window.pageYOffset
var windowedge=yixue_ie5 && !window.opera? yixue_iecompattest().scrollTop+yixue_iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure){ //move up?
edgeoffset=dropmenuobj.contentmeasure+yixue_obj.offsetHeight
if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) //up no good either?
edgeoffset=dropmenuobj.y+yixue_obj.offsetHeight-topedge
}
}
return edgeoffset
}

function yixue_dropdownmenu(yixue_obj, yixue_e, yixue_dropmenuID){
if (window.event) event.cancelBubble=true
else if (yixue_e.stopPropagation) yixue_e.stopPropagation()
if (typeof dropmenuobj!="undefined") //hide previous menu
dropmenuobj.style.visibility="hidden"
yixue_clearhidemenu()
if (yixue_ie5||yixue_ns6){
yixue_obj.onmouseout=yixue_delayhidemenu
dropmenuobj=document.getElementById(yixue_dropmenuID)
if (yixue_hidemenu_onclick) dropmenuobj.onclick=function(){dropmenuobj.style.visibility='hidden'}
dropmenuobj.onmouseover=yixue_clearhidemenu
dropmenuobj.onmouseout=yixue_ie5? function(){ yixue_dynamichide(event)} : function(event){ yixue_dynamichide(event)}
yixue_showhide(dropmenuobj.style, yixue_e, "visible", "hidden")
dropmenuobj.x=yixue_getposOffset(yixue_obj, "left")
dropmenuobj.y=yixue_getposOffset(yixue_obj, "top")
dropmenuobj.style.left=dropmenuobj.x-yixue_clearbrowseredge(yixue_obj, "rightedge")+"px"
dropmenuobj.style.top=dropmenuobj.y-yixue_clearbrowseredge(yixue_obj, "bottomedge")+yixue_obj.offsetHeight+"px"
}
return yixue_clickreturnvalue()
}

function yixue_clickreturnvalue(){
if ((yixue_ie5||yixue_ns6) && !yixue_enableanchorlink) return false
else return true
}

function yixue_contains_ns6(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

function yixue_dynamichide(yixue_e){
if (yixue_ie5&&!dropmenuobj.contains(yixue_e.toElement))
yixue_delayhidemenu()
else if (yixue_ns6&&yixue_e.currentTarget!= yixue_e.relatedTarget&& !yixue_contains_ns6(yixue_e.currentTarget, yixue_e.relatedTarget))
yixue_delayhidemenu()
}

function yixue_delayhidemenu(){
delayhide=setTimeout("dropmenuobj.style.visibility='hidden'",yixue_disappeardelay)
}

function yixue_clearhidemenu(){
if (typeof delayhide!="undefined")
clearTimeout(delayhide)
}