window.onload = init;

function init() {
	//attachConfirmation();
	attachCancel();
	showNoRecords();
	tablestripe();
	
	//for url rewriting
	document.forms[0].action = window.location;
	
	Nifty("div#teachers-list", "bl big");
	Nifty("div#parents-list", "bl big");
	Nifty("div#column-side", "bl big");
	//Nifty("div.base-corner", "bl big");
	
	attachOverlib();
}

function attachConfirmation() {
	var a = document.getElementsByTagName("a");
	for (var i = 0; i < a.length; i++) {
		if (hasClassName(a[i], "delete")) {
			a[i].onclick = function() {
				return window.confirm("Are you sure you want to delete this item?");
			}
		}
	}
}

function attachCancel() {
	var input = document.getElementsByTagName("input");
	for (var i = 0; i < input.length; i++) {
		if (input[i].id == "cancel") {
			input[i].onclick = function() {
				window.history.go(-1);
			}
		}
	}
}

function hasClass(obj) {
	var result = false;
	if (obj.getAttributeNode("class") != null) {
		result = obj.getAttributeNode("class").value;
	}
	return result;
}   

function hasClassName(obj, cls) {
	var temp = obj.className.split(" ");
	for (var i = 0; i < temp.length; i++) {
		if (temp[i] == cls) {
			return true;
		}
	}
	return false;
}

function tablestripe() {
	var even = false;
	
	var targetClass = arguments[0] ? arguments[0] : "grid";
	var evenClass = arguments[1] ? arguments[1] : "";
	var oddClass = arguments[2] ? arguments[2] : "alt";

	var table = document.getElementsByTagName("table");
	for (var t = 0; t < table.length; t++) {
		if (hasClassName(table[t], targetClass)) {
			var trs = table[t].getElementsByTagName("tr");
			for (var h = 0; h < trs.length; h++) {
				if (!hasClass(trs[h]) && !trs[h].style.backgroundColor) {
					trs[h].className = even ? evenClass : oddClass;
				}
				even = !even;
			}
		}
		even = false;
	}
}

/*function tableruler() {
	var targetClass = arguments[0] ? arguments[0] : "grid";
	var ruledColor = arguments[1] ? arguments[1] : "#b5d1ff"; //7f92b3//afbccf//cfd7e2
	
	if (document.getElementById && document.createTextNode) {
		var tables = document.getElementsByTagName('table');
		for (var i = 0; i < tables.length; i++) {
			if (hasClassName(tables[i], targetClass)) {
				var trs = tables[i].getElementsByTagName('tr');
				for(var j = 0; j < trs.length; j++) {
					if(trs[j].parentNode.nodeName == 'TBODY' && trs[j].parentNode.nodeName != 'TFOOT') {
						trs[j].onmouseover = function() {
							if (this.style.backgroundColor == '')
								this.style.backgroundColor = ruledColor;
							return false;
						}
						trs[j].onmouseout = function() {
							this.style.backgroundColor = '';
							return false;
						}
					}
				}
			}
		}
	}
}*/

function showNoRecords() {
	var targetClass = arguments[0] ? arguments[0] : "grid";
	
	var rows = 0;

	var div = document.getElementsByTagName("div");
	for (var d = 0; d < div.length; d++) {
		if (hasClassName(div[d], targetClass)) {
			var table = div[d].getElementsByTagName("table");
			for (var t = 0; t < table.length; t++) {
				var trs = table[t].getElementsByTagName("tr");
				for (var h = 0; h < trs.length; h++) {
					if (!hasClass(trs[h]) && !trs[h].style.backgroundColor) {
						rows++;
					}
				}

				if (rows == 0) {
					var tr = document.createElement("tr");
					tr.className = "empty";

					var td = document.createElement("td");
					td.colSpan = 100;	//set to an arbitrarily high number
					td.innerHTML = "<img class=\"icon\" src=\"/images/icon.warning.gif\" /> There is no information available.";
					
					tr.appendChild(td);
					
					var tbody = table[t].getElementsByTagName("tbody");
					tbody[0].appendChild(tr);
				}
				rows = 0;
			}
		}
	}
}

function attachOverlib() {
	var img = document.getElementsByTagName("img");
	for (var i = 0; i < img.length; i++) {
		if (hasClassName(img[i], "icon")) {
			if (img[i].parentNode.tagName == "A") {
				img[i].onmouseover = function() {
					return overlib(this.alt);
				}
				img[i].onmouseout = function() {
					return nd();
				}
			}
		}
	}
}