/**** ONLOAD FUNCTION ***/
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function toggleActive(span) {

	var spanClassName = document.getElementById(span).className;
	if (spanClassName == 'hidden') {
		document.getElementById(span).className = '';
	} else {
		document.getElementById(span).className = 'hidden';
	}
}

//string, search, replace
function str_replace(inputString, fromString, toString) {
   // Goes through the inputString and replaces every occurrence of fromString with toString
   var temp = inputString;
   if (fromString == "") {
      return inputString;
   }
   if (toString.indexOf(fromString) == -1) { // If the string being replaced is not a part of the replacement string (normal situation)
      while (temp.indexOf(fromString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(fromString));
         var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
         temp = toTheLeft + toString + toTheRight;
      }
   } else { // String being replaced is part of replacement string (like "+" being replaced with "++") - prevent an infinite loop
      var midStrings = new Array("~", "`", "_", "^", "#");
      var midStringLen = 1;
      var midString = "";
      // Find a string that doesn't exist in the inputString to be used
      // as an "inbetween" string
      while (midString == "") {
         for (var i=0; i < midStrings.length; i++) {
            var tempMidString = "";
            for (var j=0; j < midStringLen; j++) { tempMidString += midStrings[i]; }
            if (fromString.indexOf(tempMidString) == -1) {
               midString = tempMidString;
               i = midStrings.length + 1;
            }
         }
      } // Keep on going until we build an "inbetween" string that doesn't exist
      // Now go through and do two replaces - first, replace the "fromString" with the "inbetween" string
      while (temp.indexOf(fromString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(fromString));
         var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
         temp = toTheLeft + midString + toTheRight;
      }
      // Next, replace the "inbetween" string with the "toString"
      while (temp.indexOf(midString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(midString));
         var toTheRight = temp.substring(temp.indexOf(midString)+midString.length, temp.length);
         temp = toTheLeft + toString + toTheRight;
      }
   } // Ends the check to see if the string being replaced is part of the replacement string or not
   return temp; // Send the updated string back to the user
} // Ends the "replaceSubstring" function

function toggleContent(span) {

	var spanClassName = document.getElementById(span).className;
	position = spanClassName.search("hidden");

	//The classname contains 'hidden'. Remove it.
	if (position != -1) {
		document.getElementById(span).className = str_replace(spanClassName, "hidden", "");
	
	//The classname does not contain 'hidden'. Add it.
	} else {
		document.getElementById(span).className += " hidden";
	}
}

function showContent(span) {

	var spanClassName = document.getElementById(span).className;
	position = spanClassName.search("hidden");
	if (position != -1) {
		document.getElementById(span).className = str_replace(spanClassName, "hidden", "");
	}
}

function hideContent(span) {

	var spanClassName = document.getElementById(span).className;
	position = spanClassName.search("hidden");
	if (position == -1) {
		document.getElementById(span).className += " hidden";
	}
}
