
function initCharts() {
	
	balanceRows = [
   {
      year:1,
      "rt_Interest_disp":"16110",
      "rt_principal_disp":"3316",
      r_balance_disp:266684,
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"282",
      "other_payments_disp":"363",
      "net_housing_disp":"1699",
      "rate_savings_disp":"0",
      "equity_disp":"33316",
      "row":1
   },
   {
      year:2,
      "rt_Interest_disp":"15905",
      "rt_principal_disp":"3520",
      r_balance_disp:"263164",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"278",
      "other_payments_disp":"363",
      "net_housing_disp":"1703",
      "rate_savings_disp":"0",
      "equity_disp":"36836",
      "row":2
   },
   {
      year:3,
      "rt_Interest_disp":"15688",
      "rt_principal_disp":"3737",
      r_balance_disp:"259427",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"275",
      "other_payments_disp":"363",
      "net_housing_disp":"1707",
      "rate_savings_disp":"0",
      "equity_disp":"40573",
      "row":3
   },
   {
      year:4,
      "rt_Interest_disp":"15458",
      "rt_principal_disp":"3968",
      r_balance_disp:"255459",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"271",
      "other_payments_disp":"363",
      "net_housing_disp":"1711",
      "rate_savings_disp":"0",
      "equity_disp":"44541",
      "row":4
   },
   {
      year:5,
      "rt_Interest_disp":"15213",
      "rt_principal_disp":"4212",
      r_balance_disp:"251247",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"266",
      "other_payments_disp":"363",
      "net_housing_disp":"1715",
      "rate_savings_disp":"0",
      "equity_disp":"48753",
      "row":5
   },
   {
      year:6,
      "rt_Interest_disp":"14953",
      "rt_principal_disp":"4472",
      r_balance_disp:"246774",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"262",
      "other_payments_disp":"363",
      "net_housing_disp":"1720",
      "rate_savings_disp":"0",
      "equity_disp":"53226",
      "row":6
   },
   {
      year:7,
      "rt_Interest_disp":"14677",
      "rt_principal_disp":"4748",
      r_balance_disp:"242026",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"257",
      "other_payments_disp":"363",
      "net_housing_disp":"1724",
      "rate_savings_disp":"0",
      "equity_disp":"57974",
      "row":7
   },
   {
      year:8,
      "rt_Interest_disp":"14384",
      "rt_principal_disp":"5041",
      r_balance_disp:"236985",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"252",
      "other_payments_disp":"363",
      "net_housing_disp":"1730",
      "rate_savings_disp":"0",
      "equity_disp":"63015",
      "row":8
   },
   {
      year:9,
      "rt_Interest_disp":"14074",
      "rt_principal_disp":"5352",
      r_balance_disp:"231633",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"246",
      "other_payments_disp":"250",
      "net_housing_disp":"1622",
      "rate_savings_disp":"0",
      "equity_disp":"68367",
      "row":9
   },
   {
      year:10,
      "rt_Interest_disp":"13743",
      "rt_principal_disp":"5682",
      r_balance_disp:"225951",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"241",
      "other_payments_disp":"250",
      "net_housing_disp":"1628",
      "rate_savings_disp":"0",
      "equity_disp":"74049",
      "row":10
   },
   {
      year:11,
      "rt_Interest_disp":"13393",
      "rt_principal_disp":"6032",
      r_balance_disp:"219919",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"234",
      "other_payments_disp":"250",
      "net_housing_disp":"1634",
      "rate_savings_disp":"0",
      "equity_disp":"80081",
      "row":11
   },
   {
      year:12,
      "rt_Interest_disp":"13021",
      "rt_principal_disp":"6405",
      r_balance_disp:"213514",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"228",
      "other_payments_disp":"250",
      "net_housing_disp":"1641",
      "rate_savings_disp":"0",
      "equity_disp":"86486",
      "row":12
   },
   {
      year:13,
      "rt_Interest_disp":"12626",
      "rt_principal_disp":"6800",
      r_balance_disp:"206715",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"221",
      "other_payments_disp":"250",
      "net_housing_disp":"1648",
      "rate_savings_disp":"0",
      "equity_disp":"93285",
      "row":13
   },
   {
      year:14,
      "rt_Interest_disp":"12207",
      "rt_principal_disp":"7219",
      r_balance_disp:"199496",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"214",
      "other_payments_disp":"250",
      "net_housing_disp":"1655",
      "rate_savings_disp":"0",
      "equity_disp":"100504",
      "row":14
   },
   {
      year:15,
      "rt_Interest_disp":"11761",
      "rt_principal_disp":"7664",
      r_balance_disp:"191832",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"206",
      "other_payments_disp":"250",
      "net_housing_disp":"1663",
      "rate_savings_disp":"0",
      "equity_disp":"108168",
      "row":15
   },
   {
      year:16,
      "rt_Interest_disp":"11289",
      "rt_principal_disp":"8137",
      r_balance_disp:"183695",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"198",
      "other_payments_disp":"250",
      "net_housing_disp":"1671",
      "rate_savings_disp":"0",
      "equity_disp":"116305",
      "row":16
   },
   {
      year:17,
      "rt_Interest_disp":"10787",
      "rt_principal_disp":"8639",
      r_balance_disp:"175056",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"189",
      "other_payments_disp":"250",
      "net_housing_disp":"1680",
      "rate_savings_disp":"0",
      "equity_disp":"124944",
      "row":17
   },
   {
      year:18,
      "rt_Interest_disp":"10254",
      "rt_principal_disp":"9172",
      r_balance_disp:"165885",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"179",
      "other_payments_disp":"250",
      "net_housing_disp":"1689",
      "rate_savings_disp":"0",
      "equity_disp":"134115",
      "row":18
   },
   {
      year:19,
      "rt_Interest_disp":"9688",
      "rt_principal_disp":"9737",
      r_balance_disp:"156147",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"170",
      "other_payments_disp":"250",
      "net_housing_disp":"1699",
      "rate_savings_disp":"0",
      "equity_disp":"143853",
      "row":19
   },
   {
      year:20,
      "rt_Interest_disp":"9088",
      "rt_principal_disp":"10338",
      r_balance_disp:"145810",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"159",
      "other_payments_disp":"250",
      "net_housing_disp":"1710",
      "rate_savings_disp":"0",
      "equity_disp":"154190",
      "row":20
   },
   {
      year:21,
      "rt_Interest_disp":"8450",
      "rt_principal_disp":"10975",
      r_balance_disp:"134834",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"148",
      "other_payments_disp":"250",
      "net_housing_disp":"1721",
      "rate_savings_disp":"0",
      "equity_disp":"165166",
      "row":21
   },
   {
      year:22,
      "rt_Interest_disp":"7773",
      "rt_principal_disp":"11652",
      r_balance_disp:"123182",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"136",
      "other_payments_disp":"250",
      "net_housing_disp":"1733",
      "rate_savings_disp":"0",
      "equity_disp":"176818",
      "row":22
   },
   {
      year:23,
      "rt_Interest_disp":"7054",
      "rt_principal_disp":"12371",
      r_balance_disp:"110811",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"123",
      "other_payments_disp":"250",
      "net_housing_disp":"1745",
      "rate_savings_disp":"0",
      "equity_disp":"189189",
      "row":23
   },
   {
      year:24,
      "rt_Interest_disp":"6291",
      "rt_principal_disp":"13134",
      r_balance_disp:"97677",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"110",
      "other_payments_disp":"250",
      "net_housing_disp":"1759",
      "rate_savings_disp":"0",
      "equity_disp":"202323",
      "row":24
   },
   {
      year:25,
      "rt_Interest_disp":"5481",
      "rt_principal_disp":"13944",
      r_balance_disp:"83733",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"96",
      "other_payments_disp":"250",
      "net_housing_disp":"1773",
      "rate_savings_disp":"0",
      "equity_disp":"216267",
      "row":25
   },
   {
      year:26,
      "rt_Interest_disp":"4621",
      "rt_principal_disp":"14804",
      r_balance_disp:"68928",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"81",
      "other_payments_disp":"250",
      "net_housing_disp":"1788",
      "rate_savings_disp":"0",
      "equity_disp":"231072",
      "row":26
   },
   {
      year:27,
      "rt_Interest_disp":"3708",
      "rt_principal_disp":"15717",
      r_balance_disp:"53211",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"65",
      "other_payments_disp":"250",
      "net_housing_disp":"1804",
      "rate_savings_disp":"0",
      "equity_disp":"246789",
      "row":27
   },
   {
      year:28,
      "rt_Interest_disp":"2739",
      "rt_principal_disp":"16687",
      r_balance_disp:"36524",
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"48",
      "other_payments_disp":"250",
      "net_housing_disp":"1821",
      "rate_savings_disp":"0",
      "equity_disp":"263476",
      "row":28
   },{
      year:29,
      "rt_Interest_disp":"1710",
      "rt_principal_disp":"17716",
      r_balance_disp:18809,
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"30",
      "other_payments_disp":"250",
      "net_housing_disp":"1839",
      "rate_savings_disp":"0",
      "equity_disp":"281191",
      "row":29
   },{
      year:30,
      "rt_Interest_disp":"617",
      "rt_principal_disp":"18809",
      r_balance_disp:0,
      "monthly_payment_disp":"1619",
      "tax_savings_disp":"11",
      "other_payments_disp":"250",
      "net_housing_disp":"1858",
      "rate_savings_disp":"0",
      "equity_disp":"300000",
      "row":30
   }];
   
   
	balanceDataSource = new YAHOO.util.DataSource( balanceRows );
	balanceDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
	balanceDataSource.responseSchema =
	{
		fields: [ "year", "r_balance_disp"]
	};
		
	var seriesDef = 
	[
		{ displayName: "Balance", 
		yField: "r_balance_disp",
		  style:
			{
				//mode: "no-repeat",
				color: 0x092E20,
				size: 6,
				 lineColor:0xB5BAC8, 
	            lineAlpha:.5 
			}
		},
		{ displayName: "Year", xField: "year" }
	];
	var currencyAxis = new YAHOO.widget.NumericAxis();
	currencyAxis.labelFunction = "formatCurrencyAxisLabel";
	
	balanceChart = new YAHOO.widget.LineChart( "balancechart", balanceDataSource,
	{
		series: seriesDef,
		xField: "year",
		yAxis: currencyAxis,
		dataTipFunction: "getDataTipText",
		expressInstall: "flash/expressinstall.swf",
		wmode: 'transparent',
		style: {
			font: {name: "Verdana,sans-serif", size: 10, color: 0x586b71},
			dataTip:
			{
				border: {color: 0x2e434d, size: 1},
				font: {name: "Verdana,sans-serif", size: 10, color: 0x000000}
			}			
		}
		
	});
	
	balanceChart.addListener("itemMouseOverEvent", onChartItemOver);
	balanceChart.addListener("itemMouseOutEvent", onChartItemOut);
	
	// Pie Chart
	var seriesDef =  [{ 
		displayName: "Portion", categoryField: "portion", dataField: "value",
				style: {colors : [0x092E20,0x9AEF3F,0x487858,0x234F32,0x00ffff]}
		}];
		
	loanBreakdown = [{ portion: "Principal", value: 100, percent: 100 }];
	
	loanBreakdownData = new YAHOO.util.DataSource( loanBreakdown );
	loanBreakdownData.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
	loanBreakdownData.responseSchema = { fields: [ "portion", "value", "percent" ] };
	breakdownChart = new YAHOO.widget.PieChart( "piechart", loanBreakdownData, {
		dataField: "value",
		categoryField: "portion",
	
		series: seriesDef,
		expressInstall: "flash/expressinstall.swf",
		dataTipFunction: "getDataTipText",
		wmode: 'transparent',
		style: {
			font: {name: "Verdana,sans-serif", size: 10, color: 0x586b71},
			dataTip:
			{
				border: {color: 0x2e434d, size: 1},
				font: {name: "Verdana,sans-serif", size: 10, color: 0x000000}
			}			
		}
	});

}


