 function newXMLHttpRequest(){

  var xmlreq = false;

  if (window.XMLHttpRequest) {
    
    xmlreq = new XMLHttpRequest();

  } else if (window.ActiveXObject) {
 
    try {

      xmlreq = new ActiveXObject("Msxml2.XMLHTTP");

    } catch (e1) {
     
      try {

        xmlreq = new ActiveXObject("Microsoft.XMLHTTP");

      } catch (e2) {

      }
    }
  }

  return xmlreq;
}

/** checkonchangeblur and checkonchangechild method used to avoid displaying alert messages twice **/

var onchangeflagind=false;
var onchangeflagjoint=false;
var onchangeflaghc=false;
var onchangeflaghcdepend=false;

//Individual DOB
function checkonblurind(){
	if(onchangeflagind==false){
		calculateinddob();
		onchangeflagind=false;
	}
	else{
		onchangeflagind=false;
	}
}

function checkonchangeind(){
	onchangeflagind=true;
	calculateinddob();
}

//Joint Life DOB
function checkonblurjoint(){
	if(onchangeflagjoint==false){
		calcspousedob();
		onchangeflagjoint=false;
	}
	else{
		onchangeflagjoint=false;
	}
}

function checkonchangejoint(){
	onchangeflagjoint=true;
	calcspousedob();
}


//HandiCapped1 DOB
function checkonblurhc(){
	if(onchangeflaghc==false){
		calchandidob();
		onchangeflaghc=false;
	}
	else{
		onchangeflaghc=false;
	}
}

function checkonchangehc(){
	onchangeflaghc=true;
	calchandidob();
}


//Handicapped2 DOB
function checkonblurhcdepend(){
	if(onchangeflaghcdepend==false){
		calcdependdob();
		onchangeflaghcdepend=false;
	}
	else{
		onchangeflaghcdepend=false;
	}
}

function checkonchangehcdepend(){
	onchangeflaghcdepend=true;
	calcdependdob();
}


function loadTerm(age){
	var dobage=document.getElementById("indDOB");
	if((dobage.value !="") && (isDate(dobage.value)==true)){
	var parameters="category="+"Endowment"+"&lifestage="+"Individual"+"&age="+age;
	var req = newXMLHttpRequest();
	//document.getElementById(elementid).options.length = 0;
	 req.onreadystatechange=function()
	 {
		if (req.readyState == 4) {
		  if (req.status == 200) {
			  //alert("hi" +req.responseText);
			addTermListBox(req.responseText);
		  } else {
			//alert("HTTP error: "+req.status);
		  }
		}
	  }

	req.open("POST", "getChildPT.do", true); //synchronous

    req.setRequestHeader("Content-Type", 
                       "application/x-www-form-urlencoded");

	req.send(parameters);
	}

}
function addTermListBox(pterm){
	document.getElementById("policyTermEn").options.length = 0;
	if (window.ActiveXObject)
	  {
	  doc=new ActiveXObject("Microsoft.XMLDOM");
	  doc.async="false";
	  doc.loadXML(pterm);
	  }
	// code for Mozilla, Firefox, Opera, etc.
	else
	  {
	  var parser=new DOMParser();
	  doc=parser.parseFromString(pterm,"text/xml");
	  }// documentElement always represents the root node

	var masterdoc=doc.documentElement;
	var optionlist=doc.getElementsByTagName("Term");
	var select_box=document.getElementById("policyTermEn");
	var option_node=document.createElement('option');
	option_node.value="0";
	option_node.text="--Select--";
    try
	{
		select_box.add(option_node,null); // standards compliant
	}
	catch(ex)
	{
	  //alert(ex);
	select_box.add(option_node); // IE only
	}
	for(var i=0; i<optionlist.length; i++){
	
		var option_node=document.createElement('option');
		var TermVal=masterdoc.getElementsByTagName("Term")[i].childNodes[0].childNodes[0].nodeValue;
		option_node.value=TermVal;
		option_node.text=TermVal;
		   try
			{
			select_box.add(option_node,null); // standards compliant
			}
		  catch(ex)
			{
			  //alert(ex);
			select_box.add(option_node); // IE only
			}
		}
}

