﻿function header(title){

	document.write('<link rel="tsh" type="text/css" href="alamedastyle.css" />');

	document.write('<style>');
	
	document.write('@import "alamedastyle.css";');

	document.write('</style>');
	
	document.write('<title>'+title+'</title>');
	document.write('<link rel="shortcut icon" href="http://www.alamedaschool.org/favicon.ico" type="image/x-icon" />');	
	
	document.write('</head>');

	return;	

}


function navbuttons(){

	document.write('<body id="pagestyle" onLoad=ShowStyle();>');

	document.write('<table id="maintablestyle" cellspacing="0"  align="center" width=93%>');

	document.write('<tr>');
	document.write('<td colspan="2">');
	document.write('<p align="center"><a class="nav" href="http://www.alamedaschool.org/"><img src="images/banner.gif" border="0"></a></p>');
	document.write('</td></tr>');
	document.write('<tr>');
	document.write('<td colspan="2">');
	document.write('<p id=address align="center">Alameda Elementary School; 2732 NE Fremont St.; Portland, OR 97212</p>');
	document.write('</td></tr>');
	document.write('<tr>');
	document.write('<td colspan="2">');
	document.write('<br/>');
	document.write('</td></tr>');
	
/* starting new buttons on left */
	document.write('<tr><td valign="top" cellpadding="5";>');
	document.write('<table class="navbar" cellspacing="1">');
	document.write('<tr><td class="navb_green">');
	document.write('<a class="nav" href="http://www.alamedaschool.org/">Home</a>');
	document.write('</td></tr>');
	document.write('<tr><td class="navb_green">');
	document.write('<a class="nav" href="/classroom/staff.php">Staff/Classrooms</a>');
	document.write('</td></tr>');
	document.write('<tr><td class="navb_green">');
	document.write('<a class="nav" href="/auction/index.php">Auction</a>');
	document.write('</td></tr>');
	document.write('<tr><td class="navb_green">');
	document.write('<a class="nav" href="calendar.php">Calendar</a>');
	document.write('</td></tr>');
	document.write('<tr><td class="navb_green">');
	document.write('<a class="nav" href="newsnotes.php">News Notes</a>');
	document.write('</td></tr>');
	document.write('<tr><td class="navb_green">');
	document.write('<a class="nav" href="alameda_101.php">Alameda 101</a>');
	document.write('</td></tr>');
	document.write('<tr><td class="navb_green">');
	document.write('<a class="nav" href="volunteer.php">Volunteer Opportunities</a>');
	document.write('</td></tr>');
	document.write('<tr><td class="navb_green">');
	document.write('<a class="nav" href="fundraising.php">Fundraising</a>');
	document.write('</td></tr>');
	document.write('<tr><td class="navb_green">');
	document.write('<a class="nav" href="pta.php">PTA</a>');
	document.write('</td></tr>');
	document.write('<tr><td class="navb_green">');
	document.write('<a class="nav" href="foundation.php">Foundation</a>');
	document.write('</td></tr>');
	document.write('<tr><td class="navb_green">');
	document.write('<a class="nav" href="site_council.php">Site Council</a>');
	document.write('</td></tr>');
	document.write('<tr><td class="navb_green">');
	document.write('<a class="nav" href="resource.php">Resources</a>');
	document.write('</td></tr>');
	document.write('<tr><td class="navb_green">');
	document.write('<a class="nav" href="http://www.pps.k12.or.us/schools/alameda/">Alameda\'s PPS Site</a>');
	document.write('</td></tr>');
	document.write('<tr><td class="navb_green">');
	document.write('<a class="nav" href="contact.php">Contact Us</a>');
	document.write('</td></tr>');
	document.write('</table>');
	document.write('</td>');

	document.write('<td id="maincell">');

}



/*function banner(){

	document.write('<body id="pagestyle" onLoad=ShowStyle();>');

	document.write('<table id="maintablestyle" cellspacing="0"  align="center" width=93%>');

	document.write('<tr>');
	document.write('<td colspan="2">');
	document.write('<p align="center"><a class="nav" href="http://www.alamedaschool.org/"><img src="images/banner.gif" border="0"></a></p>');
	document.write('</td></tr>');
	document.write('<tr>');
	document.write('<td colspan="2">');
	document.write('<p id=address align="center">Alameda Elementary School; 2732 NE Fremont St.; Portland, OR 97212</p>');
	document.write('</td></tr>');
	document.write('<tr>');
	document.write('<td colspan="2">');
	document.write('<br/>');
	document.write('</td></tr>');
	document.write('<td id="maincell">');

}*/
function footer(){

	document.write('<p class="topref"><a class="topref" href="#top"><br/>Return to the Top</a></p>');

	document.write('</td>');

	document.write('</tr>');

	document.write('<tr>');

	document.write('<td  id="footer" colspan="2">');

	document.write('<table width=93%><tr><td width=33%>');
	document.write('<p align="center"><a class="nav" href="http://www.alamedaschool.org/"><img src="images/alamedagoesgreen.png" border="0"></a></p></td>');
	document.write('<td width=33%><p class="centerbold">Alameda Parent Site<br>brought to you by the</p></td>');
	document.write('<td width=33%><a href="pta.html"><img src="images/alameda_pta.gif" align="center" border=0></a></td></tr></table>');
	document.write('</td>');

	document.write('</tr>');

	document.write('<tr>');

	document.write('<td colspan="2" bgcolor="white">');

	document.write('<br/>');

	document.write('</td>');

	document.write('</tr>');

	document.write('<tr>');

	document.write('<td colspan="2" bgcolor="006000">');

	document.write('<br/>');

	document.write('</td>');

	document.write('</tr>');

	document.write('</table>');

	document.write('</body>');

	document.write('</html>');

	return;

}

function Toggle(e){
	if (!document.getElementById) return;
		if(!e) var e = window.event;
	//which link was the mouse over?
	whichlink = (e.target) ? e.target.id : e.srcElement.id;
	
	// get the description
	obj=document.getElementById(whichlink+"desc");
	visible=(obj.style.display=="block")
	key=document.getElementById(whichlink);
	keyname=key.firstChild.nodeValue.substring(3);
	if (visible){
		obj.style.display="none";
		//change button to +
		key.firstChild.nodeValue="[+]"+keyname;
	}
	else{
		obj.style.display="block";
		//change button to -
		key.firstChild.nodeValue="[-]"+keyname;
	}
}
	
function addDescription(){
	i=1;
	while(document.getElementById("activityName"+i)){
		document.getElementById("activityName"+i).onclick=Toggle;
		i++;
	}
}
function addIndex(){
	i=1;
	while(document.getElementById("index"+i)){
		document.getElementById("index"+i).onclick=Toggle;
		i++;
	}
}

