function makearray(n) {this.length = n;for(var i = 1; i <= n; i++) this[i] = 0;return this;}
function hex(i) {if (i < 0)	  return "00";else if (i > 255) return "ff";else return "" + hexa[Math.floor(i/16)] + hexa[i%16];}
function hextodec(daHex) {var daDec = Number((16 * hexnumtodec(daHex.substring(0,1))) + hexnumtodec(daHex.substring(1,2)));return daDec}
function hexnumtodec(hexchar) {if (parseInt(hexchar) == hexchar) return Number(hexchar); hexchar = hexchar.toUpperCase();switch (hexchar) {case 'A': return 10; break;case 'B': return 11; break;case 'C': return 12; break;case 'D': return 13; break;case 'E': return 14; break;case 'F': return 15; break;}}
function setColor(r,g,b) {var hr = hex(r); var hg = hex(g); var hb = hex(b);var daColor = "#"+hr+hg+hb;daEl.style.backgroundColor = daColor;if (daColor == colorend.toLowerCase()) {clearInterval(iId);iId = null;timerRunning = false}}
function myfade(el,cs,ce,iv,st) {daEl = el;colorstart = cs;colorend = ce;interval = iv;step = st;i = 0;if (timerRunning) {clearInterval(iId);iId = null};var myRe = /#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})/i;if (colorstart.match(myRe)) {sr = hextodec(RegExp.$1);sg = hextodec(RegExp.$2);sb = hextodec(RegExp.$3)};if (colorend.match(myRe)) {er = hextodec(RegExp.$1);eg = hextodec(RegExp.$2);eb = hextodec(RegExp.$3)};timerRunning = false;iId = setInterval("fade()",interval);timerRunning = true;}
function fade() {i++;setColor(Math.floor(sr * ((step-i)/step) + er * (i/step)),Math.floor(sg * ((step-i)/step) + eg * (i/step)),Math.floor(sb * ((step-i)/step) + eb * (i/step)));}
hexa = new makearray(16);
for(var i = 0; i < 10; i++)
	hexa[i] = i;
hexa[10]="a"; hexa[11]="b"; hexa[12]="c";
hexa[13]="d"; hexa[14]="e"; hexa[15]="f";

var i
var iId = null
var sr, sg, sb
var er, eg, eb
var interval = 1
var step = 16
var colorstart
var colorend
var daEl
var timerRunning = false

function cellover(table_cell) {myfade(table_cell,'#FFFFFF','#F4FAFF',60,32);table_cell.style.borderColor = "#CCCCCC"}
function cellout(table_cell) {if (timerRunning) {clearInterval(iId);iId = null};table_cell.style.backgroundColor = '#E8F3FF';table_cell.style.borderColor = "#FFFFFF"}

function border(table_cell,onOff) {
	if (onOff == 1) {table_cell.style.borderColor = "#CCCCCC";table_cell.style.backgroundColor = '#F4FAFF';document.body.style.cursor='hand'}
	if (onOff == 0) {table_cell.style.borderColor = "#FFFFFF";table_cell.style.backgroundColor = '#E8F3FF';document.body.style.cursor='default'}
}