function loadHandiTerm(age){
	var dobage=document.getElementById("HandiIndDOB");
	if((dobage.value !="") && (isDate(dobage.value)==true)){
	var parameters="category="+"Endowment"+"&lifestage="+"Handicapped"+"&age="+age;
	var req = newXMLHttpRequest();
	//document.getElementById(elementid).options.length = 0;
	 req.onreadystatechange=function()
	 {
		if (req.readyState == 4) {
		  if (req.status == 200) {
			  //alert("hi" +req.responseText);
			addHandiListBox(req.responseText);
		  } else {
			//alert("HTTP error: "+req.status);
		  }
		}
	  }

	req.open("POST", "getChildPT.do", true); //synchronous

    req.setRequestHeader("Content-Type", 
                       "application/x-www-form-urlencoded");

	req.send(parameters);
	}

}

function addHandiListBox(pterm){
	document.getElementById("policyTermHan").options.length = 0;
	if (window.ActiveXObject)
	  {
	  doc=new ActiveXObject("Microsoft.XMLDOM");
	  doc.async="false";
	  doc.loadXML(pterm);
	  }
	// code for Mozilla, Firefox, Opera, etc.
	else
	  {
	  var parser=new DOMParser();
	  doc=parser.parseFromString(pterm,"text/xml");
	  }// documentElement always represents the root node

	var masterdoc=doc.documentElement;

	var optionlist=doc.getElementsByTagName("Term");
	//alert(optionlist);
	var select_box=document.getElementById("policyTermHan");
	var option_node=document.createElement('option');
	option_node.value="0";
	option_node.text="--Select--";
    try
	{
		select_box.add(option_node,null); // standards compliant
	}
	catch(ex)
	{
	  //alert(ex);
	select_box.add(option_node); // IE only
	}
	for(var i=0; i<optionlist.length; i++){
	
		var option_node=document.createElement('option');
		var TermVal=masterdoc.getElementsByTagName("Term")[i].childNodes[0].childNodes[0].nodeValue;
		option_node.value=TermVal;
		option_node.text=TermVal;
 
		   try
			{
			select_box.add(option_node,null); // standards compliant
			}
		  catch(ex)
			{
			  //alert(ex);
			select_box.add(option_node); // IE only
			}
	}
	
}


