//<!--
//Region Global Variables
var skm_SelectedMenuStyleInfos=new Object();
var skm_UnselectedMenuStyleInfos=new Object();
var skm_MenuFadeDelays=new Object();
var skm_clockValue=0;
var skm_ticker;
var skm_highlightTopMenus=new Object();
var skm_images=new Array();
var skm_OpenMenuItems = new Array();
var skm_LastTopMenuImage = '';
var skm_LastTopMenuOverImage = '';
var skm_LastTopMenu;
var skm_debug=0;
//EndRegion
//Region Methods to hook up a menu to the global variables
function skm_registerMenu(menuID, selectedStyleInfo, unselectedStyleInfo, menuFadeDelay, highlightTopMenu){
  skm_SelectedMenuStyleInfos[menuID]=selectedStyleInfo;
  skm_UnselectedMenuStyleInfos[menuID]=unselectedStyleInfo;
  skm_MenuFadeDelays[menuID]=menuFadeDelay;
  skm_highlightTopMenus[menuID]=highlightTopMenu;
}
//Region The methods and contructor of the skm_styleInfo object.
function skm_applyStyleInfoToElement(element){
  element.style.backgroundColor=this.backgroundColor;
  element.style.borderColor=this.borderColor;
  element.style.borderStyle=this.borderStyle;
	if (this.borderWidth != null && this.borderWidth != '')
		element.style.borderWidth=this.borderWidth+'px';
	else
		element.style.borderWidth=this.borderWidth;
  element.style.color=this.color;
  if (this.fontFamily!='')
    element.style.fontFamily=this.fontFamily;
  element.style.fontSize=this.fontSize;
  element.style.fontStyle=this.fontStyle;
  element.style.fontWeight=this.fontWeight;
  if (this.className!='')
    element.style.className=this.className;
}
function skm_styleInfo(backgroundColor,borderColor,borderStyle,borderWidth,color,fontFamily,fontSize,fontStyle,fontWeight,className){
  this.backgroundColor=backgroundColor;
  this.borderColor=borderColor;
  this.borderStyle=borderStyle;
  this.borderWidth=borderWidth;
  this.color=color;
  this.fontFamily=fontFamily;
  this.fontSize=fontSize;
  this.fontStyle=fontStyle;
  this.fontWeight=fontWeight;
  this.className=className;
  this.applyToElement=skm_applyStyleInfoToElement;
}
//Region MouseEventHandlers
function skm_mousedOverMenu(menuID,elem,parent,displayedVertically,imageSource){
  var ShowToRightOfMenuOnly = false;

  skm_stopTick();
  skm_closeSubMenus(elem);

  //Turn off the Last Menu
  if (curMainMenuItem[1] != ''){
    if (elem != document.getElementById(curMainMenuItem[1])) {
      if (curMainMenuItem[3] != ''){
        setimage(document.getElementById(curMainMenuItem[1]),curMainMenuItem[3]);
      }
      if (curMainMenuItem[5]!=''){
        var elemOld = document.getElementById(curMainMenuItem[1]);
        elemOld.className=curMainMenuItem[5];
      }
    }
  }

  var childID=elem.id+"-subMenu";  // Display child menu if needed
  var firstChildID = elem.id.substr(0, elem.id.length-3)+'000'
  var LeftOffset = -1
  var RightOffset = -1
  var loopChildID;

  var eId=elem.id+'';
  while (eId.indexOf('-subMenu')>=0){
    eId=eId.substring(0, eId.lastIndexOf('-subMenu'));
    skm_SelectedMenuStyleInfos[menuID].applyToElement(document.getElementById(eId));
  }

  if (document.getElementById(childID)!=null){  // make the child menu visible and specify that its position is specified in absolute coordinates
    document.getElementById(childID).style.display='block';
    document.getElementById(childID).style.position='absolute';
    skm_OpenMenuItems = skm_OpenMenuItems.concat(childID);

    if (displayedVertically){ // Set the child menu's left and top attributes according to the menu's offsets
			document.getElementById(childID).style.left=skm_getAscendingLefts(parent)+parent.offsetWidth+'px';
			document.getElementById(childID).style.top=skm_getAscendingTops(elem)+'px';
      var visibleWidth=parseInt(window.outerWidth?window.outerWidth-9:document.body.clientWidth,10);
      if ((parseInt(document.getElementById(childID).offsetLeft,10)+parseInt(document.getElementById(childID).offsetWidth,10))>visibleWidth) {
				document.getElementById(childID).style.left=(visibleWidth-parseInt(document.getElementById(childID).offsetWidth,10))+'px';
      }
    }else{  // Set the child menu's left and top attributes according to the menu's offsets
			document.getElementById(childID).style.left=skm_getAscendingLefts(elem)+'px';
			document.getElementById(childID).style.top=skm_getAscendingTops(parent)+parent.offsetHeight+'px';
      if (document.getElementById(childID).offsetWidth<elem.offsetWidth)
				document.getElementById(childID).style.width=elem.offsetWidth+'px';
    }

    if (ShowToRightOfMenuOnly != true )
    {
      var visibleWidth=parseInt(window.outerWidth?window.outerWidth-9:document.body.clientWidth,10);
//alert(visibleWidth);
//alert(skm_getAscendingLefts(parent));
//alert(parent.offsetWidth);
//alert(skm_getAscendingLefts(elem));
//alert(elem.offsetWidth);
//alert(parseInt(document.getElementById(childID).offsetWidth,10));
//alert(parent.id);
//alert(elem.id);


      if (skm_getAscendingLefts(elem) + parseInt(document.getElementById(childID).offsetWidth,10) > skm_getAscendingLefts(parent) + parent.offsetWidth)
      {
        document.getElementById(childID).style.left=(skm_getAscendingLefts(parent) + parent.offsetWidth) - parseInt(document.getElementById(childID).offsetWidth,10);
      }
    }
  }

  if (skm_SelectedMenuStyleInfos[menuID] != null) skm_SelectedMenuStyleInfos[menuID].applyToElement(elem);
  if (skm_highlightTopMenus[menuID]){
    var eId=elem.id+'';
    if (eId.indexOf('-subMenu')<0) {
      if (elem != skm_LastTopMenu && skm_LastTopMenuImage != '') {
        setimage(skm_LastTopMenu, skm_LastTopMenuImage)
        skm_LastTopMenuImage = '';
        }
      skm_LastTopMenuOverImage = imageSource;
      skm_LastTopMenu = elem;
    }
    while (eId.indexOf('-subMenu')>=0){
      eId=eId.substring(0, eId.lastIndexOf('-subMenu'));
      skm_SelectedMenuStyleInfos[menuID].applyToElement(document.getElementById(eId));
      if (skm_LastTopMenuOverImage!=''){
        setimage(document.getElementById(eId),skm_LastTopMenuOverImage)
      }
    }
  }

  if (imageSource!=''){
    setimage(elem,imageSource)
  }
}

