//Pass checkbox element and name of hidden field to apply checkbox values to:
function updateCheckbox(cb, fieldname){
		var courses = document.getElementById(fieldname);
		
		// if the value already exists, remove it from the string:
		var index = courses.value.indexOf(cb.value);
		
		//Add to 'courses' var if value doesn't exist:
		if(index == -1){
			if(courses.value.length == 0){
				courses.value = cb.value;
			}else{
				courses.value += ','+cb.value;	
			}
		
		//Otherwise remove value from string when box is unchecked:
		}else{
			if(index==0){
				//If only element in string, there is no comma:
				if(courses.value.indexOf(',') == -1){
					var courses_arr = [];
				}else{
					var courses_arr = courses.value.split(cb.value+',');
				}
			}else{
				var courses_arr = courses.value.split(','+cb.value);
			}
			courses.value = courses_arr.join('');
		}
}

//Pass form and name of hidden field to apply checkbox values to:
function checkAll(form, fieldname){
	//clear all previously set checkbox values so they are not just toggled instead of turned on:
	document.getElementById(fieldname).value = '';
	for(var x=0;x<form.elements.length;x++){
		if (form.elements[x].type == 'checkbox'){
			form.elements[x].checked = true;
			updateCheckbox(form.elements[x], fieldname);
		}
	}
}

//Pass form and name of hidden field:
function checkNone(form, fieldname){
	//clear all previously set checkbox values so they are not just toggled instead of turned on:
	document.getElementById(fieldname).value = '';
	for(var x=0;x<form.elements.length;x++){
		if (form.elements[x].type == 'checkbox'){
			form.elements[x].checked = false;
		}
	}
}