		var checkedAll = false;

		function dropChecked(prefix, form) {
		// make a list of checked students
			var dropList = new Array;
			var dropCount = 0;
			var numElements = form.elements.length;

			// loop through form elements and find checkboxes
			for (i = 0; i < numElements; i++) {
				var element = form.elements[i];
				var type = element.type;

				if (element.type == 'checkbox') {
					var itemName = element.name;
					if (itemName.match(prefix) && element.checked) {
						var id = document.getElementById('name_' + element.value);
						var studentName = id.value;

						dropList[dropCount] = studentName;
						dropCount++;
					}
				}
			}
			if (dropCount > 0) {
				return (confirm('Drop Students: '+"\n- " + dropList.join("\n- ")));
			} else {
				alert('None Selected');
				return false;
			}
		}


 var allChecked = new Array;
 var startIdx = 0;
 
        function clearAll(type, formName) {
               for (i = startIdx; i < formName.elements.length; i++) {
                       if(formName.elements[i].type == 'checkbox') {
                               if(type != 'All') {
                                      var fieldName = formName.elements[i].name;
                                      if (fieldName.match(type)) {
                                              formName.elements[i].checked = false;
                                      }
                               } else {
                                      formName.elements[i].checked = false;
                               }
                       }
               }
               allChecked[type] = false;
 
               if (type != 'All') {
                       var checkChecks = false;
                       for (i = startIdx; i < formName.elements.length; i++) {
                               if (formName.elements[i].checked) {
                                      checkChecks = true;
                                      break;
                               }
                       }
                       if (! checkChecks) {
                               allChecked['All'] = false;
                       }
               } else {
                       for (key in allChecked) {
                               allChecked[key] = false;
                       }
               }
               return false;
        }
 
        function checkAll(type, formName) {
							 if(formName.name == 'form_roster_list'){
								if (document.getElementById('SelectAll').value=='Select All'){
									document.getElementById('SelectAll').value='Unselect All';
								} else {
									document.getElementById('SelectAll').value='Select All';
								}
							}

               if (allChecked[type] || allChecked['All']) {
                       clearAll(type, formName);
                       return false;
               }
               for (i = startIdx; i < formName.elements.length; i++) {
                       if(formName.elements[i].type == 'checkbox') {
                               if(type != 'All') {
                                      var fieldName = formName.elements[i].name;
                                      if (fieldName.match(type)) {
                                              formName.elements[i].checked = true;
                                      }
                               } else {
                                      formName.elements[i].checked = true;
                               }
                       }
               }
               allChecked[type] = true;
 
               if (type != 'All') {
                       var checkChecks = true;
                       for (i = startIdx; i < formName.elements.length; i++) {
                               if (! formName.elements[i].checked) {
                                      checkChecks = false;
                                      break;
                               }
                       }
                       if (checkChecks) {
                               allChecked['All'] = true;
                       }
               } else {
                       for (key in allChecked) {
                               allChecked[key] = true;
                       }
               }
               return false;
        }




		function emailChecked(prefix, form, targetID, separator) {
			var studentList = new Array;
			var emailCount = 0;
			var numElements = form.elements.length;

			// loop through form elements and find checkboxes
			for (i = 0; i < numElements; i++) {
				var element = form.elements[i];
				var type = element.type;

				if (element.type == 'checkbox') {
					var itemName = element.name;
					if (itemName.match(prefix) && element.checked) {
						var id = document.getElementById('name_' + element.value);
						var studentName = id.value;
						id = document.getElementById('email_' + element.value);
						var studentEmail = id.value;

						studentList[emailCount] = studentEmail;
						emailCount++;
					}
				}
			}
			if (emailCount > 0) {
				$('roster_emails').value = studentList.join(separator);
				$('roster_emails_mailto').update('<a href="mailto:'+studentList.join(separator)+'">Send with E-mail program.</a>');
				return true;
			} else {
				alert('None Selected!');
				return false;
			}
		}
