function f_ChangeClass(obj, clsName) {
	obj.className = clsName;
}


function change(color)
{
	var el=event.srcElement
	if (el.tagName=="INPUT"&&el.type=="button")
	{
		if (el.className!='initial3')
		event.srcElement.style.backgroundColor=color
	}
	}

function JumpTo(url)
{
	window.location=url;
	}


function IsVal(msg,val)	
{
if (isNaN(val))
	{
		var write
		write = msg + " has to be Numeric"
		alert(write)
		return false
	}
return true
}

// Check whether string s is empty.
// returns true if the string is empty
function isEmpty(StringToCheck)
{   
		
	return ((StringToCheck == null) || (StringToCheck.length == 0))
	
}



// Returns true if string s is empty or 
// whitespace characters only.
function isWhitespace (StringToCheck)
{
	var reWhitespace = /^\s+$/
    return (isEmpty(StringToCheck) || reWhitespace.test(StringToCheck));
}




// Returns the string after triming it.
function trimTheString(stringToTrim)
{
		
		var flag = true;
		var i = 0;
		if (isWhitespace(stringToTrim)==true)
			return "";
		while ((i < stringToTrim.length) && (flag)) {
			retChar = stringToTrim.charAt(i++);
			if (retChar != " ") flag = false;
		}
		if (flag) return "";
		var j = stringToTrim.length-1;
		flag = true;
		while ((j >= 0) && (flag)) {
			retChar = stringToTrim.charAt(j--);
			if (retChar != " ") flag = false;
		}
		if (flag) return "";
		stringToTrim = stringToTrim.substring(i-1,j+2);
		return stringToTrim;
}



//Checks for numeric value.
//it does not allow decimal;

function isInteger (StringToCheck)
{
   	var i;
   	var valid;
   	valid = true;
	var reInteger = /^\d+$/
	if (valid == true && isWhitespace(StringToCheck)) 
       	{
		alert("Field cannot be left blank");
		valid = false;
		return false;
	}
    if ( valid == true  && reInteger.test(StringToCheck) == false)
	{
		alert("Field should contain only numeric value");
		valid = false
		return false;
	}
    if (valid == true  && parseInt(StringToCheck) > 32767 )
	{
		alert("This value can not be more that 32767. please checkit");
		valid == false 
		return false;
	}
	return true;
}


function isLongInteger (StringToCheck)
{
   	var i;
   	var valid;
   	valid = true;
	var reInteger = /^\d+$/
	if (valid == true && isWhitespace(StringToCheck)) 
       	{
		alert("Field cannot be left blank");
		valid = false;
		return false;
	}
    if ( valid == true  && reInteger.test(StringToCheck) == false)
	{
		alert("Field should contain only numeric value");
		valid = false
		return false;
	}
	return true;
}





//Checks for numeric value.
//it allows decimal;

function isFloat (StringToCheck)

{   
	var reFloat = /^((\d+(\.\d*)?)|((\d*\.)?\d+))$/	
	if (isWhitespace(StringToCheck)) 
       	{
		alert("Field cannot be left blank");
		return false;
	}       
	if (reFloat.test(StringToCheck) == false)
	{
		alert("Field should contain only numeric value");
		return false;
	}
    return true;
}




//Checks for numeric value.
//allows decimal. Allows + or - sign at the begining

function isSignedFloat (StringToCheck)

{   
	var reSignedFloat = /^(((\+|-)?\d+(\.\d*)?)|((\+|-)?(\d*\.)?\d+))$/	
	if (isWhitespace(StringToCheck)) 
       	{
		alert("Field cannot be left blank");
		return false;
	}       
	if (reSignedFloat.test(StringToCheck) == false)
	{
		alert("Field should contain only numeric value");
		return false;
	}

}




//Checks for numeric value.
//allows decimal. Allows + or - sign at the begining
//allows $ sign

function isSignedDollarFloat (StringToCheck)
{   
	var reSignedFloat = /^(((\+|-)\$?\d+(\.\d*)?)|((\+|-)\$?(\d*\.)?\d+))$/	
	if (isWhitespace(StringToCheck)) 
       	{
		alert("Field cannot be left blank");
		return false;
	}       
	if (reSignedFloat.test(StringToCheck) == false)
	{
		alert("Field should contain only numeric value");
		return false;
	}

}



//Checks for Alphbets, lower or upper case.
//allows decimal. Allows + or - sign at the begining
//allows $ sign

function isAlphaOnly (StringToCheck)
{   

	var reAlphabetic = /\d/;
	if (reAlphabetic.test(StringToCheck) == true)
	{
		alert("Field should not contain any numbers ");
		return false;
	}
	else
		return true;
}	


//Checks for Alphbets, lower or upper case.
//allows decimal. Allows + or - sign at the begining
//allows $ sign

function isAlphabetic (StringToCheck)
{   
	var reAlphabetic = /^[a-zA-Z]+$/;
	if (isWhitespace(StringToCheck)) 
       	{
		//alert("Field cannot be left blank");
		return false;
	}       
	if (reAlphabetic.test(StringToCheck) == false)
	{
		//alert("Field should contain only characters ");
		return false;
	}
}	





