Advertisement
MichelCavalheiro

jquery.jqgrid.min.js

Jul 17th, 2012
340
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. * jqGrid  3.6 - jQuery Grid
  3. * Copyright (c) 2008, Tony Tomov, [email protected]
  4. * Dual licensed under the MIT and GPL licenses
  5. * http://www.opensource.org/licenses/mit-license.php
  6. * http://www.gnu.org/licenses/gpl.html
  7. * Date:2009-11-08
  8. * Modules: grid.base.js; jquery.fmatter.js; grid.custom.js; grid.common.js; grid.formedit.js; jquery.searchFilter.js; grid.inlinedit.js; grid.celledit.js; jqModal.js; jqDnR.js; grid.subgrid.js; grid.setcolumns.js; grid.postext.js; grid.tbltogrid.js; grid.jqueryui.js;
  9. */
  10. (function($){
  11.     $.jgrid=$.jgrid||{};
  12.    
  13.     $.extend($.jgrid,{
  14.         htmlDecode:function(value){
  15.             if(value==" "||value==" "||(value.length==1&&value.charCodeAt(0)==160)){
  16.                 return""
  17.                 }
  18.                 return !value?value:String(value).replace(/&amp;/g,"&").replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&quot;/g,'"')
  19.             },
  20.         htmlEncode:function(value){
  21.             return !value?value:String(value).replace(/&/g,"&amp;").replace(/>/g,"&gt;").replace(/</g,"&lt;").replace(/\"/g,"&quot;")
  22.             },
  23.         format:function(format){
  24.             var args=$.makeArray(arguments).slice(1);
  25.             if(format===undefined){
  26.                 format=""
  27.                 }
  28.                 return format.replace(/\{(\d+)\}/g,function(m,i){
  29.                 return args[i]
  30.                 })
  31.             },
  32.         getCellIndex:function(cell){
  33.             cell=$(cell);
  34.             cell=(!cell.is("td")&&!cell.is("th")?cell.closest("td,th"):cell)[0];
  35.             if($.browser.msie){
  36.                 return $.inArray(cell,cell.parentNode.cells)
  37.                 }
  38.                 return cell.cellIndex
  39.             },
  40.         stripHtml:function(v){
  41.             v=v+"";
  42.             var regexp=/<("[^"]*"|'[^']*'|[^'">])*>/gi;
  43.             if(v){
  44.                 return v.replace(regexp,"")
  45.                 }else{
  46.                 return v
  47.                 }
  48.             },
  49.     stringToDoc:function(xmlString){
  50.         var xmlDoc;
  51.         if(typeof xmlString!=="string"){
  52.             return xmlString
  53.             }
  54.             try{
  55.             var parser=new DOMParser();
  56.             xmlDoc=parser.parseFromString(xmlString,"text/xml")
  57.             }
  58.             catch(e){
  59.             xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  60.             xmlDoc.async=false;
  61.             xmlDoc.loadXML(xmlString)
  62.             }
  63.             return(xmlDoc&&xmlDoc.documentElement&&xmlDoc.documentElement.tagName!="parsererror")?xmlDoc:null
  64.         },
  65.     parse:function(jsonString){
  66.         var js=jsonString,msg;
  67.         if(js.substr(0,9)=="while(1);"){
  68.             js=js.substr(9)
  69.             }
  70.             if(js.substr(0,2)=="/*"){
  71.             js=js.substr(2,js.length-4)
  72.             }
  73.             if(!js){
  74.             js="{}"
  75.             }($.jgrid.useJSON===true&&typeof(JSON)==="object"&&typeof(JSON.parse)==="function")?msg=JSON.parse(js):msg=eval("("+js+")");
  76.         return msg.hasOwnProperty("d")?msg.d:msg
  77.         },
  78.     empty:function(){
  79.         while(this.firstChild){
  80.             this.removeChild(this.firstChild)
  81.             }
  82.         },
  83.     jqID:function(sid){
  84.         sid=sid+"";
  85.         return sid.replace(/([\.\:\[\]])/g,"\\$1")
  86.         },
  87.     ajaxOptions:{},
  88.     extend:function(methods){
  89.         $.extend($.fn.jqGrid,methods);
  90.         if(!this.no_legacy_api){
  91.             $.fn.extend(methods)
  92.             }
  93.         }
  94. });
  95. $.fn.jqGrid=function(pin){
  96.     if(typeof pin=="string"){
  97.         var fn=$.fn.jqGrid[pin];
  98.         if(!fn){
  99.             throw ("jqGrid - No such method: "+pin)
  100.             }
  101.             var args=$.makeArray(arguments).slice(1);
  102.         return fn.apply(this,args)
  103.         }
  104.         return this.each(function(){
  105.         if(this.grid){
  106.             return
  107.         }
  108.         var p=$.extend(true,{
  109.             url:"",
  110.             height:150,
  111.             page:1,
  112.             rowNum:20,
  113.             records:0,
  114.             pager:"",
  115.             pgbuttons:true,
  116.             pginput:true,
  117.             colModel:[],
  118.             rowList:[],
  119.             colNames:[],
  120.             sortorder:"asc",
  121.             sortname:"",
  122.             datatype:"xml",
  123.             mtype:"GET",
  124.             altRows:false,
  125.             selarrrow:[],
  126.             savedRow:[],
  127.             shrinkToFit:true,
  128.             xmlReader:{},
  129.             jsonReader:{},
  130.             subGrid:false,
  131.             subGridModel:[],
  132.             reccount:0,
  133.             lastpage:0,
  134.             lastsort:0,
  135.             selrow:null,
  136.             beforeSelectRow:null,
  137.             onSelectRow:null,
  138.             onSortCol:null,
  139.             ondblClickRow:null,
  140.             onRightClickRow:null,
  141.             onPaging:null,
  142.             onSelectAll:null,
  143.             loadComplete:null,
  144.             gridComplete:null,
  145.             loadError:null,
  146.             loadBeforeSend:null,
  147.             afterInsertRow:null,
  148.             beforeRequest:null,
  149.             onHeaderClick:null,
  150.             viewrecords:false,
  151.             loadonce:false,
  152.             multiselect:false,
  153.             multikey:false,
  154.             editurl:null,
  155.             search:false,
  156.             caption:"",
  157.             hidegrid:true,
  158.             hiddengrid:false,
  159.             postData:{},
  160.             userData:{},
  161.             treeGrid:false,
  162.             treeGridModel:"nested",
  163.             treeReader:{},
  164.             treeANode:-1,
  165.             ExpandColumn:null,
  166.             tree_root_level:0,
  167.             prmNames:{
  168.                 page:"page",
  169.                 rows:"rows",
  170.                 sort:"sidx",
  171.                 order:"sord",
  172.                 search:"_search",
  173.                 nd:"nd"
  174.             },
  175.             forceFit:false,
  176.             gridstate:"visible",
  177.             cellEdit:false,
  178.             cellSalvar:"remote",
  179.             nv:0,
  180.             loadui:"enable",
  181.             toolbar:[false,""],
  182.             scroll:false,
  183.             multiboxonly:false,
  184.             deselectAfterSort:true,
  185.             scrollrows:false,
  186.             autowidth:false,
  187.             scrollOffset:18,
  188.             cellLayout:5,
  189.             subGridWidth:20,
  190.             multiselectWidth:20,
  191.             gridview:false,
  192.             rownumWidth:25,
  193.             rownumbers:false,
  194.             pagerpos:"center",
  195.             recordpos:"right",
  196.             footerrow:false,
  197.             userDataOnFooter:false,
  198.             hoverrows:true,
  199.             altclass:"ui-priority-secondary",
  200.             viewsortcols:[false,"vertical",true],
  201.             resizeclass:"",
  202.             autoencode:false,
  203.             remapColumns:[],
  204.             ajaxGridOptions:{},
  205.             direction:"ltr"
  206.         },$.jgrid.defaults,pin||{});
  207.         var grid={
  208.             headers:[],
  209.             cols:[],
  210.             footers:[],
  211.             dragStart:function(i,x,y){
  212.                 this.resizing={
  213.                     idx:i,
  214.                     startX:x.clientX,
  215.                     sOL:y[0]
  216.                     };
  217.                    
  218.                 this.hDiv.style.cursor="col-resize";
  219.                 this.curGbox=$("#rs_m"+p.id,"#gbox_"+p.id);
  220.                 this.curGbox.css({
  221.                     display:"block",
  222.                     left:y[0],
  223.                     top:y[1],
  224.                     height:y[2]
  225.                     });
  226.                 if($.isFunction(p.resizeStart)){
  227.                     p.resizeStart.call(this,x,i)
  228.                     }
  229.                     document.onselectstart=new Function("return false")
  230.                 },
  231.             dragMove:function(x){
  232.                 if(this.resizing){
  233.                     var diff=x.clientX-this.resizing.startX,h=this.headers[this.resizing.idx],newWidth=p.direction==="ltr"?h.width+diff:h.width-diff,hn,nWn;
  234.                     if(newWidth>33){
  235.                         this.curGbox.css({
  236.                             left:this.resizing.sOL+diff
  237.                             });
  238.                         if(p.forceFit===true){
  239.                             hn=this.headers[this.resizing.idx+p.nv];
  240.                             nWn=p.direction==="ltr"?hn.width-diff:hn.width+diff;
  241.                             if(nWn>33){
  242.                                 h.newWidth=newWidth;
  243.                                 hn.newWidth=nWn
  244.                                 }
  245.                             }
  246.                         else{
  247.                         this.newWidth=p.direction==="ltr"?p.tblwidth+diff:p.tblwidth-diff;
  248.                         h.newWidth=newWidth
  249.                         }
  250.                     }
  251.             }
  252.     },
  253. dragEnd:function(){
  254.     this.hDiv.style.cursor="default";
  255.     if(this.resizing){
  256.         var idx=this.resizing.idx,nw=this.headers[idx].newWidth||this.headers[idx].width;
  257.         nw=parseInt(nw);
  258.         this.resizing=false;
  259.         $("#rs_m"+p.id).css("display","none");
  260.         p.colModel[idx].width=nw;
  261.         this.headers[idx].width=nw;
  262.         this.headers[idx].el.style.width=nw+"px";
  263.         if(this.cols.length>0){
  264.             this.cols[idx].style.width=nw+"px"
  265.             }
  266.             if(this.footers.length>0){
  267.             this.footers[idx].style.width=nw+"px"
  268.             }
  269.             if(p.forceFit===true){
  270.             nw=this.headers[idx+p.nv].newWidth||this.headers[idx+p.nv].width;
  271.             this.headers[idx+p.nv].width=nw;
  272.             this.headers[idx+p.nv].el.style.width=nw+"px";
  273.             if(this.cols.length>0){
  274.                 this.cols[idx+p.nv].style.width=nw+"px"
  275.                 }
  276.                 if(this.footers.length>0){
  277.                 this.footers[idx+p.nv].style.width=nw+"px"
  278.                 }
  279.                 p.colModel[idx+p.nv].width=nw
  280.             }else{
  281.             p.tblwidth=this.newWidth||p.tblwidth;
  282.             $("table:first",this.bDiv).css("width",p.tblwidth+"px");
  283.             $("table:first",this.hDiv).css("width",p.tblwidth+"px");
  284.             this.hDiv.scrollLeft=this.bDiv.scrollLeft;
  285.             if(p.footerrow){
  286.                 $("table:first",this.sDiv).css("width",p.tblwidth+"px");
  287.                 this.sDiv.scrollLeft=this.bDiv.scrollLeft
  288.                 }
  289.             }
  290.         if($.isFunction(p.resizeStop)){
  291.         p.resizeStop.call(this,nw,i)
  292.         }
  293.     }
  294. this.curGbox=null;
  295. document.onselectstart=new Function("return true")
  296. },
  297. populateVisible:function(){
  298.     if(grid.timer){
  299.         clearTimeout(grid.timer)
  300.         }
  301.         grid.timer=null;
  302.     var dh=$(grid.bDiv).height();
  303.     if(!dh){
  304.         return
  305.     }
  306.     var table=$("table:first",grid.bDiv);
  307.     var rows=$("> tbody > tr:visible:first",table);
  308.     var rh=rows.outerHeight()||grid.prevRowHeight;
  309.     if(!rh){
  310.         return
  311.     }
  312.     grid.prevRowHeight=rh;
  313.     var rn=p.rowNum;
  314.     if(rn<10){
  315.         rn=parseInt(dh/rh)+1<<1;
  316.         if(rn<10){
  317.             rn=10
  318.             }
  319.             p.rowNum=rn
  320.         }
  321.         var scrollTop=grid.scrollTop=grid.bDiv.scrollTop;
  322.     var ttop=table.position().top-scrollTop;
  323.     var tbot=ttop+table.height();
  324.     var div=rh*rn;
  325.     var page,npage,empty;
  326.     if(ttop<=0&&tbot<dh&&parseInt((tbot+scrollTop+div-1)/div)<p.lastpage){
  327.         npage=parseInt((dh-tbot+div-1)/div);
  328.         if(tbot>=0||npage<2||p.scroll===true){
  329.             page=parseInt((tbot+scrollTop)/div)+1;
  330.             ttop=-1
  331.             }else{
  332.             ttop=1
  333.             }
  334.         }
  335.     if(ttop>0){
  336.     page=parseInt(scrollTop/div)+1;
  337.     npage=parseInt((scrollTop+dh)/div)+2-page;
  338.     empty=true
  339.     }
  340.     if(npage){
  341.     if(page>p.lastpage){
  342.         return
  343.     }
  344.     if(grid.hDiv.loading){
  345.         grid.timer=setTimeout(grid.populateVisible,200)
  346.         }else{
  347.         p.page=page;
  348.         if(empty){
  349.             grid.selectionPreserver(table[0]);
  350.             grid.emptyRows(grid.bDiv)
  351.             }
  352.             grid.populate(npage)
  353.         }
  354.     }
  355. },
  356. scrollGrid:function(){
  357.     if(p.scroll){
  358.         var scrollTop=grid.bDiv.scrollTop;
  359.         if(scrollTop!=grid.scrollTop){
  360.             grid.scrollTop=scrollTop;
  361.             if(grid.timer){
  362.                 clearTimeout(grid.timer)
  363.                 }
  364.                 grid.timer=setTimeout(grid.populateVisible,200)
  365.             }
  366.         }
  367.     grid.hDiv.scrollLeft=grid.bDiv.scrollLeft;
  368. if(p.footerrow){
  369.     grid.sDiv.scrollLeft=grid.bDiv.scrollLeft
  370.     }
  371. },
  372. selectionPreserver:function(ts){
  373.     var p=ts.p;
  374.     var sr=p.selrow,sra=p.selarrrow?$.makeArray(p.selarrrow):null;
  375.     var left=ts.grid.bDiv.scrollLeft;
  376.     var complete=p.gridComplete;
  377.     p.gridComplete=function(){
  378.         p.selrow=null;
  379.         p.selarrrow=[];
  380.         if(p.multiselect&&sra&&sra.length>0){
  381.             for(var i=0;i<sra.length;i++){
  382.                 if(sra[i]!=sr){
  383.                     $(ts).jqGrid("setSelection",sra[i],false)
  384.                     }
  385.                 }
  386.             }
  387.         if(sr){
  388.     $(ts).jqGrid("setSelection",sr,false)
  389.     }
  390.     ts.grid.bDiv.scrollLeft=left;
  391. if(p.gridComplete=complete){
  392.     complete()
  393.     }
  394. }
  395. }
  396. };
  397.  
  398. this.p=p;
  399. var i,dir,ts;
  400. if(this.p.colNames.length===0){
  401.     for(i=0;i<this.p.colModel.length;i++){
  402.         this.p.colNames[i]=this.p.colModel[i].label||this.p.colModel[i].name
  403.         }
  404.     }
  405.     if(this.p.colNames.length!==this.p.colModel.length){
  406.     alert($.jgrid.errors.model);
  407.     return
  408. }
  409. var gv=$("<div class='ui-jqgrid-view'></div>"),ii,isMSIE=$.browser.msie?true:false,isSafari=$.browser.safari?true:false;
  410. ts=this;
  411. ts.p.direction=$.trim(ts.p.direction.toLowerCase());
  412. if($.inArray(ts.p.direction,["ltr","rtl"])==-1){
  413.     ts.p.direction="ltr"
  414.     }
  415.     dir=ts.p.direction;
  416. $(gv).insertBefore(this);
  417. $(this).appendTo(gv).removeClass("scroll");
  418. var eg=$("<div class='ui-jqgrid ui-widget ui-widget-content ui-corner-all'></div>");
  419. $(eg).insertBefore(gv).attr({
  420.     id:"gbox_"+this.id,
  421.     dir:dir
  422. });
  423. $(gv).appendTo(eg).attr("id","gview_"+this.id);
  424. if(isMSIE&&$.browser.version<=6){
  425.     ii='<iframe style="display:block;position:absolute;z-index:-1;filter:Alpha(Opacity=\'0\');" src="javascript:false;"></iframe>'
  426.     }else{
  427.     ii=""
  428.     }
  429.     $("<div class='ui-widget-overlay jqgrid-overlay' id='lui_"+this.id+"'></div>").append(ii).insertBefore(gv);
  430. $("<div class='loading ui-state-default ui-state-active' id='load_"+this.id+"'>"+this.p.loadtext+"</div>").insertBefore(gv);
  431. $(this).attr({
  432.     cellSpacing:"0",
  433.     cellPadding:"0",
  434.     border:"0",
  435.     role:"grid",
  436.     "aria-multiselectable":this.p.multiselect,
  437.     "aria-labelledby":"gbox_"+this.id
  438.     });
  439. var sortkeys=["shiftKey","altKey","ctrlKey"],IntNum=function(val,defval){
  440.     val=parseInt(val,10);
  441.     if(isNaN(val)){
  442.         return defval?defval:0
  443.         }else{
  444.         return val
  445.         }
  446.     },formatCol=function(pos,rowInd){
  447.     var ral=ts.p.colModel[pos].align,result='style="',clas=ts.p.colModel[pos].classes;
  448.     if(ral){
  449.         result+="text-align:"+ral+";"
  450.         }
  451.         if(ts.p.colModel[pos].hidden===true){
  452.         result+="display:none;"
  453.         }
  454.         if(rowInd===0){
  455.         result+="width: "+grid.headers[pos].width+"px;"
  456.         }
  457.         return result+'"'+(clas!==undefined?(' class="'+clas+'"'):"")
  458.     },addCell=function(rowId,cell,pos,irow,srvr){
  459.     var v,prp;
  460.     v=formatter(rowId,cell,pos,srvr,"add");
  461.     prp=formatCol(pos,irow);
  462.     return'<td role="gridcell" '+prp+' title="'+$.jgrid.stripHtml(v)+'">'+v+"</td>"
  463.     },formatter=function(rowId,cellval,colpos,rwdat,_act){
  464.     var cm=ts.p.colModel[colpos],v;
  465.     if(typeof cm.formatter!=="undefined"){
  466.         var opts={
  467.             rowId:rowId,
  468.             colModel:cm
  469.         };
  470.        
  471.         if($.isFunction(cm.formatter)){
  472.             v=cm.formatter(cellval,opts,rwdat,_act)
  473.             }else{
  474.             if($.fmatter){
  475.                 v=$.fn.fmatter(cm.formatter,cellval,opts,rwdat,_act)
  476.                 }else{
  477.                 v=cellVal(cellval)
  478.                 }
  479.             }
  480.     }else{
  481.     v=cellVal(cellval)
  482.     }
  483.     return v
  484. },cellVal=function(val){
  485.     return val===undefined||val===null||val===""?"&#160;":ts.p.autoencode?$.jgrid.htmlEncode(val+""):val+""
  486.     },addMulti=function(rowid,pos,irow){
  487.     var v='<input type="checkbox" id="jqg_'+rowid+'" class="cbox" name="jqg_'+rowid+'"/>',prp=formatCol(pos,irow);
  488.     return"<td role='gridcell' "+prp+">"+v+"</td>"
  489.     },addRowNum=function(pos,irow,pG,rN){
  490.     var v=(parseInt(pG)-1)*parseInt(rN)+1+irow,prp=formatCol(pos,irow);
  491.     return'<td role="gridcell" class="ui-state-default jqgrid-rownum" '+prp+">"+v+"</td>"
  492.     },reader=function(datatype){
  493.     var field,f=[],j=0,i;
  494.     for(i=0;i<ts.p.colModel.length;i++){
  495.         field=ts.p.colModel[i];
  496.         if(field.name!=="cb"&&field.name!=="subgrid"&&field.name!=="rn"){
  497.             f[j]=(datatype=="xml")?field.xmlmap||field.name:field.jsonmap||field.name;
  498.             j++
  499.         }
  500.     }
  501.     return f
  502. },orderedCols=function(offset){
  503.     var order=ts.p.remapColumns;
  504.     if(!order||!order.length){
  505.         order=$.map(ts.p.colModel,function(v,i){
  506.             return i
  507.             })
  508.         }
  509.         if(offset){
  510.         order=$.map(order,function(v){
  511.             return v<offset?null:v-offset
  512.             })
  513.         }
  514.         return order
  515.     },emptyRows=function(parent,scroll){
  516.     var tBody=$("tbody:first",parent);
  517.     if(!ts.p.gridview||ts.p.jqgdnd){
  518.         $("*",tBody).children().unbind()
  519.         }
  520.         if(isMSIE){
  521.         $.jgrid.empty.apply(tBody[0])
  522.         }else{
  523.         tBody[0].innerHTML=""
  524.         }
  525.         if(scroll&&ts.p.scroll){
  526.         $(">div:first",parent).css({
  527.             height:"auto"
  528.         }).children("div:first").css({
  529.             height:0,
  530.             display:"none"
  531.         });
  532.         parent.scrollTop=0
  533.         }
  534.         tBody=null
  535.     },addXmlData=function(xml,t,rcnt,more,adjust){
  536.     var startReq=new Date();
  537.     ts.p.reccount=0;
  538.     if($.isXMLDoc(xml)){
  539.         if(ts.p.treeANode===-1&&!ts.p.scroll){
  540.             emptyRows(t);
  541.             rcnt=0
  542.             }else{
  543.             rcnt=rcnt>0?rcnt:0
  544.             }
  545.         }else{
  546.     return
  547. }
  548. var i,fpos,ir=0,v,row,gi=0,si=0,ni=0,idn,getId,f=[],F,rd={},rl=ts.rows.length,xmlr,rid,rowData=[],ari=0,cn=(ts.p.altRows===true)?" "+ts.p.altclass:"",cn1;
  549. if(!ts.p.xmlReader.repeatitems){
  550.     f=reader("xml")
  551.     }
  552.     if(ts.p.keyIndex===false){
  553.     idn=ts.p.xmlReader.id
  554.     }else{
  555.     idn=ts.p.keyIndex
  556.     }
  557.     if(f.length>0&&!isNaN(idn)){
  558.     if(ts.p.remapColumns&&ts.p.remapColumns.length){
  559.         idn=$.inArray(idn,ts.p.remapColumns)
  560.         }
  561.         idn=f[idn]
  562.     }
  563.     if((idn+"").indexOf("[")===-1){
  564.     if(f.length){
  565.         getId=function(trow,k){
  566.             return $(idn,trow).text()||k
  567.             }
  568.         }else{
  569.     getId=function(trow,k){
  570.         return $(ts.p.xmlReader.cell,trow).eq(idn).text()||k
  571.         }
  572.     }
  573. }else{
  574.     getId=function(trow,k){
  575.         return trow.getAttribute(idn.replace(/[\[\]]/g,""))||k
  576.         }
  577.     }
  578. $(ts.p.xmlReader.page,xml).each(function(){
  579.     ts.p.page=this.textContent||this.text||1
  580.     });
  581. $(ts.p.xmlReader.total,xml).each(function(){
  582.     ts.p.lastpage=this.textContent||this.text||1
  583.     });
  584. $(ts.p.xmlReader.records,xml).each(function(){
  585.     ts.p.records=this.textContent||this.text||0
  586.     });
  587. $(ts.p.xmlReader.userdata,xml).each(function(){
  588.     ts.p.userData[this.getAttribute("name")]=this.textContent||this.text
  589.     });
  590. var gxml=$(ts.p.xmlReader.root+" "+ts.p.xmlReader.row,xml),gl=gxml.length,j=0;
  591. if(gxml&&gl){
  592.     var rn=parseInt(ts.p.rowNum),br=ts.p.scroll?(parseInt(ts.p.page)-1)*rn+1:1;
  593.     if(adjust){
  594.         rn*=adjust+1
  595.         }
  596.         var afterInsRow=$.isFunction(ts.p.afterInsertRow);
  597.     while(j<gl){
  598.         xmlr=gxml[j];
  599.         rid=getId(xmlr,br+j);
  600.         cn1=j%2==1?cn:"";
  601.         rowData[ari++]='<tr id="'+rid+'" role="row" class ="ui-widget-content jqgrow ui-row-'+ts.p.direction+""+cn1+'">';
  602.         if(ts.p.rownumbers===true){
  603.             rowData[ari++]=addRowNum(0,j,ts.p.page,ts.p.rowNum);
  604.             ni=1
  605.             }
  606.             if(ts.p.multiselect===true){
  607.             rowData[ari++]=addMulti(rid,ni,j);
  608.             gi=1
  609.             }
  610.             if(ts.p.subGrid===true){
  611.             rowData[ari++]=$(ts).jqGrid("addSubGridCell",gi+ni,j+rcnt);
  612.             si=1
  613.             }
  614.             if(ts.p.xmlReader.repeatitems){
  615.             if(!F){
  616.                 F=orderedCols(gi+si+ni)
  617.                 }
  618.                 var cells=$(ts.p.xmlReader.cell,xmlr);
  619.             $.each(F,function(k){
  620.                 var cell=cells[this];
  621.                 if(!cell){
  622.                     return false
  623.                     }
  624.                     v=cell.textContent||cell.text;
  625.                 rd[ts.p.colModel[k+gi+si+ni].name]=v;
  626.                 rowData[ari++]=addCell(rid,v,k+gi+si+ni,j+rcnt,xmlr)
  627.                 })
  628.             }else{
  629.             for(i=0;i<f.length;i++){
  630.                 v=$(f[i],xmlr).text();
  631.                 rd[ts.p.colModel[i+gi+si+ni].name]=v;
  632.                 rowData[ari++]=addCell(rid,v,i+gi+si+ni,j+rcnt,xmlr)
  633.                 }
  634.             }
  635.             rowData[ari++]="</tr>";
  636.     if(ts.p.gridview===false){
  637.         if(ts.p.treeGrid===true){
  638.             fpos=ts.p.treeANode>=-1?ts.p.treeANode:0;
  639.             row=$(rowData.join(""))[0];
  640.             try{
  641.                 $(ts).jqGrid("setTreeNode",rd,row)
  642.                 }catch(e){}
  643.             rl===0?$("tbody:first",t).append(row):$(ts.rows[j+fpos+rcnt]).after(row)
  644.             }else{
  645.             $("tbody:first",t).append(rowData.join(""))
  646.             }
  647.             if(ts.p.subGrid===true){
  648.             try{
  649.                 $(ts).jqGrid("addSubGrid",ts.rows[ts.rows.length-1],gi+ni)
  650.                 }catch(e){}
  651.         }
  652.         if(afterInsRow){
  653.         ts.p.afterInsertRow.call(ts,rid,rd,xmlr)
  654.         }
  655.         rowData=[];
  656.     ari=0
  657.     }
  658.     rd={};
  659.  
  660. ir++;
  661. j++;
  662. if(ir==rn){
  663.     break
  664. }
  665. }
  666. }
  667. if(ts.p.gridview===true){
  668.     $("tbody:first",t).append(rowData.join(""))
  669.     }
  670.     ts.p.totaltime=new Date()-startReq;
  671. if(ir>0){
  672.     ts.grid.cols=ts.rows[0].cells;
  673.     if(ts.p.records===0){
  674.         ts.p.records=gl
  675.         }
  676.     }
  677. rowData=null;
  678. if(!ts.p.treeGrid&&!ts.p.scroll){
  679.     ts.grid.bDiv.scrollTop=0
  680.     }
  681.     ts.p.reccount=ir;
  682. ts.p.treeANode=-1;
  683. if(ts.p.userDataOnFooter){
  684.     $(ts).jqGrid("footerData","set",ts.p.userData,true)
  685.     }
  686.     if(!more){
  687.     updatepager(false,true)
  688.     }
  689. },addJSONData=function(data,t,rcnt,more,adjust){
  690.     var startReq=new Date();
  691.     ts.p.reccount=0;
  692.     if(data){
  693.         if(ts.p.treeANode===-1&&!ts.p.scroll){
  694.             emptyRows(t);
  695.             rcnt=0
  696.             }else{
  697.             rcnt=rcnt>0?rcnt:0
  698.             }
  699.         }else{
  700.     return
  701. }
  702. var ir=0,v,i,j,row,f=[],F,cur,gi=0,si=0,ni=0,len,drows,idn,rd={},fpos,rl=ts.rows.length,idr,rowData=[],ari=0,cn=(ts.p.altRows===true)?" "+ts.p.altclass:"",cn1;
  703. ts.p.page=data[ts.p.jsonReader.page]||1;
  704. ts.p.lastpage=data[ts.p.jsonReader.total]||1;
  705. ts.p.records=data[ts.p.jsonReader.records]||0;
  706. ts.p.userData=data[ts.p.jsonReader.userdata]||{};
  707.  
  708. if(!ts.p.jsonReader.repeatitems){
  709.     F=f=reader("json")
  710.     }
  711.     if(ts.p.keyIndex===false){
  712.     idn=ts.p.jsonReader.id
  713.     }else{
  714.     idn=ts.p.keyIndex
  715.     }
  716.     if(f.length>0&&!isNaN(idn)){
  717.     if(ts.p.remapColumns&&ts.p.remapColumns.length){
  718.         idn=$.inArray(idn,ts.p.remapColumns)
  719.         }
  720.         idn=f[idn]
  721.     }
  722.     drows=data[ts.p.jsonReader.root];
  723. if(drows){
  724.     len=drows.length,i=0;
  725.     var rn=parseInt(ts.p.rowNum),br=ts.p.scroll?(parseInt(ts.p.page)-1)*rn+1:1;
  726.     if(adjust){
  727.         rn*=adjust+1
  728.         }
  729.         var afterInsRow=$.isFunction(ts.p.afterInsertRow);
  730.     while(i<len){
  731.         cur=drows[i];
  732.         idr=cur[idn];
  733.         if(idr===undefined){
  734.             idr=br+i;
  735.             if(f.length===0){
  736.                 if(ts.p.jsonReader.cell){
  737.                     var ccur=cur[ts.p.jsonReader.cell];
  738.                     idr=ccur[idn]||idr;
  739.                     ccur=null
  740.                     }
  741.                 }
  742.         }
  743.     cn1=i%2==1?cn:"";
  744. rowData[ari++]='<tr id="'+idr+'" role="row" class= "ui-widget-content jqgrow ui-row-'+ts.p.direction+""+cn1+'">';
  745. if(ts.p.rownumbers===true){
  746.     rowData[ari++]=addRowNum(0,i,ts.p.page,ts.p.rowNum);
  747.     ni=1
  748.     }
  749.     if(ts.p.multiselect){
  750.     rowData[ari++]=addMulti(idr,ni,i);
  751.     gi=1
  752.     }
  753.     if(ts.p.subGrid){
  754.     rowData[ari++]=$(ts).jqGrid("addSubGridCell",gi+ni,i+rcnt);
  755.     si=1
  756.     }
  757.     if(ts.p.jsonReader.repeatitems){
  758.     if(ts.p.jsonReader.cell){
  759.         cur=cur[ts.p.jsonReader.cell]
  760.         }
  761.         if(!F){
  762.         F=orderedCols(gi+si+ni)
  763.         }
  764.     }
  765. for(j=0;j<F.length;j++){
  766.     v=cur[F[j]];
  767.     if(v===undefined){
  768.         try{
  769.             v=eval("cur."+F[j])
  770.             }catch(e){}
  771.     }
  772.     rowData[ari++]=addCell(idr,v,j+gi+si+ni,i+rcnt,cur);
  773.     rd[ts.p.colModel[j+gi+si+ni].name]=v
  774.     }
  775.     rowData[ari++]="</tr>";
  776. if(ts.p.gridview===false){
  777.     if(ts.p.treeGrid===true){
  778.         fpos=ts.p.treeANode>=-1?ts.p.treeANode:0;
  779.         row=$(rowData.join(""))[0];
  780.         try{
  781.             $(ts).jqGrid("setTreeNode",rd,row)
  782.             }catch(e){}
  783.         rl===0?$("tbody:first",t).append(row):$(ts.rows[i+fpos+rcnt]).after(row)
  784.         }else{
  785.         $("tbody:first",t).append(rowData.join(""))
  786.         }
  787.         if(ts.p.subGrid===true){
  788.         try{
  789.             $(ts).jqGrid("addSubGrid",ts.rows[ts.rows.length-1],gi+ni)
  790.             }catch(e){}
  791.     }
  792.     if(afterInsRow){
  793.     ts.p.afterInsertRow(idr,rd,cur)
  794.     }
  795.     rowData=[];
  796. ari=0
  797. }
  798. rd={};
  799.  
  800. ir++;
  801. i++;
  802. if(ir==rn){
  803.     break
  804. }
  805. }
  806. if(ts.p.gridview===true){
  807.     $("tbody:first",t).append(rowData.join(""))
  808.     }
  809.     ts.p.totaltime=new Date()-startReq;
  810. if(ir>0){
  811.     ts.grid.cols=ts.rows[0].cells;
  812.     if(ts.p.records===0){
  813.         ts.p.records=len
  814.         }
  815.     }
  816. }
  817. if(!ts.p.treeGrid&&!ts.p.scroll){
  818.     ts.grid.bDiv.scrollTop=0
  819.     }
  820.     ts.p.reccount=ir;
  821. ts.p.treeANode=-1;
  822. if(ts.p.userDataOnFooter){
  823.     $(ts).jqGrid("footerData","set",ts.p.userData,true)
  824.     }
  825.     if(!more){
  826.     updatepager(false,true)
  827.     }
  828. },updatepager=function(rn,dnd){
  829.     var cp,last,base,bs,from,to,tot,fmt;
  830.     base=(parseInt(ts.p.page)-1)*parseInt(ts.p.rowNum);
  831.     to=base+ts.p.reccount;
  832.     if(ts.p.scroll){
  833.         var rows=$("tbody:first > tr",ts.grid.bDiv);
  834.         base=to-rows.length;
  835.         var rh=rows.outerHeight();
  836.         if(rh){
  837.             var top=base*rh;
  838.             var height=parseInt(ts.p.records,10)*rh;
  839.             $(">div:first",ts.grid.bDiv).css({
  840.                 height:height
  841.             }).children("div:first").css({
  842.                 height:top,
  843.                 display:top?"":"none"
  844.                 })
  845.             }
  846.         }
  847.     if(ts.p.pager){
  848.     fmt=$.jgrid.formatter.integer||{};
  849.    
  850.     if(ts.p.loadonce){
  851.         cp=last=1;
  852.         ts.p.lastpage=ts.page=1;
  853.         $(".selbox",ts.p.pager).attr("disabled",true)
  854.         }else{
  855.         cp=IntNum(ts.p.page);
  856.         last=IntNum(ts.p.lastpage);
  857.         $(".selbox",ts.p.pager).attr("disabled",false)
  858.         }
  859.         if(ts.p.pginput===true){
  860.         $(".ui-pg-input",ts.p.pager).val(ts.p.page);
  861.         $("#sp_1",ts.p.pager).html($.fmatter?$.fmatter.util.NumberFormat(ts.p.lastpage,fmt):ts.p.lastpage).width()
  862.         }
  863.         if(ts.p.viewrecords){
  864.         if(ts.p.reccount===0){
  865.             $(".ui-paging-info",ts.p.pager).html(ts.p.emptyrecords)
  866.             }else{
  867.             from=base+1;
  868.             tot=ts.p.records;
  869.             if($.fmatter){
  870.                 from=$.fmatter.util.NumberFormat(from,fmt);
  871.                 to=$.fmatter.util.NumberFormat(to,fmt);
  872.                 tot=$.fmatter.util.NumberFormat(tot,fmt)
  873.                 }
  874.                 $(".ui-paging-info",ts.p.pager).html($.jgrid.format(ts.p.recordtext,from,to,tot))
  875.             }
  876.         }
  877.     if(ts.p.pgbuttons===true){
  878.     if(cp<=0){
  879.         cp=last=1
  880.         }
  881.         if(cp==1){
  882.         $("#first, #prev",ts.p.pager).addClass("ui-state-disabled").removeClass("ui-state-hover")
  883.         }else{
  884.         $("#first, #prev",ts.p.pager).removeClass("ui-state-disabled")
  885.         }
  886.         if(cp==last){
  887.         $("#next, #last",ts.p.pager).addClass("ui-state-disabled").removeClass("ui-state-hover")
  888.         }else{
  889.         $("#next, #last",ts.p.pager).removeClass("ui-state-disabled")
  890.         }
  891.     }
  892. }
  893. if(rn===true&&ts.p.rownumbers===true){
  894.     $("td.jqgrid-rownum",ts.rows).each(function(i){
  895.         $(this).html(base+1+i)
  896.         })
  897.     }
  898.     if(dnd&&ts.p.jqgdnd){
  899.     $(ts).jqGrid("gridDnD","updateDnD")
  900.     }
  901.     if($.isFunction(ts.p.gridComplete)){
  902.     ts.p.gridComplete()
  903.     }
  904. },populate=function(npage){
  905.     if(!ts.grid.hDiv.loading){
  906.         var pvis=ts.p.scroll&&npage==false;
  907.         var prm={},dt,dstr,pN=ts.p.prmNames;
  908.         if(pN.search!==null){
  909.             prm[pN.search]=ts.p.search
  910.             }
  911.             if(pN.nd!=null){
  912.             prm[pN.nd]=new Date().getTime()
  913.             }
  914.             if(pN.rows!==null){
  915.             prm[pN.rows]=ts.p.rowNum
  916.             }
  917.             if(pN.page!==null){
  918.             prm[pN.page]=ts.p.page
  919.             }
  920.             if(pN.sort!==null){
  921.             prm[pN.sort]=ts.p.sortname
  922.             }
  923.             if(pN.order!==null){
  924.             prm[pN.order]=ts.p.sortorder
  925.             }
  926.             var lc=ts.p.loadComplete;
  927.         var lcf=$.isFunction(lc);
  928.         if(!lcf){
  929.             lc=null
  930.             }
  931.             var adjust=0;
  932.         npage=npage||1;
  933.         if(npage>1){
  934.             if(pN.npage!=null){
  935.                 prm[pN.npage]=npage;
  936.                 adjust=npage-1;
  937.                 npage=1
  938.                 }else{
  939.                 lc=function(req){
  940.                     if(lcf){
  941.                         ts.p.loadComplete.call(ts,req)
  942.                         }
  943.                         ts.grid.hDiv.loading=false;
  944.                     ts.p.page++;
  945.                     populate(npage-1)
  946.                     }
  947.                 }
  948.         }else{
  949.     if(pN.npage!=null){
  950.         delete ts.p.postData[pN.npage]
  951.     }
  952. }
  953. $.extend(ts.p.postData,prm);
  954. var rcnt=!ts.p.scroll?0:ts.rows.length-1;
  955. if($.isFunction(ts.p.datatype)){
  956.     ts.p.datatype(ts.p.postData,"load_"+ts.p.id);
  957.     return
  958. }else{
  959.     if($.isFunction(ts.p.beforeRequest)){
  960.         ts.p.beforeRequest.call(ts)
  961.         }
  962.     }
  963. dt=ts.p.datatype.toLowerCase();
  964. switch(dt){
  965.     case"json":case"jsonp":case"xml":case"script":
  966.         $.ajax($.extend({
  967.         url:ts.p.url,
  968.         type:ts.p.mtype,
  969.         dataType:dt,
  970.         data:$.isFunction(ts.p.serializeGridData)?ts.p.serializeGridData(ts.p.postData):ts.p.postData,
  971.         complete:function(req,st){
  972.             if(st=="success"||(req.statusText=="OK"&&req.status=="200")){
  973.                 if(dt==="xml"){
  974.                     addXmlData(req.responseXML,ts.grid.bDiv,rcnt,npage>1,adjust)
  975.                     }else{
  976.                     addJSONData($.jgrid.parse(req.responseText),ts.grid.bDiv,rcnt,npage>1,adjust)
  977.                     }
  978.                     if(lc){
  979.                     lc.call(ts,req)
  980.                     }
  981.                     if(pvis){
  982.                     ts.grid.populateVisible()
  983.                     }
  984.                 }
  985.             req=null;
  986.         endReq()
  987.         },
  988.     error:function(xhr,st,err){
  989.         if($.isFunction(ts.p.loadError)){
  990.             ts.p.loadError.call(ts,xhr,st,err)
  991.             }
  992.             endReq();
  993.         xhr=null
  994.         },
  995.     beforeSend:function(xhr){
  996.         beginReq();
  997.         if($.isFunction(ts.p.loadBeforeSend)){
  998.             ts.p.loadBeforeSend.call(this,xhr)
  999.             }
  1000.         }
  1001.     },$.jgrid.ajaxOptions,ts.p.ajaxGridOptions));
  1002. if(ts.p.loadonce||ts.p.treeGrid){
  1003.     ts.p.datatype="local"
  1004.     }
  1005.     break;
  1006. case"xmlstring":
  1007.     beginReq();
  1008.     addXmlData(dstr=$.jgrid.stringToDoc(ts.p.datastr),ts.grid.bDiv);
  1009.     ts.p.datatype="local";
  1010.     if(lcf){
  1011.     ts.p.loadComplete.call(ts,dstr)
  1012.     }
  1013.     ts.p.datastr=null;
  1014. endReq();
  1015.     break;
  1016. case"jsonstring":
  1017.     beginReq();
  1018.     if(typeof ts.p.datastr=="string"){
  1019.     dstr=$.jgrid.parse(ts.p.datastr)
  1020.     }
  1021.     else{
  1022.     dstr=ts.p.datastr
  1023.     }
  1024.     addJSONData(dstr,ts.grid.bDiv);
  1025.     ts.p.datatype="local";
  1026.     if(lcf){
  1027.     ts.p.loadComplete.call(ts,dstr)
  1028.     }
  1029.     ts.p.datastr=null;
  1030. endReq();
  1031.     break;
  1032. case"local":case"clientside":
  1033.     beginReq();
  1034.     ts.p.datatype="local";
  1035.     sortArrayData();
  1036.     endReq();
  1037.     break
  1038.     }
  1039. }
  1040. },beginReq=function(){
  1041.     ts.grid.hDiv.loading=true;
  1042.     if(ts.p.hiddengrid){
  1043.         return
  1044.     }
  1045.     switch(ts.p.loadui){
  1046.         case"disable":
  1047.             break;
  1048.         case"enable":
  1049.             $("#load_"+ts.p.id).show();
  1050.             break;
  1051.         case"block":
  1052.             $("#lui_"+ts.p.id).show();
  1053.             $("#load_"+ts.p.id).show();
  1054.             break
  1055.             }
  1056.         },endReq=function(){
  1057.     ts.grid.hDiv.loading=false;
  1058.     switch(ts.p.loadui){
  1059.         case"disable":
  1060.             break;
  1061.         case"enable":
  1062.             $("#load_"+ts.p.id).hide();
  1063.             break;
  1064.         case"block":
  1065.             $("#lui_"+ts.p.id).hide();
  1066.             $("#load_"+ts.p.id).hide();
  1067.             break
  1068.             }
  1069.         },sortArrayData=function(){
  1070.     var stripNum=/[\$,%]/g;
  1071.     var rows=[],col=0,st,sv,findSortKey,newDir=(ts.p.sortorder=="asc")?1:-1;
  1072.     $.each(ts.p.colModel,function(i,v){
  1073.         if(this.index==ts.p.sortname||this.name==ts.p.sortname){
  1074.             col=ts.p.lastsort=i;
  1075.             st=this.sorttype;
  1076.             return false
  1077.             }
  1078.         });
  1079. if(st=="float"||st=="number"||st=="currency"){
  1080.     findSortKey=function($cell){
  1081.         var key=parseFloat($cell.replace(stripNum,""));
  1082.         return isNaN(key)?0:key
  1083.         }
  1084.     }else{
  1085.     if(st=="int"||st=="integer"){
  1086.         findSortKey=function($cell){
  1087.             return IntNum($cell.replace(stripNum,""))
  1088.             }
  1089.         }else{
  1090.     if(st=="date"){
  1091.         findSortKey=function($cell){
  1092.             var fd=ts.p.colModel[col].datefmt||"Y-m-d";
  1093.             return parseDate(fd,$cell).getTime()
  1094.             }
  1095.         }else{
  1096.     findSortKey=function($cell){
  1097.         return $.trim($cell.toUpperCase())
  1098.         }
  1099.     }
  1100. }
  1101. }
  1102. $.each(ts.rows,function(index,row){
  1103.     try{
  1104.         sv=$.unformat($(row).children("td").eq(col),{
  1105.             colModel:ts.p.colModel[col]
  1106.             },col,true)
  1107.         }catch(_){
  1108.         sv=$(row).children("td").eq(col).text()
  1109.         }
  1110.         row.sortKey=findSortKey(sv);
  1111.     rows[index]=this
  1112.     });
  1113. if(ts.p.treeGrid){
  1114.     $(ts).jqGrid("SortTree",newDir)
  1115.     }
  1116.     else{
  1117.     rows.sort(function(a,b){
  1118.         if(a.sortKey<b.sortKey){
  1119.             return -newDir
  1120.             }
  1121.             if(a.sortKey>b.sortKey){
  1122.             return newDir
  1123.             }
  1124.             return 0
  1125.         });
  1126.     if(rows[0]){
  1127.         $("td",rows[0]).each(function(k){
  1128.             $(this).css("width",grid.headers[k].width+"px")
  1129.             });
  1130.         ts.grid.cols=rows[0].cells
  1131.         }
  1132.         var cn="";
  1133.     if(ts.p.altRows){
  1134.         cn=ts.p.altclass
  1135.         }
  1136.         $.each(rows,function(i,row){
  1137.         if(cn){
  1138.             if(i%2==1){
  1139.                 $(row).addClass(cn)
  1140.                 }else{
  1141.                 $(row).removeClass(cn)
  1142.                 }
  1143.             }
  1144.         $("tbody",ts.grid.bDiv).append(row);
  1145.         row.sortKey=null
  1146.         })
  1147. }
  1148. ts.grid.bDiv.scrollTop=0
  1149. },parseDate=function(format,date){
  1150.     var tsp={
  1151.         m:1,
  1152.         d:1,
  1153.         y:1970,
  1154.         h:0,
  1155.         i:0,
  1156.         s:0
  1157.     },k,hl,dM;
  1158.     date=date.split(/[\\\/:_;.\t\T\s-]/);
  1159.     format=format.split(/[\\\/:_;.\t\T\s-]/);
  1160.     var dfmt=$.jgrid.formatter.date.monthNames;
  1161.     for(k=0,hl=format.length;k<hl;k++){
  1162.         if(format[k]=="M"){
  1163.             dM=$.inArray(date[k],dfmt);
  1164.             if(dM!==-1&&dM<12){
  1165.                 date[k]=dM+1
  1166.                 }
  1167.             }
  1168.         if(format[k]=="F"){
  1169.         dM=$.inArray(date[k],dfmt);
  1170.         if(dM!==-1&&dM>11){
  1171.             date[k]=dM+1-12
  1172.             }
  1173.         }
  1174.     tsp[format[k].toLowerCase()]=parseInt(date[k],10)
  1175.     }
  1176.     tsp.m=parseInt(tsp.m,10)-1;
  1177. var ty=tsp.y;
  1178. if(ty>=70&&ty<=99){
  1179.     tsp.y=1900+tsp.y
  1180.     }else{
  1181.     if(ty>=0&&ty<=69){
  1182.         tsp.y=2000+tsp.y
  1183.         }
  1184.     }
  1185. return new Date(tsp.y,tsp.m,tsp.d,tsp.h,tsp.i,tsp.s,0)
  1186. },setPager=function(){
  1187.     var sep="<td class='ui-pg-button ui-state-disabled' style='width:4px;'><span class='ui-separator'></span></td>",pgid=$(ts.p.pager).attr("id")||"pager",pginp="",pgl="<table cellspacing='0' cellpadding='0' border='0' style='table-layout:auto;' class='ui-pg-table'><tbody><tr>",str="",pgcnt,lft,cent,rgt,twd,tdw,i,clearVals=function(onpaging){
  1188.         if($.isFunction(ts.p.onPaging)){
  1189.             ts.p.onPaging(onpaging)
  1190.             }
  1191.             ts.p.selrow=null;
  1192.         if(ts.p.multiselect){
  1193.             ts.p.selarrrow=[];
  1194.             $("#cb_"+$.jgrid.jqID(ts.p.id),ts.grid.hDiv).attr("checked",false)
  1195.             }
  1196.             ts.p.savedRow=[]
  1197.         };
  1198.        
  1199.     pgcnt="pg_"+pgid;
  1200.     lft=pgid+"_left";
  1201.     cent=pgid+"_center";
  1202.     rgt=pgid+"_right";
  1203.     $(ts.p.pager).addClass("ui-jqgrid-pager corner-bottom").append("<div id='"+pgcnt+"' class='ui-pager-control' role='group'><table cellspacing='0' cellpadding='0' border='0' class='ui-pg-table' style='width:100%;table-layout:fixed;' role='row'><tbody><tr><td id='"+lft+"' align='left'></td><td id='"+cent+"' align='center' style='white-space:pre;'></td><td id='"+rgt+"' align='right'></td></tr></tbody></table></div>").attr("dir","ltr");
  1204.     if(ts.p.rowList.length>0){
  1205.         str="<td dir='"+dir+"'>";
  1206.         str+="<select class='ui-pg-selbox' role='listbox'>";
  1207.         for(i=0;i<ts.p.rowList.length;i++){
  1208.             str+="<option role='option' value="+ts.p.rowList[i]+((ts.p.rowNum==ts.p.rowList[i])?" selected":"")+">"+ts.p.rowList[i]
  1209.             }
  1210.             str+="</select></td>"
  1211.         }
  1212.         if(dir=="rtl"){
  1213.         pgl+=str
  1214.         }
  1215.         if(ts.p.pginput===true){
  1216.         pginp="<td dir='"+dir+"'>"+$.jgrid.format(ts.p.pgtext||"","<input class='ui-pg-input' type='text' size='2' maxlength='7' value='0' role='textbox'/>","<span id='sp_1'></span>")+"</td>"
  1217.         }
  1218.         if(ts.p.pgbuttons===true){
  1219.         var po=["first","prev","next","last"];
  1220.         if(dir=="rtl"){
  1221.             po.reverse()
  1222.             }
  1223.             pgl+="<td id='"+po[0]+"' class='ui-pg-button ui-corner-all'><span class='ui-icon ui-icon-seek-first'></span></td>";
  1224.         pgl+="<td id='"+po[1]+"' class='ui-pg-button ui-corner-all'><span class='ui-icon ui-icon-seek-prev'></span></td>";
  1225.         pgl+=pginp!=""?sep+pginp+sep:"";
  1226.         pgl+="<td id='"+po[2]+"' class='ui-pg-button ui-corner-all'><span class='ui-icon ui-icon-seek-next'></span></td>";
  1227.         pgl+="<td id='"+po[3]+"' class='ui-pg-button ui-corner-all'><span class='ui-icon ui-icon-seek-end'></span></td>"
  1228.         }else{
  1229.         if(pginp!=""){
  1230.             pgl+=pginp
  1231.             }
  1232.         }
  1233.     if(dir=="ltr"){
  1234.     pgl+=str
  1235.     }
  1236.     pgl+="</tr></tbody></table>";
  1237. if(ts.p.viewrecords===true){
  1238.     $("td#"+pgid+"_"+ts.p.recordpos,"#"+pgcnt).append("<div dir='"+dir+"' style='text-align:"+ts.p.recordpos+"' class='ui-paging-info'></div>")
  1239.     }
  1240.     $("td#"+pgid+"_"+ts.p.pagerpos,"#"+pgcnt).append(pgl);
  1241. tdw=$(".ui-jqgrid").css("font-size")||"11px";
  1242. $("body").append("<div id='testpg' class='ui-jqgrid ui-widget ui-widget-content' style='font-size:"+tdw+";visibility:hidden;' ></div>");
  1243. twd=$(pgl).clone().appendTo("#testpg").width();
  1244. $("#testpg").remove();
  1245. if(twd>0){
  1246.     if(pginp!=""){
  1247.         twd+=50
  1248.         }
  1249.         $("td#"+pgid+"_"+ts.p.pagerpos,"#"+pgcnt).width(twd)
  1250.     }
  1251.     ts.p._nvtd=[];
  1252. ts.p._nvtd[0]=twd?Math.floor((ts.p.width-twd)/2):Math.floor(ts.p.width/3);
  1253. ts.p._nvtd[1]=0;
  1254. pgl=null;
  1255. $(".ui-pg-selbox","#"+pgcnt).bind("change",function(){
  1256.     ts.p.page=Math.round(ts.p.rowNum*(ts.p.page-1)/this.value-0.5)+1;
  1257.     ts.p.rowNum=this.value;
  1258.     clearVals("records");
  1259.     populate();
  1260.     return false
  1261.     });
  1262. if(ts.p.pgbuttons===true){
  1263.     $(".ui-pg-button","#"+pgcnt).hover(function(e){
  1264.         if($(this).hasClass("ui-state-disabled")){
  1265.             this.style.cursor="default"
  1266.             }else{
  1267.             $(this).addClass("ui-state-hover");
  1268.             this.style.cursor="pointer"
  1269.             }
  1270.         },function(e){
  1271.         if($(this).hasClass("ui-state-disabled")){}else{
  1272.             $(this).removeClass("ui-state-hover");
  1273.             this.style.cursor="default"
  1274.             }
  1275.         });
  1276. $("#first, #prev, #next, #last",ts.p.pager).click(function(e){
  1277.     var cp=IntNum(ts.p.page),last=IntNum(ts.p.lastpage),selclick=false,fp=true,pp=true,np=true,lp=true;
  1278.     if(last===0||last===1){
  1279.         fp=false;
  1280.         pp=false;
  1281.         np=false;
  1282.         lp=false
  1283.         }else{
  1284.         if(last>1&&cp>=1){
  1285.             if(cp===1){
  1286.                 fp=false;
  1287.                 pp=false
  1288.                 }else{
  1289.                 if(cp>1&&cp<last){}else{
  1290.                     if(cp===last){
  1291.                         np=false;
  1292.                         lp=false
  1293.                         }
  1294.                     }
  1295.             }
  1296.     }else{
  1297.     if(last>1&&cp===0){
  1298.         np=false;
  1299.         lp=false;
  1300.         cp=last-1
  1301.         }
  1302.     }
  1303. }
  1304. if(this.id==="first"&&fp){
  1305.     ts.p.page=1;
  1306.     selclick=true
  1307.     }
  1308.     if(this.id==="prev"&&pp){
  1309.     ts.p.page=(cp-1);
  1310.     selclick=true
  1311.     }
  1312.     if(this.id==="next"&&np){
  1313.     ts.p.page=(cp+1);
  1314.     selclick=true
  1315.     }
  1316.     if(this.id==="last"&&lp){
  1317.     ts.p.page=last;
  1318.     selclick=true
  1319.     }
  1320.     if(selclick){
  1321.     clearVals(this.id);
  1322.     populate()
  1323.     }
  1324.     return false
  1325. })
  1326. }
  1327. if(ts.p.pginput===true){
  1328.     $("input.ui-pg-input","#"+pgcnt).keypress(function(e){
  1329.         var key=e.charCode?e.charCode:e.keyCode?e.keyCode:0;
  1330.         if(key==13){
  1331.             ts.p.page=($(this).val()>0)?$(this).val():ts.p.page;
  1332.             clearVals("user");
  1333.             populate();
  1334.             return false
  1335.             }
  1336.             return this
  1337.         })
  1338.     }
  1339. },sortData=function(index,idxcol,reload,sor){
  1340.     if(!ts.p.colModel[idxcol].sortable){
  1341.         return
  1342.     }
  1343.     var imgs,so;
  1344.     if(ts.p.savedRow.length>0){
  1345.         return
  1346.     }
  1347.     if(!reload){
  1348.         if(ts.p.lastsort==idxcol){
  1349.             if(ts.p.sortorder=="asc"){
  1350.                 ts.p.sortorder="desc"
  1351.                 }else{
  1352.                 if(ts.p.sortorder=="desc"){
  1353.                     ts.p.sortorder="asc"
  1354.                     }
  1355.                 }
  1356.         }else{
  1357.     ts.p.sortorder="asc"
  1358.     }
  1359.     ts.p.page=1
  1360. }
  1361. if(sor){
  1362.     if(ts.p.lastsort==idxcol&&ts.p.sortorder==sor){
  1363.         return
  1364.     }else{
  1365.         ts.p.sortorder=sor
  1366.         }
  1367.     }
  1368. var thd=$("thead:first",ts.grid.hDiv).get(0);
  1369. $("tr th:eq("+ts.p.lastsort+") span.ui-grid-ico-sort",thd).addClass("ui-state-disabled");
  1370. $("tr th:eq("+ts.p.lastsort+")",thd).attr("aria-selected","false");
  1371. $("tr th:eq("+idxcol+") span.ui-icon-"+ts.p.sortorder,thd).removeClass("ui-state-disabled");
  1372. $("tr th:eq("+idxcol+")",thd).attr("aria-selected","true");
  1373. if(!ts.p.viewsortcols[0]){
  1374.     if(ts.p.lastsort!=idxcol){
  1375.         $("tr th:eq("+ts.p.lastsort+") span.s-ico",thd).hide();
  1376.         $("tr th:eq("+idxcol+") span.s-ico",thd).show()
  1377.         }
  1378.     }
  1379. ts.p.lastsort=idxcol;
  1380. index=index.substring(5);
  1381. ts.p.sortname=ts.p.colModel[idxcol].index||index;
  1382. so=ts.p.sortorder;
  1383. if($.isFunction(ts.p.onSortCol)){
  1384.     ts.p.onSortCol.call(ts,index,idxcol,so)
  1385.     }
  1386.     if(ts.p.datatype=="local"){
  1387.     if(ts.p.deselectAfterSort){
  1388.         $(ts).jqGrid("resetSelection")
  1389.         }
  1390.     }else{
  1391.     ts.p.selrow=null;
  1392.     if(ts.p.multiselect){
  1393.         $("#cb_"+$.jgrid.jqID(ts.p.id),ts.grid.hDiv).attr("checked",false)
  1394.         }
  1395.         ts.p.selarrrow=[];
  1396.     ts.p.savedRow=[];
  1397.     if(ts.p.scroll){
  1398.         emptyRows(ts.grid.bDiv,true)
  1399.         }
  1400.     }
  1401. if(ts.p.subGrid&&ts.p.datatype=="local"){
  1402.     $("td.sgexpanded","#"+ts.p.id).each(function(){
  1403.         $(this).trigger("click")
  1404.         })
  1405.     }
  1406.     populate();
  1407. if(ts.p.sortname!=index&&idxcol){
  1408.     ts.p.lastsort=idxcol
  1409.     }
  1410. },setColWidth=function(){
  1411.     var initwidth=0,brd=ts.p.cellLayout,vc=0,lvc,scw=ts.p.scrollOffset,cw,hs=false,aw,tw=0,gw=0,cl=0,cr;
  1412.     if(isSafari){
  1413.         brd=0
  1414.         }
  1415.         $.each(ts.p.colModel,function(i){
  1416.         if(typeof this.hidden==="undefined"){
  1417.             this.hidden=false
  1418.             }
  1419.             if(this.hidden===false){
  1420.             initwidth+=IntNum(this.width);
  1421.             if(this.fixed){
  1422.                 tw+=this.width;
  1423.                 gw+=this.width+brd
  1424.                 }else{
  1425.                 vc++
  1426.             }
  1427.             cl++
  1428.         }
  1429.     });
  1430. if(isNaN(ts.p.width)){
  1431.     ts.p.width=grid.width=initwidth
  1432.     }else{
  1433.     grid.width=ts.p.width
  1434.     }
  1435.     ts.p.tblwidth=initwidth;
  1436. if(ts.p.shrinkToFit===false&&ts.p.forceFit===true){
  1437.     ts.p.forceFit=false
  1438.     }
  1439.     if(ts.p.shrinkToFit===true&&vc>0){
  1440.     aw=grid.width-brd*vc-gw;
  1441.     if(isNaN(ts.p.height)){}else{
  1442.         aw-=scw;
  1443.         hs=true
  1444.         }
  1445.         initwidth=0;
  1446.     $.each(ts.p.colModel,function(i){
  1447.         if(this.hidden===false&&!this.fixed){
  1448.             cw=Math.floor(aw/(ts.p.tblwidth-tw)*this.width);
  1449.             this.width=cw;
  1450.             initwidth+=cw;
  1451.             lvc=i
  1452.             }
  1453.         });
  1454. cr=0;
  1455. if(hs){
  1456.     if(grid.width-gw-(initwidth+brd*vc)!==scw){
  1457.         cr=grid.width-gw-(initwidth+brd*vc)-scw
  1458.         }
  1459.     }else{
  1460.     if(!hs&&Math.abs(grid.width-gw-(initwidth+brd*vc))!==1){
  1461.         cr=grid.width-gw-(initwidth+brd*vc)
  1462.         }
  1463.     }
  1464. ts.p.colModel[lvc].width+=cr;
  1465. ts.p.tblwidth=initwidth+cr+tw+cl*brd
  1466. }
  1467. },nextVisible=function(iCol){
  1468.     var ret=iCol,j=iCol,i;
  1469.     for(i=iCol+1;i<ts.p.colModel.length;i++){
  1470.         if(ts.p.colModel[i].hidden!==true){
  1471.             j=i;
  1472.             break
  1473.         }
  1474.     }
  1475.     return j-ret
  1476. },getOffset=function(iCol){
  1477.     var i,ret={},brd1=isSafari?0:ts.p.cellLayout;
  1478.     ret[0]=ret[1]=ret[2]=0;
  1479.     for(i=0;i<=iCol;i++){
  1480.         if(ts.p.colModel[i].hidden===false){
  1481.             ret[0]+=ts.p.colModel[i].width+brd1
  1482.             }
  1483.         }
  1484.     if(ts.p.direction=="rtl"){
  1485.     ret[0]=ts.p.width-ret[0]
  1486.     }
  1487.     ret[0]=ret[0]-ts.grid.bDiv.scrollLeft;
  1488. if($(ts.grid.cDiv).is(":visible")){
  1489.     ret[1]+=$(ts.grid.cDiv).height()+parseInt($(ts.grid.cDiv).css("padding-top"))+parseInt($(ts.grid.cDiv).css("padding-bottom"))
  1490.     }
  1491.     if(ts.p.toolbar[0]==true&&(ts.p.toolbar[1]=="top"||ts.p.toolbar[1]=="both")){
  1492.     ret[1]+=$(ts.grid.uDiv).height()+parseInt($(ts.grid.uDiv).css("border-top-width"))+parseInt($(ts.grid.uDiv).css("border-bottom-width"))
  1493.     }
  1494.     ret[2]+=$(ts.grid.bDiv).height()+$(ts.grid.hDiv).height();
  1495. return ret
  1496. };
  1497.  
  1498. this.p.id=this.id;
  1499. if($.inArray(ts.p.multikey,sortkeys)==-1){
  1500.     ts.p.multikey=false
  1501.     }
  1502.     ts.p.keyIndex=false;
  1503. for(i=0;i<ts.p.colModel.length;i++){
  1504.     if(ts.p.colModel[i].key===true){
  1505.         ts.p.keyIndex=i;
  1506.         break
  1507.     }
  1508. }
  1509. ts.p.sortorder=ts.p.sortorder.toLowerCase();
  1510. if(this.p.treeGrid===true){
  1511.     try{
  1512.         $(this).jqGrid("setTreeGrid")
  1513.         }catch(_){}
  1514. }
  1515. if(this.p.subGrid){
  1516.     try{
  1517.         $(ts).jqGrid("setSubGrid")
  1518.         }catch(_){}
  1519. }
  1520. if(this.p.multiselect){
  1521.     this.p.colNames.unshift("<input id='cb_"+this.p.id+"' class='cbox' type='checkbox'/>");
  1522.     this.p.colModel.unshift({
  1523.         name:"cb",
  1524.         width:isSafari?ts.p.multiselectWidth+ts.p.cellLayout:ts.p.multiselectWidth,
  1525.         sortable:false,
  1526.         resizable:false,
  1527.         hidedlg:true,
  1528.         search:false,
  1529.         align:"center",
  1530.         fixed:true
  1531.     })
  1532.     }
  1533.     if(this.p.rownumbers){
  1534.     this.p.colNames.unshift("");
  1535.     this.p.colModel.unshift({
  1536.         name:"rn",
  1537.         width:ts.p.rownumWidth,
  1538.         sortable:false,
  1539.         resizable:false,
  1540.         hidedlg:true,
  1541.         search:false,
  1542.         align:"center",
  1543.         fixed:true
  1544.     })
  1545.     }
  1546.     ts.p.xmlReader=$.extend({
  1547.     root:"rows",
  1548.     row:"row",
  1549.     page:"rows>page",
  1550.     total:"rows>total",
  1551.     records:"rows>records",
  1552.     repeatitems:true,
  1553.     cell:"cell",
  1554.     id:"[id]",
  1555.     userdata:"userdata",
  1556.     subgrid:{
  1557.         root:"rows",
  1558.         row:"row",
  1559.         repeatitems:true,
  1560.         cell:"cell"
  1561.     }
  1562. },ts.p.xmlReader);
  1563. ts.p.jsonReader=$.extend({
  1564.     root:"rows",
  1565.     page:"page",
  1566.     total:"total",
  1567.     records:"records",
  1568.     repeatitems:true,
  1569.     cell:"cell",
  1570.     id:"id",
  1571.     userdata:"userdata",
  1572.     subgrid:{
  1573.         root:"rows",
  1574.         repeatitems:true,
  1575.         cell:"cell"
  1576.     }
  1577. },ts.p.jsonReader);
  1578. if(ts.p.scroll){
  1579.     ts.p.pgbuttons=false;
  1580.     ts.p.pginput=false;
  1581.     ts.p.rowList=[]
  1582.     }
  1583.     var thead="<thead><tr class='ui-jqgrid-labels' role='rowheader'>",tdc,idn,w,res,sort,td,ptr,tbody,imgs,iac="",idc="";
  1584. if(ts.p.shrinkToFit===true&&ts.p.forceFit===true){
  1585.     for(i=ts.p.colModel.length-1;i>=0;i--){
  1586.         if(!ts.p.colModel[i].hidden){
  1587.             ts.p.colModel[i].resizable=false;
  1588.             break
  1589.         }
  1590.     }
  1591.     }
  1592. if(ts.p.viewsortcols[1]=="horizontal"){
  1593.     iac=" ui-i-asc";
  1594.     idc=" ui-i-desc"
  1595.     }
  1596.     tdc=isMSIE?"class='ui-th-div-ie'":"";
  1597. imgs="<span class='s-ico' style='display:none'><span sort='asc' class='ui-grid-ico-sort ui-icon-asc"+iac+" ui-state-disabled ui-icon ui-icon-triangle-1-n ui-sort-"+dir+"'></span>";
  1598. imgs+="<span sort='desc' class='ui-grid-ico-sort ui-icon-desc"+idc+" ui-state-disabled ui-icon ui-icon-triangle-1-s ui-sort-"+dir+"'></span></span>";
  1599. for(i=0;i<this.p.colNames.length;i++){
  1600.     thead+="<th role='columnheader' class='ui-state-default ui-th-column ui-th-"+dir+"'>";
  1601.     idn=ts.p.colModel[i].index||ts.p.colModel[i].name;
  1602.     thead+="<div id='jqgh_"+ts.p.colModel[i].name+"' "+tdc+">"+ts.p.colNames[i];
  1603.     if(idn==ts.p.sortname){
  1604.         ts.p.lastsort=i
  1605.         }
  1606.         thead+=imgs+"</div></th>"
  1607.     }
  1608.     thead+="</tr></thead>";
  1609. $(this).append(thead);
  1610. $("thead tr:first th",this).hover(function(){
  1611.     $(this).addClass("ui-state-hover")
  1612.     },function(){
  1613.     $(this).removeClass("ui-state-hover")
  1614.     });
  1615. if(this.p.multiselect){
  1616.     var onSA=true,emp=[],chk;
  1617.     if(typeof ts.p.onSelectAll!=="function"){
  1618.         onSA=false
  1619.         }
  1620.         $("#cb_"+$.jgrid.jqID(ts.p.id),this).bind("click",function(){
  1621.         if(this.checked){
  1622.             $("[id^=jqg_]",ts.rows).attr("checked",true);
  1623.             $(ts.rows).each(function(i){
  1624.                 if(!$(this).hasClass("subgrid")){
  1625.                     $(this).addClass("ui-state-highlight").attr("aria-selected","true");
  1626.                     ts.p.selarrrow[i]=ts.p.selrow=this.id
  1627.                     }
  1628.                 });
  1629.         chk=true;
  1630.         emp=[]
  1631.         }else{
  1632.         $("[id^=jqg_]",ts.rows).attr("checked",false);
  1633.         $(ts.rows).each(function(i){
  1634.             if(!$(this).hasClass("subgrid")){
  1635.                 $(this).removeClass("ui-state-highlight").attr("aria-selected","false");
  1636.                 emp[i]=this.id
  1637.                 }
  1638.             });
  1639.     ts.p.selarrrow=[];
  1640.     ts.p.selrow=null;
  1641.     chk=false
  1642.     }
  1643.     if(onSA){
  1644.         ts.p.onSelectAll(chk?ts.p.selarrrow:emp,chk)
  1645.         }
  1646.     })
  1647. }
  1648. $.each(ts.p.colModel,function(i){
  1649.     if(!this.width){
  1650.         this.width=150
  1651.         }
  1652.         this.width=parseInt(this.width)
  1653.     });
  1654. if(ts.p.autowidth===true){
  1655.     var pw=$(eg).innerWidth();
  1656.     ts.p.width=pw>0?pw:"nw"
  1657.     }
  1658.     setColWidth();
  1659. $(eg).css("width",grid.width+"px").append("<div class='ui-jqgrid-resize-mark' id='rs_m"+ts.p.id+"'>&nbsp;</div>");
  1660. $(gv).css("width",grid.width+"px");
  1661. thead=$("thead:first",ts).get(0);
  1662. var tfoot="<table role='grid' style='width:"+ts.p.tblwidth+"px' class='ui-jqgrid-ftable' cellspacing='0' cellpadding='0' border='0'><tbody><tr role='row' class='ui-widget-content footrow footrow-"+dir+"'>";
  1663. var thr=$("tr:first",thead);
  1664. ts.p.disableClick=false;
  1665. $("th",thr).each(function(j){
  1666.     var ht=$("div",this)[0];
  1667.     w=ts.p.colModel[j].width;
  1668.     if(typeof ts.p.colModel[j].resizable==="undefined"){
  1669.         ts.p.colModel[j].resizable=true
  1670.         }
  1671.         if(ts.p.colModel[j].resizable){
  1672.         res=document.createElement("span");
  1673.         $(res).html("&#160;").addClass("ui-jqgrid-resize ui-jqgrid-resize-"+dir);
  1674.         !$.browser.opera?$(res).css("cursor","col-resize"):"";
  1675.         $(this).addClass(ts.p.resizeclass)
  1676.         }else{
  1677.         res=""
  1678.         }
  1679.         $(this).css("width",w+"px").prepend(res);
  1680.     if(ts.p.colModel[j].hidden){
  1681.         $(this).css("display","none")
  1682.         }
  1683.         grid.headers[j]={
  1684.         width:w,
  1685.         el:this
  1686.     };
  1687.    
  1688.     sort=ts.p.colModel[j].sortable;
  1689.     if(typeof sort!=="boolean"){
  1690.         ts.p.colModel[j].sortable=true;
  1691.         sort=true
  1692.         }
  1693.         var nm=ts.p.colModel[j].name;
  1694.     if(!(nm=="cb"||nm=="subgrid"||nm=="rn")){
  1695.         if(ts.p.viewsortcols[2]){
  1696.             $("div",this).addClass("ui-jqgrid-sortable")
  1697.             }
  1698.         }
  1699.     if(sort){
  1700.     if(ts.p.viewsortcols[0]){
  1701.         $("div span.s-ico",this).show();
  1702.         if(j==ts.p.lastsort){
  1703.             $("div span.ui-icon-"+ts.p.sortorder,this).removeClass("ui-state-disabled")
  1704.             }
  1705.         }else{
  1706.     if(j==ts.p.lastsort){
  1707.         $("div span.s-ico",this).show();
  1708.         $("div span.ui-icon-"+ts.p.sortorder,this).removeClass("ui-state-disabled")
  1709.         }
  1710.     }
  1711. }
  1712. tfoot+="<td role='gridcell' "+formatCol(j,0)+">&nbsp;</td>"
  1713. }).mousedown(function(e){
  1714.     if($(e.target).closest("th>span.ui-jqgrid-resize").length!=1){
  1715.         return
  1716.     }
  1717.     var ci=$.jgrid.getCellIndex(this);
  1718.     if(ts.p.forceFit===true){
  1719.         ts.p.nv=nextVisible(ci)
  1720.         }
  1721.         grid.dragStart(ci,e,getOffset(ci));
  1722.     return false
  1723.     }).click(function(e){
  1724.     if(ts.p.disableClick){
  1725.         ts.p.disableClick=false;
  1726.         return false
  1727.         }
  1728.         var s="th>div.ui-jqgrid-sortable",r,d;
  1729.     if(!ts.p.viewsortcols[2]){
  1730.         s="th>div>span>span.ui-grid-ico-sort"
  1731.         }
  1732.         var t=$(e.target).closest(s);
  1733.     if(t.length!=1){
  1734.         return
  1735.     }
  1736.     var ci=$.jgrid.getCellIndex(this);
  1737.     if(!ts.p.viewsortcols[2]){
  1738.         r=true,d=t.attr("sort")
  1739.         }
  1740.         sortData($("div",this)[0].id,ci,r,d);
  1741.     return false
  1742.     });
  1743. if(ts.p.sortable&&$.fn.sortable){
  1744.     try{
  1745.         $(ts).jqGrid("sortableColumns",thr)
  1746.         }catch(e){}
  1747. }
  1748. tfoot+="</tr></tbody></table>";
  1749. tbody=document.createElement("tbody");
  1750. this.appendChild(tbody);
  1751. $(this).addClass("ui-jqgrid-btable");
  1752. var hTable=$("<table class='ui-jqgrid-htable' style='width:"+ts.p.tblwidth+"px' role='grid' aria-labelledby='gbox_"+this.id+"' cellspacing='0' cellpadding='0' border='0'></table>").append(thead),hg=(ts.p.caption&&ts.p.hiddengrid===true)?true:false,hb=$("<div class='ui-jqgrid-hbox"+(dir=="rtl"?"-rtl":"")+"'></div>");
  1753. grid.hDiv=document.createElement("div");
  1754. $(grid.hDiv).css({
  1755.     width:grid.width+"px"
  1756.     }).addClass("ui-state-default ui-jqgrid-hdiv").append(hb);
  1757. $(hb).append(hTable);
  1758. if(hg){
  1759.     $(grid.hDiv).hide()
  1760.     }
  1761.     ts.p._height=0;
  1762. if(ts.p.pager){
  1763.     if(typeof ts.p.pager=="string"){
  1764.         if(ts.p.pager.substr(0,1)!="#"){
  1765.             ts.p.pager="#"+ts.p.pager
  1766.             }
  1767.         }
  1768.     $(ts.p.pager).css({
  1769.     width:grid.width+"px"
  1770.     }).appendTo(eg).addClass("ui-state-default ui-jqgrid-pager");
  1771. ts.p._height+=parseInt($(ts.p.pager).height(),10);
  1772. if(hg){
  1773.     $(ts.p.pager).hide()
  1774.     }
  1775.     setPager()
  1776. }
  1777. if(ts.p.cellEdit===false&&ts.p.hoverrows===true){
  1778.     $(ts).bind("mouseover",function(e){
  1779.         ptr=$(e.target).closest("tr.jqgrow");
  1780.         if($(ptr).attr("class")!=="subgrid"){
  1781.             $(ptr).addClass("ui-state-hover")
  1782.             }
  1783.             return false
  1784.         }).bind("mouseout",function(e){
  1785.         ptr=$(e.target).closest("tr.jqgrow");
  1786.         $(ptr).removeClass("ui-state-hover");
  1787.         return false
  1788.         })
  1789.     }
  1790.     var ri,ci;
  1791. $(ts).before(grid.hDiv).click(function(e){
  1792.     td=e.target;
  1793.     var scb=$(td).hasClass("cbox");
  1794.     ptr=$(td,ts.rows).closest("tr.jqgrow");
  1795.     if($(ptr).length===0){
  1796.         return this
  1797.         }
  1798.         var cSel=true;
  1799.     if($.isFunction(ts.p.beforeSelectRow)){
  1800.         cSel=ts.p.beforeSelectRow.call(ts,ptr[0].id,e)
  1801.         }
  1802.         if(td.tagName=="A"||((td.tagName=="INPUT"||td.tagName=="TEXTAREA"||td.tagName=="OPTION"||td.tagName=="SELECT")&&!scb)){
  1803.         return true
  1804.         }
  1805.         if(cSel===true){
  1806.         if(ts.p.cellEdit===true){
  1807.             if(ts.p.multiselect&&scb){
  1808.                 $(ts).jqGrid("setSelection",ptr[0].id,true)
  1809.                 }else{
  1810.                 ri=ptr[0].rowIndex;
  1811.                 ci=$.jgrid.getCellIndex(td);
  1812.                 try{
  1813.                     $(ts).jqGrid("editCell",ri,ci,true)
  1814.                     }catch(_){}
  1815.             }
  1816.         }else{
  1817.     if(!ts.p.multikey){
  1818.         if(ts.p.multiselect&&ts.p.multiboxonly){
  1819.             if(scb){
  1820.                 $(ts).jqGrid("setSelection",ptr[0].id,true)
  1821.                 }else{
  1822.                 $(ts.p.selarrrow).each(function(i,n){
  1823.                     var ind=ts.rows.namedItem(n);
  1824.                     $(ind).removeClass("ui-state-highlight");
  1825.                     $("#jqg_"+$.jgrid.jqID(n),ind).attr("checked",false)
  1826.                     });
  1827.                 ts.p.selarrrow=[];
  1828.                 $("#cb_"+$.jgrid.jqID(ts.p.id),ts.grid.hDiv).attr("checked",false);
  1829.                 $(ts).jqGrid("setSelection",ptr[0].id,true)
  1830.                 }
  1831.             }else{
  1832.         $(ts).jqGrid("setSelection",ptr[0].id,true)
  1833.         }
  1834.     }else{
  1835.     if(e[ts.p.multikey]){
  1836.         $(ts).jqGrid("setSelection",ptr[0].id,true)
  1837.         }else{
  1838.         if(ts.p.multiselect&&scb){
  1839.             scb=$("[id^=jqg_]",ptr).attr("checked");
  1840.             $("[id^=jqg_]",ptr).attr("checked",!scb)
  1841.             }
  1842.         }
  1843. }
  1844. }
  1845. if($.isFunction(ts.p.onCellSelect)){
  1846.     ri=ptr[0].id;
  1847.     ci=$.jgrid.getCellIndex(td);
  1848.     ts.p.onCellSelect.call(ts,ri,ci,$(td).html(),e)
  1849.     }
  1850. }
  1851. e.stopPropagation()
  1852. }).bind("reloadGrid",function(e,opts){
  1853.     if(ts.p.treeGrid===true){
  1854.         ts.p.datatype=ts.p.treedatatype
  1855.         }
  1856.         if(opts&&opts.current){
  1857.         ts.grid.selectionPreserver(ts)
  1858.         }
  1859.         if(ts.p.datatype=="local"&&!sr){
  1860.         $(ts).jqGrid("resetSelection")
  1861.         }else{
  1862.         if(!ts.p.treeGrid){
  1863.             ts.p.selrow=null;
  1864.             if(ts.p.multiselect){
  1865.                 ts.p.selarrrow=[];
  1866.                 $("#cb_"+$.jgrid.jqID(ts.p.id),ts.grid.hDiv).attr("checked",false)
  1867.                 }
  1868.                 ts.p.savedRow=[];
  1869.             if(ts.p.scroll){
  1870.                 emptyRows(ts.grid.bDiv)
  1871.                 }
  1872.             }
  1873.     }
  1874. if(opts&&opts.page){
  1875.     var page=opts.page;
  1876.     if(page>ts.p.lastpage){
  1877.         page=ts.p.lastpage
  1878.         }
  1879.         if(page<1){
  1880.         page=1
  1881.         }
  1882.         ts.p.page=page;
  1883.     if(ts.grid.prevRowHeight){
  1884.         ts.grid.bDiv.scrollTop=(page-1)*ts.grid.prevRowHeight*ts.p.rowNum
  1885.         }else{
  1886.         ts.grid.bDiv.scrollTop=0
  1887.         }
  1888.     }
  1889. if(ts.grid.prevRowHeight&&ts.p.scroll){
  1890.     ts.grid.populateVisible()
  1891.     }else{
  1892.     ts.grid.populate()
  1893.     }
  1894.     return false
  1895. });
  1896. if($.isFunction(this.p.ondblClickRow)){
  1897.     $(this).dblclick(function(e){
  1898.         td=e.target;
  1899.         ptr=$(td,ts.rows).closest("tr.jqgrow");
  1900.         if($(ptr).length===0){
  1901.             return false
  1902.             }
  1903.             ri=ptr[0].rowIndex;
  1904.         ci=$.jgrid.getCellIndex(td);
  1905.         ts.p.ondblClickRow.call(ts,$(ptr).attr("id"),ri,ci,e);
  1906.         return false
  1907.         })
  1908.     }
  1909.     if($.isFunction(this.p.onRightClickRow)){
  1910.     $(this).bind("contextmenu",function(e){
  1911.         td=e.target;
  1912.         ptr=$(td,ts.rows).closest("tr.jqgrow");
  1913.         if($(ptr).length===0){
  1914.             return false
  1915.             }
  1916.             if(!ts.p.multiselect){
  1917.             $(ts).jqGrid("setSelection",ptr[0].id,true)
  1918.             }
  1919.             ri=ptr[0].rowIndex;
  1920.         ci=$.jgrid.getCellIndex(td);
  1921.         ts.p.onRightClickRow.call(ts,$(ptr).attr("id"),ri,ci,e);
  1922.         return false
  1923.         })
  1924.     }
  1925.     grid.bDiv=document.createElement("div");
  1926. $(grid.bDiv).append($('<div style="position:relative"></div>').append("<div></div>").append(this)).addClass("ui-jqgrid-bdiv").css({
  1927.     height:ts.p.height+(isNaN(ts.p.height)?"":"px"),
  1928.     width:(grid.width)+"px"
  1929.     }).scroll(grid.scrollGrid);
  1930. $("table:first",grid.bDiv).css({
  1931.     width:ts.p.tblwidth+"px"
  1932.     });
  1933. if(isMSIE){
  1934.     if($("tbody",this).size()==2){
  1935.         $("tbody:first",this).remove()
  1936.         }
  1937.         if(ts.p.multikey){
  1938.         $(grid.bDiv).bind("selectstart",function(){
  1939.             return false
  1940.             })
  1941.         }
  1942.     }else{
  1943.     if(ts.p.multikey){
  1944.         $(grid.bDiv).bind("mousedown",function(){
  1945.             return false
  1946.             })
  1947.         }
  1948.     }
  1949. if(hg){
  1950.     $(grid.bDiv).hide()
  1951.     }
  1952.     grid.cDiv=document.createElement("div");
  1953. var arf=ts.p.hidegrid===true?$("<a role='link' href='javascript:void(0)'/>").addClass("ui-jqgrid-titlebar-close HeaderButton").hover(function(){
  1954.     arf.addClass("ui-state-hover")
  1955.     },function(){
  1956.     arf.removeClass("ui-state-hover")
  1957.     }).append("<span class='ui-icon ui-icon-circle-triangle-n'></span>").css((dir=="rtl"?"left":"right"),"0px"):"";
  1958. $(grid.cDiv).append(arf).append("<span class='ui-jqgrid-title"+(dir=="rtl"?"-rtl":"")+"'>"+ts.p.caption+"</span>").addClass("ui-jqgrid-titlebar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix");
  1959. $(grid.cDiv).insertBefore(grid.hDiv);
  1960. if(ts.p.toolbar[0]){
  1961.     grid.uDiv=document.createElement("div");
  1962.     if(ts.p.toolbar[1]=="top"){
  1963.         $(grid.uDiv).insertBefore(grid.hDiv)
  1964.         }else{
  1965.         if(ts.p.toolbar[1]=="bottom"){
  1966.             $(grid.uDiv).insertAfter(grid.hDiv)
  1967.             }
  1968.         }
  1969.     if(ts.p.toolbar[1]=="both"){
  1970.     grid.ubDiv=document.createElement("div");
  1971.     $(grid.uDiv).insertBefore(grid.hDiv).addClass("ui-userdata ui-state-default").attr("id","t_"+this.id);
  1972.     $(grid.ubDiv).insertAfter(grid.hDiv).addClass("ui-userdata ui-state-default").attr("id","tb_"+this.id);
  1973.     ts.p._height+=IntNum($(grid.ubDiv).height());
  1974.     if(hg){
  1975.         $(grid.ubDiv).hide()
  1976.         }
  1977.     }else{
  1978.     $(grid.uDiv).width(grid.width).addClass("ui-userdata ui-state-default").attr("id","t_"+this.id)
  1979.     }
  1980.     ts.p._height+=IntNum($(grid.uDiv).height());
  1981. if(hg){
  1982.     $(grid.uDiv).hide()
  1983.     }
  1984. }
  1985. if(ts.p.footerrow){
  1986.     grid.sDiv=$("<div class='ui-jqgrid-sdiv'></div>")[0];
  1987.     hb=$("<div class='ui-jqgrid-hbox"+(dir=="rtl"?"-rtl":"")+"'></div>");
  1988.     $(grid.sDiv).append(hb).insertAfter(grid.hDiv).width(grid.width);
  1989.     $(hb).append(tfoot);
  1990.     grid.footers=$(".ui-jqgrid-ftable",grid.sDiv)[0].rows[0].cells;
  1991.     if(ts.p.rownumbers){
  1992.         grid.footers[0].className="ui-state-default jqgrid-rownum"
  1993.         }
  1994.         if(hg){
  1995.         $(grid.sDiv).hide()
  1996.         }
  1997.     }
  1998. if(ts.p.caption){
  1999.     ts.p._height+=parseInt($(grid.cDiv,ts).height(),10);
  2000.     var tdt=ts.p.datatype;
  2001.     if(ts.p.hidegrid===true){
  2002.         $(".ui-jqgrid-titlebar-close",grid.cDiv).click(function(e){
  2003.             var onHdCl=$.isFunction(ts.p.onHeaderClick);
  2004.             if(ts.p.gridstate=="visible"){
  2005.                 $(".ui-jqgrid-bdiv, .ui-jqgrid-hdiv","#gview_"+ts.p.id).slideUp("fast");
  2006.                 if(ts.p.pager){
  2007.                     $(ts.p.pager).slideUp("fast")
  2008.                     }
  2009.                     if(ts.p.toolbar[0]===true){
  2010.                     if(ts.p.toolbar[1]=="both"){
  2011.                         $(grid.ubDiv).slideUp("fast")
  2012.                         }
  2013.                         $(grid.uDiv).slideUp("fast")
  2014.                     }
  2015.                     if(ts.p.footerrow){
  2016.                     $(".ui-jqgrid-sdiv","#gbox_"+ts.p.id).slideUp("fast")
  2017.                     }
  2018.                     $("span",this).removeClass("ui-icon-circle-triangle-n").addClass("ui-icon-circle-triangle-s");
  2019.                 ts.p.gridstate="hidden";
  2020.                 if(onHdCl){
  2021.                     if(!hg){
  2022.                         ts.p.onHeaderClick.call(ts,ts.p.gridstate,e)
  2023.                         }
  2024.                     }
  2025.             }else{
  2026.             if(ts.p.gridstate=="hidden"){
  2027.                 $(".ui-jqgrid-hdiv, .ui-jqgrid-bdiv","#gview_"+ts.p.id).slideDown("fast");
  2028.                 if(ts.p.pager){
  2029.                     $(ts.p.pager).slideDown("fast")
  2030.                     }
  2031.                     if(ts.p.toolbar[0]===true){
  2032.                     if(ts.p.toolbar[1]=="both"){
  2033.                         $(grid.ubDiv).slideDown("fast")
  2034.                         }
  2035.                         $(grid.uDiv).slideDown("fast")
  2036.                     }
  2037.                     if(ts.p.footerrow){
  2038.                     $(".ui-jqgrid-sdiv","#gbox_"+ts.p.id).slideDown("fast")
  2039.                     }
  2040.                     $("span",this).removeClass("ui-icon-circle-triangle-s").addClass("ui-icon-circle-triangle-n");
  2041.                 if(hg){
  2042.                     ts.p.datatype=tdt;
  2043.                     populate();
  2044.                     hg=false
  2045.                     }
  2046.                     ts.p.gridstate="visible";
  2047.                 if(onHdCl){
  2048.                     ts.p.onHeaderClick.call(ts,ts.p.gridstate,e)
  2049.                     }
  2050.                 }
  2051.         }
  2052.     return false
  2053. });
  2054. if(hg){
  2055.     ts.p.datatype="local";
  2056.     $(".ui-jqgrid-titlebar-close",grid.cDiv).trigger("click")
  2057.     }
  2058. }
  2059. }else{
  2060.     $(grid.cDiv).hide()
  2061.     }
  2062.     $(grid.hDiv).after(grid.bDiv);
  2063. $(".ui-jqgrid-labels",grid.hDiv).bind("selectstart",function(){
  2064.     return false
  2065.     }).mousemove(function(e){
  2066.     if(grid.resizing){
  2067.         grid.dragMove(e);
  2068.         return false
  2069.         }
  2070.     });
  2071. ts.p._height+=parseInt($(grid.hDiv).height(),10);
  2072. $(document).mouseup(function(e){
  2073.     if(grid.resizing){
  2074.         grid.dragEnd();
  2075.         return false
  2076.         }
  2077.         return true
  2078.     });
  2079. this.updateColumns=function(){
  2080.     var r=this.rows[0],self=this;
  2081.     if(r){
  2082.         $("td",r).each(function(k){
  2083.             $(this).css("width",self.grid.headers[k].width+"px")
  2084.             });
  2085.         this.grid.cols=r.cells
  2086.         }
  2087.         return this
  2088.     };
  2089.    
  2090. ts.formatCol=formatCol;
  2091. ts.sortData=sortData;
  2092. ts.updatepager=updatepager;
  2093. ts.formatter=function(rowId,cellval,colpos,rwdat,act){
  2094.     return formatter(rowId,cellval,colpos,rwdat,act)
  2095.     };
  2096.    
  2097. $.extend(grid,{
  2098.     populate:populate,
  2099.     emptyRows:emptyRows
  2100. });
  2101. this.grid=grid;
  2102. ts.addXmlData=function(d){
  2103.     addXmlData(d,ts.grid.bDiv)
  2104.     };
  2105.    
  2106. ts.addJSONData=function(d){
  2107.     addJSONData(d,ts.grid.bDiv)
  2108.     };
  2109.    
  2110. populate();
  2111. ts.p.hiddengrid=false;
  2112. $(window).unload(function(){
  2113.     $(this).empty();
  2114.     this.grid=null;
  2115.     this.p=null
  2116.     })
  2117. })
  2118. };
  2119.  
  2120. $.jgrid.extend({
  2121.     getGridParam:function(pName){
  2122.         var $t=this[0];
  2123.         if(!$t.grid){
  2124.             return
  2125.         }
  2126.         if(!pName){
  2127.             return $t.p
  2128.             }else{
  2129.             return typeof($t.p[pName])!="undefined"?$t.p[pName]:null
  2130.             }
  2131.         },
  2132. setGridParam:function(newParams){
  2133.     return this.each(function(){
  2134.         if(this.grid&&typeof(newParams)==="object"){
  2135.             $.extend(true,this.p,newParams)
  2136.             }
  2137.         })
  2138. },
  2139. getDataIDs:function(){
  2140.     var ids=[],i=0,len;
  2141.     this.each(function(){
  2142.         len=this.rows.length;
  2143.         if(len&&len>0){
  2144.             while(i<len){
  2145.                 ids[i]=this.rows[i].id;
  2146.                 i++
  2147.             }
  2148.         }
  2149.     });
  2150. return ids
  2151. },
  2152. setSelection:function(selection,onsr){
  2153.     return this.each(function(){
  2154.         var $t=this,stat,pt,olr,ner,ia,tpsr;
  2155.         if(selection===undefined){
  2156.             return
  2157.         }
  2158.         onsr=onsr===false?false:true;
  2159.         pt=$t.rows.namedItem(selection);
  2160.         if(pt==null){
  2161.             return
  2162.         }
  2163.         if($t.p.selrow&&$t.p.scrollrows===true){
  2164.             olr=$t.rows.namedItem($t.p.selrow).rowIndex;
  2165.             ner=$t.rows.namedItem(selection).rowIndex;
  2166.             if(ner>=0){
  2167.                 if(ner>olr){
  2168.                     scrGrid(ner,"d")
  2169.                     }else{
  2170.                     scrGrid(ner,"u")
  2171.                     }
  2172.                 }
  2173.         }
  2174.     if(!$t.p.multiselect){
  2175.         if($(pt).attr("class")!=="subgrid"){
  2176.             if($t.p.selrow){
  2177.                 $("tr#"+$.jgrid.jqID($t.p.selrow),$t.grid.bDiv).removeClass("ui-state-highlight").attr("aria-selected","false")
  2178.                 }
  2179.                 $t.p.selrow=pt.id;
  2180.             $(pt).addClass("ui-state-highlight").attr("aria-selected","true");
  2181.             if($t.p.onSelectRow&&onsr){
  2182.                 $t.p.onSelectRow($t.p.selrow,true)
  2183.                 }
  2184.             }
  2185.     }else{
  2186.     $t.p.selrow=pt.id;
  2187.     ia=$.inArray($t.p.selrow,$t.p.selarrrow);
  2188.     if(ia===-1){
  2189.         if($(pt).attr("class")!=="subgrid"){
  2190.             $(pt).addClass("ui-state-highlight").attr("aria-selected","true")
  2191.             }
  2192.             stat=true;
  2193.         $("#jqg_"+$.jgrid.jqID($t.p.selrow),$t.rows).attr("checked",stat);
  2194.         $t.p.selarrrow.push($t.p.selrow);
  2195.         if($t.p.onSelectRow&&onsr){
  2196.             $t.p.onSelectRow($t.p.selrow,stat)
  2197.             }
  2198.         }else{
  2199.     if($(pt).attr("class")!=="subgrid"){
  2200.         $(pt).removeClass("ui-state-highlight").attr("aria-selected","false")
  2201.         }
  2202.         stat=false;
  2203.     $("#jqg_"+$.jgrid.jqID($t.p.selrow),$t.rows).attr("checked",stat);
  2204.     $t.p.selarrrow.splice(ia,1);
  2205.     if($t.p.onSelectRow&&onsr){
  2206.         $t.p.onSelectRow($t.p.selrow,stat)
  2207.         }
  2208.         tpsr=$t.p.selarrrow[0];
  2209.     $t.p.selrow=(tpsr===undefined)?null:tpsr
  2210.     }
  2211. }
  2212. function scrGrid(iR,tp){
  2213.     var ch=$($t.grid.bDiv)[0].clientHeight,st=$($t.grid.bDiv)[0].scrollTop,nROT=$t.rows[iR].offsetTop+$t.rows[iR].clientHeight,pROT=$t.rows[iR].offsetTop;
  2214.     if(tp=="d"){
  2215.         if(nROT>=ch){
  2216.             $($t.grid.bDiv)[0].scrollTop=st+nROT-pROT
  2217.             }
  2218.         }
  2219.     if(tp=="u"){
  2220.     if(pROT<st){
  2221.         $($t.grid.bDiv)[0].scrollTop=st-nROT+pROT
  2222.         }
  2223.     }
  2224. }
  2225. })
  2226. },
  2227. resetSelection:function(){
  2228.     return this.each(function(){
  2229.         var t=this,ind;
  2230.         if(!t.p.multiselect){
  2231.             if(t.p.selrow){
  2232.                 $("tr#"+$.jgrid.jqID(t.p.selrow),t.grid.bDiv).removeClass("ui-state-highlight").attr("aria-selected","false");
  2233.                 t.p.selrow=null
  2234.                 }
  2235.             }else{
  2236.         $(t.p.selarrrow).each(function(i,n){
  2237.             ind=t.rows.namedItem(n);
  2238.             $(ind).removeClass("ui-state-highlight").attr("aria-selected","false");
  2239.             $("#jqg_"+$.jgrid.jqID(n),ind).attr("checked",false)
  2240.             });
  2241.         $("#cb_"+$.jgrid.jqID(t.p.id),t.grid.hDiv).attr("checked",false);
  2242.         t.p.selarrrow=[]
  2243.         }
  2244.         t.p.savedRow=[]
  2245.     })
  2246. },
  2247. getRowData:function(rowid){
  2248.     var res={},resall,getall=false,len,j=0;
  2249.     this.each(function(){
  2250.         var $t=this,nm,ind;
  2251.         if(typeof(rowid)=="undefined"){
  2252.             getall=true;
  2253.             resall=[];
  2254.             len=$t.rows.length
  2255.             }else{
  2256.             ind=$t.rows.namedItem(rowid);
  2257.             if(!ind){
  2258.                 return res
  2259.                 }
  2260.                 len=1
  2261.             }while(j<len){
  2262.             if(getall){
  2263.                 ind=$t.rows[j]
  2264.                 }
  2265.                 $("td",ind).each(function(i){
  2266.                 nm=$t.p.colModel[i].name;
  2267.                 if(nm!=="cb"&&nm!=="subgrid"){
  2268.                     if($t.p.treeGrid===true&&nm==$t.p.ExpandColumn){
  2269.                         res[nm]=$.jgrid.htmlDecode($("span:first",this).html())
  2270.                         }else{
  2271.                         try{
  2272.                             res[nm]=$.unformat(this,{
  2273.                                 colModel:$t.p.colModel[i]
  2274.                                 },i)
  2275.                             }catch(e){
  2276.                             res[nm]=$.jgrid.htmlDecode($(this).html())
  2277.                             }
  2278.                         }
  2279.                 }
  2280.             });
  2281.     j++;
  2282.     if(getall){
  2283.         resall.push(res);
  2284.         res={}
  2285.     }
  2286. }
  2287. });
  2288. return resall?resall:res
  2289. },
  2290. delRowData:function(rowid){
  2291.     var success=false,rowInd,ia,ri;
  2292.     this.each(function(){
  2293.         var $t=this;
  2294.         rowInd=$t.rows.namedItem(rowid);
  2295.         if(!rowInd){
  2296.             return false
  2297.             }else{
  2298.             ri=rowInd.rowIndex;
  2299.             $(rowInd).remove();
  2300.             $t.p.records--;
  2301.             $t.p.reccount--;
  2302.             $t.updatepager(true,false);
  2303.             success=true;
  2304.             if(rowid==$t.p.selrow){
  2305.                 $t.p.selrow=null
  2306.                 }
  2307.                 ia=$.inArray(rowid,$t.p.selarrrow);
  2308.             if(ia!=-1){
  2309.                 $t.p.selarrrow.splice(ia,1)
  2310.                 }
  2311.             }
  2312.         if(ri==0&&success){
  2313.         $t.updateColumns()
  2314.         }
  2315.         if($t.p.altRows===true&&success){
  2316.         var cn=$t.p.altclass;
  2317.         $($t.rows).each(function(i){
  2318.             if(i%2==1){
  2319.                 $(this).addClass(cn)
  2320.                 }else{
  2321.                 $(this).removeClass(cn)
  2322.                 }
  2323.             })
  2324.     }
  2325.     });
  2326. return success
  2327. },
  2328. setRowData:function(rowid,data,cssp){
  2329.     var nm,success=false;
  2330.     this.each(function(){
  2331.         var t=this,vl,ind,cp=typeof cssp;
  2332.         if(!t.grid){
  2333.             return false
  2334.             }
  2335.             ind=t.rows.namedItem(rowid);
  2336.         if(!ind){
  2337.             return false
  2338.             }
  2339.             if(data){
  2340.             $(this.p.colModel).each(function(i){
  2341.                 nm=this.name;
  2342.                 if(data[nm]!=undefined){
  2343.                     vl=t.formatter(rowid,data[nm],i,data,"edit");
  2344.                     if(t.p.treeGrid===true&&nm==t.p.ExpandColumn){
  2345.                         $("td:eq("+i+") > span:first",ind).html(vl).attr("title",$.jgrid.stripHtml(vl))
  2346.                         }else{
  2347.                         $("td:eq("+i+")",ind).html(vl).attr("title",$.jgrid.stripHtml(vl))
  2348.                         }
  2349.                         success=true
  2350.                     }
  2351.                 })
  2352.         }
  2353.         if(cp==="string"){
  2354.         $(ind).addClass(cssp)
  2355.         }else{
  2356.         if(cp==="object"){
  2357.             $(ind).css(cssp)
  2358.             }
  2359.         }
  2360.     });
  2361. return success
  2362. },
  2363. addRowData:function(rowid,data,pos,src){
  2364.     if(!pos){
  2365.         pos="last"
  2366.         }
  2367.         var success=false,nm,row="",gi=0,si=0,ni=0,sind,i,v,prp="";
  2368.     if(data){
  2369.         this.each(function(){
  2370.             var t=this;
  2371.             if(t.p.rownumbers===true){
  2372.                 prp=t.formatCol(ni,1);
  2373.                 row+='<td role="gridcell" class="ui-state-default jqgrid-rownum" '+prp+">0</td>";
  2374.                 ni=1
  2375.                 }
  2376.                 if(t.p.multiselect){
  2377.                 v='<input type="checkbox" id="jqg_'+rowid+'" class="cbox"/>';
  2378.                 prp=t.formatCol(ni,1);
  2379.                 row+='<td role="gridcell" '+prp+">"+v+"</td>";
  2380.                 gi=1
  2381.                 }
  2382.                 if(t.p.subGrid===true){
  2383.                 row+=$(t).jqGrid("addSubGridCell",gi+ni,1);
  2384.                 si=1
  2385.                 }
  2386.                 if(typeof(rowid)!="undefined"){
  2387.                 rowid=rowid+""
  2388.                 }else{
  2389.                 rowid=(t.p.records+1)+"";
  2390.                 if(t.p.keyIndex!==false){
  2391.                     var cmn=t.p.colModel[t.p.keyIndex+gi+si+ni].name;
  2392.                     if(typeof data[cmn]!="undefined"){
  2393.                         rowid=data[cmn]
  2394.                         }
  2395.                     }
  2396.             }
  2397.         for(i=gi+si+ni;i<this.p.colModel.length;i++){
  2398.             nm=this.p.colModel[i].name;
  2399.             v=t.formatter(rowid,data[nm],i,data,"add");
  2400.             prp=t.formatCol(i,1);
  2401.             row+='<td role="gridcell" '+prp+' title="'+$.jgrid.stripHtml(v)+'">'+v+"</td>"
  2402.             }
  2403.             row='<tr id="'+rowid+'" role="row" class="ui-widget-content jqgrow ui-row-'+t.p.direction+'">'+row+"</tr>";
  2404.         if(t.p.subGrid===true){
  2405.             row=$(row)[0];
  2406.             $(t).jqGrid("addSubGrid",row,gi+ni)
  2407.             }
  2408.             if(t.rows.length===0){
  2409.             $("table:first",t.grid.bDiv).append(row)
  2410.             }else{
  2411.             switch(pos){
  2412.                 case"last":
  2413.                     $(t.rows[t.rows.length-1]).after(row);
  2414.                     break;
  2415.                 case"first":
  2416.                     $(t.rows[0]).before(row);
  2417.                     break;
  2418.                 case"after":
  2419.                     sind=t.rows.namedItem(src);
  2420.                     if(sind){
  2421.                     $(t.rows[sind.rowIndex+1]).hasClass("ui-subgrid")?$(t.rows[sind.rowIndex+1]).after(row):$(sind).after(row)
  2422.                     }
  2423.                     break;
  2424.                 case"before":
  2425.                     sind=t.rows.namedItem(src);
  2426.                     if(sind){
  2427.                     $(sind).before(row);
  2428.                     sind=sind.rowIndex
  2429.                     }
  2430.                     break
  2431.                 }
  2432.                 }
  2433.         t.p.records++;
  2434.     t.p.reccount++;
  2435.     if(!t.grid.cols||!t.grid.cols.length){
  2436.         t.grid.cols=t.rows[0].cells
  2437.         }
  2438.         if(pos==="first"||(pos==="before"&&sind<=1)||t.rows.length===1){
  2439.         t.updateColumns()
  2440.         }
  2441.         if(t.p.altRows===true){
  2442.         var cn=t.p.altclass;
  2443.         if(pos=="last"){
  2444.             if((t.rows.length-1)%2==1){
  2445.                 $(t.rows[t.rows.length-1]).addClass(cn)
  2446.                 }
  2447.             }else{
  2448.         $(t.rows).each(function(i){
  2449.             if(i%2==1){
  2450.                 $(this).addClass(cn)
  2451.                 }else{
  2452.                 $(this).removeClass(cn)
  2453.                 }
  2454.             })
  2455.     }
  2456. }
  2457. try{
  2458.     t.p.afterInsertRow(rowid,data)
  2459.     }catch(e){}
  2460. t.updatepager(true,true);
  2461. success=true
  2462. })
  2463. }
  2464. return success
  2465. },
  2466. footerData:function(action,data,format){
  2467.     var nm,success=false,res={};
  2468.    
  2469.     function isEmpty(obj){
  2470.         for(var i in obj){
  2471.             return false
  2472.             }
  2473.             return true
  2474.         }
  2475.         if(typeof(action)=="undefined"){
  2476.         action="get"
  2477.         }
  2478.         if(typeof(format)!="boolean"){
  2479.         format=true
  2480.         }
  2481.         action=action.toLowerCase();
  2482.     this.each(function(){
  2483.         var t=this,vl,ind;
  2484.         if(!t.grid||!t.p.footerrow){
  2485.             return false
  2486.             }
  2487.             if(action=="set"){
  2488.             if(isEmpty(data)){
  2489.                 return false
  2490.                 }
  2491.             }
  2492.         success=true;
  2493.     $(this.p.colModel).each(function(i){
  2494.         nm=this.name;
  2495.         if(action=="set"){
  2496.             if(data[nm]!=undefined){
  2497.                 vl=format?t.formatter("",data[nm],i,data,"edit"):data[nm];
  2498.                 $("tr.footrow td:eq("+i+")",t.grid.sDiv).html(vl).attr("title",$.jgrid.stripHtml(vl));
  2499.                 success=true
  2500.                 }
  2501.             }else{
  2502.         if(action=="get"){
  2503.             res[nm]=$("tr.footrow td:eq("+i+")",t.grid.sDiv).html()
  2504.             }
  2505.         }
  2506.     })
  2507. });
  2508. return action=="get"?res:success
  2509. },
  2510. ShowHideCol:function(colname,show){
  2511.     return this.each(function(){
  2512.         var $t=this,fndh=false;
  2513.         if(!$t.grid){
  2514.             return
  2515.         }
  2516.         if(typeof colname==="string"){
  2517.             colname=[colname]
  2518.             }
  2519.             show=show!="none"?"":"none";
  2520.         var sw=show==""?true:false;
  2521.         $(this.p.colModel).each(function(i){
  2522.             if($.inArray(this.name,colname)!==-1&&this.hidden===sw){
  2523.                 $("tr",$t.grid.hDiv).each(function(){
  2524.                     $("th:eq("+i+")",this).css("display",show)
  2525.                     });
  2526.                 $($t.rows).each(function(j){
  2527.                     $("td:eq("+i+")",$t.rows[j]).css("display",show)
  2528.                     });
  2529.                 if($t.p.footerrow){
  2530.                     $("td:eq("+i+")",$t.grid.sDiv).css("display",show)
  2531.                     }
  2532.                     if(show=="none"){
  2533.                     $t.p.tblwidth-=this.width
  2534.                     }else{
  2535.                     $t.p.tblwidth+=this.width
  2536.                     }
  2537.                     this.hidden=!sw;
  2538.                 fndh=true
  2539.                 }
  2540.             });
  2541.     if(fndh===true){
  2542.         $("table:first",$t.grid.hDiv).width($t.p.tblwidth);
  2543.         $("table:first",$t.grid.bDiv).width($t.p.tblwidth);
  2544.         $t.grid.hDiv.scrollLeft=$t.grid.bDiv.scrollLeft;
  2545.         if($t.p.footerrow){
  2546.             $("table:first",$t.grid.sDiv).width($t.p.tblwidth);
  2547.             $t.grid.sDiv.scrollLeft=$t.grid.bDiv.scrollLeft
  2548.             }
  2549.         }
  2550.     })
  2551. },
  2552. hideCol:function(colname){
  2553.     return this.each(function(){
  2554.         $(this).jqGrid("ShowHideCol",colname,"none")
  2555.         })
  2556.     },
  2557. showCol:function(colname){
  2558.     return this.each(function(){
  2559.         $(this).jqGrid("ShowHideCol",colname,"")
  2560.         })
  2561.     },
  2562. remapColumns:function(permutation,updateCells,keepHeader){
  2563.     function resortArray(a){
  2564.         var ac;
  2565.         if(a.length){
  2566.             ac=$.makeArray(a)
  2567.             }else{
  2568.             ac=$.extend({},a)
  2569.             }
  2570.             $.each(permutation,function(i){
  2571.             a[i]=ac[this]
  2572.             })
  2573.         }
  2574.         var ts=this.get(0);
  2575.     function resortRows(parent,clobj){
  2576.         $(">tr"+(clobj||""),parent).each(function(){
  2577.             var row=this;
  2578.             var elems=$.makeArray(row.cells);
  2579.             $.each(permutation,function(){
  2580.                 var e=elems[this];
  2581.                 if(e){
  2582.                     row.appendChild(e)
  2583.                     }
  2584.                 })
  2585.         })
  2586.     }
  2587.     resortArray(ts.p.colModel);
  2588. resortArray(ts.p.colNames);
  2589. resortArray(ts.grid.headers);
  2590. resortRows($("thead:first",ts.grid.hDiv),keepHeader&&":not(.ui-jqgrid-labels)");
  2591. if(updateCells){
  2592.     resortRows($("tbody:first",ts.grid.bDiv),".jqgrow")
  2593.     }
  2594.     if(ts.p.footerrow){
  2595.     resortRows($("tbody:first",ts.grid.sDiv))
  2596.     }
  2597.     if(ts.p.remapColumns){
  2598.     if(!ts.p.remapColumns.length){
  2599.         ts.p.remapColumns=$.makeArray(permutation)
  2600.         }else{
  2601.         resortArray(ts.p.remapColumns)
  2602.         }
  2603.     }
  2604. ts.p.lastsort=$.inArray(ts.p.lastsort,permutation);
  2605. if(ts.p.treeGrid){
  2606.     ts.p.expColInd=$.inArray(ts.p.expColInd,permutation)
  2607.     }
  2608. },
  2609. setGridWidth:function(nwidth,shrink){
  2610.     return this.each(function(){
  2611.         var $t=this,cw,initwidth=0,brd=$t.p.cellLayout,lvc,vc=0,hs=false,scw=$t.p.scrollOffset,aw,gw=0,tw=0,cl=0,cr;
  2612.         if(!$t.grid){
  2613.             return
  2614.         }
  2615.         if(typeof shrink!="boolean"){
  2616.             shrink=$t.p.shrinkToFit
  2617.             }
  2618.             if(isNaN(nwidth)){
  2619.             return
  2620.         }else{
  2621.             nwidth=parseInt(nwidth);
  2622.             $t.grid.width=$t.p.width=nwidth
  2623.             }
  2624.             $("#gbox_"+$t.p.id).css("width",nwidth+"px");
  2625.         $("#gview_"+$t.p.id).css("width",nwidth+"px");
  2626.         $($t.grid.bDiv).css("width",nwidth+"px");
  2627.         $($t.grid.hDiv).css("width",nwidth+"px");
  2628.         if($t.p.pager){
  2629.             $($t.p.pager).css("width",nwidth+"px")
  2630.             }
  2631.             if($t.p.toolbar[0]===true){
  2632.             $($t.grid.uDiv).css("width",nwidth+"px");
  2633.             if($t.p.toolbar[1]=="both"){
  2634.                 $($t.grid.ubDiv).css("width",nwidth+"px")
  2635.                 }
  2636.             }
  2637.         if($t.p.footerrow){
  2638.         $($t.grid.sDiv).css("width",nwidth+"px")
  2639.         }
  2640.         if(shrink===false&&$t.p.forceFit==true){
  2641.         $t.p.forceFit=false
  2642.         }
  2643.         if(shrink===true){
  2644.         if($.browser.safari){
  2645.             brd=0
  2646.             }
  2647.             $.each($t.p.colModel,function(i){
  2648.             if(this.hidden===false){
  2649.                 initwidth+=parseInt(this.width,10);
  2650.                 if(this.fixed){
  2651.                     tw+=this.width;
  2652.                     gw+=this.width+brd
  2653.                     }else{
  2654.                     vc++
  2655.                 }
  2656.                 cl++
  2657.             }
  2658.         });
  2659.     if(vc==0){
  2660.         return
  2661.     }
  2662.     $t.p.tblwidth=initwidth;
  2663.     aw=nwidth-brd*vc-gw;
  2664.     if(!isNaN($t.p.height)){
  2665.         if($($t.grid.bDiv)[0].clientHeight<$($t.grid.bDiv)[0].scrollHeight){
  2666.             hs=true;
  2667.             aw-=scw
  2668.             }
  2669.         }
  2670.     initwidth=0;
  2671.     var cle=$t.grid.cols.length>0;
  2672.     $.each($t.p.colModel,function(i){
  2673.         var tn=this.name;
  2674.         if(this.hidden===false&&!this.fixed){
  2675.             cw=Math.floor((aw)/($t.p.tblwidth-tw)*this.width);
  2676.             this.width=cw;
  2677.             initwidth+=cw;
  2678.             $t.grid.headers[i].width=cw;
  2679.             $t.grid.headers[i].el.style.width=cw+"px";
  2680.             if($t.p.footerrow){
  2681.                 $t.grid.footers[i].style.width=cw+"px"
  2682.                 }
  2683.                 if(cle){
  2684.                 $t.grid.cols[i].style.width=cw+"px"
  2685.                 }
  2686.                 lvc=i
  2687.             }
  2688.         });
  2689. cr=0;
  2690. if(hs){
  2691.     if(nwidth-gw-(initwidth+brd*vc)!==scw){
  2692.         cr=nwidth-gw-(initwidth+brd*vc)-scw
  2693.         }
  2694.     }else{
  2695.     if(Math.abs(nwidth-gw-(initwidth+brd*vc))!==1){
  2696.         cr=nwidth-gw-(initwidth+brd*vc)
  2697.         }
  2698.     }
  2699. $t.p.colModel[lvc].width+=cr;
  2700. cw=$t.p.colModel[lvc].width;
  2701. $t.grid.headers[lvc].width=cw;
  2702. $t.grid.headers[lvc].el.style.width=cw+"px";
  2703. if(cle){
  2704.     $t.grid.cols[lvc].style.width=cw+"px"
  2705.     }
  2706.     $t.p.tblwidth=initwidth+cr+tw+brd*cl;
  2707. $("table:first",$t.grid.bDiv).css("width",$t.p.tblwidth+"px");
  2708. $("table:first",$t.grid.hDiv).css("width",$t.p.tblwidth+"px");
  2709. $t.grid.hDiv.scrollLeft=$t.grid.bDiv.scrollLeft;
  2710. if($t.p.footerrow){
  2711.     $t.grid.footers[lvc].style.width=cw+"px";
  2712.     $("table:first",$t.grid.sDiv).css("width",$t.p.tblwidth+"px")
  2713.     }
  2714. }
  2715. })
  2716. },
  2717. setGridHeight:function(nh){
  2718.     return this.each(function(){
  2719.         var $t=this;
  2720.         if(!$t.grid){
  2721.             return
  2722.         }
  2723.         $($t.grid.bDiv).css({
  2724.             height:nh+(isNaN(nh)?"":"px")
  2725.             });
  2726.         $t.p.height=nh;
  2727.         if($t.p.scroll){
  2728.             $t.grid.populateVisible()
  2729.             }
  2730.         })
  2731. },
  2732. setCaption:function(newcap){
  2733.     return this.each(function(){
  2734.         this.p.caption=newcap;
  2735.         $("span.ui-jqgrid-title",this.grid.cDiv).html(newcap);
  2736.         $(this.grid.cDiv).show()
  2737.         })
  2738.     },
  2739. setLabel:function(colname,nData,prop,attrp){
  2740.     return this.each(function(){
  2741.         var $t=this,pos=-1;
  2742.         if(!$t.grid){
  2743.             return
  2744.         }
  2745.         if(isNaN(colname)){
  2746.             $($t.p.colModel).each(function(i){
  2747.                 if(this.name==colname){
  2748.                     pos=i;
  2749.                     return false
  2750.                     }
  2751.                 })
  2752.         }else{
  2753.         pos=parseInt(colname,10)
  2754.         }
  2755.         if(pos>=0){
  2756.         var thecol=$("tr.ui-jqgrid-labels th:eq("+pos+")",$t.grid.hDiv);
  2757.         if(nData){
  2758.             var ico=$(".s-ico",thecol);
  2759.             $("[id^=jqgh_]",thecol).empty().html(nData).append(ico);
  2760.             $t.p.colNames[pos]=nData
  2761.             }
  2762.             if(prop){
  2763.             if(typeof prop==="string"){
  2764.                 $(thecol).addClass(prop)
  2765.                 }else{
  2766.                 $(thecol).css(prop)
  2767.                 }
  2768.             }
  2769.         if(typeof attrp==="object"){
  2770.         $(thecol).attr(attrp)
  2771.         }
  2772.     }
  2773. })
  2774. },
  2775. setCell:function(rowid,colname,nData,cssp,attrp){
  2776.     return this.each(function(){
  2777.         var $t=this,pos=-1,v;
  2778.         if(!$t.grid){
  2779.             return
  2780.         }
  2781.         if(isNaN(colname)){
  2782.             $($t.p.colModel).each(function(i){
  2783.                 if(this.name==colname){
  2784.                     pos=i;
  2785.                     return false
  2786.                     }
  2787.                 })
  2788.         }else{
  2789.         pos=parseInt(colname,10)
  2790.         }
  2791.         if(pos>=0){
  2792.         var ind=$t.rows.namedItem(rowid);
  2793.         if(ind){
  2794.             var tcell=$("td:eq("+pos+")",ind);
  2795.             if(nData!==""){
  2796.                 v=$t.formatter(rowid,nData,pos,ind,"edit");
  2797.                 $(tcell).html(v).attr("title",$.jgrid.stripHtml(v))
  2798.                 }
  2799.                 if(cssp){
  2800.                 if(typeof cssp==="string"){
  2801.                     $(tcell).addClass(cssp)
  2802.                     }else{
  2803.                     $(tcell).css(cssp)
  2804.                     }
  2805.                 }
  2806.             if(typeof attrp==="object"){
  2807.             $(tcell).attr(attrp)
  2808.             }
  2809.         }
  2810.     }
  2811. })
  2812. },
  2813. getCell:function(rowid,col){
  2814.     var ret=false;
  2815.     this.each(function(){
  2816.         var $t=this,pos=-1;
  2817.         if(!$t.grid){
  2818.             return
  2819.         }
  2820.         if(isNaN(col)){
  2821.             $($t.p.colModel).each(function(i){
  2822.                 if(this.name===col){
  2823.                     pos=i;
  2824.                     return false
  2825.                     }
  2826.                 })
  2827.         }else{
  2828.         pos=parseInt(col,10)
  2829.         }
  2830.         if(pos>=0){
  2831.         var ind=$t.rows.namedItem(rowid);
  2832.         if(ind){
  2833.             try{
  2834.                 ret=$.unformat($("td:eq("+pos+")",ind),{
  2835.                     colModel:$t.p.colModel[pos]
  2836.                     },pos)
  2837.                 }catch(e){
  2838.                 ret=$.jgrid.htmlDecode($("td:eq("+pos+")",ind).html())
  2839.                 }
  2840.             }
  2841.     }
  2842. });
  2843. return ret
  2844. },
  2845. getCol:function(col,obj,mathopr){
  2846.     var ret=[],val,sum=0;
  2847.     obj=typeof(obj)!="boolean"?false:obj;
  2848.     if(typeof mathopr=="undefined"){
  2849.         mathopr=false
  2850.         }
  2851.         this.each(function(){
  2852.         var $t=this,pos=-1;
  2853.         if(!$t.grid){
  2854.             return
  2855.         }
  2856.         if(isNaN(col)){
  2857.             $($t.p.colModel).each(function(i){
  2858.                 if(this.name===col){
  2859.                     pos=i;
  2860.                     return false
  2861.                     }
  2862.                 })
  2863.         }else{
  2864.         pos=parseInt(col,10)
  2865.         }
  2866.         if(pos>=0){
  2867.         var ln=$t.rows.length,i=0;
  2868.         if(ln&&ln>0){
  2869.             while(i<ln){
  2870.                 try{
  2871.                     val=$.unformat($($t.rows[i].cells[pos]),{
  2872.                         colModel:$t.p.colModel[pos]
  2873.                         },pos)
  2874.                     }catch(e){
  2875.                     val=$.jgrid.htmlDecode($t.rows[i].cells[pos].innerHTML)
  2876.                     }
  2877.                     mathopr?sum+=parseFloat(val,10):obj?ret.push({
  2878.                     id:$t.rows[i].id,
  2879.                     value:val
  2880.                 }):ret[i]=val;
  2881.                 i++
  2882.             }
  2883.             if(mathopr){
  2884.                 switch(mathopr.toLowerCase()){
  2885.                     case"sum":
  2886.                         ret=sum;
  2887.                         break;
  2888.                     case"avg":
  2889.                         ret=sum/ln;
  2890.                         break;
  2891.                     case"count":
  2892.                         ret=ln;
  2893.                         break
  2894.                         }
  2895.                     }
  2896.         }
  2897.     }
  2898. });
  2899. return ret
  2900. },
  2901. clearGridData:function(clearfooter){
  2902.     return this.each(function(){
  2903.         var $t=this;
  2904.         if(!$t.grid){
  2905.             return
  2906.         }
  2907.         if(typeof clearfooter!="boolean"){
  2908.             clearfooter=false
  2909.             }
  2910.             $("tbody:first tr",$t.grid.bDiv).remove();
  2911.         if($t.p.footerrow&&clearfooter){
  2912.             $(".ui-jqgrid-ftable td",$t.grid.sDiv).html("&nbsp;")
  2913.             }
  2914.             $t.p.selrow=null;
  2915.         $t.p.selarrrow=[];
  2916.         $t.p.savedRow=[];
  2917.         $t.p.records=0;
  2918.         $t.p.page="0";
  2919.         $t.p.lastpage="0";
  2920.         $t.p.reccount=0;
  2921.         $t.updatepager(true,false)
  2922.         })
  2923.     },
  2924. getInd:function(rowid,rc){
  2925.     var ret=false,rw;
  2926.     this.each(function(){
  2927.         rw=this.rows.namedItem(rowid);
  2928.         if(rw){
  2929.             ret=rc===true?rw:rw.rowIndex
  2930.             }
  2931.         });
  2932. return ret
  2933. }
  2934. })
  2935. })(jQuery);
  2936. (function(c){
  2937.     c.fmatter={};
  2938.    
  2939.     c.fn.fmatter=function(g,h,f,d,e){
  2940.         f=c.extend({},c.jgrid.formatter,f);
  2941.         return a(g,h,f,d,e)
  2942.         };
  2943.        
  2944.     c.fmatter.util={
  2945.         NumberFormat:function(f,d){
  2946.             if(!isNumber(f)){
  2947.                 f*=1
  2948.                 }
  2949.                 if(isNumber(f)){
  2950.                 var h=(f<0);
  2951.                 var n=f+"";
  2952.                 var k=(d.decimalSeparator)?d.decimalSeparator:".";
  2953.                 var l;
  2954.                 if(isNumber(d.decimalPlaces)){
  2955.                     var m=d.decimalPlaces;
  2956.                     var g=Math.pow(10,m);
  2957.                     n=Math.round(f*g)/g+"";
  2958.                     l=n.lastIndexOf(".");
  2959.                     if(m>0){
  2960.                         if(l<0){
  2961.                             n+=k;
  2962.                             l=n.length-1
  2963.                             }else{
  2964.                             if(k!=="."){
  2965.                                 n=n.replace(".",k)
  2966.                                 }
  2967.                             }while((n.length-1-l)<m){
  2968.                         n+="0"
  2969.                         }
  2970.                     }
  2971.             }
  2972.         if(d.thousandsSeparator){
  2973.         var p=d.thousandsSeparator;
  2974.         l=n.lastIndexOf(k);
  2975.         l=(l>-1)?l:n.length;
  2976.         var o=n.substring(l);
  2977.         var e=-1;
  2978.         for(var j=l;j>0;j--){
  2979.             e++;
  2980.             if((e%3===0)&&(j!==l)&&(!h||(j>1))){
  2981.                 o=p+o
  2982.                 }
  2983.                 o=n.charAt(j-1)+o
  2984.             }
  2985.             n=o
  2986.         }
  2987.         n=(d.prefix)?d.prefix+n:n;
  2988.     n=(d.suffix)?n+d.suffix:n;
  2989.     return n
  2990.     }else{
  2991.     return f
  2992.     }
  2993. },
  2994. DateFormat:function(I,L,O,x){
  2995.     var m=/\\.|[dDjlNSwzWFmMntLoYyaABgGhHisueIOPTZcrU]/g,C=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,K=/[^-+\dA-Z]/g,J=function(j,i){
  2996.         j=String(j);
  2997.         i=parseInt(i)||2;
  2998.         while(j.length<i){
  2999.             j="0"+j
  3000.             }
  3001.             return j
  3002.         },d={
  3003.         m:1,
  3004.         d:1,
  3005.         y:1970,
  3006.         h:0,
  3007.         i:0,
  3008.         s:0
  3009.     },g=0,q,E,f,D=["i18n"];
  3010.     D.i18n={
  3011.         dayNames:x.dayNames,
  3012.         monthNames:x.monthNames
  3013.         };
  3014.        
  3015.     if(I in x.masks){
  3016.         I=x.masks[I]
  3017.         }
  3018.         L=L.split(/[\\\/:_;.\t\T\s-]/);
  3019.     I=I.split(/[\\\/:_;.\t\T\s-]/);
  3020.     for(E=0,f=I.length;E<f;E++){
  3021.         if(I[E]=="M"){
  3022.             q=c.inArray(L[E],D.i18n.monthNames);
  3023.             if(q!==-1&&q<12){
  3024.                 L[E]=q+1
  3025.                 }
  3026.             }
  3027.         if(I[E]=="F"){
  3028.         q=c.inArray(L[E],D.i18n.monthNames);
  3029.         if(q!==-1&&q>11){
  3030.             L[E]=q+1-12
  3031.             }
  3032.         }
  3033.     d[I[E].toLowerCase()]=parseInt(L[E],10)
  3034. }
  3035. d.m=parseInt(d.m)-1;
  3036. var M=d.y;
  3037. if(M>=70&&M<=99){
  3038.     d.y=1900+d.y
  3039.     }else{
  3040.     if(M>=0&&M<=69){
  3041.         d.y=2000+d.y
  3042.         }
  3043.     }
  3044. g=new Date(d.y,d.m,d.d,d.h,d.i,d.s,0);
  3045. if(O in x.masks){
  3046.     O=x.masks[O]
  3047.     }else{
  3048.     if(!O){
  3049.         O="Y-m-d"
  3050.         }
  3051.     }
  3052. var t=g.getHours(),H=g.getMinutes(),F=g.getDate(),B=g.getMonth()+1,A=g.getTimezoneOffset(),y=g.getSeconds(),v=g.getMilliseconds(),r=g.getDay(),e=g.getFullYear(),l=(r+6)%7+1,p=(new Date(e,B-1,F)-new Date(e,0,1))/86400000,h={
  3053.     d:J(F),
  3054.     D:D.i18n.dayNames[r],
  3055.     j:F,
  3056.     l:D.i18n.dayNames[r+7],
  3057.     N:l,
  3058.     S:x.S(F),
  3059.     w:r,
  3060.     z:p,
  3061.     W:l<5?Math.floor((p+l-1)/7)+1:Math.floor((p+l-1)/7)||((new Date(e-1,0,1).getDay()+6)%7<4?53:52),
  3062.     F:D.i18n.monthNames[B-1+12],
  3063.     m:J(B),
  3064.     M:D.i18n.monthNames[B-1],
  3065.     n:B,
  3066.     t:"?",
  3067.     L:"?",
  3068.     o:"?",
  3069.     Y:e,
  3070.     y:String(e).substring(2),
  3071.     a:t<12?x.AmPm[0]:x.AmPm[1],
  3072.     A:t<12?x.AmPm[2]:x.AmPm[3],
  3073.     B:"?",
  3074.     g:t%12||12,
  3075.     G:t,
  3076.     h:J(t%12||12),
  3077.     H:J(t),
  3078.     i:J(H),
  3079.     s:J(y),
  3080.     u:v,
  3081.     e:"?",
  3082.     I:"?",
  3083.     O:(A>0?"-":"+")+J(Math.floor(Math.abs(A)/60)*100+Math.abs(A)%60,4),
  3084.     P:"?",
  3085.     T:(String(g).match(C)||[""]).pop().replace(K,""),
  3086.     Z:"?",
  3087.     c:"?",
  3088.     r:"?",
  3089.     U:Math.floor(g/1000)
  3090.     };
  3091.    
  3092. return O.replace(m,function(i){
  3093.     return i in h?h[i]:i.substring(1)
  3094.     })
  3095. }
  3096. };
  3097.  
  3098. c.fn.fmatter.defaultFormat=function(e,d){
  3099.     return(isValue(e)&&e!=="")?e:d.defaultValue?d.defaultValue:"&#160;"
  3100.     };
  3101.    
  3102. c.fn.fmatter.email=function(e,d){
  3103.     if(!isEmpty(e)){
  3104.         return'<a href="mailto:'+e+'">'+e+"</a>"
  3105.         }else{
  3106.         return c.fn.fmatter.defaultFormat(e,d)
  3107.         }
  3108.     };
  3109.  
  3110. c.fn.fmatter.checkbox=function(g,e){
  3111.     var h=c.extend({},e.checkbox),f;
  3112.     if(!isUndefined(e.colModel.formatoptions)){
  3113.         h=c.extend({},h,e.colModel.formatoptions)
  3114.         }
  3115.         if(h.disabled===true){
  3116.         f="disabled"
  3117.         }else{
  3118.         f=""
  3119.         }
  3120.         if(isEmpty(g)||isUndefined(g)){
  3121.         g=c.fn.fmatter.defaultFormat(g,h)
  3122.         }
  3123.         g=g+"";
  3124.     g=g.toLowerCase();
  3125.     var d=g.search(/(false|0|no|off)/i)<0?" checked='checked' ":"";
  3126.     return'<input type="checkbox" '+d+' value="'+g+'" offval="no" '+f+"/>"
  3127.     },c.fn.fmatter.link=function(f,d){
  3128.     var g={
  3129.         target:d.target
  3130.         };
  3131.        
  3132.     var e="";
  3133.     if(!isUndefined(d.colModel.formatoptions)){
  3134.         g=c.extend({},g,d.colModel.formatoptions)
  3135.         }
  3136.         if(g.target){
  3137.         e="target="+g.target
  3138.         }
  3139.         if(!isEmpty(f)){
  3140.         return"<a "+e+' href="'+f+'">'+f+"</a>"
  3141.         }else{
  3142.         return c.fn.fmatter.defaultFormat(f,d)
  3143.         }
  3144.     };
  3145.  
  3146. c.fn.fmatter.showlink=function(f,d){
  3147.     var g={
  3148.         baseLinkUrl:d.baseLinkUrl,
  3149.         showAction:d.showAction,
  3150.         addParam:d.addParam||"",
  3151.         target:d.target,
  3152.         idName:d.idName
  3153.         },e="";
  3154.     if(!isUndefined(d.colModel.formatoptions)){
  3155.         g=c.extend({},g,d.colModel.formatoptions)
  3156.         }
  3157.         if(g.target){
  3158.         e="target="+g.target
  3159.         }
  3160.         idUrl=g.baseLinkUrl+g.showAction+"?"+g.idName+"="+d.rowId+g.addParam;
  3161.     if(isString(f)){
  3162.         return"<a "+e+' href="'+idUrl+'">'+f+"</a>"
  3163.         }else{
  3164.         return c.fn.fmatter.defaultFormat(f,d)
  3165.         }
  3166.     };
  3167.  
  3168. c.fn.fmatter.integer=function(e,d){
  3169.     var f=c.extend({},d.integer);
  3170.     if(!isUndefined(d.colModel.formatoptions)){
  3171.         f=c.extend({},f,d.colModel.formatoptions)
  3172.         }
  3173.         if(isEmpty(e)){
  3174.         return f.defaultValue
  3175.         }
  3176.         return c.fmatter.util.NumberFormat(e,f)
  3177.     };
  3178.    
  3179. c.fn.fmatter.number=function(e,d){
  3180.     var f=c.extend({},d.number);
  3181.     if(!isUndefined(d.colModel.formatoptions)){
  3182.         f=c.extend({},f,d.colModel.formatoptions)
  3183.         }
  3184.         if(isEmpty(e)){
  3185.         return f.defaultValue
  3186.         }
  3187.         return c.fmatter.util.NumberFormat(e,f)
  3188.     };
  3189.    
  3190. c.fn.fmatter.currency=function(e,d){
  3191.     var f=c.extend({},d.currency);
  3192.     if(!isUndefined(d.colModel.formatoptions)){
  3193.         f=c.extend({},f,d.colModel.formatoptions)
  3194.         }
  3195.         if(isEmpty(e)){
  3196.         return f.defaultValue
  3197.         }
  3198.         return c.fmatter.util.NumberFormat(e,f)
  3199.     };
  3200.    
  3201. c.fn.fmatter.date=function(f,e,d){
  3202.     var g=c.extend({},e.date);
  3203.     if(!isUndefined(e.colModel.formatoptions)){
  3204.         g=c.extend({},g,e.colModel.formatoptions)
  3205.         }
  3206.         if(!g.reformatAfterEdit&&d=="edit"){
  3207.         return c.fn.fmatter.defaultFormat(f,e)
  3208.         }else{
  3209.         if(!isEmpty(f)){
  3210.             return c.fmatter.util.DateFormat(g.srcformat,f,g.newformat,g)
  3211.             }else{
  3212.             return c.fn.fmatter.defaultFormat(f,e)
  3213.             }
  3214.         }
  3215. };
  3216.  
  3217. c.fn.fmatter.select=function(h,d,m){
  3218.     h=h+"";
  3219.     var f=false,l=[];
  3220.     if(!isUndefined(d.colModel.editoptions)){
  3221.         f=d.colModel.editoptions.value
  3222.         }
  3223.         if(f){
  3224.         var p=d.colModel.editoptions.multiple===true?true:false,n=[],o;
  3225.         if(p){
  3226.             n=h.split(",");
  3227.             n=c.map(n,function(i){
  3228.                 return c.trim(i)
  3229.                 })
  3230.             }
  3231.             if(isString(f)){
  3232.             var e=f.split(";"),g=0;
  3233.             for(var k=0;k<e.length;k++){
  3234.                 o=e[k].split(":");
  3235.                 if(p){
  3236.                     if(jQuery.inArray(o[0],n)>-1){
  3237.                         l[g]=o[1];
  3238.                         g++
  3239.                     }
  3240.                 }else{
  3241.                 if(c.trim(o[0])==c.trim(h)){
  3242.                     l[0]=o[1];
  3243.                     break
  3244.                 }
  3245.             }
  3246.             }
  3247.     }else{
  3248.     if(isObject(f)){
  3249.         if(p){
  3250.             l=jQuery.map(n,function(q,j){
  3251.                 return f[q]
  3252.                 })
  3253.             }else{
  3254.             l[0]=f[h]||""
  3255.             }
  3256.         }
  3257. }
  3258. }
  3259. h=l.join(", ");
  3260. return h==""?c.fn.fmatter.defaultFormat(h,d):h
  3261. };
  3262.  
  3263. c.unformat=function(g,n,k,e){
  3264.     var j,h=n.colModel.formatter,i=n.colModel.formatoptions||{},o,m=/([\.\*\_\'\(\)\{\}\+\?\\])/g;
  3265.     unformatFunc=n.colModel.unformat||(c.fn.fmatter[h]&&c.fn.fmatter[h].unformat);
  3266.     if(typeof unformatFunc!=="undefined"&&isFunction(unformatFunc)){
  3267.         j=unformatFunc(c(g).text(),n,g)
  3268.         }else{
  3269.         if(typeof h!=="undefined"&&isString(h)){
  3270.             var d=c.jgrid.formatter||{},l;
  3271.             switch(h){
  3272.                 case"integer":
  3273.                     i=c.extend({},d.integer,i);
  3274.                     o=i.thousandsSeparator.replace(m,"\\$1");
  3275.                     l=new RegExp(o,"g");
  3276.                     j=c(g).text().replace(l,"");
  3277.                     break;
  3278.                 case"number":
  3279.                     i=c.extend({},d.number,i);
  3280.                     o=i.thousandsSeparator.replace(m,"\\$1");
  3281.                     l=new RegExp(o,"g");
  3282.                     j=c(g).text().replace(l,"").replace(i.decimalSeparator,".");
  3283.                     break;
  3284.                 case"currency":
  3285.                     i=c.extend({},d.currency,i);
  3286.                     o=i.thousandsSeparator.replace(m,"\\$1");
  3287.                     l=new RegExp(o,"g");
  3288.                     j=c(g).text().replace(l,"").replace(i.decimalSeparator,".").replace(i.prefix,"").replace(i.suffix,"");
  3289.                     break;
  3290.                 case"checkbox":
  3291.                     var f=(n.colModel.editoptions)?n.colModel.editoptions.value.split(":"):["Yes","No"];
  3292.                     j=c("input",g).attr("checked")?f[0]:f[1];
  3293.                     break;
  3294.                 case"select":
  3295.                     j=c.unformat.select(g,n,k,e);
  3296.                     break;
  3297.                 default:
  3298.                     j=c(g).text();
  3299.                     break
  3300.                     }
  3301.                 }
  3302.     }
  3303. return j?j:e===true?c(g).text():c.jgrid.htmlDecode(c(g).html())
  3304. };
  3305.  
  3306. c.unformat.select=function(h,s,n,e){
  3307.     var m=[];
  3308.     var q=c(h).text();
  3309.     if(e==true){
  3310.         return q
  3311.         }
  3312.         var l=c.extend({},s.colModel.editoptions);
  3313.     if(l.value){
  3314.         var f=l.value,r=l.multiple===true?true:false,p=[],o;
  3315.         if(r){
  3316.             p=q.split(",");
  3317.             p=c.map(p,function(i){
  3318.                 return c.trim(i)
  3319.                 })
  3320.             }
  3321.             if(isString(f)){
  3322.             var d=f.split(";"),g=0;
  3323.             for(var k=0;k<d.length;k++){
  3324.                 o=d[k].split(":");
  3325.                 if(r){
  3326.                     if(jQuery.inArray(o[1],p)>-1){
  3327.                         m[g]=o[0];
  3328.                         g++
  3329.                     }
  3330.                 }else{
  3331.                 if(c.trim(o[1])==c.trim(q)){
  3332.                     m[0]=o[0];
  3333.                     break
  3334.                 }
  3335.             }
  3336.             }
  3337.     }else{
  3338.     if(isObject(f)){
  3339.         if(!r){
  3340.             p[0]=q
  3341.             }
  3342.             m=jQuery.map(p,function(j){
  3343.             var i;
  3344.             c.each(f,function(t,u){
  3345.                 if(u==j){
  3346.                     i=t;
  3347.                     return false
  3348.                     }
  3349.                 });
  3350.         if(i){
  3351.             return i
  3352.             }
  3353.         })
  3354. }
  3355. }
  3356. return m.join(", ")
  3357. }else{
  3358.     return q||""
  3359.     }
  3360. };
  3361.  
  3362. function a(h,i,g,d,e){
  3363.     h=h.toLowerCase();
  3364.     var f=i;
  3365.     if(c.fn.fmatter[h]){
  3366.         f=c.fn.fmatter[h](i,g,e)
  3367.         }
  3368.         return f
  3369.     }
  3370.     function b(d){
  3371.     if(window.console&&window.console.log){
  3372.         window.console.log(d)
  3373.         }
  3374.     }
  3375. isValue=function(d){
  3376.     return(isObject(d)||isString(d)||isNumber(d)||isBoolean(d))
  3377.     };
  3378.    
  3379. isBoolean=function(d){
  3380.     return typeof d==="boolean"
  3381.     };
  3382.    
  3383. isNull=function(d){
  3384.     return d===null
  3385.     };
  3386.    
  3387. isNumber=function(d){
  3388.     return typeof d==="number"&&isFinite(d)
  3389.     };
  3390.    
  3391. isString=function(d){
  3392.     return typeof d==="string"
  3393.     };
  3394.    
  3395. isEmpty=function(d){
  3396.     if(!isString(d)&&isValue(d)){
  3397.         return false
  3398.         }else{
  3399.         if(!isValue(d)){
  3400.             return true
  3401.             }
  3402.         }
  3403.     d=c.trim(d).replace(/\&nbsp\;/ig,"").replace(/\&#160\;/ig,"");
  3404. return d===""
  3405. };
  3406.  
  3407. isUndefined=function(d){
  3408.     return typeof d==="undefined"
  3409.     };
  3410.    
  3411. isObject=function(d){
  3412.     return(d&&(typeof d==="object"||isFunction(d)))||false
  3413.     };
  3414.    
  3415. isFunction=function(d){
  3416.     return typeof d==="function"
  3417.     }
  3418. })(jQuery);
  3419. (function(a){
  3420.     a.jgrid.extend({
  3421.         getColProp:function(d){
  3422.             var b={},f=this[0];
  3423.             if(!f.grid){
  3424.                 return
  3425.             }
  3426.             var e=f.p.colModel;
  3427.             for(var c=0;c<e.length;c++){
  3428.                 if(e[c].name==d){
  3429.                     b=e[c];
  3430.                     break
  3431.                 }
  3432.             }
  3433.             return b
  3434.         },
  3435.     setColProp:function(c,b){
  3436.         return this.each(function(){
  3437.             if(this.grid){
  3438.                 if(b){
  3439.                     var e=this.p.colModel;
  3440.                     for(var d=0;d<e.length;d++){
  3441.                         if(e[d].name==c){
  3442.                             a.extend(this.p.colModel[d],b);
  3443.                             break
  3444.                         }
  3445.                     }
  3446.                     }
  3447.             }
  3448.     })
  3449. },
  3450. sortGrid:function(c,b){
  3451.     return this.each(function(){
  3452.         var g=this,d=-1;
  3453.         if(!g.grid){
  3454.             return
  3455.         }
  3456.         if(!c){
  3457.             c=g.p.sortname
  3458.             }
  3459.             for(var f=0;f<g.p.colModel.length;f++){
  3460.             if(g.p.colModel[f].index==c||g.p.colModel[f].name==c){
  3461.                 d=f;
  3462.                 break
  3463.             }
  3464.         }
  3465.         if(d!=-1){
  3466.         var e=g.p.colModel[d].sortable;
  3467.         if(typeof e!=="boolean"){
  3468.             e=true
  3469.             }
  3470.             if(typeof b!=="boolean"){
  3471.             b=false
  3472.             }
  3473.             if(e){
  3474.             g.sortData("jqgh_"+c,d,b)
  3475.             }
  3476.         }
  3477.     })
  3478. },
  3479. GridDestroy:function(){
  3480.     return this.each(function(){
  3481.         if(this.grid){
  3482.             if(this.p.pager){
  3483.                 a(this.p.pager).remove()
  3484.                 }
  3485.                 var c=this.id;
  3486.             try{
  3487.                 a("#gbox_"+c).remove()
  3488.                 }catch(b){}
  3489.         }
  3490.     })
  3491. },
  3492. GridUnload:function(){
  3493.     return this.each(function(){
  3494.         if(!this.grid){
  3495.             return
  3496.         }
  3497.         var d={
  3498.             id:a(this).attr("id"),
  3499.             cl:a(this).attr("class")
  3500.             };
  3501.            
  3502.         if(this.p.pager){
  3503.             a(this.p.pager).empty().removeClass("ui-state-default ui-jqgrid-pager corner-bottom")
  3504.             }
  3505.             var b=document.createElement("table");
  3506.         a(b).attr({
  3507.             id:d.id
  3508.             });
  3509.         b.className=d.cl;
  3510.         var c=this.id;
  3511.         a(b).removeClass("ui-jqgrid-btable");
  3512.         if(a(this.p.pager).parents("#gbox_"+c).length===1){
  3513.             a(b).insertBefore("#gbox_"+c).show();
  3514.             a(this.p.pager).insertBefore("#gbox_"+c)
  3515.             }else{
  3516.             a(b).insertBefore("#gbox_"+c).show()
  3517.             }
  3518.             a("#gbox_"+c).remove()
  3519.         })
  3520.     },
  3521. setGridState:function(b){
  3522.     return this.each(function(){
  3523.         if(!this.grid){
  3524.             return
  3525.         }
  3526.         $t=this;
  3527.         if(b=="hidden"){
  3528.             a(".ui-jqgrid-bdiv, .ui-jqgrid-hdiv","#gview_"+$t.p.id).slideUp("fast");
  3529.             if($t.p.pager){
  3530.                 a($t.p.pager).slideUp("fast")
  3531.                 }
  3532.                 if($t.p.toolbar[0]===true){
  3533.                 if($t.p.toolbar[1]=="both"){
  3534.                     a($t.grid.ubDiv).slideUp("fast")
  3535.                     }
  3536.                     a($t.grid.uDiv).slideUp("fast")
  3537.                 }
  3538.                 if($t.p.footerrow){
  3539.                 a(".ui-jqgrid-sdiv","#gbox_"+$s.p.id).slideUp("fast")
  3540.                 }
  3541.                 a(".ui-jqgrid-titlebar-close span",$t.grid.cDiv).removeClass("ui-icon-circle-triangle-n").addClass("ui-icon-circle-triangle-s");
  3542.             $t.p.gridstate="hidden"
  3543.             }else{
  3544.             if(b=="visible"){
  3545.                 a(".ui-jqgrid-hdiv, .ui-jqgrid-bdiv","#gview_"+$t.p.id).slideDown("fast");
  3546.                 if($t.p.pager){
  3547.                     a($t.p.pager).slideDown("fast")
  3548.                     }
  3549.                     if($t.p.toolbar[0]===true){
  3550.                     if($t.p.toolbar[1]=="both"){
  3551.                         a($t.grid.ubDiv).slideDown("fast")
  3552.                         }
  3553.                         a($t.grid.uDiv).slideDown("fast")
  3554.                     }
  3555.                     if($t.p.footerrow){
  3556.                     a(".ui-jqgrid-sdiv","#gbox_"+$t.p.id).slideDown("fast")
  3557.                     }
  3558.                     a(".ui-jqgrid-titlebar-close span",$t.grid.cDiv).removeClass("ui-icon-circle-triangle-s").addClass("ui-icon-circle-triangle-n");
  3559.                 $t.p.gridstate="visible"
  3560.                 }
  3561.             }
  3562.     })
  3563. },
  3564. updateGridRows:function(e,c,d){
  3565.     var b,f=false;
  3566.     this.each(function(){
  3567.         var h=this,j,k,i,g;
  3568.         if(!h.grid){
  3569.             return false
  3570.             }
  3571.             if(!c){
  3572.             c="id"
  3573.             }
  3574.             if(e&&e.length>0){
  3575.             a(e).each(function(m){
  3576.                 i=this;
  3577.                 k=h.rows.namedItem(i[c]);
  3578.                 if(k){
  3579.                     g=i[c];
  3580.                     if(d===true){
  3581.                         if(h.p.jsonReader.repeatitems===true){
  3582.                             if(h.p.jsonReader.cell){
  3583.                                 i=i[h.p.jsonReader.cell]
  3584.                                 }
  3585.                                 for(var l=0;l<i.length;l++){
  3586.                                 j=h.formatter(g,i[l],l,i,"edit");
  3587.                                 if(h.p.treeGrid===true&&b==h.p.ExpandColumn){
  3588.                                     a("td:eq("+l+") > span:first",k).html(j).attr("title",a.jgrid.stripHtml(j))
  3589.                                     }else{
  3590.                                     a("td:eq("+l+")",k).html(j).attr("title",a.jgrid.stripHtml(j))
  3591.                                     }
  3592.                                 }
  3593.                             f=true;
  3594.                         return true
  3595.                         }
  3596.                     }
  3597.                 a(h.p.colModel).each(function(n){
  3598.                 b=d===true?this.jsonmap||this.name:this.name;
  3599.                 if(i[b]!=undefined){
  3600.                     j=h.formatter(g,i[b],n,i,"edit");
  3601.                     if(h.p.treeGrid===true&&b==h.p.ExpandColumn){
  3602.                         a("td:eq("+n+") > span:first",k).html(j).attr("title",a.jgrid.stripHtml(j))
  3603.                         }else{
  3604.                         a("td:eq("+n+")",k).html(j).attr("title",a.jgrid.stripHtml(j))
  3605.                         }
  3606.                         f=true
  3607.                     }
  3608.                 })
  3609.             }
  3610.         })
  3611. }
  3612. });
  3613. return f
  3614. },
  3615. filterGrid:function(c,b){
  3616.     b=a.extend({
  3617.         gridModel:false,
  3618.         gridNames:false,
  3619.         gridToolbar:false,
  3620.         filterModel:[],
  3621.         formtype:"horizontal",
  3622.         autosearch:true,
  3623.         formclass:"filterform",
  3624.         tableclass:"filtertable",
  3625.         buttonclass:"filterbutton",
  3626.         searchButton:"Search",
  3627.         clearButton:"Clear",
  3628.         enableSearch:false,
  3629.         enableClear:false,
  3630.         beforeSearch:null,
  3631.         afterSearch:null,
  3632.         beforeClear:null,
  3633.         afterClear:null,
  3634.         url:"",
  3635.         marksearched:true
  3636.     },b||{});
  3637.     return this.each(function(){
  3638.         var l=this;
  3639.         this.p=b;
  3640.         if(this.p.filterModel.length==0&&this.p.gridModel===false){
  3641.             alert("No filter is set");
  3642.             return
  3643.         }
  3644.         if(!c){
  3645.             alert("No target grid is set!");
  3646.             return
  3647.         }
  3648.         this.p.gridid=c.indexOf("#")!=-1?c:"#"+c;
  3649.         var d=a(this.p.gridid).jqGrid("getGridParam","colModel");
  3650.         if(d){
  3651.             if(this.p.gridModel===true){
  3652.                 var e=a(this.p.gridid)[0];
  3653.                 var g;
  3654.                 a.each(d,function(o,p){
  3655.                     var m=[];
  3656.                     this.search=this.search===false?false:true;
  3657.                     if(this.editrules&&this.editrules.searchhidden===true){
  3658.                         g=true
  3659.                         }else{
  3660.                         if(this.hidden===true){
  3661.                             g=false
  3662.                             }else{
  3663.                             g=true
  3664.                             }
  3665.                         }
  3666.                     if(this.search===true&&g===true){
  3667.                     if(l.p.gridNames===true){
  3668.                         m.label=e.p.colNames[o]
  3669.                         }else{
  3670.                         m.label=""
  3671.                         }
  3672.                         m.name=this.name;
  3673.                     m.index=this.index||this.name;
  3674.                     m.stype=this.edittype||"text";
  3675.                     if(m.stype!="select"){
  3676.                         m.stype="text"
  3677.                         }
  3678.                         m.defval=this.defval||"";
  3679.                     m.surl=this.surl||"";
  3680.                     m.sopt=this.editoptions||{};
  3681.                    
  3682.                     m.width=this.width;
  3683.                     l.p.filterModel.push(m)
  3684.                     }
  3685.                 })
  3686.         }else{
  3687.         a.each(l.p.filterModel,function(o,p){
  3688.             for(var m=0;m<d.length;m++){
  3689.                 if(this.name==d[m].name){
  3690.                     this.index=d[m].index||this.name;
  3691.                     break
  3692.                 }
  3693.             }
  3694.             if(!this.index){
  3695.             this.index=this.name
  3696.             }
  3697.         })
  3698.     }
  3699. }else{
  3700.     alert("Could not get grid colModel");
  3701.     return
  3702. }
  3703. var h=function(){
  3704.     var q={},p=0,n;
  3705.     var o=a(l.p.gridid)[0],m;
  3706.     o.p.searchdata={};
  3707.    
  3708.     if(a.isFunction(l.p.beforeSearch)){
  3709.         l.p.beforeSearch()
  3710.         }
  3711.         a.each(l.p.filterModel,function(t,v){
  3712.         m=this.index;
  3713.         switch(this.stype){
  3714.             case"select":
  3715.                 n=a("select[name="+m+"]",l).val();
  3716.                 if(n){
  3717.                 q[m]=n;
  3718.                 if(l.p.marksearched){
  3719.                     a("#jqgh_"+this.name,o.grid.hDiv).addClass("dirty-cell")
  3720.                     }
  3721.                     p++
  3722.             }else{
  3723.                 if(l.p.marksearched){
  3724.                     a("#jqgh_"+this.name,o.grid.hDiv).removeClass("dirty-cell")
  3725.                     }
  3726.                     try{
  3727.                     delete o.p.postData[this.index]
  3728.                 }catch(u){}
  3729.             }
  3730.             break;
  3731.         default:
  3732.             n=a("input[name="+m+"]",l).val();
  3733.             if(n){
  3734.             q[m]=n;
  3735.             if(l.p.marksearched){
  3736.                 a("#jqgh_"+this.name,o.grid.hDiv).addClass("dirty-cell")
  3737.                 }
  3738.                 p++
  3739.         }
  3740.         else{
  3741.             if(l.p.marksearched){
  3742.                 a("#jqgh_"+this.name,o.grid.hDiv).removeClass("dirty-cell")
  3743.                 }
  3744.                 try{
  3745.                 delete o.p.postData[this.index]
  3746.             }catch(u){}
  3747.         }
  3748.         }
  3749.     });
  3750. var r=p>0?true:false;
  3751. a.extend(o.p.postData,q);
  3752. var s;
  3753. if(l.p.url){
  3754.     s=a(o).jqGrid("getGridParam","url");
  3755.     a(o).jqGrid("setGridParam",{
  3756.         url:l.p.url
  3757.         })
  3758.     }
  3759.     a(o).jqGrid("setGridParam",{
  3760.     search:r
  3761. }).trigger("reloadGrid",[{
  3762.     page:1
  3763. }]);
  3764. if(s){
  3765.     a(o).jqGrid("setGridParam",{
  3766.         url:s
  3767.     })
  3768.     }
  3769.     if(a.isFunction(l.p.afterSearch)){
  3770.     l.p.afterSearch()
  3771.     }
  3772. };
  3773.  
  3774. var k=function(){
  3775.     var q={},n,p=0;
  3776.     var o=a(l.p.gridid)[0],m;
  3777.     if(a.isFunction(l.p.beforeClear)){
  3778.         l.p.beforeClear()
  3779.         }
  3780.         a.each(l.p.filterModel,function(t,w){
  3781.         m=this.index;
  3782.         n=(this.defval)?this.defval:"";
  3783.         if(!this.stype){
  3784.             this.stype=="text"
  3785.             }
  3786.             switch(this.stype){
  3787.             case"select":
  3788.                 var v;
  3789.                 a("select[name="+m+"] option",l).each(function(x){
  3790.                 if(x==0){
  3791.                     this.selected=true
  3792.                     }
  3793.                     if(a(this).text()==n){
  3794.                     this.selected=true;
  3795.                     v=a(this).val();
  3796.                     return false
  3797.                     }
  3798.                 });
  3799.             if(v){
  3800.                 q[m]=v;
  3801.                 if(l.p.marksearched){
  3802.                     a("#jqgh_"+this.name,o.grid.hDiv).addClass("dirty-cell")
  3803.                     }
  3804.                     p++
  3805.             }else{
  3806.                 if(l.p.marksearched){
  3807.                     a("#jqgh_"+this.name,o.grid.hDiv).removeClass("dirty-cell")
  3808.                     }
  3809.                     try{
  3810.                     delete o.p.postData[this.index]
  3811.                 }catch(u){}
  3812.             }
  3813.             break;
  3814.     case"text":
  3815.         a("input[name="+m+"]",l).val(n);
  3816.         if(n){
  3817.         q[m]=n;
  3818.         if(l.p.marksearched){
  3819.             a("#jqgh_"+this.name,o.grid.hDiv).addClass("dirty-cell")
  3820.             }
  3821.             p++
  3822.     }else{
  3823.         if(l.p.marksearched){
  3824.             a("#jqgh_"+this.name,o.grid.hDiv).removeClass("dirty-cell")
  3825.             }
  3826.             try{
  3827.             delete o.p.postData[this.index]
  3828.         }catch(u){}
  3829.     }
  3830.     break
  3831.         }
  3832.     });
  3833. var r=p>0?true:false;
  3834. a.extend(o.p.postData,q);
  3835. var s;
  3836. if(l.p.url){
  3837.     s=a(o).jqGrid("getGridParam","url");
  3838.     a(o).jqGrid("setGridParam",{
  3839.         url:l.p.url
  3840.         })
  3841.     }
  3842.     a(o).jqGrid("setGridParam",{
  3843.     search:r
  3844. }).trigger("reloadGrid",[{
  3845.     page:1
  3846. }]);
  3847. if(s){
  3848.     a(o).jqGrid("setGridParam",{
  3849.         url:s
  3850.     })
  3851.     }
  3852.     if(a.isFunction(l.p.afterClear)){
  3853.     l.p.afterClear()
  3854.     }
  3855. };
  3856.  
  3857. var i=function(){
  3858.     var q=document.createElement("tr");
  3859.     var n,s,m,o,r,p;
  3860.     if(l.p.formtype=="horizontal"){
  3861.         a(f).append(q)
  3862.         }
  3863.         a.each(l.p.filterModel,function(A,v){
  3864.         o=document.createElement("td");
  3865.         a(o).append("<label for='"+this.name+"'>"+this.label+"</label>");
  3866.         r=document.createElement("td");
  3867.         var z=this;
  3868.         if(!this.stype){
  3869.             this.stype="text"
  3870.             }
  3871.             switch(this.stype){
  3872.             case"select":
  3873.                 if(this.surl){
  3874.                 a(r).load(this.surl,function(){
  3875.                     if(z.defval){
  3876.                         a("select",this).val(z.defval)
  3877.                         }
  3878.                         a("select",this).attr({
  3879.                         name:z.index||z.name,
  3880.                         id:"sg_"+z.name
  3881.                         });
  3882.                     if(z.sopt){
  3883.                         a("select",this).attr(z.sopt)
  3884.                         }
  3885.                         if(l.p.gridToolbar===true&&z.width){
  3886.                         a("select",this).width(z.width)
  3887.                         }
  3888.                         if(l.p.autosearch===true){
  3889.                         a("select",this).change(function(E){
  3890.                             h();
  3891.                             return false
  3892.                             })
  3893.                         }
  3894.                     })
  3895.             }else{
  3896.                 if(z.sopt.value){
  3897.                     var t=z.sopt.value;
  3898.                     var w=document.createElement("select");
  3899.                     a(w).attr({
  3900.                         name:z.index||z.name,
  3901.                         id:"sg_"+z.name
  3902.                         }).attr(z.sopt);
  3903.                     if(typeof t==="string"){
  3904.                         var u=t.split(";"),D,x;
  3905.                         for(var y=0;y<u.length;y++){
  3906.                             D=u[y].split(":");
  3907.                             x=document.createElement("option");
  3908.                             x.value=D[0];
  3909.                             x.innerHTML=D[1];
  3910.                             if(D[1]==z.defval){
  3911.                                 x.selected="selected"
  3912.                                 }
  3913.                                 w.appendChild(x)
  3914.                             }
  3915.                         }else{
  3916.                     if(typeof t==="object"){
  3917.                         for(var C in t){
  3918.                             A++;
  3919.                             x=document.createElement("option");
  3920.                             x.value=C;
  3921.                             x.innerHTML=t[C];
  3922.                             if(t[C]==z.defval){
  3923.                                 x.selected="selected"
  3924.                                 }
  3925.                                 w.appendChild(x)
  3926.                             }
  3927.                         }
  3928.                         }
  3929.             if(l.p.gridToolbar===true&&z.width){
  3930.             a(w).width(z.width)
  3931.             }
  3932.             a(r).append(w);
  3933.         if(l.p.autosearch===true){
  3934.             a(w).change(function(E){
  3935.                 h();
  3936.                 return false
  3937.                 })
  3938.             }
  3939.         }
  3940.     }
  3941. break;
  3942. case"text":
  3943.     var B=this.defval?this.defval:"";
  3944.     a(r).append("<input type='text' name='"+(this.index||this.name)+"' id='sg_"+this.name+"' value='"+B+"'/>");
  3945.     if(z.sopt){
  3946.     a("input",r).attr(z.sopt)
  3947.     }
  3948.     if(l.p.gridToolbar===true&&z.width){
  3949.     if(a.browser.msie){
  3950.         a("input",r).width(z.width-4)
  3951.         }else{
  3952.         a("input",r).width(z.width-2)
  3953.         }
  3954.     }
  3955. if(l.p.autosearch===true){
  3956.     a("input",r).keypress(function(F){
  3957.         var E=F.charCode?F.charCode:F.keyCode?F.keyCode:0;
  3958.         if(E==13){
  3959.             h();
  3960.             return false
  3961.             }
  3962.             return this
  3963.         })
  3964.     }
  3965.     break
  3966. }
  3967. if(l.p.formtype=="horizontal"){
  3968.     if(l.p.gridToolbar===true&&l.p.gridNames===false){
  3969.         a(q).append(r)
  3970.         }else{
  3971.         a(q).append(o).append(r)
  3972.         }
  3973.         a(q).append(r)
  3974.     }else{
  3975.     n=document.createElement("tr");
  3976.     a(n).append(o).append(r);
  3977.     a(f).append(n)
  3978.     }
  3979. });
  3980. r=document.createElement("td");
  3981. if(l.p.enableSearch===true){
  3982.     s="<input type='button' id='sButton' class='"+l.p.buttonclass+"' value='"+l.p.searchButton+"'/>";
  3983.     a(r).append(s);
  3984.     a("input#sButton",r).click(function(){
  3985.         h();
  3986.         return false
  3987.         })
  3988.     }
  3989.     if(l.p.enableClear===true){
  3990.     m="<input type='button' id='cButton' class='"+l.p.buttonclass+"' value='"+l.p.clearButton+"'/>";
  3991.     a(r).append(m);
  3992.     a("input#cButton",r).click(function(){
  3993.         k();
  3994.         return false
  3995.         })
  3996.     }
  3997.     if(l.p.enableClear===true||l.p.enableSearch===true){
  3998.     if(l.p.formtype=="horizontal"){
  3999.         a(q).append(r)
  4000.         }else{
  4001.         n=document.createElement("tr");
  4002.         a(n).append("<td>&nbsp;</td>").append(r);
  4003.         a(f).append(n)
  4004.         }
  4005.     }
  4006. };
  4007.  
  4008. var j=a("<form name='SearchForm' style=display:inline;' class='"+this.p.formclass+"'></form>");
  4009. var f=a("<table class='"+this.p.tableclass+"' cellspacing='0' cellpading='0' border='0'><tbody></tbody></table>");
  4010. a(j).append(f);
  4011. i();
  4012. a(this).append(j);
  4013. this.triggerSearch=h;
  4014. this.clearSearch=k
  4015. })
  4016. },
  4017. filterToolbar:function(b){
  4018.     b=a.extend({
  4019.         autosearch:true,
  4020.         beforeSearch:null,
  4021.         afterSearch:null,
  4022.         beforeClear:null,
  4023.         afterClear:null,
  4024.         searchurl:""
  4025.     },b||{});
  4026.     return this.each(function(){
  4027.         var g=this;
  4028.         var c=function(){
  4029.             var o={},n=0,m,l;
  4030.             g.p.searchdata={};
  4031.            
  4032.             a.each(g.p.colModel,function(s,u){
  4033.                 l=this.index||this.name;
  4034.                 switch(this.stype){
  4035.                     case"select":
  4036.                         m=a("select[name="+l+"]",g.grid.hDiv).val();
  4037.                         if(m){
  4038.                         o[l]=m;
  4039.                         n++
  4040.                     }else{
  4041.                         try{
  4042.                             delete g.p.postData[l]
  4043.                         }catch(t){}
  4044.                     }
  4045.                     break;
  4046.                 case"text":
  4047.                     m=a("input[name="+l+"]",g.grid.hDiv).val();
  4048.                     if(m){
  4049.                     o[l]=m;
  4050.                     n++
  4051.                 }else{
  4052.                     try{
  4053.                         delete g.p.postData[l]
  4054.                     }catch(t){}
  4055.                 }
  4056.                 break
  4057.                 }
  4058.             });
  4059.     var p=n>0?true:false;
  4060.     a.extend(g.p.postData,o);
  4061.     var r;
  4062.     if(g.p.searchurl){
  4063.         r=g.p.url;
  4064.         a(g).jqGrid("setGridParam",{
  4065.             url:g.p.searchurl
  4066.             })
  4067.         }
  4068.         var q=false;
  4069.     if(a.isFunction(b.beforeSearch)){
  4070.         q=b.beforeSearch.call(g)
  4071.         }
  4072.         if(!q){
  4073.         a(g).jqGrid("setGridParam",{
  4074.             search:p
  4075.         }).trigger("reloadGrid",[{
  4076.             page:1
  4077.         }])
  4078.         }
  4079.         if(r){
  4080.         a(g).jqGrid("setGridParam",{
  4081.             url:r
  4082.         })
  4083.         }
  4084.         if(a.isFunction(b.afterSearch)){
  4085.         b.afterSearch()
  4086.         }
  4087.     };
  4088.  
  4089. var j=function(){
  4090.     var o={},m,n=0,l;
  4091.     a.each(g.p.colModel,function(s,v){
  4092.         m=(this.searchoptions&&this.searchoptions.defaultValue)?this.searchoptions.defaultValue:"";
  4093.         l=this.index||this.name;
  4094.         switch(this.stype){
  4095.             case"select":
  4096.                 var u;
  4097.                 a("select[name="+l+"] option",g.grid.hDiv).each(function(w){
  4098.                 if(w==0){
  4099.                     this.selected=true
  4100.                     }
  4101.                     if(a(this).text()==m){
  4102.                     this.selected=true;
  4103.                     u=a(this).val();
  4104.                     return false
  4105.                     }
  4106.                 });
  4107.             if(u){
  4108.                 o[l]=u;
  4109.                 n++
  4110.             }
  4111.             else{
  4112.                 try{
  4113.                     delete g.p.postData[l]
  4114.                 }catch(t){}
  4115.             }
  4116.             break;
  4117.     case"text":
  4118.         a("input[name="+l+"]",g.grid.hDiv).val(m);
  4119.         if(m){
  4120.         o[l]=m;
  4121.         n++
  4122.     }else{
  4123.         try{
  4124.             delete g.p.postData[l]
  4125.         }catch(t){}
  4126.     }
  4127.     break
  4128.         }
  4129.     });
  4130. var q=n>0?true:false;
  4131. a.extend(g.p.postData,o);
  4132. var r;
  4133. if(g.p.searchurl){
  4134.     r=g.p.url;
  4135.     a(g).jqGrid("setGridParam",{
  4136.         url:g.p.searchurl
  4137.         })
  4138.     }
  4139.     var p=false;
  4140. if(a.isFunction(b.beforeClear)){
  4141.     p=b.beforeClear.call(g)
  4142.     }
  4143.     if(!p){
  4144.     a(g).jqGrid("setGridParam",{
  4145.         search:q
  4146.     }).trigger("reloadGrid",[{
  4147.         page:1
  4148.     }])
  4149.     }
  4150.     if(r){
  4151.     a(g).jqGrid("setGridParam",{
  4152.         url:r
  4153.     })
  4154.     }
  4155.     if(a.isFunction(b.afterClear)){
  4156.     b.afterClear()
  4157.     }
  4158. };
  4159.  
  4160. var k=function(){
  4161.     var l=a("tr.ui-search-toolbar",g.grid.hDiv);
  4162.     if(l.css("display")=="none"){
  4163.         l.show()
  4164.         }else{
  4165.         l.hide()
  4166.         }
  4167.     };
  4168.  
  4169. function f(l,n){
  4170.     var m=a(l);
  4171.     if(m[0]!=null){
  4172.         jQuery.each(n,function(){
  4173.             if(this.data!=null){
  4174.                 m.bind(this.type,this.data,this.fn)
  4175.                 }else{
  4176.                 m.bind(this.type,this.fn)
  4177.                 }
  4178.             })
  4179.     }
  4180. }
  4181. var h=a("<tr class='ui-search-toolbar' role='rowheader'></tr>"),d,i,e;
  4182. a.each(g.p.colModel,function(t,p){
  4183.     var v=this;
  4184.     d=a("<th role='columnheader' class='ui-state-default ui-th-column ui-th-"+g.p.direction+"'></th>");
  4185.     i=a("<div style='width:100%;position:relative;height:100%;padding-right:0.3em;'></div>");
  4186.     if(this.hidden===true){
  4187.         a(d).css("display","none")
  4188.         }
  4189.         this.search=this.search===false?false:true;
  4190.     if(typeof this.stype=="undefined"){
  4191.         this.stype="text"
  4192.         }
  4193.         e=a.extend({},this.searchoptions||{});
  4194.     if(this.search){
  4195.         switch(this.stype){
  4196.             case"select":
  4197.                 var l=this.surl||e.dataUrl;
  4198.                 if(l){
  4199.                 var y=i;
  4200.                 a.ajax(a.extend({
  4201.                     url:l,
  4202.                     dataType:"html",
  4203.                     complete:function(z,n){
  4204.                         if(e.buildSelect!=null){
  4205.                             var A=e.buildSelect(z);
  4206.                             if(A){
  4207.                                 a(y).append(A)
  4208.                                 }
  4209.                             }else{
  4210.                         a(y).append(z.responseText)
  4211.                         }
  4212.                         if(e.defaultValue){
  4213.                         a("select",y).val(e.defaultValue)
  4214.                         }
  4215.                         a("select",y).attr({
  4216.                         name:v.index||v.name,
  4217.                         id:"gs_"+v.name
  4218.                         });
  4219.                     if(e.attr){
  4220.                         a("select",y).attr(e.attr)
  4221.                         }
  4222.                         a("select",y).css({
  4223.                         width:"100%"
  4224.                     });
  4225.                     if(e.dataInit!=null){
  4226.                         e.dataInit(a("select",y)[0])
  4227.                         }
  4228.                         if(e.dataEvents!=null){
  4229.                         f(a("select",y)[0],e.dataEvents)
  4230.                         }
  4231.                         if(b.autosearch===true){
  4232.                         a("select",y).change(function(B){
  4233.                             c();
  4234.                             return false
  4235.                             })
  4236.                         }
  4237.                     }
  4238.                 },a.jgrid.ajaxOptions,g.p.ajaxSelectOptions||{}))
  4239.         }else{
  4240.         var m;
  4241.         if(v.searchoptions&&v.searchoptions.value){
  4242.             m=v.searchoptions.value
  4243.             }else{
  4244.             if(v.editoptions&&v.editoptions.value){
  4245.                 m=v.editoptions.value
  4246.                 }
  4247.             }
  4248.         if(m){
  4249.         var r=document.createElement("select");
  4250.         r.style.width="100%";
  4251.         a(r).attr({
  4252.             name:v.index||v.name,
  4253.             id:"gs_"+v.name
  4254.             });
  4255.         if(typeof m==="string"){
  4256.             var o=m.split(";"),x,q;
  4257.             for(var s=0;s<o.length;s++){
  4258.                 x=o[s].split(":");
  4259.                 q=document.createElement("option");
  4260.                 q.value=x[0];
  4261.                 q.innerHTML=x[1];
  4262.                 r.appendChild(q)
  4263.                 }
  4264.             }else{
  4265.         if(typeof m==="object"){
  4266.             for(var w in m){
  4267.                 q=document.createElement("option");
  4268.                 q.value=w;
  4269.                 q.innerHTML=m[w];
  4270.                 r.appendChild(q)
  4271.                 }
  4272.             }
  4273.             }
  4274. if(e.defaultValue){
  4275.     a(r).val(e.defaultValue)
  4276.     }
  4277.     if(e.attr){
  4278.     a(r).attr(e.attr)
  4279.     }
  4280.     if(e.dataInit!=null){
  4281.     e.dataInit(r)
  4282.     }
  4283.     if(e.dataEvents!=null){
  4284.     f(r,e.dataEvents)
  4285.     }
  4286.     a(i).append(r);
  4287. if(b.autosearch===true){
  4288.     a(r).change(function(n){
  4289.         c();
  4290.         return false
  4291.         })
  4292.     }
  4293. }
  4294. }
  4295. break;
  4296. case"text":
  4297.     var u=e.defaultValue?e.defaultValue:"";
  4298.     a(i).append("<input type='text' style='width:95%;padding:0px;' name='"+(v.index||v.name)+"' id='gs_"+v.name+"' value='"+u+"'/>");
  4299.     if(e.attr){
  4300.     a("input",i).attr(e.attr)
  4301.     }
  4302.     if(e.dataInit!=null){
  4303.     e.dataInit(a("input",i)[0])
  4304.     }
  4305.     if(e.dataEvents!=null){
  4306.     f(a("input",i)[0],e.dataEvents)
  4307.     }
  4308.     if(b.autosearch===true){
  4309.     a("input",i).keypress(function(z){
  4310.         var n=z.charCode?z.charCode:z.keyCode?z.keyCode:0;
  4311.         if(n==13){
  4312.             c();
  4313.             return false
  4314.             }
  4315.             return this
  4316.         })
  4317.     }
  4318.     break
  4319. }
  4320. }
  4321. a(d).append(i);
  4322. a(h).append(d)
  4323. });
  4324. a("table thead",g.grid.hDiv).append(h);
  4325. this.triggerToolbar=c;
  4326. this.clearToolbar=j;
  4327. this.toggleToolbar=k
  4328. })
  4329. }
  4330. })
  4331. })(jQuery);
  4332. var showModal=function(a){
  4333.     a.w.show()
  4334.     };
  4335.    
  4336. var closeModal=function(a){
  4337.     a.w.hide().attr("aria-hidden","true");
  4338.     if(a.o){
  4339.         a.o.remove()
  4340.         }
  4341.     };
  4342.  
  4343. var createModal=function(l,g,b,n,q,o){
  4344.     var k=document.createElement("div"),a;
  4345.     a=jQuery(b.gbox).attr("dir")=="rtl"?true:false;
  4346.     k.className="ui-widget ui-widget-content ui-corner-all ui-jqdialog";
  4347.     k.id=l.themodal;
  4348.     var d=document.createElement("div");
  4349.     d.className="ui-jqdialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix";
  4350.     d.id=l.modalhead;
  4351.     jQuery(d).append("<span class='ui-jqdialog-title'>"+b.caption+"</span>");
  4352.     var m=jQuery("<a href='javascript:void(0)' class='ui-jqdialog-titlebar-close ui-corner-all'></a>").hover(function(){
  4353.         m.addClass("ui-state-hover")
  4354.         },function(){
  4355.         m.removeClass("ui-state-hover")
  4356.         }).append("<span class='ui-icon ui-icon-closethick'></span>");
  4357.     jQuery(d).append(m);
  4358.     if(a){
  4359.         k.dir="rtl";
  4360.         jQuery(".ui-jqdialog-title",d).css("float","right");
  4361.         jQuery(".ui-jqdialog-titlebar-close",d).css("left",0.3+"em")
  4362.         }else{
  4363.         k.dir="ltr";
  4364.         jQuery(".ui-jqdialog-title",d).css("float","left");
  4365.         jQuery(".ui-jqdialog-titlebar-close",d).css("right",0.3+"em")
  4366.         }
  4367.         var i=document.createElement("div");
  4368.     jQuery(i).addClass("ui-jqdialog-content ui-widget-content").attr("id",l.modalcontent);
  4369.     jQuery(i).append(g);
  4370.     k.appendChild(i);
  4371.     jQuery(k).prepend(d);
  4372.     if(o===true){
  4373.         jQuery("body").append(k)
  4374.         }else{
  4375.         jQuery(k).insertBefore(n)
  4376.         }
  4377.         if(typeof b.jqModal==="undefined"){
  4378.         b.jqModal=true
  4379.         }
  4380.         var c={};
  4381.    
  4382.     if(jQuery.fn.jqm&&b.jqModal===true){
  4383.         if(b.left==0&&b.top==0){
  4384.             var h=[];
  4385.             h=findPos(q);
  4386.             b.left=h[0]+4;
  4387.             b.top=h[1]+4
  4388.             }
  4389.             c.top=b.top+"px";
  4390.         c.left=b.left
  4391.         }else{
  4392.         if(b.left!=0||b.top!=0){
  4393.             c.left=b.left;
  4394.             c.top=b.top+"px"
  4395.             }
  4396.         }
  4397.     jQuery("a.ui-jqdialog-titlebar-close",d).click(function(r){
  4398.     var p=jQuery("#"+l.themodal).data("onClose")||b.onClose;
  4399.     var s=jQuery("#"+l.themodal).data("gbox")||b.gbox;
  4400.     hideModal("#"+l.themodal,{
  4401.         gb:s,
  4402.         jqm:b.jqModal,
  4403.         onClose:p
  4404.     });
  4405.     return false
  4406.     });
  4407. if(b.width==0||!b.width){
  4408.     b.width=300
  4409.     }
  4410.     if(b.height==0||!b.height){
  4411.     b.height=200
  4412.     }
  4413.     if(!b.zIndex){
  4414.     b.zIndex=950
  4415.     }
  4416.     var j=0;
  4417. if(a&&c.left&&!o){
  4418.     j=jQuery(b.gbox).width()-(!isNaN(b.width)?parseInt(b.width):0)-8;
  4419.     c.left=parseInt(c.left)+parseInt(j)
  4420.     }
  4421.     if(c.left){
  4422.     c.left+="px"
  4423.     }
  4424.     jQuery(k).css(jQuery.extend({
  4425.     width:isNaN(b.width)?"auto":b.width+"px",
  4426.     height:isNaN(b.height)?"auto":b.height+"px",
  4427.     zIndex:b.zIndex,
  4428.     overflow:"hidden"
  4429. },c)).attr({
  4430.     tabIndex:"-1",
  4431.     role:"dialog",
  4432.     "aria-labelledby":l.modalhead,
  4433.     "aria-hidden":"true"
  4434. });
  4435. if(typeof b.drag=="undefined"){
  4436.     b.drag=true
  4437.     }
  4438.     if(typeof b.resize=="undefined"){
  4439.     b.resize=true
  4440.     }
  4441.     if(b.drag){
  4442.     jQuery(d).css("cursor","move");
  4443.     if(jQuery.fn.jqDrag){
  4444.         jQuery(k).jqDrag(d)
  4445.         }else{
  4446.         try{
  4447.             jQuery(k).draggable({
  4448.                 handle:jQuery("#"+d.id)
  4449.                 })
  4450.             }catch(f){}
  4451.     }
  4452. }
  4453. if(b.resize){
  4454.     if(jQuery.fn.jqResize){
  4455.         jQuery(k).append("<div class='jqResize ui-resizable-handle ui-resizable-se ui-icon ui-icon-gripsmall-diagonal-se ui-icon-grip-diagonal-se'></div>");
  4456.         jQuery("#"+l.themodal).jqResize(".jqResize",l.scrollelm?"#"+l.scrollelm:false)
  4457.         }else{
  4458.         try{
  4459.             jQuery(k).resizable({
  4460.                 handles:"se, sw",
  4461.                 alsoResize:l.scrollelm?"#"+l.scrollelm:false
  4462.                 })
  4463.             }catch(f){}
  4464.     }
  4465. }
  4466. if(b.closeOnEscape===true){
  4467.     jQuery(k).keydown(function(r){
  4468.         if(r.which==27){
  4469.             var p=jQuery("#"+l.themodal).data("onClose")||b.onClose;
  4470.             hideModal(this,{
  4471.                 gb:b.gbox,
  4472.                 jqm:b.jqModal,
  4473.                 onClose:p
  4474.             })
  4475.             }
  4476.         })
  4477. }
  4478. };
  4479.  
  4480. var viewModal=function(a,c){
  4481.     c=jQuery.extend({
  4482.         toTop:true,
  4483.         overlay:10,
  4484.         modal:false,
  4485.         onShow:showModal,
  4486.         onHide:closeModal,
  4487.         gbox:"",
  4488.         jqm:true,
  4489.         jqM:true
  4490.     },c||{});
  4491.     if(jQuery.fn.jqm&&c.jqm==true){
  4492.         if(c.jqM){
  4493.             jQuery(a).attr("aria-hidden","false").jqm(c).jqmShow()
  4494.             }else{
  4495.             jQuery(a).attr("aria-hidden","false").jqmShow()
  4496.             }
  4497.         }
  4498.     else{
  4499.     if(c.gbox!=""){
  4500.         jQuery(".jqgrid-overlay:first",c.gbox).show();
  4501.         jQuery(a).data("gbox",c.gbox)
  4502.         }
  4503.         jQuery(a).show().attr("aria-hidden","false");
  4504.     try{
  4505.         jQuery(":input:visible",a)[0].focus()
  4506.         }catch(b){}
  4507. }
  4508. };
  4509.  
  4510. var hideModal=function(a,d){
  4511.     d=jQuery.extend({
  4512.         jqm:true,
  4513.         gb:""
  4514.     },d||{});
  4515.     if(d.onClose){
  4516.         var b=d.onClose(a);
  4517.         if(typeof b=="boolean"&&!b){
  4518.             return
  4519.         }
  4520.     }
  4521.     if(jQuery.fn.jqm&&d.jqm===true){
  4522.     jQuery(a).attr("aria-hidden","true").jqmHide()
  4523.     }else{
  4524.     if(d.gb!=""){
  4525.         try{
  4526.             jQuery(".jqgrid-overlay:first",d.gb).hide()
  4527.             }catch(c){}
  4528.     }
  4529.     jQuery(a).hide().attr("aria-hidden","true")
  4530. }
  4531. };
  4532.  
  4533. function info_dialog(n,h,b,m){
  4534.     var k={
  4535.         width:290,
  4536.         height:"auto",
  4537.         dataheight:"auto",
  4538.         drag:true,
  4539.         resize:false,
  4540.         caption:"<b>"+n+"</b>",
  4541.         left:250,
  4542.         top:170,
  4543.         zIndex:1000,
  4544.         jqModal:true,
  4545.         closeOnEscape:true,
  4546.         align:"center",
  4547.         buttonalign:"center",
  4548.         buttons:[]
  4549.     };
  4550.    
  4551.     jQuery.extend(k,m||{});
  4552.     var c=k.jqModal;
  4553.     if(jQuery.fn.jqm&&!c){
  4554.         c=false
  4555.         }
  4556.         var f="";
  4557.     if(k.buttons.length>0){
  4558.         for(var d=0;d<k.buttons.length;d++){
  4559.             if(typeof k.buttons[d].id=="undefined"){
  4560.                 k.buttons[d].id="info_button_"+d
  4561.                 }
  4562.                 f+="<a href='javascript:void(0)' id='"+k.buttons[d].id+"' class='fm-button ui-state-default ui-corner-all'>"+k.buttons[d].text+"</a>"
  4563.             }
  4564.         }
  4565.         var j=isNaN(k.dataheight)?k.dataheight:k.dataheight+"px",l="text-align:"+k.align+";";
  4566. var a="<div id='info_id'>";
  4567. a+="<div id='infocnt' style='margin:0px;padding-bottom:1em;width:100%;overflow:auto;position:relative;height:"+j+";"+l+"'>"+h+"</div>";
  4568. a+=b?"<div class='ui-widget-content ui-helper-clearfix' style='text-align:"+k.buttonalign+";padding-bottom:0.8em;padding-top:0.5em;background-image: none;border-width: 1px 0 0 0;'><a href='javascript:void(0)' id='closedialog' class='fm-button ui-state-default ui-corner-all'>"+b+"</a>"+f+"</div>":"";
  4569. a+="</div>";
  4570. try{
  4571.     if(jQuery("#info_dialog").attr("aria-hidden")=="false"){
  4572.         hideModal("#info_dialog",{
  4573.             jqm:c
  4574.         })
  4575.         }
  4576.         jQuery("#info_dialog").remove()
  4577.     }catch(g){}
  4578. createModal({
  4579.     themodal:"info_dialog",
  4580.     modalhead:"info_head",
  4581.     modalcontent:"info_content",
  4582.     scrollelm:"infocnt"
  4583. },a,k,"","",true);
  4584. if(f){
  4585.     jQuery.each(k.buttons,function(e){
  4586.         jQuery("#"+this.id,"#info_id").bind("click",function(){
  4587.             k.buttons[e].onClick.call(jQuery("#info_dialog"));
  4588.             return false
  4589.             })
  4590.         })
  4591.     }
  4592.     jQuery("#closedialog","#info_id").click(function(i){
  4593.     hideModal("#info_dialog",{
  4594.         jqm:c
  4595.     });
  4596.     return false
  4597.     });
  4598. jQuery(".fm-button","#info_dialog").hover(function(){
  4599.     jQuery(this).addClass("ui-state-hover")
  4600.     },function(){
  4601.     jQuery(this).removeClass("ui-state-hover")
  4602.     });
  4603. viewModal("#info_dialog",{
  4604.     onHide:function(e){
  4605.         e.w.hide().remove();
  4606.         if(e.o){
  4607.             e.o.remove()
  4608.             }
  4609.         },
  4610. modal:true,
  4611. jqm:c
  4612. })
  4613. }
  4614. function findPos(a){
  4615.     var b=curtop=0;
  4616.     if(a.offsetParent){
  4617.         do{
  4618.             b+=a.offsetLeft;
  4619.             curtop+=a.offsetTop
  4620.             }while(a=a.offsetParent)
  4621.     }
  4622.     return[b,curtop]
  4623.     }
  4624.     function isArray(a){
  4625.     if(a.constructor.toString().indexOf("Array")==-1){
  4626.         return false
  4627.         }else{
  4628.         return true
  4629.         }
  4630.     }
  4631. function createEl(d,f,s,j,q){
  4632.     var r="";
  4633.     if(f.defaultValue){
  4634.         delete f.defaultValue
  4635.         }
  4636.         function k(i,e){
  4637.         if(jQuery.isFunction(e.dataInit)){
  4638.             i.id=e.id;
  4639.             e.dataInit(i);
  4640.             delete e.id;
  4641.             delete e.dataInit
  4642.             }
  4643.             if(e.dataEvents){
  4644.             jQuery.each(e.dataEvents,function(){
  4645.                 if(this.data!=null){
  4646.                     jQuery(i).bind(this.type,this.data,this.fn)
  4647.                     }else{
  4648.                     jQuery(i).bind(this.type,this.fn)
  4649.                     }
  4650.                 });
  4651.         delete e.dataEvents
  4652.         }
  4653.         return e
  4654.     }
  4655.     switch(d){
  4656.     case"textarea":
  4657.         r=document.createElement("textarea");
  4658.         if(j){
  4659.         if(!f.cols){
  4660.             jQuery(r).css({
  4661.                 width:"98%"
  4662.             })
  4663.             }
  4664.         }else{
  4665.         if(!f.cols){
  4666.             f.cols=20
  4667.             }
  4668.         }
  4669.     if(!f.rows){
  4670.     f.rows=2
  4671.     }
  4672.     if(s=="&nbsp;"||s=="&#160;"||(s.length==1&&s.charCodeAt(0)==160)){
  4673.     s=""
  4674.     }
  4675.     r.value=s;
  4676. f=k(r,f);
  4677. jQuery(r).attr(f);
  4678. break;
  4679. case"checkbox":
  4680.     r=document.createElement("input");
  4681.     r.type="checkbox";
  4682.     if(!f.value){
  4683.     var u=s.toLowerCase();
  4684.     if(u.search(/(false|0|no|off|undefined)/i)<0&&u!==""){
  4685.         r.checked=true;
  4686.         r.defaultChecked=true;
  4687.         r.value=s
  4688.         }else{
  4689.         r.value="on"
  4690.         }
  4691.         jQuery(r).attr("offval","off")
  4692.     }else{
  4693.     var m=f.value.split(":");
  4694.     if(s===m[0]){
  4695.         r.checked=true;
  4696.         r.defaultChecked=true
  4697.         }
  4698.         r.value=m[0];
  4699.     jQuery(r).attr("offval",m[1]);
  4700.     try{
  4701.         delete f.value
  4702.         }catch(p){}
  4703. }
  4704. f=k(r,f);
  4705. jQuery(r).attr(f);
  4706. break;
  4707. case"select":
  4708.     r=document.createElement("select");
  4709.     var b,g=[];
  4710.     if(f.multiple===true){
  4711.     b=true;
  4712.     r.multiple="multiple"
  4713.     }else{
  4714.     b=false
  4715.     }
  4716.     if(f.dataUrl!=null){
  4717.     jQuery.ajax(jQuery.extend({
  4718.         url:f.dataUrl,
  4719.         type:"GET",
  4720.         complete:function(x,w){
  4721.             try{
  4722.                 delete f.dataUrl;
  4723.                 delete f.value
  4724.                 }catch(y){}
  4725.             var v;
  4726.             if(f.buildSelect!=null){
  4727.                 var i=f.buildSelect(x);
  4728.                 v=jQuery(i).html();
  4729.                 delete f.buildSelect
  4730.                 }else{
  4731.                 v=jQuery(x.responseText).html()
  4732.                 }
  4733.                 if(v){
  4734.                 jQuery(r).append(v);
  4735.                 f=k(r,f);
  4736.                 if(typeof f.size==="undefined"){
  4737.                     f.size=b?3:1
  4738.                     }
  4739.                     if(b){
  4740.                     g=s.split(",");
  4741.                     g=jQuery.map(g,function(e){
  4742.                         return jQuery.trim(e)
  4743.                         })
  4744.                     }else{
  4745.                     g[0]=s
  4746.                     }
  4747.                     jQuery(r).attr(f);
  4748.                 setTimeout(function(){
  4749.                     jQuery("option",r).each(function(e){
  4750.                         if(e==0){
  4751.                             this.selected=""
  4752.                             }
  4753.                             if(jQuery.inArray(jQuery(this).text(),g)>-1||jQuery.inArray(jQuery(this).val(),g)>-1){
  4754.                             this.selected="selected";
  4755.                             if(!b){
  4756.                                 return false
  4757.                                 }
  4758.                             }
  4759.                     })
  4760.                 },0)
  4761.         }
  4762.     }
  4763.     },q||{}))
  4764. }else{
  4765.     if(f.value){
  4766.         var n;
  4767.         if(b){
  4768.             g=s.split(",");
  4769.             g=jQuery.map(g,function(e){
  4770.                 return jQuery.trim(e)
  4771.                 });
  4772.             if(typeof f.size==="undefined"){
  4773.                 f.size=3
  4774.                 }
  4775.             }else{
  4776.         f.size=1
  4777.         }
  4778.         if(typeof f.value==="function"){
  4779.         f.value=f.value()
  4780.         }
  4781.         if(typeof f.value==="string"){
  4782.         var o=f.value.split(";"),l,h;
  4783.         for(n=0;n<o.length;n++){
  4784.             l=o[n].split(":");
  4785.             h=document.createElement("option");
  4786.             h.value=l[0];
  4787.             h.innerHTML=l[1];
  4788.             if(!b&&(l[0]==s||l[1]==s)){
  4789.                 h.selected="selected"
  4790.                 }
  4791.                 if(b&&(jQuery.inArray(l[1],g)>-1||jQuery.inArray(l[0],g)>-1)){
  4792.                 h.selected="selected"
  4793.                 }
  4794.                 r.appendChild(h)
  4795.             }
  4796.         }else{
  4797.     if(typeof f.value==="object"){
  4798.         var c=f.value;
  4799.         for(var t in c){
  4800.             h=document.createElement("option");
  4801.             h.value=t;
  4802.             h.innerHTML=c[t];
  4803.             if(!b&&(t==s||c[t]==s)){
  4804.                 h.selected="selected"
  4805.                 }
  4806.                 if(b&&(jQuery.inArray(c[t],g)>-1||jQuery.inArray(t,g)>-1)){
  4807.                 h.selected="selected"
  4808.                 }
  4809.                 r.appendChild(h)
  4810.             }
  4811.         }
  4812.         }
  4813. f=k(r,f);
  4814. try{
  4815.     delete f.value
  4816.     }catch(p){}
  4817. jQuery(r).attr(f)
  4818. }
  4819. }
  4820. break;
  4821. case"text":case"password":case"button":
  4822.     r=document.createElement("input");
  4823.     r.type=d;
  4824.     r.value=jQuery.jgrid.htmlDecode(s);
  4825.     f=k(r,f);
  4826.     if(d!="button"){
  4827.     if(j){
  4828.         if(!f.size){
  4829.             jQuery(r).css({
  4830.                 width:"98%"
  4831.             })
  4832.             }
  4833.         }else{
  4834.     if(!f.size){
  4835.         f.size=20
  4836.         }
  4837.     }
  4838. }
  4839. jQuery(r).attr(f);
  4840. break;
  4841. case"image":case"file":
  4842.     r=document.createElement("input");
  4843.     r.type=d;
  4844.     f=k(r,f);
  4845.     jQuery(r).attr(f);
  4846.     break;
  4847. case"custom":
  4848.     r=document.createElement("span");
  4849.     try{
  4850.     if(jQuery.isFunction(f.custom_element)){
  4851.         var a=f.custom_element.call(this,s,f);
  4852.         if(a){
  4853.             a=jQuery(a).addClass("customelement").attr({
  4854.                 id:f.id,
  4855.                 name:f.name
  4856.                 });
  4857.             jQuery(r).empty().append(a)
  4858.             }else{
  4859.             throw"e2"
  4860.             }
  4861.         }else{
  4862.     throw"e1"
  4863.     }
  4864. }catch(p){
  4865.     if(p=="e1"){
  4866.         info_dialog(jQuery.jgrid.errors.errcap,"function 'custom_element' "+jQuery.jgrid.edit.msg.nodefined,jQuery.jgrid.edit.bClose)
  4867.         }
  4868.         if(p=="e2"){
  4869.         info_dialog(jQuery.jgrid.errors.errcap,"function 'custom_element' "+jQuery.jgrid.edit.msg.novalue,jQuery.jgrid.edit.bClose)
  4870.         }else{
  4871.         info_dialog(jQuery.jgrid.errors.errcap,p.message,jQuery.jgrid.edit.bClose)
  4872.         }
  4873.     }
  4874. break
  4875. }
  4876. return r
  4877. }
  4878. function checkValues(c,m,j){
  4879.     var f,h,n;
  4880.     if(typeof(m)=="string"){
  4881.         for(h=0,len=j.p.colModel.length;h<len;h++){
  4882.             if(j.p.colModel[h].name==m){
  4883.                 f=j.p.colModel[h].editrules;
  4884.                 m=h;
  4885.                 try{
  4886.                     n=j.p.colModel[h].formoptions.label
  4887.                     }catch(l){}
  4888.                 break
  4889.             }
  4890.         }
  4891.         }else{
  4892.     if(m>=0){
  4893.         f=j.p.colModel[m].editrules
  4894.         }
  4895.     }
  4896. if(f){
  4897.     if(!n){
  4898.         n=j.p.colNames[m]
  4899.         }
  4900.         if(f.required===true){
  4901.         if(c.match(/^s+$/)||c==""){
  4902.             return[false,n+": "+jQuery.jgrid.edit.msg.required,""]
  4903.             }
  4904.         }
  4905.     var d=f.required===false?false:true;
  4906. if(f.number===true){
  4907.     if(!(d===false&&isEmpty(c))){
  4908.         if(isNaN(c)){
  4909.             return[false,n+": "+jQuery.jgrid.edit.msg.number,""]
  4910.             }
  4911.         }
  4912. }
  4913. if(typeof f.minValue!="undefined"&&!isNaN(f.minValue)){
  4914.     if(parseFloat(c)<parseFloat(f.minValue)){
  4915.         return[false,n+": "+jQuery.jgrid.edit.msg.minValue+" "+f.minValue,""]
  4916.         }
  4917.     }
  4918. if(typeof f.maxValue!="undefined"&&!isNaN(f.maxValue)){
  4919.     if(parseFloat(c)>parseFloat(f.maxValue)){
  4920.         return[false,n+": "+jQuery.jgrid.edit.msg.maxValue+" "+f.maxValue,""]
  4921.         }
  4922.     }
  4923. var a;
  4924. if(f.email===true){
  4925.     if(!(d===false&&isEmpty(c))){
  4926.         a=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i;
  4927.         if(!a.test(c)){
  4928.             return[false,n+": "+jQuery.jgrid.edit.msg.email,""]
  4929.             }
  4930.         }
  4931. }
  4932. if(f.integer===true){
  4933.     if(!(d===false&&isEmpty(c))){
  4934.         if(isNaN(c)){
  4935.             return[false,n+": "+jQuery.jgrid.edit.msg.integer,""]
  4936.             }
  4937.             if((c%1!=0)||(c.indexOf(".")!=-1)){
  4938.             return[false,n+": "+jQuery.jgrid.edit.msg.integer,""]
  4939.             }
  4940.         }
  4941. }
  4942. if(f.date===true){
  4943.     if(!(d===false&&isEmpty(c))){
  4944.         var b=j.p.colModel[m].datefmt||"Y-m-d";
  4945.         if(!checkDate(b,c)){
  4946.             return[false,n+": "+jQuery.jgrid.edit.msg.date+" - "+b,""]
  4947.             }
  4948.         }
  4949. }
  4950. if(f.time===true){
  4951.     if(!(d===false&&isEmpty(c))){
  4952.         if(!checkTime(c)){
  4953.             return[false,n+": "+jQuery.jgrid.edit.msg.date+" - hh:mm (am/pm)",""]
  4954.             }
  4955.         }
  4956. }
  4957. if(f.url===true){
  4958.     if(!(d===false&&isEmpty(c))){
  4959.         a=/^(((https?)|(ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;
  4960.         if(!a.test(c)){
  4961.             return[false,n+": "+jQuery.jgrid.edit.msg.url,""]
  4962.             }
  4963.         }
  4964. }
  4965. if(f.custom===true){
  4966.     if(!(d===false&&isEmpty(c))){
  4967.         if(jQuery.isFunction(f.custom_func)){
  4968.             var k=f.custom_func.call(j,c,n);
  4969.             if(jQuery.isArray(k)){
  4970.                 return k
  4971.                 }else{
  4972.                 return[false,jQuery.jgrid.edit.msg.customarray,""]
  4973.                 }
  4974.             }else{
  4975.         return[false,jQuery.jgrid.edit.msg.customfcheck,""]
  4976.         }
  4977.     }
  4978. }
  4979. }
  4980. return[true,"",""]
  4981. }
  4982. function checkDate(l,c){
  4983.     var e={},n;
  4984.     l=l.toLowerCase();
  4985.     if(l.indexOf("/")!=-1){
  4986.         n="/"
  4987.         }else{
  4988.         if(l.indexOf("-")!=-1){
  4989.             n="-"
  4990.             }else{
  4991.             if(l.indexOf(".")!=-1){
  4992.                 n="."
  4993.                 }else{
  4994.                 n="/"
  4995.                 }
  4996.             }
  4997.     }
  4998. l=l.split(n);
  4999. c=c.split(n);
  5000. if(c.length!=3){
  5001.     return false
  5002.     }
  5003.     var f=-1,m,g=-1,d=-1;
  5004. for(var h=0;h<l.length;h++){
  5005.     var b=isNaN(c[h])?0:parseInt(c[h],10);
  5006.     e[l[h]]=b;
  5007.     m=l[h];
  5008.     if(m.indexOf("y")!=-1){
  5009.         f=h
  5010.         }
  5011.         if(m.indexOf("m")!=-1){
  5012.         d=h
  5013.         }
  5014.         if(m.indexOf("d")!=-1){
  5015.         g=h
  5016.         }
  5017.     }
  5018. if(l[f]=="y"||l[f]=="yyyy"){
  5019.     m=4
  5020.     }else{
  5021.     if(l[f]=="yy"){
  5022.         m=2
  5023.         }else{
  5024.         m=-1
  5025.         }
  5026.     }
  5027. var a=DaysArray(12);
  5028. var k;
  5029. if(f===-1){
  5030.     return false
  5031.     }else{
  5032.     k=e[l[f]].toString();
  5033.     if(m==2&&k.length==1){
  5034.         m=1
  5035.         }
  5036.         if(k.length!=m||e[l[f]]==0){
  5037.         return false
  5038.         }
  5039.     }
  5040. if(d===-1){
  5041.     return false
  5042.     }else{
  5043.     k=e[l[d]].toString();
  5044.     if(k.length<1||e[l[d]]<1||e[l[d]]>12){
  5045.         return false
  5046.         }
  5047.     }
  5048. if(g===-1){
  5049.     return false
  5050.     }else{
  5051.     k=e[l[g]].toString();
  5052.     if(k.length<1||e[l[g]]<1||e[l[g]]>31||(e[l[d]]==2&&e[l[g]]>daysInFebruary(e[l[f]]))||e[l[g]]>a[e[l[d]]]){
  5053.         return false
  5054.         }
  5055.     }
  5056. return true
  5057. }
  5058. function daysInFebruary(a){
  5059.     return(((a%4==0)&&((!(a%100==0))||(a%400==0)))?29:28)
  5060.     }
  5061.     function DaysArray(b){
  5062.     for(var a=1;a<=b;a++){
  5063.         this[a]=31;
  5064.         if(a==4||a==6||a==9||a==11){
  5065.             this[a]=30
  5066.             }
  5067.             if(a==2){
  5068.             this[a]=29
  5069.             }
  5070.         }
  5071.     return this
  5072. }
  5073. function isEmpty(a){
  5074.     if(a.match(/^s+$/)||a==""){
  5075.         return true
  5076.         }else{
  5077.         return false
  5078.         }
  5079.     }
  5080. function checkTime(c){
  5081.     var b=/^(\d{1,2}):(\d{2})([ap]m)?$/,a;
  5082.     if(!isEmpty(c)){
  5083.         a=c.match(b);
  5084.         if(a){
  5085.             if(a[3]){
  5086.                 if(a[1]<1||a[1]>12){
  5087.                     return false
  5088.                     }
  5089.                 }else{
  5090.             if(a[1]>23){
  5091.                 return false
  5092.                 }
  5093.             }
  5094.         if(a[2]>59){
  5095.         return false
  5096.         }
  5097.     }else{
  5098.     return false
  5099.     }
  5100. }
  5101. return true
  5102. };
  5103. (function(b){
  5104.     var a=null;
  5105.     b.jgrid.extend({
  5106.         searchGrid:function(c){
  5107.             c=b.extend({
  5108.                 recreateFilter:false,
  5109.                 drag:true,
  5110.                 sField:"searchField",
  5111.                 sValue:"searchString",
  5112.                 sOper:"searchOper",
  5113.                 sFilter:"filters",
  5114.                 beforeShowSearch:null,
  5115.                 afterShowSearch:null,
  5116.                 onInitializeSearch:null,
  5117.                 closeAfterSearch:false,
  5118.                 closeOnEscape:false,
  5119.                 multipleSearch:false,
  5120.                 sopt:null,
  5121.                 onClose:null
  5122.             },b.jgrid.search,c||{});
  5123.             return this.each(function(){
  5124.                 var l=this;
  5125.                 if(!l.grid){
  5126.                     return
  5127.                 }
  5128.                 if(b.fn.searchFilter){
  5129.                     var g="fbox_"+l.p.id;
  5130.                     if(c.recreateFilter===true){
  5131.                         b("#"+g).remove()
  5132.                         }
  5133.                         if(b("#"+g).html()!=null){
  5134.                         if(b.isFunction(c.beforeShowSearch)){
  5135.                             c.beforeShowSearch(b("#"+g))
  5136.                             }
  5137.                             f();
  5138.                         if(b.isFunction(c.afterShowSearch)){
  5139.                             c.afterShowSearch(b("#"+g))
  5140.                             }
  5141.                         }else{
  5142.                     var n=[],v=b("#"+l.p.id).jqGrid("getGridParam","colNames"),s=b("#"+l.p.id).jqGrid("getGridParam","colModel"),u=["eq","ne","lt","le","gt","ge","bw","bn","in","ni","ew","en","cn","nc"],i,r,h,p;
  5143.                     p=jQuery.fn.searchFilter.defaults.operators;
  5144.                     if(c.sopt!=null){
  5145.                         p=[];
  5146.                         h=0;
  5147.                         for(i=0;i<c.sopt.length;i++){
  5148.                             if((r=b.inArray(c.sopt[i],u))!=-1){
  5149.                                 p[h]={
  5150.                                     op:c.sopt[i],
  5151.                                     text:c.odata[r]
  5152.                                     };
  5153.                                    
  5154.                                 h++
  5155.                             }
  5156.                         }
  5157.                         }
  5158.                     var q;
  5159.             b.each(s,function(w,j){
  5160.                 q=(typeof j.search==="undefined")?true:j.search,hidden=(j.hidden===true),soptions=b.extend({},{
  5161.                     text:v[w],
  5162.                     value:j.index||j.name
  5163.                     },this.searchoptions),ignoreHiding=(soptions.searchhidden===true);
  5164.                 if(typeof soptions.sopt=="undefined"){
  5165.                     soptions.sopt=c.sopt||u
  5166.                     }
  5167.                     h=0;
  5168.                 soptions.ops=[];
  5169.                 if(soptions.sopt.length>0){
  5170.                     for(i=0;i<soptions.sopt.length;i++){
  5171.                         if((r=b.inArray(soptions.sopt[i],u))!=-1){
  5172.                             soptions.ops[h]={
  5173.                                 op:soptions.sopt[i],
  5174.                                 text:c.odata[r]
  5175.                                 };
  5176.                                
  5177.                             h++
  5178.                         }
  5179.                     }
  5180.                     }
  5181.                 if(typeof(this.stype)==="undefined"){
  5182.                 this.stype="text"
  5183.                 }
  5184.                 if(this.stype=="select"){
  5185.                 if(soptions.dataUrl!=null){}else{
  5186.                     var x;
  5187.                     if(soptions.value){
  5188.                         x=soptions.value
  5189.                         }else{
  5190.                         if(this.editoptions){
  5191.                             x=this.editoptions.value
  5192.                             }
  5193.                         }
  5194.                     if(x){
  5195.                     soptions.dataValues=[];
  5196.                     if(typeof(x)==="string"){
  5197.                         var y=x.split(";"),e;
  5198.                         for(i=0;i<y.length;i++){
  5199.                             e=y[i].split(":");
  5200.                             soptions.dataValues[i]={
  5201.                                 value:e[0],
  5202.                                 text:e[1]
  5203.                                 }
  5204.                             }
  5205.                         }else{
  5206.                 if(typeof(x)==="object"){
  5207.                     i=0;
  5208.                     for(var k in x){
  5209.                         soptions.dataValues[i]={
  5210.                             value:k,
  5211.                             text:x[k]
  5212.                             };
  5213.                            
  5214.                         i++
  5215.                     }
  5216.                     }
  5217.                     }
  5218.         }
  5219.     }
  5220. }
  5221. if((ignoreHiding&&q)||(q&&!hidden)){
  5222.     n.push(soptions)
  5223.     }
  5224. });
  5225. if(n.length>0){
  5226.     b("<div id='"+g+"' role='dialog' tabindex='-1'></div>").insertBefore("#gview_"+l.p.id);
  5227.     b("#"+g).searchFilter(n,{
  5228.         groupOps:c.groupOps,
  5229.         operators:p,
  5230.         onClose:d,
  5231.         resetText:c.Reset,
  5232.         searchText:c.Find,
  5233.         windowTitle:c.caption,
  5234.         rulesText:c.rulesText,
  5235.         matchText:c.matchText,
  5236.         onSearch:t,
  5237.         onReset:m,
  5238.         stringResult:c.multipleSearch,
  5239.         ajaxSelectOptions:b.extend({},b.jgrid.ajaxOptions,l.p.ajaxSelectOptions||{})
  5240.         });
  5241.     b(".ui-widget-overlay","#"+g).remove();
  5242.     if(l.p.direction=="rtl"){
  5243.         b(".ui-closer","#"+g).css("float","left")
  5244.         }
  5245.         if(c.drag===true){
  5246.         b("#"+g+" table thead tr:first td:first").css("cursor","move");
  5247.         if(jQuery.fn.jqDrag){
  5248.             b("#"+g).jqDrag(b("#"+g+" table thead tr:first td:first"))
  5249.             }else{
  5250.             try{
  5251.                 b("#"+g).draggable({
  5252.                     handle:b("#"+g+" table thead tr:first td:first")
  5253.                     })
  5254.                 }catch(o){}
  5255.         }
  5256.     }
  5257. if(c.multipleSearch===false){
  5258.     b(".ui-del, .ui-add, .ui-del, .ui-add-last, .matchText, .rulesText","#"+g).hide();
  5259.     b("select[name='groupOp']","#"+g).hide()
  5260.     }
  5261.     if(b.isFunction(c.onInitializeSearch)){
  5262.     c.onInitializeSearch(b("#"+g))
  5263.     }
  5264.     if(b.isFunction(c.beforeShowSearch)){
  5265.     c.beforeShowSearch(b("#"+g))
  5266.     }
  5267.     f();
  5268. if(b.isFunction(c.afterShowSearch)){
  5269.     c.afterShowSearch(b("#"+g))
  5270.     }
  5271.     if(c.closeOnEscape===true){
  5272.     b("#"+g).keydown(function(j){
  5273.         if(j.which==27){
  5274.             d(b("#"+g))
  5275.             }
  5276.         })
  5277. }
  5278. }
  5279. }
  5280. }
  5281. function t(w){
  5282.     var e=(w!==undefined),k=b("#"+l.p.id),j={};
  5283.    
  5284.     if(c.multipleSearch===false){
  5285.         j[c.sField]=w.rules[0].field;
  5286.         j[c.sValue]=w.rules[0].data;
  5287.         j[c.sOper]=w.rules[0].op
  5288.         }else{
  5289.         j[c.sFilter]=w
  5290.         }
  5291.         k[0].p.search=e;
  5292.     b.extend(k[0].p.postData,j);
  5293.     k.trigger("reloadGrid",[{
  5294.         page:1
  5295.     }]);
  5296.     if(c.closeAfterSearch){
  5297.         d(b("#"+g))
  5298.         }
  5299.     }
  5300. function m(w){
  5301.     var e=(w!==undefined),k=b("#"+l.p.id),j=[];
  5302.     k[0].p.search=e;
  5303.     if(c.multipleSearch===false){
  5304.         j[c.sField]=j[c.sValue]=j[c.sOper]=""
  5305.         }else{
  5306.         j[c.sFilter]=""
  5307.         }
  5308.         b.extend(k[0].p.postData,j);
  5309.     k.trigger("reloadGrid",[{
  5310.         page:1
  5311.     }])
  5312.     }
  5313.     function d(e){
  5314.     if(c.onClose){
  5315.         var j=c.onClose(e);
  5316.         if(typeof j=="boolean"&&!j){
  5317.             return
  5318.         }
  5319.     }
  5320.     e.hide();
  5321. b(".jqgrid-overlay:first","#gbox_"+l.p.id).hide()
  5322. }
  5323. function f(){
  5324.     var k=b(".ui-searchFilter").length;
  5325.     if(k>1){
  5326.         var j=b("#"+g).css("zIndex");
  5327.         b("#"+g).css({
  5328.             zIndex:parseInt(j)+k
  5329.             })
  5330.         }
  5331.         b("#"+g).show();
  5332.     b(".jqgrid-overlay:first","#gbox_"+l.p.id).show();
  5333.     try{
  5334.         b(":input:visible","#"+g)[0].focus()
  5335.         }catch(e){}
  5336. }
  5337. })
  5338. },
  5339. editGridRow:function(c,d){
  5340.     d=b.extend({
  5341.         top:0,
  5342.         left:0,
  5343.         width:453,
  5344.         height:"auto",
  5345.         dataheight:"auto",
  5346.         modal:false,
  5347.         drag:true,
  5348.         resize:true,
  5349.         url:null,
  5350.         mtype:"POST",
  5351.         clearAfterAdd:true,
  5352.         closeAfterEdit:false,
  5353.         reloadAfterSalvar:true,
  5354.         onInitializeForm:null,
  5355.         beforeInitData:null,
  5356.         beforeShowForm:null,
  5357.         afterShowForm:null,
  5358.         beforeSalvar:null,
  5359.         afterSalvar:null,
  5360.         onclickSalvar:null,
  5361.         afterComplete:null,
  5362.         onclickPgButtons:null,
  5363.         afterclickPgButtons:null,
  5364.         editData:{},
  5365.         recreateForm:false,
  5366.         jqModal:true,
  5367.         closeOnEscape:false,
  5368.         addedrow:"first",
  5369.         topinfo:"",
  5370.         bottominfo:"",
  5371.         saveicon:[],
  5372.         closeicon:[],
  5373.         savekey:[false,13],
  5374.         navkeys:[false,38,40],
  5375.         checkOnSalvar:false,
  5376.         checkOnUpdate:false,
  5377.         _savedData:{},
  5378.         onClose:null,
  5379.         ajaxEditOptions:{},
  5380.         serializeEditData:null
  5381.     },b.jgrid.edit,d||{});
  5382.     a=d;
  5383.     return this.each(function(){
  5384.         var e=this;
  5385.         if(!e.grid||!c){
  5386.             return
  5387.         }
  5388.        
  5389.        
  5390.        
  5391.         var C=e.p.id,y="FrmGrid_"+C,u="TblGrid_"+C,i={
  5392.             themodal:"editmod"+C,
  5393.             modalhead:"edithd"+C,
  5394.             modalcontent:"editcnt"+C,
  5395.             scrollelm:y
  5396.         },D=b.isFunction(a.beforeShowForm)?a.beforeShowForm:false,O=b.isFunction(a.afterShowForm)?a.afterShowForm:false,N=b.isFunction(a.beforeInitData)?a.beforeInitData:false,o=b.isFunction(a.onInitializeForm)?a.onInitializeForm:false,I=null,J=1,q=0,v,E,F,R,H,B;
  5397.         if(c=="new"){
  5398.             c="_empty";
  5399.             d.caption=d.addCaption
  5400.             }else{
  5401.             d.caption=d.editCaption
  5402.             }
  5403.             if(d.recreateForm===true&&b("#"+i.themodal).html()!=null){
  5404.             b("#"+i.themodal).remove()
  5405.             }
  5406.             var k=true;
  5407.         if(d.checkOnUpdate&&d.jqModal&&!d.modal){
  5408.             k=false
  5409.             }
  5410.             if(b("#"+i.themodal).html()!=null){
  5411.             b(".ui-jqdialog-title","#"+i.modalhead).html(d.caption);
  5412.             b("#FormError","#"+u).hide();
  5413.             if(a.topinfo){
  5414.                 b(".topinfo","#"+u).html(a.topinfo);
  5415.                 b(".tinfo","#"+u).show()
  5416.                 }else{
  5417.                 b(".tinfo","#"+u).hide()
  5418.                 }
  5419.                 if(a.bottominfo){
  5420.                 b(".bottominfo","#"+u+"_2").html(a.bottominfo);
  5421.                 b(".binfo","#"+u+"_2").show()
  5422.                 }else{
  5423.                 b(".binfo","#"+u+"_2").hide()
  5424.                 }
  5425.                 if(N){
  5426.                 N(b("#"+y))
  5427.                 }
  5428.                 n(c,e,y);
  5429.             if(c=="_empty"){
  5430.                 b("#pData, #nData","#"+u+"_2").hide()
  5431.                 }else{
  5432.                 b("#pData, #nData","#"+u+"_2").show()
  5433.                 }
  5434.                 if(d.processing===true){
  5435.                 d.processing=false;
  5436.                 b("#sData","#"+u+"_2").removeClass("ui-state-active")
  5437.                 }
  5438.                 if(b("#"+y).data("disabled")===true){
  5439.                 b(".confirm","#"+i.themodal).hide();
  5440.                 b("#"+y).data("disabled",false)
  5441.                 }
  5442.                 if(D){
  5443.                 D(b("#"+y))
  5444.                 }
  5445.                 b("#"+i.themodal).data("onClose",a.onClose);
  5446.             viewModal("#"+i.themodal,{
  5447.                 gbox:"#gbox_"+C,
  5448.                 jqm:d.jqModal,
  5449.                 jqM:false,
  5450.                 closeoverlay:k,
  5451.                 modal:d.modal
  5452.                 });
  5453.             if(!k){
  5454.                 b(".jqmOverlay").click(function(){
  5455.                     if(!g()){
  5456.                         return false
  5457.                         }
  5458.                         hideModal("#"+i.themodal,{
  5459.                         gb:"#gbox_"+C,
  5460.                         jqm:d.jqModal,
  5461.                         onClose:a.onClose
  5462.                         });
  5463.                     return false
  5464.                     })
  5465.                 }
  5466.                 if(O){
  5467.                 O(b("#"+y))
  5468.                 }
  5469.             }else{
  5470.         b(e.p.colModel).each(function(Y){
  5471.             var Z=this.formoptions;
  5472.             J=Math.max(J,Z?Z.colpos||0:0);
  5473.             q=Math.max(q,Z?Z.rowpos||0:0)
  5474.             });
  5475.         var r=isNaN(d.dataheight)?d.dataheight:d.dataheight+"px";
  5476.         var M,U=b("<form name='FormPost' id='"+y+"' class='FormGrid' style='width:100%;overflow:auto;position:relative;height:"+r+";'></form>").data("disabled",false),A=b("<table id='"+u+"' class='EditTable' cellspacing='0' cellpading='0' border='0'><tbody></tbody></table>");
  5477.         b(U).append(A);
  5478.         M=b("<tr id='FormError' style='display:none'><td class='ui-state-error' colspan='"+(J*2)+"'></td></tr>");
  5479.         M[0].rp=0;
  5480.         b(A).append(M);
  5481.         M=b("<tr style='display:none' clas=='tinfo'><td class='topinfo' colspan='"+(J*2)+"'>"+a.topinfo+"</td></tr>");
  5482.         M[0].rp=0;
  5483.         b(A).append(M);
  5484.         if(N){
  5485.             N(b("#"+y))
  5486.             }
  5487.  
  5488.  
  5489.  
  5490.             var f=e.p.direction=="rtl"?true:false,T=f?"nData":"pData",V=f?"pData":"nData",z=s(c,e,A,J),l="<a href='javascript:void(0)' id='"+T+"' class='fm-button ui-state-default ui-corner-left'><span class='ui-icon ui-icon-triangle-1-w'></span></div>",m="<a href='javascript:void(0)' id='"+V+"' class='fm-button ui-state-default ui-corner-right'><span class='ui-icon ui-icon-triangle-1-e'></span></div>",h="<a href='javascript:void(0)' id='sData' class='fm-button ui-state-default ui-corner-all'>"+d.bSalvar+"</a>",t="<a href='javascript:void(0)' id='cData' class='fm-button ui-state-default ui-corner-all'>"+d.bCancelar+"</a>",w="<a href='javascript:void(0)' id='zData' class='fm-button ui-state-default ui-corner-all'>"+d.bNovaLinha+"</a>";
  5491.         var Q="<table border='0' class='EditTable' id='"+u+"_2'><tbody><tr id='Act_Buttons'><td class='navButton ui-widget-content'>"+(f?m+l:l+m)+"</td><td class='EditButton ui-widget-content'>"+h+t+w+"</td></tr>";
  5492.         Q+="<tr style='display:none' class='binfo'><td class='bottominfo' colspan='2'>"+a.bottominfo+"</td></tr>";
  5493.         Q+="</tbody></table>";
  5494.         if(q>0){
  5495.             var x=[];
  5496.             b.each(b(A)[0].rows,function(Y,Z){
  5497.                 x[Y]=Z
  5498.                 });
  5499.             x.sort(function(Z,Y){
  5500.                 if(Z.rp>Y.rp){
  5501.                     return 1
  5502.                     }
  5503.                     if(Z.rp<Y.rp){
  5504.                     return -1
  5505.                     }
  5506.                     return 0
  5507.                 });
  5508.             b.each(x,function(Y,Z){
  5509.                 b("tbody",A).append(Z)
  5510.                 })
  5511.             }
  5512.             d.gbox="#gbox_"+C;
  5513.         var p=false;
  5514.         if(d.closeOnEscape===true){
  5515.             d.closeOnEscape=false;
  5516.             p=true
  5517.             }
  5518.             var P=b("<span></span>").append(U).append(Q);
  5519.         createModal(i,P,d,"#gview_"+e.p.id,b("#gview_"+e.p.id)[0]);
  5520.         if(f){
  5521.             b("#pData, #nData","#"+u+"_2").css("float","right");
  5522.             b(".EditButton","#"+u+"_2").css("text-align","left")
  5523.             }
  5524.             if(a.topinfo){
  5525.             b(".tinfo","#"+u).show()
  5526.             }
  5527.             if(a.bottominfo){
  5528.             b(".binfo","#"+u+"_2").show()
  5529.             }
  5530.             P=null;
  5531.         Q=null;
  5532.         b("#"+i.themodal).keydown(function(Y){
  5533.             var Z=Y.target;
  5534.             if(b("#"+y).data("disabled")===true){
  5535.                 return false
  5536.                 }
  5537.                 if(a.savekey[0]===true&&Y.which==a.savekey[1]){
  5538.                 if(Z.tagName!="TEXTAREA"){
  5539.                     b("#sData","#"+u+"_2").trigger("click");
  5540.                     return false
  5541.                     }
  5542.                 }
  5543.             if(Y.which===27){
  5544.             if(!g()){
  5545.                 return false
  5546.                 }
  5547.                 if(p){
  5548.                 hideModal(this,{
  5549.                     gb:d.gbox,
  5550.                     jqm:d.jqModal,
  5551.                     onClose:a.onClose
  5552.                     })
  5553.                 }
  5554.                 return false
  5555.             }
  5556.             if(a.navkeys[0]===true){
  5557.             if(b("#id_g","#"+u).val()=="_empty"){
  5558.                 return true
  5559.                 }
  5560.                 if(Y.which==a.navkeys[1]){
  5561.                 b("#pData","#"+u+"_2").trigger("click");
  5562.                 return false
  5563.                 }
  5564.                 if(Y.which==a.navkeys[2]){
  5565.                 b("#nData","#"+u+"_2").trigger("click");
  5566.                 return false
  5567.                 }
  5568.             }
  5569.         });
  5570. if(d.checkOnUpdate){
  5571.     b("a.ui-jqdialog-titlebar-close span","#"+i.themodal).removeClass("jqmClose");
  5572.     b("a.ui-jqdialog-titlebar-close","#"+i.themodal).unbind("click").click(function(){
  5573.         if(!g()){
  5574.             return false
  5575.             }
  5576.             hideModal("#"+i.themodal,{
  5577.             gb:"#gbox_"+C,
  5578.             jqm:d.jqModal,
  5579.             onClose:a.onClose
  5580.             });
  5581.         return false
  5582.         })
  5583.     }
  5584.     d.saveicon=b.extend([true,"left","ui-icon-disk"],d.saveicon);
  5585. d.closeicon=b.extend([true,"left","ui-icon-close"],d.closeicon);
  5586. if(d.saveicon[0]==true){
  5587.     b("#sData","#"+u+"_2").addClass(d.saveicon[1]=="right"?"fm-button-icon-right":"fm-button-icon-left").append("<span class='ui-icon "+d.saveicon[2]+"'></span>")
  5588.     }
  5589.     if(d.closeicon[0]==true){
  5590.     b("#cData","#"+u+"_2").addClass(d.closeicon[1]=="right"?"fm-button-icon-right":"fm-button-icon-left").append("<span class='ui-icon "+d.closeicon[2]+"'></span>")
  5591.     b("#zData","#"+u+"_2").addClass(d.saveicon[1]=="right"?"fm-button-icon-right":"fm-button-icon-left").append("<span class='ui-icon "+d.saveicon[2]+"'></span>")
  5592.    
  5593. }
  5594.     if(a.checkOnSalvar||a.checkOnUpdate){
  5595.     h="<a href='javascript:void(0)' id='sNew' class='fm-button ui-state-default ui-corner-all' style='z-index:1002'>"+d.bYes+"</a>";
  5596.     m="<a href='javascript:void(0)' id='nNew' class='fm-button ui-state-default ui-corner-all' style='z-index:1002'>"+d.bNo+"</a>";
  5597.     t="<a href='javascript:void(0)' id='cNew' class='fm-button ui-state-default ui-corner-all' style='z-index:1002'>"+d.bExit+"</a>";
  5598.     var G,w=d.zIndex||999;
  5599.     w++;
  5600.     if(b.browser.msie&&b.browser.version==6){
  5601.         G='<iframe style="display:block;position:absolute;z-index:-1;filter:Alpha(Opacity=\'0\');" src="javascript:false;"></iframe>'
  5602.         }else{
  5603.         G=""
  5604.         }
  5605.         b("<div class='ui-widget-overlay jqgrid-overlay confirm' style='z-index:"+w+";display:none;'>&nbsp;"+G+"</div><div class='confirm ui-widget-content ui-jqconfirm' style='z-index:"+(w+1)+"'>"+d.saveData+"<br/><br/>"+h+m+t+"</div>").insertAfter("#"+y);
  5606.     b("#sNew","#"+i.themodal).click(function(){
  5607.         j();
  5608.         b("#"+y).data("disabled",false);
  5609.         b(".confirm","#"+i.themodal).hide();
  5610.         return false
  5611.         });
  5612.     b("#nNew","#"+i.themodal).click(function(){
  5613.         b(".confirm","#"+i.themodal).hide();
  5614.         b("#"+y).data("disabled",false);
  5615.         setTimeout(function(){
  5616.             b(":input","#"+y)[0].focus()
  5617.             },0);
  5618.         return false
  5619.         });
  5620.     b("#cNew","#"+i.themodal).click(function(){
  5621.         b(".confirm","#"+i.themodal).hide();
  5622.         b("#"+y).data("disabled",false);
  5623.         hideModal("#"+i.themodal,{
  5624.             gb:"#gbox_"+C,
  5625.             jqm:d.jqModal,
  5626.             onClose:a.onClose
  5627.             });
  5628.         return false
  5629.         })
  5630.     }
  5631.     if(o){
  5632.     o(b("#"+y))
  5633.     }
  5634.     if(c=="_empty"){
  5635.     b("#pData,#nData","#"+u+"_2").hide()
  5636.     }else{
  5637.     b("#pData,#nData","#"+u+"_2").show()
  5638.     }
  5639.     if(D){
  5640.     D(b("#"+y))
  5641.     }
  5642.     b("#"+i.themodal).data("onClose",a.onClose);
  5643. viewModal("#"+i.themodal,{
  5644.     gbox:"#gbox_"+C,
  5645.     jqm:d.jqModal,
  5646.     closeoverlay:k,
  5647.     modal:d.modal
  5648.     });
  5649. if(!k){
  5650.     b(".jqmOverlay").click(function(){
  5651.         if(!g()){
  5652.             return false
  5653.             }
  5654.             hideModal("#"+i.themodal,{
  5655.             gb:"#gbox_"+C,
  5656.             jqm:d.jqModal,
  5657.             onClose:a.onClose
  5658.             });
  5659.         return false
  5660.         })
  5661.     }
  5662.     if(O){
  5663.     O(b("#"+y))
  5664.     }
  5665.     b(".fm-button","#"+i.themodal).hover(function(){
  5666.     b(this).addClass("ui-state-hover")
  5667.     },function(){
  5668.     b(this).removeClass("ui-state-hover")
  5669.     });
  5670. b("#sData","#"+u+"_2").click(function(Y){
  5671.     E={};
  5672.    
  5673.     R={};
  5674.    
  5675.     b("#FormError","#"+u).hide();
  5676.     W();
  5677.     if(E.id=="_empty"){
  5678.         j()
  5679.         }else{
  5680.         if(d.checkOnSalvar===true){
  5681.             H=b.extend({},E,R);
  5682.             B=K(H,a._savedData);
  5683.             if(B){
  5684.                 b("#"+y).data("disabled",true);
  5685.                 b(".confirm","#"+i.themodal).show()
  5686.                 }else{
  5687.                 j()
  5688.                 }
  5689.             }else{
  5690.         j()
  5691.         }
  5692.     }
  5693. return false
  5694. });
  5695.  
  5696. //
  5697.  
  5698.  
  5699.  
  5700.  
  5701.  
  5702.  
  5703.  
  5704.  
  5705.  
  5706.  
  5707.  
  5708.  
  5709.  
  5710. b("#zData").click(function (){
  5711.  
  5712.  
  5713. b(viewGridRow())
  5714.  
  5715.  
  5716.  
  5717.  
  5718.  
  5719.                });
  5720.  
  5721.  
  5722.  
  5723. //
  5724.  
  5725.  
  5726. b("#cData","#"+u+"_2").click(function(Y){
  5727.     if(!g()){
  5728.         return false
  5729.         }
  5730.         hideModal("#"+i.themodal,{
  5731.         gb:"#gbox_"+C,
  5732.         jqm:d.jqModal,
  5733.         onClose:a.onClose
  5734.         });
  5735.     return false
  5736.     });
  5737. b("#nData","#"+u+"_2").click(function(Y){
  5738.     if(!g()){
  5739.         return false
  5740.         }
  5741.         b("#FormError","#"+u).hide();
  5742.     var Z=X();
  5743.     Z[0]=parseInt(Z[0]);
  5744.     if(Z[0]!=-1&&Z[1][Z[0]+1]){
  5745.         if(b.isFunction(d.onclickPgButtons)){
  5746.             d.onclickPgButtons("next",b("#"+y),Z[1][Z[0]])
  5747.             }
  5748.             n(Z[1][Z[0]+1],e,y);
  5749.         b(e).jqGrid("setSelection",Z[1][Z[0]+1]);
  5750.         if(b.isFunction(d.afterclickPgButtons)){
  5751.             d.afterclickPgButtons("next",b("#"+y),Z[1][Z[0]+1])
  5752.             }
  5753.             L(Z[0]+1,Z[1].length-1)
  5754.         }
  5755.         return false
  5756.     });
  5757. b("#pData","#"+u+"_2").click(function(Z){
  5758.     if(!g()){
  5759.         return false
  5760.         }
  5761.         b("#FormError","#"+u).hide();
  5762.     var Y=X();
  5763.     if(Y[0]!=-1&&Y[1][Y[0]-1]){
  5764.         if(b.isFunction(d.onclickPgButtons)){
  5765.             d.onclickPgButtons("prev",b("#"+y),Y[1][Y[0]])
  5766.             }
  5767.             n(Y[1][Y[0]-1],e,y);
  5768.         b(e).jqGrid("setSelection",Y[1][Y[0]-1]);
  5769.         if(b.isFunction(d.afterclickPgButtons)){
  5770.             d.afterclickPgButtons("prev",b("#"+y),Y[1][Y[0]-1])
  5771.             }
  5772.             L(Y[0]-1,Y[1].length-1)
  5773.         }
  5774.         return false
  5775.     })
  5776. }
  5777. var S=X();
  5778. L(S[0],S[1].length-1);
  5779. function L(Z,aa,Y){
  5780.     if(Z==0){
  5781.         b("#pData","#"+u+"_2").addClass("ui-state-disabled")
  5782.         }else{
  5783.         b("#pData","#"+u+"_2").removeClass("ui-state-disabled")
  5784.         }
  5785.         if(Z==aa){
  5786.         b("#nData","#"+u+"_2").addClass("ui-state-disabled")
  5787.         }else{
  5788.         b("#nData","#"+u+"_2").removeClass("ui-state-disabled")
  5789.         }
  5790.     }
  5791. function X(){
  5792.     var Z=b(e).jqGrid("getDataIDs"),Y=b("#id_g","#"+u).val(),aa=b.inArray(Y,Z);
  5793.     return[aa,Z]
  5794.     }
  5795.     function g(){
  5796.     var Y=true;
  5797.     b("#FormError","#"+u).hide();
  5798.     if(a.checkOnUpdate){
  5799.         E={};
  5800.        
  5801.         R={};
  5802.        
  5803.         W();
  5804.         H=b.extend({},E,R);
  5805.         B=K(H,a._savedData);
  5806.         if(B){
  5807.             b("#"+y).data("disabled",true);
  5808.             b(".confirm","#"+i.themodal).show();
  5809.             Y=false
  5810.             }
  5811.         }
  5812.     return Y
  5813. }
  5814. function W(){
  5815.     b(".FormElement","#"+u).each(function(aa){
  5816.         if(b(this).hasClass("customelement")){
  5817.             var Y=this.name,ab=this;
  5818.             b.each(e.p.colModel,function(ad,af){
  5819.                 if(this.name==Y&&this.editoptions&&b.isFunction(this.editoptions.custom_value)){
  5820.                     try{
  5821.                         E[Y]=cm.editoptions.custom_value(b(ab),"get");
  5822.                         if(!E[Y]){
  5823.                             throw"e1"
  5824.                             }
  5825.                         }catch(ae){
  5826.                     if(ae=="e1"){
  5827.                         info_dialog(jQuery.jgrid.errors.errcap,"function 'custom_value' "+b.jgrid.edit.msg.novalue,jQuery.jgrid.edit.bClose)
  5828.                         }else{
  5829.                         info_dialog(jQuery.jgrid.errors.errcap,ae.message,jQuery.jgrid.edit.bClose)
  5830.                         }
  5831.                     }
  5832.                 return true
  5833.                 }
  5834.             })
  5835.     }else{
  5836.     switch(b(this).get(0).type){
  5837.         case"checkbox":
  5838.             if(b(this).attr("checked")){
  5839.             E[this.name]=b(this).val()
  5840.             }else{
  5841.             var Z=b(this).attr("offval");
  5842.             E[this.name]=Z
  5843.             }
  5844.             break;
  5845.         case"select-one":
  5846.             E[this.name]=b("option:selected",this).val();
  5847.             R[this.name]=b("option:selected",this).text();
  5848.             break;
  5849.         case"select-multiple":
  5850.             E[this.name]=b(this).val();
  5851.             if(E[this.name]){
  5852.             E[this.name]=E[this.name].join(",")
  5853.             }else{
  5854.             E[this.name]=""
  5855.             }
  5856.             var ac=[];
  5857.         b("option:selected",this).each(function(ad,ae){
  5858.             ac[ad]=b(ae).text()
  5859.             });
  5860.         R[this.name]=ac.join(",");
  5861.             break;
  5862.         case"password":case"text":case"textarea":case"button":
  5863.             E[this.name]=b(this).val();
  5864.             E[this.name]=!e.p.autoencode?E[this.name]:b.jgrid.htmlEncode(E[this.name]);
  5865.             break
  5866.             }
  5867.         }
  5868. });
  5869. return true
  5870. }
  5871. function s(ab,ah,ae,am){
  5872.     var Y,Z,aj,ak=0,ao,ap,ai,an=[],af=false,ag,aa,ac="<td class='CaptionTD ui-widget-content'>&nbsp;</td><td class='DataTD ui-widget-content' style='white-space:pre'>&nbsp;</td>",ad="";
  5873.     for(var al=1;al<=am;al++){
  5874.         ad+=ac
  5875.         }
  5876.         if(ab!="_empty"){
  5877.         af=b(ah).jqGrid("getInd",ab)
  5878.         }
  5879.         b(ah.p.colModel).each(function(au){
  5880.         Y=this.name;
  5881.         if(this.editrules&&this.editrules.edithidden==true){
  5882.             Z=false
  5883.             }else{
  5884.             Z=this.hidden===true?true:false
  5885.             }
  5886.             ap=Z?"style='display:none'":"";
  5887.         if(Y!=="cb"&&Y!=="subgrid"&&this.editable===true&&Y!=="rn"){
  5888.             if(af===false){
  5889.                 ao=""
  5890.                 }else{
  5891.                 if(Y==ah.p.ExpandColumn&&ah.p.treeGrid===true){
  5892.                     ao=b("td:eq("+au+")",ah.rows[af]).text()
  5893.                     }else{
  5894.                     try{
  5895.                         ao=b.unformat(b("td:eq("+au+")",ah.rows[af]),{
  5896.                             colModel:this
  5897.                         },au)
  5898.                         }catch(ar){
  5899.                         ao=b("td:eq("+au+")",ah.rows[af]).html()
  5900.                         }
  5901.                     }
  5902.             }
  5903.         var at=b.extend({},this.editoptions||{},{
  5904.         id:Y,
  5905.         name:Y
  5906.     });
  5907.     frmopt=b.extend({},{
  5908.         elmprefix:"",
  5909.         elmsuffix:"",
  5910.         rowabove:false,
  5911.         rowcontent:""
  5912.     },this.formoptions||{}),ag=parseInt(frmopt.rowpos)||ak+1,aa=parseInt((parseInt(frmopt.colpos)||1)*2);
  5913.         if(ab=="_empty"&&at.defaultValue){
  5914.         ao=b.isFunction(at.defaultValue)?at.defaultValue():at.defaultValue
  5915.         }
  5916.         if(!this.edittype){
  5917.         this.edittype="text"
  5918.         }
  5919.         ai=createEl(this.edittype,at,ao,false,b.extend({},b.jgrid.ajaxOptions,ah.p.ajaxSelectOptions||{}));
  5920.         if(ao==""&&this.edittype=="checkbox"){
  5921.         ao=b(ai).attr("offval")
  5922.         }
  5923.         if(a.checkOnSalvar||a.checkOnUpdate){
  5924.         a._savedData[Y]=ao
  5925.         }
  5926.         b(ai).addClass("FormElement");
  5927.         aj=b(ae).find("tr[rowpos="+ag+"]");
  5928.         if(frmopt.rowabove){
  5929.         var av=b("<tr><td class='contentinfo' colspan='"+(am*2)+"'>"+frmopt.rowcontent+"</td></tr>");
  5930.         b(ae).append(av);
  5931.         av[0].rp=ag
  5932.         }
  5933.         if(aj.length==0){
  5934.         aj=b("<tr "+ap+" rowpos='"+ag+"'></tr>").addClass("FormData").attr("id","tr_"+Y);
  5935.         b(aj).append(ad);
  5936.         b(ae).append(aj);
  5937.         aj[0].rp=ag
  5938.         }
  5939.         b("td:eq("+(aa-2)+")",aj[0]).html(typeof frmopt.label==="undefined"?ah.p.colNames[au]:frmopt.label);
  5940.         b("td:eq("+(aa-1)+")",aj[0]).append(frmopt.elmprefix).append(ai).append(frmopt.elmsuffix);
  5941.         an[ak]=au;
  5942.         ak++
  5943.     }
  5944. });
  5945. if(ak>0){
  5946.     var aq=b("<tr class='FormData' style='display:none'><td class='CaptionTD'></td><td colspan='"+(am*2-1)+"' class='DataTD'><input class='FormElement' id='id_g' type='text' name='id' value='"+ab+"'/></td></tr>");
  5947.     aq[0].rp=ak+999;
  5948.     b(ae).append(aq);
  5949.     if(a.checkOnSalvar||a.checkOnUpdate){
  5950.         a._savedData.id=ab
  5951.         }
  5952.     }
  5953. return an
  5954. }
  5955. function n(Z,af,ab){
  5956.     var ak,ah,ac=0,ag,ae,Y,ad,ai;
  5957.     if(a.checkOnSalvar||a.checkOnUpdate){
  5958.         a._savedData={};
  5959.        
  5960.         a._savedData.id=Z
  5961.         }
  5962.         var aj=af.p.colModel;
  5963.     if(Z=="_empty"){
  5964.         b(aj).each(function(al){
  5965.             ak=this.name;
  5966.             Y=b.extend({},this.editoptions||{});
  5967.             ae=b("#"+b.jgrid.jqID(ak),"#"+ab);
  5968.             if(ae[0]!=null){
  5969.                 ad="";
  5970.                 if(Y.defaultValue){
  5971.                     ad=b.isFunction(Y.defaultValue)?Y.defaultValue():Y.defaultValue;
  5972.                     if(ae[0].type=="checkbox"){
  5973.                         ai=ad.toLowerCase();
  5974.                         if(ai.search(/(false|0|no|off|undefined)/i)<0&&ai!==""){
  5975.                             ae[0].checked=true;
  5976.                             ae[0].defaultChecked=true;
  5977.                             ae[0].value=ad
  5978.                             }else{
  5979.                             ae.attr({
  5980.                                 checked:"",
  5981.                                 defaultChecked:""
  5982.                             })
  5983.                             }
  5984.                         }else{
  5985.                     ae.val(ad)
  5986.                     }
  5987.                 }else{
  5988.             if(ae[0].type=="checkbox"){
  5989.                 ae[0].checked=false;
  5990.                 ae[0].defaultChecked=false;
  5991.                 ad=b(ae).attr("offval")
  5992.                 }else{
  5993.                 if(ae[0].type.substr(0,6)=="select"){
  5994.                     ae[0].selectedIndex=0
  5995.                     }else{
  5996.                     ae.val(ad)
  5997.                     }
  5998.                 }
  5999.         }
  6000.         if(a.checkOnSalvar===true||a.checkOnUpdate){
  6001.         a._savedData[ak]=ad
  6002.         }
  6003.     }
  6004. });
  6005. b("#id_g","#"+ab).val("_empty");
  6006. return
  6007. }
  6008. var aa=b(af).jqGrid("getInd",Z,true);
  6009. if(!aa){
  6010.     return
  6011. }
  6012. b("td",aa).each(function(an){
  6013.     ak=aj[an].name;
  6014.     if(ak!=="cb"&&ak!=="subgrid"&&ak!=="rn"&&aj[an].editable===true){
  6015.         if(ak==af.p.ExpandColumn&&af.p.treeGrid===true){
  6016.             ag=b(this).text()
  6017.             }else{
  6018.             try{
  6019.                 ag=b.unformat(this,{
  6020.                     colModel:aj[an]
  6021.                     },an)
  6022.                 }
  6023.                 catch(am){
  6024.                 ag=b(this).html()
  6025.                 }
  6026.             }
  6027.         if(a.checkOnSalvar===true||a.checkOnUpdate){
  6028.         a._savedData[ak]=ag
  6029.         }
  6030.         ak=b.jgrid.jqID(ak);
  6031.     switch(aj[an].edittype){
  6032.         case"password":case"text":case"button":case"image":
  6033.             ag=b.jgrid.htmlDecode(ag);
  6034.             b("#"+ak,"#"+ab).val(ag);
  6035.             break;
  6036.         case"textarea":
  6037.             if(ag=="&nbsp;"||ag=="&#160;"||(ag.length==1&&ag.charCodeAt(0)==160)){
  6038.             ag=""
  6039.             }
  6040.             b("#"+ak,"#"+ab).val(ag);
  6041.             break;
  6042.         case"select":
  6043.             var al=ag.split(",");
  6044.             al=b.map(al,function(aq){
  6045.             return b.trim(aq)
  6046.             });
  6047.         b("#"+ak+" option","#"+ab).each(function(aq){
  6048.             if(!aj[an].editoptions.multiple&&(al[0]==b(this).text()||al[0]==b(this).val())){
  6049.                 this.selected=true
  6050.                 }else{
  6051.                 if(aj[an].editoptions.multiple){
  6052.                     if(b.inArray(b(this).text(),al)>-1||b.inArray(b(this).val(),al)>-1){
  6053.                         this.selected=true
  6054.                         }else{
  6055.                         this.selected=false
  6056.                         }
  6057.                     }else{
  6058.                 this.selected=false
  6059.                 }
  6060.             }
  6061.         });
  6062. break;
  6063. case"checkbox":
  6064.     ag=ag+"";
  6065.     ag=ag.toLowerCase();
  6066.     if(ag.search(/(false|0|no|off|undefined)/i)<0&&ag!==""){
  6067.     b("#"+ak,"#"+ab).attr("checked",true);
  6068.     b("#"+ak,"#"+ab).attr("defaultChecked",true)
  6069.     }else{
  6070.     b("#"+ak,"#"+ab).attr("checked",false);
  6071.     b("#"+ak,"#"+ab).attr("defaultChecked","")
  6072.     }
  6073.     break;
  6074. case"custom":
  6075.     try{
  6076.     if(aj[an].editoptions&&b.isFunction(aj[an].editoptions.custom_value)){
  6077.         var ap=aj[an].editoptions.custom_value(b(".customelement",this),"set")
  6078.         }else{
  6079.         throw"e1"
  6080.         }
  6081.     }catch(ao){
  6082.     if(ao=="e1"){
  6083.         info_dialog(jQuery.jgrid.errors.errcap,"function 'custom_value' "+b.jgrid.edit.msg.nodefined,jQuery.jgrid.edit.bClose)
  6084.         }else{
  6085.         info_dialog(jQuery.jgrid.errors.errcap,ao.message,jQuery.jgrid.edit.bClose)
  6086.         }
  6087.     }
  6088. break
  6089. }
  6090. ac++
  6091. }
  6092. });
  6093. if(ac>0){
  6094.     b("#id_g","#"+u).val(Z)
  6095.     }
  6096. }
  6097. function j(){
  6098.     var ac,aa=[true,"",""],Z={};
  6099.    
  6100.     if(b.isFunction(a.beforeCheckValues)){
  6101.         var Y=a.beforeCheckValues(E,b("#"+y),E.id=="_empty"?"add":"edit");
  6102.         if(Y&&typeof(Y)==="object"){
  6103.             E=Y
  6104.             }
  6105.         }
  6106.     for(var ab in E){
  6107.     aa=checkValues(E[ab],ab,e);
  6108.     if(aa[0]==false){
  6109.         break
  6110.     }
  6111. }
  6112. if(aa[0]){
  6113.     if(b.isFunction(a.onclickSalvar)){
  6114.         Z=a.onclickSalvar(a,E)||{}
  6115.     }
  6116.     if(b.isFunction(a.beforeSalvar)){
  6117.     aa=a.beforeSalvar(E,b("#"+y))
  6118.     }
  6119. }
  6120. v=a.url?a.url:b(e).jqGrid("getGridParam","editurl");
  6121. if(aa[0]){
  6122.     if(!v){
  6123.         aa[0]=false;
  6124.         aa[1]+=" "+b.jgrid.errors.nourl
  6125.         }
  6126.     }
  6127. if(aa[0]===false){
  6128.     b("#FormError>td","#"+u).html(aa[1]);
  6129.     b("#FormError","#"+u).show();
  6130.     return
  6131. }
  6132. if(!d.processing){
  6133.     d.processing=true;
  6134.     b("#sData","#"+u+"_2").addClass("ui-state-active");
  6135.     E.oper=E.id=="_empty"?"add":"edit";
  6136.     E=b.extend(E,a.editData,Z);
  6137.     b.ajax(b.extend({
  6138.         url:v,
  6139.         type:a.mtype,
  6140.         data:b.isFunction(a.serializeEditData)?a.serializeEditData(E):E,
  6141.         complete:function(ae,ad){
  6142.             if(ad!="success"){
  6143.                 aa[0]=false;
  6144.                 if(b.isFunction(a.errorTextFormat)){
  6145.                     aa[1]=a.errorTextFormat(ae)
  6146.                     }else{
  6147.                     aa[1]=ad+" Status: '"+ae.statusText+"'. Error code: "+ae.status
  6148.                     }
  6149.                 }else{
  6150.             if(b.isFunction(a.afterSalvar)){
  6151.                 aa=a.afterSalvar(ae,E)
  6152.                 }
  6153.             }
  6154.         if(aa[0]===false){
  6155.         b("#FormError>td","#"+u).html(aa[1]);
  6156.         b("#FormError","#"+u).show()
  6157.         }else{
  6158.         b.each(e.p.colModel,function(ag,ai){
  6159.             if(R[this.name]&&this.formatter&&this.formatter=="select"){
  6160.                 try{
  6161.                     delete R[this.name]
  6162.                 }catch(ah){}
  6163.             }
  6164.         });
  6165.     E=b.extend(E,R);
  6166.         if(E.id=="_empty"){
  6167.         if(!aa[2]){
  6168.             aa[2]=parseInt(e.p.records)+1
  6169.             }
  6170.             E.id=aa[2];
  6171.         if(a.closeAfterAdd){
  6172.             if(a.reloadAfterSalvar){
  6173.                 b(e).trigger("reloadGrid")
  6174.                 }else{
  6175.                 b(e).jqGrid("addRowData",aa[2],E,d.addedrow);
  6176.                 b(e).jqGrid("setSelection",aa[2])
  6177.                 }
  6178.                 hideModal("#"+i.themodal,{
  6179.                 gb:"#gbox_"+C,
  6180.                 jqm:d.jqModal,
  6181.                 onClose:a.onClose
  6182.                 })
  6183.             }else{
  6184.             if(a.clearAfterAdd){
  6185.                 if(a.reloadAfterSalvar){
  6186.                     b(e).trigger("reloadGrid")
  6187.                     }else{
  6188.                     b(e).jqGrid("addRowData",aa[2],E,d.addedrow)
  6189.                     }
  6190.                     n("_empty",e,y)
  6191.                 }else{
  6192.                 if(a.reloadAfterSalvar){
  6193.                     b(e).trigger("reloadGrid")
  6194.                     }else{
  6195.                     b(e).jqGrid("addRowData",aa[2],E,d.addedrow)
  6196.                     }
  6197.                 }
  6198.         }
  6199.     }else{
  6200.     if(a.reloadAfterSalvar){
  6201.         b(e).trigger("reloadGrid");
  6202.         if(!a.closeAfterEdit){
  6203.             setTimeout(function(){
  6204.                 b(e).jqGrid("setSelection",E.id)
  6205.                 },1000)
  6206.             }
  6207.         }else{
  6208.     if(e.p.treeGrid===true){
  6209.         b(e).jqGrid("setTreeRow",E.id,E)
  6210.         }else{
  6211.         b(e).jqGrid("setRowData",E.id,E)
  6212.         }
  6213.     }
  6214. if(a.closeAfterEdit){
  6215.     hideModal("#"+i.themodal,{
  6216.         gb:"#gbox_"+C,
  6217.         jqm:d.jqModal,
  6218.         onClose:a.onClose
  6219.         })
  6220.     }
  6221. }
  6222. if(b.isFunction(a.afterComplete)){
  6223.     ac=ae;
  6224.     setTimeout(function(){
  6225.         a.afterComplete(ac,E,b("#"+y));
  6226.         ac=null
  6227.         },500)
  6228.     }
  6229. }
  6230. d.processing=false;
  6231. if(a.checkOnSalvar||a.checkOnUpdate){
  6232.     b("#"+y).data("disabled",false);
  6233.     if(a._savedData.id!="_empty"){
  6234.         a._savedData=E
  6235.         }
  6236.     }
  6237. b("#sData","#"+u+"_2").removeClass("ui-state-active");
  6238. try{
  6239.     b(":input:visible","#"+y)[0].focus()
  6240.     }catch(af){}
  6241. },
  6242. error:function(af,ad,ae){
  6243.     b("#FormError>td","#"+u).html(ad+" : "+ae);
  6244.     b("#FormError","#"+u).show();
  6245.     d.processing=false;
  6246.     b("#"+y).data("disabled",false);
  6247.     b("#sData","#"+u+"_2").removeClass("ui-state-active")
  6248.     }
  6249. },b.jgrid.ajaxOptions,a.ajaxEditOptions))
  6250. }
  6251. }
  6252. function K(ab,Y){
  6253.     var Z=false,aa;
  6254.     for(aa in ab){
  6255.         if(ab[aa]!=Y[aa]){
  6256.             Z=true;
  6257.             break
  6258.         }
  6259.     }
  6260.     return Z
  6261. }
  6262. })
  6263. },
  6264. viewGridRow:function(c,d){
  6265.     d=b.extend({
  6266.         top:0,
  6267.         left:0,
  6268.         width:0,
  6269.         height:"auto",
  6270.         dataheight:"auto",
  6271.         modal:false,
  6272.         drag:true,
  6273.         resize:true,
  6274.         jqModal:true,
  6275.         closeOnEscape:false,
  6276.         labelswidth:"30%",
  6277.         closeicon:[],
  6278.         navkeys:[false,38,40],
  6279.         onClose:null
  6280.     },b.jgrid.view,d||{});
  6281.     return this.each(function(){
  6282.         var x=this;
  6283.         if(!x.grid||!c){
  6284.             return
  6285.         }
  6286.         if(!d.imgpath){
  6287.             d.imgpath=x.p.imgpath
  6288.             }
  6289.             var r=x.p.id,A="ViewGrid_"+r,s="ViewTbl_"+r,j={
  6290.             themodal:"viewmod"+r,
  6291.             modalhead:"viewhd"+r,
  6292.             modalcontent:"viewcnt"+r,
  6293.             scrollelm:A
  6294.         },h=1,f=0;
  6295.         if(b("#"+j.themodal).html()!=null){
  6296.             b(".ui-jqdialog-title","#"+j.modalhead).html(d.caption);
  6297.             b("#FormError","#"+s).hide();
  6298.             m(c,x);
  6299.             viewModal("#"+j.themodal,{
  6300.                 gbox:"#gbox_"+r,
  6301.                 jqm:d.jqModal,
  6302.                 jqM:false,
  6303.                 modal:d.modal
  6304.                 });
  6305.             k()
  6306.             }else{
  6307.             b(x.p.colModel).each(function(F){
  6308.                 var G=this.formoptions;
  6309.                 h=Math.max(h,G?G.colpos||0:0);
  6310.                 f=Math.max(f,G?G.rowpos||0:0)
  6311.                 });
  6312.             var y=isNaN(d.dataheight)?d.dataheight:d.dataheight+"px";
  6313.             var w,C=b("<form name='FormPost' id='"+A+"' class='FormGrid' style='width:100%;overflow:auto;position:relative;height:"+y+";'></form>"),l=b("<table id='"+s+"' class='EditTable' cellspacing='1' cellpading='2' border='0' style='table-layout:fixed'><tbody></tbody></table>");
  6314.             b(C).append(l);
  6315.             var v=n(c,x,l,h),z=x.p.direction=="rtl"?true:false,E=z?"nData":"pData",g=z?"pData":"nData",t="<a href='javascript:void(0)' id='"+E+"' class='fm-button ui-state-default ui-corner-left'><span class='ui-icon ui-icon-triangle-1-w'></span></div>",u="<a href='javascript:void(0)' id='"+g+"' class='fm-button ui-state-default ui-corner-right'><span class='ui-icon ui-icon-triangle-1-e'></span></div>",D="<a href='javascript:void(0)' id='cData' class='fm-button ui-state-default ui-corner-all'>"+d.bClose+"</a>";
  6316.             if(f>0){
  6317.                 var e=[];
  6318.                 b.each(b(l)[0].rows,function(F,G){
  6319.                     e[F]=G
  6320.                     });
  6321.                 e.sort(function(G,F){
  6322.                     if(G.rp>F.rp){
  6323.                         return 1
  6324.                         }
  6325.                         if(G.rp<F.rp){
  6326.                         return -1
  6327.                         }
  6328.                         return 0
  6329.                     });
  6330.                 b.each(e,function(F,G){
  6331.                     b("tbody",l).append(G)
  6332.                     })
  6333.                 }
  6334.                 d.gbox="#gbox_"+r;
  6335.             var q=false;
  6336.             if(d.closeOnEscape===true){
  6337.                 d.closeOnEscape=false;
  6338.                 q=true
  6339.                 }
  6340.                 var B=b("<span></span>").append(C).append("<table border='0' class='EditTable' id='"+s+"_2'><tbody><tr id='Act_Buttons'><td class='navButton ui-widget-content' width='"+d.labelswidth+"'>"+(z?u+t:t+u)+"</td><td class='EditButton ui-widget-content'>"+D+"</td></tr></tbody></table>");
  6341.             createModal(j,B,d,"#gview_"+x.p.id,b("#gview_"+x.p.id)[0]);
  6342.             if(z){
  6343.                 b("#pData, #nData","#"+s+"_2").css("float","right");
  6344.                 b(".EditButton","#"+s+"_2").css("text-align","left")
  6345.                 }
  6346.                 B=null;
  6347.             b("#"+j.themodal).keydown(function(F){
  6348.                 if(F.which===27){
  6349.                     if(q){
  6350.                         hideModal(this,{
  6351.                             gb:d.gbox,
  6352.                             jqm:d.jqModal,
  6353.                             onClose:d.onClose
  6354.                             })
  6355.                         }
  6356.                         return false
  6357.                     }
  6358.                     if(d.navkeys[0]===true){
  6359.                     if(F.which===d.navkeys[1]){
  6360.                         b("#pData","#"+s+"_2").trigger("click");
  6361.                         return false
  6362.                         }
  6363.                         if(F.which===d.navkeys[2]){
  6364.                         b("#nData","#"+s+"_2").trigger("click");
  6365.                         return false
  6366.                         }
  6367.                     }
  6368.             });
  6369.     d.closeicon=b.extend([true,"left","ui-icon-close"],d.closeicon);
  6370.         if(d.closeicon[0]==true){
  6371.         b("#cData","#"+s+"_2").addClass(d.closeicon[1]=="right"?"fm-button-icon-right":"fm-button-icon-left").append("<span class='ui-icon "+d.closeicon[2]+"'></span>")
  6372.         }
  6373.         viewModal("#"+j.themodal,{
  6374.         gbox:"#gbox_"+r,
  6375.         jqm:d.jqModal,
  6376.         modal:d.modal
  6377.         });
  6378.     b(".fm-button:not(.ui-state-disabled)","#"+s+"_2").hover(function(){
  6379.         b(this).addClass("ui-state-hover")
  6380.         },function(){
  6381.         b(this).removeClass("ui-state-hover")
  6382.         });
  6383.     k();
  6384.         b("#cData","#"+s+"_2").click(function(F){
  6385.         hideModal("#"+j.themodal,{
  6386.             gb:"#gbox_"+r,
  6387.             jqm:d.jqModal,
  6388.             onClose:d.onClose
  6389.             });
  6390.         return false
  6391.         });
  6392.     b("#nData","#"+s+"_2").click(function(F){
  6393.         b("#FormError","#"+s).hide();
  6394.         var G=i();
  6395.         G[0]=parseInt(G[0]);
  6396.         if(G[0]!=-1&&G[1][G[0]+1]){
  6397.             if(b.isFunction(d.onclickPgButtons)){
  6398.                 d.onclickPgButtons("next",b("#"+A),G[1][G[0]])
  6399.                 }
  6400.                 m(G[1][G[0]+1],x);
  6401.             b(x).jqGrid("setSelection",G[1][G[0]+1]);
  6402.             if(b.isFunction(d.afterclickPgButtons)){
  6403.                 d.afterclickPgButtons("next",b("#"+A),G[1][G[0]+1])
  6404.                 }
  6405.                 o(G[0]+1,G[1].length-1)
  6406.             }
  6407.             k();
  6408.         return false
  6409.         });
  6410.     b("#pData","#"+s+"_2").click(function(G){
  6411.         b("#FormError","#"+s).hide();
  6412.         var F=i();
  6413.         if(F[0]!=-1&&F[1][F[0]-1]){
  6414.             if(b.isFunction(d.onclickPgButtons)){
  6415.                 d.onclickPgButtons("prev",b("#"+A),F[1][F[0]])
  6416.                 }
  6417.                 m(F[1][F[0]-1],x);
  6418.             b(x).jqGrid("setSelection",F[1][F[0]-1]);
  6419.             if(b.isFunction(d.afterclickPgButtons)){
  6420.                 d.afterclickPgButtons("prev",b("#"+A),F[1][F[0]-1])
  6421.                 }
  6422.                 o(F[0]-1,F[1].length-1)
  6423.             }
  6424.             k();
  6425.         return false
  6426.         })
  6427.     }
  6428.     function k(){
  6429.         if(d.closeOnEscape===true||d.navkeys[0]===true){
  6430.             setTimeout(function(){
  6431.                 b(".ui-jqdialog-titlebar-close","#"+j.modalhead).focus()
  6432.                 },0)
  6433.             }
  6434.         }
  6435.     var p=i();
  6436. o(p[0],p[1].length-1);
  6437. function o(G,H,F){
  6438.     if(G==0){
  6439.         b("#pData","#"+s+"_2").addClass("ui-state-disabled")
  6440.         }else{
  6441.         b("#pData","#"+s+"_2").removeClass("ui-state-disabled")
  6442.         }
  6443.         if(G==H){
  6444.         b("#nData","#"+s+"_2").addClass("ui-state-disabled")
  6445.         }else{
  6446.         b("#nData","#"+s+"_2").removeClass("ui-state-disabled")
  6447.         }
  6448.     }
  6449. function i(){
  6450.     var G=b(x).jqGrid("getDataIDs"),F=b("#id_g","#"+s).val(),H=b.inArray(F,G);
  6451.     return[H,G]
  6452.     }
  6453.     function n(L,R,P,X){
  6454.     var H,K,S,aa,F,V=0,Z,ab,Y=[],Q=false,N="<td class='CaptionTD ui-widget-content' width='"+d.labelswidth+"'>&nbsp;</td><td class='DataTD ui-helper-reset ui-widget-content' style='white-space:pre;'>&nbsp;</td>",O="",I="<td class='CaptionTD ui-widget-content'>&nbsp;</td><td class='DataTD ui-widget-content' style='white-space:pre;'>&nbsp;</td>",M=["integer","number","currency"],U=0,T=0,J,G;
  6455.     for(var W=1;W<=X;W++){
  6456.         O+=W==1?N:I
  6457.         }
  6458.         b(R.p.colModel).each(function(ad){
  6459.         if(this.editrules&&this.editrules.edithidden===true){
  6460.             K=false
  6461.             }else{
  6462.             K=this.hidden===true?true:false
  6463.             }
  6464.             if(!K&&this.align==="right"){
  6465.             if(this.formatter&&b.inArray(this.formatter,M)!==-1){
  6466.                 U=Math.max(U,parseInt(this.width,10))
  6467.                 }else{
  6468.                 T=Math.max(T,parseInt(this.width,10))
  6469.                 }
  6470.             }
  6471.     });
  6472. J=U!==0?U:T!==0?T:0;
  6473. Q=b(R).jqGrid("getInd",L);
  6474. b(R.p.colModel).each(function(ae){
  6475.     H=this.name;
  6476.     G=false;
  6477.     if(this.editrules&&this.editrules.edithidden===true){
  6478.         K=false
  6479.         }else{
  6480.         K=this.hidden===true?true:false
  6481.         }
  6482.         ab=K?"style='display:none'":"";
  6483.     if(H!=="cb"&&H!=="subgrid"&&H!=="rn"){
  6484.         if(Q===false){
  6485.             Z=""
  6486.             }else{
  6487.             if(H==R.p.ExpandColumn&&R.p.treeGrid===true){
  6488.                 Z=b("td:eq("+ae+")",R.rows[Q]).text()
  6489.                 }else{
  6490.                 Z=b("td:eq("+ae+")",R.rows[Q]).html()
  6491.                 }
  6492.             }
  6493.         G=this.align==="right"&&J!==0?true:false;
  6494.     var ad=b.extend({},this.editoptions||{},{
  6495.         id:H,
  6496.         name:H
  6497.     }),ai=b.extend({},{
  6498.         rowabove:false,
  6499.         rowcontent:""
  6500.     },this.formoptions||{}),af=parseInt(ai.rowpos)||V+1,ah=parseInt((parseInt(ai.colpos)||1)*2);
  6501.     if(ai.rowabove){
  6502.         var ag=b("<tr><td class='contentinfo' colspan='"+(X*2)+"'>"+ai.rowcontent+"</td></tr>");
  6503.         b(P).append(ag);
  6504.         ag[0].rp=af
  6505.         }
  6506.         S=b(P).find("tr[rowpos="+af+"]");
  6507.     if(S.length==0){
  6508.         S=b("<tr "+ab+" rowpos='"+af+"'></tr>").addClass("FormData").attr("id","trv_"+H);
  6509.         b(S).append(O);
  6510.         b(P).append(S);
  6511.         S[0].rp=af
  6512.         }
  6513.         b("td:eq("+(ah-2)+")",S[0]).html("<b>"+(typeof ai.label==="undefined"?R.p.colNames[ae]:ai.label)+"</b>");
  6514.     b("td:eq("+(ah-1)+")",S[0]).append("<span>"+Z+"</span>").attr("id","v_"+H);
  6515.     if(G){
  6516.         b("td:eq("+(ah-1)+") span",S[0]).css({
  6517.             "text-align":"right",
  6518.             width:J+"px"
  6519.             })
  6520.         }
  6521.         Y[V]=ae;
  6522.     V++
  6523. }
  6524. });
  6525. if(V>0){
  6526.     var ac=b("<tr class='FormData' style='display:none'><td class='CaptionTD'></td><td colspan='"+(X*2-1)+"' class='DataTD'><input class='FormElement' id='id_g' type='text' name='id' value='"+L+"'/></td></tr>");
  6527.     ac[0].rp=V+99;
  6528.     b(P).append(ac)
  6529.     }
  6530.     return Y
  6531. }
  6532. function m(J,L){
  6533.     var F,M,I=0,H,G,K;
  6534.     K=b(L).jqGrid("getInd",J,true);
  6535.     if(!K){
  6536.         return
  6537.     }
  6538.     b("td",K).each(function(N){
  6539.         F=L.p.colModel[N].name;
  6540.         if(L.p.colModel[N].editrules&&L.p.colModel[N].editrules.edithidden===true){
  6541.             M=false
  6542.             }else{
  6543.             M=L.p.colModel[N].hidden===true?true:false
  6544.             }
  6545.             if(F!=="cb"&&F!=="subgrid"&&F!=="rn"){
  6546.             if(F==L.p.ExpandColumn&&L.p.treeGrid===true){
  6547.                 H=b(this).text()
  6548.                 }else{
  6549.                 H=b(this).html()
  6550.                 }
  6551.                 G=b.extend({},L.p.colModel[N].editoptions||{});
  6552.             F=b.jgrid.jqID("v_"+F);
  6553.             b("#"+F+" span","#"+s).html(H);
  6554.             if(M){
  6555.                 b("#"+F,"#"+s).parents("tr:first").hide()
  6556.                 }
  6557.                 I++
  6558.         }
  6559.     });
  6560. if(I>0){
  6561.     b("#id_g","#"+s).val(J)
  6562.     }
  6563. }
  6564. })
  6565. },
  6566. delGridRow:function(c,d){
  6567.     d=b.extend({
  6568.         top:0,
  6569.         left:0,
  6570.         width:240,
  6571.         height:"auto",
  6572.         dataheight:"auto",
  6573.         modal:false,
  6574.         drag:true,
  6575.         resize:true,
  6576.         url:"",
  6577.         mtype:"POST",
  6578.         reloadAfterSalvar:true,
  6579.         beforeShowForm:null,
  6580.         afterShowForm:null,
  6581.         beforeSalvar:null,
  6582.         onclickSalvar:null,
  6583.         afterSalvar:null,
  6584.         jqModal:true,
  6585.         closeOnEscape:false,
  6586.         delData:{},
  6587.         delicon:[],
  6588.         Cancelaricon:[],
  6589.         NovaLinhaicon:[],
  6590.         onClose:null,
  6591.         ajaxDelOptions:{},
  6592.         serializeDelData:null
  6593.     },b.jgrid.del,d||{});
  6594.     a=d;
  6595.     return this.each(function(){
  6596.         var l=this;
  6597.         if(!l.grid){
  6598.             return
  6599.         }
  6600.         if(!c){
  6601.             return
  6602.         }
  6603.         var m=typeof d.beforeShowForm==="function"?true:false,g=typeof d.afterShowForm==="function"?true:false,e=l.p.id,f={},j="DelTbl_"+e,h={
  6604.             themodal:"delmod"+e,
  6605.             modalhead:"delhd"+e,
  6606.             modalcontent:"delcnt"+e,
  6607.             scrollelm:j
  6608.         };
  6609.        
  6610.         if(isArray(c)){
  6611.             c=c.join()
  6612.             }
  6613.             if(b("#"+h.themodal).html()!=null){
  6614.             b("#DelData>td","#"+j).text(c);
  6615.             b("#DelError","#"+j).hide();
  6616.             if(d.processing===true){
  6617.                 d.processing=false;
  6618.                 b("#dData","#"+j).removeClass("ui-state-active")
  6619.                 }
  6620.                 if(m){
  6621.                 d.beforeShowForm(b("#"+j))
  6622.                 }
  6623.                 viewModal("#"+h.themodal,{
  6624.                 gbox:"#gbox_"+e,
  6625.                 jqm:d.jqModal,
  6626.                 jqM:false,
  6627.                 modal:d.modal
  6628.                 });
  6629.             if(g){
  6630.                 d.afterShowForm(b("#"+j))
  6631.                 }
  6632.             }else{
  6633.         var n=isNaN(d.dataheight)?d.dataheight:d.dataheight+"px";
  6634.         var k="<div id='"+j+"' class='formdata' style='width:100%;overflow:auto;position:relative;height:"+n+";'>";
  6635.         k+="<table class='DelTable'><tbody>";
  6636.         k+="<tr id='DelError' style='display:none'><td class='ui-state-error'></td></tr>";
  6637.         k+="<tr id='DelData' style='display:none'><td >"+c+"</td></tr>";
  6638.         k+='<tr><td class="delmsg" style="white-space:pre;">'+d.msg+"</td></tr><tr><td >&nbsp;</td></tr>";
  6639.         k+="</tbody></table></div>";
  6640.         var i="<a href='javascript:void(0)' id='dData' class='fm-button ui-state-default ui-corner-all'>"+d.bSalvar+"</a>",o="<a href='javascript:void(0)' id='eData' class='fm-button ui-state-default ui-corner-all'>"+d.bCancelar+"</a>",x="<a href='javascript:void(0)' id='zData' class='fm-button ui-state-default ui-corner-all'>"+d.bNovaLinha+"</a>";
  6641.         k+="<table cellspacing='0' cellpadding='0' border='0' class='EditTable' id='"+j+"_2'><tbody><tr><td class='DataTD ui-widget-content'></td></tr><tr style='display:block;height:3px;'><td></td></tr><tr><td class='DelButton EditButton'>"+i+"&nbsp;"+o+"&nbsp;"+x+"</td></tr></tbody></table>";
  6642.         d.gbox="#gbox_"+e;
  6643.         createModal(h,k,d,"#gview_"+l.p.id,b("#gview_"+l.p.id)[0]);
  6644.         b(".fm-button","#"+j+"_2").hover(function(){
  6645.             b(this).addClass("ui-state-hover")
  6646.             },function(){
  6647.             b(this).removeClass("ui-state-hover")
  6648.             });
  6649.         d.delicon=b.extend([true,"left","ui-icon-scissors"],d.delicon);
  6650.         d.Cancelaricon=b.extend([true,"left","ui-icon-Cancelar"],d.Cancelaricon);
  6651.         //d.NovaLinhaicon=b.extend([true,"left","ui-icon-NovaLinha"],d.NovaLinhaicon);
  6652.        
  6653. if(d.delicon[0]==true){
  6654.             b("#dData","#"+j+"_2").addClass(d.delicon[1]=="right"?"fm-button-icon-right":"fm-button-icon-left").append("<span class='ui-icon "+d.delicon[2]+"'></span>")
  6655.             }
  6656.             if(d.Cancelaricon[0]==true){
  6657.             b("#eData","#"+j+"_2").addClass(d.Cancelaricon[1]=="right"?"fm-button-icon-right":"fm-button-icon-left").append("<span class='ui-icon "+d.Cancelaricon[2]+"'></span>")
  6658.             }
  6659.             if(d.Cancelaricon[0]==true){
  6660.             b("#zData","#"+j+"_2").addClass(d.Cancelaricon[1]=="right"?"fm-button-icon-right":"fm-button-icon-left").append("<span class='ui-icon "+d.Cancelaricon[2]+"'></span>")
  6661.             }
  6662.             b("#dData","#"+j+"_2").click(function(s){
  6663.             var q=[true,""];
  6664.             f={};
  6665.            
  6666.             var r=b("#DelData>td","#"+j).text();
  6667.             if(typeof d.onclickSalvar==="function"){
  6668.                 f=d.onclickSalvar(a)||{}
  6669.             }
  6670.             if(typeof d.beforeSalvar==="function"){
  6671.             q=d.beforeSalvar(r)
  6672.             }
  6673.             if(q[0]){
  6674.             var p=a.url?a.url:b(l).jqGrid("getGridParam","editurl");
  6675.             if(!p){
  6676.                 q[0]=false;
  6677.                 q[1]+=" "+b.jgrid.errors.nourl
  6678.                 }
  6679.             }
  6680.            
  6681. //            if(d.delicon[0]==true){
  6682. //            b("#dData","#"+j+"_2").addClass(d.delicon[1]=="right"?"fm-button-icon-right":"fm-button-icon-left").append("<span class='ui-icon "+d.delicon[2]+"'></span>")
  6683. //            }
  6684. //            if(d.NovaLinhaicon[0]==true){
  6685. //            b("#eData","#"+j+"_2").addClass(d.NovaLinhaicon[1]=="right"?"fm-button-icon-right":"fm-button-icon-left").append("<span class='ui-icon "+d.NovaLinhaicon[2]+"'></span>")
  6686. //            }
  6687. //            b("#dData","#"+j+"_2").click(function(s){
  6688. //            var q=[true,""];
  6689. //            f={};
  6690. //            
  6691. //            var r=b("#DelData>td","#"+j).text();
  6692. //            if(typeof d.onclickSalvar==="function"){
  6693. //                f=d.onclickSalvar(a)||{}
  6694. //            }
  6695. //            if(typeof d.beforeSalvar==="function"){
  6696. //            q=d.beforeSalvar(r)
  6697. //            }
  6698. //            if(q[0]){
  6699. //            var p=a.url?a.url:b(l).jqGrid("getGridParam","editurl");
  6700. //            if(!p){
  6701. //                q[0]=false;
  6702. //                q[1]+=" "+b.jgrid.errors.nourl
  6703. //                }
  6704. //            }
  6705.         if(q[0]===false){
  6706.             b("#DelError>td","#"+j).html(q[1]);
  6707.             b("#DelError","#"+j).show()
  6708.             }else{
  6709.             if(!d.processing){
  6710.                 d.processing=true;
  6711.                 b(this).addClass("ui-state-active");
  6712.                 var t=b.extend({
  6713.                     oper:"del",
  6714.                     id:r
  6715.                 },a.delData,f);
  6716.                 b.ajax(b.extend({
  6717.                     url:p,
  6718.                     type:d.mtype,
  6719.                     data:b.isFunction(d.serializeDelData)?d.serializeDelData(t):t,
  6720.                     complete:function(x,v){
  6721.                         if(v!="success"){
  6722.                             q[0]=false;
  6723.                             if(b.isFunction(a.errorTextFormat)){
  6724.                                 q[1]=a.errorTextFormat(x)
  6725.                                 }else{
  6726.                                 q[1]=v+" Status: '"+x.statusText+"'. Error code: "+x.status
  6727.                                 }
  6728.                             }else{
  6729.                         if(typeof a.afterSalvar==="function"){
  6730.                             q=a.afterSalvar(x,r)
  6731.                             }
  6732.                         }
  6733.                     if(q[0]===false){
  6734.                     b("#DelError>td","#"+j).html(q[1]);
  6735.                     b("#DelError","#"+j).show()
  6736.                     }else{
  6737.                     if(a.reloadAfterSalvar){
  6738.                         if(l.p.treeGrid){
  6739.                             b(l).jqGrid("setGridParam",{
  6740.                                 treeANode:0,
  6741.                                 datatype:l.p.treedatatype
  6742.                                 })
  6743.                             }
  6744.                             b(l).trigger("reloadGrid")
  6745.                         }else{
  6746.                         var u=[];
  6747.                         u=r.split(",");
  6748.                         if(l.p.treeGrid===true){
  6749.                             try{
  6750.                                 b(l).jqGrid("delTreeNode",u[0])
  6751.                                 }catch(y){}
  6752.                         }else{
  6753.                         for(var w=0;w<u.length;w++){
  6754.                             b(l).jqGrid("delRowData",u[w])
  6755.                             }
  6756.                         }
  6757.                         l.p.selrow=null;
  6758.                 l.p.selarrrow=[]
  6759.                 }
  6760.                 if(b.isFunction(a.afterComplete)){
  6761.                     setTimeout(function(){
  6762.                         a.afterComplete(x,r)
  6763.                         },500)
  6764.                     }
  6765.                 }
  6766.                 d.processing=false;
  6767.             b("#dData","#"+j+"_2").removeClass("ui-state-active");
  6768.             if(q[0]){
  6769.                 hideModal("#"+h.themodal,{
  6770.                     gb:"#gbox_"+e,
  6771.                     jqm:d.jqModal,
  6772.                     onClose:a.onClose
  6773.                     })
  6774.                 }
  6775.             },
  6776.     error:function(w,u,v){
  6777.         b("#DelError>td","#"+j).html(u+" : "+v);
  6778.         b("#DelError","#"+j).show();
  6779.         d.processing=false;
  6780.         b("#dData","#"+j+"_2").removeClass("ui-state-active")
  6781.         }
  6782.     },b.jgrid.ajaxOptions,d.ajaxDelOptions))
  6783. }
  6784. }
  6785. return false
  6786. });
  6787. b("#eData","#"+j+"_2").click(function(p){
  6788.     hideModal("#"+h.themodal,{
  6789.         gb:"#gbox_"+e,
  6790.         jqm:d.jqModal,
  6791.         onClose:a.onClose
  6792.         });
  6793.     return false
  6794.     });
  6795. if(m){
  6796.     d.beforeShowForm(b("#"+j))
  6797.     }
  6798.     viewModal("#"+h.themodal,{
  6799.     gbox:"#gbox_"+e,
  6800.     jqm:d.jqModal,
  6801.     modal:d.modal
  6802.     });
  6803. if(g){
  6804.     d.afterShowForm(b("#"+j))
  6805.     }
  6806. }
  6807. if(d.closeOnEscape===true){
  6808.     setTimeout(function(){
  6809.         b(".ui-jqdialog-titlebar-close","#"+h.modalhead).focus()
  6810.         },0)
  6811.     }
  6812. })
  6813. },
  6814. navGrid:function(f,h,e,g,d,c,i){
  6815.     h=b.extend({
  6816.         edit:true,
  6817.         editicon:"ui-icon-pencil",
  6818.         add:true,
  6819.         addicon:"ui-icon-plus",
  6820.         del:true,
  6821.         delicon:"ui-icon-trash",
  6822.         search:true,
  6823.         searchicon:"ui-icon-search",
  6824.         refresh:true,
  6825.         refreshicon:"ui-icon-refresh",
  6826.         refreshstate:"firstpage",
  6827.         view:false,
  6828.         viewicon:"ui-icon-document",
  6829.         position:"left",
  6830.         closeOnEscape:true,
  6831.         afterRefresh:null
  6832.     },b.jgrid.nav,h||{});
  6833.     return this.each(function(){
  6834.         var j={
  6835.             themodal:"alertmod",
  6836.             modalhead:"alerthd",
  6837.             modalcontent:"alertcnt"
  6838.         },n=this,m,s,o,k;
  6839.         if(!n.grid){
  6840.             return
  6841.         }
  6842.         if(b("#"+j.themodal).html()==null){
  6843.             if(typeof window.innerWidth!="undefined"){
  6844.                 m=window.innerWidth,s=window.innerHeight
  6845.                 }else{
  6846.                 if(typeof document.documentElement!="undefined"&&typeof document.documentElement.clientWidth!="undefined"&&document.documentElement.clientWidth!=0){
  6847.                     m=document.documentElement.clientWidth,s=document.documentElement.clientHeight
  6848.                     }else{
  6849.                     m=1024;
  6850.                     s=768
  6851.                     }
  6852.                 }
  6853.             createModal(j,"<div>"+h.alerttext+"</div><span tabindex='0'><span tabindex='-1' id='jqg_alrt'></span></span>",{
  6854.             gbox:"#gbox_"+n.p.id,
  6855.             jqModal:true,
  6856.             drag:true,
  6857.             resize:true,
  6858.             caption:h.alertcap,
  6859.             top:s/2-25,
  6860.             left:m/2-100,
  6861.             width:200,
  6862.             height:"auto",
  6863.             closeOnEscape:h.closeOnEscape
  6864.             },"","",true)
  6865.         }
  6866.         var p,q=b("<table cellspacing='0' cellpadding='0' border='0' class='ui-pg-table navtable' style='float:left;table-layout:auto;'><tbody><tr></tr></tbody></table>"),r="<td class='ui-pg-button ui-state-disabled' style='width:4px;'><span class='ui-separator'></span></td>",l=b(n.p.pager).attr("id")||"pager";
  6867.         if(n.p.direction=="rtl"){
  6868.         b(q).attr("dir","rtl").css("float","right")
  6869.         }
  6870.         if(h.add){
  6871.         g=g||{};
  6872.        
  6873.         p=b("<td class='ui-pg-button ui-corner-all'></td>");
  6874.         b(p).append("<div class='ui-pg-div'><span class='ui-icon "+h.addicon+"'></span>"+h.addtext+"</div>");
  6875.         b("tr",q).append(p);
  6876.         b(p,q).attr({
  6877.             title:h.addtitle||"",
  6878.             id:g.id||"add_"+n.p.id
  6879.             }).click(function(){
  6880.             if(typeof h.addfunc=="function"){
  6881.                 h.addfunc()
  6882.                 }else{
  6883.                 b(n).jqGrid("editGridRow","new",g)
  6884.                 }
  6885.                 return false
  6886.             }).hover(function(){
  6887.             b(this).addClass("ui-state-hover")
  6888.             },function(){
  6889.             b(this).removeClass("ui-state-hover")
  6890.             });
  6891.         p=null
  6892.         }
  6893.         if(h.edit){
  6894.         p=b("<td class='ui-pg-button ui-corner-all'></td>");
  6895.         e=e||{};
  6896.        
  6897.         b(p).append("<div class='ui-pg-div'><span class='ui-icon "+h.editicon+"'></span>"+h.edittext+"</div>");
  6898.         b("tr",q).append(p);
  6899.         b(p,q).attr({
  6900.             title:h.edittitle||"",
  6901.             id:e.id||"edit_"+n.p.id
  6902.             }).click(function(){
  6903.             var t=n.p.selrow;
  6904.             if(t){
  6905.                 if(typeof h.editfunc=="function"){
  6906.                     h.editfunc(t)
  6907.                     }else{
  6908.                     b(n).jqGrid("editGridRow",t,e)
  6909.                     }
  6910.                 }else{
  6911.             viewModal("#"+j.themodal,{
  6912.                 gbox:"#gbox_"+n.p.id,
  6913.                 jqm:true
  6914.             });
  6915.             b("#jqg_alrt").focus()
  6916.             }
  6917.             return false
  6918.         }).hover(function(){
  6919.         b(this).addClass("ui-state-hover")
  6920.         },function(){
  6921.         b(this).removeClass("ui-state-hover")
  6922.         });
  6923.     p=null
  6924.     }
  6925.     if(h.view){
  6926.         p=b("<td class='ui-pg-button ui-corner-all'></td>");
  6927.         i=i||{};
  6928.        
  6929.         b(p).append("<div class='ui-pg-div'><span class='ui-icon "+h.viewicon+"'></span>"+h.viewtext+"</div>");
  6930.         b("tr",q).append(p);
  6931.         b(p,q).attr({
  6932.             title:h.viewtitle||"",
  6933.             id:i.id||"view_"+n.p.id
  6934.             }).click(function(){
  6935.             var t=n.p.selrow;
  6936.             if(t){
  6937.                 b(n).jqGrid("viewGridRow",t,i)
  6938.                 }else{
  6939.                 viewModal("#"+j.themodal,{
  6940.                     gbox:"#gbox_"+n.p.id,
  6941.                     jqm:true
  6942.                 });
  6943.                 b("#jqg_alrt").focus()
  6944.                 }
  6945.                 return false
  6946.             }).hover(function(){
  6947.             b(this).addClass("ui-state-hover")
  6948.             },function(){
  6949.             b(this).removeClass("ui-state-hover")
  6950.             });
  6951.         p=null
  6952.         }
  6953.         if(h.del){
  6954.         p=b("<td class='ui-pg-button ui-corner-all'></td>");
  6955.         d=d||{};
  6956.        
  6957.         b(p).append("<div class='ui-pg-div'><span class='ui-icon "+h.delicon+"'></span>"+h.deltext+"</div>");
  6958.         b("tr",q).append(p);
  6959.         b(p,q).attr({
  6960.             title:h.deltitle||"",
  6961.             id:d.id||"del_"+n.p.id
  6962.             }).click(function(){
  6963.             var t;
  6964.             if(n.p.multiselect){
  6965.                 t=n.p.selarrrow;
  6966.                 if(t.length==0){
  6967.                     t=null
  6968.                     }
  6969.                 }else{
  6970.             t=n.p.selrow
  6971.             }
  6972.             if(t){
  6973.             b(n).jqGrid("delGridRow",t,d)
  6974.             }else{
  6975.             viewModal("#"+j.themodal,{
  6976.                 gbox:"#gbox_"+n.p.id,
  6977.                 jqm:true
  6978.             });
  6979.             b("#jqg_alrt").focus()
  6980.             }
  6981.             return false
  6982.         }).hover(function(){
  6983.         b(this).addClass("ui-state-hover")
  6984.         },function(){
  6985.         b(this).removeClass("ui-state-hover")
  6986.         });
  6987.     p=null
  6988.     }
  6989.     if(h.add||h.edit||h.del||h.view){
  6990.     b("tr",q).append(r)
  6991.     }
  6992.     if(h.search){
  6993.     p=b("<td class='ui-pg-button ui-corner-all'></td>");
  6994.     c=c||{};
  6995.    
  6996.     b(p).append("<div class='ui-pg-div'><span class='ui-icon "+h.searchicon+"'></span>"+h.searchtext+"</div>");
  6997.     b("tr",q).append(p);
  6998.     b(p,q).attr({
  6999.         title:h.searchtitle||"",
  7000.         id:c.id||"search_"+n.p.id
  7001.         }).click(function(){
  7002.         b(n).jqGrid("searchGrid",c);
  7003.         return false
  7004.         }).hover(function(){
  7005.         b(this).addClass("ui-state-hover")
  7006.         },function(){
  7007.         b(this).removeClass("ui-state-hover")
  7008.         });
  7009.     p=null
  7010.     }
  7011.     if(h.refresh){
  7012.     p=b("<td class='ui-pg-button ui-corner-all'></td>");
  7013.     b(p).append("<div class='ui-pg-div'><span class='ui-icon "+h.refreshicon+"'></span>"+h.refreshtext+"</div>");
  7014.     b("tr",q).append(p);
  7015.     b(p,q).attr({
  7016.         title:h.refreshtitle||"",
  7017.         id:"refresh_"+n.p.id
  7018.         }).click(function(){
  7019.         n.p.search=false;
  7020.         try{
  7021.             var t=n.p.id;
  7022.             b("#fbox_"+t).searchFilter().reset()
  7023.             }catch(u){}
  7024.         switch(h.refreshstate){
  7025.             case"firstpage":
  7026.                 b(n).trigger("reloadGrid",[{
  7027.                 page:1
  7028.             }]);
  7029.             break;
  7030.             case"current":
  7031.                 b(n).trigger("reloadGrid",[{
  7032.                 current:true
  7033.             }]);
  7034.             break
  7035.             }
  7036.             if(b.isFunction(h.afterRefresh)){
  7037.             h.afterRefresh()
  7038.             }
  7039.             return false
  7040.         }).hover(function(){
  7041.         b(this).addClass("ui-state-hover")
  7042.         },function(){
  7043.         b(this).removeClass("ui-state-hover")
  7044.         });
  7045.     p=null
  7046.     }
  7047.     k=b(".ui-jqgrid").css("font-size")||"11px";
  7048. b("body").append("<div id='testpg2' class='ui-jqgrid ui-widget ui-widget-content' style='font-size:"+k+";visibility:hidden;' ></div>");
  7049. o=b(q).clone().appendTo("#testpg2").width();
  7050. b("#testpg2").remove();
  7051. b("#"+l+"_"+h.position,"#"+l).append(q);
  7052. if(n.p._nvtd){
  7053.     if(o>n.p._nvtd[0]){
  7054.         b("#"+l+"_"+h.position,"#"+l).width(o);
  7055.         n.p._nvtd[0]=o
  7056.         }
  7057.         n.p._nvtd[1]=o
  7058.     }
  7059. })
  7060. },
  7061. navButtonAdd:function(c,d){
  7062.     d=b.extend({
  7063.         caption:"newButton",
  7064.         title:"",
  7065.         buttonicon:"ui-icon-newwin",
  7066.         onClickButton:null,
  7067.         position:"last",
  7068.         cursor:"pointer"
  7069.     },d||{});
  7070.     return this.each(function(){
  7071.         if(!this.grid){
  7072.             return
  7073.         }
  7074.         if(c.indexOf("#")!=0){
  7075.             c="#"+c
  7076.             }
  7077.             var e=b(".navtable",c)[0],g=this;
  7078.         if(e){
  7079.             var f=b("<td></td>");
  7080.             b(f).addClass("ui-pg-button ui-corner-all").append("<div class='ui-pg-div'><span class='ui-icon "+d.buttonicon+"'></span>"+d.caption+"</div>");
  7081.             if(d.id){
  7082.                 b(f).attr("id",d.id)
  7083.                 }
  7084.                 if(d.position=="first"){
  7085.                 if(e.rows[0].cells.length===0){
  7086.                     b("tr",e).append(f)
  7087.                     }else{
  7088.                     b("tr td:eq(0)",e).before(f)
  7089.                     }
  7090.                 }else{
  7091.             b("tr",e).append(f)
  7092.             }
  7093.             b(f,e).attr("title",d.title||"").click(function(h){
  7094.             if(b.isFunction(d.onClickButton)){
  7095.                 d.onClickButton.call(g,h)
  7096.                 }
  7097.                 return false
  7098.             }).hover(function(){
  7099.             b(this).addClass("ui-state-hover")
  7100.             },function(){
  7101.             b(this).removeClass("ui-state-hover")
  7102.             }).css("cursor",d.cursor?d.cursor:"normal")
  7103.         }
  7104.     })
  7105. },
  7106. navSeparatorAdd:function(c,d){
  7107.     d=b.extend({
  7108.         sepclass:"ui-separator",
  7109.         sepcontent:""
  7110.     },d||{});
  7111.     return this.each(function(){
  7112.         if(!this.grid){
  7113.             return
  7114.         }
  7115.         if(c.indexOf("#")!=0){
  7116.             c="#"+c
  7117.             }
  7118.             var f=b(".navtable",c)[0];
  7119.         if(f){
  7120.             var e="<td class='ui-pg-button ui-state-disabled' style='width:4px;'><span class='"+d.sepclass+"'></span>"+d.sepcontent+"</td>";
  7121.             b("tr",f).append(e)
  7122.             }
  7123.         })
  7124. },
  7125. GridToForm:function(c,d){
  7126.     return this.each(function(){
  7127.         var g=this;
  7128.         if(!g.grid){
  7129.             return
  7130.         }
  7131.         var f=b(g).jqGrid("getRowData",c);
  7132.         if(f){
  7133.             for(var e in f){
  7134.                 if(b("[name="+e+"]",d).is("input:radio")||b("[name="+e+"]",d).is("input:checkbox")){
  7135.                     b("[name="+e+"]",d).each(function(){
  7136.                         if(b(this).val()==f[e]){
  7137.                             b(this).attr("checked","checked")
  7138.                             }else{
  7139.                             b(this).attr("checked","")
  7140.                             }
  7141.                         })
  7142.                 }else{
  7143.                 b("[name="+e+"]",d).val(f[e])
  7144.                 }
  7145.             }
  7146.             }
  7147.     })
  7148. },
  7149. FormToGrid:function(d,e,f,c){
  7150.     return this.each(function(){
  7151.         var i=this;
  7152.         if(!i.grid){
  7153.             return
  7154.         }
  7155.         if(!f){
  7156.             f="set"
  7157.             }
  7158.             if(!c){
  7159.             c="first"
  7160.             }
  7161.             var g=b(e).serializeArray();
  7162.         var h={};
  7163.        
  7164.         b.each(g,function(j,k){
  7165.             h[k.name]=k.value
  7166.             });
  7167.         if(f=="add"){
  7168.             b(i).jqGrid("addRowData",d,h,c)
  7169.             }else{
  7170.             if(f=="set"){
  7171.                 b(i).jqGrid("setRowData",d,h)
  7172.                 }
  7173.             }
  7174.     })
  7175. }
  7176. })
  7177. })(jQuery);
  7178. jQuery.fn.searchFilter=function(a,c){
  7179.     function b(j,p,g){
  7180.         this.$=j;
  7181.         this.add=function(z){
  7182.             if(z==null){
  7183.                 j.find(".ui-add-last").click()
  7184.                 }else{
  7185.                 j.find(".sf:eq("+z+") .ui-add").click()
  7186.                 }
  7187.                 return this
  7188.             };
  7189.            
  7190.         this.del=function(z){
  7191.             if(z==null){
  7192.                 j.find(".sf:last .ui-del").click()
  7193.                 }else{
  7194.                 j.find(".sf:eq("+z+") .ui-del").click()
  7195.                 }
  7196.                 return this
  7197.             };
  7198.            
  7199.         this.search=function(z){
  7200.             j.find(".ui-search").click();
  7201.             return this
  7202.             };
  7203.            
  7204.         this.reset=function(z){
  7205.             j.find(".ui-reset").click();
  7206.             return this
  7207.             };
  7208.            
  7209.         this.close=function(){
  7210.             j.find(".ui-closer").click();
  7211.             return this
  7212.             };
  7213.            
  7214.         if(p!=null){
  7215.             function v(){
  7216.                 jQuery(this).toggleClass("ui-state-hover");
  7217.                 return false
  7218.                 }
  7219.                 function i(z){
  7220.                 jQuery(this).toggleClass("ui-state-active",(z.type=="mousedown"));
  7221.                 return false
  7222.                 }
  7223.                 function e(z,A){
  7224.                 return"<option value='"+z+"'>"+A+"</option>"
  7225.                 }
  7226.                 function s(B,z,A){
  7227.                 return"<select class='"+B+"'"+(A?" style='display:none;'":"")+">"+z+"</select>"
  7228.                 }
  7229.                 function w(z,B){
  7230.                 var A=j.find("tr.sf td.data "+z);
  7231.                 if(A[0]!=null){
  7232.                     B(A)
  7233.                     }
  7234.                 }
  7235.             function q(z,B){
  7236.             var A=j.find("tr.sf td.data "+z);
  7237.             if(A[0]!=null){
  7238.                 jQuery.each(B,function(){
  7239.                     if(this.data!=null){
  7240.                         A.bind(this.type,this.data,this.fn)
  7241.                         }else{
  7242.                         A.bind(this.type,this.fn)
  7243.                         }
  7244.                     })
  7245.             }
  7246.         }
  7247.     var n=jQuery.extend({},jQuery.fn.searchFilter.defaults,g);
  7248.     var y=-1;
  7249.     var x="";
  7250.     jQuery.each(n.groupOps,function(){
  7251.     x+=e(this.op,this.text)
  7252.     });
  7253. x="<select name='groupOp'>"+x+"</select>";
  7254. j.html("").addClass("ui-searchFilter").append("<div class='ui-widget-overlay' style='z-index: -1'>&nbsp;</div><table class='ui-widget-content ui-corner-all'><thead><tr><td colspan='5' class='ui-widget-header ui-corner-all' style='line-height: 18px;'><div class='ui-closer ui-state-default ui-corner-all ui-helper-clearfix' style='float: right;'><span class='ui-icon ui-icon-close'></span></div>"+n.windowTitle+"</td></tr></thead><tbody><tr class='sf'><td class='fields'></td><td class='ops'></td><td class='data'></td><td><div class='ui-del ui-state-default ui-corner-all'><span class='ui-icon ui-icon-minus'></span></div></td><td><div class='ui-add ui-state-default ui-corner-all'><span class='ui-icon ui-icon-plus'></span></div></td></tr><tr><td colspan='5' class='divider'><div>&nbsp;</div></td></tr></tbody><tfoot><tr><td colspan='3'><span class='ui-reset ui-state-default ui-corner-all' style='display: inline-block; float: left;'><span class='ui-icon ui-icon-arrowreturnthick-1-w' style='float: left;'></span><span style='line-height: 18px; padding: 0 7px 0 3px;'>"+n.resetText+"</span></span><span class='ui-search ui-state-default ui-corner-all' style='display: inline-block; float: right;'><span class='ui-icon ui-icon-search' style='float: left;'></span><span style='line-height: 18px; padding: 0 7px 0 3px;'>"+n.searchText+"</span></span><span class='matchText'>"+n.matchText+"</span> "+x+" <span class='rulesText'>"+n.rulesText+"</span></td><td>&nbsp;</td><td><div class='ui-add-last ui-state-default ui-corner-all'><span class='ui-icon ui-icon-plusthick'></span></div></td></tr></tfoot></table>");
  7255.     var k=j.find("tr.sf");
  7256.     var h=k.find("td.fields");
  7257.     var f=k.find("td.ops");
  7258.     var o=k.find("td.data");
  7259.     var r="";
  7260.     jQuery.each(n.operators,function(){
  7261.     r+=e(this.op,this.text)
  7262.     });
  7263. r=s("default",r,true);
  7264.     f.append(r);
  7265.     var l="<input type='text' class='default' style='display:none;' />";
  7266.     o.append(l);
  7267.     var u="";
  7268.     var t=false;
  7269.     var d=false;
  7270.     jQuery.each(p,function(C){
  7271.     var B=C;
  7272.     u+=e(this.value,this.text);
  7273.     if(this.ops!=null){
  7274.         t=true;
  7275.         var z="";
  7276.         jQuery.each(this.ops,function(){
  7277.             z+=e(this.op,this.text)
  7278.             });
  7279.         z=s("field"+B,z,true);
  7280.         f.append(z)
  7281.         }
  7282.         if(this.dataUrl!=null){
  7283.         if(C>y){
  7284.             y=C
  7285.             }
  7286.             d=true;
  7287.         var F=this.dataEvents;
  7288.         var D=this.dataInit;
  7289.         var A=this.buildSelect;
  7290.         jQuery.ajax(jQuery.extend({
  7291.             url:this.dataUrl,
  7292.             complete:function(H){
  7293.                 var G;
  7294.                 if(A!=null){
  7295.                     G=jQuery("<div />").append(A(H))
  7296.                     }else{
  7297.                     G=jQuery("<div />").append(H.responseText)
  7298.                     }
  7299.                     G.find("select").addClass("field"+B).hide();
  7300.                 o.append(G.html());
  7301.                 if(D){
  7302.                     w(".field"+C,D)
  7303.                     }
  7304.                     if(F){
  7305.                     q(".field"+C,F)
  7306.                     }
  7307.                     if(C==y){
  7308.                     j.find("tr.sf td.fields select[name='field']").change()
  7309.                     }
  7310.                 }
  7311.         },n.ajaxSelectOptions))
  7312. }else{
  7313.     if(this.dataValues!=null){
  7314.         d=true;
  7315.         var E="";
  7316.         jQuery.each(this.dataValues,function(){
  7317.             E+=e(this.value,this.text)
  7318.             });
  7319.         E=s("field"+B,E,true);
  7320.         o.append(E)
  7321.         }else{
  7322.         if(this.dataEvents!=null||this.dataInit!=null){
  7323.             d=true;
  7324.             var E="<input type='text' class='field"+B+"' />";
  7325.             o.append(E)
  7326.             }
  7327.         }
  7328. }
  7329. if(this.dataInit!=null&&C!=y){
  7330.     w(".field"+C,this.dataInit)
  7331.     }
  7332.     if(this.dataEvents!=null&&C!=y){
  7333.     q(".field"+C,this.dataEvents)
  7334.     }
  7335. });
  7336. u="<select name='field'>"+u+"</select>";
  7337. h.append(u);
  7338. var m=h.find("select[name='field']");
  7339. if(t){
  7340.     m.change(function(B){
  7341.         var A=B.target.selectedIndex;
  7342.         var C=jQuery(B.target).parents("tr.sf").find("td.ops");
  7343.         C.find("select").removeAttr("name").hide();
  7344.         var z=C.find(".field"+A);
  7345.         if(z[0]==null){
  7346.             z=C.find(".default")
  7347.             }
  7348.             z.attr("name","op").show()
  7349.         })
  7350.     }else{
  7351.     f.find(".default").attr("name","op").show()
  7352.     }
  7353.     if(d){
  7354.     m.change(function(B){
  7355.         var A=B.target.selectedIndex;
  7356.         var C=jQuery(B.target).parents("tr.sf").find("td.data");
  7357.         C.find("select,input").removeClass("vdata").hide();
  7358.         var z=C.find(".field"+A);
  7359.         if(z[0]==null){
  7360.             z=C.find(".default")
  7361.             }
  7362.             z.show().addClass("vdata")
  7363.         })
  7364.     }else{
  7365.     o.find(".default").show().addClass("vdata")
  7366.     }
  7367.     if(t||d){
  7368.     m.change()
  7369.     }
  7370.     j.find(".ui-state-default").hover(v,v).mousedown(i).mouseup(i);
  7371. j.find(".ui-closer").click(function(z){
  7372.     n.onClose(jQuery(j.selector));
  7373.     return false
  7374.     });
  7375. j.find(".ui-del").click(function(z){
  7376.     var A=jQuery(z.target).parents(".sf");
  7377.     if(A.siblings(".sf").length>0){
  7378.         if(n.datepickerFix===true&&jQuery.fn.datepicker!==undefined){
  7379.             A.find(".hasDatepicker").datepicker("destroy")
  7380.             }
  7381.             A.remove()
  7382.         }else{
  7383.         A.find("select[name='field']")[0].selectedIndex=0;
  7384.         A.find("select[name='op']")[0].selectedIndex=0;
  7385.         A.find(".data input").val("");
  7386.         A.find(".data select").each(function(){
  7387.             this.selectedIndex=0
  7388.             });
  7389.         A.find("select[name='field']").change()
  7390.         }
  7391.         return false
  7392.     });
  7393. j.find(".ui-add").click(function(C){
  7394.     var D=jQuery(C.target).parents(".sf");
  7395.     var B=D.clone(true).insertAfter(D);
  7396.     B.find(".ui-state-default").removeClass("ui-state-hover ui-state-active");
  7397.     if(n.clone){
  7398.         B.find("select[name='field']")[0].selectedIndex=D.find("select[name='field']")[0].selectedIndex;
  7399.         var A=(B.find("select[name='op']")[0]==null);
  7400.         if(!A){
  7401.             B.find("select[name='op']").focus()[0].selectedIndex=D.find("select[name='op']")[0].selectedIndex
  7402.             }
  7403.             var z=B.find("select.vdata");
  7404.         if(z[0]!=null){
  7405.             z[0].selectedIndex=D.find("select.vdata")[0].selectedIndex
  7406.             }
  7407.         }else{
  7408.     B.find(".data input").val("");
  7409.     B.find("select[name='field']").focus()
  7410.     }
  7411.     if(n.datepickerFix===true&&jQuery.fn.datepicker!==undefined){
  7412.     D.find(".hasDatepicker").each(function(){
  7413.         var E=jQuery.data(this,"datepicker").settings;
  7414.         B.find("#"+this.id).unbind().removeAttr("id").removeClass("hasDatepicker").datepicker(E)
  7415.         })
  7416.     }
  7417.     B.find("select[name='field']").change();
  7418.     return false
  7419.     });
  7420. j.find(".ui-search").click(function(C){
  7421.     var B=jQuery(j.selector);
  7422.     var z;
  7423.     var A=B.find("select[name='groupOp'] :selected").val();
  7424.     if(!n.stringResult){
  7425.         z={
  7426.             groupOp:A,
  7427.             rules:[]
  7428.         }
  7429.     }else{
  7430.     z='{"groupOp":"'+A+'","rules":['
  7431.     }
  7432.     B.find(".sf").each(function(D){
  7433.     var G=jQuery(this).find("select[name='field'] :selected").val();
  7434.     var F=jQuery(this).find("select[name='op'] :selected").val();
  7435.     var E=jQuery(this).find("input.vdata,select.vdata :selected").val();
  7436.     if(!n.stringResult){
  7437.         z.rules.push({
  7438.             field:G,
  7439.             op:F,
  7440.             data:E
  7441.         })
  7442.         }else{
  7443.         if(D>0){
  7444.             z+=","
  7445.             }
  7446.             z+='{"field":"'+G+'",';
  7447.         z+='"op":"'+F+'",';
  7448.         z+='"data":"'+E+'"}'
  7449.         }
  7450.     });
  7451. if(n.stringResult){
  7452.     z+="]}"
  7453.     }
  7454.     n.onSearch(z);
  7455. return false
  7456. });
  7457. j.find(".ui-reset").click(function(A){
  7458.     var z=jQuery(j.selector);
  7459.     z.find(".ui-del").click();
  7460.     z.find("select[name='groupOp']")[0].selectedIndex=0;
  7461.     n.onReset();
  7462.     return false
  7463.     });
  7464. j.find(".ui-add-last").click(function(){
  7465.     var A=jQuery(j.selector+" .sf:last");
  7466.     var z=A.clone(true).insertAfter(A);
  7467.     z.find(".ui-state-default").removeClass("ui-state-hover ui-state-active");
  7468.     z.find(".data input").val("");
  7469.     z.find("select[name='field']").focus();
  7470.     if(n.datepickerFix===true&&jQuery.fn.datepicker!==undefined){
  7471.         A.find(".hasDatepicker").each(function(){
  7472.             var B=jQuery.data(this,"datepicker").settings;
  7473.             z.find("#"+this.id).unbind().removeAttr("id").removeClass("hasDatepicker").datepicker(B)
  7474.             })
  7475.         }
  7476.         z.find("select[name='field']").change();
  7477.     return false
  7478.     })
  7479. }
  7480. }
  7481. return new b(this,a,c)
  7482. };
  7483.  
  7484. jQuery.fn.searchFilter.version="1.2.9";
  7485. jQuery.fn.searchFilter.defaults={
  7486.     clone:true,
  7487.     datepickerFix:true,
  7488.     onReset:function(a){
  7489.         alert("Reset Clicked. Data Returned: "+a)
  7490.         },
  7491.     onSearch:function(a){
  7492.         alert("Search Clicked. Data Returned: "+a)
  7493.         },
  7494.     onClose:function(a){
  7495.         a.hide()
  7496.         },
  7497.     groupOps:[{
  7498.         op:"AND",
  7499.         text:"all"
  7500.     },{
  7501.         op:"OR",
  7502.         text:"any"
  7503.     }],
  7504.     operators:[{
  7505.         op:"eq",
  7506.         text:"is equal to"
  7507.     },{
  7508.         op:"ne",
  7509.         text:"is not equal to"
  7510.     },{
  7511.         op:"lt",
  7512.         text:"is less than"
  7513.     },{
  7514.         op:"le",
  7515.         text:"is less or equal to"
  7516.     },{
  7517.         op:"gt",
  7518.         text:"is greater than"
  7519.     },{
  7520.         op:"ge",
  7521.         text:"is greater or equal to"
  7522.     },{
  7523.         op:"in",
  7524.         text:"is in"
  7525.     },{
  7526.         op:"ni",
  7527.         text:"is not in"
  7528.     },{
  7529.         op:"bw",
  7530.         text:"begins with"
  7531.     },{
  7532.         op:"bn",
  7533.         text:"does not begin with"
  7534.     },{
  7535.         op:"ew",
  7536.         text:"ends with"
  7537.     },{
  7538.         op:"en",
  7539.         text:"does not end with"
  7540.     },{
  7541.         op:"cn",
  7542.         text:"contains"
  7543.     },{
  7544.         op:"nc",
  7545.         text:"does not contain"
  7546.     }],
  7547.     matchText:"match",
  7548.     rulesText:"rules",
  7549.     resetText:"Reset",
  7550.     searchText:"Search",
  7551.     stringResult:true,
  7552.     windowTitle:"Search Rules",
  7553.     ajaxSelectOptions:{}
  7554. };
  7555. (function(a){
  7556.     a.jgrid.extend({
  7557.         editRow:function(c,i,h,j,b,e,d,f,g){
  7558.             return this.each(function(){
  7559.                 var n=this,s,o,l,m=0,r=null,q={},k,p;
  7560.                 if(!n.grid){
  7561.                     return
  7562.                 }
  7563.                 k=a(n).jqGrid("getInd",c,true);
  7564.                 if(k==false){
  7565.                     return
  7566.                 }
  7567.                 l=a(k).attr("editable")||"0";
  7568.                 if(l=="0"&&!a(k).hasClass("not-editable-row")){
  7569.                     p=n.p.colModel;
  7570.                     a("td",k).each(function(w){
  7571.                         s=p[w].name;
  7572.                         var v=n.p.treeGrid===true&&s==n.p.ExpandColumn;
  7573.                         if(v){
  7574.                             o=a("span:first",this).html()
  7575.                             }else{
  7576.                             try{
  7577.                                 o=a.unformat(this,{
  7578.                                     colModel:p[w]
  7579.                                     },w)
  7580.                                 }catch(t){
  7581.                                 o=a(this).html()
  7582.                                 }
  7583.                             }
  7584.                         if(s!="cb"&&s!="subgrid"&&s!="rn"){
  7585.                         q[s]=o;
  7586.                         if(p[w].editable===true){
  7587.                             if(r===null){
  7588.                                 r=w
  7589.                                 }
  7590.                                 if(v){
  7591.                                 a("span:first",this).html("")
  7592.                                 }else{
  7593.                                 a(this).html("")
  7594.                                 }
  7595.                                 var u=a.extend({},p[w].editoptions||{},{
  7596.                                 id:c+"_"+s,
  7597.                                 name:s
  7598.                             });
  7599.                             if(!p[w].edittype){
  7600.                                 p[w].edittype="text"
  7601.                                 }
  7602.                                 var x=createEl(p[w].edittype,u,o,true,a.extend({},a.jgrid.ajaxOptions,n.p.ajaxSelectOptions||{}));
  7603.                             a(x).addClass("editable");
  7604.                             if(v){
  7605.                                 a("span:first",this).append(x)
  7606.                                 }else{
  7607.                                 a(this).append(x)
  7608.                                 }
  7609.                                 if(p[w].edittype=="select"&&p[w].editoptions.multiple===true&&a.browser.msie){
  7610.                                 a(x).width(a(x).width())
  7611.                                 }
  7612.                                 m++
  7613.                         }
  7614.                     }
  7615.                     });
  7616.             if(m>0){
  7617.                 q.id=c;
  7618.                 n.p.savedRow.push(q);
  7619.                 a(k).attr("editable","1");
  7620.                 a("td:eq("+r+") input",k).focus();
  7621.                 if(i===true){
  7622.                     a(k).bind("keydown",function(t){
  7623.                         if(t.keyCode===27){
  7624.                             a(n).jqGrid("restoreRow",c,g)
  7625.                             }
  7626.                             if(t.keyCode===13){
  7627.                             a(n).jqGrid("saveRow",c,j,b,e,d,f,g);
  7628.                             return false
  7629.                             }
  7630.                             t.stopPropagation()
  7631.                         })
  7632.                     }
  7633.                     if(a.isFunction(h)){
  7634.                     h(c)
  7635.                     }
  7636.                 }
  7637.         }
  7638.     })
  7639. },
  7640. saveRow:function(h,g,e,f,d,c,b){
  7641.     return this.each(function(){
  7642.         var o=this,u,p={},l={},j,r,q,i;
  7643.         if(!o.grid){
  7644.             return
  7645.         }
  7646.         i=a(o).jqGrid("getInd",h,true);
  7647.         if(i==false){
  7648.             return
  7649.         }
  7650.         j=a(i).attr("editable");
  7651.         e=e?e:o.p.editurl;
  7652.         if(j==="1"&&e){
  7653.             var t;
  7654.             a("td",i).each(function(v){
  7655.                 t=o.p.colModel[v];
  7656.                 u=t.name;
  7657.                 if(u!="cb"&&u!="subgrid"&&t.editable===true&&u!="rn"){
  7658.                     switch(t.edittype){
  7659.                         case"checkbox":
  7660.                             var k=["Yes","No"];
  7661.                             if(t.editoptions){
  7662.                             k=t.editoptions.value.split(":")
  7663.                             }
  7664.                             p[u]=a("input",this).attr("checked")?k[0]:k[1];
  7665.                             break;
  7666.                         case"text":case"password":case"textarea":case"button":
  7667.                             p[u]=!o.p.autoencode?a("input, textarea",this).val():a.jgrid.htmlEncode(a("input, textarea",this).val());
  7668.                             break;
  7669.                         case"select":
  7670.                             if(!t.editoptions.multiple){
  7671.                             p[u]=a("select>option:selected",this).val();
  7672.                             l[u]=a("select>option:selected",this).text()
  7673.                             }else{
  7674.                             var w=a("select",this),y=[];
  7675.                             p[u]=a(w).val();
  7676.                             if(p[u]){
  7677.                                 p[u]=p[u].join(",")
  7678.                                 }else{
  7679.                                 p[u]=""
  7680.                                 }
  7681.                                 a("select > option:selected",this).each(function(z,A){
  7682.                                 y[z]=a(A).text()
  7683.                                 });
  7684.                             l[u]=y.join(",")
  7685.                             }
  7686.                             if(t.formatter&&t.formatter=="select"){
  7687.                             l={}
  7688.                         }
  7689.                         break;
  7690.                     case"custom":
  7691.                         try{
  7692.                         if(t.editoptions&&a.isFunction(t.editoptions.custom_value)){
  7693.                             p[u]=t.editoptions.custom_value(a(".customelement",this));
  7694.                             if(!p[u]){
  7695.                                 throw"e2"
  7696.                                 }
  7697.                             }else{
  7698.                         throw"e1"
  7699.                         }
  7700.                     }catch(x){
  7701.                     if(x=="e1"){
  7702.                         info_dialog(jQuery.jgrid.errors.errcap,"function 'custom_value' "+a.jgrid.edit.msg.nodefined,jQuery.jgrid.edit.bClose)
  7703.                         }
  7704.                         if(x=="e2"){
  7705.                         info_dialog(jQuery.jgrid.errors.errcap,"function 'custom_value' "+a.jgrid.edit.msg.novalue,jQuery.jgrid.edit.bClose)
  7706.                         }else{
  7707.                         info_dialog(jQuery.jgrid.errors.errcap,x.message,jQuery.jgrid.edit.bClose)
  7708.                         }
  7709.                     }
  7710.                 break
  7711.                 }
  7712.                 q=checkValues(p[u],v,o);
  7713.         if(q[0]===false){
  7714.             q[1]=p[u]+" "+q[1];
  7715.             return false
  7716.             }
  7717.         }
  7718.     });
  7719. if(q[0]===false){
  7720.     try{
  7721.         info_dialog(a.jgrid.errors.errcap,q[1],a.jgrid.edit.bClose)
  7722.         }catch(s){
  7723.         alert(q[1])
  7724.         }
  7725.         return
  7726. }
  7727. if(p){
  7728.     p.id=h;
  7729.     if(f){
  7730.         p=a.extend({},p,f)
  7731.         }
  7732.     }
  7733. if(!o.grid.hDiv.loading){
  7734.     o.grid.hDiv.loading=true;
  7735.     a("div.loading",o.grid.hDiv).fadeIn("fast");
  7736.     if(e=="clientArray"){
  7737.         p=a.extend({},p,l);
  7738.         var n=a(o).jqGrid("setRowData",h,p);
  7739.         a(i).attr("editable","0");
  7740.         for(var m=0;m<o.p.savedRow.length;m++){
  7741.             if(o.p.savedRow[m].id==h){
  7742.                 r=m;
  7743.                 break
  7744.             }
  7745.         }
  7746.         if(r>=0){
  7747.         o.p.savedRow.splice(r,1)
  7748.         }
  7749.         if(a.isFunction(d)){
  7750.         d(h,n)
  7751.         }
  7752.     }
  7753. else{
  7754.     a.ajax(a.extend({
  7755.         url:e,
  7756.         data:a.isFunction(o.p.serializeRowData)?o.p.serializeRowData(p):p,
  7757.         type:"POST",
  7758.         complete:function(x,y){
  7759.             if(y==="success"){
  7760.                 var w;
  7761.                 if(a.isFunction(g)){
  7762.                     w=g(x)
  7763.                     }else{
  7764.                     w=true
  7765.                     }
  7766.                     if(w===true){
  7767.                     p=a.extend({},p,l);
  7768.                     a(o).jqGrid("setRowData",h,p);
  7769.                     a(i).attr("editable","0");
  7770.                     for(var v=0;v<o.p.savedRow.length;v++){
  7771.                         if(o.p.savedRow[v].id==h){
  7772.                             r=v;
  7773.                             break
  7774.                         }
  7775.                     }
  7776.                     if(r>=0){
  7777.                     o.p.savedRow.splice(r,1)
  7778.                     }
  7779.                     if(a.isFunction(d)){
  7780.                     d(h,x)
  7781.                     }
  7782.                 }else{
  7783.             a(o).jqGrid("restoreRow",h,b)
  7784.             }
  7785.         }
  7786.     },
  7787. error:function(k,v){
  7788.     if(a.isFunction(c)){
  7789.         c(h,k,v)
  7790.         }else{
  7791.         alert("Error Row: "+h+" Result: "+k.status+":"+k.statusText+" Status: "+v)
  7792.         }
  7793.     }
  7794. },a.jgrid.ajaxOptions,o.p.ajaxRowOptions||{}))
  7795. }
  7796. o.grid.hDiv.loading=false;
  7797. a("div.loading",o.grid.hDiv).fadeOut("fast");
  7798. a(i).unbind("keydown")
  7799. }
  7800. }
  7801. })
  7802. },
  7803. restoreRow:function(c,b){
  7804.     return this.each(function(){
  7805.         var i=this,d,g;
  7806.         if(!i.grid){
  7807.             return
  7808.         }
  7809.         g=a(i).jqGrid("getInd",c,true);
  7810.         if(g==false){
  7811.             return
  7812.         }
  7813.         for(var f=0;f<i.p.savedRow.length;f++){
  7814.             if(i.p.savedRow[f].id==c){
  7815.                 d=f;
  7816.                 break
  7817.             }
  7818.         }
  7819.         if(d>=0){
  7820.         if(a.isFunction(a.fn.datepicker)){
  7821.             try{
  7822.                 a("input.hasDatepicker","#"+g.id).datepicker("hide")
  7823.                 }catch(h){}
  7824.         }
  7825.         a(i).jqGrid("setRowData",c,i.p.savedRow[d]);
  7826.         a(g).attr("editable","0").unbind("keydown");
  7827.         i.p.savedRow.splice(d,1)
  7828.         }
  7829.         if(a.isFunction(b)){
  7830.         b(c)
  7831.         }
  7832.     })
  7833. }
  7834. })
  7835. })(jQuery);
  7836. (function(a){
  7837.     a.jgrid.extend({
  7838.         editCell:function(d,c,b){
  7839.             return this.each(function(){
  7840.                 var j=this,m,k,g;
  7841.                 if(!j.grid||j.p.cellEdit!==true){
  7842.                     return
  7843.                 }
  7844.                 c=parseInt(c,10);
  7845.                 j.p.selrow=j.rows[d].id;
  7846.                 if(!j.p.knv){
  7847.                     a(j).jqGrid("GridNav")
  7848.                     }
  7849.                     if(j.p.savedRow.length>0){
  7850.                     if(b===true){
  7851.                         if(d==j.p.iRow&&c==j.p.iCol){
  7852.                             return
  7853.                         }
  7854.                     }
  7855.                     var h=a("td:eq("+j.p.savedRow[0].ic+")>#"+j.p.savedRow[0].id+"_"+a.jgrid.jqID(j.p.savedRow[0].name),j.rows[j.p.savedRow[0].id]).val();
  7856.                 if(j.p.savedRow[0].v!=h){
  7857.                     a(j).jqGrid("saveCell",j.p.savedRow[0].id,j.p.savedRow[0].ic)
  7858.                     }else{
  7859.                     a(j).jqGrid("restoreCell",j.p.savedRow[0].id,j.p.savedRow[0].ic)
  7860.                     }
  7861.                 }else{
  7862.                 window.setTimeout(function(){
  7863.                     a("#"+j.p.knv).attr("tabindex","-1").focus()
  7864.                     },0)
  7865.                 }
  7866.                 m=j.p.colModel[c].name;
  7867.             if(m=="subgrid"||m=="cb"||m=="rn"){
  7868.                 return
  7869.             }
  7870.             g=a("td:eq("+c+")",j.rows[d]);
  7871.             if(j.p.colModel[c].editable===true&&b===true&&!g.hasClass("not-editable-cell")){
  7872.                 if(parseInt(j.p.iCol)>=0&&parseInt(j.p.iRow)>=0){
  7873.                     a("td:eq("+j.p.iCol+")",j.rows[j.p.iRow]).removeClass("edit-cell ui-state-highlight");
  7874.                     a(j.rows[j.p.iRow]).removeClass("selected-row ui-state-hover")
  7875.                     }
  7876.                     a(g).addClass("edit-cell ui-state-highlight");
  7877.                 a(j.rows[d]).addClass("selected-row ui-state-hover");
  7878.                 try{
  7879.                     k=a.unformat(g,{
  7880.                         colModel:j.p.colModel[c]
  7881.                         },c)
  7882.                     }catch(l){
  7883.                     k=a(g).html()
  7884.                     }
  7885.                     if(!j.p.colModel[c].edittype){
  7886.                     j.p.colModel[c].edittype="text"
  7887.                     }
  7888.                     j.p.savedRow.push({
  7889.                     id:d,
  7890.                     ic:c,
  7891.                     name:m,
  7892.                     v:k
  7893.                 });
  7894.                 if(a.isFunction(j.p.formatCell)){
  7895.                     var i=j.p.formatCell(j.rows[d].id,m,k,d,c);
  7896.                     if(i!=undefined){
  7897.                         k=i
  7898.                         }
  7899.                     }
  7900.                 var f=a.extend({},j.p.colModel[c].editoptions||{},{
  7901.                 id:d+"_"+m,
  7902.                 name:m
  7903.             });
  7904.             var e=createEl(j.p.colModel[c].edittype,f,k,true,a.extend({},a.jgrid.ajaxOptions,j.p.ajaxSelectOptions||{}));
  7905.             if(a.isFunction(j.p.beforeEditCell)){
  7906.                 j.p.beforeEditCell(j.rows[d].id,m,k,d,c)
  7907.                 }
  7908.                 a(g).html("").append(e).attr("tabindex","0");
  7909.             window.setTimeout(function(){
  7910.                 a(e).focus()
  7911.                 },0);
  7912.             a("input, select, textarea",g).bind("keydown",function(n){
  7913.                 if(n.keyCode===27){
  7914.                     if(a("input.hasDatepicker",g).length>0){
  7915.                         if(a(".ui-datepicker").is(":hidden")){
  7916.                             a(j).jqGrid("restoreCell",d,c)
  7917.                             }else{
  7918.                             a("input.hasDatepicker",g).datepicker("hide")
  7919.                             }
  7920.                         }else{
  7921.                     a(j).jqGrid("restoreCell",d,c)
  7922.                     }
  7923.                 }
  7924.             if(n.keyCode===13){
  7925.                 a(j).jqGrid("saveCell",d,c)
  7926.                 }
  7927.                 if(n.keyCode==9){
  7928.                 if(n.shiftKey){
  7929.                     a(j).jqGrid("prevCell",d,c)
  7930.                     }else{
  7931.                     a(j).jqGrid("nextCell",d,c)
  7932.                     }
  7933.                 }
  7934.             n.stopPropagation()
  7935.         });
  7936.     if(a.isFunction(j.p.afterEditCell)){
  7937.         j.p.afterEditCell(j.rows[d].id,m,k,d,c)
  7938.         }
  7939.     }else{
  7940.     if(parseInt(j.p.iCol)>=0&&parseInt(j.p.iRow)>=0){
  7941.         a("td:eq("+j.p.iCol+")",j.rows[j.p.iRow]).removeClass("edit-cell ui-state-highlight");
  7942.         a(j.rows[j.p.iRow]).removeClass("selected-row ui-state-hover")
  7943.         }
  7944.         g.addClass("edit-cell ui-state-highlight");
  7945.     a(j.rows[d]).addClass("selected-row ui-state-hover");
  7946.     if(a.isFunction(j.p.onSelectCell)){
  7947.         k=g.html().replace(/\&nbsp\;/ig,"");
  7948.         j.p.onSelectCell(j.rows[d].id,m,k,d,c)
  7949.         }
  7950.     }
  7951. j.p.iCol=c;
  7952. j.p.iRow=d
  7953. })
  7954. },
  7955. saveCell:function(c,b){
  7956.     return this.each(function(){
  7957.         var k=this,m;
  7958.         if(!k.grid||k.p.cellEdit!==true){
  7959.             return
  7960.         }
  7961.         if(k.p.savedRow.length>=1){
  7962.             m=0
  7963.             }else{
  7964.             m=null
  7965.             }
  7966.             if(m!=null){
  7967.             var h=a("td:eq("+b+")",k.rows[c]),s,p,r=k.p.colModel[b],t=r.name,g=a.jgrid.jqID(t);
  7968.             switch(r.edittype){
  7969.                 case"select":
  7970.                     if(!r.editoptions.multiple){
  7971.                     s=a("#"+c+"_"+g+">option:selected",k.rows[c]).val();
  7972.                     p=a("#"+c+"_"+g+">option:selected",k.rows[c]).text()
  7973.                     }else{
  7974.                     var d=a("#"+c+"_"+g,k.rows[c]),f=[];
  7975.                     s=a(d).val();
  7976.                     if(s){
  7977.                         s.join(",")
  7978.                         }else{
  7979.                         s=""
  7980.                         }
  7981.                         a("option:selected",d).each(function(e,u){
  7982.                         f[e]=a(u).text()
  7983.                         });
  7984.                     p=f.join(",")
  7985.                     }
  7986.                     if(r.formatter){
  7987.                     p=s
  7988.                     }
  7989.                     break;
  7990.                 case"checkbox":
  7991.                     var i=["Yes","No"];
  7992.                     if(r.editoptions){
  7993.                     i=r.editoptions.value.split(":")
  7994.                     }
  7995.                     s=a("#"+c+"_"+g,k.rows[c]).attr("checked")?i[0]:i[1];
  7996.                     p=s;
  7997.                     break;
  7998.                 case"password":case"text":case"textarea":case"button":
  7999.                     s=!k.p.autoencode?a("#"+c+"_"+g,k.rows[c]).val():a.jgrid.htmlEncode(a("#"+c+"_"+g,k.rows[c]).val());
  8000.                     p=s;
  8001.                     break;
  8002.                 case"custom":
  8003.                     try{
  8004.                     if(r.editoptions&&a.isFunction(r.editoptions.custom_value)){
  8005.                         s=r.editoptions.custom_value(a(".customelement",h));
  8006.                         if(!s){
  8007.                             throw"e2"
  8008.                             }else{
  8009.                             p=s
  8010.                             }
  8011.                         }else{
  8012.                     throw"e1"
  8013.                     }
  8014.                 }catch(n){
  8015.                 if(n=="e1"){
  8016.                     info_dialog(jQuery.jgrid.errors.errcap,"function 'custom_value' "+a.jgrid.edit.msg.nodefined,jQuery.jgrid.edit.bClose)
  8017.                     }
  8018.                     if(n=="e2"){
  8019.                     info_dialog(jQuery.jgrid.errors.errcap,"function 'custom_value' "+a.jgrid.edit.msg.novalue,jQuery.jgrid.edit.bClose)
  8020.                     }else{
  8021.                     info_dialog(jQuery.jgrid.errors.errcap,n.message,jQuery.jgrid.edit.bClose)
  8022.                     }
  8023.                 }
  8024.             break
  8025.         }
  8026.         if(p!=k.p.savedRow[m].v){
  8027.         if(a.isFunction(k.p.beforeSaveCell)){
  8028.             var q=k.p.beforeSaveCell(k.rows[c].id,t,s,c,b);
  8029.             if(q){
  8030.                 s=q
  8031.                 }
  8032.             }
  8033.         var j=checkValues(s,b,k);
  8034.     if(j[0]===true){
  8035.         var l={};
  8036.        
  8037.         if(a.isFunction(k.p.beforeSalvarCell)){
  8038.             l=k.p.beforeSalvarCell(k.rows[c].id,t,s,c,b);
  8039.             if(!l){
  8040.                 l={}
  8041.             }
  8042.         }
  8043.     if(p==""){
  8044.     p=" "
  8045.     }
  8046.     if(a("input.hasDatepicker",h).length>0){
  8047.     a("input.hasDatepicker",h).datepicker("hide")
  8048.     }
  8049.     if(k.p.cellSalvar=="remote"){
  8050.     if(k.p.cellurl){
  8051.         var o={};
  8052.        
  8053.         o[t]=s;
  8054.         o.id=k.rows[c].id;
  8055.         o=a.extend(l,o);
  8056.         a.ajax(a.extend({
  8057.             url:k.p.cellurl,
  8058.             data:a.isFunction(k.p.serializeCellData)?k.p.serializeCellData(o):o,
  8059.             type:"POST",
  8060.             complete:function(e,v){
  8061.                 if(v=="success"){
  8062.                     if(a.isFunction(k.p.afterSalvarCell)){
  8063.                         var u=k.p.afterSalvarCell(e,o.id,t,s,c,b);
  8064.                         if(u[0]===true){
  8065.                             a(h).empty();
  8066.                             a(k).jqGrid("setCell",k.rows[c].id,b,p);
  8067.                             a(h).addClass("dirty-cell");
  8068.                             a(k.rows[c]).addClass("edited");
  8069.                             if(a.isFunction(k.p.afterSaveCell)){
  8070.                                 k.p.afterSaveCell(k.rows[c].id,t,s,c,b)
  8071.                                 }
  8072.                                 k.p.savedRow.splice(0,1)
  8073.                             }else{
  8074.                             info_dialog(a.jgrid.errors.errcap,u[1],a.jgrid.edit.bClose);
  8075.                             a(k).jqGrid("restoreCell",c,b)
  8076.                             }
  8077.                         }else{
  8078.                     a(h).empty();
  8079.                     a(k).jqGrid("setCell",k.rows[c].id,b,p);
  8080.                     a(h).addClass("dirty-cell");
  8081.                     a(k.rows[c]).addClass("edited");
  8082.                     if(a.isFunction(k.p.afterSaveCell)){
  8083.                         k.p.afterSaveCell(k.rows[c].id,t,s,c,b)
  8084.                         }
  8085.                         k.p.savedRow.splice(0,1)
  8086.                     }
  8087.                 }
  8088.         },
  8089.         error:function(e,u){
  8090.             if(a.isFunction(k.p.errorCell)){
  8091.                 k.p.errorCell(e,u);
  8092.                 a(k).jqGrid("restoreCell",c,b)
  8093.                 }else{
  8094.                 info_dialog(a.jgrid.errors.errcap,e.status+" : "+e.statusText+"<br/>"+u,a.jgrid.edit.bClose);
  8095.                 a(k).jqGrid("restoreCell",c,b)
  8096.                 }
  8097.             }
  8098.     },a.jgrid.ajaxOptions,k.p.ajaxCellOptions||{}))
  8099. }else{
  8100.     try{
  8101.         info_dialog(a.jgrid.errors.errcap,a.jgrid.errors.nourl,a.jgrid.edit.bClose);
  8102.         a(k).jqGrid("restoreCell",c,b)
  8103.         }catch(n){}
  8104. }
  8105. }
  8106. if(k.p.cellSalvar=="clientArray"){
  8107.     a(h).empty();
  8108.     a(k).jqGrid("setCell",k.rows[c].id,b,p);
  8109.     a(h).addClass("dirty-cell");
  8110.     a(k.rows[c]).addClass("edited");
  8111.     if(a.isFunction(k.p.afterSaveCell)){
  8112.         k.p.afterSaveCell(k.rows[c].id,t,s,c,b)
  8113.         }
  8114.         k.p.savedRow.splice(0,1)
  8115.     }
  8116. }else{
  8117.     try{
  8118.         window.setTimeout(function(){
  8119.             info_dialog(a.jgrid.errors.errcap,s+" "+j[1],a.jgrid.edit.bClose)
  8120.             },100);
  8121.         a(k).jqGrid("restoreCell",c,b)
  8122.         }catch(n){}
  8123. }
  8124. }else{
  8125.     a(k).jqGrid("restoreCell",c,b)
  8126.     }
  8127. }
  8128. if(a.browser.opera){
  8129.     a("#"+k.p.knv).attr("tabindex","-1").focus()
  8130.     }else{
  8131.     window.setTimeout(function(){
  8132.         a("#"+k.p.knv).attr("tabindex","-1").focus()
  8133.         },0)
  8134.     }
  8135. })
  8136. },
  8137. restoreCell:function(c,b){
  8138.     return this.each(function(){
  8139.         var h=this,d;
  8140.         if(!h.grid||h.p.cellEdit!==true){
  8141.             return
  8142.         }
  8143.         if(h.p.savedRow.length>=1){
  8144.             d=0
  8145.             }else{
  8146.             d=null
  8147.             }
  8148.             if(d!=null){
  8149.             var g=a("td:eq("+b+")",h.rows[c]);
  8150.             if(a.isFunction(a.fn.datepicker)){
  8151.                 try{
  8152.                     a("input.hasDatepicker",g).datepicker("hide")
  8153.                     }catch(f){}
  8154.             }
  8155.             a(g).empty().attr("tabindex","-1");
  8156.         a(h).jqGrid("setCell",h.rows[c].id,b,h.p.savedRow[d].v);
  8157.         h.p.savedRow.splice(0,1)
  8158.         }
  8159.         window.setTimeout(function(){
  8160.         a("#"+h.p.knv).attr("tabindex","-1").focus()
  8161.         },0)
  8162.     })
  8163. },
  8164. nextCell:function(c,b){
  8165.     return this.each(function(){
  8166.         var f=this,e=false;
  8167.         if(!f.grid||f.p.cellEdit!==true){
  8168.             return
  8169.         }
  8170.         for(var d=b+1;d<f.p.colModel.length;d++){
  8171.             if(f.p.colModel[d].editable===true){
  8172.                 e=d;
  8173.                 break
  8174.             }
  8175.         }
  8176.         if(e!==false){
  8177.         a(f).jqGrid("editCell",c,e,true)
  8178.         }else{
  8179.         if(f.p.savedRow.length>0){
  8180.             a(f).jqGrid("saveCell",c,b)
  8181.             }
  8182.         }
  8183.     })
  8184. },
  8185. prevCell:function(c,b){
  8186.     return this.each(function(){
  8187.         var f=this,e=false;
  8188.         if(!f.grid||f.p.cellEdit!==true){
  8189.             return
  8190.         }
  8191.         for(var d=b-1;d>=0;d--){
  8192.             if(f.p.colModel[d].editable===true){
  8193.                 e=d;
  8194.                 break
  8195.             }
  8196.         }
  8197.         if(e!==false){
  8198.         a(f).jqGrid("editCell",c,e,true)
  8199.         }else{
  8200.         if(f.p.savedRow.length>0){
  8201.             a(f).jqGrid("saveCell",c,b)
  8202.             }
  8203.         }
  8204.     })
  8205. },
  8206. GridNav:function(){
  8207.     return this.each(function(){
  8208.         var g=this;
  8209.         if(!g.grid||g.p.cellEdit!==true){
  8210.             return
  8211.         }
  8212.         g.p.knv=g.p.id+"_kn";
  8213.         var f=a("<span style='width:0px;height:0px;background-color:black;' tabindex='0'><span tabindex='-1' style='width:0px;height:0px;background-color:grey' id='"+g.p.knv+"'></span></span>"),d,c;
  8214.         a(f).insertBefore(g.grid.cDiv);
  8215.         a("#"+g.p.knv).focus().keydown(function(h){
  8216.             c=h.keyCode;
  8217.             if(g.p.direction=="rtl"){
  8218.                 if(c==37){
  8219.                     c=39
  8220.                     }else{
  8221.                     if(c==39){
  8222.                         c=37
  8223.                         }
  8224.                     }
  8225.             }
  8226.         switch(c){
  8227.             case 38:
  8228.                 if(g.p.iRow-1>=0){
  8229.                 e(g.p.iRow-1,g.p.iCol,"vu");
  8230.                 a(g).jqGrid("editCell",g.p.iRow-1,g.p.iCol,false)
  8231.                 }
  8232.                 break;
  8233.             case 40:
  8234.                 if(g.p.iRow+1<=g.rows.length-1){
  8235.                 e(g.p.iRow+1,g.p.iCol,"vd");
  8236.                 a(g).jqGrid("editCell",g.p.iRow+1,g.p.iCol,false)
  8237.                 }
  8238.                 break;
  8239.             case 37:
  8240.                 if(g.p.iCol-1>=0){
  8241.                 d=b(g.p.iCol-1,"lft");
  8242.                 e(g.p.iRow,d,"h");
  8243.                 a(g).jqGrid("editCell",g.p.iRow,d,false)
  8244.                 }
  8245.                 break;
  8246.             case 39:
  8247.                 if(g.p.iCol+1<=g.p.colModel.length-1){
  8248.                 d=b(g.p.iCol+1,"rgt");
  8249.                 e(g.p.iRow,d,"h");
  8250.                 a(g).jqGrid("editCell",g.p.iRow,d,false)
  8251.                 }
  8252.                 break;
  8253.             case 13:
  8254.                 if(parseInt(g.p.iCol,10)>=0&&parseInt(g.p.iRow,10)>=0){
  8255.                 a(g).jqGrid("editCell",g.p.iRow,g.p.iCol,true)
  8256.                 }
  8257.                 break
  8258.             }
  8259.             return false
  8260.         });
  8261.     function e(p,n,o){
  8262.         if(o.substr(0,1)=="v"){
  8263.             var h=a(g.grid.bDiv)[0].clientHeight,q=a(g.grid.bDiv)[0].scrollTop,r=g.rows[p].offsetTop+g.rows[p].clientHeight,l=g.rows[p].offsetTop;
  8264.             if(o=="vd"){
  8265.                 if(r>=h){
  8266.                     a(g.grid.bDiv)[0].scrollTop=a(g.grid.bDiv)[0].scrollTop+g.rows[p].clientHeight
  8267.                     }
  8268.                 }
  8269.             if(o=="vu"){
  8270.             if(l<q){
  8271.                 a(g.grid.bDiv)[0].scrollTop=a(g.grid.bDiv)[0].scrollTop-g.rows[p].clientHeight
  8272.                 }
  8273.             }
  8274.     }
  8275. if(o=="h"){
  8276.     var k=a(g.grid.bDiv)[0].clientWidth,j=a(g.grid.bDiv)[0].scrollLeft,i=g.rows[p].cells[n].offsetLeft+g.rows[p].cells[n].clientWidth,m=g.rows[p].cells[n].offsetLeft;
  8277.     if(i>=k+parseInt(j)){
  8278.         a(g.grid.bDiv)[0].scrollLeft=a(g.grid.bDiv)[0].scrollLeft+g.rows[p].cells[n].clientWidth
  8279.         }else{
  8280.         if(m<j){
  8281.             a(g.grid.bDiv)[0].scrollLeft=a(g.grid.bDiv)[0].scrollLeft-g.rows[p].cells[n].clientWidth
  8282.             }
  8283.         }
  8284. }
  8285. }
  8286. function b(l,h){
  8287.     var k,j;
  8288.     if(h=="lft"){
  8289.         k=l+1;
  8290.         for(j=l;j>=0;j--){
  8291.             if(g.p.colModel[j].hidden!==true){
  8292.                 k=j;
  8293.                 break
  8294.             }
  8295.         }
  8296.         }
  8297.     if(h=="rgt"){
  8298.     k=l-1;
  8299.     for(j=l;j<g.p.colModel.length;j++){
  8300.         if(g.p.colModel[j].hidden!==true){
  8301.             k=j;
  8302.             break
  8303.         }
  8304.     }
  8305.     }
  8306. return k
  8307. }
  8308. })
  8309. },
  8310. getChangedCells:function(c){
  8311.     var b=[];
  8312.     if(!c){
  8313.         c="all"
  8314.         }
  8315.         this.each(function(){
  8316.         var e=this,d;
  8317.         if(!e.grid||e.p.cellEdit!==true){
  8318.             return
  8319.         }
  8320.         a(e.rows).each(function(f){
  8321.             var g={};
  8322.            
  8323.             if(a(this).hasClass("edited")){
  8324.                 a("td",this).each(function(h){
  8325.                     d=e.p.colModel[h].name;
  8326.                     if(d!=="cb"&&d!=="subgrid"){
  8327.                         if(c=="dirty"){
  8328.                             if(a(this).hasClass("dirty-cell")){
  8329.                                 try{
  8330.                                     g[d]=a.unformat(this,{
  8331.                                         colModel:e.p.colModel[h]
  8332.                                         },h)
  8333.                                     }catch(j){
  8334.                                     g[d]=a.jgrid.htmlDecode(a(this).html())
  8335.                                     }
  8336.                                 }
  8337.                         }else{
  8338.                     try{
  8339.                         g[d]=a.unformat(this,{
  8340.                             colModel:e.p.colModel[h]
  8341.                             },h)
  8342.                         }catch(j){
  8343.                         g[d]=a.jgrid.htmlDecode(a(this).html())
  8344.                         }
  8345.                     }
  8346.                 }
  8347.         });
  8348.     g.id=this.id;
  8349.     b.push(g)
  8350.     }
  8351. })
  8352. });
  8353. return b
  8354. }
  8355. })
  8356. })(jQuery);
  8357. (function(d){
  8358.     d.fn.jqm=function(f){
  8359.         var e={
  8360.             overlay:50,
  8361.             closeoverlay:true,
  8362.             overlayClass:"jqmOverlay",
  8363.             closeClass:"jqmClose",
  8364.             trigger:".jqModal",
  8365.             ajax:l,
  8366.             ajaxText:"",
  8367.             target:l,
  8368.             modal:l,
  8369.             toTop:l,
  8370.             onShow:l,
  8371.             onHide:l,
  8372.             onLoad:l
  8373.         };
  8374.        
  8375.         return this.each(function(){
  8376.             if(this._jqm){
  8377.                 return k[this._jqm].c=d.extend({},k[this._jqm].c,f)
  8378.                 }
  8379.                 n++;
  8380.             this._jqm=n;
  8381.             k[n]={
  8382.                 c:d.extend(e,d.jqm.params,f),
  8383.                 a:l,
  8384.                 w:d(this).addClass("jqmID"+n),
  8385.                 s:n
  8386.             };
  8387.            
  8388.             if(e.trigger){
  8389.                 d(this).jqmAddTrigger(e.trigger)
  8390.                 }
  8391.             })
  8392.     };
  8393.    
  8394. d.fn.jqmAddClose=function(f){
  8395.     return j(this,f,"jqmHide")
  8396.     };
  8397.    
  8398. d.fn.jqmAddTrigger=function(f){
  8399.     return j(this,f,"jqmShow")
  8400.     };
  8401.    
  8402. d.fn.jqmShow=function(e){
  8403.     return this.each(function(){
  8404.         d.jqm.open(this._jqm,e)
  8405.         })
  8406.     };
  8407.    
  8408. d.fn.jqmHide=function(e){
  8409.     return this.each(function(){
  8410.         d.jqm.close(this._jqm,e)
  8411.         })
  8412.     };
  8413.    
  8414. d.jqm={
  8415.     hash:{},
  8416.     open:function(B,A){
  8417.         var p=k[B],q=p.c,m="."+q.closeClass,v=(parseInt(p.w.css("z-index")));
  8418.         v=(v>0)?v:3000;
  8419.         var f=d("<div></div>").css({
  8420.             height:"100%",
  8421.             width:"100%",
  8422.             position:"fixed",
  8423.             left:0,
  8424.             top:0,
  8425.             "z-index":v-1,
  8426.             opacity:q.overlay/100
  8427.             });
  8428.         if(p.a){
  8429.             return l
  8430.             }
  8431.             p.t=A;
  8432.         p.a=true;
  8433.         p.w.css("z-index",v);
  8434.         if(q.modal){
  8435.             if(!a[0]){
  8436.                 setTimeout(function(){
  8437.                     i("bind")
  8438.                     },1)
  8439.                 }
  8440.                 a.push(B)
  8441.             }else{
  8442.             if(q.overlay>0){
  8443.                 if(q.closeoverlay){
  8444.                     p.w.jqmAddClose(f)
  8445.                     }
  8446.                 }else{
  8447.             f=l
  8448.             }
  8449.         }
  8450.     p.o=(f)?f.addClass(q.overlayClass).prependTo("body"):l;
  8451.     if(c){
  8452.     d("html,body").css({
  8453.         height:"100%",
  8454.         width:"100%"
  8455.     });
  8456.     if(f){
  8457.         f=f.css({
  8458.             position:"absolute"
  8459.         })[0];
  8460.         for(var w in {
  8461.             Top:1,
  8462.             Left:1
  8463.         }){
  8464.             f.style.setExpression(w.toLowerCase(),"(_=(document.documentElement.scroll"+w+" || document.body.scroll"+w+"))+'px'")
  8465.             }
  8466.         }
  8467.         }
  8468. if(q.ajax){
  8469.     var e=q.target||p.w,x=q.ajax;
  8470.     e=(typeof e=="string")?d(e,p.w):d(e);
  8471.     x=(x.substr(0,1)=="@")?d(A).attr(x.substring(1)):x;
  8472.     e.html(q.ajaxText).load(x,function(){
  8473.         if(q.onLoad){
  8474.             q.onLoad.call(this,p)
  8475.             }
  8476.             if(m){
  8477.             p.w.jqmAddClose(d(m,p.w))
  8478.             }
  8479.             h(p)
  8480.         })
  8481.     }else{
  8482.     if(m){
  8483.         p.w.jqmAddClose(d(m,p.w))
  8484.         }
  8485.     }
  8486. if(q.toTop&&p.o){
  8487.     p.w.before('<span id="jqmP'+p.w[0]._jqm+'"></span>').insertAfter(p.o)
  8488.     }(q.onShow)?q.onShow(p):p.w.show();
  8489. h(p);
  8490. return l
  8491. },
  8492. close:function(f){
  8493.     var e=k[f];
  8494.     if(!e.a){
  8495.         return l
  8496.         }
  8497.         e.a=l;
  8498.     if(a[0]){
  8499.         a.pop();
  8500.         if(!a[0]){
  8501.             i("unbind")
  8502.             }
  8503.         }
  8504.     if(e.c.toTop&&e.o){
  8505.     d("#jqmP"+e.w[0]._jqm).after(e.w).remove()
  8506.     }
  8507.     if(e.c.onHide){
  8508.     e.c.onHide(e)
  8509.     }else{
  8510.     e.w.hide();
  8511.     if(e.o){
  8512.         e.o.remove()
  8513.         }
  8514.     }
  8515. return l
  8516. },
  8517. params:{}
  8518. };
  8519.  
  8520. var n=0,k=d.jqm.hash,a=[],c=d.browser.msie&&(d.browser.version=="6.0"),l=false,h=function(f){
  8521.     var e=d('<iframe src="javascript:false;document.write(\'\');" class="jqm"></iframe>').css({
  8522.         opacity:0
  8523.     });
  8524.     if(c){
  8525.         if(f.o){
  8526.             f.o.html('<p style="width:100%;height:100%"/>').prepend(e)
  8527.             }else{
  8528.             if(!d("iframe.jqm",f.w)[0]){
  8529.                 f.w.prepend(e)
  8530.                 }
  8531.             }
  8532.     }
  8533. g(f)
  8534. },g=function(f){
  8535.     try{
  8536.         d(":input:visible",f.w)[0].focus()
  8537.         }catch(e){}
  8538. },i=function(e){
  8539.     d()[e]("keypress",b)[e]("keydown",b)[e]("mousedown",b)
  8540.     },b=function(o){
  8541.     var f=k[a[a.length-1]],m=(!d(o.target).parents(".jqmID"+f.s)[0]);
  8542.     if(m){
  8543.         g(f)
  8544.         }
  8545.         return !m
  8546.     },j=function(e,f,m){
  8547.     return e.each(function(){
  8548.         var o=this._jqm;
  8549.         d(f).each(function(){
  8550.             if(!this[m]){
  8551.                 this[m]=[];
  8552.                 d(this).click(function(){
  8553.                     for(var p in {
  8554.                         jqmShow:1,
  8555.                         jqmHide:1
  8556.                     }){
  8557.                         for(var q in this[p]){
  8558.                             if(k[this[p][q]]){
  8559.                                 k[this[p][q]].w[p](this)
  8560.                                 }
  8561.                             }
  8562.                         }
  8563.                         return l
  8564.                 })
  8565.         }
  8566.         this[m].push(o)
  8567.         })
  8568.     })
  8569. }
  8570. })(jQuery);
  8571. (function(g){
  8572.     g.fn.jqDrag=function(f){
  8573.         return c(this,f,"d")
  8574.         };
  8575.        
  8576.     g.fn.jqResize=function(i,f){
  8577.         return c(this,i,"r",f)
  8578.         };
  8579.        
  8580.     g.jqDnR={
  8581.         dnr:{},
  8582.         e:0,
  8583.         drag:function(f){
  8584.             if(h.k=="d"){
  8585.                 e.css({
  8586.                     left:h.X+f.pageX-h.pX,
  8587.                     top:h.Y+f.pageY-h.pY
  8588.                     })
  8589.                 }else{
  8590.                 e.css({
  8591.                     width:Math.max(f.pageX-h.pX+h.W,0),
  8592.                     height:Math.max(f.pageY-h.pY+h.H,0)
  8593.                     });
  8594.                 if(M1){
  8595.                     a.css({
  8596.                         width:Math.max(f.pageX-M1.pX+M1.W,0),
  8597.                         height:Math.max(f.pageY-M1.pY+M1.H,0)
  8598.                         })
  8599.                     }
  8600.                 }
  8601.             return false
  8602.         },
  8603.     stop:function(){
  8604.         g().unbind("mousemove",b.drag).unbind("mouseup",b.stop)
  8605.         }
  8606.     };
  8607.  
  8608. var b=g.jqDnR,h=b.dnr,e=b.e,a,c=function(l,j,i,f){
  8609.     return l.each(function(){
  8610.         j=(j)?g(j,l):l;
  8611.         j.bind("mousedown",{
  8612.             e:l,
  8613.             k:i
  8614.         },function(k){
  8615.             var o=k.data,n={};
  8616.            
  8617.             e=o.e;
  8618.             a=f?g(f):false;
  8619.             if(e.css("position")!="relative"){
  8620.                 try{
  8621.                     e.position(n)
  8622.                     }catch(m){}
  8623.             }
  8624.             h={
  8625.             X:n.left||d("left")||0,
  8626.             Y:n.top||d("top")||0,
  8627.             W:d("width")||e[0].scrollWidth||0,
  8628.             H:d("height")||e[0].scrollHeight||0,
  8629.             pX:k.pageX,
  8630.             pY:k.pageY,
  8631.             k:o.k
  8632.             };
  8633.            
  8634.         if(a&&o.k!="d"){
  8635.             M1={
  8636.                 X:n.left||f1("left")||0,
  8637.                 Y:n.top||f1("top")||0,
  8638.                 W:a[0].offsetWidth||f1("width")||0,
  8639.                 H:a[0].offsetHeight||f1("height")||0,
  8640.                 pX:k.pageX,
  8641.                 pY:k.pageY,
  8642.                 k:o.k
  8643.                 }
  8644.             }else{
  8645.             M1=false
  8646.             }
  8647.             g().mousemove(g.jqDnR.drag).mouseup(g.jqDnR.stop);
  8648.         return false
  8649.         })
  8650.     })
  8651. },d=function(f){
  8652.     return parseInt(e.css(f))||false
  8653.     };
  8654.    
  8655. f1=function(f){
  8656.     return parseInt(a.css(f))||false
  8657.     }
  8658. })(jQuery);
  8659. (function(a){
  8660.     a.jgrid.extend({
  8661.         setSubGrid:function(){
  8662.             return this.each(function(){
  8663.                 var c=this,b;
  8664.                 c.p.colNames.unshift("");
  8665.                 c.p.colModel.unshift({
  8666.                     name:"subgrid",
  8667.                     width:a.browser.safari?c.p.subGridWidth+c.p.cellLayout:c.p.subGridWidth,
  8668.                     sortable:false,
  8669.                     resizable:false,
  8670.                     hidedlg:true,
  8671.                     search:false,
  8672.                     fixed:true
  8673.                 });
  8674.                 b=c.p.subGridModel;
  8675.                 if(b[0]){
  8676.                     b[0].align=a.extend([],b[0].align||[]);
  8677.                     for(i=0;i<b[0].name.length;i++){
  8678.                         b[0].align[i]=b[0].align[i]||"left"
  8679.                         }
  8680.                     }
  8681.                 })
  8682.     },
  8683.     addSubGridCell:function(e,c){
  8684.         var b="",d;
  8685.         this.each(function(){
  8686.             b=this.formatCol(e,c);
  8687.             d=this.p.gridview
  8688.             });
  8689.         if(d===false){
  8690.             return"<td role='grid' class='ui-sgcollapsed sgcollapsed' "+b+"><a href='javascript:void(0);'><span class='ui-icon ui-icon-plus'></span></a></td>"
  8691.             }else{
  8692.             return"<td role='grid' "+b+"></td>"
  8693.             }
  8694.         },
  8695. addSubGrid:function(b,c){
  8696.     return this.each(function(){
  8697.         var m=this;
  8698.         if(!m.grid){
  8699.             return
  8700.         }
  8701.         var n,o,p,j,k,g,h;
  8702.         a("td:eq("+c+")",b).click(function(q){
  8703.             if(a(this).hasClass("sgcollapsed")){
  8704.                 p=m.p.id;
  8705.                 n=a(this).parent();
  8706.                 j=c>=1?"<td colspan='"+c+"'>&nbsp;</td>":"";
  8707.                 o=a(n).attr("id");
  8708.                 h=true;
  8709.                 if(a.isFunction(m.p.subGridBeforeExpand)){
  8710.                     h=m.p.subGridBeforeExpand(p+"_"+o,o)
  8711.                     }
  8712.                     if(h===false){
  8713.                     return false
  8714.                     }
  8715.                     k=0;
  8716.                 a.each(m.p.colModel,function(s,r){
  8717.                     if(this.hidden===true||this.name=="rn"||this.name=="cb"){
  8718.                         k++
  8719.                     }
  8720.                 });
  8721.             g="<tr role='row' class='ui-subgrid'>"+j+"<td class='ui-widget-content subgrid-cell'><span class='ui-icon ui-icon-carat-1-sw'/></td><td colspan='"+parseInt(m.p.colNames.length-1-k)+"' class='ui-widget-content subgrid-data'><div id="+p+"_"+o+" class='tablediv'>";
  8722.             a(this).parent().after(g+"</div></td></tr>");
  8723.             if(a.isFunction(m.p.subGridRowExpanded)){
  8724.                 m.p.subGridRowExpanded(p+"_"+o,o)
  8725.                 }else{
  8726.                 l(n)
  8727.                 }
  8728.                 a(this).html("<a href='javascript:void(0);'><span class='ui-icon ui-icon-minus'></span></a>").removeClass("sgcollapsed").addClass("sgexpanded")
  8729.             }else{
  8730.             if(a(this).hasClass("sgexpanded")){
  8731.                 h=true;
  8732.                 if(a.isFunction(m.p.subGridRowColapsed)){
  8733.                     n=a(this).parent();
  8734.                     o=a(n).attr("id");
  8735.                     h=m.p.subGridRowColapsed(p+"_"+o,o)
  8736.                     }
  8737.                     if(h===false){
  8738.                     return false
  8739.                     }
  8740.                     a(this).parent().next().remove(".ui-subgrid");
  8741.                 a(this).html("<a href='javascript:void(0);'><span class='ui-icon ui-icon-plus'></span></a>").removeClass("sgexpanded").addClass("sgcollapsed")
  8742.                 }
  8743.             }
  8744.         return false
  8745.         });
  8746.     var l=function(u){
  8747.         var t,q,v,s,r;
  8748.         q=a(u).attr("id");
  8749.         v={
  8750.             id:q,
  8751.             nd_:(new Date().getTime())
  8752.             };
  8753.            
  8754.         if(!m.p.subGridModel[0]){
  8755.             return false
  8756.             }
  8757.             if(m.p.subGridModel[0].params){
  8758.             for(r=0;r<m.p.subGridModel[0].params.length;r++){
  8759.                 for(s=0;s<m.p.colModel.length;s++){
  8760.                     if(m.p.colModel[s].name==m.p.subGridModel[0].params[r]){
  8761.                         v[m.p.colModel[s].name]=a("td:eq("+s+")",u).text().replace(/\&nbsp\;/ig,"")
  8762.                         }
  8763.                     }
  8764.                 }
  8765.             }
  8766.     if(!m.grid.hDiv.loading){
  8767.     m.grid.hDiv.loading=true;
  8768.     a("#load_"+m.p.id).show();
  8769.     if(!m.p.subgridtype){
  8770.         m.p.subgridtype=m.p.datatype
  8771.         }
  8772.         m.p.subgridtype=m.p.subgridtype.toLowerCase();
  8773.     if(a.isFunction(m.p.subgridtype)){
  8774.         m.p.subgridtype(v)
  8775.         }
  8776.         switch(m.p.subgridtype){
  8777.         case"xml":case"json":
  8778.             a.ajax(a.extend({
  8779.             type:m.p.mtype,
  8780.             url:m.p.subGridUrl,
  8781.             dataType:m.p.subgridtype,
  8782.             data:a.isFunction(m.p.serializeSubGridData)?m.p.serializeSubGridData(v):v,
  8783.             complete:function(w){
  8784.                 if(m.p.subgridtype=="xml"){
  8785.                     d(w.responseXML,q)
  8786.                     }else{
  8787.                     f(a.jgrid.parse(w.responseText),q)
  8788.                     }
  8789.                     w=null
  8790.                 }
  8791.             },a.jgrid.ajaxOptions,m.p.ajaxSubgridOptions||{}));
  8792.         break
  8793.         }
  8794.     }
  8795. return false
  8796. };
  8797.  
  8798. var e=function(r,q,t){
  8799.     var s=a("<td align='"+m.p.subGridModel[0].align[t]+"'></td>").html(q);
  8800.     a(r).append(s)
  8801.     };
  8802.    
  8803. var d=function(v,t){
  8804.     var x,u,w,q,s=a("<table cellspacing='0' cellpadding='0' border='0'><tbody></tbody></table>"),r=a("<tr></tr>");
  8805.     for(u=0;u<m.p.subGridModel[0].name.length;u++){
  8806.         x=a("<th class='ui-state-default ui-th-column ui-th-"+m.p.direction+"'></th>");
  8807.         a(x).html(m.p.subGridModel[0].name[u]);
  8808.         a(x).width(m.p.subGridModel[0].width[u]);
  8809.         a(r).append(x)
  8810.         }
  8811.         a(s).append(r);
  8812.     if(v){
  8813.         q=m.p.xmlReader.subgrid;
  8814.         a(q.root+" "+q.row,v).each(function(){
  8815.             r=a("<tr class='ui-widget-content ui-subtblcell'></tr>");
  8816.             if(q.repeatitems===true){
  8817.                 a(q.cell,this).each(function(A){
  8818.                     e(r,a(this).text()||"&nbsp;",A)
  8819.                     })
  8820.                 }else{
  8821.                 var z=m.p.subGridModel[0].mapping||m.p.subGridModel[0].name;
  8822.                 if(z){
  8823.                     for(u=0;u<z.length;u++){
  8824.                         e(r,a(z[u],this).text()||"&nbsp;",u)
  8825.                         }
  8826.                     }
  8827.                 }
  8828.         a(s).append(r)
  8829.         })
  8830. }
  8831. var y=a("table:first",m.grid.bDiv).attr("id")+"_";
  8832. a("#"+y+t).append(s);
  8833. m.grid.hDiv.loading=false;
  8834. a("#load_"+m.p.id).hide();
  8835. return false
  8836. };
  8837.  
  8838. var f=function(x,u){
  8839.     var z,B,v,y,q,s=a("<table cellspacing='0' cellpadding='0' border='0'><tbody></tbody></table>"),r=a("<tr></tr>");
  8840.     for(v=0;v<m.p.subGridModel[0].name.length;v++){
  8841.         z=a("<th class='ui-state-default ui-th-column ui-th-"+m.p.direction+"'></th>");
  8842.         a(z).html(m.p.subGridModel[0].name[v]);
  8843.         a(z).width(m.p.subGridModel[0].width[v]);
  8844.         a(r).append(z)
  8845.         }
  8846.         a(s).append(r);
  8847.     if(x){
  8848.         q=m.p.jsonReader.subgrid;
  8849.         B=x[q.root];
  8850.         if(typeof B!=="undefined"){
  8851.             for(v=0;v<B.length;v++){
  8852.                 y=B[v];
  8853.                 r=a("<tr class='ui-widget-content ui-subtblcell'></tr>");
  8854.                 if(q.repeatitems===true){
  8855.                     if(q.cell){
  8856.                         y=y[q.cell]
  8857.                         }
  8858.                         for(var t=0;t<y.length;t++){
  8859.                         e(r,y[t]||"&nbsp;",t)
  8860.                         }
  8861.                     }else{
  8862.                 var w=m.p.subGridModel[0].mapping||m.p.subGridModel[0].name;
  8863.                 if(w.length){
  8864.                     for(var t=0;t<w.length;t++){
  8865.                         e(r,y[w[t]]||"&nbsp;",t)
  8866.                         }
  8867.                     }
  8868.                 }
  8869.             a(s).append(r)
  8870.         }
  8871.     }
  8872. }
  8873. var A=a("table:first",m.grid.bDiv).attr("id")+"_";
  8874. a("#"+A+u).append(s);
  8875. m.grid.hDiv.loading=false;
  8876. a("#load_"+m.p.id).hide();
  8877. return false
  8878. };
  8879.  
  8880. m.subGridXml=function(r,q){
  8881.     d(r,q)
  8882.     };
  8883.    
  8884. m.subGridJson=function(r,q){
  8885.     f(r,q)
  8886.     }
  8887. })
  8888. },
  8889. expandSubGridRow:function(b){
  8890.     return this.each(function(){
  8891.         var e=this;
  8892.         if(!e.grid&&!b){
  8893.             return
  8894.         }
  8895.         if(e.p.subGrid===true){
  8896.             var c=a(this).jqGrid("getInd",b,true);
  8897.             if(c){
  8898.                 var d=a("td.sgcollapsed",c)[0];
  8899.                 if(d){
  8900.                     a(d).trigger("click")
  8901.                     }
  8902.                 }
  8903.         }
  8904.     })
  8905. },
  8906. collapseSubGridRow:function(b){
  8907.     return this.each(function(){
  8908.         var e=this;
  8909.         if(!e.grid&&!b){
  8910.             return
  8911.         }
  8912.         if(e.p.subGrid===true){
  8913.             var c=a(this).jqGrid("getInd",b,true);
  8914.             if(c){
  8915.                 var d=a("td.sgexpanded",c)[0];
  8916.                 if(d){
  8917.                     a(d).trigger("click")
  8918.                     }
  8919.                 }
  8920.         }
  8921.     })
  8922. },
  8923. toggleSubGridRow:function(b){
  8924.     return this.each(function(){
  8925.         var e=this;
  8926.         if(!e.grid&&!b){
  8927.             return
  8928.         }
  8929.         if(e.p.subGrid===true){
  8930.             var c=a(this).jqGrid("getInd",b,true);
  8931.             if(c){
  8932.                 var d=a("td.sgcollapsed",c)[0];
  8933.                 if(d){
  8934.                     a(d).trigger("click")
  8935.                     }else{
  8936.                     d=a("td.sgexpanded",c)[0];
  8937.                     if(d){
  8938.                         a(d).trigger("click")
  8939.                         }
  8940.                     }
  8941.             }
  8942.     }
  8943. })
  8944. }
  8945. })
  8946. })(jQuery);
  8947. (function(a){
  8948.     a.jgrid.extend({
  8949.         setColumns:function(b){
  8950.             b=a.extend({
  8951.                 top:0,
  8952.                 left:0,
  8953.                 width:200,
  8954.                 height:"auto",
  8955.                 dataheight:"auto",
  8956.                 modal:false,
  8957.                 drag:true,
  8958.                 beforeShowForm:null,
  8959.                 afterShowForm:null,
  8960.                 afterSalvarForm:null,
  8961.                 closeOnEscape:true,
  8962.                 ShrinkToFit:false,
  8963.                 jqModal:false,
  8964.                 saveicon:[true,"left","ui-icon-disk"],
  8965.                 closeicon:[true,"left","ui-icon-close"],
  8966.                 onClose:null,
  8967.                 colnameview:true,
  8968.                 closeAfterSalvar:true,
  8969.                 updateAfterCheck:false
  8970.             },a.jgrid.col,b||{});
  8971.             return this.each(function(){
  8972.                 var j=this;
  8973.                 if(!j.grid){
  8974.                     return
  8975.                 }
  8976.                 var k=typeof b.beforeShowForm==="function"?true:false;
  8977.                 var d=typeof b.afterShowForm==="function"?true:false;
  8978.                 var e=typeof b.afterSalvarForm==="function"?true:false;
  8979.                 var c=j.p.id,h="ColTbl_"+c,f={
  8980.                     themodal:"colmod"+c,
  8981.                     modalhead:"colhd"+c,
  8982.                     modalcontent:"colcnt"+c,
  8983.                     scrollelm:h
  8984.                 };
  8985.                
  8986.                 if(a("#"+f.themodal).html()!=null){
  8987.                     if(k){
  8988.                         b.beforeShowForm(a("#"+h))
  8989.                         }
  8990.                         viewModal("#"+f.themodal,{
  8991.                         gbox:"#gbox_"+c,
  8992.                         jqm:b.jqModal,
  8993.                         jqM:false,
  8994.                         modal:b.modal
  8995.                         });
  8996.                     if(d){
  8997.                         b.afterShowForm(a("#"+h))
  8998.                         }
  8999.                     }else{
  9000.                 var l=isNaN(b.dataheight)?b.dataheight:b.dataheight+"px";
  9001.                 var m="<div id='"+h+"' class='formdata' style='width:100%;overflow:auto;position:relative;height:"+l+";'>";
  9002.                 m+="<table class='ColTable' cellspacing='1' cellpading='2' border='0'><tbody>";
  9003.                 for(i=0;i<this.p.colNames.length;i++){
  9004.                     if(!j.p.colModel[i].hidedlg){
  9005.                         m+="<tr><td style='white-space: pre;'><input type='checkbox' style='margin-right:5px;' id='col_"+this.p.colModel[i].name+"' class='cbox' value='T' "+((this.p.colModel[i].hidden===false)?"checked":"")+"/><label for='col_"+this.p.colModel[i].name+"'>"+this.p.colNames[i]+((b.colnameview)?" ("+this.p.colModel[i].name+")":"")+"</label></td></tr>"
  9006.                         }
  9007.                     }
  9008.                 m+="</tbody></table></div>";
  9009.             var g=!b.updateAfterCheck?"<a href='javascript:void(0)' id='dData' class='fm-button ui-state-default ui-corner-all'>"+b.bSalvar+"</a>":"",n="<a href='javascript:void(0)' id='eData' class='fm-button ui-state-default ui-corner-all'>"+b.bCancelar+"</a>",t="<a href='javascript:void(0)' id='zData' class='fm-button ui-state-default ui-corner-all'>"+b.bNovaLinha+"</a>";
  9010.             m+="<table border='0' class='EditTable' id='"+h+"_2'><tbody><tr style='display:block;height:3px;'><td></td></tr><tr><td class='DataTD ui-widget-content'></td></tr><tr><td class='ColButton EditButton'>"+g+"&nbsp;"+n+"&nbsp;"+t+"</td></tr></tbody></table>";
  9011.             b.gbox="#gbox_"+c;
  9012.             createModal(f,m,b,"#gview_"+j.p.id,a("#gview_"+j.p.id)[0]);
  9013.                 if(b.saveicon[0]==true){
  9014.                 a("#dData","#"+h+"_2").addClass(b.saveicon[1]=="right"?"fm-button-icon-right":"fm-button-icon-left").append("<span class='ui-icon "+b.saveicon[2]+"'></span>")
  9015.                 }
  9016.                 if(b.closeicon[0]==true){
  9017.                 a("#eData","#"+h+"_2").addClass(b.closeicon[1]=="right"?"fm-button-icon-right":"fm-button-icon-left").append("<span class='ui-icon "+b.closeicon[2]+"'></span>")
  9018.                 }
  9019.                 if(b.closeicon[0]==true){
  9020.                 a("#zData","#"+h+"_2").addClass(b.closeicon[1]=="right"?"fm-button-icon-right":"fm-button-icon-left").append("<span class='ui-icon "+b.closeicon[2]+"'></span>")
  9021.                 }
  9022.                
  9023.                 if(!b.updateAfterCheck){
  9024.                 a("#dData","#"+h+"_2").click(function(p){
  9025.                     for(i=0;i<j.p.colModel.length;i++){
  9026.                         if(!j.p.colModel[i].hidedlg){
  9027.                             var o=j.p.colModel[i].name.replace(".","\\.");
  9028.                             if(a("#col_"+o,"#"+h).attr("checked")){
  9029.                                 a(j).jqGrid("showCol",j.p.colModel[i].name);
  9030.                                 a("#col_"+o,"#"+h).attr("defaultChecked",true)
  9031.                                 }else{
  9032.                                 a(j).jqGrid("hideCol",j.p.colModel[i].name);
  9033.                                 a("#col_"+o,"#"+h).attr("defaultChecked","")
  9034.                                 }
  9035.                             }
  9036.                     }
  9037.                     if(b.ShrinkToFit===true){
  9038.                     a(j).jqGrid("setGridWidth",j.grid.width-0.001,true)
  9039.                     }
  9040.                     if(b.closeAfterSalvar){
  9041.                     hideModal("#"+f.themodal,{
  9042.                         gb:"#gbox_"+c,
  9043.                         jqm:b.jqModal,
  9044.                         onClose:b.onClose
  9045.                         })
  9046.                     }
  9047.                     if(e){
  9048.                     b.afterSalvarForm(a("#"+h))
  9049.                     }
  9050.                     return false
  9051.                 })
  9052.             }else{
  9053.             a(":input","#"+h).click(function(o){
  9054.                 var p=this.id.substr(4);
  9055.                 if(p){
  9056.                     if(this.checked){
  9057.                         a(j).jqGrid("showCol",p)
  9058.                         }else{
  9059.                         a(j).jqGrid("hideCol",p)
  9060.                         }
  9061.                         if(b.ShrinkToFit===true){
  9062.                         a(j).jqGrid("setGridWidth",j.grid.width-0.001,true)
  9063.                         }
  9064.                     }
  9065.                 return this
  9066.             })
  9067.         }
  9068.    a("#eData","#"+h+"_2").click(function(o){
  9069.         hideModal("#"+f.themodal,{
  9070.             gb:"#gbox_"+c,
  9071.             jqm:b.jqModal,
  9072.             onClose:b.onClose
  9073.             });
  9074.         return false
  9075.         });
  9076.    
  9077.    a("#zData","#"+h+"_2").click(function(o){
  9078.         hideModal("#"+f.themodal,{
  9079.             gb:"#gbox_"+c,
  9080.             jqm:b.jqModal,
  9081.             onClose:b.onClose
  9082.             });
  9083.         return false
  9084.         });
  9085.    
  9086.    a("#dData, #eData, #zData","#"+h+"_2").hover(function(){
  9087.         a(this).addClass("ui-state-hover")
  9088.         },function(){
  9089.         a(this).removeClass("ui-state-hover")
  9090.         });
  9091.     if(k){
  9092.         b.beforeShowForm(a("#"+h))
  9093.         }
  9094.         viewModal("#"+f.themodal,{
  9095.         gbox:"#gbox_"+c,
  9096.         jqm:b.jqModal,
  9097.         jqM:true,
  9098.         modal:b.modal
  9099.         });
  9100.     if(d){
  9101.         b.afterShowForm(a("#"+h))
  9102.         }
  9103.     }
  9104. })
  9105. }
  9106. })
  9107. })(jQuery);
  9108. (function(a){
  9109.     a.jgrid.extend({
  9110.         getPostData:function(){
  9111.             var b=this[0];
  9112.             if(!b.grid){
  9113.                 return
  9114.             }
  9115.             return b.p.postData
  9116.             },
  9117.         setPostData:function(b){
  9118.             var c=this[0];
  9119.             if(!c.grid){
  9120.                 return
  9121.             }
  9122.             if(typeof(b)==="object"){
  9123.                 c.p.postData=b
  9124.                 }else{
  9125.                 alert("Error: cannot add a non-object postData value. postData unchanged.")
  9126.                 }
  9127.             },
  9128.     appendPostData:function(b){
  9129.         var c=this[0];
  9130.         if(!c.grid){
  9131.             return
  9132.         }
  9133.         if(typeof(b)==="object"){
  9134.             a.extend(c.p.postData,b)
  9135.             }else{
  9136.             alert("Error: cannot append a non-object postData value. postData unchanged.")
  9137.             }
  9138.         },
  9139.     setPostDataItem:function(b,c){
  9140.         var d=this[0];
  9141.         if(!d.grid){
  9142.             return
  9143.         }
  9144.         d.p.postData[b]=c
  9145.         },
  9146.     getPostDataItem:function(b){
  9147.         var c=this[0];
  9148.         if(!c.grid){
  9149.             return
  9150.         }
  9151.         return c.p.postData[b]
  9152.         },
  9153.     removePostDataItem:function(b){
  9154.         var c=this[0];
  9155.         if(!c.grid){
  9156.             return
  9157.         }
  9158.         delete c.p.postData[b]
  9159.     },
  9160.     getUserData:function(){
  9161.         var b=this[0];
  9162.         if(!b.grid){
  9163.             return
  9164.         }
  9165.         return b.p.userData
  9166.         },
  9167.     getUserDataItem:function(b){
  9168.         var c=this[0];
  9169.         if(!c.grid){
  9170.             return
  9171.         }
  9172.         return c.p.userData[b]
  9173.         }
  9174.     })
  9175. })(jQuery);
  9176. function tableToGrid(a,b){
  9177.     $(a).each(function(){
  9178.         if(this.grid){
  9179.             return
  9180.         }
  9181.         $(this).width("99%");
  9182.         var n=$(this).width();
  9183.         var p=$("input[type=checkbox]:first",$(this));
  9184.         var h=$("input[type=radio]:first",$(this));
  9185.         var d=p.length>0;
  9186.         var g=!d&&h.length>0;
  9187.         var j=d||g;
  9188.         var i=p.attr("name")||h.attr("name");
  9189.         var l=[];
  9190.         var o=[];
  9191.         $("th",$(this)).each(function(){
  9192.             if(l.length==0&&j){
  9193.                 l.push({
  9194.                     name:"__selection__",
  9195.                     index:"__selection__",
  9196.                     width:0,
  9197.                     hidden:true
  9198.                 });
  9199.                 o.push("__selection__")
  9200.                 }else{
  9201.                 l.push({
  9202.                     name:$(this).attr("id")||$(this).html(),
  9203.                     index:$(this).attr("id")||$(this).html(),
  9204.                     width:$(this).width()||150
  9205.                     });
  9206.                 o.push($(this).html())
  9207.                 }
  9208.             });
  9209.     var f=[];
  9210.     var e=[];
  9211.     var m=[];
  9212.     $("tbody > tr",$(this)).each(function(){
  9213.         var r={};
  9214.        
  9215.         var q=0;
  9216.         $("td",$(this)).each(function(){
  9217.             if(q==0&&j){
  9218.                 var s=$("input",$(this));
  9219.                 var t=s.attr("value");
  9220.                 e.push(t||f.length);
  9221.                 if(s.attr("checked")){
  9222.                     m.push(t)
  9223.                     }
  9224.                     r[l[q].name]=s.attr("value")
  9225.                 }else{
  9226.                 r[l[q].name]=$(this).html()
  9227.                 }
  9228.                 q++
  9229.         });
  9230.         if(q>0){
  9231.             f.push(r)
  9232.             }
  9233.         });
  9234.     $(this).empty();
  9235.     $(this).addClass("scroll");
  9236.     $(this).jqGrid($.extend({
  9237.         datatype:"local",
  9238.         width:n,
  9239.         colNames:o,
  9240.         colModel:l,
  9241.         multiselect:d
  9242.     },b||{}));
  9243.     for(var k=0;k<f.length;k++){
  9244.         var c=null;
  9245.         if(e.length>0){
  9246.             c=e[k];
  9247.             if(c&&c.replace){
  9248.                 c=encodeURIComponent(c).replace(/[.\-%]/g,"_")
  9249.                 }
  9250.             }
  9251.         if(c==null){
  9252.         c=k+1
  9253.         }
  9254.         $(this).jqGrid("addRowData",c,f[k])
  9255.         }
  9256.         for(var k=0;k<m.length;k++){
  9257.     $(this).jqGrid("setSelection",m[k])
  9258.     }
  9259. })
  9260. };
  9261. (function($){
  9262.     if($.browser.msie&&$.browser.version==8){
  9263.         $.expr[":"].hidden=function(elem){
  9264.             return elem.offsetWidth===0||elem.offsetHeight===0||elem.style.display=="none"
  9265.             }
  9266.         }
  9267.     if($.ui.multiselect&&$.ui.multiselect.prototype._setSelected){
  9268.     var setSelected=$.ui.multiselect.prototype._setSelected;
  9269.     $.ui.multiselect.prototype._setSelected=function(item,selected){
  9270.         var ret=setSelected.call(this,item,selected);
  9271.         if(selected&&this.selectedList){
  9272.             var elt=this.element;
  9273.             this.selectedList.find("li").each(function(){
  9274.                 if($(this).data("optionLink")){
  9275.                     $(this).data("optionLink").remove().appendTo(elt)
  9276.                     }
  9277.                 })
  9278.         }
  9279.         return ret
  9280.     }
  9281. }
  9282. $.jgrid.extend({
  9283.     sortableColumns:function(tblrow){
  9284.         return this.each(function(){
  9285.             var ts=this;
  9286.             function start(){
  9287.                 ts.p.disableClick=true
  9288.                 }
  9289.                 var sortable_opts={
  9290.                 tolerance:"pointer",
  9291.                 axis:"x",
  9292.                 items:">th:not(:has(#jqgh_cb,#jqgh_rn,#jqgh_subgrid),:hidden)",
  9293.                 placeholder:{
  9294.                     element:function(item){
  9295.                         var el=$(document.createElement(item[0].nodeName)).addClass(item[0].className+" ui-sortable-placeholder ui-state-highlight").removeClass("ui-sortable-helper")[0];
  9296.                         return el
  9297.                         },
  9298.                     update:function(self,p){
  9299.                         p.height(self.currentItem.innerHeight()-parseInt(self.currentItem.css("paddingTop")||0,10)-parseInt(self.currentItem.css("paddingBottom")||0,10));
  9300.                         p.width(self.currentItem.innerWidth()-parseInt(self.currentItem.css("paddingLeft")||0,10)-parseInt(self.currentItem.css("paddingRight")||0,10))
  9301.                         }
  9302.                     },
  9303.             update:function(event,ui){
  9304.                 var p=$(ui.item).parent();
  9305.                 var th=$(">th",p);
  9306.                 var colModel=ts.p.colModel;
  9307.                 var cmMap={};
  9308.                
  9309.                 $.each(colModel,function(i){
  9310.                     cmMap[this.name]=i
  9311.                     });
  9312.                 var permutation=[];
  9313.                 th.each(function(i){
  9314.                     var id=$(">div",this).get(0).id.replace(/^jqgh_/,"");
  9315.                     if(id in cmMap){
  9316.                         permutation.push(cmMap[id])
  9317.                         }
  9318.                     });
  9319.             $(ts).jqGrid("remapColumns",permutation,true,true);
  9320.             if($.isFunction(ts.p.sortable.update)){
  9321.                 ts.p.sortable.update(permutation)
  9322.                 }
  9323.                 setTimeout(function(){
  9324.                 ts.p.disableClick=false
  9325.                 },50)
  9326.             }
  9327.         };
  9328.        
  9329.     if(ts.p.sortable.options){
  9330.         $.extend(sortable_opts,ts.p.sortable.options)
  9331.         }else{
  9332.         if($.isFunction(ts.p.sortable)){
  9333.             ts.p.sortable={
  9334.                 update:ts.p.sortable
  9335.                 }
  9336.             }
  9337.     }
  9338. if(sortable_opts.start){
  9339.     var s=sortable_opts.start;
  9340.     sortable_opts.start=function(e,ui){
  9341.         start();
  9342.         s.call(this,e,ui)
  9343.         }
  9344.     }else{
  9345.     sortable_opts.start=start
  9346.     }
  9347.     if(ts.p.sortable.exclude){
  9348.     sortable_opts.items+=":not("+ts.p.sortable.exclude+")"
  9349.     }
  9350.     tblrow.sortable(sortable_opts).data("sortable").floating=true
  9351. })
  9352. },
  9353. columnChooser:function(opts){
  9354.     var self=this;
  9355.     var selector=$('<div style="position:relative;overflow:hidden"><div><select multiple="multiple"></select></div></div>');
  9356.     var select=$("select",selector);
  9357.     opts=$.extend({
  9358.         width:420,
  9359.         height:240,
  9360.         classname:null,
  9361.         done:function(perm){
  9362.             if(perm){
  9363.                 self.jqGrid("remapColumns",perm,true)
  9364.                 }
  9365.             },
  9366.     msel:"multiselect",
  9367.     dlog:"dialog",
  9368.     dlog_opts:function(opts){
  9369.         var buttons={};
  9370.        
  9371.         buttons[opts.bSalvar]=function(){
  9372.             opts.apply_perm();
  9373.             opts.cleanup(false)
  9374.             };
  9375.                        
  9376.      
  9377.  
  9378.      
  9379.       buttons[opts.bCancelar]=function(){
  9380.             opts.cleanup(true)
  9381.             };
  9382.      
  9383.      
  9384.       buttons[opts.bNovaLinha]=function(){
  9385.             opts.cleanup(true)
  9386.             };
  9387.      
  9388.            
  9389.         return{
  9390.             buttons:buttons,
  9391.             close:function(){
  9392.                 opts.cleanup(true)
  9393.                 },
  9394.             modal:false,
  9395.             resizable:false,
  9396.             width:opts.width+20
  9397.             }
  9398.         },
  9399.     apply_perm:function(){
  9400.         $("option",select).each(function(i){
  9401.             if(this.selected){
  9402.                 self.jqGrid("showCol",colModel[this.value].name)
  9403.                 }else{
  9404.                 self.jqGrid("hideCol",colModel[this.value].name)
  9405.                 }
  9406.             });
  9407.     var perm=fixedCols.slice(0);
  9408.     $("option[selected]",select).each(function(){
  9409.         perm.push(parseInt(this.value))
  9410.         });
  9411.     $.each(perm,function(){
  9412.         delete colMap[colModel[this].name]
  9413.     });
  9414.     $.each(colMap,function(){
  9415.         perm.push(this)
  9416.         });
  9417.     if(opts.done){
  9418.         opts.done.call(self,perm)
  9419.         }
  9420.     },
  9421. cleanup:function(calldone){
  9422.     call(opts.dlog,selector,"destroy");
  9423.     call(opts.msel,select,"destroy");
  9424.     selector.remove();
  9425.     if(calldone&&opts.done){
  9426.         opts.done.call(self)
  9427.         }
  9428.     }
  9429. },$.jgrid.col,opts||{});
  9430. if(opts.caption){
  9431.     selector.attr("title",opts.caption)
  9432.     }
  9433.     if(opts.classname){
  9434.     selector.addClass(classname);
  9435.     select.addClass(classname)
  9436.     }
  9437.     if(opts.width){
  9438.     $(">div",selector).css({
  9439.         width:opts.width,
  9440.         margin:"0 auto"
  9441.     });
  9442.     select.css("width",opts.width)
  9443.     }
  9444.     if(opts.height){
  9445.     $(">div",selector).css("height",opts.height);
  9446.     select.css("height",opts.height-10)
  9447.     }
  9448.     var colModel=self.jqGrid("getGridParam","colModel");
  9449. var colNames=self.jqGrid("getGridParam","colNames");
  9450. var colMap={},fixedCols=[];
  9451. select.empty();
  9452. $.each(colModel,function(i){
  9453.     colMap[this.name]=i;
  9454.     if(this.hidedlg){
  9455.         if(!this.hidden){
  9456.             fixedCols.push(i)
  9457.             }
  9458.             return
  9459.     }
  9460.     select.append("<option value='"+i+"' "+(this.hidden?"":"selected='selected'")+">"+colNames[i]+"</option>")
  9461.     });
  9462. function call(fn,obj){
  9463.     if(!fn){
  9464.         return
  9465.     }
  9466.     if(typeof fn=="string"){
  9467.         if($.fn[fn]){
  9468.             $.fn[fn].apply(obj,$.makeArray(arguments).slice(2))
  9469.             }
  9470.         }else{
  9471.     if($.isFunction(fn)){
  9472.         fn.apply(obj,$.makeArray(arguments).slice(2))
  9473.         }
  9474.     }
  9475. }
  9476. var dopts=$.isFunction(opts.dlog_opts)?opts.dlog_opts.call(self,opts):opts.dlog_opts;
  9477. call(opts.dlog,selector,dopts);
  9478. var mopts=$.isFunction(opts.msel_opts)?opts.msel_opts.call(self,opts):opts.msel_opts;
  9479. call(opts.msel,select,opts.msel_opts)
  9480. },
  9481. sortableRows:function(opts){
  9482.     return this.each(function(){
  9483.         var $t=this;
  9484.         if(!$t.grid){
  9485.             return
  9486.         }
  9487.         if($t.p.treeGrid){
  9488.             return
  9489.         }
  9490.         if($.fn.sortable){
  9491.             opts=$.extend({
  9492.                 cursor:"move",
  9493.                 axis:"y",
  9494.                 items:".jqgrow"
  9495.             },opts||{});
  9496.             if(opts.start&&$.isFunction(opts.start)){
  9497.                 opts._start_=opts.start;
  9498.                 delete opts.start
  9499.                 }else{
  9500.                 opts._start_=false
  9501.                 }
  9502.                 if(opts.update&&$.isFunction(opts.update)){
  9503.                 opts._update_=opts.update;
  9504.                 delete opts.update
  9505.                 }else{
  9506.                 opts._update_=false
  9507.                 }
  9508.                 opts.start=function(ev,ui){
  9509.                 $(ui.item).css("border-width","0px");
  9510.                 $("td",ui.item).each(function(i){
  9511.                     this.style.width=$t.grid.cols[i].style.width
  9512.                     });
  9513.                 if($t.p.subGrid){
  9514.                     var subgid=$(ui.item).attr("id");
  9515.                     try{
  9516.                         $($t).jqGrid("collapseSubGridRow",subgid)
  9517.                         }catch(e){}
  9518.                 }
  9519.                 if(opts._start_){
  9520.                 opts._start_.apply(this,[ev,ui])
  9521.                 }
  9522.             };
  9523.        
  9524.     opts.update=function(ev,ui){
  9525.         $(ui.item).css("border-width","");
  9526.         $t.updateColumns();
  9527.         if(opts._update_){
  9528.             opts._update_.apply(this,[ev,ui])
  9529.             }
  9530.         };
  9531.    
  9532.     $("tbody:first",$t).sortable(opts)
  9533.     }
  9534. })
  9535. },
  9536. gridDnD:function(opts){
  9537.     return this.each(function(){
  9538.         var $t=this;
  9539.         if(!$t.grid){
  9540.             return
  9541.         }
  9542.         if($t.p.treeGrid){
  9543.             return
  9544.         }
  9545.         if(!$.fn.draggable||!$.fn.droppable){
  9546.             return
  9547.         }
  9548.         function updateDnD(){
  9549.             var datadnd=$.data($t,"dnd");
  9550.             $("tr.jqgrow:not(.ui-draggable)",$t).draggable($.isFunction(datadnd.drag)?datadnd.drag.call($($t),datadnd):datadnd.drag)
  9551.             }
  9552.             var appender="<table id='jqgrid_dnd' class='ui-jqgrid-dnd'></table>";
  9553.         if($("#jqgrid_dnd").html()==null){
  9554.             $("body").append(appender)
  9555.             }
  9556.             if(typeof opts=="string"&&opts=="updateDnD"&&$t.p.jqgdnd==true){
  9557.             updateDnD();
  9558.             return
  9559.         }
  9560.         opts=$.extend({
  9561.             drag:function(opts){
  9562.                 return $.extend({
  9563.                     start:function(ev,ui){
  9564.                         if($t.p.subGrid){
  9565.                             var subgid=$(ui.helper).attr("id");
  9566.                             try{
  9567.                                 $($t).jqGrid("collapseSubGridRow",subgid)
  9568.                                 }catch(e){}
  9569.                         }
  9570.                         for(var i=0;i<opts.connectWith.length;i++){
  9571.                         if($(opts.connectWith[i]).jqGrid("getGridParam","reccount")=="0"){
  9572.                             $(opts.connectWith[i]).jqGrid("addRowData","jqg_empty_row",{})
  9573.                             }
  9574.                         }
  9575.                     ui.helper.addClass("ui-state-highlight");
  9576.                     $("td",ui.helper).each(function(i){
  9577.                     this.style.width=$t.grid.headers[i].width+"px"
  9578.                     });
  9579.                 if(opts.onstart&&$.isFunction(opts.onstart)){
  9580.                     opts.onstart.call($($t),ev,ui)
  9581.                     }
  9582.                 },
  9583.             stop:function(ev,ui){
  9584.                 if(ui.helper.dropped){
  9585.                     var ids=$(ui.helper).attr("id");
  9586.                     $($t).jqGrid("delRowData",ids)
  9587.                     }
  9588.                     for(var i=0;i<opts.connectWith.length;i++){
  9589.                     $(opts.connectWith[i]).jqGrid("delRowData","jqg_empty_row")
  9590.                     }
  9591.                     if(opts.onstop&&$.isFunction(opts.onstop)){
  9592.                     opts.onstop.call($($t),ev,ui)
  9593.                     }
  9594.                 }
  9595.         },opts.drag_opts||{})
  9596.     },
  9597. drop:function(opts){
  9598.     return $.extend({
  9599.         accept:"#"+$t.id+" tr.jqgrow",
  9600.         drop:function(ev,ui){
  9601.             var accept=$(ui.draggable).attr("id");
  9602.             var getdata=$("#"+$t.id).jqGrid("getRowData",accept);
  9603.             if(!opts.dropbyname){
  9604.                 var j=0,tmpdata={},dropname;
  9605.                 var dropmodel=$("#"+this.id).jqGrid("getGridParam","colModel");
  9606.                 try{
  9607.                     for(key in getdata){
  9608.                         if(dropmodel[j]){
  9609.                             dropname=dropmodel[j].name;
  9610.                             tmpdata[dropname]=getdata[key]
  9611.                             }
  9612.                             j++
  9613.                     }
  9614.                     getdata=tmpdata
  9615.                     }catch(e){}
  9616.             }
  9617.             ui.helper.dropped=true;
  9618.         if(opts.beforedrop&&$.isFunction(opts.beforedrop)){
  9619.             var datatoinsert=opts.beforedrop.call(this,ev,ui,getdata,$("#"+$t.id),$(this));
  9620.             if(typeof datatoinsert!="undefined"&&datatoinsert!==null&&typeof datatoinsert=="object"){
  9621.                 getdata=datatoinsert
  9622.                 }
  9623.             }
  9624.         if(ui.helper.dropped){
  9625.         var grid;
  9626.         if(opts.autoid){
  9627.             if($.isFunction(opts.autoid)){
  9628.                 grid=opts.autoid.call(this,getdata)
  9629.                 }else{
  9630.                 grid=Math.ceil(Math.random()*1000);
  9631.                 grid=opts.autoidprefix+grid
  9632.                 }
  9633.             }
  9634.         $("#"+this.id).jqGrid("addRowData",grid,getdata,opts.droppos)
  9635.         }
  9636.         if(opts.ondrop&&$.isFunction(opts.ondrop)){
  9637.         opts.ondrop.call(this,ev,ui,getdata)
  9638.         }
  9639.     }
  9640. },opts.drop_opts||{})
  9641. },
  9642. onstart:null,
  9643. onstop:null,
  9644. beforedrop:null,
  9645. ondrop:null,
  9646. drop_opts:{
  9647.     activeClass:"ui-state-active",
  9648.     hoverClass:"ui-state-hover"
  9649. },
  9650. drag_opts:{
  9651.     revert:"invalid",
  9652.     helper:"clone",
  9653.     cursor:"move",
  9654.     appendTo:"#jqgrid_dnd",
  9655.     zIndex:5000
  9656. },
  9657. dropbyname:false,
  9658. droppos:"first",
  9659. autoid:true,
  9660. autoidprefix:"dnd_"
  9661. },opts||{});
  9662. if(!opts.connectWith){
  9663.     return
  9664. }
  9665. opts.connectWith=opts.connectWith.split(",");
  9666. opts.connectWith=$.map(opts.connectWith,function(n){
  9667.     return $.trim(n)
  9668.     });
  9669. $.data($t,"dnd",opts);
  9670. if($t.p.reccount!="0"&&!$t.p.jqgdnd){
  9671.     updateDnD()
  9672.     }
  9673.     $t.p.jqgdnd=true;
  9674. for(var i=0;i<opts.connectWith.length;i++){
  9675.     var cn=opts.connectWith[i];
  9676.     $(cn).droppable($.isFunction(opts.drop)?opts.drop.call($($t),opts):opts.drop)
  9677.     }
  9678. })
  9679. },
  9680. gridResize:function(opts){
  9681.     return this.each(function(){
  9682.         var $t=this;
  9683.         if(!$t.grid||!$.fn.resizable){
  9684.             return
  9685.         }
  9686.         opts=$.extend(opts||{});
  9687.         if(opts.alsoResize){
  9688.             opts._alsoResize_=opts.alsoResize;
  9689.             delete opts.alsoResize
  9690.             }else{
  9691.             opts._alsoResize_=false
  9692.             }
  9693.             if(opts.stop&&$.isFunction(opts.stop)){
  9694.             opts._stop_=opts.stop;
  9695.             delete opts.stop
  9696.             }else{
  9697.             opts._stop_=false
  9698.             }
  9699.             opts.stop=function(ev,ui){
  9700.             $($t).jqGrid("setGridParam",{
  9701.                 height:$("#gview_"+$t.p.id+" .ui-jqgrid-bdiv").height()
  9702.                 });
  9703.             $($t).jqGrid("setGridWidth",ui.size.width,opts.shrinkToFit);
  9704.             if(opts._stop_){
  9705.                 opts._stop_.call($t,ev,ui)
  9706.                 }
  9707.             };
  9708.        
  9709.     if(opts._alsoResize_){
  9710.         var optstest="{'#gview_"+$t.p.id+" .ui-jqgrid-bdiv':true,'"+opts._alsoResize_+"':true}";
  9711.         opts.alsoResize=eval("("+optstest+")")
  9712.         }else{
  9713.         opts.alsoResize=$(".ui-jqgrid-bdiv","#gview_"+$t.p.id)
  9714.         }
  9715.         delete opts._alsoResize_;
  9716.     $("#gbox_"+$t.p.id).resizable(opts)
  9717.         })
  9718. }
  9719. })
  9720. })(jQuery);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement