// 2.0   ( 01 Aug 2005): update release
// 2.1	 ( 02 Dec 2005): Change mailcheck method, to return only one error message.
// 2.2	 ( 10 Jan 2006): Changed phonenumber check
// 2.3	 ( 23 Aug 2006): New validation methods
// 2.4	 ( 15 Nov 2006): Added checkMandatoryFile and checkOptionalFile

function LTrim(str) {
	if (str.length == 0) {return str};
	intSpaceFound = str.indexOf(" ");
	while (intSpaceFound == 0 ) {
		str = str.substring(1,str.length);
		intSpaceFound = str.indexOf(" ");
	}	
	return str;
}
function RTrim(str) {
	if (str.length == 0) {return str};
	intSpaceFound = str.lastIndexOf(" ");
	while (intSpaceFound > 0 && intSpaceFound == str.length - 1) {
		str = str.substring(0,str.length - 1);
		intSpaceFound = str.lastIndexOf(" ");
	}	
	return str;
}
function Trim(str) {
	str = LTrim(str);
	str = RTrim(str);
	return str;
}
function checkMandatory(field,mandatoryMessage){
	document.getElementById(field).className="";
	val = Trim(document.getElementById(field).value);
	if(val=="" || val=="-1"){
		document.getElementById(field).className="invalidField";
		return "<li>" + mandatoryMessage + "</li>";
	}
	return "";
}
function checkMandatoryMail(field,mandatoryMessage,invalidMessage){
	document.getElementById(field).className="";
	val = Trim(document.getElementById(field).value);
	//If field is empty: show mandatoryMessage
	if(val=="" || val=="-1"){
		document.getElementById(field).className="invalidField";
		return "<li>" + mandatoryMessage + "</li>";
	}
	//if not empty, check for valid email
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!filter.test(document.getElementById(field).value)){
		document.getElementById(field).className="invalidField";
		return "<li>" + invalidMessage + "</li>";
	}
	return "";
}
var allowedExt = new Array("doc","pdf","txt");
function checkMandatoryFile(field,mandatoryMessage,invalidMessage){
	document.getElementById(field).className="";
	val = Trim(document.getElementById(field).value);
	//If field is empty: show mandatoryMessage
	if(val=="" || val=="-1"){
		document.getElementById(field).className="invalidField";
		return "<li>" + mandatoryMessage + "</li>";
	}
	//if not empty, check for valid extension
	ext = val.substring(val.length-3,val.length).toLowerCase();
	allowed=false;
	for(var i=0; i<allowedExt.length; i++){
		if(ext==allowedExt[i]){
			allowed=true;
			break;
		}
	}
	if (!allowed){
		document.getElementById(field).className="invalidField";
		return "<li>" + invalidMessage + "</li>";
	}
	return "";
}
function checkOptionalFile(field,invalidMessage){
	document.getElementById(field).className="";
	val = Trim(document.getElementById(field).value);
	//If field is not empty: check for valid extension
	if(val!="" && val!="-1"){
		ext = val.substring(val.length-3,val.length).toLowerCase();
		allowed=false;
		for(var i=0; i<allowedExt.length; i++){
			if(ext==allowedExt[i]){
				allowed=true;
				break;
			}
		}
		if (!allowed){
			document.getElementById(field).className="invalidField";
			return "<li>" + invalidMessage + "</li>";
		}
	}
	return "";
}
