function calculate() {
// Get the user's input from the form. Assume it is all valid.
// Convert interest from a percentage to a decimal, and convert from
// an annual rate to a monthly rate. Convert payment period in years
// to the number of monthly payments.
var monthlypayment = document.loandata.monthlypayment.value;
var maintenancefees = document.loandata.maintenancefees.value;
var peryear = document.loandata.peryear.value;
//MFM
var MemebershipDues = document.loandata.membershipdues.value;
var ExchangeFees = document.loandata.exchangefees.value;
// Now compute the monthly payment figure, using esoteric math.
// var x = Math.pow(1 + interest, payments);
// var monthly = (principal*x*interest)/(x-1);
var monthlypaymentx12months = (monthlypayment * 12);
var maintenancex12months = (maintenancefees * peryear);
var paymentandmaintenance = (monthlypaymentx12months + maintenancex12months);
var yearlypaymentx10years = (monthlypaymentx12months *10);
var yearlymaintenancex10years = (((maintenancefees*peryear) *10)*1.55133);
var total10yearpaymentandmaintenance = (yearlypaymentx10years + yearlymaintenancex10years);
//MFM
var MembershipDuesExchangeFeesx10 = (round(MemebershipDues) + round(ExchangeFees)) * 10;
var AnnualTimeShareCost = round(((round(yearlypaymentx10years) + round(yearlymaintenancex10years) + round(MembershipDuesExchangeFeesx10))/10));
// Check that the result is a finite number. If so, display the results
// if (!isNaN(monthly) &&
// (monthly != Number.POSITIVE_INFINITY) &&
// (monthly != Number.NEGATIVE_INFINITY)) {
document.loandata.monthlypaymentx12months.value = round(monthlypaymentx12months);
document.loandata.maintenancex12months.value = round(maintenancex12months);
document.loandata.paymentandmaintenance.value = round(paymentandmaintenance);
document.loandata.yearlypaymentx10years.value = round(yearlypaymentx10years);
document.loandata.yearlymaintenancex10years.value = round(yearlymaintenancex10years);
document.loandata.total10yearpaymentandmaintenance.value = round(total10yearpaymentandmaintenance);
// MFM
document.loandata.total10yearpaymentandmaintenance.value = round(round(yearlypaymentx10years) + round(yearlymaintenancex10years) + round(MembershipDuesExchangeFeesx10));
document.loandata.membershipplusexchangex10years.value = round(MembershipDuesExchangeFeesx10);
document.loandata.anualtimesharevacationcost.value = AnnualTimeShareCost;
// }
// Otherwise, the user's input was probably invalid, so don't
// display anything.
// else {
// document.loandata.payment.value = "nope";
// document.loandata.total.value = "nope";
// document.loandata.totalinterest.value = "nope";
// }
}
// This simple method rounds a number to two decimal places.
function round(x) {
return Math.round(x*100)/100;
}




// EXTRA CODES //

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 clearText(field){

    if (field.defaultValue == field.value) field.value = '';
    else if (field.value == '') field.value = field.defaultValue;

}

function validateForm(form) {
	
	
	var error_flag = false;
	var error_message = '';
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

	//check for full_name
	if(form.s_name) {
		if(form.s_name.value.length < 2) {
			error_message += "\nPlease fill in your name.";
			error_flag = true;
		}
	}
	//check for email
	if(form.s_email) {
		if(!filter.test(form.s_email.value)) {
			error_message += "\nPlease enter a valid email address.";
			error_flag = true;
		}
	}
	//check for phone
	if(form.s_telephone) {
		if(form.s_telephone.value.length < 10 || form.s_telephone.defaultValue === form.s_telephone.value) {
			error_message += "\nPlease enter a valid phone number.";
			error_flag = true;
		}
	}
	//check for no. of rooms
	if(form.s_rooms) {
		if(form.s_rooms.value.length < 1) {
			error_message += "\nPlease enter the number of rooms.";
			error_flag = true;
		}
	}
	//check for approx. sq. ft.
	if(form.s_sqrt) {
		if(form.s_sqrt.value.length < 1) {
			error_message += "\nPlease enter the approx. sq. ft.";
			error_flag = true;
		}
	}
	//check for message
	if(form.s_subject) {
		if(form.s_subject.value.length < 1) {
			error_message += "\nPlease enter your subject.";
			error_flag = true;
		}
	}
	//check for message
	if(form.s_message) {
		if(form.s_message.value.length < 4) {
			error_message += "\nPlease enter your message.";
			error_flag = true;
		}
	}
	// CAPTCHA (MODIFIED FROM http://typicalwhiner.com/190/simple-javascript-captcha-generator/)
	if(form.captcha_challenge && form.captcha_response) {
		if(form.captcha_response.value.length < 1) {
			error_message += "\nPlease enter the code in red.";
			error_flag = true;
		}
		else if((removeSpaces(form.captcha_challenge.value) != removeSpaces(form.captcha_response.value))) {
			error_message += "\nRed code did not match!";
			error_flag = true;
		}
	} // END CAPTCHA
	// CAPTCHA EMILY
	if(form.emily) {
		if(form.emily.value.length > 0) {
			error_message += "\nPlease leave the last field blank.";
			error_flag = true;
		}
	} // END CAPTCHA EMILY
	// display notice
	if(error_flag) {
		error_message = "The following error(s) occured:\n" + error_message;
		alert(error_message);
		return false;
	}
	// submit form
	return true;
}
// Remove the spaces from the entered and generated code
function removeSpaces(string){
	return string.split(' ').join('');
}

//function validateForm() {
//	var name = document.getElementById("s_name");
//	if(document.getElementById("s_email")) {
//		var email = document.getElementById("s_email");
//	}
//	if(document.getElementById("s_telephone")) {
//		var telephone = document.getElementById("s_telephone");
//	}
//	var message = document.getElementById("s_message");
//	var err = false;
//	var errmsg = "";
//	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
//	if(trimAll(name.value).length<1) {
//		errmsg += "\nYour name is required.";
//		err = true;
//		name.focus();
//	}
//	if(document.getElementById("s_email")) {
//		if(!filter.test(email.value)) {
//			errmsg += "\nEmail must be valid.";
//			err = true;
//		}
//	}
//	if(document.getElementById("s_telephone")) {
//		if(trimAll(telephone.value).length<1) {
//			errmsg += "\nYour telephone number is required.";
//			err = true;
//		}
//		else if(trimAll(telephone.value).length<10) {
//			errmsg += "\nValid telephone number is required.";
//			err = true;
//		}
//	}
//	if(trimAll(message.value).length<1) {
//		errmsg += "\nMessage is required.";
//		err = true;
//	}
//	if(err) {
//		errmsg = "Following error(s) occurred:\n" + errmsg;
//		alert(errmsg);
//		return false;
//	}
//	else {
//		document.getElementById("form1").submit();
//	}
//}

function trimAll(sString) {
	while (sString.substring(0,1) == ' ') {
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ') {
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}

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];}}
}
