function Ltrim_string(x)
			{			
			var j = 0,k=0;
			if(x.length>0)
			{
				for(var i=0;i<x.length && k<x.length;i++)
				{
					if(x.charAt(i)==" ")
					{
					j++;
					}
					else
					{
					k = x.length;
					}
				}
				x = x.substring(j,x.length);
			}
				return x;
			}
			
//when blank field is not allowed
function blankchk(x,y){
TrimBoth(x);

	if (x.value== "")
	{
		alert("Please enter " +y);
		x.select();
		x.focus();
		return false;
	}
	return true;
}
//Only alphabets are allowed
function alphachk(x){
	var alpha=/[a-zA-Z\s]+/
	if(x.value!="")
	{
		alphaflag=x.value.match(alpha);	
		if(alphaflag != x.value){
			alert("Please enter alphabets only.")
			x.focus();
 			x.select();
			return false;
		}
	return true;
	}
	else
		return true;
}	
//First element of dropdown cannot be selected
function dropdownchk(x,y){
	//alert(x.selectedIndex);
	if(x.options[0].selected=="true" || x.selectedIndex == 0){
		alert("Please select " +y);
		x.focus();
		return false;
	}
	return true;
}

//validation for phone numbers NEW
function phonechkN(x)
{	
		
		x.value = Ltrim_string(x.value);
		if (x.value !='') 
		{
			var num=/[0-9\-\+\/\"("\")"\s]+/
			numflag=x.value.match(num);	
			if(numflag != x.value)
			{		
				alert("Please enter valid Phone Number")
				x.focus();
 				x.select();
				return false;
			}
			else
			{
				var Temp = Ltrim_string(x.value);	
				if(Temp.length <6)
				{
					alert("Phone Number: should be atleast of 6 digits")
					x.focus();
 					x.select();
					return false;
				}
				else
				{
					return true;
				}
			}
		}
		return true;
}

//Email validation
function emailchk(x){
	if (x.value!='')
		{
			str=x.value;
			str1=str.split('@');
			var emailyash=str1[1];
					
			var email =/[-a-zA-Z0-9_\.]+@[-a-zA-Z0-9]+\.[-a-zA-Z0-9\.]+/;
			var eflag = x.value.match(email);
			if(eflag!=x.value)
			{
				alert("Please enter your Correct Email ID.")
				x.focus();
				x.select();
				return false;
			  }
			else if(emailyash == 'yashrajfilms.com')
			  {
				alert("Please note you cannot register with this email ID. Please register with a non Yashraj Films ID");
				return false;
			  }
			return true;
		}
		return true;
		 
}
function emailchkforEcard(x){
	if (x.value!='')
		{
			str=x.value;
			str1=str.split('@');
			var emailyash=str1[1];
					
			var email =/[-a-zA-Z0-9_\.]+@[-a-zA-Z0-9]+\.[-a-zA-Z0-9\.]+/;
			var eflag = x.value.match(email);
			if(eflag!=x.value)
			{
				alert("Please enter a valid Email.")
				x.focus();
				x.select();
				return false;
			  }
			return true;
		}
		return true;
		 
}
//Validation for userid, where alphanumeric and under score is allowed
function passwordchk(x){
	var usr=/[a-zA-Z0-9\_]+/;
	uidflag=x.value.match(usr);	
	if(uidflag != x.value){
		alert("Only Alphabets and Numbers are allowed in the Password field.")
		x.focus();
 		x.select();
		return false;
	}
	return true;
}
//Validation when for confirm password
function confpswdchk(pass, confpass){
	if(confpass.value != pass.value){
		alert("Your Confirm Password does not match with your Password entered");
		confpass.focus();
		confpass.select();
		return false;
	}
	return true;
}

/*------------------------------------------*/


//-----Standard Error Messages---------------------
		var strBlanks = " \t\n\r";
		ERR_VAL_NUMERIC			= " should be numeric.";
		ERR_VAL_DATE_FORMAT		= " should be in the format DDMM,DDMMYY,DDMMYYYY,DD/MM/YY or DD/MM/YYYY";
		ERR_VAL_VALID_DATE		= " is not a valid date.";

		ERR_VAL_NUMERIC			= " should be numeric.";
		ERR_VAL_HOURS			= " should contain hours between 00 and 23.";
		ERR_VAL_MINUTES			= " should contain minutes between 00 and 59.";
		ERR_VAL_TIME_FORMAT		= " should be in the format HHMM.";

		MES_VAL_INSERT			= " added successfully.";
		MES_VAL_UPDATE			= " updated successfully.";
		MES_VAL_DELETE			= " deleted successfully.";
		MES_VAL_DELETE_CONFIRM	= " Are you sure you want to Delete ";
		MES_VAL_MULTPLESELECTION = " Do Not Group to Retrieve Data ";
