/*-----------------------------------------------------------------
*	Puts a click and rollover / rollout event on table rows 
*	dependencies:
*		classes: row, altrow
*		a href in the first td of the row
******************************************************/

var TableRoll = {	
	rows:[],
	
	init:function() {
		if($$("table.overview")) {
			TableRoll.getItems();
			TableRoll.addListeners();
		}
	},
	
	// get all rows
	getItems:function() {
		// all rows are within the tbody with class "overview"
		var tBodies = $$("table.overview");
		for (var i=0; i<tBodies.length; i++) {
			for (var j=0; j<tBodies[i].getElementsByTagName("TBODY")[0].getElementsByTagName("TR").length; j++) {
				this.rows.push(tBodies[i].getElementsByTagName("TBODY")[0].getElementsByTagName("TR")[j]);
			}
		}
	},

	// add listeners to all found fields
	addListeners:function() {
		for (var i=0;i<this.rows.length;i++) {
			Event.observe(this.rows[i],"mouseover",this.rollover);
			Event.observe(this.rows[i],"mouseout",this.rollout);
			Event.observe(this.rows[i],"click",this.click);
		}
	},

	// set row 
	rollover:function(e) {
		var field = Event.element(e);
		var elm = field;
		while (elm.ancestors()[0].tagName != "TR") {
			elm = elm.ancestors()[0];
		}
		elm.ancestors()[0].addClassName("rowrollover");
	},
	
	rollout:function(e) {
		var field = Event.element(e);
		var elm = field;
		while (elm.ancestors()[0].tagName != "TR") {
			elm = elm.ancestors()[0];
		}
		elm.ancestors()[0].removeClassName("rowrollover");
	},
	
	click:function(e) {
		var field = Event.element(e);
		if (field.tagName != "A") {
			Event.stop(e);
			field = field.select("a")[0];
			document.location = field.href;
		}
	}
	
}

// observe window load event, when occurs initialize help object
Event.observe(window,"load", TableRoll.init);