function calculateinddob(){
	if((document.getElementById("indDOB").value!=""))
	{
		var datedif=0;
		var monthdif=0;
		var yeardif=0;
		var i=0;
		var j=0;
		var cal_age=0;
		var term=0;
		var currentDate=new Date(commonServerDate.getFullYear(), commonServerDate.getMonth(), commonServerDate.getDate());
		var dob=document.getElementById("indDOB").value;
		var presentage=0;
		var calculatedob=dob.split("/");
		
		//date format(Fullyear,month,date) 
		var agedate=calculatedob[0];
		var agemonth= calculatedob[1];
		var ageyear=calculatedob[2];
		
			if(agedate!=0 && agemonth!=0 && ageyear!=0 ){
				
				if(isDate(dob)){
					datedif=currentDate.getDate()-agedate;
					monthdif = currentDate.getMonth()-agemonth;
					yeardif=currentDate.getFullYear()-ageyear;
				   if(datedif < 0) {
				            i = monthdif - 1; 
				        }
				        else {
				        	i = monthdif;
				        }
				        if(i < 0) {
				        	j=i + 12;
				        }
				        else {
				        	j = i;
				        }
				        if(i<0) {
				        	yeardif = yeardif - 1;
				        }
				        cal_age = yeardif;
						
						if((cal_age < 12) || (cal_age > 65)) 
						{
						alert("Age Should be between 12 to 65 Years");
						document.getElementById("indDOB").value="";
						}
						else if(cal_age > 11){
							//alert(cal_age);
							//loadPolicyTerm(cal_age);
							document.getElementById("indagehid").value=cal_age;
						}
				}
			
			else {
				alert("Enter a valid date of birth in (dd/mm/yyyy) format");
				document.getElementById("indDOB").value="";
				}
			}
	  }
}


	
function calcspousedob(){
	if((document.getElementById("spouseDOB").value!=""))
	{
		var datedif=0;
		var monthdif=0;
		var yeardif=0;
		var i=0;
		var j=0;
		var cal_age=0;
		var term=0;

		var currentDate=new Date(commonServerDate.getFullYear(), commonServerDate.getMonth(), commonServerDate.getDate());
		var dob=document.getElementById("spouseDOB").value;
		var presentage=0;
		var calculatedob=dob.split("/");
		
		//date format(Fullyear,month,date) 
		var agedate=calculatedob[0];
		var agemonth= calculatedob[1];
		var ageyear=calculatedob[2];
		
			if(agedate!=0 && agemonth!=0 && ageyear!=0 ){
				if(isDate(dob)){
					datedif=currentDate.getDate()-agedate;
					monthdif = currentDate.getMonth()-agemonth;
					yeardif=currentDate.getFullYear()-ageyear;
				   if(datedif < 0) {
				            i = monthdif - 1; 
				        }
				        else {
				        	i = monthdif;
				        }
				        if(i < 0) {
				        	j=i + 12;							
				        }
				        else {
				        	j = i;
				        }
				        if(i<0) {
				        	yeardif = yeardif - 1;
				        }
				        if(j >= 6) {
				                cal_age = yeardif + 1;
				        }	
				        else {
				                cal_age = yeardif;
				        }
						
						if((cal_age < 18) || (cal_age > 60)) 
						{
						//loadPolicyTerm(cal_age);
						alert("Age Should be between 18 and 60 Years");
						document.getElementById("spouseDOB").value="";
						}
						else if(cal_age > 17){
							//alert(cal_age);
							//loadPolicyTerm(cal_age);
							document.getElementById("spouseagehid").value=cal_age;
						}
				}
			else {
				alert("Enter a valid date of birth in (dd/mm/yyyy) format");
				document.getElementById("spouseDOB").value="";
				}
			}
		}
	}
