//**************************************************************************************
//
//  Javascript functions globally supporting Ballpark Savings Estimator
//
//**************************************************************************************
var cWin;
var FBwin;


try{
	sessvars.testvar="100";

}
catch(err){
	window.location="Ballpark_2_2_frame/bpframe.htm";
}


function isNumber(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}

function SetFocus(name){
	if(!errfocusset){
		try{
			document.getElementById(name).focus();
			//eval("document.getElementById(" + name + ").focus()");
		}
		catch(err){
			//alert("Check " + name);
		}
		errfocusset=true;
	}
}

function validate(evt) {
  var theEvent = evt || window.event;
  var key = theEvent.keyCode || theEvent.which;
  //alert(key);
  if(key==8 || key==9 || key==13){return;}
  key = String.fromCharCode( key );
  
  var regex = /[0-9]|\./;
  //var regex=^[-+]?\d*\.?\d*$;
  if( !regex.test(key) ) {
    theEvent.returnValue = false;
    //theEvent.preventDefault();
    if (theEvent.preventDefault) theEvent.preventDefault();
  }
}

function filterks(code){
	var rc;
	var aname=navigator.appName;
	//alert(aname);
	if(aname.indexOf("Microsoft")<0){validate();}
	rc=0;
	if(code>44 && code<58){rc=code;}
	if(code==13){rc=code;}
	return rc;
}

function FlipEdited(n){
	//tracks which TSP contribution field the user last edited, default is percentage
	document.getElementById("tspedited").value=n;
}

function roundNumber(num, dec) {
	var result = Math.round( Math.round( num * Math.pow( 10, dec + 1 ) ) / Math.pow( 10, 1 ) ) / Math.pow(10,dec);
	return result;
}

/*
function truncateFloatReturnAsString(value,decimalplaces){
	var v;
	var vs;
	var i;
	v=parseFloat(value);
	vs=String(v);
	i=vs.indexOf(".");
	if(i>-1){
		vs=vs.substring(0,i+decimalplaces+1);		
	}
	
	
	return vs;
}*/

function truncateFloatReturnAsString(value,decimalplaces){
	var v;
	var vs;
	var vi;
	var vx;
	var mm;
	var i;
	mm=Math.pow(10,parseFloat(decimalplaces));

	v=parseFloat(value);

	vx=v*mm;
	vi=Math.floor(vx);
	if((vx-vi)<.5){
	}
	else{
		vi++;
	}
	vi/=mm;
	vs=String(vi);
	i=vs.indexOf(".");
	if(i>-1){
		vs=vs.substring(0,i+decimalplaces+1);
	}


	return vs;
}

function truncateFloatReturnAsDollars(value){
	var vf;
	var f;
	var s;
	var i;
	var j;
	var st;
	var sr;
	f=parseFloat(value);
	vf=Math.floor(f);
	if((f-vf)<.5){
	}
	else{
		vf++;
	}
	s=String(vf);
	i=s.indexOf(".");
	if(i>-1){
		st=s.substring(0,i-1);
	}
	else{
		st=s;
	}
	if(s=="" || s=="0"){
		return "0";
	}
	sr="";
	if(st.length>3){
		i=st.length-1;
		j=1;
		while(i>-1){
			if(j>3){
				sr="," + sr;
				j=1;
			}
			sr=st.charAt(i) + sr;
			i--;
			j++;
		}
	}
	else{
		return st;
	}
	return sr;
}

function IsIE(){
	var s;
	s=navigator.appName;
	if(s.indexOf("Explorer")>-1){
		return true;
	}
}


