$(function() {
	$('#order_parts,#franchises').click(function() { alert('Feature coming soon!'); return false; });
   $('#reason option').attr('selected','').find(':first').attr('selected','selected');
   $('#reason').change(function() {
      if($(this).val() != 0) {
         var section = $(this).val();
         $('.special_section').not('#'+section).hide();
         $('#'+section).show();
      } else {
         $('.special_section').hide();
      }
   });
   if($('#phone').length > 0) {
      $('#phone').mask('(999) 999-9999');
   }
   instantiate_validation();
});

function instantiate_validation() {
   if($('#contact_form').length > 0) {
      $('#contact_form').validate({
         errorPlacement: function(error,element) {
   			//element.prev('label').before(error);
            //error.hide();
            //$(element).css({border:'2px solid red'}); 
   		},
         highlight: function(element,errorClass) {
            $(element).css('border','2px solid red');
         },
         unhighlight: function(element,errorClass) {
            $(element).css('border','2px solid #2F2A20'); 
         },
   		rules: {
   			reason:{ required:true },
   			title: { required:true },
   			name:  { required:true },
   			lname: { required:true },
   			phone: { 
               required: function(element) { 
                  return $('#email').val().length <= 0;
               }
            },
   			email: { 
               required: function(element) { 
                  return $('#phone').val().length <= 0;
               },
               email: true
            },
            make:  {
               required: function(element) {
                  return special_section_is_open('service')
               }
            },
            address_1:  {
               required: function(element) {
                  return special_section_is_open('geography')
               }
            },
            city:  {
               required: function(element) {
                  return special_section_is_open('geography')
               }
            },
            state:  {
               required: function(element) {
                  return special_section_is_open('geography')
               }
            },
            zip:  {
               required: function(element) {
                  return special_section_is_open('geography')
               }
            },
   		}
   	});
   }
}

function special_section_is_open(section) {
   var visible = $('#'+section).is(':visible');
   return visible;
}