function calchandidob(){
	if((document.getElementById("HandiIndDOB").value!=""))
	{
		
		var datedif=0;
		var monthdif=0;
		var yeardif=0;
		var i=0;
		var j=0;
		var cal_age=0;
		var term=0;

		var currentDate=new Date(commonServerDate.getFullYear(), commonServerDate.getMonth(), commonServerDate.getDate());
		
		var dob=document.getElementById("HandiIndDOB").value;
		var presentage=0;
		var calculatedob=dob.split("/");
		
		//date format(Fullyear,month,date) 
		var agedate=calculatedob[0];
		var agemonth= calculatedob[1];
		var ageyear=calculatedob[2];
		
			if(agedate!=0 && agemonth!=0 && ageyear!=0 ){
				
				if(isDate(dob)){
				
					datedif=currentDate.getDate()-agedate;
					monthdif = currentDate.getMonth()-agemonth;
					yeardif=currentDate.getFullYear()-ageyear;

				   if(datedif < 0) {
				           i = monthdif - 1;
				        }
				        else {
				        	i = monthdif;
				        }
				        if(i < 0) {
				        	j=i + 12;
				        }
				        else {
				        	j = i;
				        }
				        if(i<0) {
				        	yeardif = yeardif - 1;
				        }
				        if(j >= 6) {
				             cal_age = yeardif + 1;
				        }	
				        else {
				             cal_age = yeardif;
				        }
						//alert(cal_age);
						if((cal_age < 20) || (cal_age > 70)) 
						{
						//loadPolicyTerm(cal_age);
						alert("Age Should be between 20 and 70 Years");
						document.getElementById("HandiIndDOB").value="";
						}
						else if(cal_age > 19){
							document.getElementById("handiIndagehid").value=cal_age;
						}
				}
			else {
			alert("Enter a valid date of birth in (dd/mm/yyyy) format");
			document.getElementById("handiIndagehid").value="";
				}
			}
	}
}
function calcdependdob(){
	if((document.getElementById("HandiDOB").value!=""))
	{
		var datedif=0;
		var monthdif=0;
		var yeardif=0;
		var i=0;
		var j=0;
		var cal_age=0;
		var term=0;

		var currentDate=new Date(commonServerDate.getFullYear(), commonServerDate.getMonth(), commonServerDate.getDate());
		
		var dob=document.getElementById("HandiDOB").value;
		var presentage=0;
		var calculatedob=dob.split("/");
		
		//date format(Fullyear,month,date) 
		var agedate=calculatedob[0];
		var agemonth= calculatedob[1];
		var ageyear=calculatedob[2];
		
			if(agedate!=0 && agemonth!=0 && ageyear!=0 ){
				if(isDate(dob)){
					datedif=currentDate.getDate()-agedate;
					monthdif = currentDate.getMonth()-agemonth;
					yeardif=currentDate.getFullYear()-ageyear;
				   if(datedif < 0) {
				          i = monthdif - 1; 
				        }
				        else {
				        	i = monthdif;
				        }
				        if(i < 0) {
				        	j=i + 12;
				        }
				        else {
				        	j = i;
				        }
				        if(i<0) {
				        	yeardif = yeardif - 1;
				        }
				        if(j >= 6) {
				                cal_age = yeardif + 1;
				        }	
				        else {
				                cal_age = yeardif;
				        }
						
						//alert(cal_age);
						if(cal_age < 0) 
						{
						alert("Age Should be between 0 and 99 Years");
						document.getElementById("HandiDOB").value="";
						}
						else if(cal_age > 0){
							document.getElementById("handidependage").value=cal_age;
						}
				}
			else {
				alert("Enter a valid date of birth in (dd/mm/yyyy) format");
				document.getElementById("handidependage").value="";
				}
			}
		}
	}
function resetPremiumTerm(){
	document.getElementById("premiumTermEn").options.length = 0;

	var optionlist='select';
	var option_node=document.createElement('option');
		var select_box=document.getElementById("premiumTermEn");
		option_node.value=optionlist;
		option_node.text=optionlist+" Years";
		   try
			{
			select_box.add(option_node,null); // standards compliant
			}
		  catch(ex)
			{
			  //alert(ex);
			select_box.add(option_node); // IE only
			}
	}