//Checks for Alphanumerics, lower or upper case.

function isAlphanumeric (StringToCheck)

{   var reAlphanumeric = /^[a-zA-Z0-9]+$/

    	if (isWhitespace(StringToCheck)) 
       	{
		alert("Field cannot be left blank");
		return false;
	}       
	if (reAlphanumeric.test(StringToCheck) == false)
	{
		alert("Field can contain digits and charecters value");
		return false;
	}
}




function IsDate(ctr)
{
  if (ctr.value == "")
   {
   alert("Enter Date in (MM/DD/YYYY) or (M/D/YYYY) format");
   ctr.focus()
   return false;
	}
 if (ctr.value.length > 10)
    {
     alert("Date length cannot exceed 10 characters");
     ctr.focus()
     return false;
    }
     
if(ctr.value.length!=10 && ctr.value.length!=9 && ctr.value.length!=8)
{
   alert("Enter Date in (MM/DD/YYYY) or (M/D/YYYY) format");
   ctr.focus()
   return false;

}


if(ctr.value.length==10)
{
	 if ((ctr.value.charAt(2) != "/") || (ctr.value.charAt(5) != "/"))
     		{
		   alert("Enter Date in (MM/DD/YYYY) or (M/D/YYYY) format");
		   ctr.focus()
		   return false;
		}
	nummonth = ctr.value.charAt(0)+ctr.value.charAt(1)
	numday = ctr.value.charAt(3)+ctr.value.charAt(4)
	numyear = ctr.value.charAt(6)+ctr.value.charAt(7) + ctr.value.charAt(8)+ctr.value.charAt(9)
}

	if(ctr.value.length==8)
		{
			 if ((ctr.value.charAt(1) != "/") || (ctr.value.charAt(3) != "/"))
		     		{
		   alert("Enter Date in (MM/DD/YYYY) or (M/D/YYYY) format");
				   ctr.focus()
				   return false;
				}
			nummonth = ctr.value.charAt(0)
			numday = ctr.value.charAt(2)
			numyear = ctr.value.charAt(4)+ctr.value.charAt(5) + ctr.value.charAt(6)+ctr.value.charAt(7)
		}	

if(ctr.value.length==9)
	{
		 if (((ctr.value.charAt(1) != "/") || (ctr.value.charAt(4) != "/")) &&((ctr.value.charAt(2) != "/") || (ctr.value.charAt(4) != "/")))
	     		{
		   alert("Enter Date in (MM/DD/YYYY) or (M/D/YYYY) format");
			   ctr.focus()
			   return false;
			}
		if (ctr.value.charAt(1)== "/") 
			{
			nummonth = ctr.value.charAt(0)
			numday = ctr.value.charAt(2)+ctr.value.charAt(3)
			numyear =ctr.value.charAt(5) + ctr.value.charAt(6)+ctr.value.charAt(7)+ ctr.value.charAt(8)
			}
		else
			{
			nummonth = ctr.value.charAt(0)+ctr.value.charAt(1)
			numday = ctr.value.charAt(3)
			numyear =ctr.value.charAt(5) + ctr.value.charAt(6)+ctr.value.charAt(7)+ ctr.value.charAt(8)
			}
	}	



if (numyear.length < 4)
	 {
	  alert("Year format is YYYY")
	  return false;
	 }
	 
	if (!IsVal("Day value in date",numday))
	{
	 return false;
	}
	if (!IsVal("Month value in date",nummonth))
	{
	 return false;
	}
	if (!IsVal("Year value in date",numyear)) 
	{
	 return false;
	}
	day = parseInt(numday,10)
	month = parseInt(nummonth,10)
	year = parseInt(numyear,10)
        if (isNaN(day) || isNaN(month) || isNaN(year))
            {
		alert("Invalid Date");
		return false;
	    }
       
	if ((day < 0) || (month < 0) || (year < 0))
	{
		alert("Invalid character in Date");
		return false;
	}
	if ((day == 0) || (month == 0) || (year == 0))
	{
		alert("Invalid Date");
		return false;
	}
	   if (month > 12)
	  {
	   alert("Month can not be greater than 12");
	   return false;
	   }

	  if (day > 31 )
	   {
	     alert("Day can not be greater than 31")
	     return false;
	   }
	   if ((month==4)||(month==6)||(month==9)||(month==11))
	   {
	       if (day > 30 ) 
	       {
	        alert("Day can not be greater than 30")
	        return false;
	        }
	   }
	   if (month==2)
	    {
	      if  ((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0) ) ) 
	          {
	            
	             if (day > 29)
	                {
	                 alert("Day can not be greater than 29 for a Leap Year")
	                  return false;
	                }        
	               
	           }  
	           else     
	            {
	                if (day > 28)
	                {
	                 alert("Day can not be greater than 28 for a non-leap year")
	                  return false;
	                 } 
	             }    
	        }  
	if (numyear < 1900)
	{
		alert("Year can not be less than 1900.");
		return false;
	}
	return true
	
}	