function skm_mousedOverClickToOpen(menuID,elem,parent,imageSource){
  skm_stopTick();
  if (skm_SelectedMenuStyleInfos[menuID] != null) skm_SelectedMenuStyleInfos[menuID].applyToElement(elem);
  if (skm_highlightTopMenus[menuID]){
    var eId=elem.id+'';
    while (eId.indexOf('-subMenu')>=0){
      eId=eId.substring(0, eId.lastIndexOf('-subMenu'));
      skm_SelectedMenuStyleInfos[menuID].applyToElement(document.getElementById(eId));
    }
  }
  if (imageSource!=''){
    setimage(elem,imageSource)
  }
}
function skm_mousedOverSpacer(menuID,elem,parent){
  skm_stopTick();
}
function skm_mousedOutMenu(menuID,elem,imageSource){
  skm_doTick(menuID);
  if (skm_UnselectedMenuStyleInfos[menuID] != null) skm_UnselectedMenuStyleInfos[menuID].applyToElement(elem);
  if (skm_highlightTopMenus[menuID]){
    var eId=elem.id+'';
    if (eId.indexOf('-subMenu')<0 && skm_LastTopMenu == elem) {
      skm_LastTopMenuImage = imageSource;
    }
    while (eId.indexOf('-subMenu')>=0){
      eId=eId.substring(0, eId.lastIndexOf('-subMenu'));
      skm_UnselectedMenuStyleInfos[menuID].applyToElement(document.getElementById(eId));
    }
  }
  if (imageSource!=''){
    setimage(elem,imageSource)
  }
}

