//
// addLoadEvent()
// Adds event to window.onload without overwriting currently assigned onload functions.
// Function found at Simon Willison's weblog - http://simon.incutio.com/
//

function addLoadEvent(func)
{	
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
    	window.onload = func;
	} else {
		window.onload = function(){
		oldonload();
		func();
		}
	}
}

//
// jsCSS()
// Swaps, adds to, removes from, and checks for the existance of a string withing an elements class
// parameters:
//			a - "swap" , "add" , "remove" , "check"
//			o - the element to apply previous to
//			c1 - classname 1
//			c2 - classname 2
//
function jsCSS(a,o,c1,c2)
{
	switch (a){
		case 'swap':
			if(jsCSS('check',o,c1)){o.className = o.className.replace(c1,c2);}
			else{o.className = o.className.replace(c2,c1);}
		break;
		case 'add':
			if(!jsCSS('check',o,c1)){o.className+=o.className?' '+c1:c1;}
		break;
		case 'remove':
			var rep=o.className.match(' '+c1)?' '+c1:c1;
			o.className=o.className.replace(rep,'');
		break;
		case 'check':
			return new RegExp('\\b'+c1+'\\b').test(o.className)
		break;
	}
}

// GET VAR FROM URL
// parameters:
//   keyName = NAME OF KEY GIVEN AS INPUT
// output:
//   keyValue = VALUE OF KEY FOUND OR NULL IF NOT FOUND
//
function getVarFromURL(keyName)
{
	// OUTPUT VAR DECLARATION
	var keyValue = null;

	// GET URL STRING
	var url_string = document.URL;

	// GET URL KEYS STRING
	var keys_exist = url_string.indexOf('?');
	
	// CHECK IF KEYS EXIST
	if(keys_exist != -1)
	{
		// GET KEYS STRING
		var keys_string = url_string.substring(keys_exist+1,url_string.length);
		
		// SEARCH FOR INPUT KEY NAME
		var input_key_exist = keys_string.indexOf(keyName+'=');
		if(input_key_exist != -1)
		{
			// SAVE INPUT KEY VALUE
			var	input_key_value = keys_string.substring(input_key_exist+1+keyName.length,keys_string.length);

			// CHECK TO SEE IF INPUT KEY VALUE IS THE LAST VAR
			var more_vars_exist = input_key_value.indexOf('&');
			if(more_vars_exist != -1)
			{
				keyValue = input_key_value.substring(0,more_vars_exist);
			}
			else
			{
				keyValue = input_key_value;
			}
		}
	}
	return keyValue;
}