//Chrome Drop Down Menu- Author: Dynamic Drive (http://www.dynamicdrive.com)
//Last updated: Jan 1st, 06'

var cssdropdown={
disappeardelay: 250, //set delay in miliseconds before menu disappears onmouseout

//No need to edit beyond here////////////////////////
dropmenuobj: null, divshim: null, ie: document.all, firefox: document.getElementById&&!document.all,

getposOffset:function(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
},

showhide:function(obj, e, visible, hidden){
if (this.ie || this.firefox)
this.dropmenuobj.style.left=this.dropmenuobj.style.top="-500px"
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
},

iecompattest:function(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
},

clearbrowseredge:function(obj, whichedge){
var edgeoffset=0

var _isMostRight = false;
var _maxWindowWidth = 10;
if( arguments[2] != undefined && arguments[3] != undefined  ){
    _isMostRight = arguments[2];
    _maxWindowWidth = arguments[3];
}

if (whichedge=="rightedge"){
    var windowedge = this.ie && !window.opera ? this.iecompattest().scrollLeft + this.iecompattest().clientWidth - 15 : window.pageXOffset + window.innerWidth-15
    this.dropmenuobj.contentmeasure = this.dropmenuobj.offsetWidth
    
    if ( windowedge - this.dropmenuobj.x < this.dropmenuobj.contentmeasure || _isMostRight)  //move menu to the left?
        edgeoffset = this.dropmenuobj.contentmeasure - obj.offsetWidth
}
else{
    var topedge = this.ie && !window.opera? this.iecompattest().scrollTop : window.pageYOffset
    var windowedge = this.ie && !window.opera ? this.iecompattest().scrollTop + this.iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
    this.dropmenuobj.contentmeasure = this.dropmenuobj.offsetHeight

    if ( windowedge - this.dropmenuobj.y < this.dropmenuobj.contentmeasure ){ //move up?
        edgeoffset = this.dropmenuobj.contentmeasure + obj.offsetHeight

    if ( (this.dropmenuobj.y - topedge) < this.dropmenuobj.contentmeasure ) //up no good either?
		if(this.ie)
			edgeoffset =-35+obj.offsetHeight-topedge// edgeoffset = this.dropmenuobj.y + obj.offsetHeight-topedge
		else if(this.firefox)
			edgeoffset =-11+obj.offsetHeight-topedge// edgeoffset = this.dropmenuobj.y + obj.offsetHeight-topedge
		else if(navigator.userAgent.indexOf('Saf')==-1){
			//
			setTimeout("alert(navigator.userAgent.indexOf('Saf')==-1)",5000)
			edgeoffset =90+obj.offsetHeight-topedge// edgeoffset = this.dropmenuobj.y + obj.offsetHeight-topedge
		}
		else
            edgeoffset = this.dropmenuobj.y + obj.offsetHeight-topedge
}
}
return edgeoffset
},

dropit:function(obj, e, dropmenuID){
var _isMostRight = false;
var _maxWindowWidth = 1024;
if( arguments[3] != undefined && arguments[4] != undefined ){
    _isMostRight = arguments[3];
    _maxWindowWidth = arguments[4];
}
//alert(_isMostRight+", "+_maxWindowWidth);
if (this.dropmenuobj!=null && this.divshim!=null) //hide previous menu
this.dropmenuobj.style.visibility="hidden";
this.clearhidemenu();
if (this.ie||this.firefox){
obj.onmouseout=function(){cssdropdown.delayhidemenu()}
this.dropmenuobj=document.getElementById(dropmenuID)
this.dropmenuobj.onmouseover=function(){cssdropdown.clearhidemenu();}
this.dropmenuobj.onmouseout=function(){cssdropdown.dynamichide(e)}
this.dropmenuobj.onclick=function(){cssdropdown.delayhidemenu()}
this.showhide(this.dropmenuobj.style, e, "visible", "hidden")
this.dropmenuobj.x=this.getposOffset(obj, "left")//"left")
this.dropmenuobj.y=this.getposOffset(obj, "top")
/*this if statement was added for ie as it kept pushing the winow across*/
if(this.ie && dropmenuID=="dropmenu7"){
	this.dropmenuobj.style.width=this.dropmenuobj.offsetWidth + "px";
	this.dropmenuobj.style.left=this.dropmenuobj.x-this.clearbrowseredge(obj, "rightedge", _isMostRight, _maxWindowWidth)+"px"
	//alert(this.dropmenuobj.offsetWidth);
}else{
	this.dropmenuobj.style.width=this.dropmenuobj.offsetWidth + "px";
	this.dropmenuobj.style.left=this.dropmenuobj.x-this.clearbrowseredge(obj, "rightedge", _isMostRight, _maxWindowWidth)+"px"
	//alert(this.dropmenuobj.offsetWidth);
}
this.dropmenuobj.style.top=this.dropmenuobj.y-this.clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+1+"px"

this.divshim = document.getElementById('DivShim');
this.divshim.style.display="none";
this.divshim.x = this.dropmenuobj.x;
this.divshim.y = this.dropmenuobj.y;
this.divshim.style.width = this.dropmenuobj.offsetWidth + "px";
this.divshim.style.height = this.dropmenuobj.offsetHeight + "px";
this.divshim.style.left = this.dropmenuobj.style.left;
this.divshim.style.top = this.dropmenuobj.style.top;
this.divshim.style.display = "block";
}
},

contains_firefox:function(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
},

dynamichide:function(e){
var evtobj=window.event? window.event : e
if (this.ie&&!this.dropmenuobj.contains(evtobj.toElement))
this.delayhidemenu()
else if (this.firefox&&e.currentTarget!= evtobj.relatedTarget&& !this.contains_firefox(evtobj.currentTarget, evtobj.relatedTarget))
this.delayhidemenu()
},

delayhidemenu:function(){
//document.image3.src='images/btn_the_range_off.gif';
this.delayhide=setTimeout("cssdropdown.dropmenuobj.style.visibility='hidden'; cssdropdown.divshim.style.display='none';",this.disappeardelay)
},

clearhidemenu:function(){
if (this.delayhide!="undefined")
clearTimeout(this.delayhide)
}
}
