/* 

	Tablecloth 
	written by Alen Grakalic, provided by Css Globe (cssglobe.com)
	please visit http://cssglobe.com/lab/tablecloth/
	
*/

this.tablecloth = function(){
	
	// CONFIG 
	
	// if set to true then mouseover a table cell will highlight entire column (except sibling headings)
	var highlightCols = true;
	
	// if set to true then mouseover a table cell will highlight entire row	(except sibling headings)
	var highlightRows = true;	
	
	// if set to true then click on a table sell will select row or column based on config
	var selectable = false;
	
	// this function is called when 
	// add your own code if you want to add action 
	// function receives object that has been clicked 
	this.clickAction = function(obj){
		//alert(obj.innerHTML);
		
	};


	
	// END CONFIG (do not edit below this line)
	
	
	var tableover = false;
	this.start = function(){
		var table = document.getElementById("datatable");
			table.onmouseover = function(){tableover = true};
			table.onmouseout = function(){tableover = false};			
			rows(table);
	};
	
	this.rows = function(table){
		var css = "";
		var tr = table.getElementsByTagName("tr");
		for (var i=0;i<tr.length;i++){
			css = (css == "odd") ? "even" : "odd";
			tr[i].className = css;
			var arr = new Array();
			for(var j=0;j<tr[i].childNodes.length;j++){				
				if(tr[i].childNodes[j].nodeType == 1) arr.push(tr[i].childNodes[j]);
			};		
			for (var j=0;j<arr.length;j++){				
				arr[j].row = i;
				arr[j].col = j;
				if(arr[j].innerHTML == "&nbsp;" || arr[j].innerHTML == "") arr[j].className += " empty";					
				arr[j].css = arr[j].className;
				arr[j].onmouseover = function(){
					over(table,this,this.row,this.col);
				};
				arr[j].onmouseout = function(){
					out(table,this,this.row,this.col);
				};											
			};
		};
	};
	
	// appyling mouseover state for objects (th or td)
	this.over = function(table,obj,row,col){
		var Sys = {};
        var ua = navigator.userAgent.toLowerCase();
        if (window.ActiveXObject)
		{
			//document.getElementById('datatableheader').getElementsByTagName('tr')[0].childNodes[col].className = "over1";
			var cnum = col;
		}
		else
		{
			//document.getElementById('datatableheader').getElementsByTagName('tr')[0].childNodes[(col)*2+1].className = "over1";
			var cnum = (col)*2+1;
		}
		var tr = table.getElementsByTagName('tr');
		var ctr = tr[row];
		for(i=0;i<=cnum;i++)
		{
			var rtr = ctr.childNodes[i];
			rtr.className = rtr.css + " "+ "over";
		}
		//alert(row);
		for(i=0;i<=row;i++)
		{
			var dtr = tr[i].childNodes[cnum];
			if(dtr != undefined)
			{
			dtr.className = dtr.css + " "+"over";
			}
		}
		//if (!highlightCols && !highlightRows) obj.className = obj.css + " over";  
		//if(check1(obj,col)){
		//	if(highlightCols) highlightColRowss(table,obj,col,row);
		//	if(highlightCols) highlightColRows(table,obj,col,row);
			//if(highlightCols) highlightCol(table,obj,col);
			//if(highlightRows) highlightRow(table,obj,row);		
		//};
	};
	// appyling mouseout state for objects (th or td)	
	this.out = function(table,obj,row,col){
		var Sys = {};
        var ua = navigator.userAgent.toLowerCase();
        if (window.ActiveXObject)
		{
			//document.getElementById('datatableheader').getElementsByTagName('tr')[0].childNodes[col].className = "over2";
			var cnum = col;
		}
		else
		{
			//document.getElementById('datatableheader').getElementsByTagName('tr')[0].childNodes[(col)*2+1].className = "over2";
			var cnum = (col)*2+1;
		}
		var tr = table.getElementsByTagName('tr');
		var ctr = tr[row];
		for(i=0;i<=cnum;i++)
		{
			var rtr = ctr.childNodes[i];
			rtr.className = rtr.css
		}
		for(i=0;i<=row;i++)
		{
			var dtr = tr[i].childNodes[cnum];
			if(dtr != undefined)
			dtr.className = dtr.css;
		}
		//if (!highlightCols && !highlightRows) obj.className = obj.css; 
		//unhighlightCol(table,col);
		//unhighlightRow(table,row);
	};
	
	start();
	
};

