//var ck_businessname = /^[A-Za-z0-9\s!@#$%^&*()_]{3,60}$/;
//var ck_email = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
//var ck_username = /^[A-Za-z0-9_]{3,20}$/;
//var ck_password = /^[A-Za-z0-9!@#$%^&*()_]{6,20}$/;
//var ck_phone = /^[0-9-()\s]{10,17}$/;
//var ck_address = /^[A-Za-z0-9\-\'\s!@#$%^&*()_]{3,55}$/;
//var ck_city = /^[A-Za-z-\'\s!@#$%^&*()_]{3,35}$/;
//var ck_state = /^[A-Za-z-\s]{2,30}$/;
//var ck_zipcode = /^[0-9-\s]{5,11}$/;
//var ck_url = /^http:\/\/www\.[a-z]+\.(com)|(org)|(edu)|(net)$/;
//var ck_reviewlink = /^http:\/\/[a-z]+\.[a-z]+\.(com)|(org)|(edu)|(net)$/;
//var ck_names = /^[A-Za-z\']{3,20}$/;
//var ck_title_tagline = /^[0-9A-Za-z\-\'\s!@#$%^&*()_]{2,65}$/;
//var ck_thankyoumessage = /^[0-9A-Za-z\'\s!@#$%^&*()_]{7,80}$/;
//var ck_contactus_piwik = /^[0-9]{1,4}$/;
//var ck_keyword = /^[0-9A-Za-z\s!@#$%^&*()_]{3,65}$/;
//var ck_weekday = /^[0-9A-Za-z\s\!@#$%^&*()_]{4,35}$/;

var ck_zipcode = /^[0-9-\s]{5,11}$/;
var ck_name = /^[A-Za-z\-\s]{3,50}$/;
var ck_email = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
var ck_phone = /^[0-9-()\s-+]{10,25}$/;
var ck_phone_ext = /^[0-9]{1,10}$/;

function validate_form(form){
var zip_from = form.zip_from.value;
var zip_to = form.zip_to.value;
var name = form.name.value;
var email = form.email.value;
var phone = form.phone.value;
var DD = form.day.value;
var MM = form.month.value;
var YY = form.year.value;

var errors = [];




if (!ck_zipcode.test(zip_from)) {
errors[errors.length] = "valid pickup zipcode";
}

if (!ck_zipcode.test(zip_to)) {
errors[errors.length] = "valid delivery zipcode";
}

if (!ck_name.test(name)) {
errors[errors.length] = "valid full name";
}

if (!ck_email.test(email)) {
errors[errors.length] = "valid e-mail address";
}

if (!ck_phone.test(phone)) {
errors[errors.length] = "valid telephone number";
}

//date check
if( MM == "" || YY == "" || DD == ""){
    errors[errors.length] = "valid date";
}
else{
    var InputDate = new Date();
    var CurrentDate = new Date();

    InputDate.setDate(DD);
    InputDate.setMonth(MM-1);
    InputDate.setFullYear(YY);

    if(InputDate < CurrentDate){
        errors[errors.length] = "date entered has already passed"
    }
    else{
    var SixMonthsAheadDateTime = new Date();
    SixMonthsAheadDateTime.setDate(SixMonthsAheadDateTime.getDate()+180);

    if(SixMonthsAheadDateTime < InputDate){
        errors[errors.length] = "we only accept dates that are within 6 months"
    }
    }
}
//end of date check


if (errors.length > 0) {
reportErrors(errors);
return false;
}
return true;
}


function reportErrors(errors){
 var msg = "Please Enter Valid Data for:\n";
 for (var i = 0; i<errors.length; i++) {
  var numError = i + 1;
  msg += "\n" + numError + ". " + errors[i];
 }
 alert(msg);
}