function SetupSession(force){
	var s=sessvars.DOB;
	
	if(!s || force==1){
		sessvars.VersionInfo="Ballpark version 2.2_sv, 04/15/2011";
		sessvars.DOB="0";
		sessvars.RetirementAge="0";
		sessvars.DeathAge="0";
		sessvars.Gender="na";
		sessvars.MaritalStatus="0";
		sessvars.CType="0";
		sessvars.CSRSYears="0";
		sessvars.FullCSRS="0";
		sessvars.SCD="0";
		sessvars.CurAge="0";
		sessvars.CurWage="0";
		sessvars.RepRate="0.7";
		sessvars.YIR="10";
		sessvars.InflationRate=".030";
		sessvars.WageGrowth=".0375";
		sessvars.RoRPrior=".0575";
		sessvars.RoRAfter=".0575";
		sessvars.PartTime="0";
		sessvars.PartTimeDuration="0";
		sessvars.TSPBalance="0";
		sessvars.TSPAnnual="0";
		sessvars.NonTSPToDate="0";
		sessvars.SSBenefit="0";
		sessvars.SSBenefitFutureDollars="0";
		sessvars.EmployeeToTSP="0";
		sessvars.EmployeeToTSPDollar="0";
		sessvars.GovtToTSP="0";
		sessvars.PercentToTSP="0";
		sessvars.YearsOfService="0";
		sessvars.CSRSOffset="0";
		sessvars.db="0";
		sessvars.RetirementDate="0";
		sessvars.YIRBlank="0";		
		sessvars.oh15="0";
		sessvars.oh16a="0";
		sessvars.oh16b="0";
		sessvars.oh16c="0";
		sessvars.oh16d="0";
		sessvars.oh16e="0";
		sessvars.oh17a="0";
		sessvars.oh17b="0";
		sessvars.oh18="0";
		sessvars.oh19="6";
		sessvars.we20="0";
		sessvars.we20a="0";
		sessvars.we21="0";
		sessvars.we22="0";
		sessvars.we23="0";
		sessvars.we24="0";
		sessvars.we25="0";
		sessvars.we26="0";
		sessvars.we27="0";
		sessvars.we28="0";
		sessvars.we29="0";
		sessvars.we30="0";
		sessvars.we31="0";
		sessvars.we32="0";
		sessvars.we33="0";
		sessvars.we34="0";
		sessvars.we35="0";
		sessvars.we36="0";
		sessvars.we37="0";
		sessvars.we38="0";
		sessvars.we39="0";
		sessvars.we40="0";
		sessvars.we41="0";
		sessvars.we42="0";
		sessvars.pctTRR="0";		
		sessvars.SCDErrIgnore="0";
		sessvars.TSPContribMax="16500";
		sessvars.TSPCUMax="5500";
		sessvars.TSPCatchup="0";
		sessvars.CalcErr="0";
		sessvars.EntryFromRRS="0";
		sessvars.RRSEntryPoint="0";
		sessvars.RRSExitPoint="0";
		sessvars.SavAnnual="0";
		sessvars.SavBP="0";
		sessvars.AANonTSP="0";
		sessvars.TSPCurrentAnnuity=".03375";
	}
}

function DoPopupWindow(popupurl,width,height){
	if(cWin){cWin.close();}
	cWin=window.open(popupurl,"","width="+width+",height="+height+",left=180,top=110,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes");
}

function ValidateDateFormat(mm,dd,yy){
	var m=0;
	var d=0;
	var y=0;
	var errs;
	var errarr=new Array();
	var errstr;
	var gy;
	var gyi;
	var lyh;
	var i;
	
	
	m=parseFloat(mm);
	d=parseFloat(dd);
	y=parseFloat(yy);
	errs=0;
	if(m<1 || m>12){
		errs++;
		errarr.push("Month cannot be less than 01 or greater than 12.");
	}
	if(y<1920){
		errs++;
		errarr.push("Year cannot be earlier than 1920.");
	}
	if(d<1){
		errs++;
		errarr.push("Day must be greater than or equal to 01.");
	}
	
	if(m==2){
		gy=2000;
		lyh=false;
		if(gy>y){
			while(gy>y){
				if(gy==y){lyh=true;}
				gy-=4;
			}
		}
		else{
			while(gy<y){
				if(gy==y){lyh=true;}
				gy+=4;
			}
		}
		if(lyh){
			if(d>29){
				errs++;
				errarr.push("Day cannot be greater than 29 in February on a leap year.");
			}
		}
		else{
			if(d>28){
				errs++;
				errarr.push("Day cannot be greater than 28 in February on a non-leap year.");
			}
		}
	}
	else if(m==4 || m==6 || m==9 || m== 11){
		//30 days
		if(d>30){
			errs++;
			errarr.push("Day cannot be greater than 30 in this month.");
		}
	}
	else{
		//31 days
		if(d>31){
			errs++;
			errarr.push("Day cannot be greater than 31 in this month.");
		}
	}
	errstr="";
	if(errs>0){
		i=0;
		while(i<errarr.length-1){
			errstr+=errarr[i] + "|";
			i++;
		}
		errstr+=errarr[i];
		
	}
	return errstr;	
}

