
function showPreviousAddr(b) {
	if (b) {
		document.getElementById("prevaddr").style.display = 'block';
	} else {
		document.getElementById("prevaddr").style.display = 'none';
	}
}

function showLoanVars(elem) {
	if (elem.value == "ARM") { 
		document.getElementById("divARMLoan").style.display = 'block';
		document.getElementById("divBalloonLoan").style.display = 'none';
		document.getElementById("divFixedLoan").style.display = 'none';
	}
	if (elem.value == "BALLOON") { 
		document.getElementById("divARMLoan").style.display = 'none';
		document.getElementById("divBalloonLoan").style.display = 'block';
		document.getElementById("divFixedLoan").style.display = 'none';
	}
	if (elem.value == "FIXED") { 
		document.getElementById("divARMLoan").style.display = 'none';
		document.getElementById("divBalloonLoan").style.display = 'none';
		document.getElementById("divFixedLoan").style.display = 'block';
	}
}

function togglePurpose(elem) {
	if (elem.value == "Purchase") { 
		document.getElementById("divPurchase").style.display = 'block';
		document.getElementById("divRefinance").style.display = 'none';
	}
	if (elem.value == "Refinance") { 
		document.getElementById("divPurchase").style.display = 'none';
		document.getElementById("divRefinance").style.display = 'block';
	}
}

function formatSSN(id){
	//var e = event.srcElement;
	var e = document.getElementById(id);
	var str1, str2, str3;
	var ssn;
	
	ssn = validateNumeric(e.value);
	// Remove any '-' characters present in the value if it was formatted earlier.
	ssn = ssn.replace(/-/g, "");
	ssn = ssn.replace(/ /g, "");
			
	if (ssn.length == 9){
		str3 = ssn.substring(ssn.length-4);
		ssn = ssn.substring(0, ssn.length-4);

		str2 = ssn.substring(ssn.length-2);
		ssn = ssn.substring(0, ssn.length-2);

		str1 = ssn.substring(ssn.length-3);
	
		e.value = str1 + "-" + str2 + "-" + str3;
	}
	else if(ssn.length == 0){
		//Do nothing!
	}
	else{
		alert("Please enter a valid Social Security Number.");
		e.focus();
		e.select();
	}
}

function formatPhone(id){
	var frm = document.frmFullApp;
	//var e = window.event.srcElement;
	var e = document.getElementById(id);
	var str1, str2, str3, ext, extPos;
	var phone, len, result, x;	
	phone = validateNumeric(e.value);
	phone = phone.toUpperCase(phone);	
	// Remove any format characters present in the value if it was formatted earlier.
	result = "";
	len = phone.length;
	for (i=0; i<len; i++){
		x = phone.substring(i,i+1);
		switch (x){
			case  "(":
				break;
			case ")":
				break;
			case " ":
				break;
			case "-":
				break;
			default:
				result = result + x;
				break;	
		}
	}
	phone = result;
	ext = "";
	
	// Format the phone					
	if (phone.length >= 10){
			// Extract any extension part if exists.
			if (phone.length > 10){
				x = phone.length - 10;
				ext = phone.substring(phone.length-x);
				phone = phone.substring(0,phone.length-x);
				ext = "x:" + ext;
			}
			str3 = phone.substring(phone.length-4);
			phone = phone.substring(0, phone.length-4);
	
			str2 = phone.substring(phone.length-3);
			phone = phone.substring(0, phone.length-3);

			str1 = phone.substring(phone.length-3);
	
			e.value = "(" + str1 + ") " + str2 + "-" + str3 //+ " " + ext;
		}
	else if (phone.length > 0 && phone.length < 10){
	//	alert("Please enter a valid Phone Number.");
	//	e.focus();
	//	e.select();
	}
	else
		e.value = "";
}

function populateUnits() {
	var frm = document.frmFullApp;
	if (frm.property_type.value == "SFR") {
		frm.number_of_units.value = "1";
	}
	else {
		frm.number_of_units.value = "";
	}	
}

function validateNumeric(number){   
	//	Description:	Removes any non-numeric characters from the input field.
	var str = number;   
	var result = "";  
	// Check to see if '0-9'  
	for (var i = 0; i < str.length; i++){
		var ch = str.substring(i, i + 1);      
		if (isNaN(ch))
			result = result;
		else
			result = result + ch;
	}   
	return result;
}

function checkPhone(p) {
	var re = /\([0-9]{3}\) [0-9]{3}-[0-9]{4}/;
	if (!re.test(p.value)) {
		//p1.focus();
		return("bad");
	}
}

function isValidEmail(email, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.lastIndexOf("@") == email.length-1) {  // @ must not be the last character
        return false;
    } else if (email.lastIndexOf(".") == email.length-1) {  // . must not be the last character
        return false;
    }
    return true;
}

function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}

function frmValidate() {
	var ok = true;
	var frm = document.forms['frmFullApp'];
	if (frm.elements['oid'].value == "") { frm.elements['oid'].className = "alert"; ok = false; }
	if (frm.elements['referral'].value == "") { frm.elements['referral'].className = "alert"; ok = false; }
	if (frm.elements['referral_other'].value == "") { frm.elements['referral_other'].className = "alert"; ok = false; }
	if (frm.elements['homephone'].value == "" && frm.elements['cellphone'].value == "" && frm.elements['workphone'].value == "") { frm.elements['homephone'].className = "alert"; frm.elements['cellphone'].className = "alert"; frm.elements['workphone'].className = "alert"; ok = false; }
	if (frm.elements['street'].value == "") { frm.elements['street'].className = "alert"; ok = false; }
	if (frm.elements['city'].value == "") { frm.elements['city'].className = "alert"; ok = false; }
	if (frm.elements['state'].value == "") { frm.elements['state'].className = "alert"; ok = false; }
	if (frm.elements['zip'].value == "") { frm.elements['zip'].className = "alert"; ok = false; }

	if (frm.elements['firstname'].value == "") { frm.elements['firstname'].className = "alert"; ok = false; }
	if (frm.elements['lastname'].value == "") { frm.elements['lastname'].className = "alert"; ok = false; }
	if (frm.elements['ssn'].value == "") { frm.elements['ssn'].className = "alert"; ok = false; }
	if (! isValidEmail(frm.elements["emailaddress"].value)) { frm.elements['emailaddress'].className = "alert"; ok = false; }
	if (frm.elements['birthmonth'].value == "") { frm.elements['birthmonth'].className = "alert"; ok = false; }
	if (frm.elements['birthday'].value == "") { frm.elements['birthday'].className = "alert"; ok = false; }
	if (frm.elements['birthyear'].value == "") { frm.elements['birthyear'].className = "alert"; ok = false; }
	if (!ok) {
		window.scroll(0,0); 
		alert("You missed some of the required fields. Please look for the fields highlighted in yellow.");
	}
	return ok;
}

