function addNodeToSelectBox(select_boxVal,val,text){
	var option_node=document.createElement('option');
	option_node.value=val;
	option_node.text=text;
	try
	{
		select_boxVal.add(option_node,null); // standards compliant
	}
	catch(ex)
	{
	select_boxVal.add(option_node); // IE only
	}
}
function checkEmpty()
{
	 var arr=document.getElementById("displayTable").rows;
	 if(arr.length==1){
	 	var x=document.getElementById('displayTable').insertRow(1);
	 	x.className="grid";
		var y1=x.insertCell(0);
		y1.colSpan=8;
		y1.align="center";
		y1.innerHTML="Added reminders will be displayed here";
		}
}
function loadXMLString(xmlstring){
	if (window.ActiveXObject){
	  xml=new ActiveXObject("Microsoft.XMLDOM");
	  xml.async="false";
	  xml.loadXML(xmlstring);
	}// code for Mozilla, Firefox, Opera, etc.
	else{
	  var parser=new DOMParser();
	  xml=parser.parseFromString(xmlstring,"text/xml");
	}// documentElement always represents the root node
	return xml;
}
function loadproduct(selectedval){
	document.getElementById("product").options.length = 0;
	var select_box=document.getElementById("product");
	addNodeToSelectBox(select_box,"selectproducts","Select Products");
	document.getElementById("corporateTr1").style.display="none";
	document.getElementById("lifetr1").style.display="none";
	document.getElementById("lifetr2").style.display="none";
	document.getElementById("lifetr3").style.display="none";
	document.getElementById("lifetr4").style.display="none";
	document.getElementById("othersTxt1").style.display="none";
	document.getElementById("otherProduct").value="";     
	document.getElementById("corporateName").value="";      
	document.getElementById("policyStartDate").value="";  
	document.getElementById("policyTerm").value="";       
	document.getElementById("paymentType").selectedIndex=0;      
	document.getElementById("sumInsured").value="";       
	if(selectedval=="Individual"){
		addNodeToSelectBox(select_box,"PrivateCar","PrivateCar");
		addNodeToSelectBox(select_box,"TwoWheeler","TwoWheeler");
		addNodeToSelectBox(select_box,"Life","Life");
		addNodeToSelectBox(select_box,"Health","Health");
		addNodeToSelectBox(select_box,"Home","Home");
		addNodeToSelectBox(select_box,"pa","PersonalAccident");
		addNodeToSelectBox(select_box,"Social","Social");
		addNodeToSelectBox(select_box,"others","others");
	}
	if(selectedval=="Corporate"){
		addNodeToSelectBox(select_box,"Transit Insurance","Transit Insurance");
		addNodeToSelectBox(select_box,"D&O Liability","D&O Liability");
		addNodeToSelectBox(select_box,"Fire Insurance","Fire Insurance");
		addNodeToSelectBox(select_box,"Vehicle Insurance","Vehicle Insurance");
		addNodeToSelectBox(select_box,"EDLI","EDLI");
		addNodeToSelectBox(select_box,"Group Life Insurance","Group Life Insurance");
		addNodeToSelectBox(select_box,"General Public Liability","General Public Liability");
		addNodeToSelectBox(select_box,"Professional Services Liability","Professional Services Liability");
		addNodeToSelectBox(select_box,"Contractors All Risk Policy","Contractors All Risk Policy");
		addNodeToSelectBox(select_box,"Workmen`s compensation","Workmen`s compensation");
		addNodeToSelectBox(select_box,"Group Health Insurance","Group Health Insurance");
		addNodeToSelectBox(select_box,"Group Accident Insurance","Group Accident Insurance");
		addNodeToSelectBox(select_box,"others","others");
		document.getElementById("corporateTr1").style.display="";
	}
}

