// JavaScript Document
var iFirst = 0;
var errorMsg = '';

function checkForm(a,b,c,d,e,f) {
	var retVal = true;
	var errorMsg = 'Please correct the following: \n\n';
	if (e == '') {
		errorMsg = errorMsg + '    * Name \n';
		retVal = false;
	}
	if (!checkMail(a,b,'','','',true) || a == '') {
		errorMsg = errorMsg + '    * Email \n';
		retVal = false;
	}
	if (!FormatPhone(c,d,'','','',true) || c == '') {
		errorMsg = errorMsg + '    * Phone \n';
		retVal = false;
	}
	if (f == '' || f == 'Type your message here.') {
		errorMsg = errorMsg + '    * Unfilled message \n';
		retVal = false;
	}
	if (retVal == false) {
		alert(errorMsg);
		errorMsg='';
	}
	return retVal;
}

function fnHideElement(passedElement) {
	if (document.getElementById(passedElement).style.display !='none') {
		document.getElementById(passedElement).style.display='none';
	}
}

function fnShowElement(passedElement) {
	if (document.getElementById(passedElement).style.display =='none') {
		document.getElementById(passedElement).style.display='block';
	}
}

function fnStub() {
	return false;
}

function checkNum(data) {      // checks if all characters
	var valid = "0123456789.";     // are valid numbers or a "."
	var ok = 1; var checktemp;
	for (var i=0; i<data.length; i++) {
		checktemp = "" + data.substring(i, i+1);
		if (valid.indexOf(checktemp) == "-1") return 0; 
	}
	return 1;
}
function dollarAmount(number) { // idea by David Turley
	Num = "" + eval(number);
	dec = Num.indexOf(".");
	end = ((dec > -1) ? "" + Num.substring(dec,Num.length) : ".00");
	Num = "" + parseInt(Num);
	var temp1 = "";
	var temp2 = "";
	if (checkNum(Num) == 0) {
		alert("This does not appear to be a valid number.  Please try again.");
	}
	else {
		if (end.length == 2) end += "0";
		if (end.length == 1) end += "00";
		if (end == "") end += ".00";
		var count = 0;
		for (var k = Num.length-1; k >= 0; k--) {
			var oneChar = Num.charAt(k);
			if (count == 3) {
				temp1 += ",";
				temp1 += oneChar;
				count = 1;
				continue;
			}
			else {
				temp1 += oneChar;
				count ++;
			}
		}
		for (var k = temp1.length-1; k >= 0; k--) {
			var oneChar = temp1.charAt(k);
			temp2 += oneChar;
		}
		temp2 = "$" + temp2 + end;
		return " " + temp2;
	}
}

function fnCalculateLoan() {
	var princ = document.LoanCalculatorForm.price.value - document.LoanCalculatorForm.downpayment.value;
	var term  = document.LoanCalculatorForm.term.value;
	if (document.LoanCalculatorForm.rate.value == 0) {
		var intr   = 0.0000001 / 1200;
	} else {
		var intr   = document.LoanCalculatorForm.rate.value / 1200;
	}
	document.getElementById('monthlypayment').innerHTML = dollarAmount(Math.round(princ * intr / (1 - (Math.pow(1/(1 + intr), term)))*100)/100) +'<span class="month"> /month</span>';
}

function checkEmailField() {
	if(document.EmailForm.MailFrom.value.indexOf("@") > 0 & document.EmailForm.MailFrom.value.indexOf(".") > 0 & document.EmailForm.MailFrom.value.indexOf(" ") == -1)
		{return true;}
	else
		{errorMsg = 'Please enter a valid email address.';return false;}
	}

function checkPhone() {
	if (document.EmailForm.Phone.value != '') {
		if (document.EmailForm.Phone.value.length >= 10) {
			return true;
		}
		else {
			errorMsg = 'Please enter a valid phone number including area code.';
			return false;
		}
	}
	else {
		return true;
	}
}
function checkName() {
	if (document.EmailForm.FullName.value.length > 5 & document.EmailForm.FullName.value.indexOf(" ") > 0)
		{return true;}
	else
		{errorMsg = 'Please enter your full name.';return false;}
}

