/*******************************************************************
	Form Validation Functions Version 1.31
	
	©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) || (test.indexOf("@",index + 1) > 0) ) {
			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) {
	state = true;

	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) || (rObj.type.indexOf("password") >= 0)) {// validate text field or text area
		if ((trim(rObj.value) == "")) {//(rObj.value == rObj.defaultValue) || 
			hiliteField(rObj,lbl,override);
			state = false;
		}
	}
	
	return state;
}
