 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;
} 

function calPremium(){
	var premiumVal = document.getElementById('Premium');
	var payMode		= document.getElementById('PayMode');
	//alert('premiumVal.value --> '+premiumVal.value);
	//alert('payMode.value --> '+payMode.value);

	if(premiumVal.value == null | premiumVal.value ==""){
	alert('Please enter Investment Amount');
	premiumVal.focus();
	premiumVal.select();
	return false;
	}
	if(premiumVal.value.length <= 3 ){
	alert('Investment amount should be minimum 4 digits');
	premiumVal.focus();
	premiumVal.select();
	return false;
	}

	if(payMode.value == 'Single' ){
	if(premiumVal.value < 20000){
	alert('Investment amount for Single mode should not be less than Rs.20000/-');
	premiumVal.focus();
	premiumVal.select();
	return false;
	}
	}
	if(payMode.value == 'Y' ){
	if(premiumVal.value < 10000){
	alert('Investment amount for Yearly mode should not be less than Rs.10000/-');
	premiumVal.focus();
	premiumVal.select();
	return false;
	}
	}
	if(payMode.value == 'H' ){
	if(premiumVal.value < 5000){
	alert('Investment amount for Half-Yearly mode should not be less than Rs.5000/-');
	premiumVal.focus();
	premiumVal.select();
	return false;
	}
	}
	if(payMode.value == 'Q' ){
	if(premiumVal.value < 2500){
	alert('Investment amount for Quarterly mode should not be less than Rs.2500/-');
	premiumVal.focus();
	premiumVal.select();
	return false;
	}
	}
	if(payMode.value == 'M' ){
	if(premiumVal.value < 1000){
	alert('Investment amount for Montly mode should not be less than Rs.1000/-');
	premiumVal.focus();
	premiumVal.select();
	return false;
	}
	}

	if(premiumVal.value.length > 8){
	alert('Investment amount should be less than 9 digits');
	premiumVal.focus();
	premiumVal.select();
	return false;
	}		
	if(isIntegers(premiumVal.value)==false){
	alert('Please enter valid Investment Amount');
	premiumVal.focus();
	premiumVal.select();
	return false;
	}
}


function calculateMutiple(){
	//alert('called ... ');
	
	var payMode=document.getElementById("PayMode");
	
	if(payMode.value=='Single'){
		loadSinglePolicyTerm();
	}
	if(payMode.value != 'Single'){
		loadRegularPolicyTerm();
	}
}