function skm_mousedOutSpacer(menuID, elem){
  skm_doTick(menuID);
}
//Region Utility Functions
function skm_closeSubMenus(parent){
  if (skm_OpenMenuItems == "undefined") return;
  for (var i=skm_OpenMenuItems.length-1; i>-1;i--) {
    if (parent.id.indexOf(skm_OpenMenuItems[i]) != 0) {
      document.getElementById(skm_OpenMenuItems[i]).style.display = 'none';
      skm_shimSetVisibility(false, skm_OpenMenuItems[i]);
      skm_OpenMenuItems = new Array().concat(skm_OpenMenuItems.slice(0, i), skm_OpenMenuItems.slice(i+1));
      }
  }
}
function skm_shimSetVisibility(makevisible, tableid){
  var tblRef=document.getElementById(tableid);
  var IfrRef=document.getElementById('shim'+tableid);
  if (tblRef!=null && IfrRef!=null){
    if(makevisible){
			IfrRef.style.width=tblRef.offsetWidth+'px';
			IfrRef.style.height=tblRef.offsetHeight+'px';
      IfrRef.style.top=tblRef.style.top;
      IfrRef.style.left=tblRef.style.left;
      IfrRef.style.zIndex=tblRef.style.zIndex-1;
      IfrRef.style.display="block";
    }else{
      IfrRef.style.display="none";
    }
  }
}
function skm_IsSubMenu(id){
  if(typeof(skm_subMenuIDs)=='undefined') return false;
  for (var i=0;i<skm_subMenuIDs.length;i++)
    if (id==skm_subMenuIDs[i]) return true;
  return false;
}
function skm_getAscendingLefts(elem){
  if (elem==null) {
    return 0;
  }
  else
  {
    if ((elem.style.position=='absolute' || elem.style.position=='relative') && !skm_IsSubMenu(elem.id)) return 0;
    return elem.offsetLeft+skm_getAscendingLefts(elem.offsetParent);
  }
}
function skm_getAscendingTops(elem){
  if (elem==null)
    return 0;
  else {
    if ((elem.style.position=='absolute' || elem.style.position=='relative') && !skm_IsSubMenu(elem.id)) return 0;
    return elem.offsetTop+skm_getAscendingTops(elem.offsetParent);
  }
}
//Region Fade Functions
function skm_doTick(menuID){
  if (skm_clockValue>=skm_MenuFadeDelays[menuID]){
    skm_stopTick();
    skm_closeSubMenus(document.getElementById(menuID));
    if (skm_LastTopMenuImage != '') {
      setimage(skm_LastTopMenu, skm_LastTopMenuImage)
    }
    skm_setCurrentMenu();
  } else {
    skm_clockValue++;
    skm_ticker=setTimeout("skm_doTick('"+menuID+"');", 500);
  }
}
function skm_stopTick(){
  skm_clockValue=0;
  clearTimeout(skm_ticker);
}
function preloadimages(){
  for (i=0;i<preloadimages.arguments.length;i++){
    skm_images[i]=new Image();
    skm_images[i].src=preloadimages.arguments[i];
  }
}
function setimage(elem,imageSource){
  var i=elem.getElementsByTagName("img")[0];
  i.src=imageSource;
}

function skm_setCurrentMenu(){
  if (curMainMenuItem[1] != '') {
    skm_mousedOverMenu(curMainMenuItem[0],document.getElementById(curMainMenuItem[1]), document.getElementById(curMainMenuItem[2]), false, curMainMenuItem[4]);
    skm_shimSetVisibility(true,curMainMenuItem[1]+'-subMenu');
    //var elem = document.getElementById(curMainMenuItem[1]);
    //elem.className=curMainMenuItem[6];
  }

  if (curSubMenuItem[1] != '') {
    //skm_mousedOverMenu(curSubMenuItem[0],document.getElementById(curSubMenuItem[1]), document.getElementById(curSubMenuItem[2]), true, curSubMenuItem[4]);
    //skm_shimSetVisibility(true,curSubMenuItem[1]+'-subMenu');
    elem = document.getElementById(curSubMenuItem[1]);
    elem.className=curSubMenuItem[6];
  }
}
//-->
