var SAlertMess = new Array(20);
var SErrmes ;

SAlertMess[0] = "Invalid Date."
SAlertMess[1] = "Invalid Time."
SAlertMess[2] = "Cannot Be Greater Then Current Date."
SAlertMess[3] = "Invalid Number."
SAlertMess[4] = "Cannot Be Zero."
SAlertMess[5] = "Invalid String."
SAlertMess[6] = "Select From The Dropdown."
SAlertMess[7] = "Selection Is mandatory."
SAlertMess[8] = "Age Cannot Be Less than 18 years."
SAlertMess[9] = "Click On search To Select."
SAlertMess[10] = "Invalid Email Address."
SAlertMess[11] = "Cannot Be Blank."
SAlertMess[12] = "Invalid Zipcode."
SAlertMess[13] = "Invalid Phone Number."
SAlertMess[14] = "Invalid Fax Number."
SAlertMess[15] = "Invalid SSN Number."
SAlertMess[16] = "Invalid  Number."
SAlertMess[17] = "Please Select CheckBox."
SAlertMess[18] = "Invalid Fax Number."


function ReturnErr(IErr){
	SErrmes = SAlertMess[IErr] ; 
	return SErrmes ; 
}
var SAbort ; // used as flag for excuting the functions
SAbort = "TRUE" ;
//***************************Email Validation*********************
function CheckEmail(objName,sAlertmess){
	if(SAbort == "FALSE" || SAbort == "false"){
		return (false);
	}
	var FieldValue;
	FieldValue = objName.value;
	var RegExpres = /^['a-zA-Z0-9._-]+@([a-zA-Z0-9._-]+\.)+[a-zA-Z0-9._-]{2,8}$/;
	if(RegExpres.test(FieldValue)){
		//now check for two consecutive dots
		var bValid = true;
		for(i = 0; i < FieldValue.length; i++){
			//alert("FieldValue.length = " + FieldValue.length);
			if(FieldValue.charAt(i) == "."){
				if(FieldValue.charAt(i+1) == "."){
					bValid = false;
					break;
				}
			}
			if(FieldValue.charAt(i) == "@"){
				if(FieldValue.charAt(i+1) == "."){
					bValid = false;
					break;
				}
			}
		}
		if(bValid){
			if(FieldValue.charAt(0) == "." || FieldValue.charAt(0) == "@" || FieldValue.charAt(0) == "_" || FieldValue.charAt(0) == "-")
				bValid = false;
			else if(FieldValue.charAt(FieldValue.length - 1) == "."  || FieldValue.charAt(FieldValue.length - 1) == "@" || FieldValue.charAt(FieldValue.length - 1) == "_" || FieldValue.charAt(FieldValue.length - 1) == "-")
				bValid = false;
			else
				bValid = true;
		}
	}
	else{
			bValid = false;
	}
	if(! bValid){
		alert("Email field is not entered correctly. \n" +"\nCorrect email Format:ValidName@ValidDomain.com ");
		objName.focus();
		objName.select();
		SAbort = "FALSE" ;
		return false;				
	}
	else
		return true;
}
//***************************Email Validation Over*********************
//***************************Zip Code Validation*********************
function CheckZip(objName,sAlertmess){
	if(SAbort == "FALSE" || SAbort == "false"){
		return (false);
	}
	var FieldValue = objName.value
	var bValid = false;
	//For 5+4 digits e.g. 12345-6789
	var iLen = FieldValue.length;
	if(iLen == 10){
		var RegExpres = /\d{5}-\d{4}/;
		if(RegExpres.test(FieldValue))
			bValid = true;
	}
	else if(iLen == 5){
		RegExpres = /\d{5}/;
		if(RegExpres.test(FieldValue))
			bValid = true;
	}
	else if(iLen == 9){
		RegExpres = /\d{9}/;
		if(RegExpres.test(FieldValue))
			bValid = true;
	}
	else
		bValid = false;
	//If the zip is valid then check that all numbers are not zeros.
	if(bValid)	{
		var sReplace = /0/g;
		FieldValue = FieldValue.replace(sReplace,"");
		if(FieldValue == "")
			bValid = false;
		else if(FieldValue == "-")
			bValid = false;
		else
			bValid = true;
	}
	if(! bValid){	
		alert("Zip Code is not entered correctly. \n" +"\nCorrect Formats:\n12345 : Five digits.\n12345-1234 : Five + Four digits.\n123456789 : Nine digits. ");
		objName.focus();
		objName.select();
		SAbort = "FALSE" ;
		return false;				
	}
}
//***************************Zip Code Validation Over*********************
//***************************Alphabets with '-_ Validation*********************
function CheckText(objName,sAlertmess){
	if(SAbort == "FALSE")
		return (false) ;
	var FieldValue;
	var bValid = false;
	FieldValue = objName.value;
	var RegExpres = /['A-Za-z-]/;
	if(RegExpres.test(FieldValue))
			bValid = true;
	else
		bValid = false;
	if(! bValid){
		alert(sAlertmess);
		objName.focus();
		objName.select();
		SAbort = "FALSE" ;
		return (false);	
	}
	else
		return true;
}
//Valid number - allows to enter only 0-9 --------------------------------
//----------Created by Karan--on 19-june-2002-----------------------------
function validnumber(objName){
	alert(objName.value);
	if(SAbort == "FALSE")
		return (false);
	//allow to only numeric values
	var strok = "0123456789";
	var strparam = objName.value;
	var validnun = true;
	var i;
	var ch;
	for(i=0; i < strparam.length; i++)
	{
		ch = strparam.charAt(i);
		for(j=0; j < strok.length; j++ )
			if(ch==strok.charAt(j))
				break;
			if(j==strok.length){
				validnum = false;
				break;
			}
	}
	if(!validnum)
	{
		
		SAbort = "FALSE";
		return (false);
	}
	else
	return (true);
}
//valid number ends here---------------------------------------------------

function CheckInteger(objName,sAlertmess){
	if(SAbort == "FALSE")	
		return (false);
	// allow only Numeric keys, no symbols or punctuation
	var checkOK = "0123456789";
	var checkStr = objName.value;
	var allValid = true;
	for (i = 0;  i < checkStr.length; i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
		if (j == checkOK.length){
			allValid = false;
			break;
		}
	}
	if (!allValid){
		alert(sAlertmess);
		objName.focus();
		SAbort = "FALSE" ;
		return (false);
	}
	return(true);
}

function CheckNumeric(objName,sAlertmess){
	
	if(SAbort == "FALSE")	
		return (false);
	// allow only Numeric keys, no symbols or punctuation
	var checkOK = "0123456789.";
	var checkStr = objName.value;
	var allValid = true;
	for (i = 0;  i < checkStr.length; i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
		if (j == checkOK.length){
			allValid = false;
			break;
		}
	}
	if (!allValid){
		alert(sAlertmess);
		objName.focus();
		SAbort = "FALSE" ;
		return (false);
	}
	return(true);
}

function CheckNumericNoAlert(objName)
{
	if(SAbort == "FALSE")	
		return (false);
	// allow only Numeric keys, no symbols or punctuation
	var checkOK = "0123456789.";
	var checkStr = objName.value;
	var allValid = true;
	
	for (i = 0;  i < checkStr.length; i++)
	{
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
		if (j == checkOK.length)
		{
			allValid = false;
			break;
		}
	}
	if (!allValid){
		SAbort = "FALSE" ;
		return (false);
	}
	return(true);
}
//***************************Alphabets with '-_ Validation Over*********************
//***************************Alphanumeric with '-_ Validation*********************
function CheckAlphaNumeric_old(objName,sAlertmess){
	if(SAbort == "FALSE")
		return (false);
	var FieldValue;
	var bValid = false;
	FieldValue = objName.value;
	var RegExpres = /['A-Za-z0-9_-]/;
	if(RegExpres.test(FieldValue))
			bValid = true;
	else
		bValid = false;
	if(! bValid){
		alert(sAlertmess);
		objName.focus();
		objName.select;
		SAbort = "FALSE" ;
		return (false);	
	}
	else
		return true;
}
//***************************Alphanumeric with '-_ Validation Over*********************

//*********************Check Password******************************
function CheckPassword(objName,sAlertmess){
	if(SAbort == "FALSE")
		return (false) ;
	// this can be altered for any "checkOK" string you desire
	var bValid = true;
	FieldValue = objName.value;
	//alert(FieldValue);
	//Validation for length
	if(FieldValue.length < 4){
		alert("Password cannot be less than 4 characters in length.");
		objName.focus();
		objName.select();
		SAbort = "FALSE" ;
		return (false);
	}
	var RegExpres = /\W/;
	if(RegExpres.test(FieldValue)){
		bValid = false;
	}
	else{
		for(var i=0;i <= FieldValue.length; i++){
			if(FieldValue.charAt(i) == " "){
				bValid = false;
				break;
			}
		}
		//bValid = true;
		//alert("hi");	
	}
	if(bValid == false){
		alert("Only characters from a-z, A-Z and integers from 0-9 are allowed in password.\nAny special character including white space is not allowed in password.");
		objName.focus();
		objName.select();
		SAbort = "FALSE" ;
		return (false);
	}
}
//******************Check Password Overs here********************
//******************Check Confirm Password********************

function CheckConfirmPassword(objName1,objName2,passnum,sAlertmess){
	// require at least passnum characters in the password field
	//alert(SAbort) ;
	if(SAbort == "FALSE")
		return (false);
	if (objName1.value.length < parseInt(passnum) || objName1.value.length == 0){
		objName1.focus();
		SAbort = "FALSE" ;
		alert("Password Cannot Be less than " + passnum + " characters.");
		return (false);
	}
	// check if both password fields are the same
	if (objName1.value != objName2.value){
		alert(sAlertmess);
		objName2.focus();
        SAbort = "FALSE" ;
		return (false);
	}
return(true);
}
//******************Check Confirm Password Overs here*****************

//******************Check Birth date****************************
function CheckBirthdate(datefield,yeardiff,agelimit,sAlertmess){
	// to check whether date is entered or not in the field
	if(SAbort == "FALSE")
		return (false);
	if (datefield.value == ""){
		alert("Enter Value In Date Field");
		datefield.focus();
		SAbort = "FALSE" ;
		return (false);
	}
	// allow ONLY alphanumeric keys, no symbols or punctuation
	var checkOK = "0123456789/";
	var checkStr = datefield.value;
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
		if (j == checkOK.length){
			allValid = false;
			break;
		}
	}
	if (!allValid){
		alert(sAlertmess) ;
		datefield.focus();
		SAbort = "FALSE" ;
		return(false)    ;
	}
	//to check whether its of length 11(mm/dd/yyyy) and /'s are on 2nd  and 5th postion or not
	var iPos ;
	iPos = 0 ;
	if (checkStr.length != 10){
		alert(sAlertmess) ;
        datefield.focus() ;
        SAbort = "FALSE" ;
		return(false)    ;
	}      
    else{
		//to find the positoins of /'s 
		for (i = 0;  i < checkStr.length;  i++){
			ch = checkStr.charAt(i);
			if(ch=="/")
				iPos = iPos + i   ;                        
		}            
	}
	//to check valid month day and year
	if(iPos==7){ 
		// Sinc 2 and 5 addition
		strDateArray = checkStr.split("/"); // to extract month,day,year
		strMonth = strDateArray[0] ;
		strDay   = strDateArray[1] ; 
		strYear  = strDateArray[2] ; 
		if(strMonth<01 || strMonth>12){
			alert(sAlertmess) ;
			datefield.focus() ;
			SAbort = "FALSE" ;
			return(false)    ;  
		}
		if(strDay<01 || strDay>31){
			alert(sAlertmess) ;
			datefield.focus() ;
			SAbort = "FALSE" ;
			return(false)    ;
		}
		//to caluclate todays date so that we can validate for 100 yrs back for
		//valication and also it shd not b greater then 2days date..
		var itoday = new Date(); 
		var itodayfin = new Date();  
		var stodayyear ;
		// itoday = itoday.getYear() - yeardiff ;
		//to calculate the present year
		stodayyear = itoday.toString() ;
		itodayyearlen = stodayyear.length - 4 ;
		itoday1 =   stodayyear.substr(itodayyearlen, 4) ;  //present year        
		yeardifffin =  parseInt(itoday1) - parseInt(strYear) ;  
		if(yeardifffin>yeardiff || strYear>itoday1){
			//to check date is <year passed //diff and not greater then present year
			alert(sAlertmess) ;
			datefield.focus() ;
			SAbort = "FALSE" ;
			return(false)    ;
		}
		else{                      
			//check the age whether its greater then 18 or not -----
			var iAge ;                        
			iAge = itoday1  - parseInt(strYear )
			alertsay = "Age is less than " + agelimit + " Years";
			if(iAge<agelimit){
				alert(alertsay);
				datefield.focus() ;
				SAbort = "FALSE" ;
				return(false)    ;
			}
		} 
	}
	else{
		alert(sAlertmess) ;
		datefield.focus();
		SAbort = "FALSE" ;
		return(false)    ;
	} 
	return(true);
}
//*********************Check Birth date Overs here********************

//*********************Check date********************

function CheckDate(datefield,sAlertmess){
	var bValid;
	var sAllowed = "1234567890/"
	if(SAbort == "FALSE"){
		return (false);
	}
	for(var i=0;i<datefield.value.length;i++){
		if(sAllowed.indexOf(datefield.value.charAt(i)) == -1){
			alert(sAlertmess) ;
			datefield.select();
			datefield.focus();
			SAbort = "FALSE" ;
			return(false);
		}
	}

	var strDate = datefield.value.split("/");
	bValid = 1;
	
	//if date format is " / / " its ok then
	//split date on "/" to get dd,mm and yyyy sperated
	//this will create a array of three elements where:
	//strDate[0] = MM, strDate[1] = DD, strDate[2] = "YYYY"
	
	var sMM,sDD,sYYYY;
	if(datefield.value.indexOf(" ") == -1){
		//if array has three elements i.e " / / " format is correct. check further
		if(strDate.length == 3){
			sMM=strDate[0];
			sDD=strDate[1];
			sYYYY=strDate[2];
			
			//if all elements in array are numbers i.e. "#/#/#" format is correct. check further
			if(! (isNaN(sMM) || isNaN(sDD) || isNaN(sYYYY)) )	{
				//if ((sMM.length==2)&&(sDD.length==2)&&(sYYYY.length==4))
				//{
					while(sMM.substr(0,1) == "0")
						sMM = sMM.substr(1,sMM.length);
					while(sDD.substr(0,1) == "0")
						sDD = sDD.substr(1,sDD.length);
					while(sYYYY.substr(0,1) == "0")
						sYYYY = sYYYY.substr(1,sYYYY.length);
				
					//if MM is between 1 - 12 i.e. "MM/#/#" is correct. check further			
					if(parseInt(sMM) >=1 && parseInt(sMM) <=12){
						var sToday = new Date();
				
						//if YYYY is between curren year + - 100 i.e "MM/#/YYYY" format is correct. check further
						if(parseInt(sYYYY) >= eval(sToday.getFullYear()-100) 
						&& parseInt(sYYYY) <= eval(sToday.getFullYear()+100)){
	
							//if DD is between 1 - Last day of MM/YYYY i.e "MM/DD/YYYY" format is correct. return true
							if(parseInt(sDD) >= 1 && parseInt(sDD) <= getMaxDays(parseInt(sMM),parseInt(sYYYY))){
								return (true);
								}
							
							}
					}
				//}
			}
		}
	}
	if(datefield.value != ""){
		//if any of the above check fails return false
		alert(sAlertmess) ;
		datefield.select();
		datefield.focus();
		SAbort = "FALSE" ;
		return(false);
	}
}


function CheckDate_old(datefield,sAlertmess) 
{
// to check whether date is entered or not in the field
 
if(SAbort == "FALSE")
{
return (false);
}
  

if (datefield.value == "")
{
alert(sAlertmess);
datefield.focus();
SAbort = "FALSE" ;
return (false);
}

// allow ONLY alphanumeric keys, no symbols or punctuation
var checkOK = "0123456789/";
var checkStr = datefield.value;
		checkStr = checkStr.split("-").join("/");
		//alert(checkStr + "tumtum")
var allValid = true;
for (i = 0;  i < checkStr.length;  i++)
{
ch = checkStr.charAt(i);
for (j = 0;  j < checkOK.length;  j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
}
}
if (!allValid)
{
alert(sAlertmess) ;
datefield.focus();
SAbort = "FALSE" ;
return(false)    ;
}
     

//to check whether its of length 11(mm/dd/yyyy) and /'s are on 2nd  and 5th postion or not
var iPos ;
iPos = 0 ;

  if (checkStr.length != 10) 
       {
          alert(sAlertmess) ;
          datefield.focus() ;
          SAbort = "FALSE" ;
		   return(false)    ;
       }      
     else//to find the positoins of /'s 
       {
         for (i = 0;  i < checkStr.length;  i++)
                {
                  ch = checkStr.charAt(i);
                    if(ch=="/")
                       {
                         iPos = iPos + i   ;                        
                       }   
                 }            
       }
  //to check valid month day and year
	if(iPos==7) // Sinc 2 and 5 addition
           { 
              strDateArray = checkStr.split("/"); // to extract month,day,year

              
	      strMonth = strDateArray[0] ;
          strDay   = strDateArray[1] ; 
	      strYear  = strDateArray[2] ; 

          if(strMonth<01 || strMonth>12)              
			{
			 alert(sAlertmess) ;
             datefield.focus() ;
			 SAbort = "FALSE" ;
	         return(false)    ;  
	        }
		    if(strDay<01 || strDay>31)              
			{
			 alert(sAlertmess) ;
			 datefield.focus() ;
			 SAbort = "FALSE" ;
	  		 return(false)    ;
			}
                //to caluclate todays date so that we can validate for 100 yrs back for 		//valication and also it shd not b greater then 2days date..
                   var yeardiff ;
                   yeardiff = 100
                   var itoday = new Date(); 
                   var itodayfin = new Date();  
                   var stodayyear ;
                      // itoday = itoday.getYear() - yeardiff ;
                     //to calculate the present year
              
                     stodayyear = itoday.toString() ;
                     itodayyearlen = stodayyear.length - 4 ;
                     itoday1 =   stodayyear.substr(itodayyearlen, 4) ;  //present year        
                     yeardifffin =  itoday1 - strYear ;  
		             
			               
                    if(yeardifffin>yeardiff)//to check date is <year passed
			{
						alert("Date Must be Greater than or Equal to 1902.") ;
                         datefield.focus() ;
                         SAbort = "FALSE" ;
	  		 			 return(false)    ;
			}
                      
           }
         else
           {
	   	   alert(sAlertmess) ;
           datefield.focus();
           SAbort = "FALSE" ;
	  	   return(false)    ;
           } 
           
var iPoszero ; 
iPoszero= 0  ;          
           for (i = 0;  i < checkStr.length;  i++)
                {                 
                  ch = checkStr.charAt(i);
                    if(ch=="0")
                       {
                         iPoszero = iPoszero + 1   ;                        
                         //alert(iPoszero);
                       }                             
                 }            
                  
	   if(iPoszero==8) // Since 3 and 6 addition           
           {
 		     alert(sAlertmess) ;
             objName.focus() ;
             SAbort = "FALSE" ;
	         return(false)    ;
			}
                 
return(true);
}
//*********************Check date Overs here********************

//*********************Get Maximum Days of a Month***************
function getMaxDays(iMonth,iYear){
	switch(iMonth){
		case 4:
		case 6:
		case 9:
		case 11:
			return(30);
		case 2:
			if(iYear % 100 == 0 || iYear % 4 == 0 || iYear % 400 == 0)
				return(29);
			else
				return(28);
	}
	return(31);	
}
//*********************Get Maximum Days of a Month Overs here******

//********************Compare Dates***************************
//to compare datefield1 shd greater then datefield2
function CompareDates(datefield1,datefield2,sAlertsay){
	// to check whether date is entered or not in the field
	if(SAbort == "FALSE"){
		return (false);
	}            
	var sDate1,sDate2,iLen1,iLen2;
	valdatefield2 = datefield2.value ;
	sDate1 = datefield1.value;
    sDate1 = sDate1.toString();
    sDate1 = sDate1.split("-").join("/");
	sDate2 = datefield2.value;
	sDate2 = sDate2.toString() ;
    sDate2 = sDate2.split("-").join("/");
                     
	var arrInts1,arrInts2;              
	var iYear1,iYear2,iMonth1,iMonth2,iDay1,iDay2

	arrInts1 = sDate1.split("/");
	iDay1 = arrInts1[1];
	iMonth1 = arrInts1[0];
    iYear1 = arrInts1[2];

	arrInts2 = sDate2.split("/");
	iDay2 = arrInts2[1];
	iMonth2 = arrInts2[0];
    iYear2 = arrInts2[2];
    if(iYear2 > iYear1)
		return(true);
		                         
    if(iYear2 < iYear1){
		//to check date is < year passed
		alert(sAlertsay) ;
		SAbort = "FALSE" ;
		return(false)    ;
	}
	else{
		if(iYear2 == iYear1){
			//alert(iMonth2)
			//alert(iMonth1)
			if(iMonth2 > iMonth1){
				//alert("hi");
				return(true);
			}
			//to check date is <month passed
	         if(iMonth2 < iMonth1){
				//to check date is < month passed
				alert(sAlertsay) ;
                SAbort = "FALSE" ;
	  		 	return(false)    ;
			}
			else{	
				if(iMonth2 == iMonth1){
					if(iDay2 > iDay1)
						return(true);	
					//to check date is < month passed
					if(iDay2 < iDay1){
						//to check date is < day passed
						alert(sAlertsay);
						//datefield2.focus();
						//datefield2.select();
						SAbort = "FALSE";
						return(false);
					}
				}	
			}	
		}//end of outer end if for month
    }//end of outer end if for year          
	return(true);
}
//********************Compare Dates Overs here***************************

//********************Check Car Allowance***************************
function CheckCarAllowance(objname){
	//function to validate car allowance
	var sCar,sCarPart1,sCarPart2
	sCar=objname.value
	if(sCar.indexOf(".") == -1){
		if(sCar.length > 3){
			alert("Invalid format of Car allowance.");
			return false;
		}
	}
	else{
		sCarPart1=sCar.substr(0,sCar.indexOf("."));
		if(sCarPart1.length > 3){
			alert("Invalid format of Car allowance.");
			return false;
		}
		sCarPart2 = sCar.substr(sCar.indexOf(".") + 1,sCar.length);
		if(sCarPart2.length > 2){
			alert("Invalid format of Car allowance.");
			return false;
		}	
	}
	return true;
}
//********************Check Car Allowance Overs Here***************************

//********************Check Dropdown Box***************************
function CheckDropdownbox(objName,sAlertmess){
	 // use alert str so that it can b use forcompany //selectio,gender selection ,etc
	if(SAbort == "FALSE")
	{	
		return (false);
	}
	// check if no drop down has been selected
	if (objName.selectedIndex == 0){
		alert(sAlertmess) ;
		objName.focus();
		SAbort = "FALSE" ;
		return (false) ;
	}
	return (true) ;
}
//********************Check Dropdown Box Overs Here***************************

//********************Check List Box****************************
function CheckListbox(objName,sAlertmess){
	if(SAbort == "FALSE")
		return (false);
	// check if less than 1 options are selected
	var numSelected = 0;
	var i;
	for (i = 0;  i < objName.length;  i++){
		if (objName.options[i].selected)
			numSelected++;
	}
	if (numSelected < 1){
		alert(sAlertmess) ;
		objName.focus();
		SAbort = "FALSE" ;
		return (false);
	}
	return(true);
}
//********************Check List Box Overs Here****************************

//********************Check Blank**********************

function CheckBlank(objName,sAlertmess){
	//alert(SAbort);
	if(SAbort == "FALSE")
			return (false);
	// require a value be entered in the field
	if (objName.value == ""){
		alert(sAlertmess);
		objName.focus();
		SAbort = "FALSE";
		return (false);
	}
	
	var checkStr ;
	checkStr = objName.value;
	
	for (i = 0;  i < checkStr.length;  i++){
		
		ch = checkStr.charAt(i);
		if(ch!=" "){
			break;
		}  
	}
		if(i==checkStr.length)
		{
			alert(sAlertmess);
			objName.focus();
			SAbort = "FALSE";
			return (false);
		}
	return(true);
}
//********************Check Blank Overs Here**********************

//********************Check Phone Number*******************
function CheckPhone(objName,sAlertmess){
	if(SAbort == "FALSE")
		return (false);
	var alertsay = ""; // define for long lines
	// check to see if the field is blank
	if (objName.value == ""){
		alert("Please Enter Value In Field");
		objName.focus();
		SAbort = "FALSE" ;
		return (false);
	}

	// allow ONLY alphanumeric keys, no symbols or punctuation
	var checkOK = "0123456789-";
	var checkStr = objName.value;
	var allValid = true;
	var iPoszero ; 
	iPoszero= 0 ;  

	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
			break;
		if (j == checkOK.length){
			allValid = false;
			break;
		}
	}
	if (!allValid){
		alert(sAlertmess) ;
		objName.focus();
		SAbort = "FALSE" ;
		return (false);
	}
	else{
		//check for valid phone number ..
		//alert(checkStr.length);
		var iPos ;
		iPos = 0 ;
		if (checkStr.length != 12){
			alert(sAlertmess) ;
			objName.focus() ;
			SAbort = "FALSE" ;
			return(false)    ;
		}      
		else{
			//to find the positoins of -'s 
			for (i = 0;  i < checkStr.length;  i++){
				ch = checkStr.charAt(i);
                if(ch=="-")
					iPos = iPos + i   ;                        
				if(ch=="0")
					iPoszero = iPoszero + 1   ;                        
			}      
		}
		if(iPos!=10 || iPoszero==10){
			// Since 3 and 7 addition           
			alert(sAlertmess) ;
			objName.focus() ;
			SAbort = "FALSE" ;
			return(false)    ;
		}  
	}
	return(true);
}
//********************Check Phone Number Overs Here*******************



//********************Check fax************************************
function CheckFax(objName,sAlertmess){
	if(SAbort == "FALSE")
		return (false);
	var alertsay = ""; // define for long lines
	// check to see if the field is blank
	if (objName.value == ""){
		alert("Please Enter Value In Field");
		objName.focus();
		SAbort = "FALSE" ;
		return (false);
	}
	// allow ONLY alphanumeric keys, no symbols or punctuation
	var checkOK = "0123456789-";
	var checkStr = objName.value;
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
			break;
		if (j == checkOK.length){
			allValid = false;
			break;
		}
	}
	if (!allValid){
		alert(sAlertmess) ;
		objName.focus();
		SAbort = "FALSE" ;
		return (false);
	}
	else{
		//check for valid phone number ..
		//alert(checkStr.length);
		var iPos ;
		iPos = 0 ;
		/*if (checkStr.length != 12){
			alert(sAlertmess) ;
			objName.focus() ;
			SAbort = "FALSE" ;
			return(false)    ;
		}      
		else{
			//to find the positoins of -'s 
			for (i = 0;  i < checkStr.length;  i++){
				ch = checkStr.charAt(i);
				if(ch=="-")
					iPos = iPos + i   ;                        
			}            
		}
		if(iPos!=10){
			// Since 3 and 7 addition           
			alert(sAlertmess) ;
			objName.focus() ;
			SAbort = "FALSE" ;
			return(false)    ;
		}*/
	}
	return(true);
}
//********************Check fax Overs Here************************

