/**
 * @author Ernie
 */

var numPeople = 1;

hideAttendees = function()
{
	$("#attendees_cnt").slideUp("fast");
}

showAttendees = function()
{
	$("#attendees_cnt").slideDown("slow");
}

hidePeople = function()
{
	for (var i = 1; i <= 6; i++) {
  	$("#person" + i).slideUp("fast");
  }
}

showPeople = function()
{
	for (var i = 1; i <= numPeople; i++) {
  	$("#person" + i).slideDown("slow");
  }
  $("#p1_type").focus();	
}

hideButtons = function()
{
  $("#buttons").slideUp("fast");
}

showButtons = function()
{
  $("#buttons").slideDown("slow");
}

removeValidation = function()
{
	//alert("removeValidation start: numPeople =" + numPeople);
	if (numPeople > 1) {
  	//alert("removing validation person 2");
  	$("#p2_first_name").rules("remove");
  	$("#p2_last_name").rules("remove");
  	$("#p2_email").rules("remove");
  	$("#p2_school").rules("remove");
  	$("#p2_session_1").rules("remove");
  	$("#p2_session_2").rules("remove");
  	$("#p2_session_3").rules("remove");
  }
	if (numPeople > 2) {
  	//alert("removing validation person 3");
  	$("#p3_first_name").rules("remove");
  	$("#p3_last_name").rules("remove");
  	$("#p3_email").rules("remove");
  	$("#p3_school").rules("remove");
  	$("#p3_session_1").rules("remove");
  	$("#p3_session_2").rules("remove");
  	$("#p3_session_3").rules("remove");
  }
	if (numPeople > 3) {
  	//alert("removing validation person 4");
  	$("#p4_first_name").rules("remove");
  	$("#p4_last_name").rules("remove");
  	$("#p4_email").rules("remove");
  	$("#p4_school").rules("remove");
  	$("#p4_session_1").rules("remove");
  	$("#p4_session_2").rules("remove");
  	$("#p4_session_3").rules("remove");
  }
	if (numPeople > 4) {
  	//alert("removing validation person 5");
  	$("#p5_first_name").rules("remove");
  	$("#p5_last_name").rules("remove");
  	$("#p5_email").rules("remove");
  	$("#p5_school").rules("remove");
  	$("#p5_session_1").rules("remove");
  	$("#p5_session_2").rules("remove");
  	$("#p5_session_3").rules("remove");
  }
	if (numPeople > 5) {
  	//alert("removing validation person 6");
  	$("#p6_first_name").rules("remove");
  	$("#p6_last_name").rules("remove");
  	$("#p6_email").rules("remove");
  	$("#p6_school").rules("remove");
  	$("#p6_session_1").rules("remove");
  	$("#p6_session_2").rules("remove");
  	$("#p6_session_3").rules("remove");
  }					
}

