// Support Functions
function strip(filter,str){
	var i,curChar;
	var retStr = '';
	var len = str.length;
	for(i=0; i<len; i++){
		curChar = str.charAt(i);
		if(filter.indexOf(curChar)<0) //not in filter, keep it
			retStr += curChar;
	}
	return retStr;
}
function reformat(str){
	var arg;
	var pos = 0;
	var retStr = '';
	var len = reformat.arguments.length;
	for(var i=1; i<len; i++){
		arg = reformat.arguments[i];
		if(i%2==1)
			retStr += arg;
		else{
			retStr += str.substring(pos, pos + arg);
			pos += arg;
		}
	}
	return retStr;
}
//End Support Functions



//Validation Rules
function notEmpty(str){
	if(strip(" \n\r\t",str).length ==0)
		return false;
	else
		return true;
}

function validateTime(str){
	if(strip(" \n\r\t",str).length ==0)
		return false;
	else
		return true;
}

function validatePhone(str){
	str = strip(' ',str);
	//remove leading zeros, if any
	while(str.length > 1 && str.substring(0,1) == '0'){
		str = str.substring(1,str.length);
	}
	var val = parseInt(str);
	if(isNaN(val))
		return false;
	else
		return true;
}

function validateEMail(str){
	str = strip(" \n\r\t",str);
	if(str.indexOf("@")>-1 && str.indexOf(".")>-1)
		return true;
	else
		return false;
}













//Form Validator
function validator(sform){
	if(notEmpty(sform.name.value)==false){
		alert("Please Enter Your Name.");
		sform.name.focus();
		return false;
	}
	
		
	if(validateEMail(sform.email.value)==false){
		alert("Enter a valid E Mail address.");
		sform.email.focus();
		return false;
	}
	
	sform.email.value = strip(" \n\r\t",sform.email.value);
	
	if(notEmpty(sform.sub.value)==false){
		alert("Please Enter Message Subject.");
		sform.sub.focus();
		return false;
	}
	
	if(notEmpty(sform.msg.value)==false){
		alert("Please Enter your message.");
		sform.msg.focus();
		return false;
	}
}

