var gAgeGroup=-1;
var gNumEntries=0;
var gAmountDue=0;

function ShowPartialEntryLine (catName, numCols) {
	return '<td bgcolor="#c8d08e" colspan="' + numCols + '" valign="middle"><input id="' + catName + '" name="' + catName + '" type="text" style="background-color: #c8d08e; border:none;"></td>';
}
function ShowEntryLine(catEntry, catType, catCols, catVal, catSponsor) {
//<font color="#eaf3a7"><script>ShowTooltip('','pa-pcc','People, Creatures & Critters')</script>
	content ='';
//	content += '<tr><td rowspan="3">' + catEntry + '</td>';
	if (catType == '') {
		content += '<tr><td rowspan="3">' + catEntry + '</td>';		
	} else {
		content += '<tr><td rowspan="3"><font color="#eaf3a7">' + ShowTooltipHtml('',catType, catEntry) + '</font></td>';
	}
	if (catCols == 2){
		content += ShowPartialEntryLine(catVal + 'C1', 1) + ShowPartialEntryLine(catVal + 'M1', 1);
		content += '<tr>' + ShowPartialEntryLine(catVal + 'C2', 1) + ShowPartialEntryLine(catVal + 'M2', 1) + '</tr>';
		content += '<tr>' + ShowPartialEntryLine(catVal + 'C3', 1) + ShowPartialEntryLine(catVal + 'M3', 1) + '</tr>';
	} else {
		content += ShowPartialEntryLine(catVal + 'X1', 2);
		content += '<tr>' + ShowPartialEntryLine(catVal + 'X2', 2) + '</tr>';
		content += '<tr>' + ShowPartialEntryLine(catVal + 'X3', 2) + '</tr>';
	}
	content += '<tr><td colspan="3" valign="middle">Proudly sponsored by: ' + catSponsor + '</td></tr>';
	document.write(content);
}

function ResetEntryFields() {
	document.getElementById("CH1X1").value = '';
	document.getElementById("CH1X2").value = '';
	document.getElementById("CH1X3").value = '';
	document.getElementById("CH2X1").value = '';
	document.getElementById("CH2X2").value = '';
	document.getElementById("CH2X3").value = '';

	document.getElementById("PCC4C1").value = '';
	document.getElementById("PCC4C2").value = '';
	document.getElementById("PCC4C3").value = '';
	document.getElementById("PCC4M1").value = '';
	document.getElementById("PCC4M2").value = '';
	document.getElementById("PCC4M3").value = '';

	document.getElementById("PCC3C1").value = '';
	document.getElementById("PCC3C2").value = '';
	document.getElementById("PCC3C3").value = '';
	document.getElementById("PCC3M1").value = '';
	document.getElementById("PCC3M2").value = '';
	document.getElementById("PCC3M3").value = '';

	document.getElementById("FF4C1").value = '';
	document.getElementById("FF4C2").value = '';
	document.getElementById("FF4C3").value = '';
	document.getElementById("FF4M1").value = '';
	document.getElementById("FF4M2").value = '';
	document.getElementById("FF4M3").value = '';

	document.getElementById("FF3C1").value = '';
	document.getElementById("FF3C2").value = '';
	document.getElementById("FF3C3").value = '';
	document.getElementById("FF3M1").value = '';
	document.getElementById("FF3M2").value = '';
	document.getElementById("FF3M3").value = '';

	document.getElementById("OA4C1").value = '';
	document.getElementById("OA4C2").value = '';
	document.getElementById("OA4C3").value = '';
	document.getElementById("OA4M1").value = '';
	document.getElementById("OA4M2").value = '';
	document.getElementById("OA4M3").value = '';

	document.getElementById("OA3C1").value = '';
	document.getElementById("OA3C2").value = '';
	document.getElementById("OA3C3").value = '';
	document.getElementById("OA3M1").value = '';
	document.getElementById("OA3M2").value = '';
	document.getElementById("OA3M3").value = '';

	document.getElementById("SA4C1").value = '';
	document.getElementById("SA4C2").value = '';
	document.getElementById("SA4C3").value = '';
	document.getElementById("SA4M1").value = '';
	document.getElementById("SA4M2").value = '';
	document.getElementById("SA4M3").value = '';

	document.getElementById("SA3C1").value = '';
	document.getElementById("SA3C2").value = '';
	document.getElementById("SA3C3").value = '';
	document.getElementById("SA3M1").value = '';
	document.getElementById("SA3M2").value = '';
	document.getElementById("SA3M3").value = '';

	document.getElementById("CR4X1").value = '';
	document.getElementById("CR4X2").value = '';
	document.getElementById("CR4X3").value = '';

	document.getElementById("CR3X1").value = '';
	document.getElementById("CR3X2").value = '';
	document.getElementById("CR3X3").value = '';

	document.getElementById("entConfirm4").checked = false;
	document.getElementById("entConfirm3").checked = false;
	document.getElementById("entConfirm2").checked = false;
	document.getElementById("entConfirm1").checked = false;
}

