var nameval ="";
var age =0;
var retireage =0;
var saving =0;
var PPF =0;
var sharesval =0;
var mutualsval =0;
var homeloans=0;
var personalloans=0;
var autoloans=0;
var eduloans=0;
var annualincomes=0;
var houserenst=0;
var otherinflows=0;
var liabilitys=0;
var asset=0;
var exsumassureds=0;

function validate()
{
 nameval =document.getElementById("yourname");
 age =document.getElementById("yourage");
 retireage =document.getElementById("retage");
 saving =document.getElementById("saving");
 PPF =document.getElementById("PPF");
 sharesval =document.getElementById("shares");
 mutualsval =document.getElementById("mutuals");
 homeloans=document.getElementById("homeloan");
 personalloans=document.getElementById("personalloan");
 autoloans=document.getElementById("autoloan");
 eduloans=document.getElementById("eduloan");
 annualincomes=document.getElementById("annualincome");
 houserents=document.getElementById("houserent");
 otherinflows=document.getElementById("inflows");

//  Name Validation
if(trim(nameval.value).length == 0){
	 	alert('Enter your name');
		nameval.focus();
		nameval.select();
		return false;
	}

	if(isAlphabetic(trim(nameval.value))==false){
		alert('Name should be in alphabets');
		nameval.focus();
		nameval.select();
		return false;
	}else if(trim(nameval.value).length > 50){
		alert('First Name cannot be greater than 50 characters');
		nameval.focus();
		nameval.select();
		return false;
	}


	if(isAlphabetic(trim(nameval.value))==false){
		alert('First Name should be in alphabets');
		nameval.focus();
		nameval.select();
		return false;
	}else if(trim(nameval.value).length > 50){
		alert('First Name cannot be greater than 50 characters');
		nameval.focus();
		nameval.select();
		return false;
	}

//Age Validation

if(isEmpty(age.value)==true)
		{
			alert('Please enter your Age');
			age.focus();
			return false;
	   	}


if((age.value.length > 0))
{
		if(isInteger(age.value) == false){
    	alert("Please enter valid Age in Number");
		age.focus();
		age.select();
		return false;
		} 
	
	    if(age.value < 18){
		alert("Age Should be between 18 to 60 years");
		age.select();
		age.focus();
		return false;
		}
		 if(age.value > 60){
		alert("Age Should be between 18 to 60 years");
		age.select();
		age.focus();
		return false;
		}
	  
}	


// Retire age Validation 

if(isEmpty(retireage.value)==true)
		{
			alert('Please enter your Retirement Age');
			retireage.focus();
			return false;
	   	}



		if((retireage.value.length > 0))
	{
		if(isInteger(retireage.value) == false){
    	alert("Please enter valid Retirement Age in Number");
		retireage.focus();
		retireage.select();
		return false;
		}
	    if(retireage.value < 45){
		alert('Retirement Age Should be between 45 to 60 years');
		retireage.select();
		retireage.focus();
		return false;
		}
		if(retireage.value >60){
		alert('Retirement Age Should be between 45 to 60 years');
		retireage.select();
		retireage.focus();
		return false;
		}
		if(age.value >= retireage.value)
		{
		alert('Retirement Age should be greater than Your present Age');
		retireage.select();
		retireage.focus();
		return false;
		}
	  
	}	






//Saving Amount validation


/*	if(isEmpty(saving.value)==true)
			{
				alert('Please enter your Saving /Bank Deposit Amount');
				saving.focus();
				return false;
			}

*/

	if(isEmpty(saving.value)==true)
	{
	
	saving.value=0;			
	
	}



	

	if((saving.value.length > 0))
	{
			if(isInteger(saving.value) == false){
			alert("Please enter valid Saving/Bank Deposit Amount");
			saving.focus();
			saving.select();
			return false;
			} 
	}



//PPF Amount validation


	if(isEmpty(PPF.value)==true)
			{
			PPF.value=0;
			}



	if((PPF.value.length > 0))
	{
			if(isInteger(PPF.value) == false){
			alert("Please enter valid PF/PPF Amount");
			PPF.focus();
			PPF.select();
			return false;
			} 
	}


//shares  amount validation


	if(isEmpty(sharesval.value)==true)
			{
			sharesval.value=0;
			}



	if((sharesval.value.length > 0))
	{
			if(isInteger(sharesval.value) == false){
			alert("Please enter valid Shares/Others Amount");
			sharesval.focus();
			sharesval.select();
			return false;
			} 
	}


//mutual amount validation


	if(isEmpty(mutualsval.value)==true)
			{
				mutualsval.value=0;
			}



	if((mutualsval.value.length > 0))
	{
			if(isInteger(mutualsval.value) == false){
			alert("Please enter valid Mutual Funds/Others Amount");
			mutualsval.focus();
			mutualsval.select();
			return false;
			} 
	}



//Homeloan validation


	if(isEmpty(homeloans.value)==true)
			{

			homeloans.value=0;
			
			}



	if((homeloans.value.length > 0))
	{
			if(isInteger(homeloans.value) == false){
			alert("Please enter valid Home Loan Amount");
			homeloans.focus();
			homeloans.select();
			return false;
			} 
	}


//Personalloan loan validation


	if(isEmpty(personalloans.value)==true)
			{
			
			personalloans.value=0;	
			
			}



	if((personalloans.value.length > 0))
	{
			if(isInteger(personalloans.value) == false){
			alert("Please enter valid Personal Loan Amount");
			personalloans.focus();
			personalloans.select();
			return false;
			} 
	}



//Auto loan validation


	if(isEmpty(autoloans.value)==true)
			{
			autoloans.value=0;
	
			}



	if((autoloans.value.length > 0))
	{
			if(isInteger(autoloans.value) == false){
			alert("Please enter valid Auto Loan Amount");
			autoloans.focus();
			autoloans.select();
			return false;
			} 
	}





//Educational loan validation


	if(isEmpty(eduloans.value)==true)
			{
			
			eduloans.value=0;
			
			}



	if((eduloans.value.length > 0))
	{
			if(isInteger(eduloans.value) == false){
			alert("Please enter valid Educational Loan Amount");
			eduloans.focus();
			eduloans.select();
			return false;
			} 
	}


//Annual Income validation


	if(isEmpty(annualincomes.value)==true)
			{
				annualincomes.value=0;
			}



	if((annualincomes.value.length > 0))
	{
			if(isInteger(annualincomes.value) == false){
			alert("Please enter valid Annual Income Amount");
			annualincomes.focus();
			annualincomes.select();
			return false;
			} 
	}


//House Rent validation


	if(isEmpty(houserents.value)==true)
			{

			houserents.value=0;

			}



	if((houserents.value.length > 0))
	{
			if(isInteger(houserents.value) == false){
			alert("Please enter valid House Rent Amount");
			houserents.focus();
			houserents.select();
			return false;
			} 
	}

//Other Inflows validation


	if(isEmpty(otherinflows.value)==true)
			{

			otherinflows.value=0;

			}



	if((otherinflows.value.length > 0))
	{
			if(isInteger(otherinflows.value) == false){
			alert("Please enter valid Other Inflows Amount");
			otherinflows.focus();
			otherinflows.select();
			return false;
			} 
	}




scroll(0,0);
on('step2');off('step1')
Addionalsumassured();
}