function deleteReminder(rwoIdVal){
	var xml;
	
	if (window.ActiveXObject)
	  {
	  xml=new ActiveXObject("Microsoft.XMLDOM");
	  xml.async="false";
	  xml.loadXML("<Rows>"+AllXML+"</Rows>");
	  }
	// code for Mozilla, Firefox, Opera, etc.
	else
	  {
	  var parser=new DOMParser();
	  xml=parser.parseFromString("<Rows>"+AllXML+"</Rows>","text/xml");
	  }// documentElement always represents the root node

	var noOfRows=xml.getElementsByTagName("Row").length;
	var noOfCols=noOfRows;
	for(i=0;i<xml.getElementsByTagName("Row").length;i++){
			try{
				var testRowId=xml.getElementsByTagName("Row")[i].childNodes[0].childNodes[0].nodeValue;
				if(testRowId==rwoIdVal){
					var x=xml.getElementsByTagName("Row")[i];
					x.parentNode.removeChild(x);
					noOfCols--;
					i=-1;
				}
			}catch(e){alert("inside try; "+e.description );}
		}
		if(xml.xml==null){
		var serializer = new XMLSerializer();
		AllXML = serializer.serializeToString(xml);
	}else{
		AllXML=xml.xml.trim();
	}
if(AllXML=="<Rows/>"){
	AllXML="";}else{
		AllXML=AllXML.substring(6,AllXML.length-7);
	}
displayResult();
checkEmpty();
}
function submitFormWithXML(){
	if(AllXML!=""){
		document.getElementById("AllValuesXML").value="<Rows>"+AllXML+"</Rows>";
		document.getElementById("freeReminder").submit();
	}else{
		alert("Please add atleast one reminder Using Add reminder button");
		return false;
	}
}
function clearFields(){
	document.getElementById("product").selectedIndex=0;         
	document.getElementById("otherProduct").value="";     
	document.getElementById("companyName").value="";      
	document.getElementById("policyNo").value="";         
	document.getElementById("policyStartDate").value="";  
	document.getElementById("policyExpireDate").value=""; 
	document.getElementById("policyTerm").value="";       
	document.getElementById("paymentType").selectedIndex=0;      
	document.getElementById("sumInsured").value="";       
	document.getElementById("premium").value="";          
	document.getElementById("remarks").value="";          
	document.getElementById("days").selectedIndex=0;              
	document.getElementById("reminder1").checked=false;
	document.getElementById("reminder2").checked=false;
	document.getElementById("reminder3").checked=false;
	document.getElementById("lifetr1").style.display="none";
	document.getElementById("lifetr2").style.display="none";
	document.getElementById("lifetr3").style.display="none";
	document.getElementById("lifetr4").style.display="none";
	document.getElementById("othersTxt1").style.display="none";
}
function freereminder()
{	
	var reminderName		=	document.getElementById("remindername");
	var reminderMobileNo	=	document.getElementById("remindermobileNo");
	var reminderEmailId		=	document.getElementById("reminderEmailid");
	var customerType		=	document.getElementById("customerType");
	var corporateName		=	document.getElementById("corporateName");
	var product				=	document.getElementById("product");
	var otherProduct		=	document.getElementById("otherProduct");
	var companyName			=	document.getElementById("companyName");
	var policyNo			=	document.getElementById("policyNo");
	var policyStartDate		=	document.getElementById("policyStartDate");
	var policyExpireDate	=	document.getElementById("policyExpireDate");
	var policyTerm			=	document.getElementById("policyTerm");
	var paymentType			=	document.getElementById("paymentType");
	var sumInsured			=	document.getElementById("sumInsured");
	var premium				=	document.getElementById("premium");
	var remarks				=	document.getElementById("remarks");
	var days				=	document.getElementById("days");
	var reminder1			=	document.getElementById("reminder1").checked;
	var reminder2			=	document.getElementById("reminder2").checked;
	var reminder3			=	document.getElementById("reminder3").checked;

	//to validate name
	if(reminderName.value.trim().length == 0){
	 	alert('Please enter your Name');
		reminderName.focus();
		reminderName.select();
		return false;
	}else if(isValidName(reminderName.value)==false){
		alert('Name should be in alphabets');
		reminderName.focus();
		reminderName.select();
		return false;
	}else if(reminderName.value.length > 50){
		alert('Name cannot be greater than 50 characters');
		reminderName.focus();
		reminderName.select();
		return false;
	}

	//to validate mobile no	
	if(reminderMobileNo.value.trim().length == 0){
	 	alert('Please enter Mobile Number');
		reminderMobileNo.focus();
		reminderMobileNo.select();
		return false;
	}else if(isInteger(reminderMobileNo.value)==false){
		alert('Please enter valid Mobile Number');
		reminderMobileNo.focus();
		reminderMobileNo.select();
		return false;
	}else if(reminderMobileNo.value.length > 10){
		alert('Mobile Number cannot be greater than 10 digits');
		reminderMobileNo.focus();
		reminderMobileNo.select();
		return false;
	}else if(reminderMobileNo.value.length < 10){
		alert('Mobile Number should be 10 digits');
		reminderMobileNo.focus();
		reminderMobileNo.select();
		return false;
	}

	//to validate email id
	if(reminderEmailId.value.trim().length == 0){
		alert('Please enter E-mail ID');
		reminderEmailId.focus();
		reminderEmailId.select();
		return false;
	}else if(reminderEmailId.value.length > 100){
		alert('Email Id cannot be greater than 100 characters');
		reminderEmailId.focus();
		reminderEmailId.select();
		return false;
	}else if(isEmail(reminderEmailId.value)==false){
		alert('Please Enter Valid Email ID');
		reminderEmailId.focus();
		reminderEmailId.select();
		return false;
	}
	//to validate customerType
	if((customerType.value=="select")){
		alert('Please select the Customer Type');
		customerType.focus();
		return false;
	}
	if(customerType.value=="Corporate"){
		//to validate company name
	if(corporateName.value.trim().length == 0){
		alert('Please enter Corporate name');
		corporateName.focus();
		corporateName.select();
		return false;
	}else if(companyName.value.length > 100){
		alert('Corporate name cannot be greater than 100 characters');
		corporateName.focus();
		corporateName.select();
		return false;
	}else if(isValidCompanyName(corporateName.value)==false){
		alert('Invalid Corporate name');
		corporateName.focus();
		corporateName.select();
		return false;
	}
	}
	//to validate products
	if((product.value=="selectproducts")){
		alert('Please select the Product');
		product.focus();
		return false;
	}

	//to validate other product name
	if(product.value=="others"){
		if(otherProduct.value.trim().length == 0){
			alert('Please enter product name');
			otherProduct.focus();
			otherProduct.select();
			return false;
		}else if(otherProduct.value.length > 30){
			alert('Product name cannot be greater than 30 characters');
			otherProduct.focus();
			otherProduct.select();
			return false;
		}else if(isValidProductName(otherProduct.value)==false){
			alert('Invalid product name');
			otherProduct.focus();
			otherProduct.select();
			return false;
		}
	}

	//to validate company name
	if(companyName.value.trim().length == 0){
		alert('Please enter Insurance company name');
		companyName.focus();
		companyName.select();
		return false;
	}else if(companyName.value.length > 100){
		alert('Insurance Company name cannot be greater than 100 characters');
		companyName.focus();
		companyName.select();
		return false;
	}else if(isValidCompanyName(companyName.value)==false){
		alert('Invalid insurance company name');
		companyName.focus();
		companyName.select();
		return false;
	}

	//to validate policy no
	if(policyNo.value.trim().length > 0){
		if(policyNo.value.length > 50){
			alert('Policy No cannot be greater than 50 characters');
			policyNo.focus();
			policyNo.select();
			return false;
		}
	}

	//to validate policy start date
	if(product.value=="Life"){
		if(policyStartDate.value.trim().length == 0){
			alert('Please enter your Policy Start Date');
			policyStartDate.focus();
			policyStartDate.select();
			return false;
		}else if(testDate(policyStartDate.value)==0){
			alert('Please enter valid Policy Start Date in (dd/mm/yyyy) format');
			policyStartDate.focus();
			policyStartDate.select();
			return false;
		}
		 
	}

	//to validate policy expiry date
	if(policyExpireDate.value.trim().length == 0){
	 	alert('Please enter your Policy Expiry Date');
		policyExpireDate.focus();
		policyExpireDate.select();
		return false;
	}else if(testDate(policyExpireDate.value)==false){
		alert('Please enter valid Policy Expiry Date in (dd/mm/yyyy) format');
		policyExpireDate.focus();
		policyExpireDate.select();
		return false;
	}else if(policyStartDate.value.trim() == policyExpireDate.value.trim()){
		alert('Policy start date and Policy expiry date should not be same');
		policyExpireDate.focus();
		policyExpireDate.select();
		return false;
	}else if(isGreaterThenCurrentDate(policyExpireDate.value)==false){
		alert('Policy expiry date should be future date');
		policyExpireDate.focus();
		policyExpireDate.select();
		return false;
	}
	
	//validation for 5 days difference between start and end date
	if(product.value=="Life"){
		if(checkDateDiff(policyStartDate.value.trim(),policyExpireDate.value.trim())==false){
			alert('Policy start date and expiry date difference should be five days');
			policyExpireDate.focus();
			policyExpireDate.select();
			return false;
		}
	}


	// to validate policy term
	if(product.value=="Life"){
		if(policyTerm.value.trim().length == 0){
			alert('Please enter policy term');
			policyTerm.focus();
			policyTerm.select();
			return false;
		}else if(policyTerm.value.length > 3){
			alert('Policy term value cannot be greater than 3 digits');
			policyTerm.focus();
			policyTerm.select();
			return false;
		}else if(isInteger(policyTerm.value) == false){
			alert('Please enter only numbers in policy term field');
			policyTerm.focus();
			policyTerm.select();
			return false;
		}

		//to validate mode of payment
		if(paymentType.value == "select"){
			alert('Please select mode of payment');
			paymentType.focus();
			return false;
		}

		//to validate sum insured
		if(sumInsured.value.trim().length == 0){
			alert('Please enter sum insured value');
			sumInsured.focus();
			sumInsured.select();
			return false;
		}else if(sumInsured.value.length > 10){
			alert('Sum Insured value cannot be greater than 10 digits');
			sumInsured.focus();
			sumInsured.select();
			return false;
		}else if(isInteger(sumInsured.value) == false){
			alert('Please enter only numbers in sum insured field');
			sumInsured.focus();
			sumInsured.select();
			return false;
		}else if(sumInsured.value.trim() <=0){
			alert('Sum Insured value cannot be zero');
			sumInsured.focus();
			sumInsured.select();
			return false;
		}
	}

	//to validate policy term with start date and end date
	if(product.value=="Life"){
		var yr1  = parseInt(policyStartDate.value.substring(6,10),10); 
		var yr2  = parseInt(policyExpireDate.value.substring(6,10),10); 
		var yrDifference=parseInt(yr2)-parseInt(yr1);
		//alert("yr Diff-->"+yrDifference);
		//alert("Policy Term-->"+policyTerm.value);
		if(yrDifference < policyTerm.value){
			alert("Please Check Policy Term with Policy Start Date and Policy end Date");
			policyTerm.focus();
			policyTerm.select();
			return false;
		}
		if(yrDifference > policyTerm.value){
			alert("Please Check Policy Term with Policy Start Date and Policy end Date");
			policyTerm.focus();
			policyTerm.select();
			return false;
		}	
	}

	//to validate premium
	if(premium.value.trim().length == 0){
		alert('Please enter premium value');
		premium.focus();
		premium.select();
		return false;
	}else if(premium.value.length > 10){
		alert('Premium value cannot be greater than 10 digits');
		premium.focus();
		premium.select();
		return false;
	}else if(isInteger(premium.value) == false){
		alert('Please enter only numbers in premium field');
		premium.focus();
		premium.select();
		return false;
	}else if(premium.value.trim() <=0){
			alert('Premium value cannot be zero');
			premium.focus();
			premium.select();
			return false;
		}

	//to validate remarks
	if(remarks.value.length > 200){
		remarks.focus();
		remarks.select();
		alert('Remarks contents cannot be greater than 200 characters');
		return false;
	}

	if((days.value=="selectproducts")){
		alert('Please select the Reminder Days');
		days.focus();
		return false;
	}

	
	//To validate Policy EndDate with Reminder Days
	var calcRemindDays=parseInt(days.value);
	//alert("calcDay-->"+calcRemindDays);
	var currDate=new Date(commonServerDate.getFullYear(), commonServerDate.getMonth(), commonServerDate.getDate());
	var remindDate = new Date(commonServerDate.getFullYear(), commonServerDate.getMonth(), commonServerDate.getDate());
	remindDate.setTime(currDate.getTime());
	remindDate.setDate(commonServerDate.getDate()+calcRemindDays);
	//alert("remindDate-->"+remindDate.getTime());

	var endDate=new Date(commonServerDate.getFullYear(), commonServerDate.getMonth(), commonServerDate.getDate());
	var expDateArr=policyExpireDate.value.split("/");
	var expDateTemp = new Date(expDateArr[2], expDateArr[1]-1, expDateArr[0]);
	endDate.setTime(expDateTemp.getTime());
	//alert("endDate-->"+endDate.getTime());

	if(endDate.getTime() < remindDate.getTime()){
		alert("Reminder Duration Date already elapsed");
		days.focus();
		return false;
	}
	


	if(reminder1 == false && reminder2 == false && reminder3 == false){
		alert('Please check any one of the Reminder Mode');
		return false;
	}
	AllXML=AllXML+"<Row idVal='"+rowId+"'>";
AllXML=AllXML+"<rowId>"+rowId+"</rowId>";
rowId=rowId+1;
AllXML=AllXML+"<reminderName><![CDATA["+reminderName.value+"]]></reminderName>";
AllXML=AllXML+"<reminderMobileNo>"+reminderMobileNo.value+"</reminderMobileNo>";
AllXML=AllXML+"<reminderEmailId><![CDATA["+reminderEmailId.value+"]]></reminderEmailId>";
AllXML=AllXML+"<customerType>"+customerType.value+"</customerType>";
AllXML=AllXML+"<corporateName><![CDATA["+corporateName.value+"]]></corporateName>";
AllXML=AllXML+"<product><![CDATA["+product.value+"]]></product>";
AllXML=AllXML+"<otherProduct><![CDATA["+otherProduct.value+"]]></otherProduct>";
AllXML=AllXML+"<companyName><![CDATA["+companyName.value+"]]></companyName>";
AllXML=AllXML+"<policyNo><![CDATA["+policyNo.value+"]]></policyNo>";
AllXML=AllXML+"<policyStartDate>"+policyStartDate.value+"</policyStartDate>";
AllXML=AllXML+"<policyExpireDate>"+policyExpireDate.value+"</policyExpireDate>";
AllXML=AllXML+"<policyTerm>"+policyTerm.value+"</policyTerm>";
AllXML=AllXML+"<paymentType>"+paymentType.value+"</paymentType>";
AllXML=AllXML+"<sumInsured>"+sumInsured.value+"</sumInsured>";
AllXML=AllXML+"<premium>"+premium.value+"</premium>";
AllXML=AllXML+"<remarks><![CDATA["+remarks.value+"]]></remarks>";
AllXML=AllXML+"<days>"+days.value+"</days>";
var reminderModeVal="";
if(reminder1==true){
AllXML=AllXML+"<reminder1>Email</reminder1>";
reminderModeVal="Email";}else{
	AllXML=AllXML+"<reminder1></reminder1>";
}
if(reminder2==true){
AllXML=AllXML+"<reminder2>SMS</reminder2>";
if(reminderModeVal.length==0){
	reminderModeVal="SMS";
}else{
	reminderModeVal=reminderModeVal+",SMS";
}
	}else{
	AllXML=AllXML+"<reminder2></reminder2>";
}
if(reminder3==true){
AllXML=AllXML+"<reminder3>Phone Call</reminder3>";
if(reminderModeVal.length==0){
	reminderModeVal="Phone Call";
}else{
	reminderModeVal=reminderModeVal+",Phone Call";
}
}else{
	AllXML=AllXML+"<reminder3></reminder3>";
}
AllXML=AllXML+"<RemindDisplayValue>Remind "+days.value+" days before / "+reminderModeVal+"</RemindDisplayValue>";
var OInfoVal="Policy Type: "+customerType.value+",";

if(otherProduct.value.trim().length>0){
	OInfoVal=OInfoVal+"Product : "+otherProduct.value.trim()+",";
}
OInfoVal=OInfoVal+"Ins. Company Name: "+companyName.value+",";
if(policyNo.value.trim().length>0){
	OInfoVal=OInfoVal+"policy No: "+policyNo.value.trim()+",";
}
if(product.value.toLowerCase()=='life'){
	OInfoVal=OInfoVal+"policy start Date: "+policyStartDate.value+",";
	OInfoVal=OInfoVal+"policy Term: "+policyTerm.value+",";
	OInfoVal=OInfoVal+"Mode of payment: "+paymentType.value+",";
	OInfoVal=OInfoVal+"Sum Insured: "+sumInsured.value+",";
}
if(remarks.value.trim().length>0){
	OInfoVal=OInfoVal+"Remarks:"+remarks.value.trim()+",";
}
AllXML=AllXML+"<OtherInfo><![CDATA["+OInfoVal+"]]></OtherInfo>";
AllXML=AllXML+"</Row>";
displayResult();
clearFields();
}