function isEmail(StringToCheck)
{
	
	var reEmail = /^.+\@.+\..+$/	
	var numstr =" ~`!#$%^&*()+=[{]}|\<>?,:';";    
	///~`!#$%^&*()+=[{]}|\<>?,:;'\"

	var ThisChar;
	
         
	
	StringToCheck=trimTheString(StringToCheck);
	for(var i=0;i<StringToCheck.length;i++)
	{
	j=i+1;
	ThisChar=StringToCheck.substring(i,j);
		if(numstr.indexOf(ThisChar)!= -1){		
			alert("Sorry, Special Character are Not allowed in this Field");
			return false;
			}
	}

	if (reEmail.test(StringToCheck) == false)
	{
		alert("Please enter Valid Email address");
		return false;
	}
	return true;
}
	
function ValidateZip(StringToCheck)
{
	 var FirstFive;
	 var LastFour;
	 var Dash;
	 var TempFieldValue;
	 var reInteger = /^\d+$/
     var stringToTrim
	 var flagObj = 0

	if ( StringToCheck.type == 'text' )
	{
		FieldValue=StringToCheck.value;
		flagObj = 1
	}
	else
		FieldValue=StringToCheck;

	FieldValue = trimTheString (FieldValue);

	 if(FieldValue=="")
	 {
		alert("Please specify a zip code.");
		return false;
	 }
	 TempFieldValue= new String(FieldValue);
	 
	if (TempFieldValue.length != 5 && TempFieldValue.length != 9 && TempFieldValue.length != 10)
	{
		alert("The zip code should be specified in NNNNN-NNNN format.");
		return false;
	}
//	 TempFieldValue.length==9 || 
	if (FieldValue.length==5)
	{
	 	if (reInteger.test(TempFieldValue) == false)
		{
			alert("Field should contain only numeric value");
			return false;
		}
	}
	// added
	if(TempFieldValue.length==9)
	{
		if (reInteger.test(TempFieldValue) == false)
		{
			alert("Field should contain only numeric value.");
			return false;
		}
		else
		{
			FirstFive=TempFieldValue.substr(0,5);
			LastFour=TempFieldValue.substr(5,4);
			if (isNaN(FirstFive)==true || isNaN(LastFour)==true)
			{
				alert("The zip code should be specified in NNNNN-NNNN format.");
				return false;
			}
			else //if(isInteger(FirstFive)==true && isInteger(LastFour)==true)(
			{
				TempFieldValue = FirstFive + "-" + LastFour;
			}
		}
	}
	// end of add

	if (TempFieldValue.length==10)
		{
			FirstFive=TempFieldValue.substr(0,5);
			LastFour=TempFieldValue.substr(6,4);
			Dash=TempFieldValue.substr(5,1);

			if (isIntegerNoMsg(FirstFive)==false || isIntegerNoMsg(LastFour)==false)
			{
				alert("The zip code should be specified in NNNNN-NNNN format.");
				return false;
			}
			if(Dash!="-")
			{
				alert("The Zip code should be specified in NNNNN-NNNN format.");
				return false;
			} 
		}
		if ( flagObj == 1)
		{
			StringToCheck.value = TempFieldValue;
		}
		return true;
	}	

// This function is used so that no internal messages are returned
function isIntegerNoMsg (StringToCheck)
{
   	var i;
   	var valid;
   	valid = true;
	var reInteger = /^\d+$/
	if (valid == true && isWhitespace(StringToCheck)) 
       	{
		alert("Field cannot be left blank");
		valid = false;
		return false;
	}
    if ( valid == true  && reInteger.test(StringToCheck) == false)
	{
		valid = false
		return false;
	}
    if (valid == true  && parseInt(StringToCheck) > 32767 )
	{
		valid == false 
		return false;
	}
	return true;
}

function Validate_Time(FieldValue)
 {

 var TempFieldValue;
 var TempHour;
 var TempMinute;
 var Devider;
 var reInteger = /^\d+$/
	
 FieldValue=trimTheString(FieldValue);
	
 TempFieldValue= new String(FieldValue)
 if (TempFieldValue.length<4 || TempFieldValue.length>5)
 {
 	alert("Invalid Time");
 	return false;
 }
	
 if (TempFieldValue.indexOf(".")!=-1)
 {
 	alert("The Time should be specified in HH:MM format.");
 	return false;
 }  
	
 if (TempFieldValue.length==5)
 {
 	Devider=TempFieldValue.substr(2,1);
 	if (Devider!=":")
 	{
 		alert("The Time should be specified in HH:MM format.");
 		return false;
 	}
		  
 }
	
 if (TempFieldValue.indexOf(":")==-1)
 {
 	TempHour=TempFieldValue.substr(0,2);
 	TempMinute=TempFieldValue.substr(2,2);
 }
 else
 {
 	TempHour=TempFieldValue.substr(0,2);
 	TempMinute=TempFieldValue.substr(3,2);
 }
	
 if (reInteger.test(TempHour) == false || reInteger.test(TempMinute) == false)
 //if (isNaN(TempHour)==true || isNaN(TempMinute)==true)
 {
 	alert("The Time should be specified in HH:MM format.");
 	return false;
 }
 else
 {
 	if (parseInt(TempHour)>23 || parseInt(TempHour)<0)
 	{
 		alert("The hour value should not exceed 23.");
 		return false;
 	}
 	if (parseInt(TempMinute)>59 || parseInt(TempMinute)<0)
 	{
 		alert("The minute value should not exceed 59.");
 		return false;
 	}	
 }
 return true
}