function switchSection() {
	var i;

	for (i=0 ; i < document.pa2010entry.persAge.length ; i++) {
		if (document.pa2010entry.persAge[i].checked==true) {
			gAgeGroup = i;
			break;
		}
	}
	switch (document.pa2010entry.persAge[gAgeGroup].value) {
		case "1":
			document.getElementById("_adult").style.display = 'none';
			document.getElementById("_youth").style.display = 'none';
			document.getElementById("_snrchild").style.display = 'none';
			document.getElementById("_jnrchild").style.display = 'inline';
			break;

		case "2":
			document.getElementById("_adult").style.display = 'none';
			document.getElementById("_youth").style.display = 'none';
			document.getElementById("_snrchild").style.display = 'inline';
			document.getElementById("_jnrchild").style.display = 'none';
			break;

		case "3":
			document.getElementById("_adult").style.display = 'none';
			document.getElementById("_youth").style.display = 'inline';
			document.getElementById("_snrchild").style.display = 'none';
			document.getElementById("_jnrchild").style.display = 'none';
			break;

		case "4":
			document.getElementById("_adult").style.display = 'inline';
			document.getElementById("_youth").style.display = 'none';
			document.getElementById("_snrchild").style.display = 'none';
			document.getElementById("_jnrchild").style.display = 'none';
			break;
	}
	ResetEntryFields();
	return true;
}

function ValidatePersonalValues(){
	var	valOK=true;
	var fldName=document.getElementById("persName");
	var fldAddress=document.getElementById("persAddress");
	var fldCity=document.getElementById("persCity");
	var fldPostalCode=document.getElementById("persPostalCode");
	var fldTelephone=document.getElementById("persTelephone");
	var fldEmail=document.getElementById("persEmail");

	//
	//  Validate required fields
	//
	if (fldName.value=='') {
		alert('Please enter your name. It is a required field.');
		fldName.focus();
		valOK = false;
	}
	else if (fldAddress.value=='') {
		alert('Please enter your full address. We require this to verify that you are a resident of Halton Hills.');
		fldAddress.focus();
		valOK = false;
	}
	else if (fldCity.value=='') {
		alert('Please enter your full address. We require this to verify that you are a resident of Halton Hills.');
		fldCity.focus();
		valOK = false;
	}
	else if (fldPostalCode.value=='') {
		alert('Please enter your full address. We require this to verify that you are a resident of Halton Hills.');
		fldPostalCode.focus();
		valOK = false;
	}
	else if (fldTelephone.value=='') {
		alert('Please enter your telephone number. It is a required field.');
		fldTelephone.focus();
		valOK = false;
	}
	else if (fldEmail.value=='') {
		alert('Please enter your email address. It is a required field.');
		fldEmail.focus();
		valOK = false;
	}

	//
	// Validate value format
	//
	if (valOK) {
		if (ValidatePostalCode(fldPostalCode.value) == false) {
			alert('You entered an invalid postal code. Please correct it.');
			fldPostalCode.value="";
			fldPostalCode.focus();
			valOK = false;
		}
		else {
			fldPostalCode.value = NicePostalCodeDisplay(fldPostalCode.value);
		}
	}
	if (valOK) {
		if (ValidatePhone(fldTelephone.value) == false) {
			alert('You entered an invalid phone number. Please correct it.');
			fldTelephone.value="";
			fldTelephone.focus();
			valOK = false;
		}
		else {
			fldTelephone.value = NiceTelephoneDisplay(fldTelephone.value);
		}
	}
	if (valOK) {
		if (ValidateEmail(fldEmail.value) == false) {
			alert('You entered an invalid e-mail address. Please correct it.');
			fldEmail.value="";
			fldEmail.focus();
			valOK = false;
		}
	}

	return valOK;
}

