/* 	
	Magnus Brink, 2009

*/

function addClass(element,value) {
  	if (!element.className) {
    		element.className = value;
  	} else {
    		newClassName = element.className;
    		newClassName+= " ";
    		newClassName+= value;
    		element.className = newClassName;
  	}
}

function stripeTables() {
  	if (!document.getElementsByTagName) 
  		return false;
  
  	var tables = document.getElementsByTagName("table");
  
  	for (var i=0; i<tables.length; i++) {
    		
    		var odd = false;
    		var rows = tables[i].getElementsByTagName("tr");
    		
    		for (var j=0; j<rows.length; j++) {
      		
      			if (odd == true) {
        			addClass(rows[j],"odd");
        			odd = false;
      			} else {
        			odd = true;
      			}
    		}
  	}
}

function highlightRows() {
  	
  	if(!document.getElementsByTagName) 
  		return false;
  	
  	var rows = document.getElementsByTagName("tr");
  
  	for (var i=0; i<rows.length; i++) {
    		rows[i].oldClassName = rows[i].className
    		rows[i].onmouseover = function() {
      			addClass(this,"highlight");
    		}
    
    		rows[i].onmouseout = function() {
      			this.className = this.oldClassName
    		}
  	}
}

function hideShowCalendar() {

	if (!document.getElementById)
		return false;
		
	if (!document.getElementById("calendar_2008"))
		return false;
		
	if (!document.getElementById("calendar_2009"))
		return false;
	
	if (!document.getElementById("main"))
		return false;
		
	if (!document.getElementById("link_cal_2008") || !document.getElementById("link_cal_2009"))
		return false;
		
	var cal_2008 = document.getElementById("calendar_2008");
	var cal_2009 = document.getElementById("calendar_2009");
	
	var child;
	var parent;

	var link_cal_2008 = document.getElementById("link_cal_2008");
	var link_cal_2009 = document.getElementById("link_cal_2009");
	
	var cal_2008_shown = false;
	var cal_2009_shown = false;
	
	link_cal_2008.onclick = function() {
		
		child = this.lastChild;
		parent = child.parentNode;
		
		if (!cal_2008_shown) {
			cal_2008.style.display = "inline";
			cal_2008_shown = true;
			parent.replaceChild(document.createTextNode("hide 2008"), child);
		}
		else {
			cal_2008.style.display = "none";
			cal_2008_shown = false;
			parent.replaceChild(document.createTextNode("view 2008"), child);
		}		
	}
	
	link_cal_2009.onclick = function() {
	
		child = this.lastChild;
		parent = child.parentNode;
	
		if (!cal_2009_shown) {
			cal_2009.style.display = "inline";
			cal_2009_shown = true;
			parent.replaceChild(document.createTextNode("hide 2009"), child);
		}
		else {
			cal_2009.style.display = "none";
			cal_2009_shown = false;
			parent.replaceChild(document.createTextNode("view 2009"), child);
		}
	}
}
addLoadEvent(stripeTables);
addLoadEvent(highlightRows);
addLoadEvent(hideShowCalendar);

