function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

function addBehavior() {
	var checkboxes = document.getElementsByTagName("input");
	
	document.getElementById("slc-all").onclick = function() {
		for(var j = 0; j < checkboxes.length; j++) {
			if(checkboxes[j].value.substr(0, 3) == "slc") checkboxes[j].checked = this.checked;
		}
	}
	document.getElementById("pc-all").onclick = function() {
		for(var j = 0; j < checkboxes.length; j++) {
			if(checkboxes[j].value.substr(0, 2) == "pc") checkboxes[j].checked = this.checked;
		}
	}
	document.getElementById("jackson").onclick = function() {
		for(var j = 0; j < checkboxes.length; j++) {
			if(checkboxes[j].value.substr(0, 1) == "j") checkboxes[j].checked = this.checked;
		}
	}
	
	
	for(var i = 0; i < checkboxes.length; i++) {
		if(checkboxes[i].value.substr(0, 3) == "slc" && checkboxes[i].id != "slc-all") {
			checkboxes[i].onclick = function() {
				if(this.checked == false) document.getElementById("slc-all").checked = this.checked;
			}
		}
		if(checkboxes[i].value.substr(0, 2) == "pc" && checkboxes[i].id != "pc-all") {
			checkboxes[i].onclick = function() {
				if(this.checked == false) document.getElementById("pc-all").checked = this.checked;
			}
		}
		if(checkboxes[i].value.substr(0, 1) == "j" && checkboxes[i].id != "jackson") {
			checkboxes[i].onclick = function() {
				if(this.checked == false) document.getElementById("jackson").checked = this.checked;
			}
		}
	}
}

addLoadEvent(addBehavior);