f=1;
function freqst(){
	while(document.getElementById("frequency"+f+"icon")){
		document.getElementById("frequency"+f+"icon").onmouseover=ScreenTip;
		document.getElementById("frequency"+f+"icon").onmouseout=clear_ScreenTip;
		f++;
	}
}
tod=1;
function todst(){
	while(document.getElementById("timeOfDay"+tod+"icon")){
		document.getElementById("timeOfDay"+tod+"icon").onmouseover=ScreenTip;
		document.getElementById("timeOfDay"+tod+"icon").onmouseout=clear_ScreenTip;
		tod++;
	}
}
sac=1;
function sacst(){
	while(document.getElementById("schoolAgedchildren"+sac+"icon")){
		document.getElementById("schoolAgedchildren"+sac+"icon").onmouseover=ScreenTip;
		document.getElementById("schoolAgedchildren"+sac+"icon").onmouseout=clear_ScreenTip;
		sac++;
	}
}
smc=1;
function smcst(){
	while(document.getElementById("smallchildren"+smc+"icon")){
		document.getElementById("smallchildren"+smc+"icon").onmouseover=ScreenTip;
		document.getElementById("smallchildren"+smc+"icon").onmouseout=clear_ScreenTip;
		smc++;
	}
}

function ScreenTip(e){
	if (!e) var e = window.event;
	whichlink = (e.target) ? e.target.id : e.srcElement.id;
	d=document.getElementById(whichlink+"st");
	d.style.display="block";
}
function clear_ScreenTip(e){
	if (!e) var e = window.event;
	whichlink = (e.target) ? e.target.id : e.srcElement.id;
	d=document.getElementById(whichlink+"st");
	d.style.display="none";
}
function ShowStyle(){
	if (location.href == "http://www.alamedaschool.org/volunteer.html" || (location.href).indexOf("http://www.alamedaschool.org/calendar.php")>-1) 
	{
		if ((location.href).indexOf("http://www.alamedaschool.org/calendar.php?num_events=only")>-1)
		{
			if ((location.href).indexOf("#calendar")<0)
				document.form1.num_events[1].checked=true;
			if ((location.href).indexOf("cbschool")>-1)
				document.form1.cbschool.checked=true;
			if ((location.href).indexOf("cbbaschool")>-1)
				document.form1.cbbaschool.checked=true;
			if ((location.href).indexOf("cbpta")>-1)
				document.form1.cbpta.checked=true;
			if ((location.href).indexOf("cbfoundation")>-1)
				document.form1.cbfoundation.checked=true;
		}
		if (document.form1.num_events[0].checked == true)
			document.getElementById("show_only").style.display='none';
		else
			document.getElementById("show_only").style.display='block';
	}
}

