     
        $(document).ready(function(){	
           $('#CancelWarning').hide();
           $('#ArrangeWarning').hide();
           $('#AddressDiv').hide();            	        
           $('#DatePickerDiv').hide();
           $('#TimeSlots').hide();
           $('#slotQuestionDiv').hide();
           subjectChanged();
           chooseSlotsChanged()
           
     jQuery.validator.addMethod
    (
    "areDaysChosen", 
    function(value) 
    {
        var mySubject = document.getElementById("chooseSlots");
        if ((mySubject.value == "No") || (mySubject.value == "DatePicker"))
        {
            return true
        }
        else
        {
            return ($("#monday").is(":checked") || $("#tuesday").is(":checked") || $("#wednesday").is(":checked") || $("#thursday").is(":checked") || $("#friday").is(":checked") || $("#saturday").is(":checked") || $("#sunday").is(":checked"));
        }
    }, 
    "Please choose at least one convenient day."
    );
    
    jQuery.validator.addMethod
    (
    "areTimesChosen", 
    function(value) 
    {
        var mySubject = document.getElementById("chooseSlots");
        if ((mySubject.value == "No") || (mySubject.value == "DatePicker"))
        {
            return true
        }
        else
        {
            return ($("#mornings").is(":checked") || $("#afternoons").is(":checked") || $("#earlyEvenings").is(":checked") || $("#evenings").is(":checked"));
        }
    }, 
    "Please choose at least one time slot."
    );
            

    jQuery.validator.addMethod
    (
    "AddressStateValid", 
    function(value) 
    {
        var mySubject = document.getElementById("subject");
        if (!(mySubject.value == "ArrangeNew") && !(mySubject.value == "ArrangeExisting"))
        {
            return true
        }
        else 
        {
            if(($('#address1').val() == "") && ($('#address2').val() == "") && ($('#postcode').val() == "")) {return false}
            else {return true} 
        }

    }, 
    "Please enter a pick up address."
    );   
        
      
	
	$("#form1").validate({
	    errorElement: "p",
	    errorClass:   "errorMessage", 
		rules: {
		    subject        : {required: true},
		    name           : {required: true},
		    contact_number : {required: true},
		    email          : {required: true, email: true},
		    postcode       : {AddressStateValid: true},
		    chooseSlots    : {required: function(element){var mySubject = document.getElementById("subject");if ((mySubject.value == "ArrangeExisting") || (mySubject.value == "ArrangeNew")){return true;}else{return false;}}, areDaysChosen: true, areTimesChosen: true},
		    preferredDate  : {required: function(element){var mySubject = document.getElementById("chooseSlots");if (mySubject.value == "DatePicker"){return true;}else{return false;}}},
		    preferredTime  : {required: function(element){var mySubject = document.getElementById("chooseSlots");if (mySubject.value == "DatePicker"){return true;}else{return false;}}},
		    message        : {required: function(element){var mySubject = document.getElementById("subject");if ((mySubject.value == "Cancel") || (mySubject.value == "Other") || (mySubject.value == "Information") || (mySubject.value == "")){return true;}else{return false;}}}
		    
		    
		},
		messages: {
		    subject        : "Please select a subject",      
		    name           : "Please enter your name.",
		    contact_number : "Please enter your number.",
		    email          : {required: "Please enter email address.", email: "Email not valid."},
		    postcode       : "Please enter a pick up address.",
		    chooseSlots    : {required: "Please answer this question."},
		    preferredDate  : {required: "Please enter a date."},
		    preferredTime  : {required: "Please enter a time."},
		    message        : "Please enter a message."
		}
	});	
	
});        
        

        

        function subjectChanged()
        {
           $('#ArrangeWarning').hide();
           $('#AddressDiv').hide();
           $('#slotQuestionDiv').hide();
           $('#CancelWarning').hide();
           $('#TimeSlots').hide();
           $('#DatePickerDiv').hide();
           $('#chooseSlots').attr("value", "");
           chooseSlotsChanged();
           
           var mySubject = document.getElementById("subject");
           if (mySubject.value == "Cancel")
           {
               $('#CancelWarning').show();
           }
           
           if (mySubject.value == "ArrangeNew")
           {
               $('#ArrangeWarning').show();
               $('#slotQuestionDiv').show();
               $('#AddressDiv').show();
               chooseSlotsChanged();
               
           }
           
           if (mySubject.value == "ArrangeExisting")
           {
               $('#ArrangeWarning').show();
               $('#slotQuestionDiv').show();
               $('#AddressDiv').show();
               chooseSlotsChanged();
           }   
             
        } 
        
        function chooseSlotsChanged()
        {
           $('#TimeSlots').hide();
           $('#DatePickerDiv').hide();
           
           var mySubject = document.getElementById("chooseSlots");
           if (mySubject.value == "No")
           {
               //do nothing
           }
           
           if (mySubject.value == "DatePicker")
           {
               $('#DatePickerDiv').show();
           
           }
           
           if (mySubject.value == "TimeSlots")
           {
               $('#TimeSlots').show();

           }   
             
        } 
        