function ValidateEntries(){
	var	valOK = true;
	var entryCount = 0;
	var rate = 0;

	//
	// Count number of entries
	//
	switch (document.pa2010entry.persAge[gAgeGroup].value) {
		case "1":
			rate=2;
			if (document.getElementById("CH1X1").value != '') entryCount += 1;
			if (document.getElementById("CH1X2").value != '') entryCount += 1;
			if (document.getElementById("CH1X3").value != '') entryCount += 1;
			if (entryCount == 0 ) {
				alert( "You haven\'t entered any images. Please add the image titles in the spaces provided.");
				document.getElementById("CH1X1").focus();
				valOK = false;
			}
			else {
				gNumEntries = entryCount;
				gAmountDue = rate;
				document.getElementById("_ageGroup").value="Child (8 years or younger)";
				document.getElementById("_numEntries").value=gNumEntries;
				document.getElementById("_feesDue").value=gAmountDue;
			}
			break;

		case "2":
			rate=2;
			if (document.getElementById("CH2X1").value != '') entryCount += 1;
			if (document.getElementById("CH2X2").value != '') entryCount += 1;
			if (document.getElementById("CH2X3").value != '') entryCount += 1;
			if (entryCount == 0 ) {
				alert( "You haven\'t entered any images. Please add the image titles in the spaces provided.");
				document.getElementById("CH2X1").focus();
				valOK = false;
			}
			else {
				gNumEntries = entryCount;
				gAmountDue = rate;
				document.getElementById("_ageGroup").value="Child (9 to 12 years old)";			
				document.getElementById("_numEntries").value=gNumEntries;
				document.getElementById("_feesDue").value=gAmountDue;
			}
			break;

		case "3":
			rate=2;
			if (document.getElementById("PCC3C1").value != '') entryCount += 1;
			if (document.getElementById("PCC3C2").value != '') entryCount += 1;
			if (document.getElementById("PCC3C3").value != '') entryCount += 1;
			if (document.getElementById("PCC3M1").value != '') entryCount += 1;
			if (document.getElementById("PCC3M2").value != '') entryCount += 1;
			if (document.getElementById("PCC3M3").value != '') entryCount += 1;
			if (document.getElementById("FF3C1").value != '') entryCount += 1;
			if (document.getElementById("FF3C2").value != '') entryCount += 1;
			if (document.getElementById("FF3C3").value != '') entryCount += 1;
			if (document.getElementById("FF3M1").value != '') entryCount += 1;
			if (document.getElementById("FF3M2").value != '') entryCount += 1;
			if (document.getElementById("FF3M3").value != '') entryCount += 1;
			if (document.getElementById("OA3C1").value != '') entryCount += 1;
			if (document.getElementById("OA3C2").value != '') entryCount += 1;
			if (document.getElementById("OA3C3").value != '') entryCount += 1;
			if (document.getElementById("OA3M1").value != '') entryCount += 1;
			if (document.getElementById("OA3M2").value != '') entryCount += 1;
			if (document.getElementById("OA3M3").value != '') entryCount += 1;
			if (document.getElementById("SA3C1").value != '') entryCount += 1;
			if (document.getElementById("SA3C2").value != '') entryCount += 1;
			if (document.getElementById("SA3C3").value != '') entryCount += 1;
			if (document.getElementById("SA3M1").value != '') entryCount += 1;
			if (document.getElementById("SA3M2").value != '') entryCount += 1;
			if (document.getElementById("SA3M3").value != '') entryCount += 1;
			if (document.getElementById("CR3X1").value != '') entryCount += 1;
			if (document.getElementById("CR3X2").value != '') entryCount += 1;
			if (document.getElementById("CR3X3").value != '') entryCount += 1;
			if (entryCount == 0 ) {
				alert( "You haven\'t entered any images. Please add the image titles in the spaces provided.");
				document.getElementById("PCC3C1").focus();
				valOK = false;
			}
			else if (entryCount > 12 ) {
				alert( "You are only allowed to enter 12 images. Please remove some of your entries.");
				document.getElementById("PCC3C1").focus();
				valOK = false;
			}
			else {
				gNumEntries = entryCount;
				gAmountDue = entryCount * rate;
				document.getElementById("_ageGroup").value="Youth (13 to 16 years old)";
				document.getElementById("_numEntries").value=gNumEntries;
				document.getElementById("_feesDue").value=gAmountDue;
			}
			break;

		case "4":
			rate=5;
			if (document.getElementById("PCC4C1").value != '') entryCount += 1;
			if (document.getElementById("PCC4C2").value != '') entryCount += 1;
			if (document.getElementById("PCC4C3").value != '') entryCount += 1;
			if (document.getElementById("PCC4M1").value != '') entryCount += 1;
			if (document.getElementById("PCC4M2").value != '') entryCount += 1;
			if (document.getElementById("PCC4M3").value != '') entryCount += 1;
			if (document.getElementById("FF4C1").value != '') entryCount += 1;
			if (document.getElementById("FF4C2").value != '') entryCount += 1;
			if (document.getElementById("FF4C3").value != '') entryCount += 1;
			if (document.getElementById("FF4M1").value != '') entryCount += 1;
			if (document.getElementById("FF4M2").value != '') entryCount += 1;
			if (document.getElementById("FF4M3").value != '') entryCount += 1;
			if (document.getElementById("OA4C1").value != '') entryCount += 1;
			if (document.getElementById("OA4C2").value != '') entryCount += 1;
			if (document.getElementById("OA4C3").value != '') entryCount += 1;
			if (document.getElementById("OA4M1").value != '') entryCount += 1;
			if (document.getElementById("OA4M2").value != '') entryCount += 1;
			if (document.getElementById("OA4M3").value != '') entryCount += 1;
			if (document.getElementById("SA4C1").value != '') entryCount += 1;
			if (document.getElementById("SA4C2").value != '') entryCount += 1;
			if (document.getElementById("SA4C3").value != '') entryCount += 1;
			if (document.getElementById("SA4M1").value != '') entryCount += 1;
			if (document.getElementById("SA4M2").value != '') entryCount += 1;
			if (document.getElementById("SA4M3").value != '') entryCount += 1;
			if (document.getElementById("CR4X1").value != '') entryCount += 1;
			if (document.getElementById("CR4X2").value != '') entryCount += 1;
			if (document.getElementById("CR4X3").value != '') entryCount += 1;
			if (entryCount == 0 ) {
				alert( "You haven\'t entered any images. Please add the image titles in the spaces provided.");
				document.getElementById("PCC4C1").focus();
				valOK = false;
			}
			else if (entryCount > 12 ) {
				alert( "You are only allowed to enter 12 images. Please remove some of your entries.");
				document.getElementById("PCC4C1").focus();
				valOK = false;
			}
			else {
				gNumEntries = entryCount;
				gAmountDue = entryCount * rate;
				document.getElementById("_ageGroup").value="Adult (17+ years old)";
				document.getElementById("_numEntries").value=gNumEntries;
				document.getElementById("_feesDue").value=gAmountDue;
			}
			break;
	}

	return valOK;
}