//Function ReplaceString
//By Shashidhar Rao. L
// Purpose : it will replace a charecter in a string with the given charecter
function ReplaceString(lstrString, lcharReplaceChar, lstrReplaceWith)
{
	if (lstrString == "" || lstrString == null)
	{
		return ""
	}
	else
	{
		var lintcounter, lintcurrLoc, retText, lintStringLength
		retText = ""
		for (lintcounter =0 ; lintcounter < lstrString.length; lintcounter++)
			if (lstrString.charAt(lintcounter) == lcharReplaceChar)
				retText = retText + lstrReplaceWith;
			else
				retText = retText + lstrString.charAt(lintcounter)
		return retText;
	}
}

function ReplaceAllDangerChars(lstrSourceString)
{
	if (lstrSourceString == "" || lstrSourceString == null)
		return ""
	else
	{
		var ReplacedString
		ReplacedString = ReplaceString(lstrSourceString, "'", "\'");
		ReplacedString = ReplaceString(ReplacedString, '"', '\"');
		return ReplacedString;
	}
}

// Function StripDash
// Added by Piyush
// Date added 05 Dec 2000
// Last modified 05 Dec 2000
// Purpose	This function will return the string with dashes removed

function StripDash(szSSNNo)
{
	var szStrippedSSN;
	var intCount;
	szStrippedSSN = "";
	var arrSSN;
	if (trimTheString(szSSNNo) != "")
	{
		arrSSN = szSSNNo.split("-");
		for(intCount = 0; intCount<arrSSN.length; intCount++)
		{
			szStrippedSSN = szStrippedSSN + arrSSN[intCount];
		}
	}
	return(szStrippedSSN);
}

// Fucntion FormatPhone
// Added by Piyush
// Date added 05 Dec 2000
// Last modified 05 Dec 2000
// Last modified 27 Sept 2001
// To validate alphabetic characters 
// updated by Chetan H
// Input Tel#, FormName, FieldName
// Purpose	To format the SSN # entered into actual SSN format

function FormatPhone(szPhoneNo,szFormName,szFieldName,szFormatOrNot)
{
	var arrSSN;
	var intCount;
	var szStrippedPhone;
	var FieldToStore;
	var strLength
	var strCharAtPos
	var strStrpPhoneNo
	
	if (szFormatOrNot != "")
	{
		szPhoneNo = trimTheString(szPhoneNo)
		strLength = szPhoneNo.length;
		
		szPhoneNo = trimTheString(szPhoneNo) ;
		
		strStrpPhoneNo = "";
	
		for (ctr=1; ctr <= strLength ; ctr++)
		{
			strCharAtPos = szPhoneNo.charAt(ctr-1)
			if(!((strCharAtPos=="(") || (strCharAtPos==")") || (strCharAtPos==" ") || (strCharAtPos=="-")))
			{
				strStrpPhoneNo = strStrpPhoneNo + strCharAtPos
			}
		}
		szPhoneNo = strStrpPhoneNo
		
		if (strLength > 7)
		{
			szStrippedPhone = StripDash(szPhoneNo);
			FirstPart = szStrippedPhone.substr(0,3)
			SecondPart = szStrippedPhone.substr(3,3)
			ThirdPart = szStrippedPhone.substr(6,4)
			if (!(isNaN(FirstPart) || isNaN(SecondPart) || isNaN(ThirdPart)))
			{	
				FullPhone = "(" + FirstPart + ")" + SecondPart + "-" + ThirdPart;
				eval('document.'+szFormName+'.'+szFieldName).value=FullPhone;
			}
			else
			{
				alert("Please Enter a numeric value")
				eval('document.'+szFormName+'.'+szFieldName).focus();
			}			
//			FullPhone = "(" + FirstPart + ")" + SecondPart + "-" + ThirdPart;
//			eval('document.'+szFormName+'.'+szFieldName).value=FullPhone;
		}
		
		if ((strLength)<=7 && (strLength)>3)
		{
			szStrippedPhone = StripDash(szPhoneNo);
			FirstPart = szStrippedPhone.substr(0,3)
			SecondPart = szStrippedPhone.substr(3,4)
			if(!(isNaN(FirstPart) || isNaN(SecondPart)))
			{
				FullPhone =  FirstPart + "-" + SecondPart;
				eval('document.'+szFormName+'.'+szFieldName).value=FullPhone;
			}
			else
			{
				alert("Please Enter a numeric value")			
				eval('document.'+szFormName+'.'+szFieldName).focus();
			}	
		//	FullPhone =  FirstPart + "-" + SecondPart;
		//	eval('document.'+szFormName+'.'+szFieldName).value=FullPhone;
		}
		
		if (strLength <=3)
		{
		
		eval('document.'+szFormName+'.'+szFieldName).value=szPhoneNo;
		}
	}
	
	else
	{
//		eval('document.'+szFormName+'.'+szFieldName).value=szPhoneNo;
		if(!(isNaN(StripDashAndBracket(szPhoneNo))))
		{
			eval('document.'+szFormName+'.'+szFieldName).value=szPhoneNo;
		}
		else
		{
			alert("Please Enter a numeric value")
			eval('document.'+szFormName+'.'+szFieldName).focus();
		}		
	}
}