function validateEndowment(){
	var indEnd   =   document.getElementById("lifestageEn1");
	var jointEnd =  document.getElementById("lifestageEn2");
	var handicapped =  document.getElementById("lifestageEn3");
	var genderM =document.getElementById("genderM");
	var genderF =document.getElementById("genderF");
	var indDobEnd =document.getElementById("indDOB");
	var spouseDobEnd =document.getElementById("spouseDOB");
	var endowmentEnd   =  document.getElementById("savingsEn").checked;
	var loanEnd   =  document.getElementById("PlanBenefitsL").checked;
	var moneybackEnd   =  document.getElementById("moneyEn").checked;
	var taxEnd         =  document.getElementById("PlanBenefitsT").checked;
	var policytermEnd  =  document.getElementById("policyTermEn");
	var premiumtermEnd=  document.getElementById("premiumTermEn");
	var paymentmodeEnd=  document.getElementById("paymentmodeEn");
	var coverageEnd=  document.getElementById("coverageEn");
	var indageEnd=document.getElementById("indagehid");
	var spouseageEnd=document.getElementById("spouseagehid");

	//Handicapped Values
	var HandiInd=document.getElementById("HandiIndDOB");
	var HandiDob=document.getElementById("HandiDOB");
	var HandIndAge=document.getElementById("handiIndagehid");
	var HandDependAge=document.getElementById("handidependage");
    var policytermHan  =  document.getElementById("policyTermHan");

	var inputType=document.getElementById("inputtypeEn");


		if((indEnd.checked==false) && (jointEnd.checked==false) && (handicapped.checked==false)){
		alert("Please select Plan Type");
		return false;
		}
		
		if(genderM.checked==false && genderF.checked==false)
		{
			alert("Select Your Gender");
			return false;
		}

			if(indEnd.checked == true){
			
			if(indDobEnd.value=="")
			{
				alert("Enter Date of Birth");
				indDobEnd.focus();
				indDobEnd.select();
				return false;	
			}
		
			if(isDate(indDobEnd.value)==false){
				alert('Enter a valid date of birth in (dd/mm/yyyy) format');
				indDobEnd.focus();
				indDobEnd.select();
				return false;
			}
		
				
				
			if(indageEnd.value < 12 || indageEnd.value > 70){
					alert('Please enter the age between 12 to 70 years');
					indageEnd.focus();
					indageEnd.select();
					return false;
			}
				
			}

			if(jointEnd.checked == true){
			if(spouseDobEnd.value=="")
			{
				alert("Enter Spouse Date of Birth");
				spouseDobEnd.focus();
				spouseDobEnd.select();
				return false;	
			}
		
			if(isDate(spouseDobEnd.value)==false){
				alert('Enter a valid date of birth in (dd/mm/yyyy) format');
				spouseDobEnd.focus();
				spouseDobEnd.select();
				return false;
			}
				
			if(spouseageEnd.value < 17 || spouseageEnd.value > 60){
					alert('Please enter spouse age between 18 to 60 years');
					spouseageEnd.focus();
					spouseageEnd.select();
					return false;
			}
		}

	if(handicapped.checked==true){
		if(HandiInd.value=="")
			{
				alert("Enter Date of Birth of Life Assured");
				HandiInd.focus();
				HandiInd.select();
				return false;	
			}
		
			if(isDate(HandiInd.value)==false){
				alert('Enter a valid date of birth in (dd/mm/yyyy) format');
				HandiInd.focus();
				HandiInd.select();
				return false;
			}
				
			if(HandIndAge.value < 20 || HandIndAge.value > 70){
					alert('Please enter Life assured age between 20 to 70 years');
					HandIndAge.focus();
					HandIndAge.select();
					return false;
			}

			if(HandiDob.value=="")
			{
				alert("Enter Dependent Date of Birth");
				HandiDob.focus();
				HandiDob.select();
				return false;	
			}
		
			if(isDate(HandiDob.value)==false){
				alert('Enter a valid date of birth in (dd/mm/yyyy) format');
				HandiDob.focus();
				HandiDob.select();
				return false;
			}
		
				
			if(HandDependAge.value < 0 || HandDependAge.value > 99){
					alert('Dependent age should be between 0 to 99 years');
					HandDependAge.focus();
					HandDependAge.select();
					return false;
			}

		if((policytermHan.value=="select") || (policytermHan.value==0) || (policytermHan.value==""))
		{
			alert("Select Your PolicyTerm");
			return false;
		}

	}
	
	if(handicapped.checked==false){
		
		/*
		if(endowmentEnd==false && moneybackEnd == false && loanEnd == false && taxEnd==false){
				alert("Please select Your Need For insurance");
				return false;
			}
			*/

		if((policytermEnd.value=="select") || (policytermEnd.value==0) || (policytermEnd.value==""))
		{
			alert("Select Your PolicyTerm");
			return false;
		}
	}
	
		if(paymentmodeEnd.value=="select")
		{
			alert("Select Your PaymentMode");
			return false;
		}
	
		if((paymentmodeEnd.value=="RegularPremium") && (premiumtermEnd.value==0) || (premiumtermEnd.value=="select")  || (premiumtermEnd.value==""))
			{
			alert("Select Your PremiumTerm");
			return false;
		}

			if(inputType.value=="select")
			{
				alert("Select Plans Based On");
				return false;
			}
			if(inputType.value=="Premium"){
				var premiumAmt=document.getElementById("premiumEn");
				if((trim(premiumAmt.value).length==0))
				{
					alert("Enter Your Premium Amount");
					premiumAmt.focus();
					premiumAmt.select();
					return false;
				}
				if(isIntegers(trim(premiumAmt.value)) == false){
					alert("Please Enter Valid Premium Amount");
					premiumAmt.focus();
					premiumAmt.select();
					return false;
				}
				if(premiumAmt.value.length > 10 ){
					alert("Premium Amount should be less than or equal to 10 digits");
					premiumAmt.focus();
					premiumAmt.select();
					return false;
				}
				if(premiumAmt.value < 500){
					alert("Minimum Premium Amount Should be Rs.500");
					premiumAmt.focus();
					premiumAmt.select();
					return false;
				}
			}
			if(inputType.value=="Coverage"){
				var Coverage=document.getElementById("coverageEn");
				if((trim(coverageEnd.value).length==0))
				{
					alert("Enter Your Coverage Amount");
					coverageEnd.focus();
					coverageEnd.select();
					return false;
				}
				if(isIntegers(trim(coverageEnd.value)) == false){
					alert("Please Enter Valid Coverage Amount");
					coverageEnd.focus();
					coverageEnd.select();
					return false;
				}
				if(coverageEnd.value.length > 10 ){
					alert("Coverage Amount should be less than or equal to 10 digits");
					coverageEnd.focus();
					coverageEnd.select();
					return false;
				}
				if(coverageEnd.value < 10000){
					alert("Minimum Coverage Amount Should be Rs.10,000");
					coverageEnd.focus();
					coverageEnd.select();
					return false;
				}
				if((coverageEnd.value%5000)!='0'){
					alert("Coverage Amount Should be in multiples of 5,000");
					coverageEnd.focus();
					coverageEnd.select();
					return false;
				}
			}
	}



	function validateSliderEndowment(){
		
	var genderM =document.getElementById("genderM");
	var genderF =document.getElementById("genderF");
	var paymentmodeEnd=  document.getElementById("paymentmodeEn");
	var regularmode=  document.getElementById("regularmodeEn");
    var inputType=document.getElementById("inputtypeEn");

		if(genderM.checked==false && genderF.checked==false)
		{
		alert("Select Your Gender");
			return false;
		}

		if(paymentmodeEnd.value=="select")
		{
			alert("Select Your PaymentMode");
			return false;
		}
	if(inputType.value=="Premium"){
			var premiumAmt=document.getElementById("premiumEn");
				if((trim(premiumAmt.value).length==0))
				{
					alert("Enter Your Premium Amount");
					premiumAmt.focus();
					premiumAmt.select();
					return false;
				}
				if(isIntegers(trim(premiumAmt.value)) == false){
					alert("Please Enter Valid Premium Amount");
					premiumAmt.focus();
					premiumAmt.select();
					return false;
				}
				if(premiumAmt.value.length > 10 ){
					alert("Premium Amount should be less than or equal to 10 digits");
					premiumAmt.focus();
					premiumAmt.select();
					return false;
				}
				if(premiumAmt.value < 500){
					alert("Minimum Premium Amount Should be Rs.500");
					premiumAmt.focus();
					premiumAmt.select();
					return false;
				}
			}
	if(inputType.value=="Coverage"){
		var coverageEnd=  document.getElementById("coverageEn");
		if((trim(coverageEnd.value).length==0))
			{
				alert("Enter Your Coverage Amount");
				coverageEnd.focus();
				coverageEnd.select();
				return false;
			}
			if(isIntegers(trim(coverageEnd.value)) == false){
				alert("Please Enter Valid Coverage Amount");
				coverageEnd.focus();
				coverageEnd.select();
				return false;
			}
			if(coverageEnd.value.length > 10 ){
				alert("Coverage Amount should be less than or equal to 10 digits");
				coverageEnd.focus();
				coverageEnd.select();
				return false;
			}
			if(coverageEnd.value < 10000){
				alert("Minimum Coverage Amount Should be Rs.10,000");
				coverageEnd.focus();
				coverageEnd.select();
				return false;
			}
			if((coverageEnd.value%5000)!=0){
				alert("Coverage Amount Should be in multiples of 5,000");
				coverageEnd.focus();
				coverageEnd.select();
				return false;
			}
		}

		if(regularmode.value=="select")
		{
			alert("Select Your PaymentMode");
			return false;
		}

	}

	
	

