// JavaScript Document

function verifyExpenseForm() {
	var tableCellNames = new Array('l_expense_abbr', 'l_expense_amount');
	// reset all of the table cell styles
    for (i=0; i < tableCellNames.length; i++) {
        document.getElementById(tableCellNames[i]).className = '';
    }
	
	var displayalert = false;
	
	if (document.expenseform.expense_abbr.value == "") {
	  displayalert = true;
	  document.getElementById('l_expense_abbr').className = "formlabelerror";
	}
	if (document.expenseform.expense_amount.value == "") {
	  displayalert = true;
	  document.getElementById('l_expense_amount').className = "formlabelerror";
	}

	if (displayalert == false) {
		return true;
	}
	else {
		var errormessage = "Please complete all required fields. Missing fields are now flagged in red.";
		alert(errormessage);
		return false;
	}

}

function verifyInputForm() {

	// define a list of all table cell label names
	/*
	var tableCellNames = new Array(
        'l_property_address', 'l_purchase_date', 'l_purchase_price', 'l_list_price', 'l_projected_price',
		'l_projected_annual_increase', 'l_est_closing_costs', 'l_est_commission', 'l_est_primary_home', 
		'l_est_was_primary_home');
	*/
	var tableCellNames = new Array(
        'l_property_address', 'l_property_filing_status', 'l_purchase_date', 'l_purchase_price', 'l_list_price', 
		'l_projected_price', 'l_est_closing_costs', 'l_est_commission', 'l_closing_costs',
		'l_est_primary_home', 'l_est_was_primary_home');
	// reset all of the table cell styles
    for (i=0; i < tableCellNames.length; i++) {
        document.getElementById(tableCellNames[i]).className = '';
    }
	
	var displayalert = false;
	var filingstatusselected = false;

	if (document.inputform.property_address.value <= 1) {
	  displayalert = true;
	  document.getElementById('l_property_address').className = "formlabelerror";
	}
	for (var i = 0; i < 4; i++){
		if (document.inputform.property_filing_status[i].checked){
			filingstatusselected = true;
		}
	}
	if (filingstatusselected == false) {
		displayalert = true;
		document.getElementById('l_property_filing_status').className = "formlabelerror";
	}
	if (document.inputform.purchase_date_m.value == "00") {
	  displayalert = true;
	  document.getElementById('l_purchase_date').className = "formlabelerror";
	}
	if (document.inputform.purchase_date_d.value == "00") {
	  displayalert = true;
	  document.getElementById('l_purchase_date').className = "formlabelerror";
	}
	if (document.inputform.purchase_date_y.value == "0000") {
	  displayalert = true;
	  document.getElementById('l_purchase_date').className = "formlabelerror";
	}
	if (document.inputform.purchase_price.value <= 1) {
	  displayalert = true;
	  document.getElementById('l_purchase_price').className = "formlabelerror";
	}
	if (document.inputform.list_price.value <= 1) {
	  displayalert = true;
	  document.getElementById('l_list_price').className = "formlabelerror";
	}
	if (document.inputform.projected_price.value <= 1) {
	  displayalert = true;
	  document.getElementById('l_projected_price').className = "formlabelerror";
	}
	if (document.inputform.est_closing_costs.value == "") { // zero is allowed
	  displayalert = true;
	  document.getElementById('l_est_closing_costs').className = "formlabelerror";
	}
	if (document.inputform.est_commission.value == "") { // zero is allowed
	  displayalert = true;
	  document.getElementById('l_est_commission').className = "formlabelerror";
	}
	if (document.inputform.closing_costs.value == "") { // zero is allowed
	  displayalert = true;
	  document.getElementById('l_closing_costs').className = "formlabelerror";
	}
	if (document.inputform.est_primary_home.value <= 1) {
	  displayalert = true;
	  document.getElementById('l_est_primary_home').className = "formlabelerror";
	}
	if (document.inputform.est_was_primary_home.value <= 1) {
	  displayalert = true;
	  document.getElementById('l_est_was_primary_home').className = "formlabelerror";
	}

	if (displayalert == false) {
		return true;
	}
	else {
		var errormessage = "Please complete all required fields. Missing fields are now flagged in red.";
		alert(errormessage);
		return false;
	}

}

function menuroll(imgName, imgSrc) {
     document.images[imgName].src = imgSrc;
}

function NewWindow(mypage, myname, w, h, scroll) {
	// ADD TO <A> TAG:  onClick="NewWindow(this.href,'pop','750','550','no');return false;"
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+''
	win = window.open(mypage, myname, winprops)
	if (parseInt(navigator.appVersion) >= 4) {
		win.window.focus();
	}
}

function JumpMenu(selObj) {
	// ADD onchange="JumpMenu(this)" TO SELECT TAG
	// make sure OPTION values are all complete files, not just variables
	eval("parent.location='"+selObj.options[selObj.selectedIndex].value+"'");
}

function stripCommas(numString) {
	var re = /,/g;
	return numString.replace(re,"");
}

function checkEmail($email) {
	if (!preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!\.)){0,61}[a-zA-Z0-9]?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $email)) {
		return false;
	}
	return true;
}

// adds commas to form field values
function commaSplit(srcNumber) {
	var txtNumber = '' + srcNumber;
	if (isNaN(txtNumber) || txtNumber == "") { // isNaN(txtNumber) || 
		//alert("Oops!  That does not appear to be a valid number.  Please try again.");
		//fieldName.select();
		//fieldName.focus();
		return srcNumber; // added by TLH since number fields may not be required
	}
	else {
		var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
		var arrNumber = txtNumber.split('.');
		arrNumber[0] += '.';
		do {
			arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
		} while (rxSplit.test(arrNumber[0]));
		if (arrNumber.length > 1) {
			return arrNumber.join('');
		}
		else {
			return arrNumber[0].split('.')[0];
		}
   }
}

// remove Google Toolbar yellow form field backgrounds in IE:

if(window.attachEvent)
    window.attachEvent("onload",setListeners);
function setListeners(){
    inputList = document.getElementsByTagName("INPUT");
    for(i=0;i<inputList.length;i++){
      inputList[i].attachEvent("onpropertychange",restoreStyles);
      inputList[i].style.backgroundColor = "";
    }
    selectList = document.getElementsByTagName("SELECT");
    for(i=0;i<selectList.length;i++){
      selectList[i].attachEvent("onpropertychange",restoreStyles);
      selectList[i].style.backgroundColor = "";
    }
}

function restoreStyles(){
	if(event.srcElement.style.backgroundColor != "")
		event.srcElement.style.backgroundColor = "";
}

// Dreamweaver roll-over code

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

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 MM_findObj(n, d) { //v4.01
  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 && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}