//********************Check SSN Number********************
function CheckSsn(objName,sAlertmess){
	if(SAbort == "FALSE")
		return (false);
	// allow ONLY alphanumeric keys, no symbols or punctuation
	var checkOK = "0123456789-";
	var checkStr = objName.value;
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
			break;
		if (j == checkOK.length){
			allValid = false;
			break;
		}
	}
	if (!allValid){
		alert(sAlertmess) ;
		objName.focus();
		SAbort = "FALSE" ;
		return (false);
	}
	else{
		//check for valid Ssn number ..
		//alert(checkStr.length);
		var iPos ;
		iPos = 0 ;
		var sCheckzero ;
		var iPoszero ;
		iPoszero = 0 ;
		if (checkStr.length != 11){
			alert(sAlertmess) ;
			objName.focus() ;
			SAbort = "FALSE" ;
			return(false)    ;
		}      
		else{
			//to find the positoins of -'s 
			for (i = 0;  i < checkStr.length;  i++){
				ch = checkStr.charAt(i);
                if(ch=="-")
					iPos = iPos + i   ;                        
				ch = checkStr.charAt(i);
				if(ch=="0")
					iPoszero = iPoszero + 1   ;                        
			}            
		}
		//alert(iPos);
		sCheckzero =   checkStr.substr(4,2) ;  //to check middle 2 digits cannot b zero
		//alert(sCheckzero);
		if(iPos!=9 || iPoszero==9 ){
			 // Since 3 and 6 addition
			alert(sAlertmess) ;
			objName.focus() ;
			SAbort = "FALSE" ;
			return(false)    ;
		}
	}
	return(true);
}
//********************Check SSN Number Overs Here********************

