if (!document.getElementById && document.all) { document.getElementById = new Function('id', 'return document.all[id]') }


function viewSource(URL) {
	window.location.href= "view-source:" + URL;
	return false;
}

function blitzFormCheck()
{	
	return true;
}


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);
num = Math.floor(num/100).toString();
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);
}


function calculatePayment() {
	var blnError = false;
	var intLoanAmt = document.frm.strLoanAmt.value;
	var intDownPmt = document.frm.strDownPmt.value;
	var intMaintenance = document.frm.strMaintenance.value;
	var intTaxes = document.frm.strTaxes.value;
	var intInsurance = document.frm.strInsurance.value;
	var intRate = document.frm.strRate.value;
	var intTerm = document.frm.strTerm.value;
		
	if(isNaN(intLoanAmt) || intLoanAmt.length == 0) {	blnError = true; }
	if(isNaN(intDownPmt) || intDownPmt.length == 0) {	blnError = true; }
	if(isNaN(intMaintenance) || intMaintenance.length == 0) {	intMaintenance = 0; }
	if(isNaN(intTaxes) || intTaxes.length == 0) {	intTaxes = 0; }
	if(isNaN(intInsurance) || intInsurance.length == 0) {	intInsurance = 0; }
	if(isNaN(intRate) || intRate.length == 0) {	blnError = true; }
	if(isNaN(intTerm) || intTerm.length == 0) {	blnError = true; }

	if(!blnError) {
	
		var downPayment = intLoanAmt*(intDownPmt/100);
		var mortgageAmount = intLoanAmt-downPayment;
		var mortgagePayment = -pmt(intRate,12,(12*intTerm),mortgageAmount,0);
		var totalMonthlyPayment = conv_number(mortgagePayment+parseFloat(intTaxes/12)+parseFloat(intInsurance/12)+parseFloat(intMaintenance),2);

		document.getElementById('mortgageAmount').innerHTML = formatCurrency(mortgageAmount);
		document.getElementById('downPayment').innerHTML = formatCurrency(downPayment);
		document.getElementById('mortgagePayment').innerHTML = formatCurrency(mortgagePayment);
		document.getElementById('totalMonthlyPayment').innerHTML = formatCurrency(totalMonthlyPayment);
		if(document.getElementById('mplsNotes')) {
			if(intDownPmt<5) {
				document.getElementById('mplsNotes').innerHTML = "Mortgage insurance may be necessary for down payments of 5% or less.<br>";
			}
		}
	} else {
		alert("An error was detected while calculating the loan payment. Please enter numeric values only and make sure all fields are filled in.");
	}
}

function calculatePaymentListing() {
	var blnError = false;
	var intLoanAmt = document.estPaymentForm.strLoanAmt.value;
	var strDownPmt = document.estPaymentForm.strDownPmt.value;
	var intRate = document.estPaymentForm.strRate.value;
	var intTerm = document.estPaymentForm.strTerm.value;
	if(isNaN(intRate) || intRate.length == 0) {	blnError = true; }
	if(isNaN(intTerm) || intTerm.length == 0) {	blnError = true; }
	if(isNaN(strDownPmt)) { blnError = true; }
	if(!blnError) {
		document.getElementById('estPayment').innerHTML=-pmt(intRate,12,(12*intTerm),intLoanAmt-strDownPmt,0);
	}
	else {
		alert("An error was detected while calculating the loan payment. Please enter numeric values only and make sure all fields are filled in.");
	}
}

function pmt(rate, per, nper, pv, fv)
{
	 fv = parseFloat(fv);
	 nper = parseFloat(nper);
	 pv = parseFloat(pv);
	 per = parseFloat(per);
	 if (( per == 0 ) || ( nper == 0 )){ 
			alert("Calculating with zeros will show you zero!");
			return(0);
	 }
	 rate = eval((rate)/(per * 100));
	 if ( rate == 0 )    // Interest rate is 0
	 {
			 pmt_value = - (fv + pv)/nper;
	 }
	 else 
	 {
			 x = Math.pow(1 + rate,nper);
									 pmt_value = -((rate * (fv + x * pv))/(-1 + x));
	 }
	 pmt_value = conv_number(pmt_value,2);               
	 return (pmt_value);
}

function conv_number(expr, decplaces) 
{      
		 var str = "" + Math.round(eval(expr) * Math.pow(10,decplaces));
		 while (str.length <= decplaces) {
					 str = "0" + str;
		 }
		 var decpoint = str.length - decplaces;
		 return (str.substring(0,decpoint) + "." + str.substring(decpoint,str.length));
}

