/* Common Javascript functions for the site */

function navigateTo(url)
{
  window.location = url;
}

function gotoFunction(list)
{
  var myindex = list.selectedIndex;
  window.location = list.options[myindex].value;
}

function listGoto(obj)
{
  var myindex = obj.selectedIndex;
  window.location = obj.options[myindex].value;
}

function checkTick(errorname, checkboxname)
{
  if (document.getElementById(checkboxname).checked == false)
  {
    document.getElementById(errorname).style.visibility = 'visible';
    return false;
  }
  else
  {
    return true;
  }
};

/*
-------------------------------------------------------------------

   Javascript drop down menu

-------------------------------------------------------------------
*/

// Browser Detection
var agent = navigator.userAgent.toLowerCase();
if ((agent.indexOf("msie") != -1) && (agent.indexOf("opera") == -1))
  {
  var browser = "IEXPLORE";
  var browserOffsetYVal = 30;
  }
else if (agent.indexOf("opera") != -1)
  {
  var browser = "OPERA";
  var browserOffsetYVal = 28;  
  }
else if (agent.indexOf("netscape6") != -1)
  {
  var browser = "NETSCAPE6";
  var browserOffsetYVal = 15;  
  }
else if (agent.indexOf("netscape/7") != -1)
  {
  var browser = "NETSCAPE7";
  var browserOffsetYVal = 15;  
  }
else if (agent.indexOf("safari") != -1)
  {
  var browser = "SAFARI";
  var browserOffsetYVal = 28;  
  }
else if (agent.indexOf("mozilla") != -1)
  {
  var browser = "MOZILLA";
  var browserOffsetYVal = 15;  
  }
else {
  var browser = "UNKNOWN";
  var browserOffsetYVal = 0;
}  

function HideMenu(menuID)
{
  targetLayer = document.getElementById(menuID);
  targetLayer.style.visibility = "hidden";
}

function HideMenuByLayer(targetLayer)
{
  targetLayer.style.visibility = "hidden";
}

function ShowMenu(menuID)
{
  var targetLayer = document.getElementById(menuID);

  // If menu is already visible, then ignore rest of function
  if (targetLayer.style.visibility == "visible")
    return;

  // Hide all other menus, except the current one
  var all = new Array();
  var menuClassName = "FloatingMenu"; 
  all = document.getElementsByTagName("DIV");
  for (i=0, curElement=null; curElement=all.item(i); i++)  
  {
    if (curElement.className.toLowerCase() == menuClassName.toLowerCase()){
      if(curElement.id != targetLayer.id)
      {
        HideMenuByLayer(curElement);
      }
    }
  }  

  // Position menu below it's calling item
  all = null;
  var titleClassName = "FloatingMenuTitle";
  all = document.getElementsByTagName("A")
  for (i=0, curElement=null; curElement=all.item(i); i++)
  {
    if (curElement.className.toLowerCase() == titleClassName.toLowerCase())
    {
      if (curElement.id == menuID + 'Title')
      {
        callingObj = curElement;
      }
    }
  }  
  offsetCoords = findXYPos(callingObj);
  targetLayer.style.top = offsetCoords.top + browserOffsetYVal;
  targetLayer.style.left = offsetCoords.left; //+ callingObj.offsetWidth;
  
  // Make menu visible
  targetLayer.style.visibility = "visible";
}

function findXYPos(targetObj)
{
  for (var cumulTop=0,cumulLeft=0, left=0, top=0; targetObj!=document.body; cumulTop+=targetObj.offsetTop, cumulLeft+=targetObj.offsetLeft, targetObj=targetObj.offsetParent);
  return {left:cumulLeft,top:cumulTop}
}

/*
-------------------------------------------------------------------
*/

