
/* ===== Body Onload Events ======= */
	var callOnloadArray;
	var onloadArray = new Array();
	
	//to add strings (normally function names) to the onload event. this should get called from following js files, instead of window.onload
	function addToLoader(functionName){
		onloadArray.push(functionName);	
	}
	
	callOnloadArray = function(){
		for (i = 0; i < onloadArray.length; i++) {
		eval(onloadArray[i]);
		}
	}
	
	//add to onload event
	window.onload=callOnloadArray;


/* ===== Form Onsubmit Events ======= */
	var callOnsubmitArray;
	var submitReturn;
	var onsubmitArray = new Array();
	
	//to add strings (normally function names) to the form onsubmit event. this should get called from following js files, instead of form.onsubmit
	function addToOnsubmit(functionName){
		onsubmitArray.push(functionName);
	}
	
	callOnsubmitArray = function(){
		submitReturn = "true";
		for (i = 0; i < onsubmitArray.length; i++) {
		eval(onsubmitArray[i]);
		}
		//alert("submitReturn: " + submitReturn);
		if (submitReturn == "false"){
		return false;
		}
	}
	
	function setupFormSubmit(){
		if (document.getElementById('form')){
			document.getElementById('form').onsubmit=callOnsubmitArray;
		}
	}
	addToLoader("setupFormSubmit()");

/* ===== General useful code ======= */

	// == allows us to getElementsByClassName like we would getElementsByTagName
	document.getElementsByClassName = function(className) {
	  var children = document.getElementsByTagName('*') || document.all;
	  var elements = new Array();
	  
	  for (var i = 0; i < children.length; i++) {
	    var child = children[i];
	    var classNames = child.className.split(' ');
	    for (var j = 0; j < classNames.length; j++) {
	      if (classNames[j] == className) {
	        elements.push(child);
	        break;
	      }
	    }
	  }
	  
	  return elements;
	}