function onChartItemOver(event)
{
	//type , item , index , seriesIndex , x , y 
	y = event.item.year;
    
    window.clearTimeout(restorePieTimer);	
    
	pieChartHeader = document.getElementById('pieChartHeader');
	pieChartHeader.innerHTML = "Year " + y + " Monthly Payment BreakDown";
    
    r = y - 1;
    principal = unformatNumber(balanceRows[r]['rt_principal_disp'],',','.');
    other_payments = unformatNumber(balanceRows[r]['other_payments_disp'],',','.');
    interest = unformatNumber(balanceRows[r]['rt_Interest_disp'],',','.');
    
    
	principal = principal /12;
	interest = interest /12;
    
    
    total = principal + other_payments + interest; 
    
    principal_percent =  principal / total * 100;
    interest_percent = interest  / total * 100;
    other_payments_percent =  other_payments  / total * 100;
    
    loanBreakdown_m =
	[
		{ portion: "Principal\nYear " + y, value: principal.toFixed(2), percent: principal_percent.toFixed(2) },
		{ portion: "Other: \nTax, PMI, Home\nYear " + y, value: other_payments.toFixed(2), percent: other_payments_percent.toFixed(2) },
		{ portion: "Interest\nYear " + y, value: interest.toFixed(2), percent: interest_percent.toFixed(2)}
		
	]
	
	//loanBreakdownData_m = new YAHOO.util.DataSource( loanBreakdown );
	//loanBreakdownData_m.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
	//loanBreakdownData_m.responseSchema = { fields: [ "portion", "value", "percent" ] };
	loanBreakdownData.liveData = loanBreakdown_m;
	breakdownChart.refreshData();
	
}