function ReturnDateString(month,day,year){
	var m;
	var d;
	var y;
	var ms="";
	var ds="";
	var ys="";
	var s="";
	m=parseFloat(month);
	d=parseFloat(day);
	y=parseFloat(year);
	if(m<10){
		ms="0" + String(m);
	}
	else{
		ms=String(m);
	}
	if(d<10){
		ds="0" + String(d);
	}
	else{
		ds=String(d);
	}
	ys=String(y);
	s=ms + "/" + ds + "/" + ys;
	return s;
}

function IsDateString1LaterThanDateString2(date1,date2){
	var m1;
	var d1;
	var y1;
	var m2;
	var d2;
	var y2;
	//alert(date1 + "   " + date2);
	m1=date1.substring(0,2);
	d1=date1.substring(3,5);
	y1=parseInt(date1.substring(6,10));

	m2=date2.substring(0,2);
	d2=date2.substring(3,5);
	y2=parseInt(date2.substring(6,10));
	m1=parseFloat(m1);
	m2=parseFloat(m2);
	d1=parseFloat(d1);
	d2=parseFloat(d2);
	if(y1>y2){return true;}
	if(y1<y2){return false;}
	//y1==y2
	
	if(m1>m2){return true;}
	if(m1<m2){return false;}
	//m1==m2
	if(d1>d2){return true;}
	return false;
}

function SubtractDateStringsReturnYears(subtrahend,subtracted){
	var m1;
	var d1;
	var y1;
	var m2;
	var d2;
	var y2;
	var dy;

	m1=parseFloat(subtrahend.substring(0,2));
	d1=parseFloat(subtrahend.substring(3,5));
	y1=parseFloat(subtrahend.substring(6,10));

	m2=parseFloat(subtracted.substring(0,2));
	d2=parseFloat(subtracted.substring(3,5));
	y2=parseFloat(subtracted.substring(6,10));

	if(IsDateString1LaterThanDateString2(subtracted,subtrahend)){
		dy=SubtractDateStringsReturnYears(subtracted,subtrahend);
		return -dy;
	}

	dy=y1-y2;
	if(m2>m1){dy--;}
	else if(m1==m2){
		if(d2>d1){dy--;}
	}
	return dy;
}

function SubtractDateStringsReturnMonths(subtrahend,subtracted){
	var m1;
	var d1;
	var y1;
	var m2;
	var d2;
	var y2;
	var ydev;
	var m;
	var dm;
	var dy;

	dm=0;
	m1=parseFloat(subtrahend.substring(0,2));
	d1=parseFloat(subtrahend.substring(3,5));
	y1=parseFloat(subtrahend.substring(6,10));

	m2=parseFloat(subtracted.substring(0,2));
	d2=parseFloat(subtracted.substring(3,5));
	y2=parseFloat(subtracted.substring(6,10));

	if(IsDateString1LaterThanDateString2(subtracted,subtrahend)){
		m=SubtractDataStringsReturnMonths(subtracted,subtrahend);
		return -m;
	}

	dy=SubtractDateStringsReturnYears(subtrahend,subtracted);
	if(m1>=m2){
		dm=m1-m2;
	}
	else{
		dm=m1+12-m2;
	}
	if(d2>d1){dm--;}

	y=(dy*12)+dm;
	return y;
}

function GetTodayDateString(){
	var d;
	var dd;
	var mm;
	var yy;
	var ds="";
	var ms="";
	var ys="";
	var ss="";

	d=new Date();
	dd=d.getDate();
	mm=d.getMonth();
	yy=d.getFullYear();
	mm++;
	if(dd<10){
		ds="0" + String(dd);
	}
	else{
		ds=String(dd);
	}
	if(mm<10){
		ms="0" + String(mm);
	}
	else{
		ms=String(mm);
	}
	ys=String(yy);
	ss=ms + "/" + ds + "/" + ys;
	return ss;

}

function AddYearsToDateString(datestring,yearstoadd){
	var m;
	var d;
	var y;
	m=parseFloat(datestring.substring(0,2));
	d=parseFloat(datestring.substring(3,5));
	y=parseFloat(datestring.substring(6,10));
	
	y+=yearstoadd;
	return ReturnDateString(m,d,y);
}