//********************Check Maximum Length*************************
function CheckMaxlength(objName,maxvalue,sAlertmess){
	if(SAbort == "FALSE")
		return (false);
	// require a value be entered in the field
	ilen = objName.value.length ;
	alertsay = "Maximum Length of " + sAlertmess + " is " + maxvalue + " .";
	if (ilen > maxvalue){
		alert(alertsay) ;
		objName.focus();
		SAbort = "FALSE" ;
		return (false);
	}
	return(true);
}
//********************Check Maximum Length Overs Here*******************

//********************Check Minimum Length***************************
function CheckMinlength(objName,minvalue,sAlertmess){
	if(SAbort == "FALSE")
		return (false);
	// require a value be entered in the field
	ilen = objName.value.length ;
	alertsay = "Minium Length of " + sAlertmess + " is " + minvalue + " .";
	//alertsay = "Minium Length is " + minvalue ;
	if (ilen < minvalue){
		alert(alertsay) ;
		objName.focus();
		SAbort = "FALSE" ;
		return (false);
	}
	return(true);
}
//********************Check Minimum Length Overs Here*******************

//********************Check Check Box********************************
function CheckCheckbox(objName,sAlertmess){
	if(SAbort == "FALSE")
		return (false);
	if(objName.checked==false){
		alert(sAlertmess) ;
		objName.focus();
		SAbort = "FALSE" ;
		return (false);
	} 
	return(true);
}
//********************Check Check Box Overs Here***********************