// Fucntion FormatDate
// Added by Annal
// Date added 12 Jan 2001
// Last modified 12 Jan 2001
// Input Date, FormName, FieldName
// Purpose	To format the Date value

function FormatDate(szFormName,szFieldName)
{
	var strDate;
	var strDay;
	var strMonth;
	var strYear;
	
	var objVal;
	
	ObjVal =eval('document.'+szFormName+'.'+szFieldName);
	
	if (ObjVal.value=="")
	{
	   return true;
	}
	
	if (IsProperDate(ObjVal)==true)
		{
			// After coming out of 'IsProperDate' function if the date value contains '/' then 
			// it means that the value is of correct format. So this value is returned
			if (FindChar(ObjVal.value,"/")==true)
			{
			  strDate = ObjVal.value;
			}
			else if (ObjVal.value.length == 8)
			{
				strDay   = ObjVal.value.charAt(0)+ObjVal.value.charAt(1)
				strMonth = ObjVal.value.charAt(2)+ObjVal.value.charAt(3)
				strYear  = ObjVal.value.charAt(4)+ObjVal.value.charAt(5)+ObjVal.value.charAt(6)+ObjVal.value.charAt(7)
	
				strDate  = strDay +"/"+ strMonth +"/"+ strYear
			}
			else if (ObjVal.value.length == 6)
			{
				strDay   = "0"+ ObjVal.value.charAt(0)
				strMonth = "0" + ObjVal.value.charAt(1)
				strYear  = ObjVal.value.charAt(2)+ObjVal.value.charAt(3)+ObjVal.value.charAt(4)+ObjVal.value.charAt(5)
	
				strDate  = strDay +"/"+ strMonth +"/"+ strYear
			}					
			ObjVal.value=strDate;
			
			return true;
		}
	else
		{
			ObjVal.focus();
			return false;
		}
}


// To find whether there is '/' character present in the date value.

function FindChar(strValue,strChar)
    {
		for(i=0;i<strValue.length;i++)
		{
			if (strValue.charAt(i)==strChar)
			{
				return true;
			}
		}
		return false;
    }
    
// To validate the date value (MM/DD/YYYY) or (M/D/YYYY) or (MMDDYYYY) or (MDYYYY) format
    
