// function validateEmail(s){var re=/^([\w]+)(.[\w]+)*@([\w]+)(.[\w]{2,3}){1,2}$/;return re.test(s)}
function validatePhone(s){var re=/^[01]?\s*[\(\.-]?(\d{3})[\)\.-]?\s*(\d{3})[\.-](\d{4})$/;return re.test(s)}
function validateZip(s,l){var re= new RegExp("^\\d{"+l+"}$");return re.test(s)}
function inArray(arr,s){n=new Array();var j=0;for(var i=0;i<arr.length;i++)if(arr[i]==s){n[j]=i;j++}if(n=='')return false;else return n}
function validateEmail(s){var re=/^[A-Za-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[A-Za-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([a-z]{2,})$/;return re.test(s)}
function closeWindow(){var ie7=(document.all&&!window.opera&&window.XMLHttpRequest)?true:false;if(ie7){window.open('','_parent','');window.close()}else{this.focus();self.opener=this;self.close()}}

function createAccount(){
	if(document.f.username.value.length<6){
		alert('Username must be at least 6 characters.');
		document.f.username.focus();
		return false;
	}
	if(document.f.password.value.length<6){
		alert('Password must be at least 6 characters.');
		document.f.password.focus();
		return false;
	}
	if(document.f.password.value!=document.f.password2.value){
		alert('Password and Confirm Password do not match.');
		document.f.password.focus();
		return false;
	}
	if(!validateEmail(document.f.email.value)){
		alert('Invalid email address.');
		document.f.email.focus();
		return false;
	}
	if(document.f.fname.value==''){
		alert('First name is required.');
		document.f.fname.focus();
		return false;
	}
	if(document.f.lname.value==''){
		alert('Last name is required.');
		document.f.lname.focus();
		return false;
	}
}

function editAccount(){
	if(!validateEmail(document.f.email.value)){
		alert('Invalid email address.');
		document.f.email.focus();
		return false;
	}
	if(document.f.fname.value==''){
		alert('First name is required.');
		document.f.fname.focus();
		return false;
	}
	if(document.f.lname.value==''){
		alert('Last name is required.');
		document.f.lname.focus();
		return false;
	}
	if(document.f.password.value==''){
		alert('Please verify your password.');
		document.f.password.focus();
		return false;
	}
	if(document.f.newpassword.value!=''&&document.f.newpassword.value.length<6){
		alert('New Password must be at least 6 characters.');
		document.f.newpassword.focus();
		return false;
	}
	if(document.f.newpassword.value!=''&&document.f.newpassword.value!=document.f.newpassword2.value){
		alert('New Password and Confirm New Password do not match.');
		document.f.newpassword.focus();
		return false;
	}
	document.f.username.disabled=false;
}

function forgotPassword(){
	if(document.f.username.value.length<6){
		alert('Username must be at least 6 characters.');
		document.f.username.focus();
		return false;
	}
}

function deleteAdult(){
	var chk=0;
	for(var i=0;i<document.getElementsByName("chkDelete[]").length;i++){if(document.getElementsByName("chkDelete[]")[i].checked)chk=1}
	if(chk==0){alert('You must select a record/records to delete.');return;}

	if(!confirm('Are you sure you want to DELETE the selected records?'))return false;
	document.f.hdnDelete.value='1';
	document.f.submit();
}
function deleteNonstar(){
	var chk=0;
	for(var i=0;i<document.getElementsByName("chkDelete[]").length;i++){if(document.getElementsByName("chkDelete[]")[i].checked)chk=1}
	if(chk==0){alert('You must select a record/records to delete.');return;}

	if(!confirm('Are you sure you want to DELETE the selected records?'))return false;
	document.f.hdnDelete.value='1';
	document.f.submit();
}
function deleteStar(){
	var chk=0;
	for(var i=0;i<document.getElementsByName("chkDelete[]").length;i++){if(document.getElementsByName("chkDelete[]")[i].checked)chk=1}
	if(chk==0){alert('You must select a record/records to delete.');return;}

	if(!confirm('Are you sure you want to DELETE the selected records?'))return false;
	document.f.hdnDelete.value='1';
	document.f.submit();
}
function deleteSaved(){
	var chk=0;
	for(var i=0;i<document.getElementsByName("chkSaved[]").length;i++){if(document.getElementsByName("chkSaved[]")[i].checked)chk=1}
	if(chk==0){alert('You must select a record/records to delete.');return;}

	if(!confirm('Are you sure you want to DELETE the selected registrations?'))return false;
	document.f.hdnDeleteSaved.value='1';
	document.f.submit();
}
//function deleteSubmitted(){
//	var chk=0;
//	for(var i=0;i<document.getElementsByName("chkSubmitted[]").length;i++){if(document.getElementsByName("chkSubmitted[]")[i].checked)chk=1}
//	if(chk==0){alert('You must select a record/records to delete.');return;}
//
//	if(!confirm('Are you sure you want to DELETE the selected registrations?'))return false;
//	document.f.hdnDeleteSubmitted.value='1';
//	document.f.submit();
//}
function submitSaved(mainid){
//	var chk=0;
//	for(var i=0;i<document.getElementsByName("chkSaved[]").length;i++){if(document.getElementsByName("chkSaved[]")[i].checked)chk=1}
//	if(chk==0){alert('You must select a record/records to submit.');return;}

	if(!confirm('Are you sure you want to SUBMIT this registration?'))return false;
	document.f.hdnSubmitSaved.value=mainid;
	document.f.submit();
}
function submitDeleted(mainid){
	if(!confirm('Are you sure you want to DELETE this registration?'))return false;
	document.f.hdnSubmitDeleted.value=mainid;
	document.f.submit();
}
function unsubmitSubmitted(){
	var chk=0;
	for(var i=0;i<document.getElementsByName("chkSubmitted[]").length;i++){if(document.getElementsByName("chkSubmitted[]")[i].checked)chk=1}
	if(chk==0){alert('You must select a record/records to unsubmit.');return;}

	if(!confirm('Are you sure you want to UN-SUBMIT the selected registrations?'))return false;
	document.f.hdnUnsubmitSubmitted.value='1';
	document.f.submit();
}
function validateSectionA(){
	var sMsg='';
	var isValid=true;
	
	if(document.f.officialchaptername.value=='')sMsg+='Official Chapter Name is required.\n';
	if(document.f.schoolname.value=='')sMsg+='School Name is required.\n';
	if(document.f.selregion.selectedIndex==0)sMsg+='Region is required.\n';
	if(document.f.selchaptertype.selectedIndex==0)sMsg+='Chapter Type is required.\n';
	if(document.f.selprefix.selectedIndex==0)sMsg+='Prefix is required.\n';
	if(document.f.fname.value=='')sMsg+='First Name is required.\n';
	if(document.f.lname.value=='')sMsg+='Last Name is required.\n';
	if(document.f.address1.value=='')sMsg+='Address 1 is required.\n';
	if(document.f.city.value=='')sMsg+='City is required.\n';
	if(document.f.state.value=='')sMsg+='State is required.\n';
	if(!validateZip(document.f.zip5.value,5))sMsg+='Zip is not valid.\n';
	if(!validatePhone(document.f.phone.value))sMsg+='Phone is not valid.\n';
	if(document.f.fax.value!=''&&!validatePhone(document.f.fax.value))sMsg+='Fax is not valid.\n';
	if(document.f.email.value!=''&&!validateEmail(document.f.email.value))sMsg+='Email is not valid.\n';
	// banquetcount is not needed this year 2007-2008
//	if(isNaN(document.f.banquetcount.value))sMsg+='Banquet Count is invalid.\n';

	if(sMsg!=''){alert(sMsg);return false}
	else{return true}
}

function validateSectionB(){
	var sMsg='';
	var isValid=true;

	var isStar=0;
	var isRoleChecked=0;
	for(var i=0;i<document.getElementsByName("chkrole[]").length;i++){
		if(document.getElementsByName("chkrole[]")[i].checked){
			isRoleChecked=1;
			if(document.getElementsByName("chkrole[]")[i].value==5||document.getElementsByName("chkrole[]")[i].value==6||document.getElementsByName("chkrole[]")[i].value==7)isStar=1;
		}
	}

	var isBoard=0;
	var isExhibitor=0;
	var isRegTypeChecked=0;
	for(var i=0;i<document.getElementsByName("chkregistrationtype[]").length;i++){
		if(document.getElementsByName("chkregistrationtype[]")[i].checked){
			isRegTypeChecked=1;
			if(document.getElementsByName("chkregistrationtype[]")[i].value==5)isBoard=1;
			if(document.getElementsByName("chkregistrationtype[]")[i].value==6)isExhibitor=1;
		}
	}

//	var isMealChecked=0;
//	for(var i=0;i<document.getElementsByName("chkmeal[]").length;i++){
//		if(document.getElementsByName("chkmeal[]")[i].checked){isMealChecked=1;break;}
//	}

	if(document.f.selprefix.selectedIndex==0){sMsg+='Prefix is required.\n';isValid=false}
	if(document.f.fname.value==''){sMsg+='First Name is required.\n';isValid=false}
	if(document.f.lname.value==''){sMsg+='Last Name is required.\n';isValid=false}

	if(isStar==1){
		if(document.f.address1.value==''){sMsg+='Address 1 is required.\n';isValid=false}
		if(document.f.city.value==''){sMsg+='City is required.\n';isValid=false}
		if(document.f.state.value==''){sMsg+='State is required.\n';isValid=false}
		if(!validateZip(document.f.zip5.value,5)){sMsg+='Zip is not valid.\n';isValid=false}
		if(!validatePhone(document.f.phone.value)){sMsg+='Phone is not valid.\n';isValid=false}
		if(document.f.fax.value!=''&&!validatePhone(document.f.fax.value)){sMsg+='Fax is not valid.\n';isValid=false}
//		if(!validateEmail(document.f.email.value)){sMsg+='Email is not valid.\n';isValid=false}
	}else{
		if(document.f.zip5.value!=''&&!validateZip(document.f.zip5.value,5)){sMsg+='Zip is not valid.\n';isValid=false}
		if(document.f.phone.value!=''&&!validatePhone(document.f.phone.value)){sMsg+='Phone is not valid.\n';isValid=false}
		if(document.f.fax.value!=''&&!validatePhone(document.f.fax.value)){sMsg+='Fax is not valid.\n';isValid=false}
//		if(document.f.email.value!=''&&!validateEmail(document.f.email.value)){sMsg+='Email is not valid.\n';isValid=false}
	}

	//if Exhibitor is selected or Special Guest Registration Type Selection is selected, then T-Shirt is not required.
	if(isExhibitor==0&&document.f.selregistrationtypeselection.options[document.f.selregistrationtypeselection.selectedIndex].value!=9)if(document.f.seltshirt.selectedIndex==0){sMsg+='T-Shirt is required.\n';isValid=false}

	if(document.f.selpref1.selectedIndex!=0&&(
		(document.f.selpref1.selectedIndex==document.f.selpref2.selectedIndex)
		||(document.f.selpref1.selectedIndex==document.f.selpref3.selectedIndex)
		||((document.f.selpref2.selectedIndex==document.f.selpref3.selectedIndex)&&document.f.selpref2.selectedIndex!=0)
	)){sMsg+='You must select unique values for Preferences.\n';isValid=false}
	
	//if Board of Directors  or Exhibitor are selected then Registration Type Selection is not required.
	if(isBoard==0&&isExhibitor==0)if(document.f.selregistrationtypeselection.selectedIndex==0){sMsg+='You must select a Registration Type Selection.\n';isValid=false}
	if(isRegTypeChecked==0){sMsg+='You must select at least one Registration Category.\n';isValid=false}
//	if(isMealChecked==0){sMsg+='You must select at least one Meal.\n';isValid=false}

// role is not required
//	if(isRoleChecked==0){sMsg+='You must select at least one Role.\n';isValid=false}

	//Pref is required only if a STAR role has been selected
	if(isStar==1)if(document.f.selpref1.selectedIndex==0){sMsg+='You must select a value for Pref 1.\n';isValid=false}

	if(!isValid){
		alert(sMsg);
	}

	return isValid;
}
function validateSectionC(){
	var sMsg='';
	var isValid=true;

	var isStateOfficer=0;
	var isRegTypeChecked=0;
	for(var i=0;i<document.getElementsByName("chkregistrationtype[]").length;i++){
		if(document.getElementsByName("chkregistrationtype[]")[i].checked){
			if(document.getElementsByName("chkregistrationtype[]")[i].value==11)isStateOfficer=1;
			isRegTypeChecked=1;
		}
	}

	var isStar=0;
	var isRoleChecked=0;
	for(var i=0;i<document.getElementsByName("chkrole[]").length;i++){
		if(document.getElementsByName("chkrole[]")[i].checked){
			isRoleChecked=1;
			if(document.getElementsByName("chkrole[]")[i].value==12)isStar=1;
		}
	}
	
//	var isMealChecked=0;
//	for(var i=0;i<document.getElementsByName("chkmeal[]").length;i++){
//		if(document.getElementsByName("chkmeal[]")[i].checked){isMealChecked=1;break;}
//	}

	if(document.f.fname.value==''){sMsg+='First Name is required.\n';isValid=false}
	if(document.f.lname.value==''){sMsg+='Last Name is required.\n';isValid=false}
	if(document.f.selgrade.selectedIndex==0){sMsg+='Grade is required.\n';isValid=false}

	//if Special Guest Registration Type Selection is selected, then T-Shirt is not required.
	if(document.f.selregistrationtypeselection.options[document.f.selregistrationtypeselection.selectedIndex].value!=9)if(document.f.seltshirt.selectedIndex==0){sMsg+='T-Shirt is required.\n';isValid=false}

	//if STAR Events Room Consultant is selected then Pref is required.
	if(isStar==1)if(document.f.selpref1.selectedIndex==0){sMsg+='You must select a value for Pref 1.\n';isValid=false}
	if(document.f.selpref1.selectedIndex!=0&&(
		(document.f.selpref1.selectedIndex==document.f.selpref2.selectedIndex)
		||(document.f.selpref1.selectedIndex==document.f.selpref3.selectedIndex)
		||((document.f.selpref2.selectedIndex==document.f.selpref3.selectedIndex)&&document.f.selpref2.selectedIndex!=0)
		)){sMsg+='You must select unique values for Preferences.\n';isValid=false}

	if(isStateOfficer==0)if(document.f.selregistrationtypeselection.selectedIndex==0){sMsg+='You must select a Registration Type Selection.\n';isValid=false}
	if(isRegTypeChecked==0){sMsg+='You must select at least one Registration Category.\n';isValid=false}
//	if(isMealChecked==0){sMsg+='You must select at least one Meal.\n';isValid=false}

	if(isRoleChecked==0){sMsg+='You must select at least one Role.\n';isValid=false}

	
	if(!isValid){
		alert(sMsg);
	}

	return isValid;
}
function validateSectionD(){
	var sMsg='';

	var isRegTypeChecked=0;
	for(var i=0;i<document.getElementsByName("chkregistrationtype[]").length;i++){
		if(document.getElementsByName("chkregistrationtype[]")[i].checked){
			isRegTypeChecked=1;
		}
	}
	
	var isRoleChecked=0;
	for(var i=0;i<document.getElementsByName("chkrole[]").length;i++){
		if(document.getElementsByName("chkrole[]")[i].checked){
			isRoleChecked=1;
		}
	}

	if(document.f.fname.value=='')sMsg+='First Name is required.\n';
	if(document.f.lname.value=='')sMsg+='Last Name is required.\n';
	if(document.f.seltshirt.selectedIndex==0)sMsg+='T-Shirt is required.\n';
	if(document.f.selcategory.selectedIndex==0)sMsg+='Category is required.\n';
	if(document.f.selgroupname.selectedIndex==0)sMsg+='Group Name is required.\n';
	if(document.f.seleventname.selectedIndex==0)sMsg+='Event Name is required.\n';
	if(document.f.selgrade.selectedIndex==0)sMsg+='Grade is required.\n';
	if(document.f.selgrade.value>5&&document.f.selcategory.value==1)sMsg+='10th, 11th and 12th grade may not compete in the Junior category.\n';
	if(isRoleChecked==0)sMsg+='You must select at least one Role.\n';
	if(isRegTypeChecked==0)sMsg+='You must select at least one Registration Category.\n';

	eventnameid=document.f.seleventname.value;
	categoryid=document.f.selcategory.value;
	groupnameid=document.f.selgroupname.value;
	eventname=document.f.seleventname.options[document.f.seleventname.selectedIndex].text;
	groupname=document.f.selgroupname.options[document.f.selgroupname.selectedIndex].text;
	category=document.f.selcategory.options[document.f.selcategory.selectedIndex].text;
	grade=document.f.selgrade.options[document.f.selgrade.selectedIndex].text;

	skip=false;
	if(groupname!='Individual'&&(eventname=='Career Investigation'||eventname=='Early Childhood'||eventname=='Job Interview'||eventname=='Pastry Arts-Baking'||eventname=='Pastry Arts-Cake Decorating'||eventname=='Food and Beverage Service'||eventname=='Fashion Construction'||eventname=='Fashion Design'||eventname=='Recycle and Redesign')){
		sMsg+=eventname + ' may only be entered as an Individual event.\n';
		skip=true;
	}
	if(groupname!='Team'&&(eventname=='Chapter Service Project Display'||eventname=='Chapter Service Project Manual'||eventname=='Chapter Showcase Display'||eventname=='Chapter Showcase Manual'||eventname=='Culinary Arts'||eventname=='Parliamentary Procedure')){
		sMsg+=eventname + ' may only be entered as a Team event.\n';
		skip=true;
	}
	if(category=='Occupational'&&(eventname=='Career Investigation'||eventname=='Recycle and Redesign')){
		sMsg+=eventname + ' may only be entered in the Junior or Senior category.\n';
		skip=true;
	}
	if(category=='Occupational'&&(grade<10)){
		sMsg+='Only 10th, 11th, and 12th grade may compete in the Occupational category.\n';
		skip=true;
	}
	if(category=='Junior'&&(eventname=='Hospitality'||eventname=='Job Interview'||eventname=='Fashion Construction'||eventname=='Fashion Design'||eventname=='Interior Design')){
		sMsg+=eventname + ' may only be entered in the Occupational or Senior category.\n';
		skip=true;
	}
	if(category!='Occupational'&&(eventname=='Culinary Arts'||eventname=='Early Childhood'||eventname=='Pastry Arts-Baking'||eventname=='Pastry Arts-Cake Decorating'||eventname=='Food and Beverage Service')){
		sMsg+=eventname + ' may only be entered in the Occupational category.\n';
		skip=true;
	}
	if(groupname=='Individual'&&category=='Senior'&&(grade=='5'||grade=='6'||grade=='7'||grade=='8'||grade=='9')){
		sMsg+='5th - 9th grade may not compete in Individual Senior Events.\n';
		skip=true;
	}
	
	// if no previous registrations or skip then no further validation is needed
	if(!self.categoryidlist||skip){if(sMsg!=''){alert(sMsg);return false}else return true}

	var EE=null;
	if(EE=inArray(eventnameidlist, eventnameid)){
		// EE contains an array of positions that correspond to other registrations with this eventnameid
		
		// iEECnt is the count of all events entered in the same category as the current one being entered
		var iEECnt=0;for(var i=0;i<EE.length;i++)if(categoryidlist[EE[i]]==categoryid)iEECnt++;
		for(var i=0;i<EE.length;i++){
			if(categoryidlist[EE[i]]==categoryid){
				if(groupnamelist[EE[i]]=='Individual'){
					sMsg+=(eventnamelist[EE[i]] + ' has already been entered as an Individual event for the ' + categorylist[EE[i]] + ' category.\n');
					break;
				}
				if(groupnamelist[EE[i]]=='Individual'&&groupname=='Team'){
					sMsg+=(eventnamelist[EE[i]] + ' has already been entered as an Individual event for the ' + categorylist[EE[i]] + ' category.\n');
					break;
				}
				if(groupnamelist[EE[i]]=='Team'&&groupname=='Individual'){
					sMsg+=(eventnamelist[EE[i]] + ' has already been entered as a Team event for the ' + categorylist[EE[i]] + ' category.\n');
					break;
				}
				if(groupnamelist[EE[i]]=='Team'){
					if(eventname=='Parliamentary Procedure'){
						if(iEECnt>=8){
							sMsg+=(eventnamelist[EE[i]] + ' already has the maximum 8 entries for the ' + categorylist[EE[i]] + ' category.\n');
							break;
						}
					}else if(eventname=='Culinary Arts'){
						if(iEECnt>=3){
							sMsg+=(eventnamelist[EE[i]] + ' already has the maximum 3 entry for the ' + categorylist[EE[i]] + ' category.\n');
							break;
						}
					}else if(iEECnt>=3){
						sMsg+=(eventnamelist[EE[i]] + ' already has the maximum 3 entries for the ' + categorylist[EE[i]] + ' category.\n');
						break;
					}
				}
			}
		}
	}

	if(sMsg!=''){alert(sMsg);return false}
	else return true;
}