function DateStringGetYear(datestring){
	var y;
	y=parseFloat(datestring.substring(6,10));
	return y;
}

function DateStringGetMonth(datestring){
	var m;
	m=parseFloat(datestring.substring(0,2));
	return m;
}

function DateStringGetDay(datestring){
	var m;
	m=parseFloat(datestring.substring(3,5));
	return m;
}

function DisplayPopup(Popup_Feedback)
{
  FBwin=window.open("","Feedback1","width=400,height=400,left=180,top=110,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes");

  if (FBwin != null)
  {
    if (FBwin.opener == null)
      FBwin.opener = window;

    FBwin.document.write("<HTML>\n<HEAD><TITLE>Error Warning\n");
    FBwin.document.write(" &nbsp; &nbsp; &nbsp; </TITLE></HEAD>\n");
    FBwin.document.write("<BODY BACKGROUND='../images/pop_up.jpg' BGCOLOR='WHITE' LEFTMARGIN='0' RIGHTMARGIN='0' TOPMARGIN='0' BOTTOMMARGIN='0'>\n");
    FBwin.document.write("<TABLE WIDTH='100%' CELLSPACING=4 CELLPADDING=0><TR><TD ALIGN='CENTER'>\n");
    FBwin.document.write("<FONT STYLE='font-family: Arial, Helvetica, sans-serif; color: White; font-style: normal; font-size: 18px;'><STRONG>\n");
    FBwin.document.write("Errors on Page");
    FBwin.document.write("</STRONG></FONT>\n");
    FBwin.document.write("</TD></TR></TABLE>\n");
    FBwin.document.write("<P>\n");
    FBwin.document.write("<FONT STYLE='font-family: Arial, Helvetica, sans-serif; color: Black; font-style: normal; font-size: 16px;'>\n");
    FBwin.document.write("<BLOCKQUOTE>\n");
    FBwin.document.write(Popup_Feedback);
    FBwin.document.write("\n</BLOCKQUOTE>\n");
    FBwin.document.write("<p><a href='javascript:self.close();'>Close this window</a>");

    FBwin.document.write("</FONT>\n</BODY>\n</HTML>");
    FBwin.document.close();

    FBwin.focus();
  }
}

function MonthlyRateFromYearlyRate(r){
	var q=1;
	var rp;
	var mr;
	q/=12;
	rp=r+1;
	mr=Math.pow(rp,q);
	mr-=1;
	return mr;
}

