function MM_validateForm() { //v4.0

  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;

  for (i=0; i<(args.length-2); i+=3) 

	{ 

		test=args[i+2]; val=MM_findObj(args[i]);strFriendlyName = args[i+1];

		if (val) 

		{ 

			nm=val.name; if ((val=val.value)!="") 

		{

		

		if (test.indexOf('isDate')!=-1) 

		{

      if (!isDate(val)) errors+='- '+strFriendlyName+' must contain a valid date that is in the past.\n';

		}

		else if (test.indexOf('isEmail')!=-1)

		{

      if (isEmail(val)==false) errors+='- '+strFriendlyName+' must contain an e-mail address.\n';

			

    }

		else if (test!='R') 

		{

      if (isNaN(val)) errors+='- '+strFriendlyName+' must contain a number.\n';

      if (test.indexOf('inRange') != -1) 

			{ 

				p=test.indexOf(':');

      	min=test.substring(8,p); max=test.substring(p+1);

      	if (val-0<min || max<val-0) errors+='- '+strFriendlyName+' must contain a number between '+min+' and '+max+'.\n';

    	}

		}

		}

		else if (test.charAt(0) == 'R') 

		{

			errors += '- '+strFriendlyName+' is required.\n'; 

		}

		}

  } 

	if (errors) alert('The following error(s) occurred:\n'+errors);

  document.MM_returnValue = (errors == '');

}





function isEmail (s)

{   

		if (s.indexOf(" ")!=-1) return false;



		if (isEmpty(s)) 

       if (isEmail.arguments.length == 1) return defaultEmptyOK;

       else return (isEmail.arguments[1] == true);

   

    // is s whitespace?

    if (isWhitespace(s)) return false;

    

    // there must be >= 1 character before @, so we

    // start looking at character position 1 

    // (i.e. second character)

    var i = 1;

    var sLength = s.length;



    // look for @

    while ((i < sLength) && (s.charAt(i) != "@"))

    { i++

    }



    if ((i >= sLength) || (s.charAt(i) != "@")) return false;

    else i += 2;



    // look for .

    while ((i < sLength) && (s.charAt(i) != "."))

    { i++

    }



    // there must be at least one character after the .

    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;

    else return true;

}





function MM_findObj(n, d) { //v4.0

  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 && document.getElementById) x=document.getElementById(n); return x;

}





function isEmpty(s)

{   return ((s == null) || (s.length == 0))

}



var whitespace = " \t\n\r";

function isWhitespace (s)



{   var i;



    // Is s empty?

    if (isEmpty(s)) return true;



    // Search through string's characters one by one

    // until we find a non-whitespace character.

    // When we do, return false; if we don't, return true.



    for (i = 0; i < s.length; i++)

    {   

        // Check that current character isn't whitespace.

        var c = s.charAt(i);



        if (whitespace.indexOf(c) == -1) return false;

    }



    // All characters are whitespace.

    return true;

}













function checkForZero(field)

{

    if (field.value == 0 || field.value.length == 0) {

        alert ("This field can't be 0!");

        field.focus(); }

    else

        calculatePayment(field.form);

}



function cmdCalc_Click(form)

{

    if (form.price.value == 0 || form.price.value.length == 0) {

        alert ("The Price field can't be 0!");

        form.price.focus(); }

    else if (form.ir.value == 0 || form.ir.value.length == 0) {

        alert ("The Interest Rate field can't be 0!");

        form.ir.focus(); }

    else if (form.term.value == 0 || form.term.value.length == 0) {

        alert ("The Term field can't be 0!");

        form.term.focus(); }

    else

        calculatePayment(form);

}



function calculatePayment(form)

{

    princ = form.price.value - form.dp.value;

    intRate = (form.ir.value/100) / 12;

    months = form.term.value * 12;

    form.pmt.value = Math.floor((princ*intRate)/(1-Math.pow(1+intRate,(-1*months)))*100)/100;

    form.principle.value = princ;

    form.payments.value = months;

}





function checkForZeroSeller(field)

{

    if (field.value == 0 || field.value.length == 0) {

        alert ("This field can't be 0!");

        field.focus(); }

    else

        calculateSeller(field.form);

}





function cmdSellerCalc_Click(form)

{

    if (form.scHomePrice.value == 0 || form.scHomePrice.value.length == 0) {

        alert ("The Price field can't be 0!");

        form.scHomePrice.focus(); }

    else

        calculateSeller(form);

}





function calculateSeller(form)

{

	form.scTransTax.value = .003 * form.scHomePrice.value;

	

	intResult = form.scHomePrice.value

	intResult = intResult - ((form.scCommission.value/100) * form.scHomePrice.value)

	intResult = intResult - form.scTransTax.value

	intResult = intResult - form.scWarranty.value

	intResult = intResult - (form.scTax.value * 9)

	intResult = intResult - form.scSellerPaid.value

	intResult = intResult - form.scBalance.value

	

	form.scResult.value = intResult

}


























