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);
}

appr_calculate = function()
{
	var p1 = document.getElementById("appr_purchaseprice").value;
	if ( p1.length == 0 )
	{
		 alert("Please enter the purchase price");
		 return;
	}
	p1 = fixNumber(p1);
	p1 = parseFloat(p1);
	if ( isNaN(p1) )
	{
		 alert("Please enter the  purchase price as a number");
		 return;
	}
	if ( p1 < 0 )
	{
		 alert("Please enter a purchase price >= 0");
		 return;
	}
	
	var p2 = document.getElementById("appr_sellprice").value;
	if ( p2.length == 0 )
	{
		 alert("Please enter the sale price");
		 return;
	}
	p2 = fixNumber(p2);
	p2 = parseFloat(p2);
	if ( isNaN(p2) )
	{
		 alert("Please enter the current or sales price as a number");
		 return;
	}
	if ( p2 < 0 )
	{
		 alert("Please enter a current or sales sale price >= 0");
		 return;
	}

	var d1s = document.getElementById("appr_purchasedate").value;
	if ( d1s.length == 0 )
	{
		alert("Please enter a purchase date.");
		return;
	}
	var d1 = getDollarDateFromString(d1s);
	if ( !d1.correctFormat )
	{
		alert("There is a problem with the purchase date. " + d1.errorMessage);
		return;
	}

	var d2s = document.getElementById("appr_selldate").value;
	if ( d1s.length == 0 )
	{
		alert("Please enter a current or sales date.");
		return;
	}
	var d2 = getDollarDateFromString(d2s);
	if ( !d2.correctFormat )
	{
		alert("There is a problem with the current or sales date. " + d1.errorMessage);
		return;
	}

	if ( isLater(d1,d2) >= 0 )
	{
		alert("The current or sales date must be after the purchase date.");
		return;
	}

	document.getElementById("appr_purchasedate").value = getFormattedString(d1);
	document.getElementById("appr_selldate").value = getFormattedString(d2);

	var numDays = getDayDifference(d1, d2);
	var rate = Math.pow(p2 / p1,  1 / (numDays / 365)) - 1;	
	
	// ***** Print out the results *****
	var x = document.getElementById("appr_dt_results");
	
	var results = "Your house appreciated at an annual rate of about <b>" + formatPercent(rate) + "</b>.";
	
	x.innerHTML = results;
	x.style.display = "block";
}

addJavascript('calcutil.js');
addStylesheet('calc.css');
var out = '\
<div id="appr_dt_calculator" class="dt_calculator">\n\
	<p class="instructions">This will calculate the annual appreciation of your house since you bought it.</p>\n\
	<div class="a">Purchase Price</div>\n\
	<div class="b">$</div>\n\
	<div class="c"><input id="appr_purchaseprice" type="text" /></div>\n\
	<div class="clear"></div>\n\
	\n\
	<div class="a" title="mm-dd-yyyy">Date of Purchase</div>\n\
	<div class="b"></div>\n\
	<div class="c"><input id="appr_purchasedate" type="text" title="mm-dd-yyyy" /></div>\n\
	<div class="clear"></div>\n\
	\n\
	<div class="a">Current or Sale Value</div>\n\
	<div class="b">$</div>\n\
	<div class="c"><input id="appr_sellprice" type="text" /></div>\n\
	<div class="clear"></div>\n\
	\n\
	<div class="a" title="mm-dd-yyyy">Current or Sale Date</div>\n\
	<div class="b"></div>\n\
	<div class="c"><input id="appr_selldate" type="text" title="mm-dd-yyyy" /></div>\n\
	\n\
	<div class="clear"></div>\n\
	<div class="d"><button onclick="appr_calculate()">Calculate</button></div>\n\
	<div id="appr_dt_results" class="dt_results">&nbsp;</div>\n\
</div>\n\
';
var url = 'annual-housing-appreciation.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('appr_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
//Added by Per 2008-10-01
function addOnLoad(fn)
{ 
   var old = window.onload;
   window.onload = function()
   {
       if(typeof old=="function") old();
       fn();
   };
}

addOnLoad(function() {
	var d = getDollarDateForToday();
	document.getElementById("appr_selldate").value = getFormattedString(d);
});	

