function newStudent(firstName,lastName,studentID,course,daysMissed,missedLeft,comments,error) {
	var s = new Object();
	s.firstName = firstName;
	s.lastName = lastName;
	s.studentID = studentID;
	s.course = course;
	s.daysMissed = daysMissed;
	s.missedLeft = missedLeft;
	s.comments = comments;
	s.error = error;
	return s;
}

var students = new Array();

function saveStudents() {
	for(i in students) {
		eval('students[i].firstName = document.ssa.s'+i+'_first_name.value');
		eval('students[i].lastName = document.ssa.s'+i+'_last_name.value');
		eval('students[i].studentID = document.ssa.s'+i+'_student_id.value');
		eval('students[i].course = document.ssa.s'+i+'_course.value');
		eval('students[i].daysMissed = document.ssa.s'+i+'_days_missed.value');
		eval('students[i].missedLeft = document.ssa.s'+i+'_missed_left.value');
		eval('students[i].comments = document.ssa.s'+i+'_comments.value');
		eval('students[i].error = document.ssa.s'+i+'_error.value');
	}
}

function redrawStudents() {
	var htmlStudents = '';
	for(i in students) {
		var daysMissedValue;
		var missedLeftValue;
		
		var htmlStudent = '';
		htmlStudent += '<fieldset id="ssaform">';
		htmlStudent += '<h3>Student Information</h3>';
		if(students.length > 1) {
			htmlStudent += '<input class="remove" type="button" value="Remove This Student" onClick="removeStudent('+i+');">';
		}
		if(students[i].error != null) {
			htmlStudent += '<input type="hidden" name="s'+i+'_error" value="'+students[i].error+'">';
			htmlStudent += '<p class="error">'+students[i].error+'</p>';
		}
		htmlStudent += '<ul>';
		htmlStudent += '	<li>';
		htmlStudent += '		<label>First Name</label>';
		htmlStudent += '		<input name="s'+i+'_first_name" type="text" value="'+students[i].firstName+'" />';
		htmlStudent += '	</li>';
		htmlStudent += '	<li>';
		htmlStudent += '		<label>Last Name</label>';
		htmlStudent += '		<input name="s'+i+'_last_name" type="text" value="'+students[i].lastName+'" />';
		htmlStudent += '	</li>';
		htmlStudent += '	<li>';
		htmlStudent += '		<label>Student ID#</label>';
		htmlStudent += '		<input name="s'+i+'_student_id" type="text" value="'+students[i].studentID+'" />';
		htmlStudent += '	</li>';
		htmlStudent += '	<li>';
		htmlStudent += '		<label>Course number &amp; section</label>';
		htmlStudent += '		<input name="s'+i+'_course" type="text" value="'+students[i].course+'" />';
		htmlStudent += '	</li>';
		htmlStudent += '	<li>';
		htmlStudent += '		<label>&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br /></label>';
		if(students[i].daysMissed == '-1')
			daysMissedValue = '';
		else
			daysMissedValue = students[i].daysMissed;
		htmlStudent += '		Student has <input name="s'+i+'_days_missed" type="text" size="2" value="'+daysMissedValue+'" /> absences <span class="info">(optional)</span><br />';
		if(students[i].missedLeft == '-1')
			missedLeftValue = '';
		else
			missedLeftValue = students[i].missedLeft;
		htmlStudent += '		If student misses <input name="s'+i+'_missed_left" type="text" size="2" value="'+missedLeftValue+'" /> more class(es), he/she may be dropped from the course per the college attendance policy <span class="info">(optional)</span>';
		htmlStudent += '	</li>';
		htmlStudent += '	<li>';
		htmlStudent += '		<label>Comments <span class="info">(optional)</span></label>';
		htmlStudent += '		<textarea name="s'+i+'_comments">'+URLDecode(students[i].comments)+'</textarea>';
		htmlStudent += '	</li>';
		htmlStudent += '</ul>';
		htmlStudent += '</fieldset>';
		htmlStudents += htmlStudent;
	}
	document.getElementById('list_of_students').innerHTML = htmlStudents;
}

function addStudent() {
	saveStudents();
	students.push(newStudent('', '', '', '', '', '', '', ''));
	redrawStudents();
}

function removeStudent(i) {
	saveStudents();
	students.splice(i, 1);
	redrawStudents();
}
