// JavaScript Document

/*
Validate a form then disable the button so that it can not be double clicked.
Uses jQuery and jQuery validation plug-in
Form ID = #signup
button class = .dbutton

Andrea Wetzel - May 2009

*/

$(document).ready
  $(function( ) {
  //Add striping to table
	$('table.striped tr:even').addClass('even');
	});



$(function() {
		   
	$.validator.addMethod("AlNumRegEx", function(value, element) { 
  return this.optional(element) || /^[A-Za-z0-9_]{4,10}$/.test(value); 
}, "4-10 letters or numbers only");


	
	 //Add validation to all forms with ID of Signup
	$('#signup').validate({		




		//Begin Rules

		 rules: {
			 
			 pledgegoal: {
				required: false,
				digits: true
			 },
			 
			 username: {
				  required: true,
				  AlNumRegEx: true
  			  },			
			 password: {
				  required: true,
				  AlNumRegEx: true
  			  },
			  password2: {
     			 equalTo: "#password"
  			  },
			 pagetext: {
				 required: false,
				 maxlength: 1000
			 },
			 
			 max1000: {
				 required: false,
				 maxlength: 1000
			 },
			 
			 max500: {
				 required: false,
				 maxlength: 500
			 },
			 vol_job: {
				 rangelength:[1,9]
			 }


	 },

//begin messages
				messages: {
			 day: "Date of birth is required",
			 month: "Date of birth is required",
			 year: "Date of birth is required",
			 time_avail: "<br />Please choose a day & time",
			 interest_area: "<br />Please choose an area of interest",
			 prior_vol: "<br />This field is required",
			 vol_job: {
			 	rangelength: "Please select no more than 9 positions"
			 }
			
   },

//end messages

//begin groups
  groups: {
	  //DOB Group
    groupDOB: "day month year",
	groupinterest_area: "interest_area",
	grouptime_avail: "time_avail",
	groupprior_vol: "prior_vol"
  },
  errorPlacement: function(error, element) {
     if (element.attr("name") == "day" 
                 || element.attr("name") == "month" 
				 || element.attr("name") == "year")
       error.insertAfter("#DOByear");
	   
		   else
		   		if (element.attr("name") == "interest_area")
		   		error.insertAfter("#interestError");
	   
		   else
		   		if (element.attr("name") == "time_avail")
		   		error.insertAfter("#dayError");
	   
		   else
		   		if (element.attr("name") == "prior_vol")
		   		error.insertAfter("#Rprior_vol");
		else
		   		if (element.attr("name") == "age")
		   		error.insertAfter("#vage");
				
		else
		   		if (element.attr("name") == "vol_job")
		   		error.insertAfter("#vol_jobError");
		else
		   		if (element.attr("name") == "whole_shift")
		   		error.insertAfter("#whole_shiftError");
		else
		   		if (element.attr("name") == "vol_shift")
		   		error.insertAfter("#vol_shiftError");
		else
		   		if (element.attr("name") == "can_score")
		   		error.insertAfter("#can_scoreError");
		else
		   		if (element.attr("name") == "tsize")
		   		error.insertAfter("#tsizeError");
else
       error.insertAfter(element);
   },

//end groups


});







		   
		   //Enable the button in case someone uses the back button
		   $(".dbutton").attr("disabled", false);
});



//wait until that button's clicked, then disable it if the form is valid
/*
//does not work in IE!

function disableButton() {
	
$(function() {
		   var isValid = $('#signup').valid(); //is signup valid?
		   
		   
		   if (isValid == true) {
			   $(function() {
			   		$(".dbutton").attr("disabled", "disabled"); //if it is, disable!
				});
		   };
		   
		   //console.log( $('#signup').valid() ); //log value to console

});

}
*/

  $(function( ) {
  //Add striping to table
	$('table.striped tr:even').addClass('even');
	});
		