//******Regular expression starts here****//


//VALIDATION FOR CHECK NAMES

var defaultEmptyOK = false

function isEmpty(s){ 
	return ((s == null) || (s.length == 0))
}

//VALIDATION FOR CHECK NAMES
var nameExpression = /^[A-Za-z][ \'\-\.A-Za-z]+[A-Za-z]$/
function isValidName(s){  
	var i;
    if (isEmpty(s)) 
       if (isValidName.arguments.length == 1) return defaultEmptyOK;
       else return (isValidName.arguments[1] == true);
    else {
       return nameExpression.test(s)
    }
}


//VALIDATION FOR CHECK E-MAIL
var reEmail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/
function isEmail(s){  
	if (isEmpty(s)) 
       if (isEmail.arguments.length == 1) return defaultEmptyOK;
       else return (isEmail.arguments[1] == true);
    else {
       return reEmail.test(s)
    }
}

//VALIDATION FOR PRODUCT NAME
var alphanum=/^[A-Za-z][ \'\-\.\,\/A-Za-z]+[A-Za-z]$/
function isValidProductName(s){

	if (isEmpty(s)) 
       if (isValidProductName.arguments.length == 1) return defaultEmptyOK;
       else return (isValidProductName.arguments[1] == true);
    
    else {
       return alphanum.test(s)
    }
}

//VALIDATION FOR COMPANY NAME
var companynum=/^[A-Za-z][ \'\-\.\,\/A-Za-z]+[A-Za-z \.\,]$/
function isValidCompanyName(s){

	if (isEmpty(s)) 
       if (isValidCompanyName.arguments.length == 1) return defaultEmptyOK;
       else return (isValidCompanyName.arguments[1] == true);
    
    else {
       return companynum.test(s)
    }
}


//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 CHECK DATE NOT LESS THAN CURRECT DATE

function isGreaterThenCurrentDate(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;
}


/**
 * 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 testDate(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){
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isIntegers(stripCharsInBag(dtStr, dtCh))==false){
		return false
	}
return true
}


//Trim function 
String.prototype.trim = function() {
// Strip leading and trailing white-space
return this.replace(/^\s*|\s*$/g, "");
}

//TO CHECK THE DATE DIFFERENCE BETWEEN START DATE AND EXPIRY DATE
function checkDateDiff(sDate,eDate){
	
	var a1=new Array();
	a1=sDate.split("/");
	var startDate=new Date(a1[2],a1[1]-1,a1[0]);

	var a2=new Array();
	a2=eDate.split("/");
	var endDate=new Date(a2[2],a2[1]-1,a2[0]);
	endDate.setDate(endDate.getDate()-5);

	//alert(startDate.getTime()+"-"+endDate.getTime());
	if(startDate.getTime()>endDate.getTime()){
		return false;
	}
	return true;
}
