// JavaScript Document
	var ns4=document.layers
	var ns6=document.getElementById&&!document.all
	var ie4=document.all
	var opr=navigator.userAgent.indexOf("Opera")


// Just to make sure value entered is numeric
function CheckEnteredValue(element) {
	var lField = ltrim(rtrim(String(element.value)));
    myReg=new RegExp("^[0-9]*\\.?[0-9]*$"); 
        if (!(myReg.test(lField) && lField!='.')) {
			alert("Please enter valid numerical data in all fields!");
			return false;
		}
	element.value=lField; 
	return true;
}


function rtrim(argvalue) {
  while (1) {
    if (argvalue.substring(argvalue.length - 1, argvalue.length) != " ")
      break;
    argvalue = argvalue.substring(0, argvalue.length - 1);
  }
  return argvalue;
}

function ltrim(argvalue) {
  while (1) {
    if (argvalue.substring(0, 1) != " ")
      break;
    argvalue = argvalue.substring(1, argvalue.length);
  }
    return argvalue;
}

 function trim(str)
{
     return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}  

function count(form) 
{
//var tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9, tmp10, tmp11
  if ( trim(form.income.value) != "" &&  trim(form.other.value) != ""){
    tmp12 = Math.round(eval(form.income.value * 3.25) + eval(form.other.value));
    tmp13 = Math.round(eval(form.income.value * 2.75) + eval(form.other.value * 2.75));
	   //choose the greater of the two
      if (tmp12>tmp13) {
      form.amount.value = tmp12
      }
      else {
      form.amount.value = tmp13
      }
    }
else
	{
		alert("Please enter valid numerical data in all fields!");
		return false;
	}
}


function Morgcal()
{
	form = document.myform;
	LoanAmount = form.LoanAmount.value;
	AnnualInterestRate = (form.InterestRate.value)/100;
	Years = (form.NumberOfYears.value)/1;

	c3 = LoanAmount/12;
	c4 = AnnualInterestRate;
//THE FOLLOWING 2 LINES BREAK IT
	c5 = Math.pow((c4+1),Years);
	c6 = Math.pow((c4+1),Years)-1;

	MonthRate = AnnualInterestRate/12;
	NumPayments = Years*12;
	MonthPaymentRepay = c3*(c4*(c5/c6));
	MonthPaymentIO = (LoanAmount*AnnualInterestRate)/12;

	form.NumberOfPayments.value = NumPayments;
	form.MonthlyPayment.value = MonthPaymentRepay.toFixed (2);
	form.MonthlyPayment2.value = MonthPaymentIO.toFixed (2);
}




//FUNCTION TO SHOW and HIDE
function toggle(targetshow,targethide){
  if (ie4){
  	target = document.all(targetshow);
	hidetarget = document.all(targethide);
  			target.style.display = "";
  			hidetarget.style.display = "none";
  }
}

//-- Show number in $$xxx,xxx.xx format.
function currencyPad(anynum,width) {
	anynum = "" + eval(anynum);
	//evaluate (in case an expression sent)
	intnum=0;
	if (anynum >= 1) {
		intnum = parseInt(anynum);
	}    
	//isolate integer portion
	intstr = ""+intnum;
	//add comma in thousands place.
	if (intnum >= 1000) {
		intlen = intstr.length;
		temp1=parseInt(""+(intnum/1000));
		temp2=intstr.substring(intlen-3,intlen);
		intstr = temp1+","+temp2;
	}
	if (intnum >= 1000000) {
		intlen = intstr.length;

		temp1=parseInt(""+(intnum/1000000))
		temp2=intstr.substring(intlen-7,intlen);
		intstr = temp1+","+temp2;    
	}
	decnum = Math.abs(parseFloat(anynum)-intnum); //isolate decimal portion
	decnum = decnum * 100; // multiply decimal portion by 100.

	decstr = "" + Math.abs(Math.round(decnum));
	while (decstr.length < 2) {
		decstr="0"+decstr;
	}
	retval = intstr + "." + decstr;
	if (intnum < 0) {
		retval=retval.substring(1,retval.length);
		retval="("+retval+")";    
	}       
	retval = "$"+retval;
	while (retval.length < width){
		retval=" "+retval;
	}
	return retval
}


function docalc ()
{ // check input fields, exit with alert if error


  badnum = new RegExp("[^0123456789.+]");
  err = 0;
  
  amount = document.loancalc.amount.value;
  if ( ( (amount <= 0) || (amount.match(badnum) ) ) && (amount != "")  )
  { alert("Amount must be a positive number");
    err = 1;
  }


  rate = document.loancalc.rate.value;
  if ( ( (rate <= 0) || (rate.match(badnum) ) ) && (rate != "") )
  { alert("Interest must be a positive number");
    err = 1;
  }


  term = document.loancalc.term.value;
  if ( ( (term <= 0) || (term.match(badnum) ) ) && (term != "") )
  { alert("Term of loan must be a positive number");
    err = 1;
  }


  // run calculations
  // document.loancalc.Payment.value = "just a test";
  J = rate / 1200;
  P = amount;
  N = Math.round(term * 12);
  M = P * ( J / (1 - Math.pow(1 + J, -N) ));
  if ((M > 0) && (err != 1))
  { document.loancalc.Payment.value = currencyPad(M, 12); }
  else
  { document.loancalc.Payment.value = "input data above"; }
  
  if (N>0)
  { document.loancalc.term.value = N/12; }
}