/*
	'File Name		: valjavavalidate.asp
	'File Date		: 14th December 2000
	'Developer		: Shailesh
	'Company		: E Vision Technologies Pvt Ltd.
	'Modified By	: Ullas Sadanandan
	'Modified Date	: dd th Month YYYY
	'Comments		: function to validate in javascript
	1)  string trim(string)
	2)  boolean checkempty(object,errmsg)
	3)	boolean checkemail(object,errmsg)
	4)	boolean chemnumeric(object,errmsg)	
	5)	boolean checktelno(object,errmsg)
	6)  boolean checkmaxlength(object,length,errmsg)
	7)	boolean checkminlength(object,length,errmsg)
	8)  boolean checkinteger(object,errmsg)
*/	

//Function trim similiar to Visual Basic Trim()
//Removes Leading and trailing spaces and tabs from the argument passed
//returns a string
//trim all the required fields using this function
function trim(str)
{
	var x;
	var ch;
	
	for(x=0;x<str.length;x++)
	{
		ch=str.substr(x,1);
		if(ch==' ' || ch=='\t')
		{
			str=str.substr(x+1,str.length-1);
		}
		else
			break;
	}
	
	for(x=str.length-1;x>=0;x=x-1)
	{
		ch=str.substr(x,1);
		if(ch==' ' || ch=='\t')
		{
			str=str.substr(0,str.length-1);
		}
		else
			break;
	}
	
	return str;
}



	//this function accepts the object as a parameter and display the appropriate error messages if the text box is empty
	function checkempty(objname,errmsg)
	{
		if (trim(objname.value)=="")
		{
			alert(errmsg);
			objname.focus();
			return false
		}
		return true;
	}

	//this function accepts the object as a parameter and display the appropriate error messages if the text box is empty
	//similar to the above function only that it checks for combo box
	function checkcomboempty(objname,errmsg)
	{
		alert(objname.value+"-"+errmsg)
		if (objname.selectedvalue == "-1")
		{
			alert(errmsg);
			objname.focus();
			return false;
		}
		return true;
	}
	
	function checkcomboemptybygau(objname,errmsg)
	{
		//alert(objname.value+"-"+errmsg)
		if (objname.value == "-1")
		{
			alert(errmsg);
			objname.focus();
			return false;
		}
		return true;
	}
	function checkcomboempty1(objname,errmsg)
	{
		//alert(objname+"-"+errmsg)
		if (objname.selectedvalue == "0")
		{
			alert(errmsg);
			objname.focus();
			return false;
		}
		return true;
	}

	function checknumeric(objname,errmsg)
	{
		if (isNaN(trim(objname.value)))
		{
			alert(errmsg);
			objname.focus();
			return false;
		}
		return true;
	}
//Email validation starts from here
	function checkemail(objname,errmsg)
	{
		vvalue=trim(objname.value);
		atPos = vvalue.indexOf('@');
		sppos = vvalue.indexOf(" ");
		dopos = vvalue.indexOf(".");
		if (atPos < 1 || atPos == (vvalue.length - 1) || (sppos != -1)|| (dopos == -1))
		{
			alert(errmsg);
			objname.focus();
			return false;
		}
		return true;
	}
//Email validation ends from here

//telno validation starts from here 
//it checks that the entered value does not contain anything except numeric characters and hyphen
	function checktelno(objname,errmsg)
	{
		var str = trim(objname.value);
		for(x=0;x<str.length;x++)
		{
			ch=str.substr(x,1);
			if ((ch < '0' || ch >'9')&&(ch!='-')&& (ch != '/') && (ch != '+') && (ch != '(') && (ch != ')'))
			{
				alert(errmsg);
				objname.focus();
				return false;
			}
		}
		return true;
	}
//telno validation ends over here

//maxlength validation starts over here
	function checkmaxlength(objname,maxlength,errmsg)
	{
		var str = objname.value;
		if (str.length>maxlength)
		{
			alert(errmsg);
			objname.focus();
			return false;
		}
		return true;
	}
//maxlength validation ends over here

//minlength validation starts over here
	function checkminlength(objname,minlength,errmsg)
	{
		var str = objname.value;
		if (str.length<minlength)
		{
			alert(errmsg);
			objname.focus();
			return false;
		}
		return true;
	}
//minlength validation ends over here
	function checkinteger(objname,errmsg)
	{
		var str = trim(objname.value);
		for(x=0;x<str.length;x++)
		{
			ch=str.substr(x,1);
			if ((ch < '0' || ch >'9'))
			{
				alert(errmsg);
				objname.focus();
				return false;
			}
		}
		return true;
	}

	function checkdecimal(objname,errmsg)
	{
		var str = trim(objname.value);
		for(x=0;x<str.length;x++)
		{
			ch=str.substr(x,1);			
			if (ch < '0' || ch >'9'|| (ch!='.'))
			{
				alert(errmsg);
				objname.focus();
				return false;
			}
		}
		return true;
	}
//

	// Added by Ullas Sadanandan
	function checkcombovalue(objname,errmsg)
	{
		if (trim(objname[objname.selectedIndex].value)=="")
		{
			alert(errmsg);
			objname.focus();
			return false
		}
		return true;
	}
	
	function check_Email(objname,errmsg) 
	{
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(objname))
		{
			return (true)
		}
		alert(errmsg);
		return (false)
	}

	//  ------ Added by Ullas Sadanandan   
	//  ------ To check the Date           
	//  ------ Parameters : 3 Combo Boxes Day, Month, Year
	//  ------ The Month Combo with 1-12 (Means 1 For Jan, 12 for Dec)

	/*function checkdate(objday,objmonth,objyear,errmsg) {
		vday = objday.options[objday.selectedIndex].value;
		vmonth = objmonth.options[objmonth.selectedIndex].value;
		vyear = objyear.options[objyear.selectedIndex].value;
		vmonth = vmonth-1;
		var vdate = new Date(vyear, vmonth, vday);		
		
		if ((vdate.getDate() != vday) || (vdate.getMonth() != vmonth) || (vdate.getFullYear() != vyear))
		{
			alert(errmsg);
			objday.focus();
			return false;
		}
		return true;
	}*/

