// JavaScript Document
function validation()
{
	if((document.getElementById('div1').style.display == 'block') || (document.getElementById('div1').style.display == ''))
	{
		//Loan Amount
		if(document.frm.Loan_amt.value == "")
		{
			alert("Loan amount field cannot be blank");
			document.frm.Loan_amt.focus();
			return false;
		}
	
		var chk = IsNumeric(document.frm.Loan_amt.value)
		if(chk == false)
		{
			alert("Please enter the Loan amount Pay as a number, with no decimal points and no characters like ‘£‘, ‘,’ etc.");
			document.frm.Loan_amt.focus();
			return false;
		}
		//End Loan Amount
		//Loan Term
		if(document.frm.Loan_term.selectedIndex==0)
		{
			alert("Please select the Loan Term");
			document.frm.Loan_term.focus();
			return false;		
		}
		//End Loan Term
		//Loan Purpose
		if(document.frm.loan_Purpose.selectedIndex==0)
		{
			alert("Please select the Loan Purpose");
			document.frm.loan_Purpose.focus();
			return false;		
		}
		//End Loan Purpose
		//FirstName
		if(document.frm.First_Name.value=="")
		{
			alert("Please enter the first name");
			document.frm.First_Name.focus();
			return false;
		}
		//(Check for Blank Space)
		if(document.frm.First_Name.value.indexOf(" ")==0)
		{
			alert("There should not be any space before the name")
			
			document.frm.First_Name.focus();
			return false;
		}
		//(Check for Charectors only Name)
		var chk = Ischar(document.frm.First_Name.value)
		if(chk == false)
		{
			alert("Please use characters only");
			document.frm.First_Name.focus();
			return false;
		}
		//End First Name
		//LastName
		if(document.frm.Last_name.value=="")
		{
			alert("Please enter the last name");
			
			document.frm.Last_name.focus();
			return false;
		}
		if(document.frm.Last_name.value.length=="1")
		{
			alert("Please enter the valid last name");
			
			document.frm.Last_name.focus();
			return false;
		}
		//(Check for Blank Space)
		if(document.frm.Last_name.value.indexOf(" ")==0)
		{
			alert("There should not be any space before the name")
			
			document.frm.Last_name.focus();
			return false;
		}
		//(Check for Charectors only)
		var chk = Ischar(document.frm.Last_name.value)
		if(chk == false)
		{
			alert("Please use characters only");
			
			document.frm.Last_name.focus();
			return false;
		}
		//End Last Name
		//Marital Status
		if(document.frm.MStatus.selectedIndex==0)
		{
			alert("Please select the marital status");
			document.frm.MStatus.focus();
			return false;		
		}
		//End Marital Stautus
		//Insurance No
		if(document.frm.InsuranceNo.value == "")
		{
			alert("Insurance Number Field cannot be blank");
			document.frm.InsuranceNo.focus();
			return false;
		}
		if(!(document.frm.InsuranceNo.value.length == "9") )
		{
			alert("Length of InsuranceNo should  be 9 digit");
			document.frm.InsuranceNo.focus();
			return false;
		} 
		var chk = InsuranceValidation(document.frm.InsuranceNo.value)
		if(chk == false)
		{
			alert("Invalid Insurance No - Format should be (XY123456Z)");
			document.frm.InsuranceNo.focus();
			return false;
		}
		//End Insurance No
		//Dob
		if(document.frm.dob_day.selectedIndex==0)
		{
			alert("Please select the Date of Birth(Day)");
			document.frm.dob_day.focus();
			return false;		
		}
		if(document.frm.dob_month.selectedIndex==0)
		{
			alert("Please select the Date of Birth(Month)");
			document.frm.dob_month.focus();
			return false;		
		}
		if(document.frm.dob_year.selectedIndex==0)
		{
			alert("Please select the Date of Birth(Year)");
			document.frm.dob_year.focus();
			return false;		
		}
		if(document.frm.dob_year.selectedIndex==0)
		{
			alert("Please select the Date of Birth(Year)");
			document.frm.dob_year.focus();
			return false;		
		} 
		if(document.frm.elements["dob_year"].options[document.frm.elements["dob_year"].selectedIndex].value>1991)
		{
			alert("You should be atleast 18 years of age");
			document.frm.dob_year.focus();
			return false;		
		}
		//End Dob
		//Residential Status
		if(document.frm.Resistatus.selectedIndex==0)
		{
			alert("Please select the Residential Status");
			document.frm.Resistatus.focus();
			return false;		
		} 
		//End Residential Status
		//Validation of all contact Numbers**********************************************************************************************************
		//*******************************************************************************************************************************************
		//*******************************************************************************************************************************************
		//Validation for Home Telephone & Mobile Phone
		if((document.frm.H_telephone.value==""))
		{
			alert("Please enter Home phone number");
			document.frm.H_telephone.focus();
			return false;
		}
		else
		{
			if(!(document.frm.H_telephone.value==""))
			{
				//Validation for Home Telephone
				if(document.frm.H_telephone.value=="")
				{
					alert("Please enter the home telephone no.")
					document.frm.H_telephone.focus();
					return false;
				}
					//(check for valid telephone no.)
				if ((!(document.frm.H_telephone.value.length==10)) && (!(document.frm.H_telephone.value.length==11))) 
				{
					alert("Length of home telephone no. should  be upto 10-11 digit");
					document.frm.H_telephone.focus();
					return false;
				} 
				//(check for Numeric value only)
				var chk = IsNumeric(document.frm.H_telephone.value)
				if(chk == false)
				{
					alert("Home telephone no. should be in numeric");
					document.frm.H_telephone.focus();
					return false;
				} 
				if((document.frm.H_telephone.value.indexOf("0")==0 ) && (document.frm.H_telephone.value.indexOf("7")==1))
				{
					alert("Please enter valid home telephone no.");
					document.frm.H_telephone.focus();
					return false;
				}
				if((document.frm.H_telephone.value.indexOf("0")==0 ) && (document.frm.H_telephone.value.length<11))
				{
					alert("Please enter valid home telephone no.");
					document.frm.H_telephone.focus();
					return false;
				}
				if(!(document.frm.H_telephone.value.indexOf("0")==0 ) && (document.frm.H_telephone.value.length==11))
				{
					alert("Please enter valid home telephone no.");
					document.frm.H_telephone.focus();
					return false;
				}
				if((document.frm.H_telephone.value.indexOf("00")==0))
				{
					alert("Please enter valid home telephone no.");
					document.frm.H_telephone.focus();
					return false;
				}
				//end of validation
			}
			//validation for work Number
		}
		
		
		//End of Validation
		if((document.frm.mobile.value==""))
			{
				alert("Please enter the  mobile no.");
					document.frm.mobile.focus();
					return false;
				
			}
		if((!document.frm.mobile.value==""))
		{
			if ((!(document.frm.mobile.value.length==10)) && (!(document.frm.mobile.value.length==11))) 
			{
				alert("Please enter the valid mobile no.");
				document.frm.mobile.focus();
				return false;
			} 
		
			//(check for Numeric value only)
			var chk = IsNumeric(document.frm.mobile.value)
			if(chk == false)
			{
				alert("Please enter valid mobile no.");
				document.frm.mobile.focus();
				return false;
			} 
			if(((!(document.frm.mobile.value.indexOf("0")==0 )) || (!(document.frm.mobile.value.indexOf("7")==1)))&&(!(document.frm.mobile.value.indexOf("7")==0)))
			{
				alert("Please enter valid mobile no.");
				document.frm.mobile.focus();
				return false;
			}	
			if((document.frm.mobile.value.indexOf("0")==0 ) && (document.frm.mobile.value.length<11))
				{
					alert("Please enter valid mobile no.");
					document.frm.mobile.focus();
					return false;
				}
				if(!(document.frm.mobile.value.indexOf("0")==0 ) && (document.frm.mobile.value.length==11))
				{
					alert("Please enter valid mobile no.");
					document.frm.mobile.focus();
					return false;
				}
				if((document.frm.mobile.value.indexOf("00")==0))
				{
					alert("Please enter valid mobile no.");
					document.frm.mobile.focus();
					return false;
				}
		}
		//*******************************************************************************************************************************************
		//*******************************************************************************************************************************************
		//End Validation of all Contact Numbers******************************************************************************************************
		//Email
		if(document.frm.email.value=="")
		{
			alert("Please enter email");
			document.frm.email.focus();
			return false;
		}
		if(!(document.frm.email.value == ""))
		{//(check for '@' symbol)
			if(document.frm.email.value.indexOf("@") == -1)
			{
				alert("Please enter valid email");
				
				document.frm.email.focus();
				return false;
			}
			//(check '.' symbol)
			if(document.frm.email.value.indexOf(".") == -1)
			{
				alert("Please enter valid email");
				
				document.frm.email.focus();
				return false;
			 }
		}
		//End Email
		return true;
	}
	else if((document.getElementById('div2').style.display == 'block')||(document.getElementById('div2').style.display == ''))
	{
		//House No
		if(document.frm.house_No.value=="")
		{
			alert("Please enter the house no.");
			document.frm.house_No.focus();
			return false;
		}
		//(check for blank space)
		if(document.frm.house_No.value.indexOf(" ") == 0)
		{
			alert("There should not be any space before the house no.");
			document.frm.house_No.focus();
			return false;
		}
		//(check for first zero in house no.)
		if(document.frm.house_No.value.indexOf("0") == 0)
		{
			alert("Please enter the proper house no.");
			document.frm.house_No.focus();
			return false;
		}
		//End House No
		//Street
		if(document.frm.Street.value=="")
		{
			alert("Please enter the Street");
			document.frm.Street.focus();
			return false;
		}	
		//End Street		
		//Town
		if(document.frm.Town.value=="")
		{
			alert("Please enter the Town");
			document.frm.Town.focus();
			return false;
		}	
		//End Town
		//County
		if(document.frm.Country.selectedIndex==0)
		{
			alert("Please select the County");
			document.frm.Country.focus();
			return false;		
		}
		//End County
		//PostCode
		if(document.frm.postcode.value == "")
		{
			alert("Please enter the postcode");
			
			document.frm.postcode.focus();
			return false;
		}
		var chk = postit(document.frm.postcode.value)
		if(chk == false)
		{
			alert("Please enter valid postcode");
			document.frm.postcode.focus();
			return false;
		}
		//End Postcode
		//Best Contact time
		if(document.frm.CallBackTime.selectedIndex==0)
		{
			alert("Please select the Best Contact Time");
			document.frm.CallBackTime.focus();
			return false;		
		}
		//End Best Contact Time
		//Employment Type
		if(document.frm.empstatus.selectedIndex==0)
		{
			alert("Please select the Employment Type");
			document.frm.empstatus.focus();
			return false;		
		}
		//Employment Type
		//Occupation
		if(document.frm.occtype.value=="")
		{
			alert("Please select the Occupation");
			document.frm.occtype.focus();
			return false;		
		}
		//End Occupation
		//Employer Name
		if(document.frm.Company_name.value=="")
		{
			alert("Please select the Employer Name");
			document.frm.Company_name.focus();
			return false;		
		}
		//End Employer Name
		//Employer Phone No
		if(document.frm.W_telephone.value=="")
		{
			alert("Please enter Work phone number");
			document.frm.W_telephone.focus();
			return false;
		}
		else
		{
			if(!(document.frm.W_telephone.value==""))
			{
				if ((!(document.frm.W_telephone.value.length==10)) && (!(document.frm.W_telephone.value.length==11))) 
				{
					alert("Length of work telephone no. should  be upto 10-11 digit");
					document.frm.W_telephone.focus();
					return false;
				} 
				var chk = IsNumeric(document.frm.W_telephone.value)
				if(chk == false)
				{
					alert("work telephone no. should be in numeric");
					document.frm.W_telephone.focus();
					return false;
				} 
				if((document.frm.W_telephone.value.indexOf("0")==0 ) && (document.frm.W_telephone.value.indexOf("7")==1))
				{
					alert("Please enter valid work telephone no.");
					document.frm.W_telephone.focus();
					return false;
				}
				if((document.frm.W_telephone.value.indexOf("0")==0 ) && (document.frm.W_telephone.value.length<11))
				{
					alert("Please enter valid work telephone no.");
					document.frm.W_telephone.focus();
					return false;
				}
				if((document.frm.W_telephone.value.indexOf("00")==0))
				{
					alert("Please enter valid work telephone no.");
					document.frm.W_telephone.focus();
					return false;
				}
				if(!(document.frm.W_telephone.value.indexOf("0")==0 ) && (document.frm.W_telephone.value.length==11))
				{
					alert("Please enter valid work telephone no.");
					document.frm.W_telephone.focus();
					return false;
				}
			}
		}
		//End Employer Phone No
		//Monthly Income
		if(document.frm.Net_monthly_pay.value == "")
		{
			alert("Net Monthly Pay cannot be blank");
			document.frm.Net_monthly_pay.focus();
			return false;
		}
		if(document.frm.Net_monthly_pay.value <750	)
		{
			alert("Net Monthly Pay cannot less than 750");
			document.frm.Net_monthly_pay.focus();
			return false;
		}
		var chk = IsNumeric(document.frm.Net_monthly_pay.value)
		if(chk == false)
		{
			alert("Please enter the Net Monthly Pay as a number, with no decimal points and no characters like ‘£‘, ‘,’ etc.");
			document.frm.Net_monthly_pay.focus();
			return false;
		}
		//End Monthly Income
		//PayDayFrequency
		if(document.frm.paydayfrequency.selectedIndex==0)
		{
			alert("Please select the paydayfrequency");
			
			document.frm.paydayfrequency.focus();
			return false;		
		}
		//End PayDayFrequency
		//Next PayDate
		if(document.frm.nextpaydaydd.selectedIndex==0)
		{
			alert("Please select the next payday day");
			
			document.frm.nextpaydaydd.focus();
			return false;		
		}
		if(document.frm.nextpaydaymm.selectedIndex==0)
		{
			alert("Please select the next payday month");
			
			document.frm.nextpaydaymm.focus();
			return false;		
		}
		if(document.frm.nextpaydayyy.selectedIndex==0)
		{
			alert("Please select the next payday year");
			
			document.frm.nextpaydayyy.focus();
			return false;		
		}
		if((document.frm.nextpaydaydd.selectedIndex!=0)&&(document.frm.nextpaydaymm.selectedIndex!=0)&&(document.frm.nextpaydayyy.selectedIndex!=0))
		{
			var currentTime = new Date()
			var monthnow = currentTime.getMonth() + 1
			var daynow = currentTime.getDate()
			var yearnow = currentTime.getFullYear()
			selectedpaydaydd=document.frm.elements["nextpaydaydd"].options[document.frm.elements["nextpaydaydd"].selectedIndex].value
			selectedpaydaymm=document.frm.elements["nextpaydaymm"].options[document.frm.elements["nextpaydaymm"].selectedIndex].value
			selectedpaydayyy=document.frm.elements["nextpaydayyy"].options[document.frm.elements["nextpaydayyy"].selectedIndex].value
			
			if(selectedpaydayyy<yearnow)
			{
				alert('Next Paydate should come after todays date')
				document.frm.nextpaydaydd.focus();
				return false;
			}
			if(selectedpaydayyy==yearnow)
			{
				
				if(selectedpaydaymm<monthnow)
				{
					alert('Next Paydate should come after todays date')
					document.frm.nextpaydaydd.focus();
					return false;
				}
				if(selectedpaydaymm==monthnow)
				{
					
					if(selectedpaydaydd<=daynow)
					{
						alert('Next Paydate should come after todays date')
						document.frm.nextpaydaydd.focus();
						return false;
					}
				}
			}
		}
		//End Next PayDate
		return true;
	}
	else if((document.getElementById('div3').style.display == 'block')||(document.getElementById('div3').style.display == ''))
	{
		//Bank Name
		if(document.frm.bankname.value=="")
		{
			alert("Please enter the Bank name");
			document.frm.bankname.focus();
			return false;
		}
		//End Bank Name
		//Debit Card Type
		if(document.frm.debitcard.selectedIndex==0)
		{
			alert("Please select the debitcard");
			
			document.frm.debitcard.focus();
			return false;		
		}
		//End Debit Card Type
		//Bank Account No
		if(document.frm.accountno.value == "")
		{
			alert("Account No Field cannot be blank");
			document.frm.accountno.focus();
			return false;
		}
		if(document.frm.accountno.value.length != 8)
		{
			alert("Bank Account No should be of length eight");
			document.frm.accountno.focus();
			return false;
		}
		var chk = IsNumeric(document.frm.accountno.value)
		if(chk == false)
		{
			alert("Please enter the Bank account no as a number, with no decimal points and no characters like ‘£‘, ‘,’ etc.");
			document.frm.accountno.focus();
			return false;
		}
		//End Bank Account No
		//Sort Code
		if(document.frm.sortcode.value == "")
		{
			alert("Sort Code cannot be blank");
			document.frm.sortcode.focus();
			return false;
		}
		if(document.frm.sortcode.value.length != 6)
		{
			alert("Sort Code should be of length six");
			document.frm.sortcode.focus();
			return false;
		}
		var chk = IsNumeric(document.frm.sortcode.value)
		if(chk == false)
		{
			alert("Please enter the Sort Code as a number, with no decimal points and no characters like ‘£‘, ‘,’ etc.");
			document.frm.sortcode.focus();
			return false;
		}
		//End Sort Code
		//Time With Bank
		var chk = IsNumeric(document.frm.bankyear.value)
		if(chk == false)
		{
			alert("Please enter the Time with bank year, with no decimal points and no characters like ‘£‘, ‘,’ etc.");
			document.frm.bankyear.focus();
			return false;
		}
		if((document.frm.bankyear.value <1900) || (document.frm.bankyear.value >2009))
		{
			alert("Invalid Time with bank year");
			document.frm.bankyear.focus();
			return false;
		}
		var chk = IsNumeric(document.frm.bankmonth.value)
		if(chk == false)
		{
			alert("Please enter the Time with bank month, with no decimal points and no characters like ‘£‘, ‘,’ etc.");
			document.frm.bankmonth.focus();
			return false;
		}
		if(document.frm.bankmonth.value >12) 
		{
			alert("Invalid time with bank month");
			document.frm.bankmonth.focus();
			return false;
		}
		//End Time With Bank
		//Validation of Terms and conditions
		if(document.frm.chkData.checked ==false) 
		{
			alert("Please Read and Select Our Terms and conditions.");
			document.frm.chkData.focus();
			return false;
		}
		//End Validation of Terms and Conditions
		return true;
	}
}
function resetfields()
{
	if(confirm('Are you sure to reset all values')==true)
	{
		document.frm.ukresident.selectedIndex=0;
		document.frm.Loan_amt.value = "";
		document.frm.Loan_term.selectedIndex=0;
		document.frm.loan_Purpose.selectedIndex=0;
		document.frm.Title.selectedIndex=0;
		document.frm.First_Name.value = "";
		document.frm.Last_name.value = "";
		document.frm.MStatus.selectedIndex=0;
		document.frm.InsuranceNo.value = "";
		document.frm.dob_day.selectedIndex=0;
		document.frm.dob_month.selectedIndex=0;
		document.frm.dob_year.selectedIndex=0;
		document.frm.Resistatus.selectedIndex=0;
		document.frm.H_telephone.value = "";
		document.frm.mobile.value = "";
		document.frm.email.value = "";
	}
}
function divshowhid(a)
{
	if(a=='div1')
	{
		document.getElementById('div1').style.display = 'block';
		document.getElementById('div2').style.display = 'none';
		document.getElementById('div3').style.display = 'none';
		document.getElementById('divinf').style.display = 'none';
	}
	else if(a=='div2')
	{
		document.getElementById('div1').style.display = 'none';
		document.getElementById('div2').style.display = 'block';
		document.getElementById('div3').style.display = 'none';
		document.getElementById('divinf').style.display = 'none';
	}
}
function showdiv(a)
{
	if(validation()==true)
	{
		if(a=='div1')
		{
			document.getElementById('div1').style.display = 'block';
			document.getElementById('div2').style.display = 'none';
			document.getElementById('div3').style.display = 'none';
			document.getElementById('divinf').style.display = 'none';
		}
		else if(a=='div2')
		{
			document.getElementById('div1').style.display = 'none';
			document.getElementById('div2').style.display = 'block';
			document.getElementById('div3').style.display = 'none';
			document.getElementById('divinf').style.display = 'none';
		}
		else if(a=='div3')
		{
			document.getElementById('div1').style.display = 'none';
			document.getElementById('div2').style.display = 'none';
			document.getElementById('div3').style.display = 'block';
			document.getElementById('divinf').style.display = 'block';
		}
	}
}
function isInteger(s)
{
	var dtCh= "/";
	var minYear=1900;
	var maxYear=2100;

	var i;
    for (i = 0; i < s.length; i++)
	{   
    	// Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
	
function IsNumeric(strString)
{
   var strValidChars = "0123456789";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;
   //  test strString consists of valid characters listed above
   for (j = 0; j < strString.length && blnResult == true; j++)
   {

     strChar = strString.charAt(j);
     if (strValidChars.indexOf(strChar) == -1)
     {
        blnResult = false;
     }
   }
   return blnResult;
}	
	
//check for valid charector strings
function Ischar(strString)
{
  var strValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ";
  var strChar;
  var blnResult = true;

  if (strString.length == 0) return false;
 //  test strString consists of valid characters listed above
  for (j = 0; j < strString.length && blnResult == true; j++)
  {
     strChar = strString.charAt(j);
     if (strValidChars.indexOf(strChar) == -1)
     {
        blnResult = false;
     }
  }
  return blnResult;
}
function InsuranceValidation(strString)
{
  var strValidChars ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
  var strValidDigits="0123456789";
  var strChar;
  var blnResult = true;
 
  for (j = 0; j < 9; j++)
  {
	 if((j<2)||(j==8))
	 {
		strChar = strString.charAt(j);
     	if (strValidChars.indexOf(strChar) == -1)
     	{
        	blnResult = false;
     	}
	 }
	 if(j>=2 && j<8)
	 {
		strChar = strString.charAt(j);
     	if (strValidDigits.indexOf(strChar) == -1)
     	{
        	blnResult = false;
     	}
	 }
  }
  return blnResult;
}	
//function for postcode
function postit(strString)
{//check postcode format is valid
 	test = strString; size = test.length
 	test = test.toUpperCase(); //Change to uppercase
 	while (test.slice(0,1) == " ") //Strip leading spaces
  	{
		test = test.substr(1,size-1);size = test.length
  	}
 	while(test.slice(size-1,size)== " ") //Strip trailing spaces
  	{	
		test = test.substr(0,size-1);size = test.length
  	}
 	//document.details.pcode.value = test; //write back to form field
 	if (size < 6 || size > 8)
	{ //Code length rule
    		return false;
  	}
 	if (!(isNaN(test.charAt(0))))
	{ //leftmost character must be alpha character rule
      		return false;
  	}
 	if(isNaN(test.charAt(size-3)))
	{ //first character of inward code must be numeric rule
     		return false;
  	}
 	if (!(isNaN(test.charAt(size-2))))
	{ //second character of inward code must be alpha rule
     		return false;
  	}
 	if (!(isNaN(test.charAt(size-1))))
	{ //third character of inward code must be alpha rule
      		return false;
  	}
 	//if(!(test.charAt(size-4) == " "))
	//{//space in position length-3 rule
     // 		return false;
   //	}
 	//count1 = test.indexOf(" ");count2 = test.lastIndexOf(" ");
 	//if (count1 != count2)
	//{//only one space rule
    // 		return false;
  	//}
	return true;
}

function dateCheck(m, d, y) 
{
	if(m != '')
	{//alert(m)
		if(m == "Apr" || m == "Jun" || m == "Sep" || m == "Nov")
		{//alert("hello")
			if(d == "31")
			{ 
				return false; 
			} 
		} 
		if(m == "Feb")
		{ 
			if(parseInt(y)%4 != 0 && d == "29")
			{	 
				return false; 
			} 
			else if(d == 30 || d== 31)
			{ 
				return false; 
			} 
		} 
	return true; 
	} 
} 
function stripCharsInBag(s, bag)
{
	var dtCh= "/";
	var minYear=1900;
	var maxYear=2100;

	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
	{   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}
function daysInFebruary (year)
{
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n)
{	
	var dtCh= "/";
	var minYear=1900;
	var maxYear=2100;

	for(var i = 1; i <= n; i++)
	{
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this;
}
function isDate(dtStr)
{
	var dtCh= "/";
	var minYear=1900;
	var maxYear=2100;

	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear;
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		alert("Please enter date format should be : MM/DD/YYYY")
		return false;
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert("Please enter a valid month [Format:MM/DD/YYYY]")
		return false;
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Please enter a valid day [MM/DD/YYYY]");
		return false;
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		return false;
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid date [MM/DD/YYYY]")
		return false;
	}
return true;
}