// JavaScript Document
/**
* suckerfish object
* slightly modded to minimise IE flicker
**/
var sfHover = function() {
  for (var i=0; (sfEls = document.getElementById("nav").getElementsByTagName("LI")[i]); i++) {
    sfEls.onmouseenter=function() {
      this.className+=" sfhover";
    }
    sfEls.onmouseleave=function() {
      this.className = this.className.replace(' sfhover', '');
    }
  }
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

/**
* Adds class attributes to elements
* that can't be accessed through the parse file
**/
function addStylesToMenu() {
  // Place the .last on the last LI of each second level UL
  var navList = document.getElementById('nav');
  var secondLevelArray = navList.getElementsByTagName('UL');
  for (var i=0;i<secondLevelArray.length;i++) {
      var listElements = secondLevelArray[i].getElementsByTagName('LI');
      listElements[(listElements.length-1)].getElementsByTagName('A')[0].className+='last';
  }
  // Place the .contact on the last LI of the first level UL
  var topList = navList.lastChild;
  if(topList.nodeName=="LI"){
    topList.className+='contact';
  }
  else {
    topList.previousSibling.className+='contact';
  }
  // Place the .contact on the last nested UL
  secondLevelArray[secondLevelArray.length-1].className+='contact';
}

/**
* Gets the query string parameter value of the strParamName
**/
function getURLParam(strParamName){
  var strReturn = "";
  var strHref = window.location.href;
  if ( strHref.indexOf("?") > -1 ){
    var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
    var aQueryString = strQueryString.split("&");
    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
      if (aQueryString[iParam].indexOf(strParamName + "=") > -1 ){
        var aParam = aQueryString[iParam].split("=");
        strReturn = aParam[1];
        break;
      }
    }
  }
  return strReturn;
}

/**
* Written by Jonathan Snook, http://www.snook.ca/jonathan
* Add-ons by Robert Nyman, http://www.robertnyman.com
*
* Returns an array of elements with a class name of strClassName
**/
function getElementsByClassName(oElm, strTagName, strClassName){
        var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
        var arrReturnElements = new Array();
        strClassName = strClassName.replace(/\-/g, "\\-");
        var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
        var oElement;
        for(var i=0; i<arrElements.length; i++){
                oElement = arrElements[i];
                if(oRegExp.test(oElement.className)){
                        arrReturnElements.push(oElement);
                }
        }
        return (arrReturnElements)
}


/**
* This function is used on the login to redirect
* back to the page the user entered the login process
**/
function loginRedir() {
  var whereToGo = getURLParam('return_to');
  if((whereToGo != 'school/home' && whereToGo != 'school') && whereToGo != 'school/'){
    document.getElementById('login_element').href +=('?return_to='+whereToGo);
  }
  else {
    document.getElementById('login_element').href="./?a=4664"; 
    /* This is specific to each site */
  }
}