//********************Check Higher Date(compared to current Date)**********
function CheckHigherdate(datefield1,sAlertmess){
	if(SAbort == "FALSE")
		return (false);
	var itoday = new Date(); 
	var stodayyear ;
	       
	stodayyear = itoday.toString() ;
	itodayyearlen = stodayyear.length - 4 ;
	itoday1 =   stodayyear.substr(itodayyearlen, 4) ;  //present year      
	
	sidatefield1 = datefield1.value ;
	idatefield1len = sidatefield1.length - 4 ;
	idatefield1 =   sidatefield1.substr(idatefield1len, 4) ;  //field year      
	   
	yeardifffin =   parseInt(idatefield1) - parseInt(itoday1) ;  		   
	 
	if(yeardifffin<=-1){
		//to check date is < year passed //diff and not greater then present year
		alert(sAlertmess) ;
		datefield1.focus();
		SAbort = "FALSE" ;
		return (false);
	} 
	else{    
		//for checking month and date  
		if(yeardifffin==0){
			// chk month and day only for the current year
			var strDate1Array ;
			var strDate2Array ;			
			var strMonth1 ; 
			var strMonth2 ;	
			var monthdiff ;
            strDate2Array = sidatefield1.split("/"); // to extract month,day              
			var strMonth1 = itoday.getMonth() + 1;          
	        var strMonth2 = strDate2Array[0] ;
			//alert(strMonth1);
			// alert(strMonth2);
			monthdiff = strMonth2-strMonth1;
			//alert(monthdiff);
			if(strMonth2<strMonth1){
				//to check date is <month passed
				alert(sAlertmess) ;
				datefield1.focus() ;
				SAbort = "FALSE" ;
				return(false)    ;
			}
			else{
				var strDay1   = itoday.getDate();  
				strDay2   = strDate2Array[1] ;
				var daydiff ;
				daydiff = strDay2-strDay1 ;
				// alert(strDay1) ;
				// alert(strDay2) ;
				// alert(daydiff);
				if(parseInt(monthdiff)==0){
					if(strDay2<strDay1){
						//to check date is <year passed
					alert(sAlertmess) ;
					datefield1.focus() ;
					SAbort = "FALSE" ;
					return(false)    ;
					} 
				}     
			}          
		}	// inner else if
	}  //outer else if       
	return true ;
}
//********************Check Higher Date Overs Here**********
//*************************************************
function intialise(){
	SAbort = "TRUE" ;
}
//********************Check Sentence*********************
function CheckSentence(objName,sAlertmess){
	if(SAbort == "FALSE")
		return (false) ;
	// this can be altered for any "checkOK" string you desire
	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' &";
	var checkStr = objName.value;

	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
			break;
		if (j == checkOK.length){
			allValid = false;
			break;
		}
	}
	if (!allValid){
		alert(sAlertmess);
		objName.focus();
		SAbort = "FALSE" ;
		return (false);
	}
	return(true);
}
//***************************************************
//***********************************************




