function checkRequestInfo() {
    //alert('here');

    var zipCodePattern = /^\d{5}$/;
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
    var phoneNumberPattern = /\d{3}\-\d{3}\-\d{4}/;

    var fname = document.getElementById('first');
    var lname = document.getElementById('last');
    var company = document.getElementById('nameofcompany');
    var email = document.getElementById('email');
    var emailConfirm = document.getElementById('email_confirm');
    var address = document.getElementById('address');
    var city = document.getElementById('city');
    var state = document.getElementById('state');
    var zip = document.getElementById('zip');
    var phone = document.getElementById('phone');

    var productinterest = document.getElementById('product_interest');
    var monthlyvolume = document.getElementById('monthly_mail_volume');
    var lettersperday = document.getElementById('letters_per_day');

    var errString = '';

    if (fname.value == '') {
        errString = errString + 'First name is required';
    }
    if (lname.value == '') {
        errString = errString + '\nLast name is required';
    }
    if (company.value == '') {
        errString = errString + '\nCompany name is required';
    }
    if (email.value == '') {
        errString = errString + '\nEmail address is required';
    }
    if (emailConfirm.value != email.value) {
        errString = errString + '\nEmail and Email confirm values must match';
    }
    if (!(emailPattern.test(email.value))) {
        errString = errString + '\nEmail must be in the correct format (user@domain.xxx)';
    }
    if (address.value == '') {
        errString = errString + '\nStreet address is required';
    }
    if (city.value == '') {
        errString = errString + '\nCity is required';
    }
    if (state.value == '') {
        errString = errString + '\nState is required';
    }
    if (zip.value == '') {
        errString = errString + '\nZip code is required';
    }
    if (!(zipCodePattern.test(zip.value))) {
        errString = errString + '\nZip code must be 5 digits';
    }
    if (phone.value == '') {
        errString = errString + '\nPhone number is required';
    }
    if (!(validatePhone(phone))) {
        errString = errString + '\nPhone number must contain 10 digits';
    }

    if (productinterest.value == '') {
        errString = errString + '\nPlease choose a product interest';
    }
    if (monthlyvolume && (monthlyvolume.value == '') && ((document.requestinfo.letters_per_day[0].checked == false) && (document.requestinfo.letters_per_day[1].checked == false))) {
        errString = errString + '\nPlease choose a monthly mail volume or amount of letters per day';
    }

    if (errString != '') {
        alert(errString);
        return false;
    } else {
        return true;
    }
}

function validatePhone(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');

    if (fld.value == "") {
        error = "You didn't enter a phone number.\n";
    } else if (isNaN(parseInt(stripped))) {
        error = "The phone number contains illegal characters.\n";
    } else if (!(stripped.length == 10)) {
        error = "The phone number is the wrong length. Make sure you included an area code.\n";
    }

    if (error != '') {
        return false;
    } else {
        return true;
    }

}

if (NPform) {
    //$(document).ready(function() {
    var np_form = new NPform('requestinfo', 'reqinfo', 'divreqinfo', "off", checkRequestInfo, 'http://link.neopostinc.com/infoform2.asp');
    //});
}