function SelectAll(){
	document.form1.One_Time_Event.checked = true;
	document.form1.Multi_Event.checked = true;
	document.form1.Weekly.checked = true;
	document.form1.Monthly.checked = true;
	document.form1.Ongoing.checked = true;
	document.form1.During_School.checked = true;
	document.form1.Before_After_School.checked = true;
	document.form1.Evening_Weekends.checked = true;
	document.form1.Work_from_Home.checked = true;
	document.form1.sakids.checked = true;
	document.form1.smkids.checked = true;
}
function DeselectAll(){
	document.form1.One_Time_Event.checked = false;
	document.form1.Multi_Event.checked = false;
	document.form1.Weekly.checked = false;
	document.form1.Monthly.checked = false;
	document.form1.Ongoing.checked = false;
	document.form1.During_School.checked = false;
	document.form1.Before_After_School.checked = false;
	document.form1.Evening_Weekends.checked = false;
	document.form1.Work_from_Home.checked = false;
	document.form1.sakids.checked = false;
	document.form1.smkids.checked = false;
}
function ExpandAll(){
	for(i=0;i<document.form1.num_entries.value;i++)
	{
		index=i+1;
		prefix=document.getElementById("activityName"+index+"desc");
		prefix.style.display = "block";
	}
}
function CollapseAll(){
	for(i=0;i<document.form1.num_entries.value;i++)
	{
		index=i+1;
		prefix=document.getElementById("activityName"+index+"desc");
		prefix.style.display = "none";
	}
}
function Display(id_to_change,row_to_hide,row_to_show){
	/*firefox needs this....*/
	if(document.getElementById(id_to_change).tagName=="TR")
		phrase='table-row';
	else
		phrase='block';
	document.getElementById(id_to_change).style.display=phrase;
	if (row_to_hide!='')
		document.getElementById(row_to_hide).style.display='none';
	if (row_to_show!=''){
		if(document.getElementById(row_to_show).tagName=="TR" && navigator.appName=="Netscape")
			phrase='table-row';
		else
			phrase='block';
		document.getElementById(row_to_show).style.display=phrase;
	}
	document.getElementById("page-footer").style.display="none";
}
function Hide(id_to_change,row_to_show,row_to_hide){
	document.getElementById(id_to_change).style.display='none';
	if (row_to_show!=''){
		if(document.getElementById(row_to_show).tagName=="TR" && navigator.appName=="Netscape")
			phrase='table-row';
		else
			phrase='block';
		document.getElementById(row_to_show).style.display=phrase;
	}
	if (row_to_hide!='')
		document.getElementById(row_to_hide).style.display='none';
}
function HideorDisplay(id_to_change){
	if (document.getElementById(id_to_change).style.display=='none')
		Display(id_to_change,'','');
	else
		Hide(id_to_change,'','');
}
isAlpha="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
isNumber="0123456789";
isAlphaNumeric=isAlpha+isNumber;
function isBadString(str,goodstring){
	for(i=0;i<str.length;i++){
		if (goodstring.indexOf(str.charAt(i))<0)
			return true;		
	}
	return false;
}
function validateFirstName(){
if (!document.form1.first_name)
	return true;
else{
	if (document.form1.first_name.value.length < 1 || document.form1.first_name.value.length>20 || isBadString(document.form1.first_name.value,isAlpha+" -'"))
	{
		fn=document.getElementById('first_name_label');
		fn.innerHTML='First Name\*';
		fn.style.color='red';
		document.form1.first_name.focus();
		error_array[num_errors]="first name";
		num_errors++;
		return false;
	}
	fn=document.getElementById('first_name_label');
	fn.innerHTML='First Name';
	fn.style.color='black';
	return true;
    }
}
function validateLastName(){
if (!document.form1.last_name)
	return true;
	if (document.form1.last_name.value.length < 1 || document.form1.last_name.value.length>20 || isBadString(document.form1.last_name.value,isAlpha+" -'")){
		ln=document.getElementById('last_name_label');
		ln.innerHTML='Last Name\*';
		ln.style.color='red';
		document.form1.last_name.focus();
		error_array[num_errors]="last name";
		num_errors++;
		return false;
	}
	fn=document.getElementById('last_name_label');
	fn.innerHTML='Last Name';
	fn.style.color='black';
	return true;
}
function validateUserName(){
if (!document.form1.fusername)
	return true;
	if (document.form1.fusername.value.length < 6 || document.form1.fusername.value.length>20 || isBadString(document.form1.last_name.value,isAlpha+isNumber+"_-'")){
		ln=document.getElementById('fusername_label');
		ln.innerHTML='Desired Username\*';
		ln.style.color='red';
		document.form1.fusername.focus();
		error_array[num_errors]="username between 6 and 20 characters consisting of letters, numbers, and/or \"_-'\"";
		num_errors++;
		return false;
	}
	fn=document.getElementById('fusername_label');
	fn.innerHTML='Desired Username';
	fn.style.color='black';
	return true;
}
function isValidEmail(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		 if (str.indexOf(" ")!=-1){
		    return false
		 }
 		 return true					
}
function validateEmail(){
if (!document.form1.email)
	return true;
	if (document.form1.email.value.length < 1 || document.form1.email.value.length>75 || !isValidEmail(document.form1.email.value)){
		e=document.getElementById('email_label');
		e.innerHTML='Email\*';
		e.style.color='red';
		document.form1.email.focus();
		error_array[num_errors]=" a valid email address";
		num_errors++;
		return false;
	}
	fn=document.getElementById('email_label');
	fn.innerHTML='Email';
	fn.style.color='black';
	return true;
}
phonesyntax="() .-"+isNumber;
function validatePhone(){
if (!document.form1.phone || !document.form1.alt_phone){
	return true;
}
else{	if (document.form1.phone.value.length <10 && document.form1.alt_phone.value.length <10)
	{
		ph=document.getElementById('phone_label');
		ph.innerHTML='Phone\*';
		ph.style.color='red';
		document.form1.phone.focus();
		error_array[num_errors]="a valid phone number";
		num_errors++;
		return false;
	}
	if(document.form1.phone.value.length <10 || isBadString(document.form1.phone.value,phonesyntax)){
		ph=document.getElementById('phone_label');
		ph.innerHTML='Phone\*';
		ph.style.color='red';
		document.form1.phone.focus();
		error_array[num_errors]="a valid phone number";
		num_errors++;
		return false;
	}
	if((document.form1.alt_phone.value.length >1 && document.form1.alt_phone.value.length <10) || isBadString(document.form1.alt_phone.value,phonesyntax)){
		ph=document.getElementById('alt_phone_label');
		ph.innerHTML='Alternate Phone\*';
		ph.style.color='red';
		document.form1.alt_phone.focus();
		error_array[num_errors]="a valid alternate phone number (or you may leave it blank)";
		num_errors++;
		return false;
	}
	fn=document.getElementById('phone_label');
	fn.innerHTML='Phone';
	fn.style.color='black';
	fn=document.getElementById('alt_phone_label');
	fn.innerHTML='Alternate Phone';
	fn.style.color='black';
	return true;
    }
}
password_syntax=+isNumber+isAlpha+"~!@#$%^&*()_+`-=,.?/"; 
function validatePassword(){
if (!document.form1.fpassword || !document.form1.ckpassword)
	return true;
	if (document.form1.fpassword.value != document.form1.ckpassword.value)
	{
		ph=document.getElementById('ckpassword_label');
		ph.innerHTML='Retype Password\*';
		ph.style.color='red';
		document.form1.ckpassword.focus();
		error_array[num_errors]=" your passwords do not match. Please retype your password";
		num_errors++;
		return false;
	}
	if(document.form1.fpassword.value.length <6 || document.form1.fpassword.value.length >16 || isBadString(document.form1.fpassword.value,password_syntax))
	{
		ph=document.getElementById('fpassword_label');
		ph.innerHTML='Password\*';
		ph.style.color='red';
		document.form1.fpassword.focus();
		error_array[num_errors]="a password between 6 and 16 characters including letters, numbers, and characters in \"~!@#$%^&*()_+`-=,.?/\"";
		num_errors++;
		return false;
	}
	fn=document.getElementById('fpassword_label');
	fn.innerHTML='Password';
	fn.style.color='black';
	fn=document.getElementById('ckpassword_label');
	fn.innerHTML='Retype Password';
	fn.style.color='black';
	return true;
}
function validateAddress(){
if (!document.form1.address1 || !document.form1.address2){
	return true;
}
	if (document.form1.address1.value.length <1 && 
document.form1.address2.value.length <1){
		alert("Please enter your street address.");
		return false;
	}
	return true;
}	
function validateCity(){
if (!document.form1.city){
	return true;
}	if (document.form1.city.value.length < 1){
		alert("Please enter your city.");
		return false;
	}
	return true;
}	
function validateState(){
if (!document.form1.state){
	return true;
}	if (document.form1.state.value.length < 1){
		alert("Please enter your state or province.");
		return false;
	}
	return true;
}	
function validateZip(){
if (!document.form1.zip){
	return true;
}	if (document.form1.zip.value.length < 1){
		alert("Please enter your ZIP or postal code.");
		return false;
	}
	return true;
}	
function validate(){
	num_errors=1;
	error_array=new Array();
	while (num_errors>0){
		num_errors=num_errors-1;
		ph=validatePhone();
		u_n=validateUserName();
		pswd=validatePassword();
		em=validateEmail();
		l_n=validateLastName();
		f_n=validateFirstName();
		if (num_errors>0){
			string="Please enter ";
			if (num_errors == 1)
				string=string+error_array[0];
			if (num_errors == 2)
				string=string+error_array[1]+" and "+error_array[0];
			if (num_errors >2)
			{
				for (i=num_errors-1;i>0;i--){
					string=string+error_array[i]+", ";
				}
				string=string+"and "+error_array[i];
			}	
			string=string+".";
			d=document.getElementById('message');
			d.innerHTML=string;
			d.style.display = 'block';
			return false;
		}
	}
	while (!validateFirstName() || !validateLastName() || 
		!validateEmail() || !validatePhone() || 
		!validateUserName() || !validatePassword() ||
		!validateAddress() || !validateCity() ||
		!validateState() || !validateZip()){	
		return false;
	}
		 
/*	while (!validateLastName()){
		return false;
	}
	while (!validateEmail()){
		return false;
	}
	while (!validatePhone()){
		return false;
	}
	while (!validateAddress()){
		return false;
	}
	while (!validateCity()){
		return false;
	}
	while (!validateState()){
		return false;
	}
	while (!validateZip()){
		return false;
	}*/
	return true;
}
function validate_nophone(){
	num_errors=1;
	error_array=new Array();
	while (num_errors>0){
		num_errors=num_errors-1;
		//ph=validatePhone();
		u_n=validateUserName();
		pswd=validatePassword();
		em=validateEmail();
		l_n=validateLastName();
		f_n=validateFirstName();
		if (num_errors>0){
			string="Please enter ";
			if (num_errors == 1)
				string=string+error_array[0];
			if (num_errors == 2)
				string=string+error_array[1]+" and "+error_array[0];
			if (num_errors >2)
			{
				for (i=num_errors-1;i>0;i--){
					string=string+error_array[i]+", ";
				}
				string=string+"and "+error_array[i];
			}	
			string=string+".";
			d=document.getElementById('message');
			d.innerHTML=string;
			d.style.display = 'block';
			return false;
		}
	}
	while (!validateFirstName() || !validateLastName() || 
		!validateEmail() || /*!validatePhone() || */
		!validateUserName() || !validatePassword() ||
		!validateAddress() || !validateCity() ||
		!validateState() || !validateZip()){	
		return false;
	}
		 
/*	while (!validateLastName()){
		return false;
	}
	while (!validateEmail()){
		return false;
	}
	while (!validatePhone()){
		return false;
	}
	while (!validateAddress()){
		return false;
	}
	while (!validateCity()){
		return false;
	}
	while (!validateState()){
		return false;
	}
	while (!validateZip()){
		return false;
	}*/
	return true;
}
function isSignUp()
{
	signup=false;
	num=document.form1.num_entries.value;
	for(ctr=0;ctr<num;ctr++)
	{
		index=ctr+1;
		prefix=document.getElementById('javalabel'+index);
		foo=prefix.firstchild.checked;
		if(foo == true)
			signup=true;
	}
	return signup;
}
function checkSignUp()
{
	while (!isSignUp())
	{
		ph=document.getElementById("message");
		ph.innerHTML="Please sign up for at least one event to continue.";
		ph.style.color="red";
		ph.style.display="block";
		return false;
	}
	return true;	
}