//***********************************************
function CheckDecimal(objName,sAlertmess){
	if(SAbort == "FALSE")
		return (false);
	// allow ONLY alphanumeric keys, no symbols or punctuation
	var checkOK = "0123456789.,";
	var checkStr = objName.value;
	//alert("value = "+checkStr)
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
		if (j == checkOK.length){
			allValid = false;
			break;
		}
	}
	if (!allValid){
		alert(sAlertmess);
		objName.focus();
		SAbort = "FALSE" ;
		return (false);
	}
	var checkStr ;
	var validnum ;
	validnum = "F"
	checkStr = objName.value;
	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		if(ch=="." && i!=0)
			validnum = "T";                                 
    }            
	if(validnum=="F"){
		alert(sAlertmess) ;
		objName.focus();
		SAbort = "FALSE" ;
		return (false);             
	} 
    else
		validnum = "F";
	return(true);
}
//********************************************************
function CheckText_Source(objName,sAlertmess){
	if(SAbort == "FALSE")
		return (false) ;
	// this can be altered for any "checkOK" string you desire
	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-0123456789 ";
	var checkStr = objName.value;
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
		if (j == checkOK.length){
			allValid = false;
			break;
		}
	}
	if (!allValid){
		alert(sAlertmess);
		objName.focus();
		objName.select;
		SAbort = "FALSE" ;
		return (false);
	}
	return(true);
}


