<!-- Begin
//----------------------------------------------------------------------------
// New a utitlity class to get browser information, offset and others.
//----------------------------------------------------------------------------
var essential = new clsEssential();
var objCurrentItem = null;
var testx=0, testy=0
//----------------------------------------------------------------------------
//Show menu.
//----------------------------------------------------------------------------
function showMenu(objEvent, strMenuId, strImage1, strImage2, intLeftAdjustment, intTopAdjustment) {
  var objItem;

  if (objCurrentItem == null) 
    buttonClick(objEvent, strMenuId, strImage1, strImage2, intLeftAdjustment, intTopAdjustment);
  else{
    if (essential.getBrowser() == "IE")
      objItem = window.event.srcElement;
    else
      objItem = objEvent.currentTarget;

    if (objCurrentItem != null && objCurrentItem != objItem)
      buttonClick(objEvent, strMenuId, strImage1, strImage2, intLeftAdjustment, intTopAdjustment);
  }
}

//----------------------------------------------------------------------------
//Show menu.
//----------------------------------------------------------------------------
function buttonClick(objEvent, strMenuId, strImage1, strImage2, intLeftAdjustment, intTopAdjustment) {
  var objItem;
  if(strImage1 !="" && strImage2!="")
    MM_swapImage(strImage1, '', strImage2, 1);
	  
  if (essential.getBrowser() == "IE")
    objItem = window.event.srcElement;
  else
    objItem = objEvent.currentTarget;
  
  objItem.blur();

  if (objItem.menu == null && strMenuId!="") {
    objItem.menu = document.getElementById(strMenuId);

    if (objItem.menu.isExisted == null)
      addMenuItem(objItem.menu);
  }

  if (objItem.onmouseout == null)
    objItem.onmouseout = hideMenu;
  
  if (objItem != objCurrentItem){
    if (objCurrentItem != null)
      resetItem(objCurrentItem, "menuButtonActive");

    if (objItem != objCurrentItem && strMenuId!="") {
      setItem(objEvent, objItem, "menuButtonActive", strImage1, intLeftAdjustment, intTopAdjustment);
      objCurrentItem = objItem;
    }
    else
      objCurrentItem = null;
  }

  return false;
}

//----------------------------------------------------------------------------
//Set the look and feel of Item.
//----------------------------------------------------------------------------
function setItem(objEvent, objItem, strClassName, strImage1, intLeftAdjustment, intTopAdjustment) {
  var intLeftOffset, intTopOffset, itemList, tmpWidth, i, itemWidth, intSize, intImageWidth, intCurrentPositon, intRightOffset;

 // objItem.className += " ";
  objItem.className += strClassName;

  if (objItem.onmouseout == null)
    objItem.onmouseout = hideMenu;
  if (objItem.menu.onmouseout == null)
    objItem.menu.onmouseout = hideMenu;

  intLeftOffset = essential.getOffset(objItem, "offsetLeft", intLeftAdjustment);
  intTopOffset = essential.getOffset(objItem, "offsetTop", intTopAdjustment) + objItem.offsetHeight;

  if (essential.getBrowser() == "IE") {
    intLeftOffset += objItem.offsetParent.clientLeft;
    intTopOffset += objItem.offsetParent.clientTop;
  }

  itemWidth = 0;
  itemList = objItem.menu.getElementsByTagName("A");
  for (i=0; i<itemList.length; i++){
    tmpWidth = itemList[i].offsetWidth;
	if(tmpWidth > itemWidth)
      itemWidth = tmpWidth;
  }
  
  intImageWidth = 0;
  for (i=0; i<document.images.length; i++){    
	if(document.images[i].name == strImage1){
      intImageWidth = document.images[i].width;
    }
  }
  
  if(itemWidth < intImageWidth)
	itemWidth = intImageWidth;

  if (essential.getBrowser() == "IE"){
    //alert("screenLeft: " + window.screenLeft);
    //alert("clientWidth: " + document.documentElement.clientWidth);
    //alert("clientWidth2: " + document.body.clientWidth);
    //alert("scrollLeft: " + document.body.scrollLeft);
    //alert(document.body.offsetHeight); 
    tmpWidth =  window.event.x;
    intSize = document.body.offsetWidth; 
	//alert(tmpWidth + "=>  " + intSize);
  }
  else{
    //alert("screenX: " + window.screenX);
    //alert("outerwidth: " + window.outerWidth);
    //alert("innerWidth: "  + window.innerWidth);
	//alert("pageXOffset: " + window.pageXOffset); 
    //alert(window.innerHeight);
	//alert("current:" + objEvent.pageX);
    intSize = window.innerWidth;
    tmpWidth =  objEvent.pageX - window.pageXOffset;    
    //alert(tmpWidth + " => " + itemWidth);
  }

  
  if(tmpWidth%intSize + itemWidth > intSize)
    intLeftOffset = intLeftOffset - Math.abs(itemWidth - intImageWidth);

  //alert(document);
  objItem.menu.style.width = itemWidth + "px";
  objItem.menu.style.left = intLeftOffset + "px";
  objItem.menu.style.top  = intTopOffset + "px";
  objItem.menu.style.visibility = "visible";
}