function displaySVValues() {
	var s="";
	s+=window.location;
	cWin=window.open("","Variables","width=500,height=800,left=180,top=110,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes");

	if (cWin != null)
	{
		if (cWin.opener == null)
			cWin.opener = window;

		cWin.document.write("<HTML>\n<HEAD><TITLE>\n");
		cWin.document.write("Variable Values</TITLE></HEAD>\n");
		cWin.document.write("<BODY  LEFTMARGIN='0' RIGHTMARGIN='0' TOPMARGIN='0' BOTTOMMARGIN='0'>\n");
		cWin.document.write("<h2>Referring URL: " + s + "</h2>");
		cWin.document.write("<table cols='2' width='100%' border='1'>");
		cWin.document.write("<tr><td>sessvars.VersionInfo</td><td>" + sessvars.VersionInfo + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.DOB</td><td>" + sessvars.DOB + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.RetirementAge</td><td>" + sessvars.RetirementAge + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.DeathAge</td><td>" + sessvars.DeathAge + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.Gender</td><td>" + sessvars.Gender + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.MaritalStatus</td><td>" + sessvars.MaritalStatus + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.CType</td><td>" + sessvars.CType + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.CSRSYears</td><td>" + sessvars.CSRSYears + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.FullCSRS</td><td>" + sessvars.FullCSRS + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.SCD</td><td>" + sessvars.SCD + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.CurAge</td><td>" + sessvars.CurAge + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.CurWage</td><td>" + sessvars.CurWage + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.RepRate</td><td>" + sessvars.RepRate + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.YIR</td><td>" + sessvars.YIR + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.InflationRate</td><td>" + sessvars.InflationRate + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.WageGrowth</td><td>" + sessvars.WageGrowth + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.RoRPrior</td><td>" + sessvars.RoRPrior + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.RoRAfter</td><td>" + sessvars.RoRAfter + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.PartTime</td><td>" + sessvars.PartTime + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.TSPBalance</td><td>" + sessvars.TSPBalance + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.TSPAnnual</td><td>" + sessvars.TSPAnnual + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.NonTSPToDate</td><td>" + sessvars.NonTSPToDate + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.SSBenefit</td><td>" + sessvars.SSBenefit + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.SSBenefitFutureDollars</td><td>" + sessvars.SSBenefitFutureDollars + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.EmployeeToTSP</td><td>" + sessvars.EmployeeToTSP + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.EmployeeToTSPDollar</td><td>" + sessvars.EmployeeToTSPDollar + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.GovtToTSP</td><td>" + sessvars.GovtToTSP + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.PercentToTSP</td><td>" + sessvars.PercentToTSP + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.YearsOfService</td><td>" + sessvars.YearsOfService + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.CSRSOffset</td><td>" + sessvars.CSRSOffset + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.db</td><td>" + sessvars.db + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.RetirementDate</td><td>" + sessvars.RetirementDate + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.YIRBlank</td><td>" + sessvars.YIRBlank + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.oh15</td><td>" + sessvars.oh15 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.oh16a</td><td>" + sessvars.oh16a + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.oh16b</td><td>" + sessvars.oh16b + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.oh16c</td><td>" + sessvars.oh16c + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.oh16d</td><td>" + sessvars.oh16d + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.oh16e</td><td>" + sessvars.oh16e + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.oh17a</td><td>" + sessvars.oh17a + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.oh17b</td><td>" + sessvars.oh17b + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.oh18</td><td>" + sessvars.oh18 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.oh19</td><td>" + sessvars.oh19 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we20</td><td>" + sessvars.we20 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we20a</td><td>" + sessvars.we20a + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we21</td><td>" + sessvars.we21 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we22</td><td>" + sessvars.we22 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we23</td><td>" + sessvars.we23 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we24</td><td>" + sessvars.we24 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we25</td><td>" + sessvars.we25 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we26</td><td>" + sessvars.we26 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we27</td><td>" + sessvars.we27 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we28</td><td>" + sessvars.we28 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we29</td><td>" + sessvars.we29 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we30</td><td>" + sessvars.we30 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we31</td><td>" + sessvars.we31 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we32</td><td>" + sessvars.we32 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we33</td><td>" + sessvars.we33 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we34</td><td>" + sessvars.we34 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we35</td><td>" + sessvars.we35 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we36</td><td>" + sessvars.we36 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we37</td><td>" + sessvars.we37 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we38</td><td>" + sessvars.we38 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we39</td><td>" + sessvars.we39 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we40</td><td>" + sessvars.we40 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we41</td><td>" + sessvars.we41 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.we42</td><td>" + sessvars.we42 + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.pctTRR</td><td>" + sessvars.pctTRR + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.SCDErrIgnore</td><td>" + sessvars.SCDErrIgnore + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.TSPContribMax</td><td>" + sessvars.TSPContribMax + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.TSPCUMax</td><td>" + sessvars.TSPCUMax + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.TSPCatchup</td><td>" + sessvars.TSPCatchup + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.CalcErr</td><td>" + sessvars.CalcErr + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.EntryFromRRS</td><td>" + sessvars.EntryFromRRS + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.RRSEntryPoint</td><td>" + sessvars.RRSEntryPoint + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.RRSExitPoint</td><td>" + sessvars.RRSExitPoint + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.SavAnnual</td><td>" + sessvars.SavAnnual + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.SavBP</td><td>" + sessvars.SavBP + "</td></tr>");
		cWin.document.write("<tr><td>sessvars.AANonTSP</td><td>" + sessvars.AANonTSP + "</td></tr>");
		cWin.document.write("</table>");
		cWin.document.write("</BODY></HTML>");
		cWin.document.close();

		cWin.focus();
	}
	

}

function CalculateYIR(givenage, givenrage){
	var x;
	var aout;
	var locdeathage;
	var yearsinretirement;
	x=givenage;
	aout=(.00004671378*x*x*x)-(.003272199*x*x)-(.8991432*x)+78.02606;
	
	locdeathage=Math.round(aout)+givenage;
	yearsinretirement=locdeathage-givenrage;
	if(yearsinretirement<=0){yearsinretirement=1;}
	return yearsinretirement;
}



