
// Hide/unhide block by ID 
function switchDisplay(blockID) {
  var item = document.getElementById(blockID);
  if (item) {
    item.className=(item.className=='hidden')?'unhidden':'hidden';
  }
}


// Get param from URL by name
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.toLowerCase() + "=") > -1 ){
        var aParam = aQueryString[iParam].split("=");
        strReturn = aParam[1];
        break;
      }
    }
  }
  return unescape(strReturn);
} 


// Find all elements by class name
// v1.03 Copyright (c) 2006 Stuart Colville
// http://muffinresearch.co.uk/archives/2006/04/29/getelementsbyclassname-deluxe-edition/
// strClass:                             
//   string containing the class(es) that you are looking for
// strTag (optional, defaults to ‘*’):
//   An optional tag name to narrow the search to specific tags e.g. ‘a’ for links.
// objContElm (optional, defaults to document):
//   An optional object container to search inside. Again this narrows the scope of the search 
function getElementsByClassName(strClass, strTag, objContElm) {
  strTag = strTag || "*";
  objContElm = objContElm || document;    
  var objColl = objContElm.getElementsByTagName(strTag);
  if (!objColl.length &&  strTag == "*" &&  objContElm.all) objColl = objContElm.all;
  var arr = new Array();                              
  var delim = strClass.indexOf('|') != -1  ? '|' : ' ';   
  var arrClass = strClass.split(delim);    
  for (var i = 0, j = objColl.length; i < j; i++) {                         
    var arrObjClass = objColl[i].className.split(' ');   
    if (delim == ' ' && arrClass.length > arrObjClass.length) continue;
    var c = 0;
    comparisonLoop:
    for (var k = 0, l = arrObjClass.length; k < l; k++) {
      for (var m = 0, n = arrClass.length; m < n; m++) {
        if (arrClass[m] == arrObjClass[k]) c++;
        if ((delim == '|' && c == 1) || (delim == ' ' && c == arrClass.length)) {
          arr.push(objColl[i]); 
          break comparisonLoop;
        }
      }
    }
  }
  return arr; 
}


// Hide all elements with certain class name
// For params explanation see getElementsByClassName
function hideElementsByClassName(strClass, strTag, objContElm){
  var myObjColl = getElementsByClassName(strClass, strTag, objContElm);
  for (var i = 0, j = myObjColl.length; i < j; i++) {
    myObjColl[i].className = myObjColl[i].className + ' hidden';
  }
}