//----------------------------------------------------------------------------
//Reset the look and feel of Item.
//----------------------------------------------------------------------------
function resetItem(objItem, strClassName) {
  essential.removeStyleClassName(objItem, strClassName);
  if (objItem.menu != null) {
    removeMenuItem(objItem.menu);
    objItem.menu.style.visibility = "hidden";
  }
}

//----------------------------------------------------------------------------
// Hide Menu Item 
//----------------------------------------------------------------------------
function hideMenuItem(objEvent) {
  var objMenu;

  if (essential.getBrowser() == "IE")
    objMenu = essential.getElement(window.event.srcElement, "DIV", "menu");
  else
    objMenu = objEvent.currentTarget;

  if (objMenu.activeItem != null)
    removeMenuItem(objMenu);
}

//----------------------------------------------------------------------------
//Show Menu Item
//----------------------------------------------------------------------------
function showMenuItem(objEvent, strMenuId, intLeftAdjustment, intTopAdjustment) {
  var objItem, objMenu, intLeftOffset, intTopOffset, intItemWidth, intTmpWidth, i, itemList;

  if (essential.getBrowser() == "IE")
    objItem = essential.getElement(window.event.srcElement, "A", "menuItem");
  else
    objItem = objEvent.currentTarget;
  objMenu = essential.getElement(objItem, "DIV", "menu");

  if (objMenu.activeItem != null)
    removeMenuItem(objMenu);
  objMenu.activeItem = objItem;

  objItem.className += " menuItemHighlight";

  if (objItem.subMenu == null) {
    objItem.subMenu = document.getElementById(strMenuId);
    if (objItem.subMenu.isExisted == null)
      addMenuItem(objItem.subMenu);
  }

  if (objItem.subMenu.onmouseout == null)
    objItem.subMenu.onmouseout = hideMenu;

  intLeftOffset = essential.getOffset(objItem, "offsetLeft", intLeftAdjustment) + objItem.offsetWidth;
  intTopOffset = essential.getOffset(objItem, "offsetTop", intTopAdjustment);

  var maxX, maxY;

  if (essential.getBrowser()=="NS" || essential.getBrowser()=="NSUp") {
    maxX = window.scrollX + window.innerWidth;
    maxY = window.scrollY + window.innerHeight;
  }
  if (essential.getBrowser() == "IE") {
    maxX = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft) +
      (document.documentElement.clientWidth != 0 ? document.documentElement.clientWidth : document.body.clientWidth);
    maxY = Math.max(document.documentElement.scrollTop, document.body.scrollTop) +
      (document.documentElement.clientHeight != 0 ? document.documentElement.clientHeight : document.body.clientHeight);
  }
  maxX -= objItem.subMenu.offsetWidth;
  maxY -= objItem.subMenu.offsetHeight;

  if (intLeftOffset > maxX)
    intLeftOffset = Math.max(0, intLeftOffset - objItem.offsetWidth - objItem.subMenu.offsetWidth
      + (objMenu.offsetWidth - objItem.offsetWidth));
  intTopOffset = Math.max(0, Math.min(intTopOffset, maxY));

  intItemWidth = 0;
  itemList = objItem.subMenu.getElementsByTagName("A");
  for (i=0; i<itemList.length; i++){
    intTmpWidth = itemList[i].offsetWidth;
	if(intTmpWidth > intItemWidth)
      intItemWidth = intTmpWidth;
  }

  objItem.subMenu.style.width = intItemWidth + "px";
  objItem.subMenu.style.left = intLeftOffset + "px";
  objItem.subMenu.style.top  = intTopOffset + "px";
  objItem.subMenu.style.visibility = "visible";

  if (essential.getBrowser() == "IE")
    window.event.cancelBubble = true;
  else
    objEvent.stopPropagation();
}

