removed mods directory from the ATutor codebase
[atutor.git] / mods / ldap / jscripts / jqgrid / js / grid.base.js
diff --git a/mods/ldap/jscripts/jqgrid/js/grid.base.js b/mods/ldap/jscripts/jqgrid/js/grid.base.js
deleted file mode 100644 (file)
index 925bc80..0000000
+++ /dev/null
@@ -1,1465 +0,0 @@
-;(function ($) {\r
-/*\r
- * jqGrid  3.3 - jQuery Grid\r
- * Copyright (c) 2008, Tony Tomov, tony@trirand.com\r
- * Dual licensed under the MIT and GPL licenses\r
- * http://www.opensource.org/licenses/mit-license.php\r
- * http://www.gnu.org/licenses/gpl.html\r
- * Date: 2008-10-14 rev 64\r
- */\r
-$.fn.jqGrid = function( p ) {\r
-       p = $.extend(true,{\r
-       url: '',\r
-       height: 150,\r
-       page: 1,\r
-       rowNum: 20,\r
-       records: 0,\r
-       pager: "",\r
-       pgbuttons: true,\r
-       pginput: true,\r
-       colModel: [],\r
-       rowList: [],\r
-       colNames: [],\r
-       sortorder: "asc",\r
-       sortname: "",\r
-       datatype: "xml",\r
-       mtype: "GET",\r
-       imgpath: "",\r
-       sortascimg: "sort_asc.gif",\r
-       sortdescimg: "sort_desc.gif",\r
-       firstimg: "first.gif",\r
-       previmg: "prev.gif",\r
-       nextimg: "next.gif",\r
-       lastimg: "last.gif",\r
-       altRows: true,\r
-       selarrrow: [],\r
-       savedRow: [],\r
-       shrinkToFit: true,\r
-       xmlReader: {},\r
-       jsonReader: {},\r
-       subGrid: false,\r
-       subGridModel :[],\r
-       lastpage: 0,\r
-       lastsort: 0,\r
-       selrow: null,\r
-       onSelectRow: null,\r
-       onSortCol: null,\r
-       ondblClickRow: null,\r
-       onRightClickRow: null,\r
-       onPaging: null,\r
-       onSelectAll: null,\r
-       loadComplete: null,\r
-       gridComplete: null,\r
-       loadError: null,\r
-       loadBeforeSend: null,\r
-       afterInsertRow: null,\r
-       beforeRequest: null,\r
-       onHeaderClick: null,\r
-       viewrecords: false,\r
-       loadonce: false,\r
-       multiselect: false,\r
-       multikey: false,\r
-       editurl: null,\r
-       search: false,\r
-       searchdata: {},\r
-       caption: "",\r
-       hidegrid: true,\r
-       hiddengrid: false,\r
-       postData: {},\r
-       userData: {},\r
-       treeGrid : false,\r
-       treeANode: 0,\r
-       treedatatype: null,\r
-       treeReader: {level_field: "level",\r
-               left_field:"lft",\r
-               right_field: "rgt",\r
-               leaf_field: "isLeaf",\r
-               expanded_field: "expanded"\r
-       },\r
-       tree_root_level: 0,\r
-       ExpandColumn: null,\r
-       sortclass: "grid_sort",\r
-       resizeclass: "grid_resize",\r
-       forceFit : false,\r
-       gridstate : 'visible',\r
-       cellEdit: false,\r
-       cellsubmit: 'remote',\r
-       nv:0,\r
-       loadui: "enable",\r
-       toolbar: [false,""]\r
-       }, $.jgrid.defaults, p || {});\r
-       var grid={         \r
-               headers:[],\r
-               cols:[],\r
-               dragStart: function(i,x) {\r
-                       this.resizing = { idx: i, startX: x};\r
-                       this.hDiv.style.cursor = "e-resize";\r
-               },\r
-               dragMove: function(x) {\r
-                       if(this.resizing) {\r
-                               var diff = x-this.resizing.startX;\r
-                               var h = this.headers[this.resizing.idx];\r
-                               var newWidth = h.width + diff;\r
-                               var msie = $.browser.msie;\r
-                               if(newWidth > 25) {\r
-                                       if(p.forceFit===true ){\r
-                                               var hn = this.headers[this.resizing.idx+p.nv];\r
-                                               var nWn = hn.width - diff;\r
-                                               if(nWn >25) {\r
-                                                       h.el.style.width = newWidth+"px";\r
-                                                       h.newWidth = newWidth;\r
-                                                       this.cols[this.resizing.idx].style.width = newWidth+"px";\r
-                                                       hn.el.style.width = nWn +"px";\r
-                                                       hn.newWidth = nWn;\r
-                                                       this.cols[this.resizing.idx+p.nv].style.width = nWn+"px";\r
-                                                       this.newWidth = this.width;\r
-                                               }\r
-                                       } else {\r
-                                               h.el.style.width = newWidth+"px";\r
-                                               h.newWidth = newWidth;\r
-                                               this.cols[this.resizing.idx].style.width = newWidth+"px";\r
-                                               this.newWidth = this.width+diff;\r
-                                               $('table:first',this.bDiv).css("width",this.newWidth +"px");\r
-                                               $('table:first',this.hDiv).css("width",this.newWidth +"px");\r
-                                               var scrLeft = this.bDiv.scrollLeft;\r
-                                               this.hDiv.scrollLeft = this.bDiv.scrollLeft;\r
-                                               if(msie) {\r
-                                                       if(scrLeft - this.hDiv.scrollLeft >= 5) {this.bDiv.scrollLeft = this.bDiv.scrollLeft - 17;}\r
-                                               }\r
-                                       }\r
-                               }\r
-                       }\r
-               },\r
-               dragEnd: function() {\r
-                       this.hDiv.style.cursor = "default";\r
-                       if(this.resizing) {\r
-                               var idx = this.resizing.idx;\r
-                               this.headers[idx].width = this.headers[idx].newWidth || this.headers[idx].width;\r
-                               this.cols[idx].style.width = this.headers[idx].newWidth || this.headers[idx].width;\r
-                               if(p.forceFit===true){\r
-                                       this.headers[idx+p.nv].width = this.headers[idx+p.nv].newWidth || this.headers[idx+p.nv].width;\r
-                                       this.cols[idx+p.nv].style.width = this.headers[idx+p.nv].newWidth || this.headers[idx+p.nv].width;\r
-                               }\r
-                               if(this.newWidth) {this.width = this.newWidth;}\r
-                               this.resizing = false;\r
-                       }\r
-               },\r
-               scrollGrid: function() {\r
-                       var scrollLeft = this.bDiv.scrollLeft;\r
-                       this.hDiv.scrollLeft = this.bDiv.scrollLeft;\r
-                       if(scrollLeft - this.hDiv.scrollLeft > 5) {this.bDiv.scrollLeft = this.bDiv.scrollLeft - 17;}\r
-               }\r
-       };\r
-       $.fn.getGridParam = function(pName) {\r
-               var $t = this[0];\r
-               if (!$t.grid) {return;}\r
-               if (!pName) { return $t.p; }\r
-               else {return $t.p[pName] ? $t.p[pName] : null;}\r
-       };\r
-       $.fn.setGridParam = function (newParams){\r
-               return this.each(function(){\r
-                       if (this.grid && typeof(newParams) === 'object') {$.extend(true,this.p,newParams);}\r
-               });\r
-       };\r
-       $.fn.getDataIDs = function () {\r
-               var ids=[];\r
-               this.each(function(){\r
-                       $(this.rows).slice(1).each(function(i){\r
-                               ids[i]=this.id;\r
-                       });\r
-               });\r
-               return ids;\r
-       };\r
-       $.fn.setSortName = function (newsort) {\r
-               return this.each(function(){\r
-                       var $t = this;\r
-                       for(var i=0;i< $t.p.colModel.length;i++){\r
-                               if($t.p.colModel[i].name===newsort || $t.p.colModel[i].index===newsort){\r
-                                       $("tr th:eq("+$t.p.lastsort+") div img",$t.grid.hDiv).remove();\r
-                                       $t.p.lastsort = i;\r
-                                       $t.p.sortname=newsort;\r
-                                       break;\r
-                               }\r
-                       }\r
-               });\r
-       };\r
-       $.fn.setSelection = function(selection,sd) {\r
-               return this.each(function(){\r
-                       var $t = this, stat,pt;\r
-                       if(selection===false) {pt = sd;}\r
-                       else { var ind = $($t).getInd($t.rows,selection); pt=$($t.rows[ind]);}\r
-                       selection = $(pt).attr("id");\r
-                       if (!pt.html()) {return;}\r
-                       if(!$t.p.multiselect) {\r
-                               if($(pt).attr("class") !== "subgrid") {\r
-                               if( $t.p.selrow ) {$("tr#"+$t.p.selrow+":first",$t.grid.bDiv).removeClass("selected");}\r
-                               $t.p.selrow = selection;\r
-                               $(pt).addClass("selected");\r
-                               if( $t.p.onSelectRow ) { $t.p.onSelectRow($t.p.selrow, true); }\r
-                               }\r
-                       } else {\r
-                               $t.p.selrow = selection;\r
-                               var ia = $.inArray($t.p.selrow,$t.p.selarrrow);\r
-                               if (  ia === -1 ){ \r
-                                       if($(pt).attr("class") !== "subgrid") { $(pt).addClass("selected");}\r
-                                       stat = true;\r
-                                       $("#jqg_"+$t.p.selrow,$t.rows).attr("checked",stat);\r
-                                       $t.p.selarrrow.push($t.p.selrow);\r
-                                       if( $t.p.onSelectRow ) { $t.p.onSelectRow($t.p.selrow, stat); }\r
-                               } else {\r
-                                       if($(pt).attr("class") !== "subgrid") { $(pt).removeClass("selected");}\r
-                                       stat = false;\r
-                                       $("#jqg_"+$t.p.selrow,$t.rows).attr("checked",stat);\r
-                                       $t.p.selarrrow.splice(ia,1);\r
-                                       if( $t.p.onSelectRow ) { $t.p.onSelectRow($t.p.selrow, stat); }\r
-                                       var tpsr = $t.p.selarrrow[0];\r
-                                       $t.p.selrow = (tpsr=='undefined') ? null : tpsr;\r
-                               }\r
-                       }\r
-               });\r
-       };\r
-       $.fn.resetSelection = function(){\r
-               return this.each(function(){\r
-                       var t = this;\r
-                       if(!t.p.multiselect) {\r
-                               if(t.p.selrow) {\r
-                                       $("tr#"+t.p.selrow+":first",t.grid.bDiv).removeClass("selected");\r
-                                       t.p.selrow = null;\r
-                               }\r
-                       } else {\r
-                               $(t.p.selarrrow).each(function(i,n){\r
-                                       var ind = $(t).getInd(t.rows,n);\r
-                                       $(t.rows[ind]).removeClass("selected");\r
-                                       $("#jqg_"+n,t.rows[ind]).attr("checked",false);\r
-                               });\r
-                               $("#cb_jqg",t.grid.hDiv).attr("checked",false);\r
-                               t.p.selarrrow = [];\r
-                       }\r
-               });\r
-       };\r
-       $.fn.getRowData = function( rowid ) {\r
-               var res = {};\r
-               if (rowid){\r
-                       this.each(function(){\r
-                               var $t = this,nm,ind;\r
-                               ind = $($t).getInd($t.rows,rowid);\r
-                               if (!ind) {return res;}\r
-                               $('td:nth-child',$t.rows[ind]).each( function(i) {\r
-                                       nm = $t.p.colModel[i].name; \r
-                                       if ( nm !== 'cb' && nm !== 'subgrid') {\r
-                                               res[nm] = $(this).html().replace(/\&nbsp\;/ig,'');\r
-                                       }\r
-                               });\r
-                       });\r
-               }\r
-               return res;\r
-       };\r
-       $.fn.delRowData = function(rowid) {\r
-               var success = false, rowInd;\r
-               if(rowid) {\r
-                       this.each(function() {\r
-                               var $t = this;\r
-                               rowInd = $($t).getInd($t.rows,rowid);\r
-                               if(!rowInd) {return success;}\r
-                               else {\r
-                                       $($t.rows[rowInd]).remove();\r
-                                       $t.p.records--;\r
-                                       $t.updatepager();\r
-                                       success=true;\r
-                               }\r
-                               if(rowInd == 1 && success && ($.browser.opera || $.browser.safari)) {\r
-                                       $($t.rows[1]).each( function( k ) {\r
-                                               $(this).css("width",$t.grid.headers[k].width+"px");\r
-                                               $t.grid.cols[k] = this;\r
-                                       });\r
-                               }\r
-                               if( $t.p.altRows === true && success) {\r
-                                       $($t.rows).slice(1).each(function(i){\r
-                                               if(i % 2 ==1) {$(this).addClass('alt');}\r
-                                               else {$(this).removeClass('alt');}\r
-                                       });\r
-                               }\r
-                       });\r
-               }\r
-               return success;\r
-       };\r
-       $.fn.setRowData = function(rowid, data) {\r
-               var nm, success=false;\r
-               this.each(function(){\r
-                       var t = this;\r
-                       if(!t.grid) {return false;}\r
-                       if( data ) {\r
-                               var ind = $(t).getInd(t.rows,rowid);\r
-                               if(!ind) {return success;}\r
-                               success=true;\r
-                               $(this.p.colModel).each(function(i){\r
-                                       nm = this.name;\r
-                                       if(data[nm] !== 'undefined') {\r
-                                               $("td:eq("+i+")",t.rows[ind]).html(data[nm]);\r
-                                               success = true;\r
-                                       }\r
-                               });\r
-                       }\r
-               });\r
-               return success;\r
-       };\r
-       $.fn.addRowData = function(rowid,data,pos,src) {\r
-               if(!pos) {pos = "last";}\r
-               var success = false;\r
-               var nm, row, td, gi=0, si=0,sind;\r
-               if(data) {\r
-                       this.each(function() {\r
-                               var t = this;\r
-                               row =  document.createElement("tr");\r
-                               row.id = rowid || t.p.records+1;\r
-                               $(row).addClass("jqgrow");\r
-                               if(t.p.multiselect) {\r
-                                       td = $('<td></td>');\r
-                                       $(td[0],t.grid.bDiv).html("<input type='checkbox'"+" id='jqg_"+rowid+"' class='cbox'/>");\r
-                                       row.appendChild(td[0]);\r
-                                       gi = 1;\r
-                               }\r
-                               if(t.p.subGrid ) { try {$(t).addSubGrid(t.grid.bDiv,row,gi);} catch(e){} si=1;}\r
-                               for(var i = gi+si; i < this.p.colModel.length;i++){\r
-                                       nm = this.p.colModel[i].name;\r
-                                       td  = $('<td></td>');\r
-                                       $(td[0]).html('&#160;');\r
-                                       if(data[nm] !== 'undefined') {\r
-                                               $(td[0]).html(data[nm] || '&#160;');\r
-                                       }\r
-                                       t.formatCol($(td[0],t.grid.bDiv),i);\r
-                                       row.appendChild(td[0]);\r
-                               }\r
-                               switch (pos) {\r
-                                       case 'last':\r
-                                               $(t.rows[t.rows.length-1]).after(row);\r
-                                               break;\r
-                                       case 'first':\r
-                                               $(t.rows[0]).after(row);\r
-                                               break;\r
-                                       case 'after':\r
-                                               sind = $(t).getInd(t.rows,src);\r
-                                               sind >= 0 ?     $(t.rows[sind]).after(row): "";\r
-                                               break;\r
-                                       case 'before':\r
-                                               sind = $(t).getInd(t.rows,src);\r
-                                               sind > 0 ?      $(t.rows[sind-1]).after(row): "";\r
-                                               break;\r
-                               }\r
-                               t.p.records++;\r
-                               if($.browser.safari || $.browser.opera) {\r
-                                       t.scrollLeft = t.scrollLeft;\r
-                                       $("td",t.rows[1]).each( function( k ) {\r
-                                               $(this).css("width",t.grid.headers[k].width+"px");\r
-                                               t.grid.cols[k] = this;\r
-                                       });\r
-                               }\r
-                               if( t.p.altRows === true ) {\r
-                                       if (pos == "last") {\r
-                                               if (t.rows.length % 2 == 1)  {$(row).addClass('alt');}\r
-                                       } else {\r
-                                               $(t.rows).slice(1).each(function(i){\r
-                                                       if(i % 2 ==1) {$(this).addClass('alt');}\r
-                                                       else {$(this).removeClass('alt');}\r
-                                               });\r
-                                       }\r
-                               }\r
-                               try {t.p.afterInsertRow(row.id,data); } catch(e){}\r
-                               t.updatepager();\r
-                               success = true;\r
-                       });\r
-               }\r
-               return success;\r
-       };\r
-       $.fn.hideCol = function(colname) {\r
-               return this.each(function() {\r
-                       var $t = this,w=0, fndh=false;\r
-                       if (!$t.grid ) {return;}\r
-                       if( typeof colname == 'string') {colname=[colname];}\r
-                       $(this.p.colModel).each(function(i) {\r
-                               if ($.inArray(this.name,colname) != -1 && !this.hidden) {\r
-                                       var w = parseInt($("tr th:eq("+i+")",$t.grid.hDiv).css("width"),10);\r
-                                       $("tr th:eq("+i+")",$t.grid.hDiv).css({display:"none"});\r
-                                       $($t.rows).each(function(j){\r
-                                               $("td:eq("+i+")",$t.rows[j]).css({display:"none"});\r
-                                       });\r
-                                       $t.grid.cols[i].style.width = 0;\r
-                                       $t.grid.headers[i].width = 0;\r
-                                       $t.grid.width -= w;\r
-                                       this.hidden=true;\r
-                                       fndh=true;\r
-                               }\r
-                       });\r
-                       if(fndh===true) {\r
-                               var gtw = Math.min($t.p.width,$t.grid.width);\r
-                               $("table:first",$t.grid.hDiv).width(gtw);\r
-                               $("table:first",$t.grid.bDiv).width(gtw);\r
-                               $($t.grid.hDiv).width(gtw);\r
-                               $($t.grid.bDiv).width(gtw);\r
-                               if($t.p.pager && $($t.p.pager).hasClass("scroll") ) {\r
-                                       $($t.p.pager).width(gtw);\r
-                               }\r
-                               if($t.p.caption) {$($t.grid.cDiv).width(gtw);}\r
-                               if($t.p.toolbar[0]) {$($t.grid.uDiv).width(gtw);}\r
-                               $t.grid.hDiv.scrollLeft = $t.grid.bDiv.scrollLeft;\r
-                       }\r
-               });\r
-       };\r
-       $.fn.showCol = function(colname) {\r
-               return this.each(function() {\r
-                       var $t = this; var w = 0, fdns=false;\r
-                       if (!$t.grid ) {return;}\r
-                       if( typeof colname == 'string') {colname=[colname];}\r
-                       $($t.p.colModel).each(function(i) {\r
-                               if ($.inArray(this.name,colname) != -1 && this.hidden) {\r
-                                       var w = parseInt($("tr th:eq("+i+")",$t.grid.hDiv).css("width"),10);\r
-                                       $("tr th:eq("+i+")",$t.grid.hDiv).css("display","");\r
-                                       $($t.rows).each(function(j){\r
-                                               $("td:eq("+i+")",$t.rows[j]).css("display","").width(w);\r
-                                       });\r
-                                       this.hidden=false;\r
-                                       $t.grid.cols[i].style.width = w;\r
-                                       $t.grid.headers[i].width =  w;\r
-                                       $t.grid.width += w;\r
-                                       fdns=true;\r
-                               }\r
-                       });\r
-                       if(fdns===true) {\r
-                               var gtw = Math.min($t.p.width,$t.grid.width);\r
-                               var ofl = ($t.grid.width <= $t.p.width) ? "hidden" : "auto";\r
-                               $("table:first",$t.grid.hDiv).width(gtw);\r
-                               $("table:first",$t.grid.bDiv).width(gtw);\r
-                               $($t.grid.hDiv).width(gtw);\r
-                               $($t.grid.bDiv).width(gtw).css("overflow-x",ofl);\r
-                               if($t.p.pager && $($t.p.pager).hasClass("scroll") ) {\r
-                                       $($t.p.pager).width(gtw);\r
-                               }\r
-                               if($t.p.caption) {$($t.grid.cDiv).width(gtw);}\r
-                               if($t.p.toolbar[0]) {$($t.grid.uDiv).width(gtw);}\r
-                               $t.grid.hDiv.scrollLeft = $t.grid.bDiv.scrollLeft;\r
-                       }\r
-               });\r
-       };\r
-       $.fn.setGridWidth = function(nwidth, shrink) {\r
-               return this.each(function(){\r
-                       var $t = this, chw=0,w,cw,ofl;\r
-                       if (!$t.grid ) {return;}\r
-                       if(typeof shrink != 'boolean') {shrink=true;}\r
-                       var testdata = getScale();\r
-                       if(shrink !== true) {testdata[0] = Math.min($t.p.width,$t.grid.width); testdata[2]=0;}\r
-                       else {testdata[2]= testdata[1]}\r
-                       $.each($t.p.colModel,function(i,v){\r
-                               if(!this.hidden && this.name != 'cb' && this.name!='subgrid') {\r
-                                       cw = shrink !== true ? $("tr:first th:eq("+i+")",$t.grid.hDiv).css("width") : this.width;\r
-                                       w = Math.round((IENum(nwidth)-IENum(testdata[2]))/IENum(testdata[0])*IENum(cw));\r
-                                       chw += w;\r
-                                       $("table thead tr:first th:eq("+i+")",$t.grid.hDiv).css("width",w+"px");\r
-                                       $("table:first tbody tr:first td:eq("+i+")",$t.grid.bDiv).css("width",w+"px");\r
-                                       $t.grid.cols[i].style.width = w;\r
-                                       $t.grid.headers[i].width =  w;\r
-                               }\r
-                               if(this.name=='cb' || this.name == 'subgrid'){chw += IENum(this.width);}\r
-                       });\r
-                       if(chw + testdata[1] <= nwidth || $t.p.forceFit === true){ ofl = "hidden"; tw = nwidth;}\r
-                       else { ofl= "auto"; tw = chw + testdata[1];}\r
-                       $("table:first",$t.grid.hDiv).width(tw);\r
-                       $("table:first",$t.grid.bDiv).width(tw);\r
-                       $($t.grid.hDiv).width(nwidth);\r
-                       $($t.grid.bDiv).width(nwidth).css("overflow-x",ofl);\r
-                       if($t.p.pager && $($t.p.pager).hasClass("scroll") ) {\r
-                               $($t.p.pager).width(nwidth);\r
-                       }\r
-                       if($t.p.caption) {$($t.grid.cDiv).width(nwidth);}\r
-                       if($t.p.toolbar[0]) {$($t.grid.uDiv).width(nwidth);}\r
-                       $t.p.width = nwidth; $t.grid.width = tw;\r
-                       if($.browser.safari || $.browser.opera ) {\r
-                               $("table tbody tr:eq(1) td",$t.grid.bDiv).each( function( k ) {\r
-                                       $(this).css("width",$t.grid.headers[k].width+"px");\r
-                                       $t.grid.cols[k] = this;\r
-                               });\r
-                       }\r
-                       $t.grid.hDiv.scrollLeft = $t.grid.bDiv.scrollLeft;\r
-                       function IENum(val) {\r
-                               val = parseInt(val,10);\r
-                               return isNaN(val) ? 0 : val;\r
-                       }\r
-                       function getScale(){\r
-                               var testcell = $("table tr:first th:eq(1)", $t.grid.hDiv);\r
-                               var addpix = IENum($(testcell).css("padding-left")) +\r
-                                       IENum($(testcell).css("padding-right"))+\r
-                                       IENum($(testcell).css("border-left-width"))+\r
-                                       IENum($(testcell).css("border-right-width"));\r
-                               var w =0,ap=0; \r
-                               $.each($t.p.colModel,function(i,v){\r
-                                       if(!this.hidden) {\r
-                                               w += parseInt(this.width);\r
-                                               ap += addpix;\r
-                                       }\r
-                               });\r
-                               return [w,ap,0];\r
-                       }\r
-               });\r
-       };\r
-       $.fn.setGridHeight = function (nh) {\r
-               return this.each(function (){\r
-                       var ovfl, ovfl2, $t = this;\r
-                       if(!$t.grid) {return;}\r
-                       if($t.p.forceFit === true) { ovfl2='hidden'; } else {ovfl2=$($t.grid.bDiv).css("overflow-x");}\r
-                       ovfl = (isNaN(nh) && $.browser.mozilla && (nh.indexOf("%")!=-1 || nh=="auto")) ? "hidden" : "auto";\r
-                       $($t.grid.bDiv).css({height: nh+(isNaN(nh)?"":"px"),"overflow-y":ovfl,"overflow-x": ovfl2});\r
-                       $t.p.height = nh;\r
-               });\r
-       };\r
-       $.fn.setCaption = function (newcap){\r
-               return this.each(function(){\r
-                       this.p.caption=newcap;\r
-                       $("table:first th",this.grid.cDiv).text(newcap);\r
-                       $(this.grid.cDiv).show();\r
-               });\r
-       };\r
-       $.fn.setLabel = function(colname, nData, prop ){\r
-               return this.each(function(){\r
-                       var $t = this, pos=-1;\r
-                       if(!$t.grid) {return;}\r
-                       if(isNaN(colname)) {\r
-                               $($t.p.colModel).each(function(i){\r
-                                       if (this.name == colname) {\r
-                                               pos = i;return false;\r
-                                       }\r
-                               });\r
-                       } else {pos = parseInt(colname,10);}\r
-                       if(pos>=0) {\r
-                               var thecol = $("table:first th:eq("+pos+")",$t.grid.hDiv);\r
-                               if (nData){\r
-                                       $("div",thecol).html(nData);\r
-                               }\r
-                               if (prop) {\r
-                                       if(typeof prop == 'string') {$(thecol).addClass(prop);} else {$(thecol).css(prop);}\r
-                               }\r
-                       }\r
-               });\r
-       };\r
-       $.fn.setCell = function(rowid,colname,nData,prop) {\r
-               return this.each(function(){\r
-                       var $t = this, pos =-1;\r
-                       if(!$t.grid) {return;}\r
-                       if(isNaN(colname)) {\r
-                               $($t.p.colModel).each(function(i){\r
-                                       if (this.name == colname) {\r
-                                               pos = i;return false;\r
-                                       }\r
-                               });\r
-                       } else {pos = parseInt(colname,10);}\r
-                       if(pos>=0) {\r
-                               var ind = $($t).getInd($t.rows,rowid);\r
-                               if (ind){\r
-                                       var tcell = $("td:eq("+pos+")",$t.rows[ind]);\r
-                                       if(nData) {$(tcell).html(nData);}\r
-                                       if (prop){\r
-                                               if(typeof prop == 'string') {$(tcell).addClass(prop);} else {$(tcell).css(prop);}\r
-                                       }\r
-                               }\r
-                       }\r
-               });\r
-       };\r
-       $.fn.getCell = function(rowid,iCol) {\r
-               var ret = false;\r
-               this.each(function(){\r
-                       var $t=this;\r
-                       if(!$t.grid) {return;}\r
-                       if(rowid && iCol>=0) {\r
-                               var ind = $($t).getInd($t.rows,rowid);\r
-                               if(ind) {\r
-                                       ret = $("td:eq("+iCol+")",$t.rows[ind]).html().replace(/\&nbsp\;/ig,'');\r
-                               }\r
-                       }\r
-               });\r
-               return ret;\r
-       };\r
-       $.fn.clearGridData = function() {\r
-               return this.each(function(){\r
-                       var $t = this;\r
-                       if(!$t.grid) {return;}\r
-                       $("tbody tr:gt(0)", $t.grid.bDiv).remove();\r
-                       $t.p.selrow = null; $t.p.selarrrow= [];\r
-                       $t.p.records = 0;$t.p.page=0;$t.p.lastpage=0;\r
-                       $t.updatepager();\r
-               });\r
-       };\r
-       $.fn.getInd = function(obj,rowid,rc){\r
-               var ret =false;\r
-               $(obj).each(function(i){\r
-                       if(this.id==rowid) {\r
-                               ret = rc===true ? this : i;\r
-                               return false;\r
-                       }\r
-               });\r
-               return ret;\r
-       };\r
-       return this.each( function() {\r
-               if(this.grid) {return;}\r
-               this.p = p ;\r
-               if( this.p.colNames.length === 0 || this.p.colNames.length !== this.p.colModel.length ) {\r
-                       alert("Length of colNames <> colModel or 0!");\r
-                       return;\r
-               }\r
-               if(this.p.imgpath !== "" ) {this.p.imgpath += "/";}\r
-               var ts = this;\r
-               $("<div class='loadingui' id=lui_"+this.id+"/>").insertBefore(this);\r
-               $(this).attr({cellSpacing:"0",cellPadding:"0",border:"0"});\r
-               var onSelectRow = $.isFunction(this.p.onSelectRow) ? this.p.onSelectRow :false;\r
-               var ondblClickRow = $.isFunction(this.p.ondblClickRow) ? this.p.ondblClickRow :false;\r
-               var onSortCol = $.isFunction(this.p.onSortCol) ? this.p.onSortCol : false;\r
-               var loadComplete = $.isFunction(this.p.loadComplete) ? this.p.loadComplete : false;\r
-               var loadError = $.isFunction(this.p.loadError) ? this.p.loadError : false;\r
-               var loadBeforeSend = $.isFunction(this.p.loadBeforeSend) ? this.p.loadBeforeSend : false;\r
-               var onRightClickRow = $.isFunction(this.p.onRightClickRow) ? this.p.onRightClickRow : false;\r
-               var afterInsRow = $.isFunction(this.p.afterInsertRow) ? this.p.afterInsertRow : false;\r
-               var onHdCl = $.isFunction(this.p.onHeaderClick) ? this.p.onHeaderClick : false;\r
-               var beReq = $.isFunction(this.p.beforeRequest) ? this.p.beforeRequest : false;\r
-               var onSC = $.isFunction(this.p.onCellSelect) ? this.p.onCellSelect : false;\r
-               var sortkeys = ["shiftKey","altKey","ctrlKey"];\r
-               if ($.inArray(ts.p.multikey,sortkeys) == -1 ) {ts.p.multikey = false;}\r
-               var IntNum = function(val,defval) {\r
-                       val = parseInt(val,10);\r
-                       if (isNaN(val)) { return (defval) ? defval : 0;}\r
-                       else {return val;}\r
-               };\r
-               var formatCol = function (elem, pos){\r
-                       var rowalign1 = ts.p.colModel[pos].align || "left";\r
-                       $(elem).css("text-align",rowalign1);\r
-                       if(ts.p.colModel[pos].hidden) {$(elem).css("display","none");}\r
-               };\r
-               var resizeFirstRow = function (t,er){\r
-                       $("tbody tr:eq("+er+") td",t).each( function( k ) {\r
-                               $(this).css("width",grid.headers[k].width+"px");\r
-                               grid.cols[k] = this;\r
-                       });\r
-               };\r
-               var addCell = function(t,row,cell,pos) {\r
-                       var td;\r
-                       td = document.createElement("td");\r
-                       $(td).html(cell);\r
-                       row.appendChild(td);\r
-                       formatCol($(td,t), pos);\r
-               };\r
-               var addMulti = function(t,row){\r
-                       var cbid,td;\r
-                       td = document.createElement("td");\r
-                       cbid = "jqg_"+row.id;\r
-                       $(td,t).html("<input type='checkbox'"+" id='"+cbid+"' class='cbox'/>");\r
-                       formatCol($(td,t), 0);\r
-                       row.appendChild(td);\r
-               };\r
-               var reader = function (datatype) {\r
-                       var field, f=[], j=0;\r
-                       for(var i =0; i<ts.p.colModel.length; i++){\r
-                               field = ts.p.colModel[i];\r
-                               if (field.name !== 'cb' && field.name !=='subgrid') {\r
-                                       f[j] = (datatype=="xml") ? field.xmlmap || field.name : field.jsonmap || field.name;\r
-                                       j++;\r
-                               }\r
-                       }\r
-                       return f;\r
-               };\r
-               var addXmlData = function addXmlData (xml,t) {\r
-                       if(xml) { var fpos = ts.p.treeANode; if(fpos===0) {$("tbody tr:gt(0)", t).remove();} } else { return; }\r
-                       var row,gi=0,si=0,cbid,idn, getId,f=[],rd =[],cn=(ts.p.altRows === true) ? 'alt':'';\r
-                       if(!ts.p.xmlReader.repeatitems) {f = reader("xml");}\r
-                       if( ts.p.keyIndex===false) {\r
-                               idn = ts.p.xmlReader.id;\r
-                               if( idn.indexOf("[") === -1 ) {\r
-                                       getId = function( trow, k) {return $(idn,trow).text() || k;};\r
-                               }\r
-                               else {\r
-                                       getId = function( trow, k) {return trow.getAttribute(idn.replace(/[\[\]]/g,"")) || k;};\r
-                               }\r
-                       } else {\r
-                               getId = function(trow) { return (f.length - 1 >= ts.p.keyIndex) ? $(f[ts.p.keyIndex],trow).text() : $(ts.p.xmlReader.cell+":eq("+ts.p.keyIndex+")",trow).text(); };\r
-                       }\r
-                       $(ts.p.xmlReader.page,xml).each(function() {ts.p.page = this.textContent  || this.text ; });\r
-                       $(ts.p.xmlReader.total,xml).each(function() {ts.p.lastpage = this.textContent  || this.text ; }  );\r
-                       $(ts.p.xmlReader.records,xml).each(function() {ts.p.records = this.textContent  || this.text ; }  );\r
-                       $(ts.p.xmlReader.userdata,xml).each(function() {ts.p.userData[this.getAttribute("name")]=this.textContent || this.text;});\r
-                       $(ts.p.xmlReader.root+" "+ts.p.xmlReader.row,xml).each( function( j ) {\r
-                               row = document.createElement("tr");\r
-                               row.id = getId(this,j+1);\r
-                               if(ts.p.multiselect) {\r
-                                       addMulti(t,row);\r
-                                       gi = 1;\r
-                               }\r
-                               if (ts.p.subGrid) {\r
-                                       try {$(ts).addSubGrid(t,row,gi,this);} catch (e){}\r
-                                       si= 1;\r
-                               }\r
-                               var v;\r
-                               if(ts.p.xmlReader.repeatitems===true){\r
-                                       $(ts.p.xmlReader.cell,this).each( function (i) {\r
-                                               v = this.textContent || this.text;\r
-                                               addCell(t,row,v || '&#160;',i+gi+si);\r
-                                               rd[ts.p.colModel[i+gi+si].name] = v;\r
-                                       });\r
-                               } else {\r
-                                       for(var i = 0; i < f.length;i++) {\r
-                                               v = $(f[i],this).text();\r
-                                               addCell(t, row, v || '&#160;', i+gi+si);\r
-                                               rd[ts.p.colModel[i+gi+si].name] = v;\r
-                                       }\r
-                               }\r
-                               if(j%2 == 1) {row.className = cn;} $(row).addClass("jqgrow");\r
-                               if( ts.p.treeGrid === true) {\r
-                                       try {$(ts).setTreeNode(rd,row);} catch (e) {}\r
-                               }\r
-                               $(ts.rows[j+fpos]).after(row);\r
-                               if(afterInsRow) {ts.p.afterInsertRow(row.id,rd,this);}\r
-                               rd=[];\r
-                       });\r
-                       xml = null;\r
-                       if(isSafari || isOpera) {resizeFirstRow(t,1);}\r
-                       if(!ts.p.treeGrid) {ts.grid.bDiv.scrollTop = 0;}\r
-                       endReq();\r
-                       updatepager();\r
-               };\r
-               var addJSONData = function(data,t) {\r
-                       if(data) { var fpos = ts.p.treeANode; if(fpos===0) {$("tbody tr:gt(0)", t).remove();} }  else { return; }\r
-                       var row,f=[],cur,gi=0,si=0,drows,idn,rd=[],cn=(ts.p.altRows===true) ? 'alt':'';\r
-                       ts.p.page = data[ts.p.jsonReader.page];\r
-                       ts.p.lastpage= data[ts.p.jsonReader.total];\r
-                       ts.p.records= data[ts.p.jsonReader.records];\r
-                       ts.p.userData = data[ts.p.jsonReader.userdata] || {};\r
-                       if(!ts.p.jsonReader.repeatitems) {f = reader("json");}\r
-                       if( ts.p.keyIndex===false ) {\r
-                               idn = ts.p.jsonReader.id;\r
-                               if(f.length>0 && !isNaN(idn)) {idn=f[idn];}\r
-                       } else {\r
-                               idn = f.length>0 ? f[ts.p.keyIndex] : ts.p.keyIndex;\r
-                       }\r
-                       drows = data[ts.p.jsonReader.root];\r
-                       if (drows) {\r
-                       for (var i=0;i<drows.length;i++) {\r
-                               cur = drows[i];\r
-                               row = document.createElement("tr");\r
-                               row.id = cur[idn] || "";\r
-                               if(row.id === "") {\r
-                                       if(f.length===0){\r
-                                               if(ts.p.jsonReader.cell){\r
-                                                       var ccur = cur[ts.p.jsonReader.cell];\r
-                                                       row.id = ccur[idn] || i+1;\r
-                                                       ccur=null;\r
-                                               } else {row.id=i+1;}\r
-                                       } else {\r
-                                               row.id=i+1;\r
-                                       }\r
-                               }\r
-                               if(ts.p.multiselect){\r
-                                       addMulti(t,row);\r
-                                       gi = 1;\r
-                               }\r
-                               if (ts.p.subGrid) {\r
-                                       try { $(ts).addSubGrid(t,row,gi,drows[i]);} catch (e){}\r
-                                       si= 1;\r
-                               }\r
-                               if (ts.p.jsonReader.repeatitems === true) {\r
-                                       if(ts.p.jsonReader.cell) {cur = cur[ts.p.jsonReader.cell];}\r
-                                       for (var j=0;j<cur.length;j++) {\r
-                                               addCell(t,row,cur[j] || '&#160;',j+gi+si);\r
-                                               rd[ts.p.colModel[j+gi+si].name] = cur[j];\r
-                                       }\r
-                               } else {\r
-                                       for (var j=0;j<f.length;j++) {\r
-                                               addCell(t,row,cur[f[j]] || '&#160;',j+gi+si);\r
-                                               rd[ts.p.colModel[j+gi+si].name] = cur[f[j]];\r
-                                       }\r
-                               }\r
-                               if(i%2 == 1) {row.className = cn;} $(row).addClass("jqgrow");\r
-                               if( ts.p.treeGrid === true) {\r
-                                       try {$(ts).setTreeNode(rd,row);} catch (e) {}\r
-                               }\r
-                               $(ts.rows[i+fpos]).after(row);\r
-                               if(afterInsRow) {ts.p.afterInsertRow(row.id,rd,drows[i]);}\r
-                               rd=[];\r
-                       }\r
-                       }\r
-                       data = null;\r
-                       if(isSafari || isOpera) {resizeFirstRow(t,1);}\r
-                       if(!ts.p.treeGrid) {ts.grid.bDiv.scrollTop = 0;}\r
-                       endReq();\r
-                       updatepager();\r
-               };\r
-               var updatepager = function() {\r
-                       if(ts.p.pager) {\r
-                               var cp, last,imp = ts.p.imgpath;\r
-                               if (ts.p.loadonce) {\r
-                                       cp = last = 1;\r
-                                       ts.p.lastpage = ts.page =1;\r
-                                       $(".selbox",ts.p.pager).attr("disabled",true);\r
-                               } else {\r
-                                       cp = IntNum(ts.p.page);\r
-                                       last = IntNum(ts.p.lastpage);\r
-                                       $(".selbox",ts.p.pager).attr("disabled",false);\r
-                               }\r
-                               if(ts.p.pginput===true) {\r
-                                       $('input.selbox',ts.p.pager).val(ts.p.page);\r
-                               }\r
-                               if (ts.p.viewrecords){\r
-                                       $('#sp_1',ts.p.pager).html(ts.p.pgtext+"&#160;"+ts.p.lastpage );\r
-                                       $('#sp_2',ts.p.pager).html(ts.p.records+"&#160;"+ts.p.recordtext+"&#160;");\r
-                               }\r
-                               if(ts.p.pgbuttons===true) {\r
-                                       if(cp<=0) {cp = last = 1;}\r
-                                       if(cp==1) {$("#first",ts.p.pager).attr({src:imp+"off-"+ts.p.firstimg,disabled:true});} else {$("#first",ts.p.pager).attr({src:imp+ts.p.firstimg,disabled:false});}\r
-                                       if(cp==1) {$("#prev",ts.p.pager).attr({src:imp+"off-"+ts.p.previmg,disabled:true});} else {$("#prev",ts.p.pager).attr({src:imp+ts.p.previmg,disabled:false});}\r
-                                       if(cp==last) {$("#next",ts.p.pager).attr({src:imp+"off-"+ts.p.nextimg,disabled:true});} else {$("#next",ts.p.pager).attr({src:imp+ts.p.nextimg,disabled:false});}\r
-                                       if(cp==last) {$("#last",ts.p.pager).attr({src:imp+"off-"+ts.p.lastimg,disabled:true});} else {$("#last",ts.p.pager).attr({src:imp+ts.p.lastimg,disabled:false});}\r
-                               }\r
-                       }\r
-                       if($.isFunction(ts.p.gridComplete)) {ts.p.gridComplete();}\r
-               };\r
-               var populate = function () {\r
-                       if(!grid.hDiv.loading) {\r
-                               beginReq();\r
-                               var gdata = $.extend(ts.p.postData,{page: ts.p.page, rows: ts.p.rowNum, sidx: ts.p.sortname, sord:ts.p.sortorder, nd: (new Date().getTime()), _search:ts.p.search});\r
-                               if (ts.p.search ===true) {gdata =$.extend(gdata,ts.p.searchdata);}                              \r
-                               if ($.isFunction(ts.p.datatype)) {ts.p.datatype(gdata);endReq();}\r
-                               switch(ts.p.datatype)\r
-                               {\r
-                               case "json":\r
-                                       $.ajax({url:ts.p.url,type:ts.p.mtype,dataType:"json",data: gdata, complete:function(JSON,st) { if(st=="success") {addJSONData(eval("("+JSON.responseText+")"),ts.grid.bDiv); if(loadComplete) {loadComplete();}}}, error:function(xhr,st,err){if(loadError) {loadError(xhr,st,err);}endReq();}, beforeSend: function(xhr){if(loadBeforeSend) {loadBeforeSend(xhr);}}});\r
-                                       if( ts.p.loadonce || ts.p.treeGrid) {ts.p.datatype = "local";}\r
-                               break;\r
-                               case "xml":\r
-                                       $.ajax({url:ts.p.url,type:ts.p.mtype,dataType:"xml",data: gdata , complete:function(xml,st) {if(st=="success")  {addXmlData(xml.responseXML,ts.grid.bDiv); if(loadComplete) {loadComplete();}}}, error:function(xhr,st,err){if(loadError) {loadError(xhr,st,err);}endReq();}, beforeSend: function(xhr){if(loadBeforeSend) {loadBeforeSend(xhr);}}});\r
-                                       if( ts.p.loadonce || ts.p.treeGrid) {ts.p.datatype = "local";}\r
-                               break;\r
-                               case "xmlstring":\r
-                                       addXmlData(stringToDoc(ts.p.datastr),ts.grid.bDiv);\r
-                                       ts.p.datastr = null;\r
-                                       ts.p.datatype = "local";\r
-                                       if(loadComplete) {loadComplete();}\r
-                               break;\r
-                               case "jsonstring":\r
-                                       addJSONData(eval("("+ts.p.datastr+")"),ts.grid.bDiv);\r
-                                       ts.p.datastr = null;\r
-                                       ts.p.datatype = "local";\r
-                                       if(loadComplete) {loadComplete();}\r
-                               break;\r
-                               case "local":\r
-                               case "clientSide":\r
-                                       sortArrayData();\r
-                               break;\r
-                               }\r
-                       }\r
-               };\r
-               var beginReq = function() {\r
-                       if(beReq) {ts.p.beforeRequest();}\r
-                       grid.hDiv.loading = true;\r
-                       switch(ts.p.loadui) {\r
-                               case "disable":\r
-                                       break;\r
-                               case "enable":\r
-                                       $("div.loading",grid.hDiv).fadeIn("fast");\r
-                                       break;\r
-                               case "block":\r
-                                       $("div.loading",grid.hDiv).fadeIn("fast");\r
-                                       $("#lui_"+ts.id).width($(grid.bDiv).width()).height(IntNum($(grid.bDiv).height())+IntNum(ts.p._height)).show();\r
-                                       break;\r
-                       }\r
-               };\r
-               var endReq = function() {\r
-                       grid.hDiv.loading = false;\r
-                       switch(ts.p.loadui) {\r
-                               case "disable":\r
-                                       break;\r
-                               case "enable":\r
-                                       $("div.loading",grid.hDiv).fadeOut("fast");\r
-                                       break;\r
-                               case "block":\r
-                                       $("div.loading",grid.hDiv).fadeOut("fast");\r
-                                       $("#lui_"+ts.id).hide();\r
-                                       break;\r
-                       }\r
-               };\r
-               var stringToDoc =       function (xmlString) {\r
-                       var xmlDoc;\r
-                       try     {\r
-                               var parser = new DOMParser();\r
-                               xmlDoc = parser.parseFromString(xmlString,"text/xml");\r
-                       }\r
-                       catch(e) {\r
-                               xmlDoc = new ActiveXObject("Microsoft.XMLDOM");\r
-                               xmlDoc.async=false;\r
-                               xmlDoc["loadXM"+"L"](xmlString);\r
-                       }\r
-                       return (xmlDoc && xmlDoc.documentElement && xmlDoc.documentElement.tagName != 'parsererror') ? xmlDoc : null;\r
-               };\r
-               var sortArrayData = function() {\r
-                       var stripNum = /[\$,%]/g;\r
-                       var col=0,st,findSortKey,newDir = (ts.p.sortorder == "asc") ? 1 :-1;\r
-                       $.each(ts.p.colModel,function(i,v){\r
-                               if(this.index == ts.p.sortname || this.name == ts.p.sortname){\r
-                                       col = ts.p.lastsort= i;\r
-                                       st = this.sorttype;\r
-                                       return false;\r
-                               }\r
-                       });\r
-                       if (st == 'float') {\r
-                               findSortKey = function($cell) {\r
-                                       var key = parseFloat($cell.text().replace(stripNum, ''));\r
-                                       return isNaN(key) ? 0 : key;\r
-                               };\r
-                       } else if (st=='int') {\r
-                               findSortKey = function($cell) {\r
-                                       return IntNum($cell.text().replace(stripNum, ''));\r
-                               };\r
-                       } else if(st == 'date') {\r
-                               findSortKey = function($cell) {\r
-                                       var fd = ts.p.colModel[col].datefmt || "Y-m-d";\r
-                                       return parseDate(fd,$cell.text()).getTime();\r
-                               };\r
-                       } else {\r
-                               findSortKey = function($cell) {\r
-                                       return $cell.text().toUpperCase();\r
-                               };\r
-                       }\r
-                       var rows=[];\r
-                       $.each(ts.rows, function(index, row) {\r
-                               if (index > 0) {\r
-                                       row.sortKey = findSortKey($(row).children('td').eq(col));\r
-                                       rows[index-1] = this;\r
-                               }\r
-                       });\r
-                       if(ts.p.treeGrid) {\r
-                               $(ts).SortTree( newDir);\r
-                       } else {\r
-                               rows.sort(function(a, b) {\r
-                                       if (a.sortKey < b.sortKey) {return -newDir;}\r
-                                       if (a.sortKey > b.sortKey) {return newDir;}\r
-                                       return 0;\r
-                               });\r
-                               $.each(rows, function(index, row) {\r
-                                       $('tbody',ts.grid.bDiv).append(row);\r
-                                       row.sortKey = null;\r
-                               });\r
-                       }\r
-                       if(isSafari || isOpera) {resizeFirstRow(ts.grid.bDiv,1);}\r
-                       if(ts.p.multiselect) {\r
-                               $("tbody tr:gt(0)", ts.grid.bDiv).removeClass("selected");\r
-                               $("[@id^=jqg_]",ts.rows).attr("checked",false);\r
-                               $("#cb_jqg",ts.grid.hDiv).attr("checked",false);\r
-                               ts.p.selarrrow = [];\r
-                       }\r
-                       if( ts.p.altRows === true ) {\r
-                               $("tbody tr:gt(0)", ts.grid.bDiv).removeClass("alt");\r
-                               $("tbody tr:odd", ts.grid.bDiv).addClass("alt");\r
-                       }\r
-                       ts.grid.bDiv.scrollTop = 0;\r
-                       endReq();\r
-               };\r
-               var parseDate = function(format, date) {\r
-                       var tsp = {m : 1, d : 1, y : 1970, h : 0, i : 0, s : 0};\r
-                       format = format.toLowerCase();\r
-                       date = date.split(/[\\\/:_;.\s-]/);\r
-                       format = format.split(/[\\\/:_;.\s-]/);\r
-                       for(var i=0;i<format.length;i++){\r
-                               tsp[format[i]] = IntNum(date[i],tsp[format[i]]);\r
-                       }\r
-                       tsp.m = parseInt(tsp.m,10)-1;\r
-                       var ty = tsp.y;\r
-                       if (ty >= 70 && ty <= 99) {tsp.y = 1900+tsp.y;}\r
-                       else if (ty >=0 && ty <=69) {tsp.y= 2000+tsp.y;}\r
-                       return new Date(tsp.y, tsp.m, tsp.d, tsp.h, tsp.i, tsp.s,0);\r
-               };\r
-               var setPager = function (){\r
-                       var inpt = "<img class='pgbuttons' src='"+ts.p.imgpath+"spacer.gif'";\r
-                       var pginp = (ts.p.pginput===true) ? "<input class='selbox' type='text' size='3' maxlength='5' value='0'/>" : "";\r
-                       if(ts.p.viewrecords===true) {pginp += "<span id='sp_1'></span>&#160;";}\r
-                       var pgl="", pgr="";\r
-                       if(ts.p.pgbuttons===true) {\r
-                               pgl = inpt+" id='first'/>&#160;&#160;"+inpt+" id='prev'/>&#160;";\r
-                               pgr = inpt+" id='next' />&#160;&#160;"+inpt+" id='last'/>";\r
-                       }\r
-                       $(ts.p.pager).append(pgl+pginp+pgr);\r
-                       if(ts.p.rowList.length >0){\r
-                               var str="<SELECT class='selbox'>";\r
-                               for(var i=0;i<ts.p.rowList.length;i++){\r
-                                       str +="<OPTION value="+ts.p.rowList[i]+((ts.p.rowNum == ts.p.rowList[i])?' selected':'')+">"+ts.p.rowList[i];\r
-                               }\r
-                               str +="</SELECT>";\r
-                               $(ts.p.pager).append("&#160;"+str+"&#160;<span id='sp_2'></span>");\r
-                               $(ts.p.pager).find("select").bind('change',function() { \r
-                                       ts.p.rowNum = (this.value>0) ? this.value : ts.p.rowNum; \r
-                                       if (typeof ts.p.onPaging =='function') {ts.p.onPaging('records');}\r
-                                       populate();\r
-                                       ts.p.selrow = null;\r
-                               });\r
-                       } else { $(ts.p.pager).append("&#160;<span id='sp_2'></span>");}\r
-                       if(ts.p.pgbuttons===true) {\r
-                       $(".pgbuttons",ts.p.pager).mouseover(function(e){\r
-                               this.style.cursor= "pointer";\r
-                               return false;\r
-                       }).mouseout(function(e) {\r
-                               this.style.cursor= "normal";\r
-                               return false;\r
-                       });\r
-                       $("#first, #prev, #next, #last",ts.p.pager).click( function(e) {\r
-                               var cp = IntNum(ts.p.page);\r
-                               var last = IntNum(ts.p.lastpage), selclick = false;\r
-                               var fp=true; var pp=true; var np=true; var lp=true;\r
-                               if(last ===0 || last===1) {fp=false;pp=false;np=false;lp=false; }\r
-                               else if( last>1 && cp >=1) {\r
-                                       if( cp === 1) { fp=false; pp=false; } \r
-                                       else if( cp>1 && cp <last){ }\r
-                                       else if( cp===last){ np=false;lp=false; }\r
-                               } else if( last>1 && cp===0 ) { np=false;lp=false; cp=last-1;}\r
-                               if( this.id === 'first' && fp ) { ts.p.page=1; selclick=true;} \r
-                               if( this.id === 'prev' && pp) { ts.p.page=(cp-1); selclick=true;} \r
-                               if( this.id === 'next' && np) { ts.p.page=(cp+1); selclick=true;} \r
-                               if( this.id === 'last' && lp) { ts.p.page=last; selclick=true;}\r
-                               if(selclick) {\r
-                                       if (typeof ts.p.onPaging =='function') {ts.p.onPaging(this.id);}\r
-                                       populate();\r
-                                       ts.p.selrow = null;\r
-                                       if(ts.p.multiselect) {ts.p.selarrrow =[];$('#cb_jqg',ts.grid.hDiv).attr("checked",false);}\r
-                                       ts.p.savedRow = [];\r
-                               }\r
-                               e.stopPropagation();\r
-                               return false;\r
-                       });\r
-                       }\r
-                       if(ts.p.pginput===true) {\r
-                       $('input.selbox',ts.p.pager).keypress( function(e) {\r
-                               var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;\r
-                               if(key == 13) {\r
-                                       ts.p.page = ($(this).val()>0) ? $(this).val():ts.p.page;\r
-                                       if (typeof ts.p.onPaging =='function') {ts.p.onPaging( 'user');}\r
-                                       populate();\r
-                                       ts.p.selrow = null;\r
-                                       return false;\r
-                               }\r
-                               return this;\r
-                       });\r
-                       }\r
-               };\r
-               var sortData = function (index, idxcol,reload){\r
-                       if(!reload) {\r
-                               if( ts.p.lastsort === idxcol ) {\r
-                                       if( ts.p.sortorder === 'asc') {\r
-                                               ts.p.sortorder = 'desc';\r
-                                       } else if(ts.p.sortorder === 'desc') { ts.p.sortorder='asc';}\r
-                               } else { ts.p.sortorder='asc';}\r
-                               ts.p.page = 1;\r
-                       }\r
-                       var imgs = (ts.p.sortorder==='asc') ? ts.p.sortascimg : ts.p.sortdescimg;\r
-                       imgs = "<img src='"+ts.p.imgpath+imgs+"'>";\r
-                       var thd= $("thead:first",grid.hDiv).get(0);\r
-                       $("tr th div#jqgh_"+ts.p.colModel[ts.p.lastsort].name+" img",thd).remove();\r
-                       $("tr th div#jqgh_"+ts.p.colModel[ts.p.lastsort].name,thd).parent().removeClass(ts.p.sortclass);\r
-                       $("tr th div#"+index,thd).append(imgs).parent().addClass(ts.p.sortclass);\r
-                       ts.p.lastsort = idxcol;\r
-                       index = index.substring(5);\r
-                       ts.p.sortname = ts.p.colModel[idxcol].index || index;\r
-                       var so = ts.p.sortorder;\r
-                       if(onSortCol) {onSortCol(index,idxcol,so);}\r
-                       if(ts.p.selrow && ts.p.datatype == "local" && !ts.p.multiselect){ $('#'+ts.p.selrow,grid.bDiv).removeClass("selected");}\r
-                       ts.p.selrow = null;\r
-                       if(ts.p.multiselect && ts.p.datatype !== "local"){ts.p.selarrrow =[]; $("#cb_jqg",ts.grid.hDiv).attr("checked",false);}\r
-                       ts.p.savedRow =[];\r
-                       populate();\r
-                       if(ts.p.sortname != index) {ts.p.sortname = index; ts.p.lastsort = idxcol;}\r
-               };\r
-               var setColWidth = function () {\r
-                       var initwidth = 0; \r
-                       for(var l=0;l<ts.p.colModel.length;l++){\r
-                               if(!ts.p.colModel[l].hidden){\r
-                                       initwidth += IntNum(ts.p.colModel[l].width);\r
-                               }\r
-                       }\r
-                       var tblwidth = ts.p.width ? ts.p.width : initwidth;\r
-                       for(l=0;l<ts.p.colModel.length;l++) {\r
-                               if(!ts.p.shrinkToFit){\r
-                                       ts.p.colModel[l].owidth = ts.p.colModel[l].width;\r
-                               }\r
-                               ts.p.colModel[l].width = Math.round(tblwidth/initwidth*ts.p.colModel[l].width);\r
-                       }\r
-               };\r
-               var nextVisible= function(iCol) {\r
-                       var ret = iCol, j=iCol;\r
-                       for (var i = iCol+1;i<ts.p.colModel.length;i++){\r
-                               if(ts.p.colModel[i].hidden !== true ) {\r
-                                       j=i; break;\r
-                               }\r
-                       }\r
-                       return j-ret;\r
-               };\r
-               if(this.p.treeGrid === true) {\r
-                       this.p.subGrid = false; this.p.altRows =false;\r
-                       this.p.pgbuttons = false; this.p.pginput = false;\r
-                       this.p.multiselect = false; this.p.rowList = [];\r
-                       this.p.treedatatype = this.p.datatype;\r
-                       $.each(this.p.treeReader,function(i,n){\r
-                               if(n){\r
-                                       ts.p.colNames.push(n);\r
-                                       ts.p.colModel.push({name:n,width:1,hidden:true,sortable:false,resizable:false,hidedlg:true,editable:true,search:false});\r
-                               }\r
-                       });\r
-               }\r
-               if(this.p.subGrid) {\r
-                       this.p.colNames.unshift("");\r
-                       this.p.colModel.unshift({name:'subgrid',width:25,sortable: false,resizable:false,hidedlg:true,search:false});\r
-               }\r
-               if(this.p.multiselect) {\r
-                       this.p.colNames.unshift("<input id='cb_jqg' class='cbox' type='checkbox'/>");\r
-                       this.p.colModel.unshift({name:'cb',width:27,sortable:false,resizable:false,hidedlg:true,search:false});\r
-               }\r
-               var     xReader = {\r
-                       root: "rows",\r
-                       row: "row",\r
-                       page: "rows>page",\r
-                       total: "rows>total",\r
-                       records : "rows>records",\r
-                       repeatitems: true,\r
-                       cell: "cell",\r
-                       id: "[id]",\r
-                       userdata: "userdata",\r
-                       subgrid: {root:"rows", row: "row", repeatitems: true, cell:"cell"}\r
-               };\r
-               var jReader = {\r
-                       root: "rows",\r
-                       page: "page",\r
-                       total: "total",\r
-                       records: "records",\r
-                       repeatitems: true,\r
-                       cell: "cell",\r
-                       id: "id",\r
-                       userdata: "userdata",\r
-                       subgrid: {root:"rows", repeatitems: true, cell:"cell"}\r
-               };\r
-               ts.p.xmlReader = $.extend(xReader, ts.p.xmlReader);\r
-               ts.p.jsonReader = $.extend(jReader, ts.p.jsonReader);\r
-               $.each(ts.p.colModel, function(i){if(!this.width) {this.width=150;}});\r
-               if (ts.p.width) {setColWidth();}\r
-               var thead = document.createElement("thead");\r
-               var trow = document.createElement("tr");\r
-               thead.appendChild(trow); \r
-               var i=0, th, idn, thdiv;\r
-               ts.p.keyIndex=false;\r
-               for (var i=0; i<ts.p.colModel.length;i++) {\r
-                       if (ts.p.colModel[i].key===true) {\r
-                               ts.p.keyIndex = i;\r
-                               break;\r
-                       }\r
-               }\r
-               if(ts.p.shrinkToFit===true && ts.p.forceFit===true) {\r
-                       for (i=ts.p.colModel.length-1;i>=0;i--){\r
-                               if(!ts.p.colModel[i].hidden) {\r
-                                       ts.p.colModel[i].resizable=false;\r
-                                       break;\r
-                               }\r
-                       }\r
-               }\r
-               for(i=0;i<this.p.colNames.length;i++){\r
-                       th = document.createElement("th");\r
-                       idn = ts.p.colModel[i].name;\r
-                       thdiv = document.createElement("div");\r
-                       $(thdiv).html(ts.p.colNames[i]+"&#160;");\r
-                       if (idn == ts.p.sortname) {\r
-                               var imgs = (ts.p.sortorder==='asc') ? ts.p.sortascimg : ts.p.sortdescimg;\r
-                               imgs = "<img src='"+ts.p.imgpath+imgs+"'>";\r
-                               $(thdiv).append(imgs);\r
-                               ts.p.lastsort = i;\r
-                               $(th).addClass(ts.p.sortclass);\r
-                       }\r
-                       thdiv.id = "jqgh_"+idn;\r
-                       th.appendChild(thdiv);\r
-                       trow.appendChild(th);\r
-               }\r
-               if(this.p.multiselect) {\r
-                       var onSA = true;\r
-                       if(typeof ts.p.onSelectAll !== 'function') {onSA=false;}\r
-                       $('#cb_jqg',trow).click(function(){\r
-                               var chk;\r
-                               if (this.checked) {\r
-                                       $("[@id^=jqg_]",ts.rows).attr("checked",true);\r
-                                       $(ts.rows).slice(1).each(function(i) {\r
-                                               if(!$(this).hasClass("subgrid")){\r
-                                               $(this).addClass("selected");\r
-                                               ts.p.selarrrow[i]= ts.p.selrow = this.id; \r
-                                               }\r
-                                       });\r
-                                       chk=true;\r
-                               }\r
-                               else {\r
-                                       $("[@id^=jqg_]",ts.rows).attr("checked",false);\r
-                                       $(ts.rows).slice(1).each(function(i) {\r
-                                               if(!$(this).hasClass("subgrid")){\r
-                                                       $(this).removeClass("selected");\r
-                                               }\r
-                                       });\r
-                                       ts.p.selarrrow = []; ts.p.selrow = null;\r
-                                       chk=false;\r
-                               }\r
-                               if(onSA) {ts.p.onSelectAll(ts.p.selarrrow,chk);}\r
-                       });\r
-               }\r
-               this.appendChild(thead);\r
-               thead = $("thead:first",ts).get(0);\r
-               var w, res, sort;\r
-               $("tr:first th",thead).each(function ( j ) {\r
-                       w = ts.p.colModel[j].width;\r
-                       if(typeof ts.p.colModel[j].resizable === 'undefined') {ts.p.colModel[j].resizable = true;}\r
-                       res = document.createElement("span");\r
-                       $(res).html("&#160;");\r
-                       if(ts.p.colModel[j].resizable){\r
-                               $(this).addClass(ts.p.resizeclass);\r
-                               $(res).mousedown(function (e) {\r
-                                       if(ts.p.forceFit===true) {ts.p.nv= nextVisible(j);}\r
-                                       grid.dragStart( j ,e.clientX);\r
-                                       e.preventDefault();\r
-                                       return false;\r
-                               });\r
-                       } else {$(res).css("cursor","default");}\r
-                       $(this).css("width",w+"px").prepend(res);\r
-                       if( ts.p.colModel[j].hidden) {$(this).css("display","none");}\r
-                       grid.headers[j] = { width: w, el: this };\r
-                       sort = ts.p.colModel[j].sortable;\r
-                       if( typeof sort !== 'boolean') {sort =  true;}\r
-                       if(sort) { \r
-                               $("div",this).css("cursor","pointer")\r
-                               .click(function(){sortData(this.id,j);return false;});\r
-                       }\r
-               });\r
-               var isMSIE = $.browser.msie ? true:false;\r
-               var isMoz = $.browser.mozilla ? true:false;\r
-               var isOpera = $.browser.opera ? true:false;\r
-               var isSafari = $.browser.safari ? true : false;\r
-               var tbody = document.createElement("tbody");\r
-               trow = document.createElement("tr");\r
-               trow.id = "_empty";\r
-               tbody.appendChild(trow);\r
-               var td, ptr;\r
-               for(i=0;i<ts.p.colNames.length;i++){\r
-                       td = document.createElement("td");\r
-                       trow.appendChild(td);\r
-               }\r
-               this.appendChild(tbody);\r
-               var gw=0,hdc=0;\r
-               $("tbody tr:first td",ts).each(function(ii) {\r
-                       w = ts.p.colModel[ii].width;\r
-                       $(this).css({width:w+"px",height:"0px"});\r
-                       w +=  IntNum($(this).css("padding-left")) +\r
-                       IntNum($(this).css("padding-right"))+\r
-                       IntNum($(this).css("border-left-width"))+\r
-                       IntNum($(this).css("border-right-width"));\r
-                       if( ts.p.colModel[ii].hidden===true) {\r
-                               $(this).css("display","none");\r
-                               hdc += w;\r
-                       }\r
-                       grid.cols[ii] = this;\r
-                       gw += w;\r
-               });\r
-               if(isMoz) {$(trow).css({visibility:"collapse"});}\r
-               else if( isSafari || isOpera ) {$(trow).css({display:"none"});}\r
-               grid.width = IntNum(gw)-IntNum(hdc);\r
-               ts.p.width = grid.width;\r
-               grid.hTable = document.createElement("table");\r
-               grid.hTable.appendChild(thead);\r
-               $(grid.hTable).addClass("scroll")\r
-               .attr({cellSpacing:"0",cellPadding:"0",border:"0"})\r
-               .css({width:grid.width+"px"});\r
-               grid.hDiv = document.createElement("div");\r
-               var hg = (ts.p.caption && ts.p.hiddengrid===true) ? true : false;\r
-               $(grid.hDiv)\r
-                       .css({ width: grid.width+"px", overflow: "hidden"})\r
-                       .prepend('<div class="loading">'+ts.p.loadtext+'</div>')\r
-                       .append(grid.hTable)\r
-                       .bind("selectstart", function () { return false; });\r
-               if(hg) {$(grid.hDiv).hide(); ts.p.gridstate = 'hidden'}\r
-               if(ts.p.pager){\r
-                       if(typeof ts.p.pager == "string") {ts.p.pager = $("#"+ts.p.pager);}\r
-                       if( $(ts.p.pager).hasClass("scroll")) { $(ts.p.pager).css({ width: grid.width+"px", overflow: "hidden"}).show(); ts.p._height= parseInt($(ts.p.pager).height(),10); if(hg) {$(ts.p.pager).hide();}}\r
-                       setPager();\r
-               }\r
-               if( ts.p.cellEdit === false) {\r
-               $(ts).mouseover(function(e) {\r
-                       td = (e.target || e.srcElement);\r
-                       ptr = $(td,ts.rows).parents("tr:first");\r
-                       if($(ptr).hasClass("jqgrow")) {\r
-                               $(ptr).addClass("over");\r
-                               if(!$(td).hasClass("editable")){\r
-                                       td.title = $(td).text();\r
-                               }\r
-                       }\r
-                       return false;\r
-               }).mouseout(function(e) {\r
-                       td = (e.target || e.srcElement);\r
-                       ptr = $(td,ts.rows).parents("tr:first");\r
-                       $(ptr).removeClass("over");\r
-                       if(!$(td).hasClass("editable")){\r
-                               td.title = "";\r
-                       }\r
-                       return false;\r
-               });\r
-               }\r
-               var ri,ci;\r
-               $(ts).before(grid.hDiv).css("width", grid.width+"px").click(function(e) {\r
-                       td = (e.target || e.srcElement);\r
-                       var scb = $(td).hasClass("cbox");\r
-                       ptr = $(td,ts.rows).parent("tr");\r
-                       if($(ptr).length === 0 ){\r
-                               ptr = $(td,ts.rows).parents("tr:first");\r
-                               td = $(td).parents("td:first")[0];\r
-                       }\r
-                       if(ts.p.cellEdit === true) {\r
-                               ri = ptr[0].rowIndex;\r
-                               ci = td.cellIndex;\r
-                               try {$(ts).editCell(ri,ci,true,true);} catch (e) {}\r
-                       } else \r
-                       if ( !ts.p.multikey ) {\r
-                               $(ts).setSelection(false,ptr);\r
-                               if(onSC) {\r
-                                       ri = ptr[0].id;\r
-                                       ci = td.cellIndex;\r
-                                       onSC(ri,ci,$(td).html());\r
-                               }\r
-                       } else {\r
-                               if(e[ts.p.multikey]) {\r
-                                       $(ts).setSelection(false,ptr);\r
-                               } else if(ts.p.multiselect) {\r
-                                       if(scb) { scb = $("[@id^=jqg_]",ptr).attr("checked");\r
-                                               $("[@id^=jqg_]",ptr).attr("checked",!scb);\r
-                                       }\r
-                               }\r
-                       }\r
-                       e.stopPropagation();\r
-               }).bind('reloadGrid', function(e) {\r
-                       if(!ts.p.treeGrid) {ts.p.selrow=null;}\r
-                       if(ts.p.multiselect) {ts.p.selarrrow =[];$('#cb_jqg',ts.grid.hDiv).attr("checked",false);}\r
-                       populate();\r
-               });\r
-               if( ondblClickRow ) {\r
-                       $(this).dblclick(function(e) {\r
-                               td = (e.target || e.srcElement);\r
-                               ptr = $(td,ts.rows).parent("tr");\r
-                               if($(ptr).length === 0 ){\r
-                                       ptr = $(td,ts.rows).parents("tr:first");\r
-                               }\r
-                               ts.p.ondblClickRow($(ptr).attr("id"));\r
-                               return false;\r
-                       });\r
-               }\r
-               if (onRightClickRow) {\r
-                       $(this).bind('contextmenu', function(e) {\r
-                               td = (e.target || e.srcElement);\r
-                               ptr = $(td,ts).parents("tr:first");\r
-                               if($(ptr).length === 0 ){\r
-                                       ptr = $(td,ts.rows).parents("tr:first");\r
-                               }\r
-                               $(ts).setSelection(false,ptr);\r
-                               ts.p.onRightClickRow($(ptr).attr("id"));\r
-                               return false;\r
-                       });\r
-               }\r
-               grid.bDiv = document.createElement("div");\r
-               var ofl2 = (isNaN(ts.p.height) && isMoz && (ts.p.height.indexOf("%")!=-1 || ts.p.height=="auto")) ? "hidden" : "auto";\r
-               $(grid.bDiv)\r
-                       .scroll(function (e) {grid.scrollGrid();})\r
-                       .css({ height: ts.p.height+(isNaN(ts.p.height)?"":"px"), padding: "0px", margin: "0px", overflow: ofl2,width: (grid.width)+"px"} ).css("overflow-x","hidden")\r
-                       .append(this);\r
-               $("table:first",grid.bDiv).css({width:grid.width+"px",marginRight:"20px"});\r
-               if( isMSIE ) {\r
-                       if( $("tbody",this).size() === 2 ) { $("tbody:first",this).remove();}\r
-                       if( ts.p.multikey) {$(grid.bDiv).bind("selectstart",function(){return false;});}\r
-                       if(ts.p.treeGrid) {$(grid.bDiv).css("position","relative");}\r
-               } else {\r
-                       if( ts.p.multikey) {$(grid.bDiv).bind("mousedown",function(){return false;});}\r
-               }\r
-               if(hg) {$(grid.bDiv).hide();}\r
-               grid.cDiv = document.createElement("div");\r
-               $(grid.cDiv).append("<table class='Header' cellspacing='0' cellpadding='0' border='0'><tr><td class='HeaderLeft'><img src='"+ts.p.imgpath+"spacer.gif' border='0' /></td><th>"+ts.p.caption+"</th>"+ ((ts.p.hidegrid===true) ? "<td class='HeaderButton'><img src='"+ts.p.imgpath+"up.gif' border='0'/></td>" :"") +"<td class='HeaderRight'><img src='"+ts.p.imgpath+"spacer.gif' border='0' /></td></tr></table>").addClass("GridHeader");\r
-               $(grid.cDiv).insertBefore(grid.hDiv);\r
-               if( ts.p.toolbar[0] ) {\r
-                       grid.uDiv = document.createElement("div");\r
-                       if(ts.p.toolbar[1] == "top") {$(grid.uDiv).insertBefore(grid.hDiv);}\r
-                       else {$(grid.uDiv).insertAfter(grid.hDiv);}\r
-                       $(grid.uDiv,ts).width(grid.width).addClass("userdata").attr("id","t_"+this.id);\r
-                       ts.p._height += parseInt($(grid.uDiv,ts).height(),10);\r
-                       if(hg) {$(grid.uDiv,ts).hide();}\r
-               }\r
-               if(ts.p.caption) {\r
-                       $(grid.cDiv,ts).width(grid.width).css("text-align","center").show("fast");\r
-                       ts.p._height += parseInt($(grid.cDiv,ts).height(),10);\r
-                       var tdt = ts.p.datatype;\r
-                       if(ts.p.hidegrid===true) {\r
-                               $(".HeaderButton",grid.cDiv).toggle( function(){\r
-                                       if(ts.p.pager) {$(ts.p.pager).fadeOut("slow");}\r
-                                       if(ts.p.toolbar[0]) {$(grid.uDiv,ts).fadeOut("slow");}\r
-                                       $(grid.bDiv,ts).fadeOut("slow");\r
-                                       $(grid.hDiv,ts).fadeOut("slow");\r
-                                       $("img",this).attr("src",ts.p.imgpath+"down.gif");\r
-                                       ts.p.gridstate = 'hidden';\r
-                                       if(onHdCl) {if(!hg) {ts.p.onHeaderClick(ts.p.gridstate);}}\r
-                                       },\r
-                                       function() {\r
-                                       $(grid.hDiv ,ts).fadeIn("slow");\r
-                                       $(grid.bDiv,ts).fadeIn("slow");\r
-                                       if(ts.p.pager) {$(ts.p.pager,ts).fadeIn("slow");}\r
-                                       if(ts.p.toolbar[0]) {$(grid.uDiv).fadeIn("slow");}\r
-                                       $("img",this).attr("src",ts.p.imgpath+"up.gif");\r
-                                       if(hg) {ts.p.datatype = tdt;populate();hg=false;}\r
-                                       ts.p.gridstate = 'visible';\r
-                                       if(onHdCl) {ts.p.onHeaderClick(ts.p.gridstate)}\r
-                                       }\r
-                               );\r
-                               if(hg) { $(".HeaderButton",grid.cDiv).trigger("click"); ts.p.datatype="local";}\r
-                       }\r
-               }\r
-               ts.p._height += parseInt($(grid.hDiv,ts).height(),10);\r
-               $(grid.hDiv).mousemove(function (e) {grid.dragMove(e.clientX); return false;}).after(grid.bDiv);\r
-               $(document).mouseup(function (e) {\r
-                       if(grid.resizing) {\r
-                               grid.dragEnd();\r
-                               if(grid.newWidth && ts.p.forceFit===false){\r
-                                       var gwdt = (grid.width <= ts.p.width) ? grid.width : ts.p.width;\r
-                                       var overfl = (grid.width <= ts.p.width) ? "hidden" : "auto";\r
-                                       if(ts.p.pager && $(ts.p.pager).hasClass("scroll") ) {\r
-                                               $(ts.p.pager).width(gwdt);\r
-                                       }\r
-                                       if(ts.p.caption) {$(grid.cDiv).width(gwdt);}\r
-                                       if(ts.p.toolbar[0]) {$(grid.uDiv).width(gwdt);}\r
-                                       $(grid.bDiv).width(gwdt).css("overflow-x",overfl);\r
-                                       $(grid.hDiv).width(gwdt);\r
-                               }\r
-                       }\r
-                       return false;\r
-               });\r
-               ts.formatCol = function(a,b) {formatCol(a,b);};\r
-               ts.sortData = function(a,b,c){sortData(a,b,c);};\r
-               ts.updatepager = function(){updatepager();};\r
-               this.grid = grid;\r
-               ts.addXmlData = function(d) {addXmlData(d,ts.grid.bDiv);};\r
-               ts.addJSONData = function(d) {addJSONData(d,ts.grid.bDiv);};\r
-               populate();\r
-               if (!ts.p.shrinkToFit) {\r
-                       ts.p.forceFit = false;\r
-                       $("tr:first th", thead).each(function(j){\r
-                               var w = ts.p.colModel[j].owidth;\r
-                               var diff = w - ts.p.colModel[j].width;\r
-                               if (diff > 0 && !ts.p.colModel[j].hidden) {\r
-                                       grid.headers[j].width = w;\r
-                                       $(this).add(grid.cols[j]).width(w);\r
-                                       $('table:first',grid.bDiv).add(grid.hTable).width(ts.grid.width);\r
-                                       ts.grid.width += diff;\r
-                                       grid.hDiv.scrollLeft = grid.bDiv.scrollLeft;\r
-                               }\r
-                       });\r
-                       ofl2 = (grid.width <= ts.p.width) ? "hidden" : "auto";\r
-                       $(grid.bDiv).css({"overflow-x":ofl2});\r
-               }\r
-               $(window).unload(function () {\r
-                       $(this).unbind("*");\r
-                       this.grid = null;\r
-                       this.p = null;\r
-               });\r
-       });\r
-};\r
-})(jQuery);\r