var vSeminarForm;
var MAX_ATTENDEES;

init();

function init()
{
	var seminarForm = document.forms.seminarRegistration;
	vSeminarForm = new ValidatableForm(seminarForm);
	vSeminarForm.setMessageStart("Please Make the following changes first:");
	vSeminarForm.addField('preferredDate', 'Preferred Date', ValidatableForm.EMPTY);
	vSeminarForm.addField('numAttendees', 'Number of Attendees', ValidatableForm.EMPTY);
	vSeminarForm.addField('email', 'Email Address', ValidatableForm.EMAIL);
	
	MAX_ATTENDEES = 0;
	var attendeeOptions = document.forms.seminarRegistration.numAttendees.options;
	for (var i = 0; i < attendeeOptions.length; i++)
	{
		var o = attendeeOptions[i];
		if (o.value > MAX_ATTENDEES)
		{
			MAX_ATTENDEES = o.value;
		}
	}
	
	updateAttendees();
}

function updateAttendees()
{
	var numAttendees = document.forms.seminarRegistration.numAttendees.value;
	
	var firstNames = new Array();
	var lastNames = new Array();
	for (var i = 0; i < MAX_ATTENDEES; i++)
	{
		var attendeeIndex = i + 1;
		
		var firstName = "";
		var lastName = "";
		
		var firstNameField = document.forms.seminarRegistration["attendeeFirstName" + attendeeIndex];
		if (firstNameField != null)
		{
			firstName = firstNameField.value;
		}
		var lastNameField = document.forms.seminarRegistration["attendeeLastName" + attendeeIndex];
		if (lastNameField != null)
		{
			lastName = lastNameField.value;
		}
		
		firstNames.push(firstName);
		lastNames.push(lastName);
		
		vSeminarForm.removeField("attendeeFirstName" + attendeeIndex);
		vSeminarForm.removeField("attendeeLastName" + attendeeIndex);
	}
	
	var firstNameHTML = "";
	var lastNameHTML = "";
	
	var attendeesHolder = document.getElementById('attendeesHolder');
	if (numAttendees > 0)
	{
		attendeesHolder.style.display = "block";
		
		for (var i = 1; i <= numAttendees; i++)
		{
			var attendeeIndex = i;
			
			var defaultFirstName = firstNames[i - 1];
			var defaultLastName = lastNames[i - 1];
			
			var tabIndex = 1 + (i * 2);
			
			firstNameHTML += '<label for="attendeeFirstName' + attendeeIndex + '">First Name*</label>';
			firstNameHTML += '<input type="text" name="attendeeFirstName' + attendeeIndex + '" value="' + defaultFirstName + '" tabindex="' + tabIndex + '" />';
			firstNameHTML += '<br /><br />';
			
			lastNameHTML += '<label for="attendeeLastName' + attendeeIndex + '">Last Name*</label>';
			lastNameHTML += '<input type="text" name="attendeeLastName' + attendeeIndex + '" value="' + defaultLastName + '" tabindex="' + (tabIndex + 1) + '" />';
			lastNameHTML += '<br /><br />';
			
			vSeminarForm.addField("attendeeFirstName" + attendeeIndex, "Attendee " + attendeeIndex + " First Name", ValidatableForm.EMPTY, null, (attendeeIndex - 1) * 2);
			vSeminarForm.addField("attendeeLastName" + attendeeIndex, "Attendee " + attendeeIndex + " Last Name", ValidatableForm.EMPTY, null, ((attendeeIndex - 1) * 2) + 1);
		}
	}
	else
	{
		attendeesHolder.style.display = "none";
	}
	
	var attendeesFirstNameHolder = document.getElementById("attendeesFirstNameHolder");
	attendeesFirstNameHolder.innerHTML = firstNameHTML;
	
	var attendeesLastNameHolder = document.getElementById("attendeesLastNameHolder");
	attendeesLastNameHolder.innerHTML = lastNameHTML;
	
	// TODO: Update validation form
}