function addMulFacListBox(pterm){
	document.getElementById("MultiFactor").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("MulTerm");
	//alert('optionlist --> '+optionlist);
	var select_box=document.getElementById("MultiFactor");
	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("MulTerm")[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 loadSinglePolicyTerm(){
	//alert("SingleTerm Called");
	document.getElementById("MultiFactor").options.length = 0;
	var select_box=document.getElementById("MultiFactor");
	var option_node=document.createElement('option');

		option_node.value="select";
		option_node.text="--Select--";
		//var j=optionlist;
		try
		{
			select_box.add(option_node,null); // standards compliant
		}
		catch(ex)
		{
		  //alert(ex);
		select_box.add(option_node); // IE only
		}

		for(i=1;i<=3;i++){
			var option_node=document.createElement('option');
			//alert("i is"+i);
			if(i==1){
				option_node.value=1.25;
				option_node.text="1.25";
			}
			if(i==2){
				option_node.value=5;
				option_node.text="5";
			}
			if(i==3){
				option_node.value=6.25;
				option_node.text="6.25";
			}
			try
			{
				select_box.add(option_node,null); // standards compliant
			}
		    catch(ex)
			{
				select_box.add(option_node); // IE only
			}
		}
}

function loadRegularPolicyTerm(){
	//alert("RegularTerm Called");
	document.getElementById("MultiFactor").options.length = 0;
	var select_box=document.getElementById("MultiFactor");
	var option_node=document.createElement('option');

		option_node.value="select";
		option_node.text="--Select--";
		//var j=optionlist;
		try
		{
			select_box.add(option_node,null); // standards compliant
		}
		catch(ex)
		{
			select_box.add(option_node); // IE only
		}

		for(i=5;i<=30;){
			var option_node=document.createElement('option');
			//alert("i is"+i);
			
			option_node.value=i;
			option_node.text=i;
			
			try
			{
				select_box.add(option_node,null); // standards compliant
			}
		    catch(ex)
			{
				select_box.add(option_node); // IE only
			}

			i=i+5;
		}
}


function calCovAmount(){
	//alert(' 7876543 ');
	var multiFactorVal = document.getElementById('MultiFactor');
	var premiumVal = document.getElementById('Premium');
	var covPremium = document.getElementById('CoveragePreBased');
	var payMode   = document.getElementById('PayMode');
	var planBasedOn	= document.getElementById('CalcType');
	var i=1;

	if(payMode.value=="select"){
	//alert("Please select Mode of Payment");
	return false;	
	} 
    
	if(planBasedOn.value =="Premium"){
	if(premiumVal.value == null | premiumVal.value ==""){
	alert('Please enter Investment Amount');
	premiumVal.focus();
	premiumVal.select();
	return false;
	}
	if(premiumVal.value.length <= 3 ){
	alert('Investment amount should be minimum 4 digits');
	premiumVal.focus();
	premiumVal.select();
	return false;
	}
	if(premiumVal.value.length > 8){
	alert('Investment amount should be less than 9 digits');
	premiumVal.focus();
	premiumVal.select();
	return false;
	}		
	if(isIntegers(premiumVal.value)==false){
	alert('Please enter valid Investment Amount');
	premiumVal.focus();
	premiumVal.select();
	return false;
	}

	if(multiFactorVal.value == "0"){
	//alert("Please select Multiple Factor");
	return false;
	}
	

	//alert(" mulfactor --> "+multiFactorVal.value);
	//alert(" preVal --> "+premiumVal.value);
	//alert(" payMode --> "+payMode.value);
	if(payMode.value == "H"){ i=2;}
	if(payMode.value == "Q"){ i=4;}
	if(payMode.value == "M"){ i=12;}

	
	covPremium.value=multiFactorVal.value * (premiumVal.value*i);
	covPremium.value=parseInt(covPremium.value);
	
	if(covPremium.value == "NaN"){
		covPremium.value = "";
	}
	//alert(" covVal --> "+covPremium.value);	
	return true;
	}
}

function resetPlanBasedOn(){
	//alert('resetPlanBasedOn called .. ');
	var planBasedOn	= document.getElementById('CalcType');
	var premiumVal	= document.getElementById('Premium');
	var multiFactorVal = document.getElementById('MultiFactor');
	var covPremium	= document.getElementById('CoveragePreBased');
	var covCoverage = document.getElementById('CoverageCovBased');
	
	if(planBasedOn.value!="select"){
	if(planBasedOn.value=="Premium"){
		premiumVal.value = "";
		multiFactorVal.value = "select";
		covPremium.value= "";
	}

	if(planBasedOn.value=="Coverage"){
		covCoverage.value = "";
	}
	}
}

function validateUlipPureUlip(){
	//alert('validation');
	var ulipPure	= document.getElementById('Category1');
	var ulipPension = document.getElementById('Category2');
	var insureType  = document.getElementById("insurancetype");
	var planType	= document.getElementById('PlanType');
	var dob			= document.getElementById('Dob');
	var spouseDobVal= document.getElementById('spouseDob');
	var childDobVal	= document.getElementById('childDob');
	var ageCalculated=document.getElementById('setcalcage');
	var spouseAge   = document.getElementById('spousecalcage');
	var childAge    = document.getElementById('childcalcage');
	var genderM		= document.getElementById('Gender1');
	var genderF		= document.getElementById('Gender2');
	var lifeCover	= document.getElementById('LifeCover');
    var payMode		= document.getElementById('PayMode');
	var policyTerm  = document.getElementById('PolicyTerm');
	var premiumTerm = document.getElementById('PremiumTerm');
	var planBasedOn	= document.getElementById('CalcType');
	var premiumVal	= document.getElementById('Premium');
	var multiFactorVal = document.getElementById('MultiFactor');
	var covPremium	= document.getElementById('CoveragePreBased');
	var covCoverage = document.getElementById('CoverageCovBased');
	//var topUpReq	= document.getElementById('TopUp');
	//var topUpAmountVal = document.getElementById('TopupAmount');
	var InvType1=document.getElementById('InvType1');
	var InvType2=document.getElementById('InvType2');
	var bondVal		= document.getElementById('BondValue');
	var balancedVal = document.getElementById('BalancedValue');
	var equityVal	= document.getElementById('EquityValue');
	var growthVal	= document.getElementById('GrowthValue');
	var sumVal=0;
	//alert(' planBasedOn.value --> '+planBasedOn.checked);
	if(ulipPure.checked==false & ulipPension.checked==false){
	alert('Please select Category');
	return false;
	}
	
	if(insureType.value.length == 0){
	alert('Please select Insurance Type');
	return false;
	}

	if(planType.value=="select"){
	alert("Please select Plan Type");
	return false;	
	} 
	
	//alert('dob.value --> '+dob.value);
	if(dob.value==""){
	alert("Please Enter Date of Birth(dd/MM/yyyy)");
	dob.focus();
	dob.select();
	return false;	
	}

	if(dob.value.length == 0){
	alert("Please Enter Date of Birth(dd/MM/yyyy)");
	dob.focus();
	dob.select();
	return false;	
	}

	if(dob.value.length > 10){
	alert('Please Enter Valid Date of Birth(dd/MM/yyyy)');
	dob.focus();
	dob.select();
	return false;	
	}

	if(isDate(dob.value)==false){
	alert('Please Enter Valid Date of Birth(dd/MM/yyyy)');
	dob.focus();
	dob.select();
	return false;
	}

	if(!isLessThenCurrentDate(dob.value)==true){
	alert('Date of Birth should be less than current date');
	dob.focus();
	dob.select();
	return false;
	}
	//alert(' ageCalculated.value --> '+ageCalculated.value);
	if(insureType.value == "Individual"){
	if(ageCalculated.value == ""){
	//alert("Age Should be between 0 to 70 Years ");
	dob.focus();
	dob.select();
	return false;
	}
	if(ageCalculated.value < 0){
	//alert("Age Should be between 0 to 70 Years ");
	dob.focus();
	dob.select();
	return false;
	}
	if(ageCalculated.value >70){
	//alert("Age Should be between 0 to 70 Years ");
	dob.focus();
	dob.select();
	return false;
	}	
	}

	if(insureType.value == "JointLife"){
	if(ageCalculated.value == ""){
	//alert("Age Should be between 18 to 65 Years");
	dob.focus();
	dob.select();
	return false;
	}
	if(ageCalculated.value < 18){
	//alert("Age Should be between 18 to 65 Years");
	dob.focus();
	dob.select();
	return false;
	}
	if(ageCalculated.value >65){
	//alert("Age Should be between 18 to 65 Years");
	dob.focus();
	dob.select();
	return false;
	}
	}

	if(insureType.value == "Children"){
	if(ageCalculated.value == ""){
	//alert("Age Should be between 18 to 65 Years");
	dob.focus();
	dob.select();
	return false;
	}
	if(ageCalculated.value < 18){
	//alert("Age Should be between 18 to 65 Years");
	dob.focus();
	dob.select();
	return false;
	}
	if(ageCalculated.value >65){
	//alert("Age Should be between 18 to 65 Years");
	dob.focus();
	dob.select();
	return false;
	}
	}

	if(insureType.value == "JointLife"){
	if((spouseDobVal.value)==""){
	alert("Please Enter Date of Birth(dd/MM/yyyy)");
	spouseDobVal.focus();
	spouseDobVal.select();
	return false;	
	}

	if(spouseDobVal.value.length > 10){
	alert('Please Enter Valid Date of Birth(dd/MM/yyyy)');
	spouseDobVal.focus();
	spouseDobVal.select();
	return false;	
	}

	if(isDate(spouseDobVal.value)==false){
	alert('Please Enter Valid Date of Birth(dd/MM/yyyy)');
	spouseDobVal.focus();
	spouseDobVal.select();
	return false;
	}

	if(!isLessThenCurrentDate(spouseDobVal.value)==true){
	alert('Date of Birth should be less than current date');
	spouseDobVal.focus();
	spouseDobVal.select();
	return false;
	}
	if((spouseAge.value < 18 || spouseAge.value >65) ){
	//alert("Age Should be between 18 to 65 Years");
	spouseDobVal.focus();
	spouseDobVal.select();
	return false;
	}
	}

	if(insureType.value == "Children"){
	if((childDobVal.value)==""){
	alert("Please Enter Date of Birth(dd/MM/yyyy)");
	childDobVal.focus();
	childDobVal.select();
	return false;	
	}

	if(childDobVal.value.length > 10){
	alert('Please Enter Valid Date of Birth(dd/MM/yyyy)');
	childDobVal.focus();
	childDobVal.select();
	return false;	
	}

	if(isDate(childDobVal.value)==false){
	alert('Please Enter Valid Date of Birth(dd/MM/yyyy)');
	childDobVal.focus();
	childDobVal.select();
	return false;
	}

	if(!isLessThenCurrentDate(childDobVal.value)==true){
	alert('Date of Birth should be less than current date');
	childDobVal.focus();
	childDobVal.select();
	return false;
	}
	if((childAge.value < 0 || childAge.value >17) ){
	//alert("Age Should be between 0 to 17 Years");
	childDobVal.focus();
	childDobVal.select();
	return false;
	}
	}

	if((genderM.checked == false) && (genderF.checked == false) ){
	alert('Please select Gender');	
	return false;	
	}

	if(lifeCover.value=="select"){
	alert("Please select Life Cover");
	return false;	
	} 

	if(payMode.value=="select"){
	alert("Please select Mode of Payment");
	return false;	
	} 
	
	if(planType.value=="LimitedPayment"){
	if(policyTerm.value=="0"){
	alert("Please select Policy Term");
	return false;	
	} 

	if(premiumTerm.value=="0"){
	alert("Please select Premium Term");
	return false;	
	} 
	}

	if(planBasedOn.value=="select"){
	alert("Please select plan Based On");
	return false;	
	}

	if(planBasedOn.value=="Premium"){
	if(premiumVal.value == null | premiumVal.value ==""){
	alert('Please enter Investment Amount');
	premiumVal.focus();
	premiumVal.select();
	return false;
	}
	if(premiumVal.value.length <= 3 ){
	alert('Investment amount should be minimum 4 digits');
	premiumVal.focus();
	premiumVal.select();
	return false;
	}
	if(payMode.value == 'Single' ){
	if(premiumVal.value < 20000){
	alert('Investment amount for Single mode should not be less than Rs.20000/-');
	premiumVal.focus();
	premiumVal.select();
	return false;
	}
	}
	if(payMode.value == 'Y' ){
	if(premiumVal.value < 10000){
	alert('Investment amount for Yearly mode should not be less than Rs.10000/-');
	premiumVal.focus();
	premiumVal.select();
	return false;
	}
	}
	if(payMode.value == 'H' ){
	if(premiumVal.value < 5000){
	alert('Investment amount for Half-Yearly mode should not be less than Rs.5000/-');
	premiumVal.focus();
	premiumVal.select();
	return false;
	}
	}
	if(payMode.value == 'Q' ){
	if(premiumVal.value < 2500){
	alert('Investment amount for Quarterly mode should not be less than Rs.2500/-');
	premiumVal.focus();
	premiumVal.select();
	return false;
	}
	}
	if(payMode.value == 'M' ){
	if(premiumVal.value < 1000){
	alert('Investment amount for Montly mode should not be less than Rs.1000/-');
	premiumVal.focus();
	premiumVal.select();
	return false;
	}
	}
	if(premiumVal.value.length > 8){
	alert('Investment amount should be less than 9 digits');
	premiumVal.focus();
	premiumVal.select();
	return false;
	}		
	if(isIntegers(premiumVal.value)==false){
	alert('Please enter valid Investment Amount');
	premiumVal.focus();
	premiumVal.select();
	return false;
	}
	//alert('multiFactor.value --> '+multiFactorVal.value);
	if(multiFactorVal.value == "0"){
	alert("Please select Multiple Factor");
	return false;
	}

	if(multiFactorVal.value == ""){
	alert("Please select Multiple Factor");
	return false;
	}

	if(multiFactorVal.value == "select"){
	alert("Please select Multiple Factor");
	return false;
	}
	
	if(covPremium == ""){
	alert('Coverage should not be empty');
	covPremium.focus();
	covPremium.select();
	return false;
	}
	}

	if(planBasedOn.value=="Coverage"){
	if(covCoverage.value == null | covCoverage.value ==""){
	alert('Please enter Coverage Amount');
	covCoverage.focus();
	covCoverage.select();
	return false;
	}
	if(covCoverage.value.length <= 3 ){
	alert('Coverage amount should be minimum 4 digits');
	covCoverage.focus();
	covCoverage.select();
	return false;
	}
	if(covCoverage.value.length > 9){
	alert('Coverage amount should be less than 10 digits');
	covCoverage.focus();
	covCoverage.select();
	return false;
	}		
	if(isIntegers(covCoverage.value)==false){
	alert('Please enter valid Coverage Amount');
	covCoverage.focus();
	covCoverage.select();
	return false;
	}
	}


	if((InvType1.checked == false) && (InvType2.checked == false) ){
		alert('Please select allocation type');	
		return false;	
	}
	


	if((InvType1.checked == true)){
		if(bondVal.value=="select"){
		alert("Please select Bond Fund");
		return false;	
		} 

		if(balancedVal.value=="select"){
		alert("Please select Balanced Fund");
		return false;	
		} 

		if(equityVal.value=="select"){
		alert("Please select Equity Fund");
		return false;	
		} 

		if(growthVal.value=="select"){
		alert("Please select Growth Fund");
		return false;	
		}
		
		sumVal=parseInt(bondVal.value)+parseInt(balancedVal.value)+parseInt(equityVal.value)+parseInt(growthVal.value);
		
		if(sumVal !=100){
		alert('Sum of Funds value should be 100%');
		return false;
		}
	}

	/*
	alert("Premium Term "+premiumTerm.value+"Policy Term "+policyTerm.value);
	alert("Premium Value "+premiumVal.value);
	alert("Bond Val "+bondVal.value);
	alert("balanced Val "+balancedVal.value);
	alert("equity Val "+equityVal.value);
	alert("growth Val "+growthVal.value);*/

if(insureType.value == "Individual"){
	if(parseInt(policyTerm.value) < 20){
		if((parseInt(premiumTerm.value) < parseInt(policyTerm.value))){
			if(premiumVal.value < 24000){
				if(multiFactorVal.value > 20){
				alert("Please Select Muliple Factor Value below 20");
				}
			}
		}
	}
	
	/**
	if((parseInt(premiumTerm.value) < parseInt(policyTerm.value)) && (premiumVal.value < 300000)) {
		if((bondVal.value != 100) && (balancedVal.value != 100) && (equityVal.value != 100) && (growthVal.value != 100)){
			alert("Please Invest in a Single Fund for this particular search criteria");
			return false;
		}
	  }
	  ***/

	}

	
	return true;
}


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;
}


function refineSearch(){
	var maxSecond=1500;
	var time = new Date(commonServerDate.getFullYear(), commonServerDate.getMonth(), commonServerDate.getDate());
	var startTime=time.getTime();
	//alert("startTime"+startTime);

	document.getElementById("indicatorRegion").style.display = "block";

	var displayXml =document.getElementById("srx").value;
	var xml;
	
	if(window.ActiveXObject){
	  xml=new ActiveXObject("Microsoft.XMLDOM");
	  xml.async="false";
	  xml.loadXML(displayXml);
	  }else {
	  var parser=new DOMParser();
	  xml=parser.parseFromString(displayXml,"text/xml");
	  }// documentElement always represents the root node
	
  try{
	var noOfPolicy=xml.getElementsByTagName('Plans').length;
	//alert('noOfPolicy'+noOfPolicy);
	var noOfCols=noOfPolicy;
	
	for(i=0;i<noOfPolicy;i++){		

		try{
			var testCompId=xml.getElementsByTagName("Plans")[i].childNodes[1].childNodes[0].nodeValue;
		//alert(testPreVal);
		//alert(testSumval);
		//alert(testCompId);
		}catch(e){alert("inside try; "+e.description );}

		var testcompVal="false";
		//alert(' selectedCompanies --> '+selectedCompanies);
		if(selectedCompanies=="all" || selectedCompanies==""){
			testcompVal="true"; 
		}else{
			if(selectedCompanies.indexOf(testCompId+",") != -1){
				//alert('testCompId'+testCompId);
				testcompVal="true";
			}
		}
		//alert(testCompId+"   "+testcompVal);
		if(testcompVal=="false" ){
			xml.getElementsByTagName("Plans")[i].childNodes[13].childNodes[0].nodeValue=0;	
			noOfCols--;
			//alert(" noOfCols: "+noOfCols);
		}
	}
	
//alert("noOfPolicy: "+noOfPolicy+" noOfCols: "+noOfCols);

//display part
	var xsltfile=document.getElementById("xsltfilename").value+".xsl";
    //alert('xml');
	//alert('xsltfile --> '+xsltfile);
	xsl=loadXMLDoc(xsltfile);
	document.getElementById("reccount").innerHTML=""+noOfCols+'/'+noOfPolicy;
// code for IE
	if (window.ActiveXObject)
  {
  ex=xml.transformNode(xsl);
  //alert('ex'+ex);
  var time1 = new Date(commonServerDate.getFullYear(), commonServerDate.getMonth(), commonServerDate.getDate());
	var endTime=time1.getTime();
	//alert("endTime"+endTime);

	var finalTime=endTime-startTime;
	
	if(finalTime < maxSecond){
		var setTime=maxSecond-finalTime;
		setTimeout(function(){document.getElementById("ulipId").innerHTML=ex;checkEmpty();
		document.getElementById("indicatorRegion").style.display = "none";}, setTime);
	}else{
		document.getElementById("ulipId").innerHTML=ex;
		checkEmpty();
		document.getElementById("indicatorRegion").style.display = "none";
	}
  
  }
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
  {
  
	var time1 =new Date(commonServerDate.getFullYear(), commonServerDate.getMonth(), commonServerDate.getDate());
	var endTime=time1.getTime();
	//alert("endTime"+endTime);

	var finalTime=endTime-startTime;
	
	if(finalTime < maxSecond){
		var setTime=maxSecond-finalTime;
		setTimeout(function(){
		xsltProcessor=new XSLTProcessor();
		xsltProcessor.importStylesheet(xsl);
		resultDocument = xsltProcessor.transformToFragment(xml,document);
		var y = document.getElementById('ulipId'), child;
		while(child=y.firstChild)
		y.removeChild(child);
		document.getElementById("ulipId").appendChild(resultDocument);checkEmpty();
		document.getElementById("indicatorRegion").style.display = "none";}, setTime);
	}else{
		xsltProcessor=new XSLTProcessor();
		xsltProcessor.importStylesheet(xsl);
		resultDocument = xsltProcessor.transformToFragment(xml,document);
		var y = document.getElementById('ulipId'), child;
  	 	while(child=y.firstChild)
    	y.removeChild(child);
  		document.getElementById("ulipId").appendChild(resultDocument);
		checkEmpty();
		document.getElementById("indicatorRegion").style.display = "none";
	}
	
  }

//document.getElementById("displayTable").style.width="300px";

	//alert("Number of optionlist elements: " + optionlist.length);
	}catch(e){alert('Exception :: '+e.description );}
	
}


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;
	}
	