function numbersOnly(e, field, size)
{
    document.getElementById(field).setAttribute('maxLength', size);
    var key = e.keyCode || e.which;

    if (key < 46 || key > 57 || key == 47 || key == 46)
    { 
        e.returnValue = false;
    }
    if (key ==8 || key ==9)
    { 
        return true; 
    } else { 
        if (key < 46 || key > 57 || key == 47 || key == 46 && key != 8 && key != 9)
        { 
            if (e.preventDefault) e.preventDefault();
        }
    }
    return true;
}

function numbersDash(e, field, size)
{
    document.getElementById(field).setAttribute('maxLength', size);
    var key = e.keyCode || e.which;

    if(key == 45)
    {
        return true;
    }
    else if (key < 46 || key > 57 || key == 47 || key == 46)
    { 
        e.returnValue = false;
    }
    if (key ==8 || key ==9 || key == 45)
    { 
        return true; 
    } else { 
        if (key < 46 || key > 57 || key == 47 && key != 8 && key != 9)
        { 
            if (e.preventDefault) e.preventDefault();
        }
    }
    return true;
}

function formatPhone(e, field, size) {

    document.getElementById(field).setAttribute('maxLength', size);
    var src = (typeof e.target != 'undefined') ? e.target : e.srcElement;
    var key = e.keyCode || e.which;
    var x = src.value.length;
    
    if(key==13) return true;  //allow enter

    if (key < 46 || key > 57 || key == 47 || key == 46)
    { 
        e.returnValue = false;
    }
    if (key ==8 || key ==9)
    { 
        return true; 
    } else { 
        if (key < 46 || key > 57 || key == 47 || key == 46 && key != 8 && key != 9)
        { 
            if (e.preventDefault) e.preventDefault();
        }
    }
    if (x == 3) src.value += '-';
    if (x == 7) src.value += '-';
}

function formatPhoneWExten(e, field, size) {
        
    document.getElementById(field).setAttribute('maxLength', size);
    var src = (typeof e.target != 'undefined') ? e.target : e.srcElement;
    var key = e.keyCode || e.which;
    var x = src.value.length;

    if (key == 32 || key == 120 || key == 88)
        e.returnValue = true;
    else if (key < 46 || key > 57 || key == 47 || key == 46)
    { 
        e.returnValue = false;
    }
    if (key ==8 || key ==9 || key == 32 || key == 88 || key == 120)
    { 
        return true; 
    } else { 
        if (key < 46 || key > 57 || key == 47 || key == 46 && key != 8 && key != 9 && key != 32 && key != 88)
        { 
            if (e.preventDefault) e.preventDefault();
        }
    }
    if (x == 3) src.value += '-';
    if (x == 7) src.value += '-';
}

function formatSS(e, field, size) {
    document.getElementById(field).setAttribute('maxLength', size);
    var src = (typeof e.target != 'undefined') ? e.target : e.srcElement;
    var key = e.keyCode || e.which;
    var x = src.value.length;

    if (key < 46 || key > 57 || key == 47 || key == 46)
    { 
        e.returnValue = false;
    }
    if (key ==8 || key ==9)
    { 
        return true; 
    } else { 
        if (key < 46 || key > 57 || key == 47 || key == 46 && key != 8 && key != 9)
        { 
            if (e.preventDefault) e.preventDefault();
        }
    }
    if (x == 3) document.getElementById(field).value += '-';
    if (x == 6) document.getElementById(field).value += '-';
    return true;
}

function formatDate(e, field, size) {
    document.getElementById(field).setAttribute('maxLength', size);
    var src = (typeof e.target != 'undefined') ? e.target : e.srcElement;
    var key = e.keyCode || e.which;
    var x = src.value.length;

    if (key < 46 || key > 57 || key == 47 || key == 46)
    { 
        e.returnValue = false;
    }
    if (key ==8 || key ==9)
    { 
        return true; 
    } else { 
        if (key < 46 || key > 57 || key == 47 || key == 46 && key != 8 && key != 9)
        { 
            if (e.preventDefault) e.preventDefault();
        }
    }
    if (x == 4) document.getElementById(field).value += '-';
    if (x == 7) document.getElementById(field).value += '-';
    return true;
}

function isValidDate(dateStr, field) {
    var datePat = /^(\d{4})(-)(\d{2})\2(\d{2})$/;
    if(dateStr != "")
    {
        var matchArray = dateStr.match(datePat); // is the format ok?
        if (matchArray == null) {
            alert("Date is not in a valid format. YYYY-MM-DD")
            document.getElementById(field).focus();
            return false;
        }
        month = matchArray[3]; // parse date into variables
        day = matchArray[4];
        year = matchArray[1];

        if (month < 1 || month > 12) { // check month range
            alert("Month must be between 1 and 12.");
            document.getElementById(field).focus();
            return false;
        }
        if (day < 1 || day > 31) {
            alert("Day must be between 1 and 31.");
            document.getElementById(field).focus();
            return false;
        }
        if ((month==4 || month==6 || month==9 || month==11) && day==31) {
            alert("Month "+month+" doesn't have 31 days!")
            document.getElementById(field).focus();
            return false
        }
        if (month == 2) { // check for february 29th
            var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
            if (day>29 || (day==29 && !isleap)) {
                alert("February " + year + " doesn't have " + day + " days!");
                document.getElementById(field).focus();
                return false;
           }
        }
    }
    return true;  // date is valid
}