function CheckText_OLD(objName,sAlertmess){
	
	if(SAbort == "FALSE")
		return (false) ;
	// this can be altered for any "checkOK" string you desire
	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	var checkStr = objName.value;
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
		if (j == checkOK.length){
			allValid = false;
			break;
		}
	}
	if (!allValid){
		alert(sAlertmess);
		objName.focus();
		objName.select;
		SAbort = "FALSE" ;
		return (false);
	}
	return(true);
}
function CheckAlphaNumeric(objName,sAlertmess)
{
if(SAbort == "FALSE")
{
	return (false) ;
}

// this can be altered for any "checkOK" string you desire

var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
var checkStr = objName.value;

var allValid = true;
for (i = 0;  i < checkStr.length;  i++)
{
ch = checkStr.charAt(i);
for (j = 0;  j < checkOK.length;  j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
}
}
if (!allValid)
{
alert(sAlertmess);

objName.focus();
SAbort = "FALSE" ;
return (false);
}
return(true);

}
function CheckEmail2(objName,sAlertmess)
{
	if(SAbort == "FALSE")
	{
		return (false);
	}
  Ctrl = objName.value ;
  if (Ctrl == "" || Ctrl.indexOf ('@', 0) == -1 || Ctrl.indexOf ('.', 0) == -1 || Ctrl.indexOf (',', 0) >= 0 ||  Ctrl.indexOf ('?', 0) >= 0 || Ctrl.indexOf ('#', 0) >= 0 || Ctrl.indexOf ('$', 0) >= 0 || Ctrl.indexOf ('%', 0) >= 0 || Ctrl.indexOf ('^', 0) >= 0 || Ctrl.indexOf ('~', 0) >= 0 || Ctrl.indexOf ('!', 0) >= 0 || Ctrl.indexOf ('`', 0) >= 0 || Ctrl.indexOf ('&', 0) >= 0 || Ctrl.indexOf ('*', 0) >= 0 || Ctrl.indexOf ('(', 0) >= 0 || Ctrl.indexOf (')', 0) >= 0 || Ctrl.indexOf ('<', 0) >= 0 || Ctrl.indexOf ('>', 0) >= 0 || Ctrl.indexOf ('+', 0) >= 0)
  {
   // p = Ctrl.indexOf (',', 0) ;
   //alert(p);
		alert(sAlertmess) ;
		objName.focus();
		SAbort = "FALSE" ;
		return (false);   
  } 
	var EmailOk  = true ;
	var Temp     = objName ;
  var AtSym    = Temp.value.indexOf('@') ;
  var period1  = Temp.value.indexOf('.');
  var Period   = Temp.value.lastIndexOf('.') ;
  var Space    = Temp.value.indexOf(' ') ;
  var Length   = Temp.value.length - 1 ;  // Array is from 0 to length-1
 var iPoszero;
iPoszero=0;
var iDotPos,iAtPos;
iDotPos=0;
iAtPos=0;
	for(var i = 0;i < Ctrl.length;i++){
		if(Ctrl.charAt(i) == "@"){
			iPoszero = iPoszero + 1   ;
			iAtPos=i;
			if (iAtPos>iDotPos+1){ iAtPos= i  ;}
			else 
			{  
 			  //  EmailOk = false
			  alert(sAlertmess) ;
			  objName.focus() ;
			  SAbort = "FALSE" ;
			  return (false);
			  a=1;
			  }
	  	}
		if(Ctrl.charAt(i) == "."){
			iDotPos= i  ;
			if (iDotPos>iAtPos+1) { 
			iDotPos= i  ;
			iAtPos=i;}
			else if ((i>iDotPos+1)){ iDotPos= i  ;}
			else 
			{  
 			  //  EmailOk = false
			  alert(sAlertmess) ;
			  objName.focus() ;
			  SAbort = "FALSE" ;
			  return (false);
			  }
	  	}
	}
	if ((AtSym < 1) ||                     // '@' cannot be in first position
    (Period <= AtSym+1) ||             // Must be atleast one valid char btwn '@' and '.'
    (period1 < 1) ||
    (Period == Length ) ||             // Must be atleast one valid char after '.'
    (Space  != -1)||(iPoszero>1) )                    // No empty spaces permitted
  {  
   //  EmailOk = false
		alert(sAlertmess) ;
    objName.focus() ;
    SAbort = "FALSE" ;
    return (false);
    a=1;
  }
	return (true);
} 
//************************************************
//to compare datefield1 shd greater then datefield2
function CompareDates_OLD(datefield1,datefield2,sAlertsay) 
{
// to check whether date is entered or not in the field
if(SAbort == "FALSE")
{
return (false);
}            
var sdatefield1 ;
var sdatefield2 ;
var idatefield1len ;
var idatefield2len ;
var idatefield1 ; 
var idatefield2 ; 
var valdatefield1 ; 
var valdatefield2 ; 
valdatefield2 = datefield2.value ;
valdatefield1 = datefield1.value ;
                     sdatefield1 = valdatefield1.toString() ;
                     sdatefield2 = valdatefield2.toString() ;
                     //alert(sdatefield2);
                     idatefield1len = sdatefield1.length - 4 ;
                     idatefield2len = sdatefield2.length - 4 ;
                     // alert(idatefield2len);
                     idatefield1 =   sdatefield1.substr(idatefield1len, 4) ;  //present year 
                     idatefield2 =   sdatefield2.substr(idatefield2len, 4) ;  //present year 
                     //alert(idatefield2);
		            // alert(parseInt(idatefield1)); 
		            // alert(parseInt(idatefield1)); 
                    if(idatefield2<idatefield1)//to check date is <year passed
			{
						 alert(sAlertsay) ;
                         //datefield2.focus() ;
                         SAbort = "FALSE" ;
	  		 			 return(false)    ;
			}
			else
			{
			if(idatefield2==idatefield1)//to check date is <month passed
			{
			var strDate1Array ;
			var strDate2Array ;
			var strMonth1 ; 
			var strMonth2 ;
			//alert(valdatefield1)  ;
			strDate1Array = valdatefield1.split("/"); // to extract month,day,year
            strDate2Array = valdatefield2.split("/"); // to extract month,day,year  
            // alert(strDate1Array[0])  ;
            strMonth1 = strDate1Array[0] ;  
	        strMonth2 = strDate2Array[0] ;
	         if(strMonth2<strMonth1)//to check date is < month passed
			{
						 alert(sAlertsay) ;
                        // datefield2.focus() ;
                         SAbort = "FALSE" ;
	  		 			 return(false)    ;
			}
			else
			{	
			if(strMonth2==strMonth1)//to check date is < month passed
			{	
			strDay1   = strDate1Array[1] ;  
	        strDay2   = strDate2Array[1] ;	        
	         if(strDay2<strDay1)//to check date is < day passed
			{
						 alert(sAlertsay) ;
                       //  datefield2.focus() ;
                         SAbort = "FALSE" ;
	  		 			 return(false)    ;
			}
			}
			}	
			}//end of outer end if for month
            }//end of outer end if for year          
return(true);
}
//   Added by sudheer on 01/29/2002//
function CheckZip2(zipfield,sAlertmess)
{	
	var iPoszero;
	iPoszero=0;
	if(SAbort == "FALSE"){
	  return (false);
	}
	var zip = zipfield.value;
	if ((zip.length>5)&&(zip.length<9)||(zip.length>0)&&(zip.length<5))
	{
 		alert(sAlertmess);
	       	zipfield.focus();
	       	SAbort = "FALSE";
		return(false);
	}
	if (zip!="" && zip.length>5)
	{
		for(var i = 0;i < 10;i++){
			if(zip.charAt(i) == " "){
					alert(sAlertmess);
					zipfield.focus();
				        SAbort = "FALSE";
			  		return(false);
	  		}
			else if((i == 5)&&(zip.length>9)){

				if(zip.charAt(i) != "-"){
					alert(sAlertmess);
					zipfield.focus();
				    SAbort = "FALSE";
			  		return(false);
	  			}
	  		}
	  		else
	  		{
				if(isNaN(zip.charAt(i)))
				{
					alert(sAlertmess);
					zipfield.focus();
					SAbort = "FALSE";
	  				return(false);
	  			}
	  			else if(zip.charAt(i)=="0")
				{
					iPoszero = iPoszero + 1   ;                        
				}      				
	  		}
		}
		if(iPoszero==9)           
    		{
 	   		alert(sAlertmess) ;
		       	zipfield.focus() ;
		       	SAbort = "FALSE" ;
			return(false);
	  	}
	}  
	else if (zip!="" && zip.length==5)
	{
		for(var i = 0;i < 5;i++){
			if(zip.charAt(i) == " "){
					alert(sAlertmess);
					zipfield.focus();
				        SAbort = "FALSE";
			  		return(false);
	  		}
			else if(isNaN(zip.charAt(i)))
			{
				alert(sAlertmess);
				zipfield.focus();
				SAbort = "FALSE";
	  			return(false);
	  		}
	  		else if(zip.charAt(i)=="0")
			{
				iPoszero = iPoszero + 1   ;                        
			}      				
	  	}
		if(iPoszero==5)           
    		{
 	   		alert(sAlertmess) ;
		       	zipfield.focus() ;
		       	SAbort = "FALSE" ;
			return(false)    ;
	  	}
	}  
	return true;
}

//Function to Check Extra Spaces in the Sentences

	function CheckSpaces(sVal,sAlertmess){
		if(SAbort == "FALSE"){
			  return (false);
			}
		var objelement = sVal.value;
		var allValid = true;
		for(i=0; i<objelement.length; i++){
			if((objelement.charAt(i)==" ") && (objelement.charAt(i+1)==" ")){
				allValid = false;
				break ;
			}
		}	
		if (!allValid){
			alert(sAlertmess);
			sVal.focus();
			SAbort = "FALSE" ;
			return (false);
		}
		return(true);	
	}	
	
//End Function to Check Extra Spaces in the Sentences
//Function to Check Dots in the Sentences

	function CheckDots(sVal,sAlertmess){
		if(SAbort == "FALSE"){
			  return (false);
			}
		var objelement = sVal.value;
		var allValid = true;
		for(i=0; i<objelement.length; i++){
			if(objelement.charAt(i)=="."){
				allValid = false;
				break ;
			}
		}	
		if (!allValid){
			alert(sAlertmess);
			sVal.focus();
			SAbort = "FALSE" ;
			return (false);
		}
		return(true);	
	}	
	
//End Function to Check Dots in the Sentences	