//Asset Calculation

function assetcalculation()
{
	var saving=document.getElementById("saving").value;
	var ppf=document.getElementById("PPF").value;
	var shares=document.getElementById("shares").value;
	var mutual=document.getElementById("mutuals").value;
	
 

	 if(saving.length==0){
		saving=0;
	 }
	 if(ppf.length==0){
		ppf=0;
	 }
	 if(shares.length==0){
shares=0;
	 }
	 if(mutual.length==0){
mutual=0;
	 }
	asset=parseInt(saving)+parseInt(ppf)+parseInt(shares)+parseInt(mutual);
	assetcal.innerHTML = asset; 
}

//Liability Calculation

function liabilitycalculation()
{
	var homeloans=document.getElementById("homeloan").value;
	var personalloans=document.getElementById("personalloan").value;
	var autoloans=document.getElementById("autoloan").value;
	var eduloans=document.getElementById("eduloan").value;
	
 

	 if(homeloans.length==0){
		homeloans=0;
	 }
	 if(personalloans.length==0){
		personalloans=0;
	 }
	 if(autoloans.length==0){
		autoloans=0;
	 }
	 if(eduloans.length==0){
		eduloans=0;
	 }
	liabilitys=parseInt(homeloans)+parseInt(personalloans)+parseInt(autoloans)+parseInt(eduloans);
	liabilitycal.innerHTML = liabilitys; 
}


