// validates a text field is not empty. if it is generates alert and sets focus
function isEmpty(elem, helperMsg){
	if(elem.value.length == 0){
		alert(helperMsg);
		setTimeout(function(){elem.focus()}, 10);// set the focus to this input
		elem.select();
		return true;
	}
	return false;
}

// validates value is numeric if not generates alert and sets focus
function isNum(elem, msg){
	if(isNaN(elem.value)){
		alert(msg);
		setTimeout(function(){elem.focus()}, 10);
		elem.select();
		return true;
	}else{
		return false;
	}
}

// if no item selected on combobox generates alert and sets focus
function notSelected(elem, msg){
	if(elem.selectedIndex == 0){
		alert(msg);
		setTimeout(function(){elem.focus()}, 10);
		return true;
	}
	return false
}

// validates email addresses
function echeck(str) {		
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.lastIndexOf(dot)
	var ext=str.substring(ldot+1, lstr)
	if (lat == -1 || lat == 0 || lat == lstr-1 || ldot == -1 || ldot == 0 || ldot == lstr-1){
	   alert("Invalid email address");
		 setTimeout(function(){elem.focus()}, 10);
		 elem.select();
	   return false;
	}
	if (str.indexOf(at,(lat+1))!=-1){
		alert("Invalid email address");
			setTimeout(function(){elem.focus()}, 10);
			elem.select();
		return false;
	 }
	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		alert("Invalid email address");
			setTimeout(function(){elem.focus()}, 10);
			elem.select();
		return false;
	 }
	 if (str.indexOf(dot,(lat+2))==-1){
		alert("Invalid email address");
			setTimeout(function(){elem.focus()}, 10);
			elem.select();
		return false;
	 }
	 if (str.indexOf(" ")!=-1){
		alert("Invalid email address");
			setTimeout(function(){elem.focus()}, 10);
			elem.select();
		return false;
	 }
	 if (ext.length < 2){
			alert("Invalid email address");
			setTimeout(function(){elem.focus()}, 10);
			elem.select();
		return false;
	 }
	 return true
}

//	trims any string
function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