//Function to Check Extra Instances in the Sentences

	function CheckExtraInstances(sVal,sInstance,sAlertmess){
			if(SAbort == "FALSE"){
			  return (false);
			}
		var objelement = sVal.value;
		var allValid = true;
		var numInstance=0;
		
		for(i=0; i<objelement.length; i++){
			if(objelement.charAt(i)==sInstance) {
				numInstance++;
				//alert(numInstance);
			}
			if(numInstance>1)
			{	//alert(numInstance);
				allValid = false;
				break ;
			}
		}	
		
		for(i=0; i<objelement.length; i++){
			if((objelement.charAt(i)==sInstance) && (objelement.charAt(i+1)==sInstance)){
				allValid = false;
				break ;
			}
		}	
		if (!allValid){
			alert(sAlertmess);
			sVal.focus();
			SAbort = "FALSE" ;
			return (false);
		}
		return(true);	
	}	
	
//End Function to Check Extra Instances in the Sentences	

//Function to Check currency validity

    function CheckCurrencyFormat(sVal,sAlertmess){
		var objelement = sVal.value;
		var iDecimal=0;
		var iDecPart=0;
		var idot;
		if(SAbort == "FALSE"){
			  return (false);
		}
		if (parseFloat(sVal.value)==0){
			alert("Enter valid non zero value.");
			sVal.focus();
			SAbort = "FALSE" ;
			return (false);
		}
		idot = objelement.indexOf(".");
		if(idot!= -1)
		{
			iDecPart = (objelement.substr(idot+1)).length; 
		}
		
		for(i=0; i<objelement.length; i++){
			if(objelement.charAt(i)=="."){
				break ;
			}else{
				iDecimal=iDecimal+1	;
			}
		}	
	
			if(objelement.charAt(i)==".") 
			{	
				if(objelement.charAt(i+1)=='')
				{
					alert(sAlertmess);
					//alert("hellloooo");
					SAbort = "FALSE" ;
					sVal.focus();
					return (false);
				}
			}
	
		if(iDecimal>5||iDecPart>4){
			//alert("Enter valid cost in format 00000.0000")
			alert(sAlertmess);
			sVal.focus();
			SAbort = "FALSE" ;
			return (false);
		}
		
		return(true);
	}	
	
//End Function to Check currency validity

function CheckNumeric1(objName,sAlertmess){
	if(SAbort == "FALSE")	
		return (false);
	// allow only Numeric keys, no symbols or punctuation
	var checkOK = "0123456789";
	var checkStr = objName.value;
	
	var allValid = true;
	for (i = 0;  i < checkStr.length; i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
			if (j == checkOK.length){
				allValid = false;
				break;
		}
	}
	if (!allValid){
		alert(sAlertmess);
		objName.focus();
		SAbort = "FALSE" ;
		return (false);
	}
	return(true);
}



//********************Check DCR Sentence*********************
function CheckSentenceDCR(objName,sAlertmess){
	if(SAbort == "FALSE")
		return (false) ;
	// this can be altered for any "checkOK" string you desire
	var checkOK = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' &";
	var checkStr = objName.value;

	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
			break;
		if (j == checkOK.length){
			allValid = false;
			break;
		}
	}
	if (!allValid){
		alert(sAlertmess);
		objName.focus();
		SAbort = "FALSE" ;
		return (false);
	}
	return(true);
}
//***************Check format********************************
	function CheckFormat(iFormat,sVal,sAlertMsg){
		if(SAbort == "FALSE"){
			  return (false);
		}
		if (parseFloat(sVal.value)==0){
			alert("Enter valid non zero value");
			sVal.focus();
			SAbort = "FALSE" ;
			return (false);
		}
		else{
			var objelement = sVal.value;
			if(objelement.indexOf(".") == -1){
				alert(sAlertMsg);
				sVal.focus();
				SAbort = "FALSE" ;
				return (false);
			}
			else{
				var iposVal=objelement.indexOf(".");
				var iposFormat=iFormat.indexOf(".");		
				if ((iposVal>iposFormat)||((objelement.length - iposVal -1)>(iFormat.length - iposFormat -1))){
					alert(sAlertMsg);
					sVal.focus();
					SAbort = "FALSE" ;
					return (false);
				}	
			}
		}
		return(true);
	}
//***************End Check format********************************	
//Check for nonzero value..
function CheckNonZero(objname,sAlertmess){
		if(SAbort == "FALSE"){
			  return (false);
		}
		if (parseFloat(objname.value)==0){
			alert(sAlertmess);
			objname.focus();
			SAbort = "FALSE" ;
			return (false);
			}
		return true;
	}
//*****************************************************************

//***Created By Karan Kunwar***Checks invalid character in Sentence*********************
function CheckInvalidChar(objName,sAlertmess){
	
	if(SAbort == "FALSE")
	{	
		return (false);
	}
	var InValidChar = ";";
	var checkStr = objName.value;

	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		if(ch==InValidChar)
		{
			allValid = false;
		}
	}
	if (!allValid){
		alert(sAlertmess);
		objName.focus();
		SAbort = "FALSE" ;
		return (false);
	}
	return(true);
}
//CheckInvalidChar Over***************************************************



	function ltrim(s)
	{
		return s.replace( /^\s*/, "" )
	}
	
	function rtrim(s)
	{
		return s.replace( /\s*$/, "" );
	}
	function trim(s)
	{
		return rtrim(ltrim(s));
	}
	
function IsValidTime(timeStr) {
	// Checks if time is in HH:MM:SS AM/PM format.
	// The seconds and AM/PM are optional.

	var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;

	var matchArray = timeStr.match(timePat);
	if (matchArray == null) 
	{
		alert("Time is not in a valid format.");
		return false;
	}
	hour = matchArray[1];
	minute = matchArray[2];
	second = matchArray[4];
	ampm = matchArray[6];

	if (second=="") { second = null; }
	if (ampm=="") { ampm = null }

	if (hour < 0  || hour > 23) 
	{
		alert("Hour must be between 0 and 23)");
		return false;
	}
	
	/*if (hour <= 12 && ampm == null) 
	{
		if (confirm("Please indicate which time format you are using.  OK = Standard Time, CANCEL = Military Time")) {
		alert("You must specify AM or PM.");
		return false;
	   }
	}*/
	
	/*if  (hour > 12 && ampm != null) 
	{
		alert("You can't specify AM or PM for military time.");
		return false;
	}*/
	
	if (minute<0 || minute > 59) 
	{
		alert ("Minute must be between 0 and 59.");
		return false;
	}
	
	/*if (second != null && (second < 0 || second > 59)) 
	{
	alert ("Second must be between 0 and 59.");
	return false;
	}*/
	
	return true;
}


function CheckDecimalPos(objName,sAlertmess,sShowAlert)
{
	if(SAbort == "FALSE")
	{
		return (false);
	}
	rateStr = objName.value;
	
	if (rateStr.indexOf(".") > -1) 
	{
		if (rateStr.indexOf(".") > 9)
		{
			if(sShowAlert == "")
			{
				alert(sAlertmess);
				objName.focus();
				objName.select();
			}
			SAbort = "FALSE" ;
			return(false);
		}
		else
		{
		 arrStr = rateStr.split(".");
		 if (arrStr[1].length > 2) 
			{
				if(sShowAlert == "")
				{
					alert(sAlertmess);
					objName.focus();
					objName.select();
				}
				SAbort = "FALSE" ;
				return(false);
			}
		 if (arrStr[1].length == 0) 
			{
				if(sShowAlert == "")
				{
					alert(sAlertmess);
					objName.focus();
					objName.select();
				}
				SAbort = "FALSE" ;
				return(false);
			}
		}	
	}
	else
	   {
	      if (rateStr.length > 5) 
		  {
			if(sShowAlert == "")
			{
				alert(sAlertmess);
				objName.focus();
				objName.select();
			}
		  SAbort = "FALSE" ;
		  return(false);
		}
			
	  }
return(true);
}	

