/*
 * This page provide set of utility methods for the form object validation using the javascript langauge.
 +--------------------------------------------------------------------------------------------------------+
 +   Form Validator Version 3.0                                                                           +
 +--------------------------------------------------------------------------------------------------------+
 +   validator.js                                                                                         +
 +--------------------------------------------------------------------------------------------------------+
 +   @Author   :   Nimit Patel <nimit@rightwaysolution.com> or <nimit_104@yahoo.com>                      +
 +   @Company  :   Copyright (c) 2007, Rightway Solution Pvt Ltd, Ahmedabad	                              +
 +                 All rights reserved.                                                                   +
 +--------------------------------------------------------------------------------------------------------+
 +   @Creted Date     :   22/01/2007              		    											  +
 +   @Last Modified Date     :   24/01/2007              		    									  +
 +--------------------------------------------------------------------------------------------------------+
*/
// JavaScript Document

/*
	

*/
//validate the non empty text field in the form.
function empty(frmObject) 
{  
	
	//alert(frmObject.value);
	//frmObject.value = frmObject.value.trim(); 
	var str = frmObject.value.trim();
	var re = /.+/; 
	if(!str.match(re)) 
	{ 
		alert(lang[0]); 
		frmObject.focus();  
		return false; 
	}	
	return true; 
}
//Alphabatic characters and blank space are allow by this validator function.
function alpha(frmObject) 
{ 
	//alert("alpha");return false;
	frmObject.value = frmObject.value.trim(); 
	var str= frmObject.value; 
	var re = /^[A-Za-z\s]*$/; 
	if (! str.match(re)) 
	{  
		alert(lang[1]);  
		frmObject.focus();  
		return false; 
	} 
	return true; 
}

//Alphabetic and numeric values are allowed by alphanumeric function.
function alphaNumeric(frmObject)
{ 
	frmObject.value = frmObject.value.trim(); 
	var str= frmObject.value; 
	var re = /^[A-Za-z0-9\s]*$/; 
	if (! str.match(re)) 
	{ 
		alert(lang[2]); 
		frmObject.focus();  
		return false; 
	} 
	return true; 
}

//intNumber function is used for the numeric value either integer or decimal.
// if you have pass digit = 0 then it is round to zero decimal value if value > 0 then round for that decimal point.
function intNumber(frmObject,digit)
{ 
	frmObject.value = frmObject.value.trim(); 
	var str= frmObject.value; 
	if( digit == 0 ) 
	{	
		var re = /^[0-9]*$/; 
	} 
	else 
	{ 
		var re = /^[0-9\.]*$/; 
	} 
	if (! str.match(re)) 
	{ 
		if( digit == 0) 
		{	
			alert(lang[3]);
 		} 
		else 
		{ 
			alert(lang[4]); 
		} 
		frmObject.focus();  
		return false; 
	} 
	if (digit > 0 ) 
	{ 	
		var pos = frmObject.value.indexOf("."); 
		var len = frmObject.value.length; 
		var place = parseInt(len) - (parseInt(pos)+1); 
		if(place != digit) 
		{ 
			alert(digit +lang[5]); 
			frmObject.focus();  
			return false; 
		} 
	}	
	return true; 
} 
 
