﻿function checkForm(formtype) {
    //alert(formtype);
    var validated = true;
    if (formtype == "ValueTrade") {
        var name = $("input[name=tbFromNameTradeIn]");
        var email = $("input[name=tbFromEmailTradeIn]");
        var phone = $("input[name=tbPhoneTradeIn]");
        var make = $("input[name=tbMakeTradeIn]");
        var model = $("input[name=tbModelTradeIn]");
        var year = $("input[name=tbYearTradeIn]");
        var odometer = $("input[name=tbMileageTradeIn]");
        var comments = $("textarea[name=taMessageTradeIn]");
        if (!hasValue(name, email, phone, make, model, year, odometer, comments)) return false;
        else {
            if (!vdEmail(email)) return false;
            if (!vdPhone(phone)) return false;
            if (!numericOnly(year)) return false;
            if (!numericOnly(odometer)) return false;
        }
    }
    else if (formtype == "ScheduleTestDrive") {
        var name = $("input[name=tbFromNameTestDrive]");
        var email = $("input[name=tbFromEmailTestDrive]");
        var phone = $("input[name=tbPhoneTestDrive]");
        var time = $("input[name=testDriveTime_dateInput_text]");
        var message = $("textarea[name=taMessageTestDrive]");
        if (!hasValue(name, email, phone, time, message)) return false;
        else {
            if (!vdEmail(email)) return false;
            if (!vdPhone(phone)) return false;
        }

    }
    else if (formtype == "RequestInfo") {
        var name = $("input[name=tbFromName]");
        var email = $("input[name=tbFromEmail]");
        var phone = $("input[name=tbPhone]");
        var zip = $("input[name=tbZip]");
        var message = $("textarea[name=taMessage]");
        if (!hasValue(name, email, phone, zip, message)) return false;
        else {
            if (!vdEmail(email)) return false;
            if (!vdPhone(phone)) return false;
        }
    }
    else if (formtype == "MakeOffer") {
        var name = $("input[name=tbFromNameOffer]");
        var email = $("input[name=tbFromEmailOffer]");
        var phone = $("input[name=tbPhoneOffer]");
        var offer = $("input[name=tbOffer]");
        var comments = $("textarea[name=taMessageOffer]");
        if (!hasValue(name, email, phone, offer, comments)) return false;
        else {
            if (!vdEmail(email)) return false;
            if (!vdPhone(phone)) return false;
        }

    }
    else {
        //alert('Whatchu talkin\' bout Willis?');
        return false;
    }

    return validated;
}


function highlight(obj) {
    $(obj).addClass('invalid_field');
    $(obj).focus(function () {
        $(this).removeClass('invalid_field');
    });

}
function fieldError(message) {
    $('.field_error_box').fadeOut();
    $('.field_error_box').remove();
    $('.innerForm').after('<div class=\'field_error_box\'>' + message + '<\/div>');
    $('.field_error_box').css('bottom', '10px').css('left', '10px');
    $('.field_error_box').fadeIn();
}
function hasValue() {
    var t = true;
    if (arguments.length > 0) {
        for (var i = 0; i < arguments.length; i++) {
            if (arguments[i].val() == "" || arguments[i].val() == null) {
                t = false;
                highlight(arguments[i]);
            }
        }
    }
    else {
        return true;
    }
    if (!t) {
        fieldError("You must fill out all required fields.");
    }
    return t;
}
function vdEmail(efield){
    var t = true;
    if (efield.val().match(/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i)) {}
    else {
        t = false;
        highlight(efield);
        fieldError("You must enter a valid email address.");
    }
    return t;
}
function vdPhone(pfield) {
    var t = true;
    if (pfield.val().match(/^\(\d{3}\) ?\d{3}( |-)?\d{4}|^\d{3}( |-)?\d{3}( |-)?\d{4}/i)) { }
    else{
        t = false;
        highlight(pfield);
        fieldError("You must enter a valid phone number.");
    }
    return t;
}
function numericOnly(nfield) {
    var t = true;
    if (nfield.val().match(/^[0-9]+$/i)) { }
    else {
        t = false;
        highlight(nfield);
        fieldError("Please enter only numbers in this field.");
    }
    return t;
}