function CheckDecimalNew(objName,sAlertmess){
	if(SAbort == "FALSE")
		return (false);
	// allow ONLY alphanumeric keys, no symbols or punctuation
	var checkOK = "0123456789.";
	var checkStr = objName.value;
	//alert("value = "+checkStr)
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
		if (j == checkOK.length){
			allValid = false;
			break;
		}
	}
	if (!allValid){
		alert(sAlertmess);
		objName.focus();
		SAbort = "FALSE" ;
		return (false);
	}
	var checkStr ;
	var validnum ;
	validnum = "F"
	checkStr = objName.value;
	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		if(ch=="." && i!=0)
			validnum = "T";                                 
    }            
	if(validnum=="F"){
		alert(sAlertmess) ;
		objName.focus();
		SAbort = "FALSE" ;
		return (false);             
	} 
    else
		validnum = "F";
	return(true);
}


//********************Check FederalId *******************
function CheckFederalId_New(objName,sAlertmess){
	if(SAbort == "FALSE")
		return (false);
	var alertsay = ""; // define for long lines
	// check to see if the field is blank
	if (objName.value == ""){
		alert("Please Enter Value In Field");
		objName.focus();
		SAbort = "FALSE" ;
		return (false);
	}

	// allow ONLY alphanumeric keys, no symbols or punctuation
	var checkOK = "0123456789-";
	var checkStr = objName.value;
	var allValid = true;
	var iPoszero ; 
	iPoszero= 0 ;  

	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
			break;
		if (j == checkOK.length){
			allValid = false;
			break;
		}
	}
	if (!allValid){
		alert(sAlertmess) ;
		objName.focus();
		SAbort = "FALSE" ;
		return (false);
	}
	else{
		//check for valid phone number ..
		//alert(checkStr.length);
		var iPos ;
		iPos = 0 ;
		if (checkStr.length != 11){
			alert(sAlertmess) ;
			objName.focus() ;
			SAbort = "FALSE" ;
			return(false)    ;
		}      
		else{
			//to find the positoins of -'s 
			for (i = 0;  i < checkStr.length;  i++){
				ch = checkStr.charAt(i);
                if(ch=="-")
					iPos = iPos + i   ;                        
				if(ch=="0")
					iPoszero = iPoszero + 1   ;                        
			}      
		}
		if(iPos!=8 || iPoszero==8){
			// Since 3 and 7 addition           
			alert(sAlertmess) ;
			objName.focus() ;
			SAbort = "FALSE" ;
			return(false)    ;
		}  
	}
	return(true);
}
//********************Check FederalId Overs Here*******************

function IsValidTimeBoth(timeStr) {
	// Checks if time is in HH:MM AM/PM format.
	// The seconds and AM/PM are optional.

	var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;

	var matchArray = timeStr.match(timePat);
	if (matchArray == null) 
	{
		alert("Time is not in a valid format.");
		return false;
	}
	hour = matchArray[1];
	minute = matchArray[2];
	second = matchArray[4];
	ampm = matchArray[6];

	if (second=="") { second = null; }
	if (ampm=="") { ampm = null }

	if (hour < 0  || hour > 23) 
	{
		alert("Hour must be between 0 and 23)");
		return false;
	}
	
	if (hour <= 12 && ampm == null) 
	{
		//if (confirm("Please indicate which time format you are using.  OK = Standard Time, CANCEL = Military Time")) {
		alert("You must specify AM or PM.");
		return false;
//	   }
	}
	
	if  (hour > 12 && ampm != null) 
	{
		alert("You can't specify AM or PM for military time.");
		return false;
	}
	
	if (minute<0 || minute > 59) 
	{
		alert ("Minute must be between 0 and 59.");
		return false;
	}
	
	if (second != null && (second < 0 || second > 59)) 
	{
	alert ("Second must be between 0 and 59.");
	return false;
	}
	
	return true;
}

function IsValidTime(timeStr) {
	// function to check 12 hour format
	// Checks if time is in HH:MM AM/PM format.
	// The seconds and AM/PM are optional.

	//var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;
	var timePat = /(\d{1,2}):(\d{2})/;

	var matchArray = timeStr.match(timePat);
	if (matchArray == null) 
	{
		alert("Time is not in a valid format.");
		return false;
	}
	hour = matchArray[1];
	minute = matchArray[2];
	second = matchArray[4];
	ampm = matchArray[6];

	if (second=="") { second = null; }
	if (ampm=="") { ampm = null }

	if (hour < 0  || hour > 12) 
	{
		alert("Hour must be between 0 and 12");
		return false;
	}
	
//	if (hour <= 12 && ampm == null) 
//	{
//		//if (confirm("Please indicate which time format you are using.  OK = Standard Time, CANCEL = Military Time")) {
//		alert("You must specify AM or PM.");
//		return false;
////	   }
//	}
	
//	if  (hour > 12 && ampm != null) 
//	{
//		alert("You can't specify AM or PM for military time.");
//		return false;
//	}
	
	if (minute<0 || minute > 59) 
	{
		alert ("Minute must be between 0 and 59.");
		return false;
	}
	
	if (second != null && (second < 0 || second > 59)) 
	{
	alert ("Second must be between 0 and 59.");
	return false;
	}
	
	return true;
}


// ****************** Format to 2 decimal places
function PutCommas(objField,sFieldName){
	sVal = objField.value;
	if(sVal=="0"){
		objField.value = "0.00";
		return;
	}
	if(sFieldName == "ROP"){
		var bValidPay;
		bValidPay = CheckNumeric(objField.value);
		if(!bValidPay || objField.value==".00"){
			alert("Invalid format of "+'"'+sFieldName+'"'+".Please re-enter.");
			initialValue();
			return false;	
		}	
	}
	var sReturn,iFrac,iInt,iDot,sRev;
	iFrac = 0;
	iInt = 0;
	sVal = sVal.replace(/[^0-9\.]/g,"");
	sVal = sVal.replace(/^0*/g,"");
	iDot = sVal.indexOf(".");
	//if(sFieldName != ""){
		//if called from a text box then check for more than 1 dot.
		if(iDot >= 0){
			var sLeft,sRight;
			sLeft = sVal.substr(0,iDot);
			sRight = sVal.substr(iDot+1,sVal.length);
			var iDot2
			iDot2 = sRight.indexOf(".");
			if(iDot2 != -1){
				alert("Invalid format for " + sFieldName + ".");
				ClearAll();
				objField.focus();
				objField.select();
				return false;
			}
		}
	//}
	if(iDot >= 0){
		iInt = sVal.substr(0,iDot);
		if(iInt == "")
			iInt = "0";
		iFrac = sVal.substr(iDot+1,sVal.length);
		if(iFrac=="")
			iFrac = "00";
		if(iFrac.length > 2)
			iFrac = iFrac.charAt(0) + iFrac.charAt(1);
		if(iFrac.length < 2 && iFrac.length > 0)
			iFrac = iFrac + "0";
	}
	else{
		if(sVal=="")
			iInt = "0";
		else
			iInt = sVal;
		iFrac = "00"
	}
	if(iInt.length <= 3){
		if(iInt=="")
			iInt = "0";
		objField.value = iInt + "." + iFrac;
	}
	else{
		sRev = "";
		for(var i=iInt.length;i>=0;i--){
			sRev += iInt.charAt(i);
		}
		iInt = "";
		for (var i=0;i<sRev.length;i++){
			if((i)%3 == 0 && i!= 0) iInt += ",";
			iInt += sRev.charAt(i);
		}
		sRev = "";
		for(var i=iInt.length;i>=0;i--){
			sRev += iInt.charAt(i);
		}
		if(sRev == ""){
			sReturn = "0." + iFrac;
			objField.value = sReturn;
		}
		else{
			objField.value = sRev + "." + iFrac;
		}
	}
}