function IsProperDate(ctr)
   	{   		
			if (ctr.value.length > 10)
			{
			     alert("Date length cannot exceed 10 characters");
			     ctr.focus()
			     return false;
			}
			     
			if(ctr.value.length!=10 && ctr.value.length!=9 && ctr.value.length!=8 && ctr.value.length!=6)
			{
			   alert("Enter Date in (MM/DD/YYYY) or (M/D/YYYY) or (MMDDYYYY) or (MDYYYY) format");
			   ctr.focus()
			   return false;
			}


			if(ctr.value.length==10)
			{
				 if ((ctr.value.charAt(2) != "/") || (ctr.value.charAt(5) != "/"))
			     		{
					   alert("Enter Date in (MM/DD/YYYY) or (M/D/YYYY) or (MMDDYYYY) or (MDYYYY) format");
					   ctr.focus()
					   return false;
					}
				nummonth = ctr.value.charAt(0)+ctr.value.charAt(1)
				numday   = ctr.value.charAt(3)+ctr.value.charAt(4)
				numyear  = ctr.value.charAt(6)+ctr.value.charAt(7) + ctr.value.charAt(8)+ctr.value.charAt(9)
			}

			if(ctr.value.length==8)
			{
				if ((ctr.value.charAt(1) != "/") || (ctr.value.charAt(3) != "/"))
				{
				   
				   if (FindChar(ctr.value,"/")==true)
				   {
						alert("Enter Date in (MM/DD/YYYY) or (M/D/YYYY) or (MMDDYYYY) or (MDYYYY) format");
						ctr.focus()
						return false;
				   }
				   else
				   {
						nummonth = ctr.value.charAt(0)+ctr.value.charAt(1)
						numday   = ctr.value.charAt(2)+ctr.value.charAt(3)
						numyear  = ctr.value.charAt(4)+ctr.value.charAt(5) + ctr.value.charAt(6)+ctr.value.charAt(7)
				   }	
				}
				else
				{
					nummonth = ctr.value.charAt(0)
					numday   = ctr.value.charAt(2)
					numyear  = ctr.value.charAt(4)+ctr.value.charAt(5) + ctr.value.charAt(6)+ctr.value.charAt(7)
				}	
			}	

			if(ctr.value.length==9)
			{
				if (((ctr.value.charAt(1) != "/") || (ctr.value.charAt(4) != "/")) &&((ctr.value.charAt(2) != "/") || (ctr.value.charAt(4) != "/")))
				{
				   alert("Enter Date in (MM/DD/YYYY) or (M/D/YYYY) or (MMDDYYYY) or (MDYYYY) format");
				   ctr.focus()
				   return false;
				}
				if (ctr.value.charAt(1)== "/") 
				{
						nummonth = ctr.value.charAt(0)
						numday   = ctr.value.charAt(2)+ctr.value.charAt(3)
						numyear  = ctr.value.charAt(5) + ctr.value.charAt(6)+ctr.value.charAt(7)+ ctr.value.charAt(8)
				}
				else
				{
						nummonth = ctr.value.charAt(0)+ctr.value.charAt(1)
						numday   = ctr.value.charAt(3)
						numyear  = ctr.value.charAt(5) + ctr.value.charAt(6)+ctr.value.charAt(7)+ ctr.value.charAt(8)
				}
			}	
 
            if(ctr.value.length==6)
			{
				nummonth = ctr.value.charAt(0)
				numday   = ctr.value.charAt(1)
				numyear  = ctr.value.charAt(2)+ctr.value.charAt(3) + ctr.value.charAt(4)+ctr.value.charAt(5)
				
			}	


				if (numyear.length < 4)
				{
					alert("Year format is YYYY")
					return false;
				}
				 
				if (!IsVal("Day value in date",numday))
				{
					return false;
				}
				if (!IsVal("Month value in date",nummonth))
				{
					return false;
				}
				if (!IsVal("Year value in date",numyear)) 
				{
					return false;
				}
				day = parseInt(numday,10)
				month = parseInt(nummonth,10)
				year = parseInt(numyear,10)
			    if (isNaN(day) || isNaN(month) || isNaN(year))
			    {
					alert("Invalid Date");
					return false;
				}
			       
				if ((day < 0) || (month < 0) || (year < 0))
				{
					alert("Invalid character in Date");
					return false;
				}
				if ((day == 0) || (month == 0) || (year == 0))
				{
					alert("Invalid Date");
					return false;
				}
			    if (month > 12)
				{
				   alert("Month cannot be greater than 12");
				   return false;
				}

				if (day > 31 )
				{
				     alert("Day cannot be greater than 31")
				     return false;
				}
				if ((month==4)||(month==6)||(month==9)||(month==11))
				{
					if (day > 30 ) 
				    {
				        alert("Day cannot be greater than 30")
				        return false;
				    }
				}
				if (month==2)
				{
					if  ((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0) ) ) 
				    {
						if (day > 29)
				        {
							alert("Day cannot be greater than 29 for a Leap Year")
				            return false;
				        }        
				               
				    }  
				    else     
				    {
				        if (day > 28)
				        {
							alert("Day cannot be greater than 28 for a non-leap year")
				            return false;
				        } 
				    }    
				}  
				if (numyear < 1900)
				{
					alert("Year cannot be less than 1900.");
					return false;
				}
				return true;
	}
   
   // End of Addition by Annal Ahmed
   
   		
	/*-------------------------------------------------------------------------------------------------------------
	Function Name      : RemoveChar()
	Author             : Tapas Ranjan Paul
	Purpose            : To remove the a particular character
	Creation Date      : 15/06/2001
	Last Modified Date : 
	---------------------------------------------------------------------------------------------------------------*/
			
	
	function RemoveChar(szUserValue,szChar)
	{
	   var szNewValue="";
	    var i=0; 
		 for(i=0;i<szUserValue.length;i=i+1)
	    { 
	     if (szUserValue.charAt(i)!=szChar)
			szNewValue = szNewValue + szUserValue.charAt(i)
	    }
	    return szNewValue;
	}
/*------------------------------------------------------------------------------------------------------------------------------
	Function Name      : FormatFieldAsMoney()
	Author             : Shweta Sharma
	Purpose            : To format money field
	Creation Date      : 11/25/2002
-------------------------------------------------------------------------------------------------------------------------------*/
	function FormatFieldAsMoney(szFormName,szFieldName) 
	{
		//this function converts the number in its nearest integer value and adds .00  at the ends
		var szMoneyVal;
		var NumberValue,ReturnValue;
		szMoneyVal=eval('document.'+szFormName+'.'+szFieldName).value;
		if (isNaN(szMoneyVal)){
			ReturnValue="0.00"
		}
		else
		{
			NumberValue=Math.round(szMoneyVal*Math.pow(10,0))/Math.pow(10,0);	
			ReturnValue=NumberValue + "." + "00"
		}
		eval('document.'+szFormName+'.'+szFieldName).value=ReturnValue;
	}			
