/*******************************************************************
	Form Validation Functions Version 1.1
	
	©2005 A+R Media Studio
	http://www.AandRmediastudio.com
	
	written by Rudy Dominguez (rudy@AandRmediastudio.com)
*******************************************************************/

function setActionURL(obj) {
	if (!requiredFieldIsEntered(obj["urlList"],"Please select an event date", true)) return false;
	
	obj.action = obj["urlList"].value;
	return true;
}

function trim(str){
	while (str.charAt(0)  == " ") {
		// remove leading spaces
		str = str.substring(1);
	}
	
	while (str.charAt(str.length - 1) == " ") {
		// remove trailing spaces
		str = str.substring(0,str.length - 1);
	}

	return str;
}

function validateEmail(obj) {
	var test = obj.value;
	
	if (test != "") {
		index = test.indexOf("@");
		index2 = test.indexOf(".", index);
		if  (((index < 0) || (index2 < 0)) || (index2 == test.length - 1)) {
			alert("The email address entered is invalid.\nPlease try again.");
			obj.select();
			obj.focus();
			
			return false;
		}
		
		return true;
	} else {
		return false;
	}

}

function hiliteField(obj,lbl,override) {
	alert((override)? lbl : "Please enter " + lbl + ".");
	
	if ((obj.length > 0) && !obj.type){
		obj[0].focus();
	} else {
		if (obj.type.indexOf("select") < 0) obj.select();
		obj.focus();
	}
}

function requiredFieldIsEntered(rObj,lbl,override) {
	var state = true;
	
	if (typeof(rObj) != "undefined") {
		if (rObj.length > 0) {//check for multi-value objects
			 if (rObj[0].type == "radio") {// validate radio buttons
				state = false;
				for (var i=0; i < rObj.length; i++) {
					if (rObj[i].checked) state = i + 1;
				}
				
				if (!state) {
					hiliteField(rObj,lbl,override)
				}
				
			} else if (rObj[0].type == "checkbox") {// validate checkboxes
					str = "";
					for (i=0; i < rObj.length; i++) {
						str = (rObj[i].checked)? str + ((str != "")? "," : "") + rObj[i].value : str;
					}
					
					if (str == "") {
						hiliteField(rObj,lbl,override);
						state = false;
					} else {
						state = str;
					}
			} else if (rObj.type.indexOf("select") >= 0) {// validate select list
				//assumes first selection is invalid
				if (rObj.selectedIndex == 0) {
					hiliteField(rObj,lbl,override);
					state = false;
				}
			}
		} else if (rObj.type.indexOf("text") >= 0) {// validate text field or text area
			if ((trim(rObj.value) == "")) {//(rObj.value == rObj.defaultValue) || 
				hiliteField(rObj,lbl,override);
				state = false;
			}
		} else if (rObj.type == "checkbox") {//validate single checkbox
			if (!rObj.checked) {
				hiliteField(rObj,lbl,override);
				state = false;
			}
		}
	} 
	
	return state;
}