//------------------------------------------------------------------------------	
function fnOnError(objValue, errorMsg) {
    alert(" ERROR ! \n " + objValue + errorMsg);
    return false;
}
//--------------------------------------------------------------------------------
function fnStripBlanks(strVal)
{
	  return fnStripCharsInBag(strVal, strBlanks);
}
//------------------------------------------------------------------------------
function fnStripCharsInBag (strVal, strBag)
{
  var i;
  var strReturnVal = "";

  // Search through string's characters one by one;
  // if character is not in strBag, append to strReturnVal
  for (i = 0; i < strVal.length; i++)
    {   
    // Check that current character isn't blank
    var c = strVal.charAt(i);
    if (strBag.indexOf(c) == -1) 
      strReturnVal += c;
    }
  return strReturnVal;
}
function fnCheckDate(strLabel,objDateField) {

	var strValidChars = "0123456789/";

	var strSlash = "/";
	var intSlashPos1;
	var intSlashPos2;
	var intSlashPos3;
	var intMMStart;
	var intYYStart;
	var mm;
	var dd;
	var yy;


	objDate = new Object(); 
	objDateField.value = fnStripBlanks(objDateField.value);

	objDate.text = objDateField.value;
	dateText = objDate.text;
	dateVal = objDate.text;

	if(objDate.text.length == 0){
		return true;
	}

	//Valid for positive and slash
	for (var i = 0; i < objDate.text.length; i++) {
			chrDigits = strValidChars.indexOf(objDate.text.charAt(i));
			if (chrDigits < 0) {
				fnOnError(strLabel, ERR_VAL_NUMERIC);
				objDateField.select();
				objDateField.focus();
				return false;
			}
	}

	//--Check for slash
	intSlashPos1 = dateVal.indexOf(strSlash);
	intSlashPos2 = dateVal.indexOf(strSlash,intSlashPos1+1);
	intSlashPos3 = dateVal.indexOf(strSlash,intSlashPos2+1);

	if (intSlashPos1 > 0 && intSlashPos2 > 0 ){
		if ((intSlashPos3 > 0 )|| (intSlashPos1==intSlashPos2)) {
			fnOnError(strLabel, ERR_VAL_DATE_FORMAT);
			objDateField.select();
			objDateField.focus();
			return false;
		}
	else
		{
			intMMStart = intSlashPos1 + 1;
			intYYStart = intSlashPos2 + 1;
						dd = dateVal.substring(0,intSlashPos1);
						if (dd.length ==1) {
							dd = '0' + dd;
						} 
						mm = dateVal.substring(intMMStart,intSlashPos2);
						if (mm.length ==1) {
							mm = '0' + mm;
						}
						yy = dateVal.substring(intYYStart,dateVal.length);
						if ((yy.length == 1) || (yy.length == 3)){
							fnOnError(strLabel, ERR_VAL_DATE_FORMAT);
							objDateField.select();
							objDateField.focus();
							return false;
						}
						objDate.text = dd + mm + yy;
						dateText = objDate.text;
		
		}
	}
				            			
	//---
	if(objDate.text.length == 4){
			day = dateText.substring(0,2)
			month = dateText.substring(2,4)
			Year = new Date();
			objDateField.value = day + "/" + month + "/" + Year.getYear();
	}
	else if(objDate.text.length == 6){
			day = dateText.substring(0,2)
			month = dateText.substring(2,4)
			year = dateText.substring(4,6)
			objDateField.value = day + "/" + month + "/20" + year;
	}
	else if(objDate.text.length == 8){
			day = dateText.substring(0,2)
			month = dateText.substring(2,4)
			year = dateText.substring(4,8)
			objDateField.value = day + "/" + month + "/" + year;
			if(year == "0000"){
				fnOnError(strLabel, ERR_VAL_VALID_DATE);
				objDateField.select();
				objDateField.focus();
				return false;
			}
	}
	else{
		/*fnOnError(strLabel, ERR_VAL_DATE_FORMAT);
		objDateField.select();
		objDateField.focus();
		return false;*/
	}
	
	if (chkdate(objDateField) == false) {
		fnOnError(strLabel, ERR_VAL_VALID_DATE);
		objDateField.select();
		objDateField.focus();
		return false;
	}
	else {
			return true;
		}
		return true;
}