//validate the emailaddress.
function emailValidation(frmObject)
{ 
	//alert(frmObject.value);
	//frmObject.value = frmObject.value.trim(); 
	var str = frmObject.value.trim(); 
	var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/; 
	if (!str.match(re)) 
	{ 
		alert(lang[6]); 
		frmObject.focus(); 	 
		return false; 
	} 
	return true; 
} 
//Alphanumeric with special character values are allowed by this function.
function alphaNumericSpecial(frmObject)
{
	frmObject.value = frmObject.value.trim();
	var str= frmObject.value;
	var re = /^[A-Za-z0-9\!\@\#\$\%\^\&\*\(\)\_\+\-\~\?\>\<\,\.\`\s]*$/;
	if (! str.match(re)) 
	{ 
		alert(lang[7]);frmObject.focus();
		frmObject.select();
		return false;
	}
	return true;
}




//trim function truncat the leadin and trailing space of string.
String.prototype.trim = function() { a = this.replace(/^\s+/, ''); return a.replace(/\s+$/, ''); }; 

//Telehpone function allow numeric value from 0 to 9 and few character like -,+,(,) and blank space.
function telephone(frmObject) 
{ 
	frmObject.value = frmObject.value.trim(); 
	var str = frmObject.value; 
	var re = /^[0-9\-\+\(\)\s]*$/; 	
	if(! str.match(re)) 
	{ 
		alert(lang[8]); 	
		frmObject.focus();  
		return false;  
	}  
	return true; 
}

//checkCC function validate the 16 digit credit card number with format like XXXX XXXX XXXX XXXX
function checkCC(frmObject) 
{ 
	frmObject.value = frmObject.value.trim(); 
	var str = frmObject.value;  
	var re = /^\d{4} ?\d{4} ?\d{4} ?\d{4}$/; 
	if(!str.match(re)) 
	{  	
		alert(lang[9]); 
		frmObject.focus();  
		return false; 
	} 	
	return true; 
}

//checkCC4 function validate the 4 digit credit card number with format like XXXX
function checkCC4(frmObject) 
{ 
	frmObject.value = frmObject.value.trim(); 
	var str = frmObject.value;  
	var re = /^\d{4}$/; 
	if(!str.match(re)) 
	{  	
		alert(lang[10]); 
		frmObject.focus();  
		return false; 
	} 	
	return true; 
}

//This function validate the date value using MM/DD/YYYY  or MM-DD-YYYY format.
function checkDate(frmObject) 
{  
	frmObject.value = frmObject.value.trim(); 
	var str =frmObject.value;  
	var re = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;  
	if (! str.match(re))  
	{  
		alert(lang[11]); 
		frmObject.focus();   
		return false;  
	}  	
	mm = parseInt(str.substring(0,1));
	dd = parseInt(str.substring(3,4)); 
	yy = parseInt(str.substring(6,9));  
	if(mm < 1 || mm > 12) 
	{  
		alert(lang[12]);  
		frmObject.focus();    	
		return false;  
	}  	
	if((mm == 1 || mm == 3 || mm == 5 || mm == 7 || mm == 8 || mm == 10 || mm == 12   ) && (dd < 1 && dd > 31))   
	{  
		alert(lang[13]);  
		frmObject.focus();     
		return false;  
	}   
	if((mm ==4 || mm == 6 || mm == 9 || mm == 11) && (dd < 1 && dd > 30 ))   
	{   
		alert(lang[14]);  
		frmObject.focus();      
		return false;  
	}   
	if (mm == 2) 
	{  
		var isleap = (yy % 4 == 0 && (yy % 100 != 0 || yy % 400 == 0));  
		if(isleap && (dd < 1 && dd > 29))   
		{   
			alert(lang[15]);   
			frmObject.focus();     
			return false;	}  if(!isleap && (dd < 1 && dd > 28))  {   alert(lang[16]);   }   }   return true; }



function checkUrl(frmObject)
{
	frmObject.value = frmObject.value.trim(); 
	newarray = frmObject.value.split(".");
	//alert(newarray[0].trim())
	if(newarray[0].trim() != "www")
	{
		alert("Please Enter valid URL");
		//alert(lang[18]); 
		frmObject.focus(); 
		  
		return false; 
	}
	
	var str = "http://" + frmObject.value;
	var v = new RegExp();
	v.compile("^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$");
	if (!v.test(str)) 
	{
		alert("Please Enter valid URL format");
		//alert(lang[18]); 
		frmObject.focus(); 
		  
		return false; 
	}
	return true; 
}
function trimAll(sString) //trimall function
{
	while (sString.substring(0,1) == ' ')
	{
	sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
	sString = sString.substring(0,sString.length-1);
	}
	return sString;
}


/*
 * This page provide set of utility methods for the form object validation using the javascript langauge.
 +--------------------------------------------------------------------------------------------------------+
 +   Form Validator Version 3.0                                                                           +
 +--------------------------------------------------------------------------------------------------------+
 +   validator.js                                                                                         +
 +--------------------------------------------------------------------------------------------------------+
 +   @Author   :   Nimit Patel <nimit@rightwaysolution.com> or <nimit_104@yahoo.com>                      +
 +   @Company  :   Copyright (c) 2007, Rightway Solution Pvt Ltd, Ahmedabad	                              +
 +                 All rights reserved.                                                                   +
 +--------------------------------------------------------------------------------------------------------+
 +   @Creted Date     :   22/01/2007              		    											  +
 +   @Last Modified Date     :   24/01/2007              		    									  +
 +--------------------------------------------------------------------------------------------------------+
*/
