function switchOn(myObj) {
  myObj.style.backgroundPosition = "0px 0px";
 
}
function switchOff(myObj) {
  myObj.style.backgroundPosition = "0px -62px";
}


//Shortcut for d.gEBI() 
$ = function(myElem) {return document.getElementById(myElem)}; //too many notes!


function toggleMe() { 
  for (var i = 0; i < arguments.length; i++) {
    if (typeof(arguments[i]) != "string" && !(arguments[i].nodeType)) {
      for (var j = 0; j < arguments[i].length; j++) {
	toggleMe(arguments[i][j]);
      }
    } else {
      
      var myObj = (arguments[i].nodeType) ? arguments[i] :$(arguments[i]);
      if (myObj) {
	if ( myObj.className.indexOf("hidden") > -1) {
	  myObj.className = myObj.className.replace(/\s*hidden\s*/, "");
	} else {
	  myObj.className += " hidden" ; 
	}
      }
    }
  }
  return true;
}

function toggleOn () {
  for (var i = 0; i < arguments.length; i++) {
    if (typeof(arguments[i]) != "string" && !(arguments[i].nodeType)) {
      for (var j = 0; j < arguments[i].length; j++) {
	toggleOn(arguments[i][j]);
      }
    } else {
      var myObj = (arguments[i].nodeType) ? arguments[i] :$(arguments[i]);
      if (myObj) {
	if ( myObj.className.indexOf("hidden") > -1) {
	  myObj.className = myObj.className.replace(/\s*hidden\s*/, "");
	}
      }
    }   
  }
  return true;
}

function toggleOff () {
  for (var i = 0; i < arguments.length; i++) {
    if (typeof(arguments[i]) != "string" && !(arguments[i].nodeType)) {
      for (var j = 0; j < arguments[i].length; j++) {
	toggleOff(arguments[i][j]);
      }
    } else {
      var myObj = (arguments[i].nodeType) ? arguments[i] :$(arguments[i]);
      
      if (myObj && ( myObj.className.indexOf("hidden") == -1)) {
	myObj.className += " hidden" ; 
      }
    }
  } 
   return true; 
}

function getParameter(paramName) {
  var request = window.location.search.substring(1);
  var paramList = request.split("&");
  for (var i = 0; i < paramList.length; i++) {
    var map = paramList[i].split("=");
    if (map[0] == paramName) return map[1];
  }
}

function isShown(myObj) {
  return (document.getElementById(myObj).style.display == "block");
}

function fixDate(myYearSelect,myMonthSelect,myDateSelect,myOutputField) {
  if ((myYearSelect.options[myYearSelect.selectedIndex].value != "") &&
      (myMonthSelect.options[myMonthSelect.selectedIndex].value != "") &&
      (myDateSelect.options[myDateSelect.selectedIndex].value != "")
      ) 
    {
      var theDate = new Date(myYearSelect.options[myYearSelect.selectedIndex].value,
			     parseInt(myMonthSelect.options[myMonthSelect.selectedIndex].value,10) -1, //needs to use decimal radix "10"
			     myDateSelect.options[myDateSelect.selectedIndex].value);
      if (theDate.getDate() !=  parseInt(myDateSelect.options[myDateSelect.selectedIndex].value,10)) {
	myDateSelect.selectedIndex -= theDate.getDate();
	alert("You entered an invalid date. We have chosen the nearest day in the month selected");
      }
      if (myOutputField && myOutputField.form && (myOutputField.type == "text" || myOutputField.type == "hidden") ) {
	myOutputField.value = myYearSelect.options[myYearSelect.selectedIndex].value.toString()  + 
	  myMonthSelect.options[myMonthSelect.selectedIndex].value.toString()  +  
	  myDateSelect.options[myDateSelect.selectedIndex].value.toString();  
	
	}
      return true;
      
    }
}

function adopt(myNodeName, myContent,myDocumentNode) { //swaps one Child for another
  // alert(myNodeName);
  if (!myDocumentNode) {myDocumentNode = document;}
  if (myDocumentNode.getElementById(myNodeName)) {
    var myNode = myDocumentNode.getElementById(myNodeName);
    var newNode = myDocumentNode.createTextNode(myContent);
    var oldNode = myNode.childNodes[0];
    myNode.replaceChild(newNode,oldNode);
  }
}


