var menuwidth='268px' //default menu width
var menubgcolor='#e2e0d3'  //menu bgcolor
var disappearDelay=300  //menu disappear speed onMouseout (in miliseconds)
var hideMenu_onclick="yes" //hide menu when user clicks within menu?

var ie4=document.all;
var ns6=document.getElementById&&!document.all;
var highlightedImage;
var highlightedImageNormalSrc = '';
var dropDownMenuObject

if (ie4||ns6) {
  document.write('<div id="MainPullDownDiv" style="visibility:hidden;width:'+menuwidth+';background-color:'+menubgcolor+'" onMouseover="clearHideMenu()" onMouseout="dynamicHide(event, dropDownMenuObject)"></div>');
//  document.write('<div id="PlainPullDownDiv" style="visibility:hidden;width:'+menuwidth+';background-color:'+menubgcolor+'" onMouseover="clearHideMenu()" onMouseout="dynamicHide(event, dropDownMenuObject)"></div>');
}

function getPositionOffset(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, menuwidth) {
  if (ie4||ns6)
    dropDownMenuObject.style.left=dropDownMenuObject.style.top="-1000px"
  if (menuwidth!="") {
    dropDownMenuObject.widthobj=dropDownMenuObject.style
    dropDownMenuObject.widthobj.width=menuwidth
  }
  if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
    obj.visibility=visible
  else if (e.type=="click")
    obj.visibility=hidden
}

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearBrowserEdge(obj, whichEdge, objectToDisplay) {
  var edgeoffset=0
  if (whichEdge=="rightedge") {
    var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
    objectToDisplay.contentmeasure=objectToDisplay.offsetWidth
    if (windowedge-objectToDisplay.x < objectToDisplay.contentmeasure)
      edgeoffset=objectToDisplay.contentmeasure-obj.offsetWidth
  }
  else {
    var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset
    var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
    objectToDisplay.contentmeasure=objectToDisplay.offsetHeight
    if (windowedge-objectToDisplay.y < objectToDisplay.contentmeasure) { //move up?
      edgeoffset=objectToDisplay.contentmeasure+obj.offsetHeight
      if ((objectToDisplay.y-topedge)<objectToDisplay.contentmeasure) //up no good either?
        edgeoffset=objectToDisplay.y+obj.offsetHeight-topedge
    }
  }
  edgeoffset = 0;
  return edgeoffset
}

function populateMenu(what) {
  if (ie4||ns6)
  dropDownMenuObject.innerHTML=what.innerHTML;
}

function contains_ns6(a, b) {
    if (b == null) {
        return false;
    }
    else {

        while (b.parentNode)
            if ((b = b.parentNode) == a)
            return true;
        return false;
    }
}

function dynamicHide(e, objectDisplayed) {
  // this function hides the menu as long as the user did not move the mouse into the div area
  if (ie4&&!objectDisplayed.contains(e.toElement))
    delayHideMenu()
  else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
    delayHideMenu()
}

function hideMenu(e){
if (typeof dropDownMenuObject!="undefined"){
if (ie4||ns6)
dropDownMenuObject.style.visibility="hidden"
if ((highlightedImage!=null) && (highlightedImageNormalSrc!=''))
  if (highlightedImage.src)
    highlightedImage.src = highlightedImageNormalSrc
}
}

function delayHideMenu(){
if (ie4||ns6)
delayhide=setTimeout("hideMenu()",disappearDelay)
}

function clearHideMenu(){
if (typeof delayhide!="undefined")
clearTimeout(delayhide)
}

function highlightTopMenuItem (Item) {
  if (ie4||ns6) {
  }
}

function closeCurrentMenu() {
  if ((highlightedImage!=null) && (highlightedImageNormalSrc!= null)) {
    hideMenu();
    highlightedImage = null;
    highlightedImageNormalSrc = '';
  }
}

function clearEventPropogation(e) {
  if (window.event) event.cancelBubble=true
  else if (e.stopPropagation) e.stopPropagation();
}

