$(function() { $('.date-pick').datePicker(); });

$.validator.addMethod("checkTypes", function(value) {
  if (value != '') {
   $("tr.typeerror").hide();
   return true;
  } else {
   var OneTypeIn = 0;

   $(".biketype").each(
    function(value, element) {
     if (element.value != '') {
      OneTypeIn = OneTypeIn + 1;
     }
    }
   );

   if (OneTypeIn == 0) {
    var message = 'The system requires that at least ONE<br>bike type above have a numeric value'
    $("span.typeerror span").html(message);
    $("span.typeerror").show();
    return false;
   } else {
    $("span.typeerror").hide();
    return true;
   }
  }
}, "");

$.validator.addMethod("checkDates", function(value) {
  if (value != '') {
   $("tr.dateerror").hide();
   return true;
  } else {
   var OneDateIn = 0;

   $(".date-pick").each(
    function(value, element) {
     if (element.value != '') {
      OneDateIn = OneDateIn + 1;
     }
    }
   );

   if (OneDateIn == 0) {
    var message = 'The system requires that both a<br>From date and a To date be entered'
    $("td.dateerror span").html(message);
    $("tr.dateerror").show();
    return false;
   } else {
    $("tr.dateerror").hide();
    return true;
   }

  }
}, "");

$(document).ready(function(){
 jQuery.validator.messages.required = "";

 $("form").validate({
  rules: {
	  con_FirstName: "required",
	  con_LastName: "required",
	  con_State: "required",
	  con_DayPhone: "required",
	  con_UserEmail: {
	   required: true,
	   email: true
	  },
          Date_Duration_From: "checkDates",
          Date_Duration_To: "checkDates",
          Bike_Details: "required",
          Standard_Road: {
           checkTypes: true,
           digits: true
          },
          Performance_Road: {
           checkTypes: true,
           digits: true
          },
          High_Performance_Road: {
           checkTypes: true,
           digits: true
          },
          Front_Suspension_Mountain: {
           checkTypes: true,
           digits: true
          },
          Standard_Full_Suspension_Mountain: {
           checkTypes: true,
           digits: true
          },
          High_Performance_Full_Suspension_Mountain: {
           checkTypes: true,
           digits: true
          },
          Comfort_Bikes: {
           checkTypes: true,
           digits: true
          },
          Hybrid_Touring_Bikes: {
           checkTypes: true,
           digits: true
          },
          Standard_Tandem_Bikes: {
           checkTypes: true,
           digits: true
          },
          Childrens_Bikes: {
           checkTypes: true,
           digits: true
          },
          Juniors_Bikes: {
           checkTypes: true,
           digits: true
          },
          Trailers: {
           checkTypes: true,
           digits: true
          },
          Tag_alongs: {
           checkTypes: true,
           digits: true
          },
          Bike_Racks: {
           checkTypes: true,
           digits: true
          }
  },
  messages: {
	con_FirstName: "Please enter your firstname",
	con_LastName: "Please enter your lastname",
	con_UserEmail: "Please enter a valid email address",
        con_State: "Please enter a state name",
        con_DayPhone: "Please enter your daytime phone number",
        Bike_Details: "Please provide additional detail"
  }
 });
});