addValidation = function()
{
	//alert("addValidation start, numPeople = " + numPeople);
	if (numPeople > 1) {				
  	//alert("adding validation for person 2");		
		$("#p2_first_name").rules("add", {
			required: true,
			messages: {
				required: "The person's first name is required."
			}
		});
		$("#p2_last_name").rules("add", {
			required: true,
			messages: {
				required: "The person's last name is required."
			}
		});
		$("#p2_email").rules("add", {
			email: true,
			messages: {
				email: "Enter a valid email address (e.g. joe@aol.com)"
			}
		});	
		$("#p2_session_1").rules("add", {
			required: true,
			messages: {
				required: "You must select a presentation for session I."
			}
		});
		$("#p2_session_2").rules("add", {
			required: true,
			messages: {
				required: "You must select a presentation for session II."
			}
		});	
		$("#p2_session_3").rules("add", {
			required: true,
			messages: {
				required: "You must select a presentation for session III."
			}
		});
  }

	if (numPeople > 2) {				
  	//alert("adding validation for person 3");		
		$("#p3_first_name").rules("add", {
			required: true,
			messages: {
				required: "The person's first name is required."
			}
		});
  	//alert("addValidation, person 3, after add first name");			
		$("#p3_last_name").rules("add", {
			required: true,
			messages: {
				required: "The person's last name is required."
			}
		});
  	//alert("addValidation, person 3, after add last name");			
		$("#p3_email").rules("add", {
			email: true,
			messages: {
				email: "Enter a valid email address (e.g. joe@aol.com)"
			}
		});
  	//alert("addValidation, person 3, after add email");				
		$("#p3_session_1").rules("add", {
			required: true,
			messages: {
				required: "You must select a presentation for session I."
			}
		});
  	//alert("addValidation, person 3, after add session 1");			
		$("#p3_session_2").rules("add", {
			required: true,
			messages: {
				required: "You must select a presentation for session II."
			}
		});
  	//alert("addValidation, person 3, after add session 2");				
		$("#p3_session_3").rules("add", {
			required: true,
			messages: {
				required: "You must select a presentation for session III."
			}
		});
  	//alert("addValidation, person 3, after add session 3");			
  }
	
	if (numPeople > 3) {				
  	//alert("adding validation for person 4");		
		$("#p4_first_name").rules("add", {
		 required: true,
		 messages: {
  			required: "The person's first name is required."
		 }
		});
		$("#p4_last_name").rules("add", {
		 required: true,
		 messages: {
  			required: "The person's last name is required."
		 }
		});
		$("#p4_email").rules("add", {
		 email: true,
		 messages: {
  			email: "Enter a valid email address (e.g. joe@aol.com)"
		 }
		});	
		$("#p4_session_1").rules("add", {
		 required: true,
		 messages: {
  			required: "You must select a presentation for session I."
		 }
		});
		$("#p4_session_2").rules("add", {
		 required: true,
		 messages: {
  			required: "You must select a presentation for session II."
		 }
		});	
		$("#p4_session_3").rules("add", {
		 required: true,
		 messages: {
  			required: "You must select a presentation for session III."
		 }
		});
  }
	
	if (numPeople > 4) {				
  	//alert("adding validation for person 5");		
		$("#p5_first_name").rules("add", {
		 required: true,
		 messages: {
  			required: "The person's first name is required."
		 }
		});
		$("#p5_last_name").rules("add", {
		 required: true,
		 messages: {
  			required: "The person's last name is required."
		 }
		});
		$("#p5_email").rules("add", {
		 email: true,
		 messages: {
  			email: "Enter a valid email address (e.g. joe@aol.com)"
		 }
		});	
		$("#p5_session_1").rules("add", {
		 required: true,
		 messages: {
  			required: "You must select a presentation for session I."
		 }
		});
		$("#p5_session_2").rules("add", {
		 required: true,
		 messages: {
  			required: "You must select a presentation for session II."
		 }
		});	
		$("#p5_session_3").rules("add", {
		 required: true,
		 messages: {
  			required: "You must select a presentation for session III."
		 }
		});
  }
	
	if (numPeople > 5) {
  	//alert("adding validation for person 6");
  	$("#p6_first_name").rules("add", {
  		required: true,
  		messages: {
  			required: "The person's first name is required."
  		}
  	});
//  	alert("addValidation after first");
  	$("#p6_last_name").rules("add", {
  		required: true,
  		messages: {
  			required: "The person's last name is required."
  		}
  	});
//  	alert("addValidation after last");
  	$("#p6_email").rules("add", {
  		email: true,
  		messages: {
  			email: "Enter a valid email address (e.g. joe@aol.com)"
  		}
  	});
//  	alert("addValidation after email");
  	$("#p6_session_1").rules("add", {
  		required: true,
  		messages: {
  			required: "You must select a presentation for session I."
  		}
  	});
//  	alert("addValidation after session 1");
  	$("#p6_session_2").rules("add", {
  		required: true,
  		messages: {
  			required: "You must select a presentation for session II."
  		}
  	});
//  	alert("addValidation after session 2");
  	$("#p6_session_3").rules("add", {
  		required: true,
  		messages: {
  			required: "You must select a presentation for session III."
  		}
  	});
  }
	//alert("addValidation after session 3");	
	//alert("addValidation end");			
}

$(document).ready(function() {			
	$("#registration_form").validate({
		errorClass: "error_message", 
		rules: {		
			p1_type: {   
				required: true
			}, 			 
			p1_first_name: {   
				required: true
			},
			p1_last_name: {   
				required: true
			},			 					   
			p1_email: {   
				required: true,
				email: true
			},
			p1_school: {   
				required: true
			},
			p1_session_1: {   
				required: true
			},
			p1_session_2: {   
				required: true
			},	
			p1_session_3: {   
				required: true
			}													   
		},   
		messages: {			
			p1_first_name: {
				required: "Your first name is required."
			},
			p1_last_name: {
				required: "Your last name is required."
			},
			p1_email: {   
				required: "Your email address is required",
				email: "Invalid email address (e.g. joe@aol.com)"
			},
			p1_school: {   
				required: "You must select a school."
			},			
			p1_session_1: {
				required: "You must select a presentation for session I."
			},
			p1_session_2: {
				required: "You must select a presentation for session II."
			},
			p1_session_3: {
				required: "You must select a presentation for session III."
			}												 
		}   
	});
	
  $("#find_about_workshop").change(function() {
		selected = $('#find_about_workshop').val();
		if (selected == "") {
			hideAttendees();
			hidePeople();
			hideButtons();
		}
		else {
			showAttendees();
		}
		return true;		
  });

  $("input[name='p1_type']").click(function() {
		type = $("input[name='p1_type']:checked").val();
		if ( type == "Student") {
			$("#p1_grade").rules("add", {
			 required: true,
			 messages: {
			   required: "Select a grade."
			 }
			});	
		}
		else {
			$("#p1_grade").rules("remove");			
		}
		return true;		
  });
	
  $("input[name='attendees']").click(function() {
		hidePeople();
		removeValidation();
		numPeople = $("input[@name='attendees']:checked").val();
		addValidation();
		showPeople();
		showButtons();
		return true;		
  });		
});	