addJavascript = function(fileName) {
	var th = document.getElementsByTagName('head')[0];
	var s = document.createElement('script');
	s.setAttribute('type','text/javascript');
	s.setAttribute('src',fileName);
	th.appendChild(s);
}
addStylesheet = function(fileName) {
	var th = document.getElementsByTagName('head')[0];
	var s = document.createElement('link');
	s.setAttribute('type','text/css');
	s.setAttribute('rel','stylesheet');
	s.setAttribute('href',fileName);
	th.appendChild(s);
}

pval_calculate = function()
{ 

	var d1s = document.getElementById("pval_today").value;
	if ( d1s.length == 0 )
	{
		alert("Please enter the present date.");
		return;
	}
	var d1 = getDollarDateFromString(d1s);
	if ( !d1.correctFormat )
	{
		alert("There is a problem with the present date. " + d1.errorMessage);
		return;
	}

	var d2s = document.getElementById("pval_future").value;
	if ( d1s.length == 0 )
	{
		alert("Please enter the future date.");
		return;
	}
	var d2 = getDollarDateFromString(d2s);
	if ( !d2.correctFormat )
	{
		alert("There is a problem with the future date. " + d1.errorMessage);
		return;
	}

	if ( isLater(d1,d2) >= 0 )
	{
		alert("The future date must be after the present date.");
		return;
	}


	var fvalue = document.getElementById("pval_fvalue").value;
	if ( fvalue.length == 0 )
	{
		 alert("Please enter the future value");
		 return;
	}
	fvalue = fixNumber(fvalue);
	fvalue = parseFloat(fvalue);
	if ( isNaN(fvalue) )
	{
		 alert("Please enter the future value as a number");
		 return;
	}
	if ( fvalue < 0 )
	{
		 alert("Please enter a future value >= 0");
		 return;
	}


	var rate = document.getElementById("pval_rate").value;
	if ( rate.length == 0 )
	{
		 alert("Please enter an interest rate");
		 return;
	}
	rate = fixNumber(rate);
	rate = parseFloat(rate);
	if ( isNaN(rate) )
	{
		 alert("Please enter the interest rate as a number");
		 return;
	}
	if ( rate <= -100 )
	{
		alert("Please enter a rate of interest > -100%" );
		return;
	}	

	document.getElementById("pval_today").value = getFormattedString(d1);
	document.getElementById("pval_future").value = getFormattedString(d2);

	var numDays = getDayDifference(d1, d2);

	var years = numDays / 365;
	
	rate = 1 + (rate / 100);
	var pvalue = fvalue / Math.pow(rate, years);


	var results = "The present value is: " + formatDollars(pvalue);

	var x = document.getElementById("pval_dt_results");
	x.innerHTML = results;
	x.style.display = "block";  

}

// RUN SCRIPT
addJavascript('calcutil.js');
addStylesheet('calc.css');

var out = '\
<div id="pval_dt_calculator" class="dt_calculator">\n\
	<p class="instructions">This page will calculate the present investment needed to reach a specific amount at a future date.</p>\n\
	\n\
	<div class="a">Present Date</div>\n\
	<div class="b"></div>\n\
	<div class="c"><input id="pval_today" type="text" title="mm-dd-yyyy" /></div>\n\
	<div class="clear"></div>\n\
	\n\
	<div class="a">Future Date</div>\n\
	<div class="b"></div>\n\
	<div class="c"><input id="pval_future" type="text" title="mm-dd-yyyy" /></div>\n\
	<div class="clear"></div>\n\
	\n\
	<div class="a">Future Value</div>\n\
	<div class="b">$</div>\n\
	<div class="c"><input id="pval_fvalue" type="text" value="10,000" /></div>\n\
	<div class="clear"></div>\n\
	\n\
	<div class="a">Rate of Return (APR)</div>\n\
	<div class="b">%</div>\n\
	<div class="c"><input id="pval_rate" type="text" value="5.00" /></div>\n\
	\n\
	<div class="clear"></div>\n\
	<div class="d"><button onclick="pval_calculate()">Calculate</button></div>\n\
	<div id="pval_dt_results" class="dt_results">&nbsp;</div>\n\
</div>\n\
';
var url = 'present-value-calculator.htm';

//var baseUrl = 'http://localhost/';
//var scriptUrl = 'on-your-site/' + url.split('.')[0] + '.js';
var baseUrl = '';
var scriptUrl = url.split('.')[0] + '.js';

var scriptEls = document.getElementsByTagName('script')
var scriptEl=false;
for(i=0; i<scriptEls.length; i++)
{
	var t = scriptEls[i];
	var src = (t.getAttribute('src'));
	if(src == (baseUrl + scriptUrl))
	{
		scriptEl = t;
		break;
	}
}
if(!scriptEl)
{
	//document.write('\n<p>Failed loading calculator. </p>');
}
else
{
	var par = scriptEl.parentNode;
	var link = par.getElementsByTagName('a')[0];
	var el = document.createElement('div');
	el.innerHTML = out;
	par.appendChild(el);
	
	if(link && link.href==baseUrl + url) {
		link.style.fontSize="80%";
		var calcDiv = document.getElementById('pval_dt_calculator');
		if(calcDiv)	{
			// Put link on bottom of calculator box
			par.removeChild(link)			
			calcDiv.appendChild(link);	
		}
	}
}

// Fill in today's date
// add to window.onload rather than overwriting it
function addOnLoad(fn)
{ 
   var old = window.onload;
   window.onload = function()
   {
       if(typeof old=="function") old();
       fn();
   };
}

addOnLoad(function() {
	var d = getDollarDateForToday();
	document.getElementById("pval_today").value = getFormattedString(d);
	d.year = d.year + 3;
	document.getElementById("pval_future").value = getFormattedString(d);
});