/*-------------------------------------------------------------------------------------------------------------
Function Name      : FormatDollar()
Author             : Tapas Ranjan Paul
Purpose            : To format dollar fields 
Creation Date      : 15/06/2001
Last Modified Date : 
---------------------------------------------------------------------------------------------------------------*/
function FormatDollar(szFormName,szFieldName,NumbertoChange,strChar)
{
	var lintLoopCounter, decimalLocation
	var afterDecimal, beforeDecimal, revString = "", commaString = "", lstrFinal = ""; 
	var ReturnString
	if (FindChar(NumbertoChange,",") == false)
	{	decimalLocation = NumbertoChange.indexOf(".");
		//alert(decimalLocation)
		if (decimalLocation == "-1" )
			decimalLocation = NumbertoChange.length
		afterDecimal = NumbertoChange.substr(decimalLocation+1)
		beforeDecimal = NumbertoChange.substr(0,decimalLocation)
	
		for (lintLoopCounter=beforeDecimal.length-1; lintLoopCounter >= 0 ; lintLoopCounter--)
			revString = revString + beforeDecimal.charAt(lintLoopCounter)
	
		for (lintLoopCounter=0; lintLoopCounter <= revString.length-1 ; lintLoopCounter+=3 )
			commaString = commaString + revString.substr(lintLoopCounter, 3) + ","

		if (commaString.charAt(commaString.length-1) == "," )
			commaString = commaString.substr(0, commaString.length-1)

		revString = commaString;
		lstrFinal = ""
		for (lintLoopCounter=revString.length-1; lintLoopCounter >= 0 ; lintLoopCounter--)
			lstrFinal = lstrFinal + revString.charAt(lintLoopCounter)
	
		if (trimTheString(afterDecimal) == "" )
			ReturnString = lstrFinal
		else
			ReturnString = lstrFinal + "." + afterDecimal
			
		//alert(ReturnString);
		//return (ReturnString);
		//obj.value = ReturnString;
		//document.ObjForm.objField.value = ReturnString; 
		eval('document.'+szFormName+'.'+szFieldName).value=ReturnString;
	}
	else
	{
		eval('document.'+szFormName+'.'+szFieldName).value=NumbertoChange;		
	}	
} 

/*----------------------------------------------------------------------
Function Name           : ShowPopup(url, winname, width, height) 
Parameters				: url - the url of the popup window
						  winname - name of the popup window
						  width - width of the popup window
						  height - height of the popup window
Author                  : R Sham
Purpose                 : Loading the popup window in the center of the screen.
			
Creation Date           : 12 June 2001
Last Modified Date      : 12 June 2001
------------------------------------------------------------------------*/
function ShowPopup(url, winname, width, height) 
{
	var MyURL = url;
	var MyWindowName = winname;
	var MyWidth = width;
	var MyHeight = height;
	var MyScrollBars = 'Yes';
	var MyResizable = 'Yes';
	var MyMenuBar = 'No';
	var MyToolBar = 'No';
	var MyStatusBar = 'No';

	    if (document.all)
	        var xMax = screen.width, yMax = screen.height;
	    else
	        if (document.layers)
	            var xMax = window.outerWidth, yMax = window.outerHeight;
	        else
	            var xMax = 640, yMax=480;

	    var xOffset = (xMax - MyWidth)/2, yOffset = (yMax - MyHeight)/2;


		window.open(MyURL,MyWindowName,'width=' + MyWidth + ',height=' + MyHeight + ',screenX= ' + xOffset + ',screenY=' + yOffset + ',top=' + yOffset + ',left=' + xOffset + ',scrollbars=' + MyScrollBars + ',resizable=' + MyResizable + ',menubar=' + MyMenuBar + ',toolbar=' + MyToolBar + ',status=' + MyStatusBar + '');
}

function ValidateCanadaZipCode(stringToCheck)
{
	//Correct format is ANA NAN - where A is Alphabate and N is Number.
	var intValid = 0;
	var first3chars, last3chars;
	var reAlphabetic = /^[a-zA-Z]/;
	
	first3chars = stringToCheck.substr(0,3);
	last3chars = stringToCheck.substr(4,3);
	if (stringToCheck.length != 7 && intValid == 0)
	{
		intValid = 1;	//length <> 7
	}
	else if(stringToCheck.substr(3,1) != " " && intValid == 0)
	{
		intValid = 1;	//no space in b/w
	}
	else if (isNaN(stringToCheck.substr(1,1))||isNaN(stringToCheck.substr(4,1))||isNaN(stringToCheck.substr(6,1)))
	{
		intValid = 1; //char at N position are not number.
	}
	else if (reAlphabetic.test(stringToCheck.substr(0,1)) == false || reAlphabetic.test(stringToCheck.substr(2,1)) == false ||reAlphabetic.test(stringToCheck.substr(5,1)) == false)
	{
		intValid = 1;
	}
	
	if (intValid == 1)
	{
		alert ("The zip-code should be specified in ANA NAN format.");
		return false;
	}
	else
	{
		return true;
	}

}

