(function(C){var H={},G,B,A,E,D,F,I,J;G=function(M){var K=document.getElementById(M),L=false;while(!L){if(K.nodeName==="FORM"){L=true;return K}K=K.parentNode}return null};B={TableFacade:function(K){this.limit=new B.Limit(K);this.worksheet=new B.Worksheet();this.onInvokeAction="onInvokeAction";this.onInvokeExportAction="onInvokeExportAction"},Worksheet:function(){this.save=null;this.filter=null},Limit:function(K){this.id=K;this.page=null;this.maxRows=null;this.sortSet=[];this.filterSet=[];this.exportType=null},Sort:function(L,M,K){this.position=L;this.property=M;this.order=K},Filter:function(L,K){this.property=L;this.value=K},DynFilter:function(K,M,L){this.filter=K;this.id=M;this.property=L},WsColumn:function(L,N,K,M){this.column=L;this.id=N;this.uniqueProperties=K;this.property=M}};A={addTableFacade:function(L){var K=new B.TableFacade(L);H[K.limit.id]=K},getTableFacade:function(K){return H[K]},setSaveToWorksheet:function(K){this.getTableFacade(K).worksheet.save="true"},setFilterToWorksheet:function(K){this.getTableFacade(K).worksheet.filter="true";this.setPageToLimit(K,"1")},removeFilterFromWorksheet:function(K){this.getTableFacade(K).worksheet.filter=null;this.setPageToLimit(K,"1")},setPageToLimit:function(L,K){this.getTableFacade(L).limit.setPage(K)},setMaxRowsToLimit:function(L,K){this.getTableFacade(L).limit.setMaxRows(K);this.setPageToLimit(L,"1")},addSortToLimit:function(P,L,O,K){this.removeSortFromLimit(P,O);this.setPageToLimit(P,"1");var M=this.getTableFacade(P).limit,N=new B.Sort(L,O,K);M.addSort(N)},removeSortFromLimit:function(N,L){var K=this.getTableFacade(N).limit,M=K.getSortSet();C.each(M,function(O,P){if(P.property===L){M.splice(O,1);return false}})},removeAllSortsFromLimit:function(L){var K=this.getTableFacade(L).limit;K.setSortSet([]);this.setPageToLimit(L,"1")},getSortFromLimit:function(N,L){var K=this.getTableFacade(N).limit,M=K.getSortSet();C.each(M,function(O,P){if(P.property===L){return P}})},addFilterToLimit:function(O,N,M){this.removeFilterFromLimit(O,N);this.setPageToLimit(O,"1");var K=this.getTableFacade(O).limit,L=new B.Filter(N,M);K.addFilter(L)},removeFilterFromLimit:function(N,M){var L=this.getTableFacade(N).limit,K=L.getFilterSet();C.each(K,function(O,P){if(P.property===M){K.splice(O,1);return false}})},removeAllFiltersFromLimit:function(N){var L=this.getTableFacade(N),K=L.limit,M=L.worksheet;K.setFilterSet([]);this.setPageToLimit(N,"1");M.filter=null},getFilterFromLimit:function(N,M){var L=this.getTableFacade(N).limit,K=L.getFilterSet();C.each(K,function(O,P){if(P.property===M){return P}})},setExportToLimit:function(L,K){this.getTableFacade(L).limit.setExport(K)},createHiddenInputFieldsForLimit:function(M){var L=this.getTableFacade(M),K=G(M);L.createHiddenInputFields(K)},createHiddenInputFieldsForLimitAndSubmit:function(N){var L=this.getTableFacade(N),K=G(N),M=L.createHiddenInputFields(K);if(M){K.submit()}},createParameterStringForLimit:function(L){var K=this.getTableFacade(L);return K.createParameterString()},setOnInvokeAction:function(M,L){var K=this.getTableFacade(M);K.onInvokeAction=L},setOnInvokeExportAction:function(M,L){var K=this.getTableFacade(M);K.onInvokeExportAction=L},onInvokeAction:function(N,M){var L=this.getTableFacade(N),K=window[L.onInvokeAction];if(C.isFunction(K)!==true){throw L.onInvokeAction+" is not a global function!"}else{K(N,M)}},onInvokeExportAction:function(M){var L=this.getTableFacade(M),K=window[L.onInvokeExportAction];if(C.isFunction(K)!==true){throw L.onInvokeExportAction+" is not a global function!"}else{K(M)}}};C.extend(B.Limit.prototype,{getId:function(){return this.id},setId:function(K){this.id=K},getPage:function(){return this.page},setPage:function(K){this.page=K},getMaxRows:function(){return this.maxRows},setMaxRows:function(K){this.maxRows=K},getSortSet:function(){return this.sortSet},addSort:function(K){this.sortSet[this.sortSet.length]=K},setSortSet:function(K){this.sortSet=K},getFilterSet:function(){return this.filterSet},addFilter:function(K){this.filterSet[this.filterSet.length]=K},setFilterSet:function(K){this.filterSet=K},getExport:function(){return this.exportType},setExport:function(K){this.exportType=K}});C.extend(B.TableFacade.prototype,{createHiddenInputFields:function(N){var L=this.limit,M=C(N).find(":hidden[@name="+L.id+"_p_]").val(),O,K;if(M){return false}if(this.worksheet.save){C(N).append('<input type="hidden" name="'+L.id+'_sw_" value="true"/>')}if(this.worksheet.filter){C(N).append('<input type="hidden" name="'+L.id+'_fw_" value="true"/>')}C(N).append('<input type="hidden" name="'+L.id+'_tr_" value="true"/>');C(N).append('<input type="hidden" name="'+L.id+'_p_" value="'+L.page+'"/>');C(N).append('<input type="hidden" name="'+L.id+'_mr_" value="'+L.maxRows+'"/>');O=L.getSortSet();C.each(O,function(P,Q){C(N).append('<input type="hidden" name="'+L.id+"_s_"+Q.position+"_"+Q.property+'" value="'+Q.order+'"/>')});K=L.getFilterSet();C.each(K,function(P,Q){C(N).append('<input type="hidden" name="'+L.id+"_f_"+Q.property+'" value="'+Q.value+'"/>')});return true},createParameterString:function(){var L=this.limit,M="",N,K;M+=L.id+"_p_="+L.page;M+="&"+L.id+"_mr_="+L.maxRows;N=L.getSortSet();C.each(N,function(O,P){M+="&"+L.id+"_s_"+P.position+"_"+P.property+"="+P.order});K=L.getFilterSet();C.each(K,function(O,P){M+="&"+L.id+"_f_"+P.property+"="+encodeURIComponent(P.value)});if(L.exportType){M+="&"+L.id+"_e_="+L.exportType}M+="&"+L.id+"_tr_=true";if(this.worksheet.save){M+="&"+L.id+"_sw_=true"}if(this.worksheet.filter){M+="&"+L.id+"_fw_=true"}return M}});E=null;D={createDynFilter:function(O,Q,P){if(E){return }E=new B.DynFilter(O,Q,P);var K=C(O),N=K.width(),L=K.text(),M;K.width(N);K.parent().width(N);K.css("overflow","visible");K.html('<div id="dynFilterDiv"><input id="dynFilterInput" name="filter" style="width:'+(N+2)+'px" value="" /></div>');M=C("#dynFilterInput");M.val(L);M.focus();C(M).keypress(function(R){if(R.keyCode===13){var S=M.val();K.text("");K.css("overflow","hidden");K.text(S);C.jmesa.addFilterToLimit(E.id,E.property,S);C.jmesa.onInvokeAction(E.id,"filter");E=null}});C(M).blur(function(){var R=M.val();K.text("");K.css("overflow","hidden");K.text(R);C.jmesa.addFilterToLimit(E.id,E.property,R);E=null})},createDroplistDynFilter:function(N,M,U,W){if(E){return }E=new B.DynFilter(N,M,U);if(C("#dynFilterDroplistDiv").size()>0){return }var Q,K,R,P,O,T=C(N),S=T.text(),L=T.width(),V=1;C.each(W,function(){V+=1;if(V>10){V=10;return false}});T.width(L);T.parent().width(L);T.html('<div id="dynFilterDroplistDiv" style="top:17px">');Q='<select id="dynFilterDroplist" name="filter" size="'+V+'">';Q+='<option value=""> </option>';C.each(W,function(X,Y){if(X===S){Q+='<option selected="selected" value="'+X+'">'+Y+"</option>"}else{Q+='<option value="'+X+'">'+Y+"</option>"}});Q+="</select>";K=C("#dynFilterDroplistDiv");K.html(Q);R=C("#dynFilterDroplist");P=R.width();if(P<L){R.width(L+5)}R.focus();O=T.css("backgroundColor");T.css({backgroundColor:K.css("backgroundColor")});C(R).change(function(){var X=C("#dynFilterDroplistDiv option:selected").val();T.text(X);C.jmesa.addFilterToLimit(E.id,E.property,X);C.jmesa.onInvokeAction(E.id,"filter");E=null});C(R).blur(function(){var X=C("#dynFilterDroplistDiv option:selected").val();T.text(X);C("#dynFilterDroplistDiv").remove();T.css({backgroundColor:O});E=null})}};F=null;I={createWsColumn:function(P,R,N,Q){if(F){return }F=new B.WsColumn(P,R,N,Q);var K=C(P),O=K.width(),L=K.text(),M;K.width(O);K.parent().width(O);K.css("overflow","visible");K.html('<div id="wsColumnDiv"><input id="wsColumnInput" name="column" style="width:'+(O+3)+'px" value=""/></div>');M=C("#wsColumnInput");M.val(L);M.focus();C("#wsColumnInput").keypress(function(S){if(S.keyCode===13){var T=M.val();K.text("");K.css("overflow","hidden");K.text(T);if(T!==L){C.jmesa.submitWsColumn(L,T)}F=null}});C("#wsColumnInput").blur(function(){var S=M.val();K.text("");K.css("overflow","hidden");K.text(S);if(S!==L){C.jmesa.submitWsColumn(L,S)}F=null})},submitWsCheckboxColumn:function(M,Q,L,P){F=new B.WsColumn(M,Q,L,P);var N=M.checked,O="unchecked",K="unchecked";if(N){O="checked"}if(!N){K="checked"}C.jmesa.submitWsColumn(K,O);F=null},submitWsColumn:function(K,N){var L=F.uniqueProperties,M={"id":F.id,"cp_":F.property,"ov_":encodeURIComponent(K),"cv_":encodeURIComponent(N)};C.each(L,function(O,P){M["up_"+O]=P});C.post("jmesa.wrk?",M,function(O){})}};J={addDropShadow:function(K,L){if(!L){L="jmesa"}C("div."+L+" .table").wrap("<div class='wrap0'><div class='wrap1'><div class='wrap2'><div class='dropShadow'></div></div></div></div>").css({"background":"url("+K+"shadow_back.gif) 100% repeat"});C("."+L+" div.wrap0").css({"background":"url("+K+"shadow.gif) right bottom no-repeat","float":"left"});C("."+L+" div.wrap1").css({"background":"url("+K+"shadow180.gif) no-repeat"});C("."+L+" div.wrap2").css({"background":"url("+K+"corner_bl.gif) -18px 100% no-repeat"});C("."+L+" div.dropShadow").css({"background":"url("+K+"corner_tr.gif) 100% -18px no-repeat"});C("div."+L).append('<div style="clear:both">&nbsp;</div>')}};C.extend(A,D);C.extend(A,I);C.extend(A,J);C.jmesa={};C.extend(C.jmesa,A)}(jQuery));