var disappeardelay   = 250;  //menu disappear speed onMouseout (in miliseconds)
var enableanchorlink = 0; //Enable or disable the anchor link when clicked on? (1=e, 0=d)
var hidemenu_onclick = 1; //hide menu when user clicks within menu? (1=yes, 0=no)
var horizontaloffset = 1; //horizontal offset of menu from default location. (0-5 is a good value)
var dropmenuobj;
var topLevelMenuImgId;

/////No further editting needed

var ie5 = document.all;
var ns6 = document.getElementById && !document.all;

function getposOffset(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;
}

function showhide(obj, e, visible, hidden){
  if (e.type=="click" && obj.display=="none" || e.type=="mouseover"){
     obj.display = "block";
  } else if (e.type == "click") {
     obj.display = "none";
     if (topLevelMenuImgId != null && topLevelMenuImgId != "")
     {
        imgRestore(topLevelMenuImgId);
     }
  }
}

function iecompattest(){
  return (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body;
}

function clearbrowseredge(obj, whichedge){
  var edgeoffset = 0;
  if (whichedge == "rightedge"){
    var windowedge = (ie5 && !window.opera) ? iecompattest().scrollLeft + iecompattest().clientWidth - 15 
                   : window.pageXOffset + window.innerWidth - 15;
    dropmenuobj.contentmeasure = dropmenuobj.offsetWidth;
    if ((windowedge - dropmenuobj.x - obj.offsetWidth) < dropmenuobj.contentmeasure){ 
       edgeoffset = dropmenuobj.contentmeasure + obj.offsetWidth + (horizontaloffset*2); //no space to the right of page? Move menu over to the left
    }
  } else{
    var topedge = (ie5 && !window.opera)? iecompattest().scrollTop : window.pageYOffset;
    var windowedge = (ie5 && !window.opera) ? iecompattest().scrollTop + iecompattest().clientHeight - 15 
                   : window.pageYOffset + window.innerHeight - 18;
    dropmenuobj.contentmeasure = dropmenuobj.offsetHeight;
    if (windowedge - dropmenuobj.y < dropmenuobj.contentmeasure){ //move menu up?
      edgeoffset = dropmenuobj.contentmeasure - obj.offsetHeight;
      if ((dropmenuobj.y - topedge) < dropmenuobj.contentmeasure){ //up no good either? (position at top of viewable window then)
        edgeoffset = dropmenuobj.y;
      }
    }
  }
  return edgeoffset
}

function dropdownmenu(obj, e, dropmenuID, imgId, newImgSrc){
  if (window.event) {
    event.cancelBubble = true;
  } else if (e.stopPropagation) { 
    e.stopPropagation();
  }
  if (typeof(dropmenuobj) != "undefined" && dropmenuobj != null){ //hide previous menu
    hideMenu();
  }
  clearhidemenu();
  if (ie5||ns6) {
    obj.onmouseout = delayhidemenu;
    dropmenuobj = document.getElementById(dropmenuID);
    topLevelMenuImgId = imgId;
    swapImage(imgId, newImgSrc);
    if (hidemenu_onclick) dropmenuobj.onclick = function(){hideMenu();};
    dropmenuobj.onmouseover = clearhidemenu;
    dropmenuobj.onmouseout= ie5 ? function(){ dynamichide(event); } : function(event){ dynamichide(event); };
    showhide(dropmenuobj.style, e, "visible", "hidden");
  }
  return clickreturnvalue();
}

function clickreturnvalue(){
  if ((ie5||ns6) && !enableanchorlink) {
    return false;
  } else {
    return true;
  }
}

function contains_ns6(a, b) {
  while (b.parentNode){
    if ((b = b.parentNode) == a){
      return true;
    }
  }
  return false;
}

function dynamichide(e){
  if (ie5&&!dropmenuobj.contains(e.toElement)){
    delayhidemenu()
  } else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget)) {
    delayhidemenu();
  }
}

function delayhidemenu(){
  delayhide = setTimeout("hideMenu();",disappeardelay);
}

function hideMenu(){
  dropmenuobj.style.display = 'none';
  if (topLevelMenuImgId != null && topLevelMenuImgId != "")
  {
      imgRestore(topLevelMenuImgId);
      topLevelMenuImgId = null;
  }
}