function fnValidateEmail(str) {
   return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
}
function fnCheckMoreInfoEmail() {
	//alert('fnCheckMoreInfoEmail Stub');
	var bHasError = false;
	var sErrorMSG = '';	
	if (document.getElementById('ef_Fullname').value != '') {
		bHasError = false;
		document.getElementById('ef_Fullname').style.background = '#ffffff';
		document.getElementById('ef_Fullname').style.border = '1px solid #999';
	}
	else {
		bHasError = true;
		document.getElementById('ef_Fullname').style.background = '#E6F4FF';
		document.getElementById('ef_Fullname').style.border = '1px solid #999';
		sErrorMSG += 'The Name field is required.\n';
	}
	
	if (document.getElementById('ef_MailFrom').value != '') {
		if (fnValidateEmail(document.getElementById('ef_MailFrom').value)) {
			bHasError = false;
			document.getElementById('ef_MailFrom').style.background = '#ffffff';
			document.getElementById('ef_MailFrom').style.border = '1px solid #999';
		}
		else {
			bHasError = true;
			document.getElementById('ef_MailFrom').style.background = '#E6F4FF';
			document.getElementById('ef_MailFrom').style.border = '1px solid #999';
			sErrorMSG += 'The email address you have provided is invalid.\n';
		}
	}
	else {
		bHasError = true;
		document.getElementById('ef_MailFrom').style.background = '#E6F4FF';
		document.getElementById('ef_MailFrom').style.border = '1px solid #999'; 
	}
	
	if (document.getElementById('ef_Phone').value != '') {
		bHasError = false;
		document.getElementById('ef_Phone').style.background = '#ffffff';
		document.getElementById('ef_Phone').style.border = '1px solid #999';
	}
	else {
		bHasError = true;
		document.getElementById('ef_Phone').style.background = '#E6F4FF';
		document.getElementById('ef_Phone').style.border = '1px solid #999';
		sErrorMSG += 'The Phone field is required.\n';
	}
	
	if (document.getElementById('ef_Message').value != '') {
		bHasError = false;
		document.getElementById('ef_Message').style.background = '#ffffff';
		document.getElementById('ef_Message').style.border = '1px solid #999';
	}
	else {
		bHasError = true;
		document.getElementById('ef_Message').style.background = '#E6F4FF';
		document.getElementById('ef_Message').style.border = '1px solid #999';
		sErrorMSG += 'The Message field is required.\n';
	}

	if (bHasError) {
		alert('The form you are submitting has an error:\n\n'+sErrorMSG+'\nPlease fix the blue highlighted fields that contain the errors and try again');
		return false;
	}
	else {
		return true;
	}

}