//------------------ called by fnCheckDate ---------------
function chkdate(objName) {
	
	var strDate;
	var strDateArray;
	var strDay;
	var strMonth;
	var strYear;
	var intday;
	var intMonth;
	var intYear;
	var objDateField = objName;
	var intElementNr;
	var err = 0;
	strDate = objDateField.value;
	
	if (strDate.length < 1) {
	return true;
	}
	strDateArray = strDate.split("/");
	if (strDateArray.length != 3) {
	err = 1;
	return false;
	}
	else {
	strDay = strDateArray[0];
	strMonth = strDateArray[1];
	strYear = strDateArray[2];
	}

	intday = parseInt(strDay, 10);
	if (isNaN(intday)) {
	err = 2;
	return false;
	}

	intMonth = parseInt(strMonth, 10);
	if (isNaN(intMonth)) {
	err = 3;
	return false;
	}

	intYear = parseInt(strYear, 10);
	if (isNaN(intYear)) {
	err = 4;
	return false;
	}

	if (intMonth>12 || intMonth<1) {
	err = 5;
	return false;
	}

	if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
	err = 6;
	return false;
	}
	if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
	err = 7;
	return false;
	}
	if (intMonth == 2) {
	if (intday < 1) {
	err = 8;
	return false;
	}
	if (LeapYear(intYear) == true) {
	if (intday > 29) {
	err = 9;
	return false;
	}
	}
	else {
	if (intday > 28) {
	err = 10;
	return false;
	}
	}
	}
	objDateField.value = intday + "/" + intMonth + "/" + intYear;
	return true;
}
function LeapYear(intYear) {
	if (intYear % 100 == 0) {
	if (intYear % 400 == 0) { return true; }
	}
	else {
	if ((intYear % 4) == 0) { return true; }
	}
	return false;
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
function fnCheckDateSeason(strLabel,objDateField) {

	var strValidChars = "0123456789/";

	var strSlash = "/";
	var intSlashPos1;
	var intSlashPos2;
	var intSlashPos3;
	var intMMStart;
	var intYYStart;
	var mm;
	var dd;
	var yy;


	objDate = new Object(); 
	objDateField.value = fnStripBlanks(objDateField.value);

	objDate.text = objDateField.value;
	dateText = objDate.text;
	dateVal = objDate.text;

	if(objDate.text.length == 0){
		return true;
	}

	//Valid for positive and slash
	for (var i = 0; i < objDate.text.length; i++) {
			chrDigits = strValidChars.indexOf(objDate.text.charAt(i));
			if (chrDigits < 0) {
				fnOnError(strLabel, ERR_VAL_NUMERIC);
				objDateField.select();
				objDateField.focus();
				return false;
			}
	}

	//--Check for slash
	/*intSlashPos1 = dateVal.indexOf(strSlash);
	intSlashPos2 = dateVal.indexOf(strSlash,intSlashPos1+1);
	intSlashPos3 = dateVal.indexOf(strSlash,intSlashPos2+1);

	if (intSlashPos1 > 0 && intSlashPos2 > 0 ){
		if ((intSlashPos3 > 0 )|| (intSlashPos1==intSlashPos2)) {
			fnOnError(strLabel, ERR_VAL_DATE_FORMAT);
			objDateField.select();
			objDateField.focus();
			return false;
		}
	else
		{
			intMMStart = intSlashPos1 + 1;
			intYYStart = intSlashPos2 + 1;
						dd = dateVal.substring(0,intSlashPos1);
						if (dd.length ==1) {
							dd = '0' + dd;
						} 
						mm = dateVal.substring(intMMStart,intSlashPos2);
						if (mm.length ==1) {
							mm = '0' + mm;
						}
						yy = dateVal.substring(intYYStart,dateVal.length);
						if ((yy.length == 1) || (yy.length == 3)){
							fnOnError(strLabel, ERR_VAL_DATE_FORMAT);
							objDateField.select();
							objDateField.focus();
							return false;
						}
						objDate.text = dd + mm + yy;
						dateText = objDate.text;
		
		}
	}*/
				            			
	//---
	if(objDate.text.length == 4){
			day = dateText.substring(0,2)
			month = dateText.substring(2,4)
			Year = new Date();
			objDateField.value = day + "/" + month; //+ "/" + Year.getYear();
	}
	else if(objDate.text.length == 6){
			day = dateText.substring(0,2)
			month = dateText.substring(2,4)
			year = dateText.substring(4,6)
			objDateField.value = day + "/" + month ;//+ "/20" + year;
	}
	else if(objDate.text.length == 8){
			day = dateText.substring(0,2)
			month = dateText.substring(2,4)
			year = dateText.substring(4,8)
			objDateField.value = day + "/" + month;// + "/" + year;
			if(year == "0000"){
				fnOnError(strLabel, ERR_VAL_VALID_DATE);
				objDateField.select();
				objDateField.focus();
				return false;
			}
	}
	else{
		/*fnOnError(strLabel, ERR_VAL_DATE_FORMAT);
		objDateField.select();
		objDateField.focus();
		return false;*/
	}
	
	/*if (chkdateSeason(objDateField) == false) {
		fnOnError(strLabel, ERR_VAL_VALID_DATE);
		objDateField.select();
		objDateField.focus();
		return false;
	}
	else {
			return true;
		}
		return true;*/
}
//------------------------------------------------------------------------------

var ie = document.all?true:false;
var ns = document.layers?true:false;

function namechk(x){	
	var num=/[0-9]/
	numflag=x.value.match(num);	
	if(numflag != null){
		alert("Please do not enter numbers ")
		x.focus();
 		x.select();
		return false;		
	}
	else
		return true;
}


//date chk blank

function blankchkdate(x,y){	
	if (x.value=="" || x.value== null || x.value=="mm" || x.value=="dd" || x.value=="yyyy"){
		alert("Please enter " +y);
		x.focus();
		return false;
	}
	return true;
}


//CHANGED for Message display----when blank field is not allowed
function blankchkN(x,y){

	if (Ltrim_string(x.value)=="" || x.value== null){
		alert("Please enter " +y);
		x.focus();
		return false;
	}
	return true;
}


function blankchkftb(x,y){	
	if (Ltrim_string(x.value)=="" || x.value== null){
		alert("Please enter " +y);
		return false;
	}
	return true;
}

function blankchknew(x,y)
	{
		if(x.value=="")
		{
			alert("Field " + y +" cannot be left blank.");
			x.focus();
			return false
		}		
		if(x.value.indexOf(" ")==0)
		{
			alert("Field " + y +" cannot be left blank at begining.");
			x.focus();
			x.select();
			return false
		}
		return true;
	}

// for server side blank check 
function serverblankchk(x){	
	if (x.value=="" || x.value== null){
		//alert("Please fill in details for " +y);
		x.focus();
		return false;
	}
	return true;
}

//validation for phone numbers
function phonechk(x,y){	
	if (x.value!='') 
		{
		var num=/[0-9\-\+\/\"("\")"\s]+/
		numflag=x.value.match(num);	
		if(numflag != x.value){
			alert("Please enter valid " +y)
			x.focus();
 			x.select();
			return false;
			}
		return true;
		}
		return true;
}




//validation for mobile numbers NEW
function mobilechkN(x)
{	
		if (x.value!='') 
		{
			var num=/[0-9\-\+\/\"("\")"\s]+/
			numflag=x.value.match(num);	
			if(numflag != x.value)
			{		
				alert("Please enter valid Mobile Number")
				x.focus();
 				x.select();
				return false;
			}
			else
			{
				var Temp = Ltrim_string(x.value);	
				if(Temp.length <10)
				{
					alert("Please enter valid 10 digit Mobile Number")
					x.focus();
 					x.select();
					return false;
				}
				else
				{
					return true;
				}
			}
		}
}

//Only numbers are allowed
function numchk(x,y)
{	
	if (x.value!='')
	{
		var num=/[0-9\s]+/
		numflag=x.value.match(num);	
		if(x.readOnly == false)
		{
			if(numflag != x.value){
				alert("Please enter numbers only for " +y)
				x.focus();
 				x.select();
				return false;
				}
		}
		return true;
	 }
	 return true;
}
function numchkGrid(x,y)
{	
	if (x.value!='')
	{
		var num=/[0-9\s]+/
		numflag=x.value.match(num);	
		if(x.readOnly == false)
		{
			if(numflag != x.value){
				//alert("Please enter numbers only for " +y)
				x.focus();
 				x.select();
				return false;
				}
		}
		return true;
	 }
	 return true;
}

//Decimal Check 
function CheckDecimal(x,msg)
{	
	
	if(x.value!="")
	{
		var iCount=0;
		Temp = Ltrim_string(x.value);	
		if(Temp.length==0)
		{
			Temp = 0;
			return true;
		}
			
		var validchars = "1234567890.";
		for(var j=0;j<Temp.length && iCount < 2;j++)
		{
			if(validchars.indexOf(Temp.charAt(j)) == -1)
			{
				alert('Please enter valid  '+msg);	
				x.focus();
 				x.select();		
				return false;
			}
			else if(Temp.charAt(j)==".")
				iCount++;
		}
		if(iCount > 1)
		{
			alert('Please enter valid '+msg);
			x.focus();
 			x.select();	
			return false;
		}
	var sarray = new Array();
	var sElementValue = x.value;
	
	if(sElementValue != "")
	{
		sarray = sElementValue.split('.');
		//alert(sarray.length);
		if(sarray[0].length == 0)
		{
			x.value = "0"+sElementValue;
		}
		if(sarray.length>1)
		{
			if(sarray[1].length >2)
			{
				alert("Enter Values in 00.00 format");
				x.focus();
				x.select();
				return false;
			}
			else if(sarray[1].length == 0)
			{
				x.value = sElementValue+"00";
			}
			else if(sarray[1].length == 1)
			{
				x.value = sElementValue+"0";
			}
			
		}
		else
		{
			x.value = sElementValue+".00";
		}
	}
	return true;
	}
}
//Decimal Check 

function CheckDecimalold(x,msg)
{	
	var iCount=0;
	Temp = Ltrim_string(x.value);	
	if(Temp.length==0)
	{
		Temp = 0;
		return true;
	}
			
	var validchars = "1234567890.";
	for(var j=0;j<Temp.length && iCount < 2;j++)
	{
		if(validchars.indexOf(Temp.charAt(j)) == -1)
		{
			alert('Please enter valid  '+msg);	
			x.focus();
 			x.select();		
			return false;
		}
		else if(Temp.charAt(j)==".")
			iCount++;
	}
	if(iCount > 1)
	{
		alert('Enter valid '+msg);
		x.focus();
 		x.select();	
		return false;
	}
	return true;
}



//Email validation
function emailchknew(x){
	if (x!='')
		{
			var email =/[-a-zA-Z0-9_\.]+@[-a-zA-Z0-9]+\.[-a-zA-Z0-9\.]+/;
			var eflag = x.match(email);
			if(eflag!=x){
				alert("Please enter a valid Email.")
				//x.focus();
				//x.select();
				return false;
			  }
			return true;
		}
		return true;
		 
}


//numbers not allowed
function betachk(x){
	var beta=/[0-9\s]+/
	betaflag=x.value.match(beta);	
	if(betaflag == x.value){
		alert("Please do not enter numbers.")
		x.focus();
 		x.select();
		return false;
	}
	return true;
}	


//Only alphabets are allowed and '
function alphaappchk(x){
	var alpha=/[a-zA-Z\s\"'"\,]+/
	if(x.value!="")
	{
	alphaflag=x.value.match(alpha);	
	if(alphaflag != x.value){
		alert("Please enter alphabets Only.")
		x.focus();
 		x.select();
		return false;
	}
	
	}
	return true;
}	

//Validation for userid, where alphanumeric and under score is allowed
function useridchk(x){
	var usr=/[a-zA-Z0-9\_]+/;
	uidflag=x.value.match(usr);	
	if(uidflag != x.value){
		alert("Please enter valid username.")
		x.focus();
 		x.select();
		return false;
	}
	return true;
}







//Validation where only Alphabets and space is allowed.
function alphaspchk(x){
	var sp=/[a-zA-Z\s]+/;
	alpflag=x.value.match(sp);	
	if(alpflag != x.value){
		alert("nothing but A-Z, a-z & space")
		x.focus();
 		x.select();
		return false;
	}
	return true;
}

//validation for giving error message if chkbox is selected without sequence number
function checkboxselect(x,y,z)
{
	if(x.checked==true && y.value=="")
	{
		alert("Please Insert Sequence Number For "+z );
		y.focus;
		return false;
	}
	return true;
}
//validation of the date field
function datechk(dd,mm,yyyy){alert();
	switch(chkdate(dd,mm,yyyy)){
		case 1:
			alert("Invalid From Day");
			return false;
			break;
		case 2:
			alert("Invalid From Month");
			return false;				
			break;
		case 3:
			alert("Invalid From Year");
			return false;
			break;
		case 4:
			alert("This month has only 30 days");
			return false;
			break;
		case 5:
			alert("This is a leap year. Feb has only 29 days");
			return false;
			break;
		case 6:
			alert("This is not a leap year. Feb has only 28 days");
			return false;
			break;
		case 7:
			alert("This year is a leap year. Feb has only 29 days");
			return false;
			break;
		case 8:
			alert("The \"date\" cannot be greater than today\'s date");
			return false;
			break;
	}
	return true;
}
			
/*function chkdate(dd,mm,yyyy){
	var dt = new Date();
	invdate=mm+"/"+dd+"/"+yyyy;
	var invdate=new Date(invdate);
	sysdate = dt.getUTCMonth()+1 + '/' + dt.getUTCDate() + '/' + dt.getUTCFullYear();
	var sysdate=new Date(sysdate);
	if(dd==0 || dd>31) return 1; 
	if(mm==0 || mm>12) return 2;
	if(yyyy==0) return 3;
	if ((mm==4||mm==6||mm==9||mm==11) && (dd>30)) return 4;
	if(mm==2 && dd>29 && yyyy %400==0) return 5;
	if(mm==2 && dd>28 && yyyy % 4!=0) return 6;
	if(mm==2 && dd>29 && yyyy % 4==0 && yyyy %400!=0) return 7;
	if (sysdate < invdate) return 8;
}*/	

function chkbox(chk){
	var flag=false;
	var val=new Array();
	var a=0;
	if(ie){
		if(!isNaN(chk.length)){
			for(i=0;i<chk.length;i++){
				if(chk[i].checked==true){
					flag=true;
					val[a]=chk[i].value;
					a++;
				}
			}
		}else{
			if(isNaN(chk.length)){
				if(chk.checked==true){
					flag=true;
					val[a]=chk.value;
				}
			}
		}
		
		if(flag==false){
			alert("Please select your choice.");
			return false;
		}
/*		for(ctr=0;ctr<val.length;ctr++){
//			alert(ctr+" = "+val[ctr]);
		}*/
		return true;			
	}
	if(ns){
		if(chk.length>0){
			for(i=0;i<chk.length;i++){
				if(chk[i].checked==true){
					flag=true;
					val[a]=chk[i];
					a++;
				}
			}
		}else{
			if(chk.length<=0){
				if(chk.checked==true){
					flag=true;
					val[a]=chk.value;
				}
			}
		}
	
		if(flag==false){
			alert("Please select your choice.");
			return false;
		}
	}	
}

             
function datechk(x)
{
		var stordob = document.frm.txtregdate.value;
		regname=/^\d{1}\/\d{1}\/\d{4}$|^\d{2}\/\d{2}\/\d{4}$|^\d{1}\/\d{2}\/\d{4}$|^\d{2}\/\d{1}\/\d{4}$/;
		fnameflag=stordob.match(regname);
		if (fnameflag!=stordob || stordob =="")
			{
			alert ("Please enter valid date in dd/mm/yyyy format")
			document.frm.txtregdate.focus()
			document.frm.txtregdate.select()
			return false;
			}	
		var varsplit = stordob.split("/");		
		var datecal = eval(varsplit[0]);
		var monthcal = eval(varsplit[1]);
		var yearcal = eval(varsplit[2]);	
		
		if (datecal > 31 || datecal <= 0)
			{
			alert ("Please enter valid Date")
			document.frm.txtregdate.focus();
			return false;
			}
		if (monthcal > 12 || monthcal <= 0)
			{
			alert ("Please enter valid Month")
			document.frm.txtregdate.focus();
			return false;
			}
		if (yearcal <= 0)
			{
			alert ("Please enter valid Year")
			document.frm.txtregdate.focus();
			return false;
			}	
		 if  (((yearcal % 4 == 0) && (yearcal % 100 != 0)) || (yearcal % 400 == 0))
    			{
				if(monthcal == 2)
					{
					if(datecal > 29)
						{
						alert("It is a Leap Year, Select a date upto 29th");
						document.frm.txtregdate.focus();
						return false;
						}
					}
				}
    		else
    			{
				if(monthcal == 2)
					{
					if(datecal > 28)
						{
						alert("Select a date upto 28th for February");
						document.frm.txtregdate.focus();
						return false;
						}
					}
	
    			}
	
			if(monthcal == 4 || monthcal == 6 || monthcal == 9 || monthcal == 11)
				{
	   			if(datecal > 30)
	   				{
					alert("Select date upto 30th")
					document.frm.txtregdate.focus();
					return false;
					}	 
				}	

	return true;
}			 
			 
//------------------------------------------------------------------------------	
//---------------------------- SHOWING MESSAGES --------------------------------
function ShowMessage( MessageNo, MessageSource )
{
	var bRetval = true;
	try
	{
		switch( MessageNo )
		{
			case "1" : //***CODE FOR SHOWING ADD MESSAGE...
				alert( MessageSource + MES_VAL_INSERT );
				break;
			case "2" : //***CODE FOR SHOWING UDPATE MESSAGE...
				alert( MessageSource + MES_VAL_UPDATE );
				break;
			case "3" : //***CODE FOR SHOWING DELETE MESSAGE...
				alert( MessageSource + MES_VAL_DELETE );
				break;
			case "4" : //***CODE FOR SHOWING DELETE CONFIRMATION MESSAGE...
				//alert( MES_VAL_DELETE_CONFIRM + MessageSource );
				bRetval = confirm( MES_VAL_DELETE_CONFIRM + MessageSource );
				//confirm("Are You Sure You Want To Delete This Record?")
				break;
			case "5" : //***CODE FOR SHOWING ONLY MESSAGE PASSED BY USER...
				alert( MessageSource );
				break;
			case "6" : //***CODE FOR SHOWING WRONG MULTIPLE SELECTION
				alert( MessageSource + MES_VAL_MULTPLESELECTION);
				break;
		}
	}
	catch(e)
	{ alert( "Error: " + e ); bRetval = false; }
	return bRetval;
}
//**************************************************************************

//*********** TIME VALIDATION ********************

function fnIsPositiveNum(obj){
	obj.value = fnStripLeadingTrailingBlanks(obj.value);
	objVal = obj.value;
    var strDigits = "+0123456789";
    for (var i = 0; i < objVal.length; i++) {
        chrDigits = strDigits.indexOf(objVal.charAt(i));
        if (chrDigits < 0) {
            return false;
        }
   }
     //strip off "+" if it is a positive integer.
	 obj.value = fnStripCharsInBag(obj.value, "+");
     return true;
}	
function fnStripLeadingTrailingBlanks(strVal)
{ 
  strVal = fnStripLeadingBlanks(strVal);
  strVal = fnStripTrailingBlanks(strVal);
  return strVal;
}

function fnCheckTime(strLabel,objTimeField) {
	o = new Object();
	//objTimeField.value = fnStripLeadingTrailingBlanks(objTimeField.value);
	objTimeField.value = fnStripBlanks(objTimeField.value);
	objTimeField.value = fnStripCharsInBag(objTimeField.value, ":");

	o.text = objTimeField.value;
	timeText = o.text;
	if (o.text.length == 0){
		return true;
	}
	else if (!fnIsPositiveNum(objTimeField)){
		fnOnError(strLabel, ERR_VAL_NUMERIC);
		objTimeField.select();
		objTimeField.focus();
		return false;
	}
	else if(o.text.length == 1){
			if (fnIsPositiveNum(objTimeField)){
				hour = "0" + timeText;
				minutes = "00";
				objTimeField.value = hour + ":" + minutes;
			}
		}	
		else if(o.text.length == 2){
			if (fnIsPositiveNum(objTimeField)){
				if (timeText < 24){
					hour = timeText.substring(0,2)
					minutes = "00";
					objTimeField.value = hour + ":" + minutes 
				}
				else{	
					fnOnError(strLabel, ERR_VAL_HOURS);
					objTimeField.select();
					objTimeField.focus();
					return false;
				}
			}	
		}
		else if(o.text.length == 3){
			if (fnIsPositiveNum(objTimeField)){
					hour = timeText.substring(0,1)
					minutes = timeText.substring(1,3)
					if(minutes < 60){
						objTimeField.value = "0" + hour + ":" + minutes 
					}
					else{
						fnOnError(strLabel, ERR_VAL_MINUTES);
						objTimeField.select();
						objTimeField.focus();
						return false;
					}	
			}	
		}
	else if(o.text.length == 4){
	if (fnIsPositiveNum(objTimeField)){
		hour = timeText.substring(0,2)
		minutes = timeText.substring(2,4)
		objTimeField.value = hour + ":" + minutes 
	}
	else{
		fnOnError(strLabel, ERR_VAL_TIME_FORMAT);
		objTimeField.select();
		objTimeField.focus();
		return false;
	}
}

else{
	fnOnError(strLabel, ERR_VAL_TIME_FORMAT);
	objTimeField.select();
	objTimeField.focus();
	return false;
}

timeStr = objTimeField.value;

matchArray = timeStr.split(":");
hour = matchArray[0];
minute = matchArray[1];

if (hour < 0  || hour > 23) {
fnOnError(strLabel, ERR_VAL_HOURS);
objTimeField.select();
objTimeField.focus();
return false;
}

if (minute<0 || minute > 59) {
fnOnError(strLabel, ERR_VAL_MINUTES);
objTimeField.select();
objTimeField.focus();
return false;
}
return true;
}
function fnStripBlanks(strVal)
{
	  return fnStripCharsInBag(strVal, strBlanks);
}
function fnStripLeadingBlanks(strVal)
{ 
  var i = 0;
  while ((i < strVal.length) && (strBlanks.indexOf(strVal.charAt(i)) != -1))
     i++;
  return strVal.substring(i, strVal.length);
}
//------------------------------------------------------------------------------
function fnStripTrailingBlanks(strVal)
{ 
  var i = strVal.length - 1;
  while ((i >= 0) && (strBlanks.indexOf(strVal.charAt(i)) != -1))
     i--;
  return strVal.substring(0, i+1);
}
//**************** END OF TIME VALIDATION ***********


	
function parseDec(val,places,sep) {

        val = '' + val;
        
        if (!sep) {
            sep = '.';
        }
        
        if (!places) { places = 0; }
        places = parseInt(places);
        
        if (!parseInt(val)) {
            val = '0';
            if (places > 0) {
                val += sep;
                while (val.substring((val.indexOf(sep))).length <= places) {
                    val += '0';
                }
            }
            return val;
        }
        
        if ((val.indexOf('.') > -1) && (sep != '.')) {
            val = val.substring(0,val.indexOf('.')) + sep + val.substring(val.indexOf('.')+1);
        }
            
        if (val.indexOf(sep) > -1) {
            pre = val.substring(0,val.indexOf(sep));
            post = val.substring(val.indexOf(sep)+1);
        } else {
            pre = val;
            post = '';
        }
        
        if (places > 0) {
            
            post = post.substring(0,(places+1));
            
            if (post.length > places) {
                if ( parseInt(post.substring(post.length - 1)) > 4 ) {
                    post = '' + Math.round(parseInt(post) / 10);
                } else {
                    post = '' + Math.round(parseInt(post));
                }
            }
            
            if (post.length > places) {
                post = '' + Math.round(parseInt(post.substring(0,places)));
            } else if (post.length < places) {
                while (post.length < places) {
                    post += '0';
                }
            }
        
        } else {

            if (parseInt((post.substring(0,1))) > 4) {
                pre = '' + (parseInt(pre) + 1);
            } else {
                pre = '' + (parseInt(pre));	
            }
            post = '';
        }
        
        sep = (post.length > 0) ? sep : '';
        val = pre + sep + post;

        return val;
    }

//validation for fax numbers
function faxchk(x){	
	var num=/[0-9\-\+\/\"("\")"\s]+/
	numflag=x.value.match(num);
	if(x.value!="")
	{	
		if(numflag != x.value){
			alert("Please enter valid fax number")
			x.focus();
 			x.select();
			return false;
		}
	}
	return true;
}

//allows only alphabets,numbers,space,hypen,single quote...
function specialAlphaNumericChk1(x,str)
{
	var alpha=/[a-zA-Z0-9\'\-\/&\s]+/;
	alphaflag=x.value.match(alpha);	
	if(x.value!="")
	{	
		if(alphaflag != x.value)
		{
			alert("Only alphabets,numbers,space,hypen,forword slash,ampersand,single quotes are allowed in "+str+"!")
			x.focus();
 			x.select();
			return false;
		}
	}
	return true;
}

//allows only alphabets,numbers,space,hypen,single quote...
function specialAlphaNumericChk2(x,str)
{
	var alpha=/[a-zA-Z0-9,\-\/&\s]+/;
	alphaflag=x.value.match(alpha);	
	if(x.value!="")
	{	
		if(alphaflag != x.value)
		{
			alert("Only alphabets,numbers,space,hypen,forword slash,ampersand,single quotes are allowed in "+str+"!")
			x.focus();
 			x.select();
			return false;
		}
	}
	return true;
}

//Only 6 Characters are allowed
function charlengthchk(x,y){
	charlength=x.value.length;
	if(x.value!="")
		{
		if(charlength > y){
			alert("Pin Code should not be greater than "+y+" characters!")
			x.focus();
 			x.select();
			return false;
		}
	}
	return true;
}

//password between 6-12 characters.
function Newcharlengthchk(x,y,z){
	var charlength=x.value.length;
	if(x.value!="")
		{
		if(charlength < y || charlength > z){
			alert("Your Password should be Within 6-12 characters")
			x.focus();
 			x.select();
			return false;
		}
	}
	return true;
}

function useridlengthchk(x,y){
	charlength=x.value.length;
	if(x.value!="")
		{
		if(charlength < y){
			alert("Code should be atleast of "+y+" characters!")
			x.focus();
 			x.select();
			return false;
		}
	}
	return true;
}		
function TextBoxMaxLength(x1,Charlong) 
{	if (x1.value.length > Charlong)
	{   //x1 = x1.substring(0,maxlength);
		alert(" Only " + Charlong + " chars allowed including space.");
		x1.focus();return false;
	}
	return true;
}

//WebSite validation
function webchk(x){
	var web =/[w][w][w]\.+[-a-zA-Z0-9]+\.[-a-zA-Z0-9\.]+/gi;
	var eflag = x.value.match(web);
	if(x.value!=''){
	if(eflag!=x.value){
		alert("Please enter a valid WebSite Address.")
		x.focus();
		x.select();
		return false;
		}
	}
	return true;
}
//Only Numbers and Alphabets are allowed
function alphanumchkDEV(x){	
	var num=/[a-zA-Z0-9\-\s]+/
	numflag=x.value.match(num);	
	if(numflag != x.value){
		alert("Please enter alphabets or numbers only")
		x.focus();
 		x.select();
		return false;
	}
	return true;
}
//Only numbers are allowed
function alphanumchk(x){	
	var num=/[a-zA-Z0-9\-\s]+/
	numflag=x.value.match(num);	
	if(x.value!="")
	{
	if(numflag != x.value){
		alert("Please enter alphabets and numbers only")
		x.focus();
 		x.select();
		return false;
	}
	}
	return true;
}

function CheckSpecialChar(objID,strControlName,spstr)
{
var str=objID.value;
var validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" + spstr;
for (var j=0;j<str.length;j++)
    {
    if(validchars.indexOf(str.charAt(j)) == -1)
	    {
		    alert(strControlName+ ": should not have any special characters")
		    objID.focus();
 		    objID.select();
		    return false;
	    }
	}
	return true;
} 

function CheckNumeric(objID,strControlName)
	{	
		if (objID.value!="")
		{
			var num=/[0-9]+/
			numflag=objID.value.match(num);	
			if(numflag !=objID.value){
			alert(strControlName+ ": should be Numeric only.")
			objID.focus();
 			objID.select();
			return false;
		}
	}
	return true;
}

function CheckForSpace(ObjID,strControlName)
{
	if(ObjID.value.indexOf(' ')> -1)
	{
		alert(strControlName+ ": should not include space.")		
		ObjID.focus();
 		ObjID.select();
		return false;
	}
	return true;
}

//Alpha With Space
function CheckAlphabetSpace(objID,strControlName)
{
	var alpha=/[a-zA-Z" ".']+/;
	
	if(objID.value != "" )
	{
	    TrimBoth(objID);
	    alphaflag=objID.value.match(alpha);	
	    
		if(alphaflag != objID.value)
		{
			alert(strControlName+ ": Only alphabets allowed.")
			objID.focus();
			objID.select();
 			return false;
	     }
	 } 
	return true;   
}

function TrimBoth(objID)
{
    return LTrim(RTrim(objID));
}

//Right Trim
function RTrim(objID)
{
    var Len = 0;
    var ch=0;
    
    for(l=0; l<objID.value.length; l++)
    {
        if(objID.value.charAt(l)==" " && ch==0)
        {
            Len=Len+1;
        }
        else if( objID.value.charAt(l)!=" ")
        {
            ch=ch+1;
        }
    }
    objID.value=objID.value.substring(Len,objID.value.length);
    return objID;
}

//Left Trim
function LTrim(objID)
{
    var Len = 0;
    var ch=0;
    
    for(i=0;i<objID.value.length;i++)
    {   
        if(objID.value.charAt([objID.value.length-1-i])==" " && ch==0)
        {
            Len+=1;
        }
        else
        {
            ch+=1;
        }  
    }
    objID.value=objID.value.substring(0,objID.value.length-Len);
    return objID;
}


function alphawithspecialchk(x){
	var alpha=/[a-zA-Z.'\s]+/
	if(x.value!="")
	{
		alphaflag=x.value.match(alpha);	
		if(alphaflag != x.value){
			alert("Please enter alphabets only.")
			x.focus();
 			x.select();
			return false;
		}
	return true;
	}
	else
		return true;
}	

function Trim(Temp)
			{
			    Temp = document.getElementById(Temp);
			    if (Temp != null)
			{
			Temp.value = Ltrim_string(Temp.value);

			if (Temp.value.length == 0) 
			{
			    Temp.value = "";
			}
			return true;
			}
			}
			
			
			
			
			function CheckMailYRFUpdates(objID,strControlName)
{

	var email =/[-a-zA-Z0-9_\.]+@[-a-zA-Z0-9]+\.[-a-zA-Z0-9\.]+/;
	var eflag = objID.value.match(email);	
	
    if(eflag!=objID.value)
    {
        alert("Enter a valid Email ID")
        objID.focus();
        objID.select();
        return false;
    }
    else if(objID.value.indexOf(".")==0 || objID.value.indexOf("..")>0 || objID.value.lastIndexOf(".") ==objID.value.length-1)
    {        
        alert("Enter a valid Email ID")
        objID.focus();
        objID.select();
        return false;
    }
	return true;
} 

function alphanumchek(x,y)
{	
	var num=/[a-zA-Z0-9]+/
	numflag=x.value.match(num);	
	if(x.value!="")
	{
	if(numflag != x.value)
		{
			alert(y+": Alphabets and numbers are allowed")
			x.focus();
 			x.select();
			return false;
		}
	}
	return true;
}


function numericlengthchk(x,y,z)
{
	numericlength=x.value.length;
	if(x.value!="")
		{
		if(numericlength < y)
		{
			alert(z+": Should be "+y+" characters!")
			x.focus();
 			x.select();
			return false;
		}
	}
	return true;
}


function alphanumspacechek(x,y)
{	
	var num=/[a-zA-Z0-9 ]+/
	numflag=x.value.match(num);	
	if(x.value!="")
	{
	if(numflag != x.value)
		{
			alert(y+": Alphabets, numbers and space are allowed")
			x.focus();
 			x.select();
			return false;
		}
	}
	return true;
}

function CheckAlphaSpecialChar(objID,strControlName,spstr)
{
TrimBoth(objID);

var str=objID.value;
var validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" + spstr;
for (var j=0;j<str.length;j++)
    {
    if(validchars.indexOf(str.charAt(j)) == -1)
	    {
		    alert(strControlName+ ": should not have any special characters except" + spstr)
		    objID.focus();
 		    objID.select();
		    return false;
	    }
	}
	return true;
} 

function CheckMail(objID,strControlName)
			{
			
			var email =/[-a-zA-Z0-9_'\.]+@[-a-zA-Z0-9]+\.[-a-zA-Z0-9\.]+/;
			var eflag=objID.value.match(email);
			var LastIndex=objID.value.lastIndexOf(".");
			var FirstIndex=objID.value.indexOf(".");
			
				if(eflag!=objID.value)
				{
					alert(strControlName+ ": Should be in proper format");
					objID.focus();
					objID.select();
					return false;
				}
				else if(objID.value.indexOf(".")==0 ||(LastIndex - FirstIndex) == 1 ||(objID.value.length-1 == LastIndex) || objID.value.indexOf("..") >= 1)
				{
				alert(strControlName +": Should be valid Email");
				objID.focus();
				objID.select();
				return false;
				}
				return  true;
			} 
			
function CheckBlankTextArea(objID,strControlName)
{
    var alpha = /[ \n\r]+/;
    TrimBoth(objID);
    alphaflag = objID.value.match(alpha);
    
   if (objID.value== "" || alphaflag == objID.value)
   {
		alert(strControlName+": Cannot be left blank");
		objID.focus();
		objID.select();
		return false;
	}
	return true;
}

function lengthchk(x,y,z)
{
	numericlength=x.value.length;
	if(x.value!="")
		{
		if(numericlength > y)
		{
			alert(z+": should not be more than "+y+" characters!")
			x.focus();
 			x.select();
			return false;
		}
	}
	return true;
}


			function CheckBlankFreeTextbox(objID, strControlName) {
			    if (Ltrim_string(objID.value) == "") {
			        alert(strControlName + ": Cannot be left blank");
			        objID.value = "";
			        return false;
			    }
			    return true;
			}
			
function stripHTML(x,y)
{	
	if (x.value!='')
	{		
		if(x.value.indexOf("<")>-1 || x.value.indexOf(">")>-1)
		{
			alert(y+": HTML tags are not allowed");
			x.focus();
 			x.select();
			return false;
		}		
	}
	
	
	/*
		var num=/[<>]+/
		numflag=x.value.match(num);	
		debugger;
		if(x.readOnly == false)
		{
			if(numflag == x.value)
			{
				alert("Feedback: < and > characters are not allowed");
				x.focus();
 				x.select();
				return false;
				}
		}
		return true;
	 }*/
	 return true;
}
function minlengthchk(x,y,z)
{
	numericlength=x.value.length;
	if(x.value!="")
		{
		if(numericlength < y)
		{
			alert(z+": should be atleast "+y+" characters!")
			x.focus();
 			x.select();
			return false;
		}
	}
	return true;
}
function minlengthchkDigit(x,y,z)
{
	numericlength=x.value.length;
	if(x.value!="")
		{
		if(numericlength < y)
		{
			alert(z+": should be atleast "+y+" digits!")
			x.focus();
 			x.select();
			return false;
		}
	}
	return true;
}
			
			