//Net worth Calculation

function networthcalculation()
{

 var networth=0;
 networth=parseInt(asset)-parseInt(liabilitys);
 networthcal.innerHTML=parseInt(networth);

}


//Cash Inflow Calculation
	var cashinflow=0;
function cashinflowcalculation()
{
	var annualincome=document.getElementById("annualincome").value;
	var houserent=document.getElementById("houserent").value;
	var inflows=document.getElementById("inflows").value;

	 if(annualincome.length==0){
		annualincome=0;
	 }
	 if(houserent.length==0){
		houserent=0;
	 }
	 if(inflows.length==0){
		inflows=0;
	 }
	 if(eduloans.length==0){
		eduloans=0;
	 }
	cashinflow=parseInt(annualincome)+parseInt(houserent)+parseInt(inflows);
	cashinflows.innerHTML = cashinflow; 
}



// Additional Sum Assured Required
var cpro=0;
function Addionalsumassured()
{

document.getElementById('resultid1').style.display="none";
document.getElementById('result12').style.display="none";
document.getElementById('resultid2').style.display="none";
document.getElementById('result123').style.display="none";

 Acashinflows.innerHTML = cashinflow; 
 totliability.innerHTML = liabilitys; 
 totassets.innerHTML = asset; 

  
var insincome=document.getElementById("increaseincome").value;

var income=parseInt(insincome)/100;



if(parseInt(insincome) < 8)
	{
cpro=Math.round((((Math.pow(((1+income)/1.08),25))-1)/(((1+income)/1.08)-1))*cashinflow,0);
	}
 else
	{

	var CII=parseInt(retireage.value)-parseInt(age.value);
     cpro =Math.round(CII*cashinflow);
	}

 cpros.innerHTML = cpro; 




}

var exsumassure="";

function AddisumFinal()
{

 exsumassure=document.getElementById("exsumassured").value;
//exsumassureds=document.getElementById("exsumassured");

//Existing Sum Insured

	if(isEmpty(exsumassure)==true)
			{

			exsumassure=0;

			}

	if((exsumassure.length > 0))
	{        
			if(isInteger(exsumassure) == false){
			alert("Please enter valid Life insurance that you already have today ");
			document.getElementById("exsumassured").focus();
			document.getElementById("exsumassured").select();
			return false;
			} 
	}
	
var Addisumassure=Math.round(cpro+liabilitys-asset-exsumassure);

nameid.innerHTML=nameval.value;
//addisumassured.innerHTML= Addisumassure;
totsumassuredreq.innerHTML=Addisumassure;
 var qqqqq=parseInt(Addisumassure);



if(qqqqq >=0)
	{

document.getElementById('resultid1').style.display="";
document.getElementById('result12').style.display="";
document.getElementById('resultid2').style.display="none";
document.getElementById('result123').style.display="none";

nameid.innerHTML=nameval.value;
//addisumassured.innerHTML= Addisumassure;
totsumassuredreq.innerHTML=Addisumassure;

	}
else
	{

document.getElementById('resultid2').style.display="";
document.getElementById('result123').style.display="";
document.getElementById('resultid1').style.display="none";
document.getElementById('result12').style.display="none";
nameid1.innerHTML=nameval.value;
//addisumassured.innerHTML= Addisumassure;
//totsumassuredreq1.innerHTML=Addisumassure;	
	}

document.getElementById('coverageprot').value=Addisumassure;
}

//Empty Text validation

function isEmpty(s){ 
	return ((s == null) || (s.length == 0))
}
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)
}


// Number Validation

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)
}

//******Regular expression starts here****//
//VALIDATION FOR CHECK NAMES

var reAlphabetic	= /^[a-zA-Z]+$/
var nameExpression	= /^[a-zA-Z''. ]+$/
var defaultEmptyOK	= false;

function isAlphabetic(s){  
	var i;
    if (isEmpty(s)) 
       if (isAlphabetic.arguments.length == 1) return defaultEmptyOK;
       else return (isAlphabetic.arguments[1] == true);
    else {
       return nameExpression.test(s)
    }
}


