/*
	'Developer		: Shailesh
	'Company		: Quasar Softech Pvt Ltd.
	'Modified By	: Developer name 
	'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)
	{
		if (trim(objname[objname.selectedIndex].value)=="")
		{
			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 
	function checktelno(objname,errmsg)
	{
		return true;
		/*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;*/
	}
//telno validation ends over here if ((ch < '0' || ch >'9')&&(ch!='-' || ch!=' '))

//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 checkusername(objname,errmsg)
	{
		var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>? ";
		for (var i = 0; i < objname.value.length; i++) {
			if (iChars.indexOf(objname.value.charAt(i)) != -1) {
			alert (errmsg);
			objname.focus();
			return false;
			}
		}
	}
  //added by bhairav for form validation
  function ValidateLogin(formObj){
	 
	if(formObj.txt_username.value == ''){
		alert("Please enter username");
		formObj.txt_username.focus();
		return false;
	} else if(formObj.txt_password.value == ''){
		alert("Please enter password");
		formObj.txt_password.focus();
		return false;
	} else {
		formObj.submit();
	}
}

function CheckDate(VDate,VMonth,VYear)
	{

		VisitDate=VDate + VMonth + VYear
		
		if(VDate=="" || VMonth=="" || VYear=="")
		{
			alert("Please select a valid Date!")
			return false;
		}

		var dt=new Date()
		
		monthint=VMonth;	//Getting the no of the month selected by the user
		var curyear=(dt.getYear())
		var curdate=(dt.getDate())
		var curmonth=(dt.getMonth()+1)
		
	    //If u dont want users to select a date greater than the current date then uncomment the lines below
		//************************************************
		
		//if(parseInt(VYear)>parseInt(curyear))
		//{
		//	alert("Future dates not allowed!")
		//	return false;
		//}
		//if(parseInt(curyear)==parseInt(VYear))
		//{
			//if(parseInt(monthint)>parseInt(curmonth))
			//{
			//	alert("Future dates not allowed!")
			//	return false;
		//	}

			//if(parseInt(curmonth)==parseInt(monthint))
			//{
				//if(parseInt(VDate)>parseInt(curdate))
			//{
				//	alert("Future dates not allowed!")
				//	return false;
			//	}
		//	}
		//}
		
		VMonthIndex=monthint
		//alert(VMonthIndex + ' ' + VDate + ' ' + VYear);
		RetVal=ChkMonthDays(VMonthIndex,VDate,VYear)
		if(RetVal==false)
		{
			alert("Invalid Date Selected!");
			return false;
		}
		return true;
//		alert("Valid Date");
	}
	

	//Validating the Date Selected
	function ChkMonthDays(MonIndex,SelDay,SelYear)
	{
		if(MonIndex==4 || MonIndex==6 || MonIndex==9 || MonIndex==11)
		{
			if(parseInt(SelDay)==31)
			{
				return false;
			}
		} 
		if(MonIndex==2)	//For Feb.
		{
			if((parseInt(SelYear) % 4)!=0)
			{
				if(parseInt(SelDay)>28)
				{
					return false;
				}
			}
			else if((parseInt(SelYear) % 400)==0)
			{
				if(parseInt(SelDay)>29)
				{
					return false;
				}
			}
			else if((parseInt(SelYear) % 100)==0)
			{
				if(parseInt(SelDay)>28)
				{
					return false;
				}
			}
			else
			{
				if(parseInt(SelDay)>29)
				{
					return false;
				}
			}
		}
	}

function uncheck(objname,errmsg)
{
	if(objname.checked==false)
	{
		alert(errmsg);
		objname.focus();
		return false;
	}
}

function unselect(objname,errmsg)
{
	if(objname.selected==false)
	{
		alert(errmsg);
		objname.focus();
		return false;
	}
}

function checkEnglishContent(objname,errmsg)
{
	for (var i = 0; i < objname.value.length; i++) {
		if (objname.value.charCodeAt(i)>255) {
		alert (errmsg);
		objname.focus();
		return false;
		}
	}

}