function ValidateConfirmations(){
	var	valOK = true;

	//
	// Confirm that the required validations have been done
	//
	switch (document.pa2010entry.persAge[gAgeGroup].value) {
		case "1":
			if (document.getElementById("entConfirm1").checked == false) {
				alert( "You have to have a parent or guardian confirm that you will bide by the competition rules and that you have permission to enter the competition. He or she has to further confirm that you are 8 or younger.");
				valOK = false;
			}
			break;
		case "2":
			if (document.getElementById("entConfirm2").checked == false) {
				alert( "You have to have a parent or guardian confirm that you will bide by the competition rules and that you have permission to enter the competition. He or she has to further confirm that you are between 9 and 12 years of age.");
				valOK = false;
			}
			break;
		case "3":
			if (document.getElementById("entConfirm3").checked == false) {
				alert( "You must confirm that you will bide by the competition rules and that you are between 13 and 16 years of age.");
				valOK = false;
			}
			break;
		case "4":
			if (document.getElementById("entConfirm4").checked == false) {
				alert( "You must confirm that you will bide by the competition rules.");
				valOK = false;
			}
			break;
	}

	return valOK;
}

function ValidateAll() {
	var eventVal = true;

	eventVal = ValidatePersonalValues();
	if (eventVal) {
		eventVal = ValidateEntries();
	}
	if (eventVal) {
		eventVal = ValidateConfirmations();
	}

	return eventVal;
}


