var Dom=DOM;EVENT.onDOMReady(initTables);function addRowHighlight(A){EVENT.addListener(A,"mouseover",function(){Dom.addClass(Dom.getElementsBy(function(){return true},"td",this),"highlight")});EVENT.addListener(A,"mouseout",function(){Dom.removeClass(Dom.getElementsBy(function(){return true},"td",this),"highlight")})}function isHighlightClass(A){if(A.className.indexOf("no_highlight")==-1){return true}else{return false}}function addColumnHighlight(A){EVENT.addListener(A,"mouseover",function(){Dom.addClass(A,"highlight_col")});EVENT.addListener(A,"mouseout",function(){Dom.removeClass(A,"highlight_col")})}function applyHighlights(C){for(var B=0;B<C.length;B++){var A=Array();for(j=0;j<C[B].length;j++){if(C[B][j]){A.push(C[B][j])}}addColumnHighlight(A)}}var colSpan;var scope=1;var scopeCounter=1;var rowAddon=1;function initTables(){var K=Dom.getElementsByClassName("table_highlight","table");for(var A=0;A<K.length;A++){colSpan=0;var J=0;var C=Array();var I=Array();var H=false;var M=Dom.getElementsBy(function(){return true},"tr",K[A]);for(var G=0;G<M.length;G++){var D=0;var L=Dom.getChildren(M[G]);for(var B=0;B<L.length;B++){if(!H){if(B==0){colSpan=L[B].colSpan}if(L[B].colSpan==1){J++;C[J-1]=Array()}else{for(var F=0;F<L[B].colSpan;F++){J++;C[J-1]=Array()}}}else{for(var F=L[B].colSpan;F>0;F--){if(I[D]>1){I[D]--;if(C[D+1]){D++}F++;continue}if(isHighlightClass(L[B])){C[D++][G]=L[B];if(scopeCounter!=1&&scopeCounter<=scope){for(var E=1;E<scopeCounter;E++){C[D-1][G+(M.length+rowAddon++)]=L[B-E]}for(var E=scopeCounter;E<scope;E++){C[D-1][G+(M.length+rowAddon++)]=L[B+E-1]}scopeCounter++}if(L[B].scope>1){scope=L[B].scope;scopeCounter=2;for(var E=0;E<scope;E++){C[D-1][G+(M.length+rowAddon++)]=L[B+E]}}}else{D++}I[D-1]=L[B].rowSpan}}}if(isHighlightClass(M[G])){addRowHighlight(M[G])}if(!H){H=true;G--}}applyHighlights(C)}};