function selectAll() {
	//Checks all checkboxes on page regardless of the amount of forms
	//Requires a checkbox with the name/id "select_all" to initiate this function onclick
	var x = document.getElementsByTagName("input");
	for(i=0; i<x.length; i++) {
		if((x[i].type == "checkbox") && (x[i].name != "select_all")) {
			x[i].checked = (document.getElementById("select_all").checked == false) ? false : true;
		}
	}
}

function copyChecked() {
	//Grabs the value of all checked checkboxes, builds a comma seperated string and dumps the string into a hidden field
	var c = new Array();
	var z = 0; //A counter for assembling the array nicely
	var x = document.getElementsByTagName("input");
	for(i=0; i<x.length; i++) {
		if((x[i].type == "checkbox") && (x[i].name != "select_all")) {
			if(x[i].checked == true) {
				c[z] = x[i].value;
				z++;
			}
		}
	}
	document.getElementById("selected").value = c.join(",");
}

function showHide(target) {
	//Originally built for showing and hiding table rows, but *should* work with anything that can be referenced by its id attribute.
	var cs = document.getElementById(target).style.display;
	switch(cs) {
		case "none" :
			try {
				document.getElementById(target).style.display = "table-row";
            } catch(e) {
            	document.getElementById(target).style.display = "block";
            }
			break;
		case "table-row" :
			document.getElementById(target).style.display = "none";
			break;
		case "block" :
			document.getElementById(target).style.display = "none";
			break;
	}
}