function clearhidemenu(){
  if (typeof delayhide!="undefined"){
    clearTimeout(delayhide)
  }
}

function swapImage(imgId, newSrc){
  var imgElement = document.getElementById(imgId);
  if (imgElement != null && (imgElement.oSrc == null || imgElement.oSrc == ""))
  {
    imgElement.oSrc = imgElement.src;
    imgElement.src = newSrc;
  }
}

function imgRestore(imgId){
  var imgElement = document.getElementById(imgId);
  if (imgElement != null && imgElement.oSrc != null && imgElement.oSrc != "")
  {
    imgElement.src = imgElement.oSrc;
    imgElement.oSrc = null;
  }
}

//the following routines have been pulled out of the pages where they were inline
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function getLeftPosition(element){
	var position = element.offsetLeft;

	var parent = null;
	if (BrowserDetect.browser == "Explorer")
		parent = element.parentElement;
	else 
		parent = element.offsetParent;
	
	if(parent == null) return position;
		return position + getLeftPosition(parent);
}

function centerElement(elementId){
	var element = document.getElementById(elementId);
	element.style.left = (document.body.offsetWidth - element.offsetWidth)/2 + "px";
	element.style.top = "260px";
}

function adjustLeft(elementId, imgElementId) {
	var element = document.getElementById(elementId);
	var img = document.getElementById(imgElementId);
	var imgRightEdge = getLeftPosition(img) + img.offsetWidth;
	var menuLeftEdge = imgRightEdge - element.offsetWidth;
	element.style.left = menuLeftEdge + 'px';
	return;

	var element = document.getElementById(elementId);
	var winWidth = null;
	if (document.all){
  		winWidth = document.body.offsetWidth;
	}
	else{
		winWidth = window.innerWidth;
	}
 
	if (element != null && element.style != null){
		var style = element.style;
		if (BrowserDetect.OS == "Mac"){
			if (BrowserDetect.browser == "Safari"){
				style.left = "642px"; 
			} 
			else {
				style.left = "638px"; 
			}  
		} 
		else if (BrowserDetect.OS == "Windows"){
			if (BrowserDetect.browser == "Explorer"){
				if(BrowserDetect.version >= 7){
					if (winWidth > 780){
						style.left = ((winWidth/2) + 208) + "px";
					}
					else{
						style.left = "599px";
					}
					/*
					if (winWidth > 700){
						style.left = (winWidth/2) + "px";
					}
					else{
						style.left = (winWidth - 283) + "px";
					}*/
				}
			else{
				//style.left = "700px";    
				if (winWidth > 780){
					style.left = ((winWidth/2) + 208) + "px";
				}
				else{
					style.left = "599px";
				}
		    }
		}
		else if (BrowserDetect.browser == "Firefox" || BrowserDetect.browser == "Mozilla"){	    
			if(BrowserDetect.version >= 2){
				//style.left = "700px";   
				if (winWidth > 810){
					style.left = ((winWidth/2) + 190) + "px";
				}
				else{
					style.left = "597px";
				}
			}
			else{
				if (winWidth > 810){
					style.left = ((winWidth/2) + 190) + "px";
				}
				else{
					style.left = "597px";
				}
          		//style.left = "700px"; 
			}
		}      
	}
}
}

function MM_showHideLayers() { //v6.0
	var i,p,v,obj,args=MM_showHideLayers.arguments;
	for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'block':(v=='hide')?'none':v; }
    obj.display=v; }
}

function toggleFAQ(questionElement){
	if (questionElement != null){
		var liElement = questionElement.parentNode;
		var divElement = questionElement.nextSibling;
		var divFound = false;
		while (divElement != null && !divFound){
			if (divElement.tagName != null){
				divFound = divElement.tagName.toLowerCase() == "div";
				break;
			}
			divElement = divElement.nextSibling;
		}
		if (liElement != null){
			liElement.className = (liElement.className == "faq") ? "faq_selected" : "faq";
		}
		if (divElement != null){
			divElement.className = (divElement.className == "hidden") ? "visible" :  "hidden";
		}
	}
}