function PluMinToggle(num,records_bool){
	var browser = navigator.appName;
	if(browser == "Netscape"){
		foo = "table-row";
	} 
	else {
		foo = "block";
	}
	buttonlabel="button"+num;
	button=eval("document.form1."+buttonlabel);
	hiddennoteslabel="notes_cell"+num;
	hiddennotes=document.getElementById(hiddennoteslabel);
	hiddenrecordslabel="record"+num;
	if (records_bool==1)
		hiddenrecords=document.getElementById(hiddenrecordslabel);
	if (button.value=='+'){
		button.value='-';
		hiddennotes.style.display=foo;
		if (records_bool==1)
			hiddenrecords.style.display=foo;
	}		
	else{
		button.value='+';
		hiddennotes.style.display="none";
		if (records_bool==1)
			hiddenrecords.style.display="none";
	}
}
function getPrizeLevel(num){
	ceilings_str=document.getElementById("prize_level_ceilings").innerHTML;
	ceilings_arr=ceilings_str.split(", ");
	num_levels=ceilings_arr.length;
	var prize_level;
	if (num<=0)
		prize_level=0;
	for(var i=0; i<num_levels-1; i++){
		ip1=i+1;
		if (ceilings_arr[i]<=num && num<ceilings_arr[ip1])
			prize_level=ip1;
	}
	if (ceilings_arr[i]<=num) /*max level*/
		prize_level=i+1;
	return prize_level;
}
function getPrizeAward(level){
	awards_str=document.getElementById("prize_level_awards").innerHTML;
	awards_arr=awards_str.split(", ");
	award=awards_arr[level];
	return award;
}
function getPrizeAward(level){
	awards_str=document.getElementById("prize_level_awards").innerHTML;
	awards_arr=awards_str.split(", ");
	award=awards_arr[level];
	return award;
}
function UpdateRunningTotal(row_rec_id){
	if (eval("document.form1.num_pages"+row_rec_id+".value.length")==0 || !(validNonNegNumber(eval("document.form1.num_pages"+row_rec_id+".value"))))
		return false;
	row_i=row_rec_id.substring(3,row_rec_id.indexOf("rec"));
	row_j=row_rec_id.substring(row_rec_id.indexOf("rec")+3);
	prev_runn_total=parseInt(document.getElementById("running_total"+row_i).innerHTML);
	new_val=parseInt(eval("document.form1.num_pages"+row_rec_id+".value"));
	old_val=parseInt(eval("document.form1.db_num_pages"+row_rec_id+".value"));
	document.getElementById("running_total"+row_i).innerHTML=prev_runn_total+new_val-old_val;
	var new_prize_level=getPrizeLevel(prev_runn_total+new_val-old_val);
	var prev_prize_level=getPrizeLevel(prev_runn_total);
	var new_prize_award=getPrizeAward(new_prize_level);
	var prev_prize_award=getPrizeAward(prev_prize_level);
	if (new_prize_level>prev_prize_level)
		confirm_phrase="INCREASE";
	if (new_prize_level<prev_prize_level)
		confirm_phrase="DECREASE";
	if (new_prize_level==prev_prize_level)
		confirm_phrase=false;
	if (confirm_phrase){
		if (!(confirm("Your modification of this record (Student "+row_i+", Record "+row_j+") will cause the student's prize level to "+confirm_phrase+" from prize level "+prev_prize_level+" ("+prev_prize_award+") to prize level "+new_prize_level+" ("+new_prize_award+"). Do you want to continue?"))){
			eval("document.form1.num_pages"+row_rec_id).value=old_val;
			RevertRecord(row_rec_id);
		}
	}
}
function EditRecord(row_rec_id){
	row_i=row_rec_id.substring(3,row_rec_id.indexOf("rec"));
	row_j=row_rec_id.substring(row_rec_id.indexOf("rec")+3);
    	log_label="log_date_cell"+row_rec_id;
	log=document.getElementById(log_label);
	curr_val=log.innerHTML;
	if (curr_val.indexOf("<")==-1) /* if we already hit edit, this would have < from '<input*/
		log.innerHTML="<input name='log_date"+row_rec_id+"' tabindex="+row_i+" type=text value='"+curr_val+"'><input name='db_log_date"+row_rec_id+"' type=hidden value='"+curr_val+"'>";
	pages_label="num_pages_cell"+row_rec_id;
	pages=document.getElementById(pages_label);
	curr_val=pages.innerHTML;
	if (curr_val.indexOf("<")==-1) /* if we already hit edit, this would have < from '<input*/
		pages.innerHTML="<input name='num_pages"+row_rec_id+"' tabindex="+row_i+" type=text value='"+curr_val+"' onBlur=\"UpdateRunningTotal('"+row_rec_id+"')\"><input name='db_num_pages"+row_rec_id+"' type=hidden value='"+curr_val+"'>";
	eval("document.form1.log_date"+row_rec_id).select();
	eval("document.form1.log_date"+row_rec_id).focus();
}
function EditStudent(id){
	first_name_label="first_name_cell"+id;
	first_name=document.getElementById(first_name_label);
	curr_val=first_name.innerHTML;
	if (curr_val.indexOf("<")==-1) /* if we already hit edit, this would have < from '<input*/
		first_name.innerHTML="<input tabindex="+id+" name='first_name"+id+"' type=text value='"+curr_val+"' size=15><input name='db_first_name"+id+"' type=hidden value='"+curr_val+"'>";
	last_name_label="last_name_cell"+id;
	last_name=document.getElementById(last_name_label);
	curr_val=last_name.innerHTML;
	if (curr_val.indexOf("<")==-1) /* if we already hit edit, this would have < from '<input*/
		last_name.innerHTML="<input tabindex="+id+" name='last_name"+id+"' type=text value='"+curr_val+"' size=15><input name='db_last_name"+id+"' type=hidden value='"+curr_val+"'>";
	teacher_label="teacher_cell"+id;
	teacher=document.getElementById(teacher_label);
	curr_val=teacher.innerHTML;
	if (curr_val.indexOf("<")==-1) /* if we already hit edit, this would have < from '<input*/
		teacher.innerHTML="<input tabindex="+id+" name='teacher"+id+"' type=text value='"+curr_val+"' size=15><input name='db_teacher"+id+"' type=hidden value='"+curr_val+"'>";
	prev_total_label="prev_total_cell"+id;
	prev_total=document.getElementById(prev_total_label);
	curr_val=prev_total.innerHTML;
	if (curr_val.indexOf("<")==-1) /* if we already hit edit, this would have < from '<input*/
		prev_total.innerHTML="<input name='db_prev_total"+id+"' type=hidden value='"+curr_val+"'>N/A";
	curr_total_label="curr_total_cell"+id;
	curr_total=document.getElementById(curr_total_label);
	curr_val=curr_total.innerHTML;
	if (curr_val.indexOf("<")==-1) /* if we already hit edit, this would have < from '<input*/
		curr_total.innerHTML="<input tabindex="+id+" name='curr_total"+id+"' type=text value='"+curr_val+"' size=10 onBlur='ResetTotalWarning("+id+")'><input name='db_curr_total"+id+"' type=hidden value='"+curr_val+"'>";
	eval("document.form1.first_name"+id).select();
	eval("document.form1.first_name"+id).focus();
}
function ResetTotalWarning(id){
	new_total=parseInt(eval("document.form1.curr_total"+id+".value"));
	prev_total=parseInt(eval("document.form1.db_curr_total"+id+".value"));
	if (new_total!=prev_total){
		if (!confirm("You are about to change the student's total by editing the student's record. This will reset the student's initial total (since last report) to be this total. Are you sure you want to do this?"))
			RevertStudent(id);
	}
}
function RevertRecord(id){
	row_i=id.substring(3,id.indexOf("rec"));
	row_j=id.substring(id.indexOf("rec")+3);
	row_i_min1=row_i-1;
    	mod_label="mod"+id;
	mod=document.getElementById(mod_label);
	mod.innerHTML="<table class=tiny_table><tr><td class=tiny_green_cell><a class=tinynav href='#plumin"+row_i_min1+"' id=edit"+id+" onClick=EditRecord('"+id+"')>Edit</a></td><td class=tiny_green_cell><a class=tinynav href='#plumin"+row_i_min1+"' id=delete"+id+" onClick=DeleteRecord('"+id+"')>Delete</a></td></tr></table>";
	log_cell="log_date_cell"+id;
	log=document.getElementById(log_cell);
	curr_pg_value=eval("document.form1.db_num_pages"+id+".value");
	if (eval("document.form1.log_date"+id)){
		curr_log_value=eval("document.form1.db_log_date"+id+".value");
		log.innerHTML=curr_log_value;
		log.className="gbtableelementright";
		pg_cell="num_pages_cell"+id;
		pg=document.getElementById(pg_cell);
		pg.innerHTML=curr_pg_value;
		pg.className="brgbtableelementright";
	}
	document.getElementById("running_total"+row_i).innerHTML+=curr_pg_value;
}
function RevertStudent(id){
	row_i_min1=id-1;
	mod_label="mod"+id;
	mod=document.getElementById(mod_label);
	mod.innerHTML="<table class=tiny_table><tr><td class=tiny_green_cell><a class=tinynav href='#plumin"+row_i_min1+"' id=edit"+id+" onClick=EditStudent('"+id+"')>Edit</a></td><td class=tiny_green_cell><a class=tinynav href='#plumin"+row_i_min1+"' id=remove"+id+" onClick=RemoveStudent('"+id+"')>Remove</a></td></tr></table>";
	first_name_label="first_name_cell"+id;
	first_name=document.getElementById(first_name_label);
	if (eval("document.form1.first_name"+id)){
		curr_value=eval("document.form1.db_first_name"+id+".value");
		first_name.innerHTML=curr_value;
		first_name.className="gbtableelement";
		last_name_cell="last_name_cell"+id;
		last_name=document.getElementById(last_name_cell);
		curr_value=eval("document.form1.db_last_name"+id+".value");
		last_name.innerHTML=curr_value;
		last_name.className="gbtableelement";
		teacher_cell="teacher_cell"+id;
		teacher=document.getElementById(teacher_cell);
		curr_value=eval("document.form1.db_teacher"+id+".value");
		teacher.innerHTML=curr_value;
		teacher.className="gbtableelement";
		prev_total_cell="prev_total_cell"+id;
		prev_total=document.getElementById(prev_total_cell);
		curr_value=eval("document.form1.db_prev_total"+id+".value");
		prev_total.innerHTML=curr_value;
		prev_total.className="gbtableelementright";
		curr_total_cell="curr_total_cell"+id;
		curr_total=document.getElementById(curr_total_cell);
		curr_value=eval("document.form1.db_curr_total"+id+".value");
		curr_total.innerHTML=curr_value;
		curr_total.className="brgbtableelementright";

	}
}
function DeleteRecord(id){
/*804ERROR;*/
	var rec_num_pages;
	row_i=id.substring(3,id.indexOf("rec"));
	row_j=id.substring(id.indexOf("rec")+3);
	row_i_min1=row_i-1;
    	if (eval("document.form1.log_date"+id))
		rec_num_pages=parseInt(eval("document.form1.num_pages"+id+".value"));
	else			
		rec_num_pages=parseInt(document.getElementById("num_pages_cell"+id).innerHTML);
	var prev_total=parseInt(document.getElementById("running_total"+row_i).innerHTML);
	var new_prize_level=getPrizeLevel(prev_total-rec_num_pages);
	var prev_prize_level=getPrizeLevel(prev_total);
	var new_prize_award=getPrizeAward(new_prize_level);
	var prev_prize_award=getPrizeAward(prev_prize_level);
	if (new_prize_level>prev_prize_level) /* won't occur unless the record holds a negative number */
		confirm_phrase="Deleting this record will cause the student's prize level to INCREASE from prize level "+prev_prize_level+" ("+prev_prize_award+") to prize level "+new_prize_level+" ("+new_prize_award+"). ";
	if (new_prize_level<prev_prize_level)
		confirm_phrase="Deleting this record will cause the student's prize level to DECREASE from prize level "+prev_prize_level+" ("+prev_prize_award+") to prize level "+new_prize_level+" ("+new_prize_award+"). ";
	if (new_prize_level==prev_prize_level)
		confirm_phrase="";
   if (confirm(confirm_phrase+"Are you sure you want to delete this record?")){
	mod_label="mod"+id;
	mod=document.getElementById(mod_label);
	mod.innerHTML="<input name='delete"+id+"' type=hidden> <table class=tiny_table><tr><td class=a10pt>Record row marked for deletion</td><td class=tiny_green_cell><a class=tinynav href='#plumin"+row_i_min1+"' onClick=RevertRecord('"+id+"')>Revert</a></td></tr></table>";
	/*reset errors on this record (since we are deleting it anyway!)*/
	log_cell="log_date_cell"+id;
	log=document.getElementById(log_cell);
	if (eval("document.form1.log_date"+id)){
		curr_log_value=eval("document.form1.db_log_date"+id+".value");
		log.innerHTML=curr_log_value;
		log.className="gbtableelementright";
	
		pg_cell="num_pages_cell"+id;
		pg=document.getElementById(pg_cell);
		curr_pg_value=eval("document.form1.db_num_pages"+id+".value");
		pg.innerHTML=curr_pg_value;
		pg.className="brgbtableelementright";
	}
	mod.focus();
	/*remove messaging so that we can test true on submit */
	msg_cell=document.getElementById("message");
	msg=msg_cell.innerHTML;
	msg_arr=new Array();
	msg_arr=msg.split("<BR>");
	len=msg_arr.length;
	newmsg='';
	for (i=0; i<len; i++){
		if (msg_arr[i].indexOf("Row "+row_i+", Record "+row_j)==-1 && msg_arr[i]!='')
			newmsg=newmsg+msg_arr[i]+"<br>";

	}	
	msg_cell.innerHTML=newmsg;
	if (newmsg=='')	
		msg_cell.style.display="none";
	document.getElementById("running_total"+row_i).innerHTML=prev_total-rec_num_pages;
	
    }	
}
function RemoveStudent(id){
	if (confirm("Are you sure you want to remove this student and all records associated with this student?")){
		row_i=id
    		row_i_min1=row_i-1;
		mod_label="mod"+id;
		mod=document.getElementById(mod_label);
		mod.innerHTML="<input name='remove"+id+"' type=hidden> <table class=tiny_table><tr><td class=a10pt>Student row marked for deletion</td><td class=tiny_green_cell><a class=tinynav href='#plumin"+row_i_min1+"' onClick=RevertStudent('"+id+"')>Revert</a></td></tr></table>";
	/*reset errors on this record (since we are deleting it anyway!)*/
		first_name_cell="first_name_cell"+id;
		first_name=document.getElementById(first_name_cell);
		if (eval("document.form1.first_name"+id)){
			curr_value=eval("document.form1.db_first_name"+id+".value");
			first_name.innerHTML=curr_value;
			first_name.className="gbtableelement";
	
			last_name_cell="last_name_cell"+id;
			last_name=document.getElementById(last_name_cell);
			curr_value=eval("document.form1.db_last_name"+id+".value");
			last_name.innerHTML=curr_value;
			last_name.className="gbtableelement";

			teacher_cell="teacher_cell"+id;
			teacher=document.getElementById(teacher_cell);
			curr_value=eval("document.form1.db_teacher"+id+".value");
			teacher.innerHTML=curr_value;
			teacher.className="gbtableelement";

			prev_total_cell="prev_total_cell"+id;
			prev_total=document.getElementById(prev_total_cell);
			prev_value=eval("document.form1.db_prev_total"+id+".value");
			prev_total.innerHTML=prev_value;
			prev_total.className="gbtableelementright";

			curr_total_cell="curr_total_cell"+id;
			curr_total=document.getElementById(curr_total_cell);
			curr_value=eval("document.form1.db_curr_total"+id+".value");
			curr_total.innerHTML=curr_value;
			curr_total.className="brgbtableelementright";

		}
		date_cell="date_cell"+id;
		date=document.getElementById(date_cell);
		date.className="gbtableelementcenter";

		num_pages_cell="num_pages_cell"+id;
		num_pages=document.getElementById(num_pages_cell);
		num_pages.className="gbtableelementcenter";

		/*remove messaging so that we can test true on submit */
		msg_cell=document.getElementById("message");
		var msg=msg_cell.innerHTML;
		msg_arr=new Array();
		msg_arr=msg.split("<BR>");
		len=msg_arr.length;
		newmsg='';
		for (i=0; i<len; i++){
			if (msg_arr[i].indexOf("Row "+id+" ")==-1 && msg_arr[i]!='')
				newmsg=newmsg+msg_arr[i]+"<br>";
		}	
		msg_cell.innerHTML=newmsg;
		if (newmsg=='')	
			msg_cell.style.display="none";	
	}
	return;
}
function validHumanDate(my_date){
	if (my_date=='')
		return true;
	var patt1=new RegExp(/\d\d\/\d\d\/\d\d/);
	var patt2=new RegExp(/\d\/\d\d\/\d\d/);
	var patt3=new RegExp(/\d\/\d\/\d\d/);
	var patt4=new RegExp(/\d\d\/\d\/\d\d/);
	/* this will accept mm/dd/yy or m/dd/yy or mm/d/yy or m/d/yy and all of these with four digit year rep also*/
	if(patt1.test(my_date) || patt2.test(my_date) || patt3.test(my_date) || patt4.test(my_date))
		return true;
	return false;

}
function validNonNegNumber(num){
	if (num=='')
		return true;
	if (isNaN(num) || num<0) /*isNan means is Not a Number*/
		return false;
	return true;
}
function AddNewStudent(){
	var browser = navigator.appName;
	if(browser == "Netscape"){
		foo = "table-row";
	} 
	else {
		foo = "block";
	}
	addbutton=document.getElementById("addnewstudent");
	addbutton.style.display="none";
	newrow=document.getElementById("newrecord");
	newrow.style.display=foo;
	newmsg=document.getElementById("new_message");
	if (newmsg.innerHTML!='')
		newmsg.style.display="block";
	document.form1.new_first_name.focus();
}
function RemoveNewStudent(){
	if (confirm("Are you sure you want to remove the new student record?")){
		var browser = navigator.appName;
		if(browser == "Netscape"){
			foo = "table-row";
		} 
		else {
			foo = "block";
		}
		addbutton=document.getElementById("addnewstudent");
		addbutton.style.display=foo;
/*		if (foo=="table-row")
			addbutton.style.align="center";
*/		newrow=document.getElementById("newrecord");
		newrow.style.display="none";
		newmsg=document.getElementById("new_message");
		newmsg.style.display="none";
		/* The following code would reset the error message of a new student, even though we keep data.
		newmsg.innerHTML="";
		document.getElementById("new_first_name_cell").className="gbtableelement";
		document.getElementById("new_last_name_cell").className="gbtableelement";
		document.getElementById("new_teacher_cell").className="gbtableelement";
		document.getElementById("new_total_cell").className="gbtableelementright";*/
		document.form1.date1.focus();
	}
}
function validateRC(num_stud,stud_to_rec_arr_str){  
	stud_to_rec_arr=new Array();
	stud_to_rec_arr=stud_to_rec_arr_str.split(", ");
	msg=document.getElementById("message");
	msg.innerHTML="";
	msg.style.display="none";
	newmsg=document.getElementById("new_message");
	newmsg.innerHTML="";
	newmsg.style.display="none";
	if (document.getElementById("newrecord").style.display=="block"){
		if (!(validNonNegNumber(document.form1.new_total.value)) || document.form1.new_total.value.length==0){
			newmsg.innerHTML="The current total for the new student must be a non-negative number. If the student has not turned in any pages, simply enter '0'.<br>"+newmsg.innerHTML;
			document.getElementById("new_total_cell").className="brgbtableelementrightred";
			document.getElementById("new_total_cell").style.backgroundColor="";
			document.form1.new_total.focus();
			document.form1.new_total.select();
		}
		else
			document.getElementById("new_total_cell").className="brgbtableelementright";
		if (document.form1.new_teacher.value.length < 1 || document.form1.new_teacher.value.length>35 || isBadString(document.form1.new_teacher.value,isAlpha+" -'/")){
			newmsg.innerHTML="The teacher of the new student must be between 1 and 35 characters and contain only letters, spaces, hyphens, forward slashes, and apostrophes. No special characters are allowed.<br>"+newmsg.innerHTML;
			document.getElementById("new_teacher_cell").className="gbtableelementcenterred";
			document.getElementById("new_teacher_cell").style.backgroundColor="";
			document.form1.new_teacher.focus();
			document.form1.new_teacher.select();
		}
		else
			document.getElementById("new_teacher_cell").className="gbtableelement";
		if (document.form1.new_last_name.value.length < 1 || document.form1.new_last_name.value.length>25 || isBadString(document.form1.new_last_name.value,isAlpha+" -'")){
			newmsg.innerHTML="The last name of the new student must be between 1 and 25 characters and contain only letters, spaces, hyphens, and apostrophes. No special characters are allowed.<br>"+newmsg.innerHTML;
			document.getElementById("new_last_name_cell").className="gbtableelementcenterred";
			document.getElementById("new_last_name_cell").style.backgroundColor="";
			document.form1.new_last_name.focus();
			document.form1.new_last_name.select();
		}
		else
			document.getElementById("new_last_name_cell").className="gbtableelement";
		if (document.form1.new_first_name.value.length < 1 || document.form1.new_first_name.value.length>25 || isBadString(document.form1.new_first_name.value,isAlpha+" -'")){
			newmsg.innerHTML="The first name of the new student must be between 1 and 25 characters and contain only letters, spaces, hyphens, and apostrophes. No special characters are allowed.<br>"+newmsg.innerHTML;
			document.getElementById("new_first_name_cell").className="gbtableelementcenterred";
			document.getElementById("new_first_name_cell").style.backgroundColor="";
			document.form1.new_first_name.focus();
			document.form1.new_first_name.select();
		}
		else
			document.getElementById("new_first_name_cell").className="gbtableelement";
		
	}
	for(var i=num_stud+1;i>=1;i--){
	    im1=i-1;
	  if (i!=num_stud+1){
	    for(var j=stud_to_rec_arr[im1];j>=0;j--){
		row_rec_id="row"+i+"rec"+j;
		cell="log_date"+row_rec_id;//if log_date also num_pages
		if (eval("document.form1."+cell)){
			num_pg_len=eval("document.form1.num_pages"+row_rec_id+".value.length");
			date_len=eval("document.form1.log_date"+row_rec_id+".value.length");
			error_this_rowrec_date=false;
			error_this_rowrec_num_pg=false;
			if ((num_pg_len==0 || date_len==0) && num_pg_len != date_len){
				if (num_pg_len==0){
					error_this_rowrec_num_pg=true;
					msg.innerHTML="The entry for '# of Pages' in Row "+i+", Record "+j+" is missing.<br>"+msg.innerHTML;
					cell_name="num_pages_cell"+row_rec_id;
					curr_cell=document.getElementById(cell_name);
					curr_cell.className="brgbtableelementcenterred";
					curr_cell.style.backgroundColor="";
					this_input=eval("document.form1.num_pages"+row_rec_id);
					this_input.focus();
					this_input.select();
				}
				if (date_len==0){
					error_this_rowrec_date=true;
					msg.innerHTML="The entry for 'Date on Log' in Row "+i+", Record "+j+" is missing.<br>"+msg.innerHTML;
					cell_name="log_date_cell"+row_rec_id;
					curr_cell=document.getElementById(cell_name);
					curr_cell.className="gbtableelementcenterred";
					curr_cell.style.backgroundColor="";
					this_input=eval("document.form1.log_date"+row_rec_id);
					this_input.focus();
					this_input.select();
				}
			
			}
			if (!validNonNegNumber(eval("document.form1.num_pages"+row_rec_id+".value"))){
				msg.innerHTML="The entry for '# of Pages' in Row "+i+", Record "+j+" needs to be a non-negative number.<br>"+msg.innerHTML;
				cell_name="num_pages_cell"+row_rec_id;
				curr_cell=document.getElementById(cell_name);
				curr_cell.className="brgbtableelementcenterred";
				curr_cell.style.backgroundColor="";
				this_input=eval("document.form1.num_pages"+row_rec_id);
				this_input.focus();
				this_input.select();
			}
			else{
			   if (!(error_this_rowrec_num_pg)){
				cell_name="num_pages_cell"+row_rec_id;
				curr_cell=document.getElementById(cell_name);
				curr_cell.className="brgbtableelementcenter";
		   	   }
			}
			if (!validHumanDate(eval("document.form1.log_date"+row_rec_id+".value"))){
				msg.innerHTML="The date for 'Date on Log' in Row "+i+", Record "+j+" needs to be in the format mm/dd/yy.<br>"+msg.innerHTML;
				cell_name="log_date_cell"+row_rec_id;
				curr_cell=document.getElementById(cell_name);
				curr_cell.className="gbtableelementcenterred";
				curr_cell.style.backgroundColor="";
				this_input=eval("document.form1.log_date"+row_rec_id);
				this_input.focus();
				this_input.select();
			}
			else{
			   if (!(error_this_rowrec_date)){
				cell_name="log_date_cell"+row_rec_id;
				curr_cell=document.getElementById(cell_name);
				curr_cell.className="gbtableelementcenter";
			   }
			}
		}
	     }
	} 		
		num_pg_len=eval("document.form1.num_pages"+i+".value.length");
		date_len=eval("document.form1.date"+i+".value.length");
		error_this_row_date=false;
		error_this_row_num_pg=false;
		new_record_style=document.getElementById("newrecord").style.display;
		if ((num_pg_len==0 || date_len==0) && num_pg_len != date_len){
		    if (i!=num_stud+1 || new_record_style=="block"){
			if (num_pg_len==0){
				error_this_row_num_pg=true;
				if (i!=num_stud+1)
					msg.innerHTML="The entry for 'New # Pages' in Row "+i+" is missing.<br>"+msg.innerHTML;
				else
					newmsg.innerHTML=newmsg.innerHTML+"<br>The entry for 'New # Pages' in Row "+i+" (the New Student) is missing.";
				cell_name="num_pages_cell"+i;
				curr_cell=document.getElementById(cell_name);
				curr_cell.className="gbtableelementcenterred";
				curr_cell.style.backgroundColor="";
				this_input=eval("document.form1.num_pages"+i);
				this_input.focus();
				this_input.select();
			}
			if (date_len==0){
				error_this_row_date=true;
				if (i!=num_stud+1)
					msg.innerHTML="The entry for 'New Log Date' in Row "+i+" is missing.<br>"+msg.innerHTML;
				else
					newmsg.innerHTML=newmsg.innerHTML+"<br>The entry for 'New Log Date' in Row "+i+" (the New Student) is missing.";
				cell_name="date_cell"+i;
				curr_cell=document.getElementById(cell_name);
				curr_cell.className="gbtableelementcenterred";
				curr_cell.style.backgroundColor="";
				this_input=eval("document.form1.date"+i);
				this_input.focus();
				this_input.select();
			}
		    }
		}	
		if (!validNonNegNumber(eval("document.form1.num_pages"+i+".value"))){
			if (i!=num_stud+1)
				msg.innerHTML="The entry for 'New # Pages' in Row "+i+" needs to be a non-negative number.<br>"+msg.innerHTML;
			else
				newmsg.innerHTML=newmsg.innerHTML+"<br>The entry for 'New # Pages' in Row "+i+" (the New Student) needs to be a non-negative number.";
			cell_name="num_pages_cell"+i;
			curr_cell=document.getElementById(cell_name);
			curr_cell.className="gbtableelementcenterred";
			curr_cell.style.backgroundColor="";
			this_input=eval("document.form1.num_pages"+i);
			this_input.focus();
			this_input.select();
		}
		else{
		   if (!(error_this_row_num_pg)){
			cell_name="num_pages_cell"+i;
			curr_cell=document.getElementById(cell_name);
			curr_cell.className="gbtableelementcenter";
		   }
		}
		if (!validHumanDate(eval("document.form1.date"+i+".value"))){
			if (i!=num_stud+1)
				msg.innerHTML="The date for 'New Log Date' in Row "+i+" needs to be in the format mm/dd/yy.<br>"+msg.innerHTML;
			else
				newmsg.innerHTML=newmsg.innerHTML+"<br>The date for 'New Log Date' in Row "+i+" (the New Student) needs to be in the format mm/dd/yy.";
			cell_name="date_cell"+i;
			curr_cell=document.getElementById(cell_name);
			curr_cell.className="gbtableelementcenterred";
			curr_cell.style.backgroundColor="";
			this_input=eval("document.form1.date"+i);
			this_input.focus();
			this_input.select();
		}
		else{
		   if (!(error_this_row_date)){
			cell_name="date_cell"+i;
			curr_cell=document.getElementById(cell_name);
			curr_cell.className="gbtableelementcenter";
		   }
		}
		first_name_box="first_name"+i;//if first_name input then others as well
		if (eval("document.form1."+first_name_box)){
			if (!(validNonNegNumber(eval("document.form1.curr_total"+i+".value"))) || eval("document.form1.curr_total"+i+".value").length==0){
				msg.innerHTML="The current total for the student in Row "+i+" must be a non-negative number. If the student has not turned in any pages, simply enter '0'.<br>"+msg.innerHTML;
				document.getElementById("curr_total_cell"+i).className="brgbtableelementrightred";
				document.getElementById("curr_total_cell"+i).style.backgroundColor="";
				eval("document.form1.curr_total"+i).focus();
				eval("document.form1.curr_total"+i).select();
			}
			else
				document.getElementById("curr_total_cell"+i).className="brgbtableelementright";
			if (eval("document.form1.teacher"+i+".value").length < 1 || eval("document.form1.teacher"+i+".value").length>35 || isBadString(eval("document.form1.teacher"+i+".value"),isAlpha+" -'/")){
				msg.innerHTML="The teacher of the student in Row "+i+" must be between 1 and 35 characters and contain only letters, spaces, hyphens, forward slashes, and apostrophes. No special characters are allowed.<br>"+msg.innerHTML;
				document.getElementById("teacher_cell"+i).className="gbtableelementcenterred";
				document.getElementById("teacher_cell"+i).style.backgroundColor="";
				eval("document.form1.teacher"+i).focus();
				eval("document.form1.teacher"+i).select();
			}
			else
				document.getElementById("teacher_cell"+i).className="gbtableelement";
			if (eval("document.form1.last_name"+i).value.length < 1 || eval("document.form1.last_name"+i).value.length>25 || isBadString(eval("document.form1.last_name"+i).value,isAlpha+" -'")){
				msg.innerHTML="The last name of the student in Row "+i+" must be between 1 and 25 characters and contain only letters, spaces, hyphens, and apostrophes. No special characters are allowed.<br>"+msg.innerHTML;
				document.getElementById("last_name_cell"+i).className="gbtableelementcenterred";
				document.getElementById("last_name_cell"+i).style.backgroundColor="";
				eval("document.form1.last_name"+i).focus();
				eval("document.form1.last_name"+i).select();
			}
			else
				document.getElementById("last_name_cell"+i).className="gbtableelement";
			if (eval("document.form1.first_name"+i).value.length < 1 || eval("document.form1.first_name"+i).value.length>25 || isBadString(eval("document.form1.first_name"+i).value,isAlpha+" -'")){
				msg.innerHTML="The first name of the student in Row "+i+" must be between 1 and 25 characters and contain only letters, spaces, hyphens, and apostrophes. No special characters are allowed.<br>"+msg.innerHTML;
				document.getElementById("first_name_cell"+i).className="gbtableelementcenterred";
				document.getElementById("first_name_cell"+i).style.backgroundColor="";
				eval("document.form1.first_name"+i).focus();
				eval("document.form1.first_name"+i).select();
			}
			else
				document.getElementById("first_name_cell"+i).className="gbtableelement";

		}
	  				
	}
/*1174ERROR;*/
	if (msg.innerHTML!="")
		msg.style.display="block";
	else
		msg.style.display="none";
	dbl_return=newmsg.innerHTML.indexOf("<BR><BR>");
	inc=dbl_return+4;
	if (dbl_return>-1){
		temp=newmsg.innerHTML.substring(0,dbl_return)+newmsg.innerHTML.substring(inc);
		newmsg.innerHTML=temp;
	}
	if (newmsg.innerHTML!="")
		newmsg.style.display="block";
	else
		newmsg.style.display="none";
	if (msg.innerHTML!="" || newmsg.innerHTML!="")
		return false;
	else
		return true;
}

function shiftFocus(e){
	var code;
	if (!e) var e = window.event;
	if (e.keyCode) code = e.keyCode;
	else if (e.which) code = e.which;
	var character = String.fromCharCode(code);
	alert('Character was ' + character);

}
function validate_inlist(dbl_str_arr){
	vols_arr=new Array();
	vols_arr=dbl_str_arr.split(";");
	first_name_arr=new Array();
	last_name_arr=new Array();
	email_arr=new Array();
	for(i=0; i<vols_arr.length; i++){
		this_vol=new Array();
		this_vol=vols_arr[i].split(",");
		first_name_arr[i]=this_vol[0];
		last_name_arr[i]=this_vol[1];
		email_arr[i]=this_vol[2];
	}
	//i=0 is header -- skipping that one
	for(i=1; i<email_arr.length; i++){
		if (document.form2.email.value == email_arr[i]){
			foo=first_name_arr[i]+" "+last_name_arr[i]+" ("+email_arr[i]+")";
			document.form2.vol.value=foo;
			return true;
		}
	}
	document.getElementById("message").innerHTML="This email address is not in our database. Please try again or simply sign in using the form below.";
	document.getElementById("message").style.display="block";
	return false;
}
