(function(B){var A={listTargetID:null,onClass:"",offClass:"",hideInList:[],colsHidden:[],saveState:false,onToggle:null,show:function(K){D(K)},hide:function(K){C(K)}};var J=0;var G="columnManagerC";var H=function(M){var N="",L=0,K=M.cMColsVisible;if(M.cMSaveState&&M.id&&K&&B.cookie){for(;L<K.length;L++){N+=(K[L]==false)?0:1}B.cookie(G+M.id,N,{expires:9999})}};var C=function(K){if(jQuery.browser.msie){(C=function(L){L.style.setAttribute("display","none")})(K)}else{(C=function(L){L.style.display="none"})(K)}};var D=function(K){if(jQuery.browser.msie){(D=function(L){L.style.setAttribute("display","block")})(K)}else{(D=function(L){L.style.display="table-cell"})(K)}};var F=function(K){if(jQuery.browser.msie){return(F=function(L){return L.style.getAttribute("display")!="none"})(K)}else{return(F=function(L){return L.style.display!="none"})(K)}};var I=function(N,L,K){for(var M=0;M<L.length;M++){if(L[M].realIndex===undefined){E(N)}if(L[M].realIndex==K){return L[M]}}return null};var E=function(X){var Z=X.rows;var R=Z.length;var W=[];for(var P=0;P<R;P++){var Y=Z[P].cells;var V=Y.length;for(var O=0;O<V;O++){var U=Y[O];var T=U.rowSpan||1;var Q=U.colSpan||1;var S=-1;if(!W[P]){W[P]=[]}var L=W[P];while(L[++S]){}U.realIndex=S;for(var N=P;N<P+T;N++){if(!W[N]){W[N]=[]}var K=W[N];for(var M=S;M<S+Q;M++){K[M]=1}}}}};B.fn.columnManager=function(N){var O=B.extend({},A,N);var M=function(X){if(!O.listTargetID){return }var P=B("#"+O.listTargetID);if(!P.length){return }var W=null;if(X.tHead&&X.tHead.length){W=X.tHead.rows[0]}else{if(X.rows.length){W=X.rows[0]}else{return }}var Y=W.cells;if(!Y.length){return }var R=null;if(P.get(0).nodeName.toUpperCase()=="UL"){R=P}else{R=B("<ul></ul>");P.append(R)}var T=X.cMColsVisible;for(var Q=0;Q<Y.length;Q++){if(B.inArray(Q+1,O.hideInList)>=0){continue}T[Q]=(T[Q]!==undefined)?T[Q]:true;var V=B(Y[Q]).text(),S;if(!V.length){V=B(Y[Q]).html();if(!V.length){V="undefined"}}if(T[Q]&&O.onClass){S=O.onClass}else{if(!T[Q]&&O.offClass){S=O.offClass}}var U=B("<li class=\""+S+"\">"+V+"</li>").click(L);U[0].cmData={id:X.id,col:Q};R.append(U)}X.cMColsVisible=T};var L=function(){var S=this.cmData;if(S&&S.id&&S.col>=0){var Q=S.col,R=B("#"+S.id);if(R.length){R.toggleColumns([Q+1],O);var P=R.get(0).cMColsVisible;if(O.onToggle){O.onToggle.apply(R.get(0),[Q+1,P[Q]])}}}};var K=function(R){var S=B.cookie(G+R);if(S){var P=S.split("");for(var Q=0;Q<P.length;Q++){P[Q]&=1}return P}return false};return this.each(function(){this.id=this.id||"jQcM0O"+J++;var S,R=[],Q=[];E(this);if(O.colsHidden.length){for(S=0;S<O.colsHidden.length;S++){Q[O.colsHidden[S]-1]=true;R[O.colsHidden[S]-1]=true}}if(O.saveState){var T=K(this.id);if(T&&T.length){for(S=0;S<T.length;S++){Q[S]=true;R[S]=!T[S]}}this.cMSaveState=true}this.cMColsVisible=Q;if(R.length){var P=[];for(S=0;S<R.length;S++){if(R[S]){P[P.length]=S+1}}if(P.length){B(this).toggleColumns(P)}}M(this)})};B.fn.toggleColumns=function(K,L){return this.each(function(){var P,Q,S,Y=this.rows,R=this.cMColsVisible;if(!K){return }if(K.constructor==Number){K=[K]}if(!R){R=this.cMColsVisible=[]}for(P=0;P<Y.length;P++){var X=Y[P].cells;for(var O=0;O<K.length;O++){var M=K[O]-1;if(M>=0){var U=I(this,X,M);if(!U){var N=M;while(N>0&&!(U=I(this,X,--N))){}if(!U){continue}}if(R[M]==undefined){R[M]=true}if(R[M]){Q=L&&L.hide?L.hide:C;S=-1}else{Q=L&&L.show?L.show:D;S=1}if(!U.chSpan){U.chSpan=0}if(U.colSpan>1||(S==1&&U.chSpan&&F(U))){if(U.realIndex+U.colSpan+U.chSpan-1<M){continue}U.colSpan+=S;U.chSpan+=S*-1}else{if(U.realIndex+U.chSpan<M){continue}else{Q(U)}}}}}for(P=0;P<K.length;P++){this.cMColsVisible[K[P]-1]=!R[K[P]-1];if(L&&L.listTargetID&&(L.onClass||L.offClass)){var W=L.onClass,V=L.offClass,T;if(R[K[P]-1]){W=V;V=L.onClass}T=B("#"+L.listTargetID+" li").filter(function(){return this.cmData&&this.cmData.col==K[P]-1});if(W){T.removeClass(W)}if(V){T.addClass(V)}}}H(this)})};B.fn.showColumns=function(K,L){return this.each(function(){var N,O=[],M=this.cMColsVisible;if(M){if(K&&K.constructor==Number){K=[K]}for(N=0;N<M.length;N++){if(!M[N]&&(!K||B.inArray(N+1,K)>-1)){O.push(N+1)}}B(this).toggleColumns(O,L)}})};B.fn.hideColumns=function(K,L){return this.each(function(){var N,O=K,M=this.cMColsVisible;if(M){if(K.constructor==Number){K=[K]}O=[];for(N=0;N<K.length;N++){if(M[K[N]-1]||M[K[N]-1]==undefined){O.push(K[N])}}}B(this).toggleColumns(O,L)})}})(jQuery);