function fnCheckMakeOfferEmail() {
	//alert('fnCheckMakeOfferEmail Stub');
	var bHasError = false;
	var sErrorMSG = '';

	if (document.getElementById('MOEF_FullName').value != '') {
		bHasError = false;
		document.getElementById('MOEF_FullName').style.background = '#ffffff';
		document.getElementById('MOEF_FullName').style.border = '1px solid #999';
	}
	else {
		bHasError = true;
		document.getElementById('MOEF_FullName').style.background = '#E6F4FF';
		document.getElementById('MOEF_FullName').style.border = '1px solid #999';
		sErrorMSG += 'The Name field is required.\n';
	}
	
	if (document.getElementById('MOEF_MailFrom').value != '') {
		if (fnValidateEmail(document.getElementById('MOEF_MailFrom').value)) {
			bHasError = false;
			document.getElementById('MOEF_MailFrom').style.background = '#ffffff';
			document.getElementById('MOEF_MailFrom').style.border = '1px solid #999';
		}
		else {
			bHasError = true;
			document.getElementById('MOEF_MailFrom').style.background = '#E6F4FF';
			document.getElementById('MOEF_MailFrom').style.border = '1px solid #999';
			sErrorMSG += 'The email address that you have entered is invalid.\n';
		}
	}
	else {
		bHasError = true;
		document.getElementById('MOEF_MailFrom').style.background = '#E6F4FF';
		document.getElementById('MOEF_MailFrom').style.border = '1px solid #999'; 
	}
	
	if (document.getElementById('MOEF_Phone').value != '') {
		bHasError = false;
		document.getElementById('MOEF_Phone').style.background = '#ffffff';
		document.getElementById('MOEF_Phone').style.border = '1px solid #999';
	}
	else {
		bHasError = true;
		document.getElementById('MOEF_Phone').style.background = '#E6F4FF';
		document.getElementById('MOEF_Phone').style.border = '1px solid #999';
		sErrorMSG += 'The Phone field is required.\n';
	}
	
	if (document.getElementById('MOEF_Offer').value != '') {
		bHasError = false;
		document.getElementById('MOEF_Offer').style.background = '#ffffff';
		document.getElementById('MOEF_Offer').style.border = '1px solid #999';
	}
	else {
		bHasError = true;
		document.getElementById('MOEF_Offer').style.background = '#E6F4FF';
		document.getElementById('MOEF_Offer').style.border = '1px solid #999';
		sErrorMSG += 'The Offer field is required.\n';		
	}
 
 	if (document.getElementById('MOEF_Message').value != '') {
		bHasError = false;
		document.getElementById('MOEF_Message').style.background = '#ffffff';
		document.getElementById('MOEF_Message').style.border = '1px solid #999';
	}
	else {
		bHasError = true;
		document.getElementById('MOEF_Message').style.background = '#E6F4FF';
		document.getElementById('MOEF_Message').style.border = '1px solid #999';
		sErrorMSG += 'The Message field is required.\n';		
	}


	if (bHasError) {
		alert('The form you are submitting has an error:\n\n'+sErrorMSG+'\nPlease fix the blue highlighted fields that contain the errors and try again');
		return false;
	}
	else {
		return true;
	}
}


function MM_CheckFlashVersion(reqVerStr,msg){
	with(navigator){
		var isIE  = (appVersion.indexOf("MSIE") != -1 && userAgent.indexOf("Opera") == -1);
		var isWin = (appVersion.toLowerCase().indexOf("win") != -1);
		if (!isIE || !isWin){  
			var flashVer = -1;
			if (plugins && plugins.length > 0){
				var desc = plugins["Shockwave Flash"] ? plugins["Shockwave Flash"].description : "";
				desc = plugins["Shockwave Flash 2.0"] ? plugins["Shockwave Flash 2.0"].description : desc;
				if (desc == "") flashVer = -1;
				else{
					var descArr = desc.split(" ");
					var tempArrMajor = descArr[2].split(".");
					var verMajor = tempArrMajor[0];
					var tempArrMinor = (descArr[3] != "") ? descArr[3].split("r") : descArr[4].split("r");
					var verMinor = (tempArrMinor[1] > 0) ? tempArrMinor[1] : 0;
					flashVer =  parseFloat(verMajor + "." + verMinor);
				}      
			}
			// WebTV has Flash Player 4 or lower -- too low for video
			else if (userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 4.0;
				var verArr = reqVerStr.split(",");
				var reqVer = parseFloat(verArr[0] + "." + verArr[2]);
			if (flashVer < reqVer){
				if (confirm(msg))
					window.location = "http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash";
			}
		}  
	} 
}

function fnShowAction(layer) {
	var aLayers = new Array("MakeOffer","EmailSeller","PaymentEstimator","EmailToFriend");
	for (i = 0; i < aLayers.length; ++i) {
		if (layer == aLayers[i]) {
			document.getElementById(layer).style.display = 'block';
		}
		else {
			document.getElementById(aLayers[i]).style.display = 'none';
		}
	}
	document.getElementById('actionlayer').style.display = 'block';
}

function fnCloseAction() {
	document.getElementById('actionlayer').style.display = 'none';
}		