var reAlphabetic = /^[a-zA-Z]+$/
var defaultEmptyOK = false

function isEmpty(s){ 
	return ((s == null) || (s.length == 0))
}

function isAlphabetic(s){  
	var i;
    if (isEmpty(s)) 
       if (isAlphabetic.arguments.length == 1) return defaultEmptyOK;
       else return (isAlphabetic.arguments[1] == true);
    else {
       return reAlphabetic.test(s)
    }
}
	/**
 * DHTML date validation script for dd/mm/yyyy. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */
// Declaring valid date character, minimum year and maximum year
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isIntegers(s){
	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 stripCharsInBag(s, bag){
	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) {
	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 daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strDay=dtStr.substring(0,pos1)
	var strMonth=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 valid Date(dd/mm/yyyy)")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		//alert("Please enter a valid month")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		//alert("Please enter a valid day")
		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 || isIntegers(stripCharsInBag(dtStr, dtCh))==false){
		//alert("Please enter a valid date")
		return false
	}
   return true
   }

   //VALIDATION FOR NUMBER
	var reInteger = /^\d+$/
	function isInteger(s){
	var i;
    if (isEmpty(s)) 
       if (isInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);

    return reInteger.test(s)
	}

	//VALIDATION FOR ALPHANUMERIC
    function isAlphaNumeric(val)
   {
   if (val.match(/^[a-zA-Z0-9]+$/))
    {
   return true;
   }
   else
   {
    return false;
   } 
   }

   function datt(s1,s2)
	  {
		t1=s1;
		//alert(t1.value);
		t2=s2;
		//alert(t2.value);
		//Total time for one day
        var one_day=1000*60*60*24; 
		//Here we need to split the inputed dates to convert them into standard format
		//for furter execution
        var x=t1.value.split("/");     
        var y=t2.value.split("/");
		//date format(Fullyear,month,date) 

        var date1=new Date(x[2],(x[1]-1),x[0]);
        var date2=new Date(y[2],(y[1]-1),y[0])
        var month1=x[1]-1;
        var month2=y[1]-1;
        
        //Calculate difference between the two dates, and convert to days
               
        _Diff=Math.ceil((date2.getTime()-date1.getTime())/(one_day)); 
        _Diff=_Diff+1;
		//alert(_Diff);
		if(_Diff <1) { 
			return false;
		}
		
     }
     
     
     //VALIDATION FOR CHECK DATE NOT LESS THAN CURRECT DATE

	function isLessThenCurrentDate(dateStr)
	{
	
	var mydate=new Date(commonServerDate.getFullYear(), commonServerDate.getMonth(), commonServerDate.getDate());
	var a1=new Array();
	a1=dateStr.split("/");
	var userdate=new Date(a1[2],a1[1]-1,a1[0]);
	var one_day=1000*60*60*24
	var noOfDays=Math.ceil((mydate.getTime()-userdate.getTime())/(one_day));
	if(noOfDays<=0){
	return false;
	}
	return true;
	}
	