function nmIsDate(ctr)
{
 
  if (ctr.value == "")
   {
   return false;
	}
 if (ctr.value.length > 10)
    {
     return false;
    }
     
if(ctr.value.length!=10 && ctr.value.length!=9 && ctr.value.length!=8)
{
   return false;
}


if(ctr.value.length==10)
{
	 if ((ctr.value.charAt(2) != "/") || (ctr.value.charAt(5) != "/"))
     		{
		   return false;
		}
	nummonth = ctr.value.charAt(0)+ctr.value.charAt(1)
	numday = ctr.value.charAt(3)+ctr.value.charAt(4)
	numyear = ctr.value.charAt(6)+ctr.value.charAt(7) + ctr.value.charAt(8)+ctr.value.charAt(9)
}

	if(ctr.value.length==8)
		{
			 if ((ctr.value.charAt(1) != "/") || (ctr.value.charAt(3) != "/"))
		     		{
				   return false;
				}
			nummonth = ctr.value.charAt(0)
			numday = ctr.value.charAt(2)
			numyear = ctr.value.charAt(4)+ctr.value.charAt(5) + ctr.value.charAt(6)+ctr.value.charAt(7)
		}	

if(ctr.value.length==9)
	{
		 if (((ctr.value.charAt(1) != "/") || (ctr.value.charAt(4) != "/")) &&((ctr.value.charAt(2) != "/") || (ctr.value.charAt(4) != "/")))
	     		{
			   return false;
			}
		if (ctr.value.charAt(1)== "/") 
			{
			nummonth = ctr.value.charAt(0)
			numday = ctr.value.charAt(2)+ctr.value.charAt(3)
			numyear =ctr.value.charAt(5) + ctr.value.charAt(6)+ctr.value.charAt(7)+ ctr.value.charAt(8)
			}
		else
			{
			nummonth = ctr.value.charAt(0)+ctr.value.charAt(1)
			numday = ctr.value.charAt(3)
			numyear =ctr.value.charAt(5) + ctr.value.charAt(6)+ctr.value.charAt(7)+ ctr.value.charAt(8)
			}
	}	



if (numyear.length < 4)
	 {
	  return false;
	 }
	 
	if (!IsVal("Day value in date",numday))
	{
	 return false;
	}
	if (!IsVal("Month value in date",nummonth))
	{
	 return false;
	}
	if (!IsVal("Year value in date",numyear)) 
	{
	 return false;
	}
	day = parseInt(numday,10)
	month = parseInt(nummonth,10)
	year = parseInt(numyear,10)
        if (isNaN(day) || isNaN(month) || isNaN(year))
            {
		return false;
	    }
       
	if ((day < 0) || (month < 0) || (year < 0))
	{
		return false;
	}
	if ((day == 0) || (month == 0) || (year == 0))
	{
		return false;
	}
	   if (month > 12)
	  {
	   return false;
	   }

	  if (day > 31 )
	   {
	     return false;
	   }
	   if ((month==4)||(month==6)||(month==9)||(month==11))
	   {
	       if (day > 30 ) 
	       {
	        return false;
	        }
	   }
	   if (month==2)
	    {
	      if  ((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0) ) ) 
	          {
	            
	             if (day > 29)
	                {
	                  return false;
	                }        
	               
	           }  
	           else     
	            {
	                if (day > 28)
	                {
	                  return false;
	                 } 
	             }    
	        }  
	if (numyear < 1900)
	{
		return false;
	}
	return true;	
}	


/*------------------------------------------------------------------------------------------------------------------------------
	Function Name      : fnShowFraudDisclaimer()
	Author             : Aman Gulyani
	Purpose            : Show the Fraud Disclaimer Statement
	Creation Date      : 11/25/2002
-------------------------------------------------------------------------------------------------------------------------------*/
function fnShowFraudDisclaimer(ClientID, RequestID, RequestVerID)
{
	var sURL="FraudDisclaimer.asp?hidClientId="+ClientID+"&hidRequestID="+RequestID+"&hidRequestVerID="+RequestVerID;
	ShowPopup(sURL, "FraudDisclaimer", "600", "300")
}

function fnShowFraud(ClientID, RequestID, RequestVerID)
{
	var sURL="../GetAQuote/FraudDisclaimer.asp?hidClientId="+ClientID+"&hidRequestID="+RequestID+"&hidRequestVerID="+RequestVerID+"&CalledFrom=Quote";
	ShowPopup(sURL, "FraudDisclaimer", "600", "300")
}

function GenCode(NameObj, CodeObj)
{
	if (trimTheString(NameObj.value) != "" && trimTheString(CodeObj.value) == "")
	{
		var lstrSource, lstrCode, lintFirstSpace, lstrFirstWord, lstrSecondWord;
		lstrSource = new String(trimTheString(NameObj.value));
		lintFirstSpace = lstrSource.indexOf(" ");
		if ( lintFirstSpace >=2 && (lstrSource.length - lintFirstSpace) > 2)
		{
			lstrFirstWord  = lstrSource.substring(0,lintFirstSpace);
			lstrSecondWord  = lstrSource.substring(lintFirstSpace+1, lstrSource.length);
			lstrCode = lstrFirstWord.substring(0,2) + lstrSecondWord.substring(0,2);
			lstrCode = lstrCode.toUpperCase();
		}
		else
		{
			if (lintFirstSpace >= 4 || lintFirstSpace == -1)
				lstrCode = lstrSource.substring(0,4);
			else
				lstrCode = trimTheString(lstrSource.substring(0,2)) + "01";
		}
		CodeObj.value = lstrCode;
	}
}