//----------------------------------------------------------------------------
//Remove Menu Item.
//----------------------------------------------------------------------------
function removeMenuItem(objMenu) {
  if (objMenu != null && objMenu.activeItem != null){
    if (objMenu.activeItem.subMenu != null) {
      removeMenuItem(objMenu.activeItem.subMenu);
      objMenu.activeItem.subMenu.style.visibility = "hidden";
      objMenu.activeItem.subMenu = null;
    }
    essential.removeStyleClassName(objMenu.activeItem, "menuItemHighlight");
    objMenu.activeItem = null;
  }
}

//----------------------------------------------------------------------------
//Reset menus.
//----------------------------------------------------------------------------
function hideMenu(objEvent) {
  var objElement;
  MM_swapImgRestore();
  
  if (objCurrentItem != null){
    if (essential.getBrowser() == "IE")
      objElement = window.event.toElement;
    else if (objEvent.relatedTarget != null)
      objElement = (objEvent.relatedTarget.tagName ? objEvent.relatedTarget : objEvent.relatedTarget.parentNode);

    if (essential.getElement(objElement, "DIV", "menu") == null) {
      resetItem(objCurrentItem, "menuButtonActive");
      objCurrentItem = null;
    }
  }
}

//----------------------------------------------------------------------------
//Add menus.
//----------------------------------------------------------------------------
function addMenuItem(objMenu) {
  var itemList, spanList;
  var strText, strArrow;
  var intItemWidth, intOffsetWidth, intWidthDifference, intWidthDifference, i, j;

  itemList = objMenu.getElementsByTagName("A");
  if (itemList.length > 0){
    intItemWidth = itemList[0].offsetWidth;

    for (i = 0; i < itemList.length; i++) {
      spanList = itemList[i].getElementsByTagName("SPAN");
      strText  = null;
      //strArrow = null;
      for (j = 0; j < spanList.length; j++) {
        if (essential.isStyleClassNameExisted(spanList[j], "menuItemText"))
          strText = spanList[j];
        //if (essential.isStyleClassNameExisted(spanList[j], "menuItemArrow"))
        //  strArrow = spanList[j];
      }
      //if (strText != null && strArrow != null)
      //  strText.style.paddingRight = (intItemWidth
      //  - (strText.offsetWidth + strArrow.offsetWidth)) + "px";
    }

    if (essential.getBrowser() == "IE") {
      intOffsetWidth = itemList[0].offsetWidth;
      itemList[0].style.width = intOffsetWidth + "px";
      intWidthDifference = itemList[0].offsetWidth - intOffsetWidth;
      intOffsetWidth -= intWidthDifference;
      itemList[0].style.width = intOffsetWidth + "px";
    }

    objMenu.isExisted = true;
  }
}
// End -->