function validNumber(e, field) {
    var src = (typeof e.target != 'undefined') ? e.target : e.srcElement;

    if (src.value != null || src.value != "");
    {
        if (isNaN(src.value)) {
                alert("Not a Valid Number.");
                src.focus();
        }
    }
}

function numbersDecimal(e, field, size)
{
    document.getElementById(field).setAttribute('maxLength', size);
    var key = e.keyCode || e.which;

    if(key == 45 || key == 46)
    {
        return true;
    }
    else if (key < 46 || key > 57 || key == 47)
    { 
        e.returnValue = false;
    }
    if (key ==8 || key ==9 || key == 45 || key == 46)
    { 
        return true; 
    } else { 
        if (key < 46 || key > 57 || key == 47 && key != 8 && key != 9)
        { 
            if (e.preventDefault) e.preventDefault();
        }
    }
    return true;
}

function textNoQuotes(e, field, size)
{
    document.getElementById(field).setAttribute('maxLength', size);
    var key = e.keyCode || e.which;

    if (key == 34 || key == 39 || key == 96)
    { 
        e.returnValue = false;
    }
    if (key ==8 || key ==9)
    { 
        return true; 
    } else { 
        if (key == 34 || key == 39 || key == 96)
        { 
            if (e.preventDefault) e.preventDefault();
        }
    }
}

function restrict(e, field, size)
{
    document.getElementById(field).setAttribute('maxLength', size);
    var key = e.keyCode || e.which;

    if (key == 34 || key == 39 || key == 96 || key == 61 || key == 124)
    { 
        e.returnValue = false;
    }
    if (key ==8 || key ==9)
    { 
        return true; 
    } else { 
        if (key == 34 || key == 39 || key == 96 || key == 61 || key == 124)
        { 
            if (e.preventDefault) e.preventDefault();
        }
    }       
}
function submitRateLookup() {

    var lAmount = document.form1.loan_amount.value;
    var pValue = document.form1.appraisedvalue.value;
    var loanProduct1 = document.form1.loanProduct1.value;  
    if(pValue == 0){
        pValue = parseInt(lAmount) / .8;
    }
    
    if(parseInt(lAmount) > parseInt(pValue))
    {
        alert("Loan Amount cannot be greater than property value.");
        document.form1.loan_amount.focus();
    }else if(parseInt(lAmount) == 0 && parseInt(pValue) == 0){
        alert("Please enter a valid Loan Amount and Purchase Price.");
        document.form1.loan_amount.focus();
    }else if(lAmount == ""){
        alert("Please enter a valid Loan Amount.");
        document.form1.loan_amount.focus();
    }else if(pValue == ""){
        alert("Please enter a valid Property Value.");
        document.form1.appraisedvalue.focus();
    }else if(document.form1.loanProduct1.value == -1 && document.form1.loanProduct2.value == -1 && document.form1.loanProduct3.value == -1){
        alert("Please select a loan program.");
        document.form1.loanProduct1.focus();
    }else if(loanProduct1 == ""){
        alert("Please select at least the first program.");
        document.form1.loanProduct1.focus();
    }else{
	document.form1.appraisedvalue.value=pValue;
        document.form1.submit();
    }
}
function getCounty(x) 
{
//        new Ajax.Request('https://mpg.mortech-inc.com/mpg/servlet/countyServlet', {
//              asynchronous: true,
//              method: "get",
//              parameters: {state: $F('propertyState'),cache: new Date()},
//              onSuccess: function(request) {
//                    showResults(request.responseText,x);
//              }
//        })
}
function showResults(message,x) 
{
        var msg_div = $('propertyCounty');
        var msgArray = message.split(",");
        msg_div.options.length = 0;
        for(var i=0; i < msgArray.length; i++)
        {
                msg_div.options[i] = new Option(msgArray[i].toLowerCase().replace(/\b[a-z]/g, function() { return arguments[0].toUpperCase(); }),msgArray[i]);                
                if(msgArray[i] == document.form1.countyValue.value && x == 0)
                        msg_div.options[i].selected = true;
        }
        if(x == 1)
                msg_div.options[0].selected = true;
}    

function drop_down_list()
{
  var state = jQuery('#propertyState').val();

    // Alaska and District Columbia have no counties
    if(state == 'AK' || state == 'DC')
    {
    jQuery('#county_drop_down').hide();
    jQuery('#no_county_drop_down').show();
    }
    else
    {
    // Show the Loading...
    jQuery('#loading_county_drop_down').show(); 

    // Hide the drop down
    jQuery('#county_drop_down').hide();

    // Hide the "no counties" message (if it's the case)
    jQuery('#no_county_drop_down').hide();
    jQuery.getScript("inc/states/"+ state.toLowerCase() +".js", function(){
    populate(document.getElementById('propertyCounty'));

    // Hide the Loading...
    jQuery('#loading_county_drop_down').hide();

    // Show the drop down
    jQuery('#county_drop_down').show();
  });
}
}


