
addEvent(window, "load", tableStriper);

function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string'){
			element = document.getElementById(element);
		}
		if (arguments.length == 1){
			return element;
		}
		elements.push(element);
	}
	return elements;
}

function regXtrim(theText){
	// delete leading, then trailing, white-space
	trimmed = theText.replace(/^\s+/,'');
	trimmed = trimmed.replace(/\s+$/,'');
	return trimmed;
}

// returns true or false
function checkMailSyntax(mail){
	if (window.RegExp) { // error check using regular expressions
		var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
		var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,20}|[0-9]{1,3})(\]?)$/; // valid email format
		if (!reg1.test(mail) && reg2.test(mail)) { // if syntax is valid do nothing
			return true;
		}else{
			return false;				
		}
	}
}

function tagError(id,text){
	tmpPar = $(id).parentNode;
	tmpPar.className="error";
	tmpPar.setAttribute("title","This field is required");
	goFlag = false;
	msg = text;
}

function tableStriper(){
	// first, get a collection of all of the document's tables
	var tmpBod = document.getElementsByTagName("body");
	var tmpTblList = tmpBod.item(0).getElementsByTagName("table");
	// iterate thru and if any have a class of "striped"...
	for(var i = 0; i < tmpTblList.length; i ++){
		if(tmpTblList.item(i).className.indexOf("striped") != -1){
			// create a collection of the tr's
			var tmpRowList = tmpTblList.item(i).getElementsByTagName("tr");
			// assign odd rows a class which styles as shaded
			for(var i = 0; i < tmpRowList.length; i ++){
				if(i % 2){
					tmpRowList.item(i).className = "";
				}else{
					tmpRowList.item(i).className = "odd";
				}
			}
		}
	}
}

function openwindow(address) {
	window.open(address,"","status,height=480,width=640,scrollbars=yes,resizable=yes")
}

// http://dean.edwards.name/weblog/2005/10/add-event/

function addEvent(element, type, handler) {
	// assign each event handler a unique ID
	if (!handler.$$guid) handler.$$guid = addEvent.guid++;
	// create a hash table of event types for the element
	if (!element.events) element.events = {};
	// create a hash table of event handlers for each element/event pair
	var handlers = element.events[type];
	if (!handlers) {
		handlers = element.events[type] = {};
		// store the existing event handler (if there is one)
		if (element["on" + type]) {
			handlers[0] = element["on" + type];
		}
	}
	// store the event handler in the hash table
	handlers[handler.$$guid] = handler;
	// assign a global event handler to do all the work
	element["on" + type] = handleEvent;
};
// a counter used to create unique IDs
addEvent.guid = 1;

function removeEvent(element, type, handler) {
	// delete the event handler from the hash table
	if (element.events && element.events[type]) {
		delete element.events[type][handler.$$guid];
	}
};

function handleEvent(event) {
	var returnValue = true;
	// grab the event object (IE uses a global event object)
	event = event || fixEvent(window.event);
	// get a reference to the hash table of event handlers
	var handlers = this.events[event.type];
	// execute each event handler
	for (var i in handlers) {
		this.$$handleEvent = handlers[i];
		if (this.$$handleEvent(event) === false) {
			returnValue = false;
		}
	}
	return returnValue;
};

function fixEvent(event) {
	// add W3C standard event methods
	event.preventDefault = fixEvent.preventDefault;
	event.stopPropagation = fixEvent.stopPropagation;
	return event;
};
fixEvent.preventDefault = function() {
	this.returnValue = false;
};
fixEvent.stopPropagation = function() {
	this.cancelBubble = true;
};
// end addEvent methods


function toggle(obj)
{
	if (document.getElementById(obj).style.display == 'none')
	{
		document.getElementById(obj).style.display = '';
		document.getElementById(obj + '1').style.display = '';
		document.getElementById(obj + '2').style.display = 'none';
	}
	else
	{
		document.getElementById(obj).style.display = 'none';
		document.getElementById(obj + '1').style.display = 'none';
		document.getElementById(obj + '2').style.display = '';
	}
	document.getElementById(obj + '1').blur();
	document.getElementById(obj + '2').blur();
	document.getElementById(obj).blur();
}

var displayAll = "";
function toggleFAQs(obj)
{
	var objStr = new String(obj);
	var objArr = objStr.split(',');
	for (i = 0; i < objArr.length; i++)
		document.getElementById(objArr[i]).style.display = displayAll;

	if (displayAll == "")
		displayAll = "none";
	else
		displayAll = "";
}