function showDropDownMenu (positionalItemId, e, menuContents, width, imageId, imageHighlightUrl, usePlainMenu) {
  showDropDownMenuXY (positionalItemId, e, menuContents, width, imageId, imageHighlightUrl, 0, 0, usePlainMenu)
}

function showDropDownMenuXY (positionalItemId, e, menuContents, width, imageId, imageHighlightUrl, xOffset, yOffset, usePlainMenu) {
  if (ie4||ns6) {
    clearEventPropogation(e);
    closeCurrentMenu();
    clearHideMenu();
    var MenuContentObject = document.getElementById ? document.getElementById(menuContents) : null
    if (MenuContentObject==null) return false;
    dropDownMenuObject=document.getElementById? document.getElementById("MainPullDownDiv") : MainPullDownDiv
    if (!usePlainMenu) {
      dropDownMenuObject.style.padding='8px'; 
      dropDownMenuObject.style.paddingLeft='12px';
      dropDownMenuObject.style.border='none';
      if (dropDownMenuObject.filters) 
        dropDownMenuObject.filters[0].Enabled = true;
      }
    else {
      dropDownMenuObject.style.padding='0px';
      dropDownMenuObject.style.paddingLeft='0px';
      dropDownMenuObject.style.border='none';
      if (dropDownMenuObject.filters) 
        dropDownMenuObject.filters[0].Enabled = false;
    }
    
    populateMenu(MenuContentObject)

    // set up the div to display
    var positionalItem = document.getElementById(positionalItemId)!=null ? document.getElementById(positionalItemId) : positionalItemId
    showHide(dropDownMenuObject.style, e, "visible", "hidden", width)
    dropDownMenuObject.x=getPositionOffset(positionalItem, "left") + xOffset
    dropDownMenuObject.y=getPositionOffset(positionalItem, "top") + yOffset
    dropDownMenuObject.style.left=dropDownMenuObject.x-clearBrowserEdge(positionalItem, "rightedge", dropDownMenuObject)+"px"
    dropDownMenuObject.style.top=dropDownMenuObject.y-clearBrowserEdge(positionalItem, "bottomedge", dropDownMenuObject)+positionalItem.offsetHeight+"px"
    
    // now highlight the image above
    if (imageId) {
      var imageObject = document.getElementById(imageId)!=null ? document.getElementById(imageId) : imageId
      if (imageObject) {
        highlightedImage = imageObject
        highlightedImageNormalSrc = imageObject.src
        imageObject.src = imageHighlightUrl
      }
    }
  }
}

function hideDropDownMenu (imageId, imageNormalUrl) {
  if (ie4||ns6) {
    if (imageId) {
      var imageObject = document.getElementById(imageId)!=null ? document.getElementById(imageId) : imageId
      if (imageObject) {
        highlightedImage = imageObject;
        highlightedImageNormalSrc = imageNormalUrl;
      }
    }
    delayhide=setTimeout("hideMenu()",disappearDelay);
  }
}

function showFlatTopMenu (e, imageId, imageHighlightUrl) {
  if (ie4||ns6) {
    clearEventPropogation(e);
    closeCurrentMenu();

    // now highlight the image above
    if (imageId) {
      var imageObject = document.getElementById(imageId)!=null ? document.getElementById(imageId) : imageId
      if (imageObject) {
        imageObject.src = imageHighlightUrl
      }
    }
  }
}

function hideFlatTopMenu (imageId, imageNormalUrl) {
  if (ie4||ns6) {
    if (imageId) {
      var imageObject = document.getElementById(imageId)!=null ? document.getElementById(imageId) : imageId
      if (imageObject) {
        imageObject.src = imageNormalUrl
        highlightedImage = null;
        highlightedImageNormalSrc = '';
      }
    }
  }
}

if (hideMenu_onclick=="yes")
document.onclick+=hideMenu


