function popform(StudentNumber,ClassNumber,anchorname,ClassAdd)
{
	if (! window.focus)return true;
	var AddClass=parseInt(eval("document.RegForm.StudentClasses_"+StudentNumber+".value"))+parseInt(ClassAdd);
	var NumberClass=parseInt(ClassNumber)+parseInt(ClassAdd);
	if (eval("document.RegForm.LevelID_"+StudentNumber+"_"+NumberClass+".value")=='')
	{
		var StudioClass=eval("document.RegForm.ClassStudio_"+StudentNumber+"_"+NumberClass+".value");
		var href="scripts/SchedPop.asp?StudentNumber="+StudentNumber+"&ClassNumber="+NumberClass+"&StudioNumber="+StudioClass+"&Classes="+AddClass;
		window.open(href,"Schedule","width=610,height=580,scrollbars=yes");
		return false;
	}
	else
	{
		var StudentClasses=eval("document.RegForm.StudentClasses_"+StudentNumber);
		StudentClasses.value=AddClass;
		document.RegForm.submit();
	}
}

function popalways(Students,StudentNumber,ClassNumber,anchorname,ClassAdd,CostumeTotal,HolidayTotal,CostumeGrand,ClassCostTotal,ClassStudentTotal,CostumeStudent,HolidayStudent,StudentGrand)
{
	if (! window.focus)return true;
	var AddClass=parseInt(eval("document.RegForm.StudentClasses_"+StudentNumber+".value"))+parseInt(ClassAdd);
	var NumberClass=parseInt(ClassNumber)+parseInt(ClassAdd);
	var StudioClass;
	if (parseInt(ClassNumber)==0)
	{
		StudioClass=1;
	}
	else
	{
		StudioClass=eval("document.RegForm.ClassStudio_"+StudentNumber+"_"+ClassNumber+".value");
	}
	var cStr='';
	var hStr='';
	var s = parseInt(Students)+1;
	for (var i = 1; i < s; i++)
	{
		var c=parseInt(eval("document.RegForm.StudentClasses_"+i+".value"));
		cStr+="&StudentClasses_"+i+"="+parseInt(c);
		c++;
		for (var j = 1; j < c; j++)
		{
			hStr+="&ScheduleID_"+i+"_"+j+"="+parseInt(eval("document.RegForm.ScheduleID_"+i+"_"+j+".value"));
		}
	}
	var href="scripts/SchedPop.asp?Students="+Students+"&StudentNumber="+StudentNumber+"&ClassNumber="+NumberClass+"&StudioNumber="+StudioClass+"&Classes="+AddClass+"&CostumeTotal="+CostumeTotal+"&HolidayTotal="+HolidayTotal+"&CostumeGrand="+CostumeGrand+"&ClassCostTotal="+ClassCostTotal+"&ClassStudentTotal_"+StudentNumber+"="+ClassStudentTotal+"&CostumeStudent_"+StudentNumber+"="+CostumeStudent+"&HolidayStudent_"+StudentNumber+"="+HolidayStudent+"&StudentGrand_"+StudentNumber+"="+StudentGrand+cStr+hStr;
	window.open(href,"Schedule","width=610,height=580,scrollbars=yes");
	return false;
}

function classinfo(ClassNumber,LevelNumber)
{
	if (! window.focus)return true;
	var href="scripts/ClassInformation.asp?ClassNumber=" + ClassNumber + "&LevelNumber=" + LevelNumber;
	window.open(href,"ClassInformation","width=300,height=250,scrollbars=yes");
	return false;
}