function onChartItemOut(event)
{
	window.restorePieTimer = setTimeout("retorePieChart()",1000);
}

function retorePieChart() {

	var pieChartHeader = document.getElementById('pieChartHeader');
	pieChartHeader.innerHTML = "Total Payment BreakDown";
	loanBreakdownData.liveData = loanBreakdown;
	breakdownChart.refreshData();

}

function formatCurrencyAxisLabel( value )
{
	//value = '$' + value.replace('000000', 'm').replace('000', 'k');	
	//return value;
	return
YAHOO.util.Number.format( value.toFixed(2),
	{
		prefix: "$",
		thousandsSeparator: ","	
	});
}

function getDataTipText( item, index, series )
{
	if (series['type'] == 'pie') {
		var toolTipText = item['portion'];
		toolTipText += "\n" + formatCurrencyAxisLabel( item['value'] );
		toolTipText += "\n" + item['percent'] + '%';
	} else {
		var toolTipText = series.displayName + " after year " + item.year;
		toolTipText += "\n" + formatCurrencyAxisLabel( item[series.yField] );
	}
	return toolTipText;
}


	
function updateAxis(max) {
	
		var currencyAxis = new YAHOO.widget.NumericAxis();
		currencyAxis.minimum = max;
		currencyAxis.labelFunction = "formatCurrencyAxisLabel";
}

function formatCurrencyAxisLabel( value ) {
	return YAHOO.util.Number.format( value, {
			prefix: "$",
			thousandsSeparator: ","			
		});
}