function rentbuy(form) {
	taxmult = 1 - parseFloat(form.taxbracket.value)/100;
	x = .5+taxmult*(parseFloat(form.mortgagerate.value)+parseFloat(form.propertytax.value)) - parseFloat(form.inflation.value) - (parseFloat(form.rent.value)-parseFloat(form.condo.value))*1200/parseFloat(form.price.value) + 7/parseFloat(form.years.value);
	difference = parseInt(x*0.01*parseFloat(form.price.value));
	if (x < 0) {
		difference = parseInt((-1)*x*0.01*parseFloat(form.price.value)); 
  	rentorbuy = " if you buy rather than rent.";
  } else {
		rentorbuy = " if you rent rather than buy.";
	}
	form.message.value = "Annually, you will save $" + difference + rentorbuy;
}

function clearForm(form) {
  form.income.value = "";
  form.other.value = "";
  form.taxes.value = "";
  form.insurance.value = "";
  form.auto.value = "";
  form.cards.value = "";
  form.term.value = "";
  form.rate.value="";
  form.payment.value = "";
  form.amount.value = "";
}
function housingRatio(income, other, taxes, insurance) {
  housing = eval(income * .28) + eval(other * .28) - taxes - insurance;
  return housing;
}
function debtRatio(income, other, taxes, insurance, auto, cards) {
  debt = eval(income * .36) + eval(other * .36) - taxes - insurance - auto - cards;
  return debt;
}
function checkForm(toCheck) {
  isNum = true;
  for (j = 0; j < toCheck.length; j++) {
    if (((toCheck.substring(j,j+1) < "0") || (toCheck.substring(j,j+1) > "9")) && (toCheck.substring(j,j+1) != ".")) {
      isNum = false;
      }
    }
  if ((isNum == false) || (toCheck.length == 0) || (toCheck == null)) {
  alert("Please enter valid numerical data in all fields.");
  return false;
  }
  else {
  return true;
  }
}     

function computeForm(form) {
  if (checkForm(form.income.value) && checkForm(form.other.value) && checkForm(form.taxes.value) && checkForm(form.insurance.value) && checkForm(form.auto.value) && checkForm(form.cards.value) && checkForm(form.term.value) && checkForm(form.rate.value)){
    housingRatioResult = Math.round(housingRatio(form.income.value, form.other.value, form.taxes.value, form.insurance.value));
    debtRatioResult = Math.round(debtRatio(form.income.value, form.other.value, form.taxes.value, form.insurance.value, form.auto.value, form.cards.value));
      if (housingRatioResult>debtRatioResult) {
      form.payment.value = debtRatioResult
      }
      else {
      form.payment.value = housingRatioResult
      }
    var a = form.rate.value;
    var b = form.term.value;
    var c = form.payment.value;
    var d = parseFloat(a / 1200); 
    var e = parseFloat(b * 12);
    var f = parseFloat(1 + d);
    var g = parseFloat(Math.pow(f, e));
    var h = parseFloat(1 / g);
    var i = parseFloat(1 - h);
    var j = parseFloat(i / d);
    var k = parseFloat(c * j);
    form.amount.value = Math.round(k);
    }
return;
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
  if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// _w : which ID (1) or (2)
// _h : (h)ide or (s)how
function toggleT(_w,_h) {
	if (document.getElementById) { // is IE
		if (_h=='s') eval("document.getElementById('"+_w+"').style.display='block';");
		if (_h=='h') eval("document.getElementById('"+_w+"').style.display='none';");
	} else { // is NS?
		if (_h=='s') eval("document.layers['"+_w+"'].display='block';");
		if (_h=='h') eval("document.layers['"+_w+"'].display='none';");
	}
	return false;
}

function confirmDelete(url) {
	var confirmation = confirm("You are about to Delete this record!\nDo you want to continue?");
	if (confirmation == true) { 
		window.location.href = url;
	} 
	return false;
}

function toggleDisplay(element) {
	if (document.getElementById) { // is IE
		if (document.getElementById(element).style.display=='block') {
			eval("document.getElementById('"+element+"').style.display='none';");
		} else {
			eval("document.getElementById('"+element+"').style.display='block';");
		}
	} else { // is NS?
		if (document.layers[element].display=='block') {
			eval("document.layers['"+element+"'].display='none';");
		} else {
			eval("document.layers['"+element+"'].display='block';");
		}
	}
	return false;
}

var myCookie = document.cookie;

function getCookie(name) { // use: getCookie("name");
	var index = myCookie.indexOf(name + "=");
	if (index == -1) return null;
	index = myCookie.indexOf("=", index) + 1; // first character
	var endstr = myCookie.indexOf(";", index);
	if (endstr == -1) endstr = myCookie.length; // last character
	return unescape(myCookie.substring(index, endstr));
}

function setCookie(name, value) { // use: setCookie("name", value);
	if (value != null && value != "") {
		document.cookie=name + "=" + escape(value);
	}
	myCookie = document.cookie; // update myCookie
}  

function validateForm(formName) {
	return true;
}
