// JavaScript Document

// This handy piece of code comes from:
// http://www.sitepoint.com/blog-post-view.php?id=171578
function addLoadEvent(func){
	var oldonload = window.onload;
	if(typeof window.onload != "function"){
		window.onload = func;
	} 
	else{
		window.onload = function(){
			oldonload();
			func();
		}
	}
}

// function to alternate and highlight (on mouseover) table row colors
var stripe = function() {
  var even = true;
  var tables = document.getElementsByTagName("table");  
  for (var x=0;x!=tables.length;x++) {
    var table = tables[x];
    if (! table) { return; }
    var tbodies = table.getElementsByTagName("tbody");
    for (var h = 0; h < tbodies.length; h++) {
      var trs = tbodies[h].getElementsByTagName("tr");
      for (var i = 0; i < trs.length; i++) {
        trs[i].onmouseover = function() {
          this.className += " ruled"; return false
        }
        trs[i].onmouseout = function() {
          this.className = this.className.replace("ruled", ""); return false
        }
        if(even)
          trs[i].className += " even";
        even = !even;
      }
    }
  }
}

function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if (isNaN(num)) {
		num = "0";
	}
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if (cents<10) {
		cents = "0" + cents;
	}
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) {
		num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3));
	}
	return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function getPayment() {
	var amount = document.getElementById("amount").value;
	var term = document.getElementById("term").value;
	var rate = document.getElementById("rate").value;
	var payment = document.getElementById("payment");
	
	if ((amount == null || amount.length == 0) || (term == null || term.length == 0) || (rate == null || rate.length == 0)) {
		payment.innerHTML = formatCurrency(0);
	}
	else if ((amount != null || amount.length > 0) || (term != null || term.length > 0) || (rate != null || rate.length > 0)) {
		rate = rate / 1200;
		payment.innerHTML = formatCurrency(amount * rate / (1 - (Math.pow(1/(1 + rate), (term*12)))));
	}
	else {
		document.forms[0].reset();
		payment.innerHTML = formatCurrency(0);
	}
}

function getEarnings(){
	var initialDeposit = eval(document.calculateEarnings.principal.value);
	var intRate = eval((document.calculateEarnings.intRate.value/100)/12);
	var monthlyDeposit = eval(document.calculateEarnings.monthlyDeposit.value);
	var months = parseInt(document.calculateEarnings.months.value);
	var earnings = initialDeposit;
	var addInt = 0;
	for(var x = 1; x <= months; x++){
		earnings += monthlyDeposit;
		addInt += (earnings * intRate);
		earnings += (earnings * intRate);		
	}	
	document.calculateEarnings.fv.value = formatCurrency(earnings);
	document.calculateEarnings.totalint.value = formatCurrency(addInt);
}

function onlyNumericDecimal(t) {
	t.value = t.value.replace(/[^0-9.]/gi,'');
}

// addLoadEvent(getPayment);
addLoadEvent(stripe);
