
function switchImg(imgId){

	document.getElementById('thumb' + currentId).className='thumb';
	document.getElementById('thumb' + imgId).className='thumb curThumb';

	document.getElementById('img' + currentId).className='hidden';
	document.getElementById('img' + imgId).className='bigImg';
	
	currentId = imgId;

	return false;
}


function calculateLoan(){
    var payment = computeForm();
    $('yourPayment').innerHTML = formatNum(payment); 
    new Effect.Highlight('paymentHeader');
}

function trim(str)
{
    return str.replace(/^\s*|\s*$/g,"");
}

function checkComma(numString) {
   for (i=0; i < numString.length; i++) {
    if (numString.charAt(i) == ",") {
        return true
    }
  }
 return false
}

function removeComma(numString) {
  var flag = true
  numString = "" + numString
  newString = numString
  for (var i=0; i < numString.length; i++) {
    if (numString.charAt(i) == ",") {
      newString = "" + numString.substring(0,i) +         	numString.substring(i+1,numString.length)
      numString = newString
    }
  }
  return newString
}


function formatNum(numString) {
  var flag = true

  number = Math.round(parseFloat(numString)*100)/100
  numString = "" + number
  for (var i=0; i < numString.length; i++) {
    if (numString.charAt(i) == ".") {
      if (i > (numString.length - 3)) {
      numString = numString + "0"
     }
     flag = false
    }
  }
  if (flag) {
    numString = numString + ".00"
  }
  return numString
}

function checkNumber(input, min, max, msg) {
    
    msg = msg + " field has invalid data: " + input.value;

    input.value = removeComma(input.value);
    
    var str = trim(input.value);


    for (var i = 0; i < str.length; i++) {
	var ch = str.substring(i, i + 1)
            if ((ch < "0" || "9" < ch) && ch != '.') {
                alert(msg);
                return false;
            }
    }
    var num = 0 + str
        if (num < min || max < num) {
            alert(msg + " not in range [" + min + ".." + max + "]");
            return false;
        }
    input.value = str;
    return true;
}

function computeField(input) {
    
    if (input.value != null && input.value.length != 0)
	input.value = "" + eval(input.value);
    computeForm(input.form);
}

function computeForm(form) {
    var term = $('term').value;
    var rate = $('rate').value;
    var price = $('price').value;
    var down = $('down').value;
    var trade = $('trade').value;
    
    if(down == null || down ==''){
	down = 0;
	$('down').value = 0;
    }

    if(trade == null || trade ==''){
	trade = 0;
	$('trade').value = 0;
    }

    if ((term == null || term.length == 0) ||
	(rate == null || rate.length == 0) ||
	(price == null || price.length == 0)) {
	return;
    }
    
    if (!checkNumber($('term'), 1, 480, "# of payments") ||
	!checkNumber($('rate'), .001, 99, "Interest") ||
	!checkNumber($('down'), 0, 100000, "Down Payment") ||
	!checkNumber($('trade'), 0, 100000, "Trade In") ||
	!checkNumber($('price'), 100, 10000000, "Principal")) {
	//form.payment.value = "Invalid";
	$('yourPayment').innerHTML = 'Invalid Input...';
	return;
    }
    
    
    
    

    term = $('term').value;
    rate = $('rate').value;
    price = $('price').value;
    down = $('down').value;
    trade = $('trade').value;

    price = price - down - trade;

    var i = rate;
    
    if (i > 1.0) {
	i = i / 100.0;
	rate = i;
    }
    i /= 12;
    
    var pow = 1;
    for (var j = 0; j < term; j++)
	pow = pow * (1 + i);
    
    return (price * pow * i) / (pow - 1)
	}

function clearForm(form) {
    form.payments.value = "";
    form.interest.value = "";
    form.principal.value = "";
}