function checkNumber(inEl,lenCheck)
{
	if (inEl.value.length > 0)
	{
		var outStr='';
		for (var i = 0; i < inEl.value.length; i++)
		{
			var c = inEl.value.charAt(i);
			if ((c > "/") && (c < ":")) outStr+=c;
		}
		inEl.value=outStr;
		if (outStr.length == lenCheck)
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	else
	{
		return false;
	}
}

function minNumber(inEl,minCheck)
{
	if (inEl.value.length > 0)
	{
		var outStr='';
		for (var i = 0; i < inEl.value.length; i++)
		{
			var c = inEl.value.charAt(i);
			if ((c > "/") && (c < ":")) outStr+=c;
		}
		inEl.value=outStr;
		if (outStr.length > minCheck)
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	else
	{
		return false;
	}
}

function checkPhone(inEl)
{
	if (inEl.value.length > 0)
	{
		var outStr='';
		for (var i = 0; i < inEl.value.length; i++)
		{
			var c = inEl.value.charAt(i);
			if ((c > "/") && (c < ":")) outStr+=c;
		}
		if (outStr.length == 7)
		{
			inEl.value="(608) "+outStr.substring(0,3)+"-"+outStr.substring(3);
			return true;
		}
		else if (outStr.length > 9)
		{
			inEl.value="("+outStr.substring(outStr.length-10,outStr.length-7)+") "+outStr.substring(outStr.length-7,outStr.length-4)+"-"+outStr.substring(outStr.length-4);
			return true;
		}
		else
		{
			inEl.value=outStr;
			return false;
		}
	}
	else
	{
		return false;
	}
}

function checkState(inEl)
{
	if (inEl.value.length > 0)
	{
		var outStr='';
		for (var i = 0; i < inEl.value.length; i++)
		{
			var c = inEl.value.charAt(i);
			if ((c > "@") && (c < "["))
			{
				outStr+=c;
			}
			else if ((c > "`") && (c < "{"))
			{
				outStr+=c.toUpperCase();
			}
		}
		if (outStr.length == 2)
		{
			inEl.value=outStr;
			return true;
		}
		else
		{
			inEl.value=outStr;
			return false;
		}
	}
	else
	{
		inEl.value="WI";
		return true;
	}
}

function checkZipCode(inEl)
{
	if (inEl.value.length > 0)
	{
		var outStr='';
		for (var i = 0; i < inEl.value.length; i++)
		{
			var c = inEl.value.charAt(i);
			if ((c > "/") && (c < ":")) outStr+=c;
		}
		if (outStr.length > 5)
		{
			outStr=outStr.substring(0,5)+"-"+outStr.substring(5,((outStr.length<10)?outStr.length:9));
		}
		inEl.value = outStr;
		if ((outStr.length == 5) || (outStr.length == 10))
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	else
	{
		return false;
	}
}

function trimString(trimStr)
{
	while ((trimStr.indexOf(' ',0) == 0) && (trimStr.length > 1))
	{
		trimStr = trimStr.substring(1, trimStr.length);
	}
	while ((trimStr.lastIndexOf(' ') == (trimStr.length - 1) && (trimStr.length > 1)))
	{
		trimStr = trimStr.substring(0, (trimStr.length - 1));
	}
	if ((trimStr.indexOf(' ',0) == 0) && (trimStr.length == 1)) trimStr = '';
	return trimStr;
}

function justTrim(trimEl)
{
	while ((trimEl.value.indexOf(' ',0) == 0) && (trimEl.value.length > 1))
	{
		trimEl.value = trimEl.value.substring(1, trimEl.value.length);
	}
	while ((trimEl.value.lastIndexOf(' ') == (trimEl.value.length - 1) && (trimEl.value.length > 1)))
	{
		trimEl.value = trimEl.value.substring(0, (trimEl.value.length - 1));
	}
	if ((trimEl.value.indexOf(' ',0) == 0) && (trimEl.value.length == 1)) trimEl.value = '';
}

function trimElement(trimEl)
{
	while ((trimEl.value.indexOf(' ',0) == 0) && (trimEl.value.length > 1))
	{
		trimEl.value = trimEl.value.substring(1, trimEl.value.length);
	}
	while ((trimEl.value.lastIndexOf(' ') == (trimEl.value.length - 1) && (trimEl.value.length > 1)))
	{
		trimEl.value = trimEl.value.substring(0, (trimEl.value.length - 1));
	}
	if ((trimEl.value.indexOf(' ',0) == 0) && (trimEl.value.length == 1)) trimEl.value = '';
	if (trimEl.value.length==0)
	{
		return false;
	}
	else
	{
		return true;
	}
}

function checkEmail(emailStr)
{
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null)
	{
	//	alert("Email address seems incorrect (check @ and .'s)");
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	if (user.match(userPat)==null)
	{
	//	alert("The username doesn't seem to be valid.");
		return false;
	}
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null)
	{
		for (var i=1;i<=4;i++)
		{
			if (IPArray[i]>255)
			{
			//	alert("Destination IP address is invalid!");
				return false;
			}
		}
		return true;
	}
	var domainArray=domain.match(domainPat);
	if (domainArray==null)
	{
	//	alert("The domain name doesn't seem to be valid.");
		return false;
	}
	var atomPat=new RegExp(atom,"g");
	var domArr=domain.match(atomPat);
	var len=domArr.length;
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3)
	{
   //	alert("The address must end in a three-letter domain, or two letter country.");
		return false;
	}
	if (len<2)
	{
	//	var errStr="This address is missing a hostname!";
	//	alert(errStr);
		return false;
	}
	return true;
}

function checkStudents(PageSub)
{
	var studentCheck=true;
	var classCheck=true;
	var alertText='';
	var students=parseInt(document.RegForm.Students.value);
	for (var count=1;count<students+1;count++)
	{
		if (trimElement(eval('document.RegForm.StudentFirstName_'+count))==false) studentCheck=false;
		justTrim(eval('document.RegForm.StudentMiddleName_'+count));
		if (trimElement(eval('document.RegForm.StudentLastName_'+count))==false) studentCheck=false;
		if (eval('document.RegForm.StudentBirthdate_'+count+'.value.length')==0 ) studentCheck=false;
		if (eval('document.RegForm.StudentStartDate_'+count+'.value.length')==0) studentCheck=false;
		justTrim(eval('document.RegForm.StudentCondition_'+count));
		if (eval('document.RegForm.StudentCondition_'+count+'.value')=='') eval('document.RegForm.StudentCondition_'+count+'.value=\'none\'');
		if (parseInt(eval('document.RegForm.StudentClasses_'+count+'.value'))<1) classCheck=false;
	}
	if (studentCheck==true && classCheck==true)
	{
		document.RegForm.PageSub.value=parseInt(PageSub);
		document.RegForm.submit();
	}
	else
	{
		if (studentCheck==false)
		{
			alertText+="Please fill in all required fields\nbefore continuing to the next step.";
			if (classCheck==false)
			{
				alertText+="\n\nAlso make sure there is at least\none class assigned to each student.";
			}
		}
		else
		{
			alertText+="Make sure there is at least one\nclass assigned to each student.";
		}
		alert(alertText);
	}
}

function checkParents(PageSub)
{
	var parentCheck=true;
	var withdrawalCheck=true;
	var emailCheck=true;
	var phoneCheck=false;
	var alertText='';
	var parents=parseInt(document.RegForm.Parents.value);
	for (var count=1;count<parents+1;count++)
	{
		if (trimElement(eval('document.RegForm.ParentFirstName_'+count))==false) parentCheck=false;
		justTrim(eval('document.RegForm.ParentMiddleName_'+count));
		if (trimElement(eval('document.RegForm.ParentLastName_'+count))==false) parentCheck=false;
		justTrim(eval('document.RegForm.ParentEmail_'+count));
		if (checkEmail(eval('document.RegForm.ParentEmail_'+count+'.value'))==false) emailCheck=false;
		if (checkPhone(eval('document.RegForm.ParentHomeNumber_'+count))==true) phoneCheck=true;
		if (checkPhone(eval('document.RegForm.ParentWorkNumber_'+count))==true) phoneCheck=true;
		if (checkPhone(eval('document.RegForm.ParentCellNumber_'+count))==true) phoneCheck=true;
		justTrim(eval('document.RegForm.ParentWorkExtension_'+count));
		if (trimElement(eval('document.RegForm.ParentAddress1_'+count))==false) parentCheck=false;
		if (trimElement(eval('document.RegForm.ParentCity_'+count))==false) parentCheck=false;
		if (checkState(eval('document.RegForm.ParentState_'+count))==false) parentCheck=false;
		if (checkZipCode(eval('document.RegForm.ParentZipCode_'+count))==false) parentCheck=false;
		if (parseInt(document.RegForm.Withdrawal.value)==1)
		{
			if (trimElement(document.RegForm.BankName)==false) withdrawalCheck=false;
			if ((checkPhone(document.RegForm.BankPhone)==false)) withdrawalCheck=false;
			if (trimElement(document.RegForm.BankAddress)==false) withdrawalCheck=false;
			if (trimElement(document.RegForm.BankCity)==false) withdrawalCheck=false;
			if (checkState(document.RegForm.BankState)==false) withdrawalCheck=false;
			if (checkZipCode(document.RegForm.BankZipCode)==false) withdrawalCheck=false;
			if (checkNumber(document.RegForm.BankRoutingNumber,9)==false) withdrawalCheck=false;
			if (minNumber(document.RegForm.BankAccountNumber,4)==false) withdrawalCheck=false;
		}
	}
	if (parentCheck==true && emailCheck==true && withdrawalCheck==true)
	{
		document.RegForm.PageSub.value=parseInt(PageSub);
		document.RegForm.submit();
	}
	else
	{
		if (parentCheck==false)
		{
			alertText+="Please fill in all required parent fields\nbefore continuing to the next step.";
			if (withdrawalCheck==false)
			{
				alertText+="\n\nYour Bank information is not complete.";
				if (emailCheck==false) alertText+="\n\nAt least one parent email entry is invalid.";
			}
		}
		else
		{
			if (withdrawalCheck==false)
			{
				alertText+="Your Bank information is not complete.";
				if (emailCheck==false) alertText+="\n\nAt least one parent email entry is invalid.";
			}
			else
			{
				alertText+="At least one parent email entry is invalid.";
			}
		}
		alert(alertText);
	}
}

function checkEmergency(PageSub)
{
	var emergencyCheck=true;
	var alertText='';
	var phoneCheck=false;
	if (trimElement(eval('document.RegForm.EmergencyContactFirstName'))==false) emergencyCheck=false;
	if (trimElement(eval('document.RegForm.EmergencyContactLastName'))==false) emergencyCheck=false;
	if (checkPhone(eval('document.RegForm.EmergencyContactHomeNumber'))==true) phoneCheck=true;
	if (checkPhone(eval('document.RegForm.EmergencyContactWorkNumber'))==true) phoneCheck=true;
	if (checkPhone(eval('document.RegForm.EmergencyContactCellNumber'))==true) phoneCheck=true;
	justTrim(eval('document.RegForm.EmergencyContactWorkExtension'));
	if (trimElement(eval('document.RegForm.EmergencyContactAddress1'))==false) emergencyCheck=false;
	if (trimElement(eval('document.RegForm.EmergencyContactCity'))==false) emergencyCheck=false;
	if (checkState(eval('document.RegForm.EmergencyContactState'))==false) emergencyCheck=false;
	if (checkZipCode(eval('document.RegForm.EmergencyContactZipCode'))==false) emergencyCheck=false;
	if (emergencyCheck==true)
	{
		document.RegForm.PageSub.value=parseInt(PageSub);
		document.RegForm.submit();
	}
	else
	{
		alertText+="Please fill in all required emergency contact\nfields before continuing.";
		alert(alertText);
	}
}

function checkLogin(PageSub)
{
	if ((document.RegForm.Username.value.length<5) || (document.RegForm.Password.value.length<5) || (document.RegForm.Verification.value.length<5))
	{
		alert("Username and passwords must\nbe at least 5 characters long.");
	}
	else if (document.RegForm.Password.value != document.RegForm.Verification.value)
	{
		alert("The 2 passwords must match.\nPlease re-enter passwords.");
	}
	else
	{
		document.RegForm.PageSub.value=parseInt(PageSub);
		document.RegForm.submit();
	}
}

function checkForm(PageSub)
{
	document.RegForm.PageSub.value=parseInt(PageSub);
	document.RegForm.submit();
}

function checkMess()
{
}
