removed mods directory from the ATutor codebase
[atutor.git] / mods / ldap / jscripts / jqgrid / js / grid.formedit.js
diff --git a/mods/ldap/jscripts/jqgrid/js/grid.formedit.js b/mods/ldap/jscripts/jqgrid/js/grid.formedit.js
deleted file mode 100644 (file)
index a7daeda..0000000
+++ /dev/null
@@ -1,906 +0,0 @@
-;(function($){\r
-/**\r
- * jqGrid extension for form editing Grid Data\r
- * Tony Tomov tony@trirand.com\r
- * http://trirand.com/blog/ \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
-**/ \r
-$.fn.extend({\r
-       searchGrid : function ( p ) {\r
-               p = $.extend({\r
-                       top : 0,\r
-                       left: 0,\r
-                       width: 360,\r
-                       height: 80,\r
-                       modal: false,\r
-                       drag: true,\r
-                       closeicon: 'ico-close.gif',\r
-                       dirty: false,\r
-                       sField:'searchField',\r
-                       sValue:'searchString',\r
-                       sOper: 'searchOper',\r
-                       processData: "",\r
-                       checkInput :false,\r
-                       beforeShowSearch: null,\r
-                       afterShowSearch : null,\r
-                       onInitializeSearch: null,\r
-                       // translation\r
-                       // if you want to change or remove the order change it in sopt\r
-                       // ['bw','eq','ne','lt','le','gt','ge','ew','cn'] \r
-                       sopt: null \r
-               }, $.jgrid.search, p || {});\r
-               return this.each(function(){\r
-                       var $t = this;\r
-                       if( !$t.grid ) { return; }\r
-                       if(!p.imgpath) { p.imgpath= $t.p.imgpath; }\r
-                       var gID = $("table:first",$t.grid.bDiv).attr("id");\r
-                       var IDs = { themodal:'srchmod'+gID,modalhead:'srchhead'+gID,modalcontent:'srchcnt'+gID };\r
-                       if ( $("#"+IDs.themodal).html() != null ) {\r
-                               if( $.isFunction('beforeShowSearch') ) { beforeShowSearch($("#srchcnt"+gID)); }\r
-                               viewModal("#"+IDs.themodal,{modal: p.modal});\r
-                               if( $.isFunction('afterShowSearch') ) { afterShowSearch($("#srchcnt"+gID)); }\r
-                       } else {\r
-                               var cM = $t.p.colModel;\r
-                               var cNames = "<select id='snames' class='search'>";\r
-                               var nm, hc, sf;\r
-                               for(var i=0; i< cM.length;i++) {\r
-                                       nm = cM[i].name;\r
-                                       hc = (cM[i].hidden===true) ? true : false;\r
-                                       sf = (cM[i].search===false) ? false: true;\r
-                                       if( nm !== 'cb' && nm !== 'subgrid' && sf && !hc ) { // add here condition for searchable\r
-                                               var sname = (cM[i].index) ? cM[i].index : nm;\r
-                                               cNames += "<option value='"+sname+"'>"+$t.p.colNames[i]+"</option>";\r
-                                       }\r
-                               }\r
-                               cNames += "</select>";\r
-                               var getopt = p.sopt || ['bw','eq','ne','lt','le','gt','ge','ew','cn'];\r
-                               var sOpt = "<select id='sopt' class='search'>";\r
-                               for(var i = 0; i<getopt.length;i++) {\r
-                                       sOpt += getopt[i]=='eq' ? "<option value='eq'>"+p.odata[0]+"</option>" : "";\r
-                                       sOpt += getopt[i]=='ne' ? "<option value='ne'>"+p.odata[1]+"</option>" : "";\r
-                                       sOpt += getopt[i]=='lt' ? "<option value='lt'>"+p.odata[2]+"</option>" : "";\r
-                                       sOpt += getopt[i]=='le' ? "<option value='le'>"+p.odata[3]+"</option>" : "";\r
-                                       sOpt += getopt[i]=='gt' ? "<option value='gt'>"+p.odata[4]+"</option>" : "";\r
-                                       sOpt += getopt[i]=='ge' ? "<option value='ge'>"+p.odata[5]+"</option>" : "";\r
-                                       sOpt += getopt[i]=='bw' ? "<option value='bw'>"+p.odata[6]+"</option>" : "";\r
-                                       sOpt += getopt[i]=='ew' ? "<option value='ew'>"+p.odata[7]+"</option>" : "";\r
-                                       sOpt += getopt[i]=='cn' ? "<option value='cn'>"+p.odata[8]+"</option>" : "";\r
-                               };\r
-                               sOpt += "</select>";\r
-                               // field and buttons\r
-                               var sField  = "<input id='sval' class='search' type='text' size='20' maxlength='100'/>";\r
-                               var bSearch = "<input id='sbut' class='buttonsearch' type='button' value='"+p.Find+"'/>";\r
-                               var bReset  = "<input id='sreset' class='buttonsearch' type='button' value='"+p.Reset+"'/>";\r
-                               var cnt = $("<table width='100%'><tbody><tr style='display:none' id='srcherr'><td colspan='5'></td></tr><tr><td>"+cNames+"</td><td>"+sOpt+"</td><td>"+sField+"</td><td>"+bSearch+"</td><td>"+bReset+"</td></tr></tbody></table>");\r
-                               createModal(IDs,cnt,p,$t.grid.hDiv,$t.grid.hDiv);\r
-                               if ( $.isFunction('onInitializeSearch') ) { onInitializeSearch( $("#srchcnt"+gID) ); };\r
-                               if ( $.isFunction('beforeShowSearch') ) { beforeShowSearch($("#srchcnt"+gID)); };\r
-                               viewModal("#"+IDs.themodal,{modal:p.modal});\r
-                               if($.isFunction('afterShowSearch')) { afterShowSearch($("#srchcnt"+gID)); }\r
-                               if(p.drag) { DnRModal("#"+IDs.themodal,"#"+IDs.modalhead+" td.modaltext"); }\r
-                               $("#sbut","#"+IDs.themodal).click(function(){\r
-                                       if( $("#sval","#"+IDs.themodal).val() !="" ) {\r
-                                               var es=[true,"",""];\r
-                                               $("#srcherr >td","#srchcnt"+gID).html("").hide();\r
-                                               $t.p.searchdata[p.sField] = $("option[@selected]","#snames").val();\r
-                                               $t.p.searchdata[p.sOper] = $("option[@selected]","#sopt").val();\r
-                                               $t.p.searchdata[p.sValue] = $("#sval","#"+IDs.modalcontent).val();\r
-                                               if(p.checkInput) {\r
-                                                       for(var i=0; i< cM.length;i++) {\r
-                                                               var sname = (cM[i].index) ? cM[i].index : nm;\r
-                                                               if (sname == $t.p.searchdata[p.sField]) {\r
-                                                                       break;\r
-                                                               }\r
-                                                       }\r
-                                                       es = checkValues($t.p.searchdata[p.sValue],i,$t);\r
-                                               }\r
-                                               if (es[0]===true) {\r
-                                                       $t.p.search = true; // initialize the search\r
-                                                       // construct array of data which is passed in populate() see jqGrid\r
-                                                       if(p.dirty) { $(".no-dirty-cell",$t.p.pager).addClass("dirty-cell"); }\r
-                                                       $t.p.page= 1;\r
-                                                       $($t).trigger("reloadGrid");\r
-                                               } else {\r
-                                                       $("#srcherr >td","#srchcnt"+gID).html(es[1]).show();\r
-                                               }\r
-                                       }\r
-                               });\r
-                               $("#sreset","#"+IDs.themodal).click(function(){\r
-                                       if ($t.p.search) {\r
-                                               $("#srcherr >td","#srchcnt"+gID).html("").hide();\r
-                                               $t.p.search = false;\r
-                                               $t.p.searchdata = {};\r
-                                               $t.p.page= 1;\r
-                                               $("#sval","#"+IDs.themodal).val("");\r
-                                               if(p.dirty) { $(".no-dirty-cell",$t.p.pager).removeClass("dirty-cell"); }\r
-                                               $($t).trigger("reloadGrid");\r
-                                       }\r
-                               });\r
-                       }\r
-               });\r
-       },\r
-       editGridRow : function(rowid, p){\r
-               p = $.extend({\r
-                       top : 0,\r
-                       left: 0,\r
-                       width: 0,\r
-                       height: 0,\r
-                       modal: false,\r
-                       drag: true, \r
-                       closeicon: 'ico-close.gif',\r
-                       imgpath: '',\r
-                       url: null,\r
-                       mtype : "POST",\r
-                       closeAfterAdd : false,\r
-                       clearAfterAdd : true,\r
-                       closeAfterEdit : false,\r
-                       reloadAfterSubmit : true,\r
-                       onInitializeForm: null, // only once\r
-                       beforeInitData: null,\r
-                       beforeShowForm: null,\r
-                       afterShowForm: null,\r
-                       beforeSubmit: null,\r
-                       afterSubmit: null,\r
-                       onclickSubmit: null,\r
-                       editData : {}\r
-               }, $.jgrid.edit, p || {});\r
-               return this.each(function(){\r
-                       var $t = this;\r
-                       if (!$t.grid || !rowid) { return; }\r
-                       if(!p.imgpath) { p.imgpath= $t.p.imgpath; }\r
-                       // I hate to rewrite code, but ...\r
-                       var gID = $("table:first",$t.grid.bDiv).attr("id");\r
-                       var IDs = {themodal:'editmod'+gID,modalhead:'edithd'+gID,modalcontent:'editcnt'+gID};\r
-                       var onBeforeShow = typeof p.beforeShowForm === 'function' ? true: false;\r
-                       var onAfterShow = typeof p.afterShowForm === 'function' ? true: false;\r
-                       var onBeforeInit = typeof p.beforeInitData === 'function' ? true: false;\r
-                       if (rowid=="new") {\r
-                               rowid = "_empty";\r
-                               p.caption=p.addCaption;\r
-                       } else {\r
-                               p.caption=p.editCaption;\r
-                       };\r
-                       var frmgr = "FrmGrid_"+gID;\r
-                       var frmtb = "TblGrid_"+gID;\r
-                       if ( $("#"+IDs.themodal).html() != null ) {\r
-                               $(".modaltext","#"+IDs.modalhead).html(p.caption);\r
-                               $("#FormError","#"+frmtb).hide();\r
-                               if(onBeforeInit) { p.beforeInitData($("#"+frmgr)); }\r
-                               fillData(rowid,$t);\r
-                               if(rowid=="_empty") { $("#pData, #nData","#"+frmtb).hide(); } else { $("#pData, #nData","#"+frmtb).show(); }\r
-                               if(onBeforeShow) { p.beforeShowForm($("#"+frmgr)); }\r
-                               viewModal("#"+IDs.themodal,{modal:p.modal});\r
-                               if(onAfterShow) { p.afterShowForm($("#"+frmgr)); }\r
-                       } else {\r
-                               var frm = $("<form name='FormPost' id='"+frmgr+"' class='FormGrid'></form>");\r
-                               var tbl =$("<table id='"+frmtb+"' class='EditTable' cellspacing='0' cellpading='0' border='0'><tbody></tbody></table>");\r
-                               $(frm).append(tbl);\r
-                               $(tbl).append("<tr id='FormError' style='display:none'><td colspan='2'>"+"&nbsp;"+"</td></tr>");\r
-                               // set the id.\r
-                               // use carefull only to change here colproperties.\r
-                               if(onBeforeInit) { p.beforeInitData($("#"+frmgr)); }\r
-                               var valref = createData(rowid,$t,tbl);\r
-                               // buttons at footer\r
-                               var imp = $t.p.imgpath;\r
-                               var bP  ="<img id='pData' src='"+imp+$t.p.previmg+"'/>";\r
-                               var bN  ="<img id='nData' src='"+imp+$t.p.nextimg+"'/>";\r
-                               var bS  ="<input id='sData' type='button' class='EditButton' value='"+p.bSubmit+"'/>";\r
-                               var bC  ="<input id='cData' type='button'  class='EditButton' value='"+p.bCancel+"'/>";\r
-                               $(tbl).append("<tr id='Act_Buttons'><td class='navButton'>"+bP+"&nbsp;"+bN+"</td><td class='EditButton'>"+bS+"&nbsp;"+bC+"</td></tr>");\r
-                               // beforeinitdata after creation of the form\r
-                               createModal(IDs,frm,p,$t.grid.hDiv,$t.grid.hDiv);\r
-                               // here initform - only once\r
-                               if(typeof p.onInitializeForm === 'function') { p.onInitializeForm($("#"+frmgr)); }\r
-                               if( p.drag ) { DnRModal("#"+IDs.themodal,"#"+IDs.modalhead+" td.modaltext"); }\r
-                               if(rowid=="_empty") { $("#pData,#nData","#"+frmtb).hide(); } else { $("#pData,#nData","#"+frmtb).show(); }\r
-                               if(onBeforeShow) { p.beforeShowForm($("#"+frmgr)); }\r
-                               viewModal("#"+IDs.themodal,{modal:p.modal});\r
-                               if(onAfterShow) { p.afterShowForm($("#"+frmgr)); }\r
-                               $("#sData", "#"+frmtb).click(function(e){\r
-                                       var postdata = {}, ret=[true,"",""], extpost={};\r
-                                       $("#FormError","#"+frmtb).hide();\r
-                                       // all depend on ret array\r
-                                       //ret[0] - succes\r
-                                       //ret[1] - msg if not succes\r
-                                       //ret[2] - the id  that will be set if reload after submit false\r
-                                       var j =0;\r
-                                       $(".FormElement", "#"+frmtb).each(function(i){\r
-                                               var suc =  true;\r
-                                               switch ($(this).get(0).type) {\r
-                                                       case "checkbox":\r
-                                                               if($(this).attr("checked")) {\r
-                                                                       postdata[this.name]= $(this).val();\r
-                                                               }else {\r
-                                                                       postdata[this.name]= "";\r
-                                                                       extpost[this.name] = $(this).attr("offval");\r
-                                                               }\r
-                                                       break;\r
-                                                       case "select-one":\r
-                                                               postdata[this.name]= $("option:selected",this).val();\r
-                                                               extpost[this.name]= $("option:selected",this).text();\r
-                                                       break;\r
-                                                       case "select-multiple":\r
-                                                               postdata[this.name]= $(this).val();\r
-                                                               var selectedText = [];\r
-                                                               $("option:selected",this).each(\r
-                                                                       function(i,selected){\r
-                                                                               selectedText[i] = $(selected).text();\r
-                                                                       }\r
-                                                               );\r
-                                                               extpost[this.name]= selectedText.join(",");\r
-                                                       break;                                                          \r
-                                                       case "password":\r
-                                                       case "text":\r
-                                                       case "textarea":\r
-                                                               postdata[this.name] = $(this).val();\r
-                                                               ret = checkValues($(this).val(),valref[i],$t);\r
-                                                               if(ret[0] === false) { suc=false; }\r
-                                                       break;\r
-                                               }\r
-                                               j++;\r
-                                               if(!suc) { return false; }\r
-                                       });\r
-                                       if(j==0) { ret[0] = false; ret[1] = $.jgrid.errors.norecords; }\r
-                                       if( typeof p.onclickSubmit === 'function' ) { p.editData = p.onclickSubmit(p) || {}; }\r
-                                       if(ret[0]) {\r
-                                               if( typeof p.beforeSubmit === 'function')  { ret = p.beforeSubmit(postdata,$("#"+frmgr)); }\r
-                                       }\r
-                                       var gurl = p.url ? p.url : $t.p.editurl;\r
-                                       if(ret[0]) {\r
-                                               if(!gurl) { ret[0]=false; ret[1] += " "+$.jgrid.errors.nourl; }\r
-                                       }\r
-                                       if(ret[0] === false) {\r
-                                               $("#FormError>td","#"+frmtb).html(ret[1]);\r
-                                               $("#FormError","#"+frmtb).show();\r
-                                       } else {\r
-                                               if(!p.processing) {\r
-                                                       p.processing = true;\r
-                                                       $("div.loading","#"+IDs.themodal).fadeIn("fast");\r
-                                                       $(this).attr("disabled",true);\r
-                                                       // we add to pos data array the action - the name is oper\r
-                                                       postdata.oper = postdata.id == "_empty" ? "add" : "edit";\r
-                                                       postdata = $.extend(postdata,p.editData);\r
-                                                       $.ajax({\r
-                                                               url:gurl,\r
-                                                               type: p.mtype,\r
-                                                               data:postdata,\r
-                                                               complete:function(data,Status){\r
-                                                                       if(Status != "success") {\r
-                                                                               ret[0] = false;\r
-                                                                               ret[1] = Status+" Status: "+data.statusText +" Error code: "+data.status;\r
-                                                                       } else {\r
-                                                                               // data is posted successful\r
-                                                                               // execute aftersubmit with the returned data from server\r
-                                                                               if( typeof p.afterSubmit === 'function' ) {\r
-                                                                                       ret = p.afterSubmit(data,postdata);\r
-                                                                               }\r
-                                                                       }\r
-                                                                       if(ret[0] === false) {\r
-                                                                               $("#FormError>td","#"+frmtb).html(ret[1]);\r
-                                                                               $("#FormError","#"+frmtb).show();\r
-                                                                       } else {\r
-                                                                               postdata = $.extend(postdata,extpost);\r
-                                                                               // the action is add\r
-                                                                               if(postdata.id=="_empty" ) {\r
-                                                                                       //id processing\r
-                                                                                       // user not set the id ret[2]\r
-                                                                                       if(!ret[2]) { ret[2] = parseInt($($t).getGridParam('records'))+1; }\r
-                                                                                       postdata.id = ret[2];\r
-                                                                                       if(p.closeAfterAdd) {\r
-                                                                                               if(p.reloadAfterSubmit) { $($t).trigger("reloadGrid"); }\r
-                                                                                               else { $($t).addRowData(ret[2],postdata,"first"); }\r
-                                                                                               $("#"+IDs.themodal).jqmHide();\r
-                                                                                       } else if (p.clearAfterAdd) {\r
-                                                                                               if(p.reloadAfterSubmit) { $($t).trigger("reloadGrid"); }\r
-                                                                                               else { $($t).addRowData(ret[2],postdata,"first"); }\r
-                                                                                               $(".FormElement", "#"+frmtb).each(function(i){\r
-                                                                                                       switch ($(this).get(0).type) {\r
-                                                                                                       case "checkbox":\r
-                                                                                                               $(this).attr("checked",0);\r
-                                                                                                               break;\r
-                                                                                                       case "select-one":\r
-                                                                                                       case "select-multiple":\r
-                                                                                                               $("option",this).attr("selected","");\r
-                                                                                                               break;\r
-                                                                                                               case "password":\r
-                                                                                                               case "text":\r
-                                                                                                               case "textarea":\r
-                                                                                                                       if(this.name =='id') { $(this).val("_empty"); }\r
-                                                                                                                       else { $(this).val(""); }\r
-                                                                                                               break;\r
-                                                                                                       }\r
-                                                                                               });\r
-                                                                                       } else {\r
-                                                                                               if(p.reloadAfterSubmit) { $($t).trigger("reloadGrid"); }\r
-                                                                                               else { $($t).addRowData(ret[2],postdata,"first"); }\r
-                                                                                       }\r
-                                                                               } else {\r
-                                                                                       // the action is update\r
-                                                                                       if(p.reloadAfterSubmit) {\r
-                                                                                               $($t).trigger("reloadGrid");\r
-                                                                                               if( !p.closeAfterEdit ) { $($t).setSelection(postdata.id); }\r
-                                                                                       } else {\r
-                                                                                               if($t.p.treeGrid === true) {\r
-                                                                                                       $($t).setTreeRow(postdata.id,postdata);\r
-                                                                                               } else {\r
-                                                                                                       $($t).setRowData(postdata.id,postdata);\r
-                                                                                               }\r
-                                                                                       }\r
-                                                                                       if(p.closeAfterEdit) { $("#"+IDs.themodal).jqmHide(); }\r
-                                                                               }\r
-                                                                       }\r
-                                                                       p.processing=false;\r
-                                                                       $("#sData", "#"+frmtb).attr("disabled",false);\r
-                                                                       $("div.loading","#"+IDs.themodal).fadeOut("fast");\r
-                                                               }\r
-                                                       });\r
-                                               }\r
-                                       }\r
-                                       e.stopPropagation();\r
-                               });\r
-                               $("#cData", "#"+frmtb).click(function(e){\r
-                                       $("#"+IDs.themodal).jqmHide();\r
-                                       e.stopPropagation();\r
-                               });\r
-                               $("#nData", "#"+frmtb).click(function(e){\r
-                                       $("#FormError","#"+frmtb).hide();\r
-                                       var npos = getCurrPos();\r
-                                       npos[0] = parseInt(npos[0]);\r
-                                       if(npos[0] != -1 && npos[1][npos[0]+1]) {\r
-                                               fillData(npos[1][npos[0]+1],$t);\r
-                                               $($t).setSelection(npos[1][npos[0]+1]);\r
-                                               updateNav(npos[0]+1,npos[1].length-1);\r
-                                       };\r
-                                       return false;\r
-                               });\r
-                               $("#pData", "#"+frmtb).click(function(e){\r
-                                       $("#FormError","#"+frmtb).hide();\r
-                                       var ppos = getCurrPos();\r
-                                       if(ppos[0] != -1 && ppos[1][ppos[0]-1]) {\r
-                                               fillData(ppos[1][ppos[0]-1],$t);\r
-                                               $($t).setSelection(ppos[1][ppos[0]-1]);\r
-                                               updateNav(ppos[0]-1,ppos[1].length-1);\r
-                                       };\r
-                                       return false;\r
-                               });\r
-                       };\r
-                       var posInit =getCurrPos();\r
-                       updateNav(posInit[0],posInit[1].length-1);\r
-                       function updateNav(cr,totr,rid){                \r
-                               var imp = $t.p.imgpath;\r
-                               if (cr==0) { $("#pData","#"+frmtb).attr("src",imp+"off-"+$t.p.previmg); } else { $("#pData","#"+frmtb).attr("src",imp+$t.p.previmg); }\r
-                               if (cr==totr) { $("#nData","#"+frmtb).attr("src",imp+"off-"+$t.p.nextimg); } else { $("#nData","#"+frmtb).attr("src",imp+$t.p.nextimg); }\r
-                       };\r
-                       function getCurrPos() {\r
-                               var rowsInGrid = $($t).getDataIDs();\r
-                               var selrow = $("#id_g","#"+frmtb).val();\r
-                               var pos = $.inArray(selrow,rowsInGrid);\r
-                               return [pos,rowsInGrid];\r
-                       };\r
-                       function createData(rowid,obj,tb){\r
-                               var nm, hc,trdata, tdl, tde, cnt=0,tmp, dc,elc, retpos=[];\r
-                               $('#'+rowid+' td',obj.grid.bDiv).each( function(i) {\r
-                                       nm = obj.p.colModel[i].name;\r
-                                       // hidden fields are included in the form\r
-                                       if(obj.p.colModel[i].editrules && obj.p.colModel[i].editrules.edithidden == true) {\r
-                                               hc = false;\r
-                                       } else {\r
-                                               hc = obj.p.colModel[i].hidden === true ? true : false;\r
-                                       }\r
-                                       dc = hc ? "style='display:none'" : "";\r
-                                       if ( nm !== 'cb' && nm !== 'subgrid' && obj.p.colModel[i].editable===true) {\r
-                                               if(nm == obj.p.ExpandColumn && obj.p.treeGrid === true) {\r
-                                                       tmp = $(this).text();\r
-                                               } else {\r
-                                                       tmp = $(this).html().replace(/\&nbsp\;/ig,'');\r
-                                               }\r
-                                               var opt = $.extend(obj.p.colModel[i].editoptions || {} ,{id:nm,name:nm});\r
-                                               if(!obj.p.colModel[i].edittype) obj.p.colModel[i].edittype = "text";\r
-                                               elc = createEl(obj.p.colModel[i].edittype,opt,tmp);\r
-                                               $(elc).addClass("FormElement");\r
-                                               trdata = $("<tr "+dc+"></tr>").addClass("FormData");\r
-                                               tdl = $("<td></td>").addClass("CaptionTD");\r
-                                               tde = $("<td></td>").addClass("DataTD");\r
-                                               $(tdl).html(obj.p.colNames[i]+": ");\r
-                                               $(tde).append(elc);\r
-                                               trdata.append(tdl);\r
-                                               trdata.append(tde);\r
-                                               if(tb) { $(tb).append(trdata); }\r
-                                               else { $(trdata).insertBefore("#Act_Buttons"); }\r
-                                               retpos[cnt] = i;\r
-                                               cnt++;\r
-                                       };\r
-                               });\r
-                               if( cnt > 0) {\r
-                                       var idrow = $("<tr class='FormData' style='display:none'><td class='CaptionTD'>"+"&nbsp;"+"</td><td class='DataTD'><input class='FormElement' id='id_g' type='text' name='id' value='"+rowid+"'/></td></tr>");\r
-                                       if(tb) { $(tb).append(idrow); }\r
-                                       else { $(idrow).insertBefore("#Act_Buttons"); }\r
-                               }\r
-                               return retpos;\r
-                       };\r
-                       function fillData(rowid,obj){\r
-                               var nm, hc,cnt=0,tmp;\r
-                               $('#'+rowid+' td',obj.grid.bDiv).each( function(i) {\r
-                                       nm = obj.p.colModel[i].name;\r
-                                       // hidden fields are included in the form\r
-                                       if(obj.p.colModel[i].editrules && obj.p.colModel[i].editrules.edithidden === true) {\r
-                                               hc = false;\r
-                                       } else {\r
-                                               hc = obj.p.colModel[i].hidden === true ? true : false;\r
-                                       }\r
-                                       if ( nm !== 'cb' && nm !== 'subgrid' && obj.p.colModel[i].editable===true) {\r
-                                               if(nm == obj.p.ExpandColumn && obj.p.treeGrid === true) {\r
-                                                       tmp = $(this).text();\r
-                                               } else {\r
-                                                       tmp = $(this).html().replace(/\&nbsp\;/ig,'');\r
-                                               }\r
-                                               switch (obj.p.colModel[i].edittype) {\r
-                                                       case "password":\r
-                                                       case "text":\r
-                                                       case "textarea":\r
-                                                               $("#"+nm,"#"+frmtb).val(tmp);\r
-                                                               break;\r
-                                                       case "select":\r
-                                                               $("#"+nm+" option","#"+frmtb).each(function(j){\r
-                                                                       if (!obj.p.colModel[i].editoptions.multiple && tmp == $(this).text() ){\r
-                                                                               this.selected= true;\r
-                                                                       } else if (obj.p.colModel[i].editoptions.multiple){\r
-                                                                               if(  $.inArray($(this).text(), tmp.split(",") ) > -1  ){\r
-                                                                                       this.selected = true;\r
-                                                                               }else{\r
-                                                                                       this.selected = false;\r
-                                                                               }\r
-                                                                       } else {\r
-                                                                               this.selected = false;\r
-                                                                       }\r
-                                                               });\r
-                                                               break;\r
-                                                       case "checkbox":\r
-                                                               if(tmp==$("#"+nm,"#"+frmtb).val()) {\r
-                                                                       $("#"+nm,"#"+frmtb).attr("checked",true);\r
-                                                                       $("#"+nm,"#"+frmtb).attr("defaultChecked",true); //ie\r
-                                                               } else {\r
-                                                                       $("#"+nm,"#"+frmtb).attr("checked",false);\r
-                                                                       $("#"+nm,"#"+frmtb).attr("defaultChecked",""); //ie\r
-                                                               }\r
-                                                               break; \r
-                                               }\r
-                                               if (hc) { $("#"+nm,"#"+frmtb).parents("tr:first").hide(); }\r
-                                               cnt++;\r
-                                       }\r
-                               });\r
-                               if(cnt>0) { $("#id_g","#"+frmtb).val(rowid); }\r
-                               else { $("#id_g","#"+frmtb).val(""); }\r
-                               return cnt;\r
-                       };\r
-               });\r
-       },\r
-       delGridRow : function(rowids,p) {\r
-               p = $.extend({\r
-                       top : 0,\r
-                       left: 0,\r
-                       width: 240,\r
-                       height: 90,\r
-                       modal: false,\r
-                       drag: true, \r
-                       closeicon: 'ico-close.gif',\r
-                       imgpath: '',\r
-                       url : '',\r
-                       mtype : "POST",\r
-                       reloadAfterSubmit: true,\r
-                       beforeShowForm: null,\r
-                       afterShowForm: null,\r
-                       beforeSubmit: null,\r
-                       onclickSubmit: null,\r
-                       afterSubmit: null,\r
-                       onclickSubmit: null,\r
-                       delData: {}\r
-               }, $.jgrid.del, p ||{});\r
-               return this.each(function(){\r
-                       var $t = this;\r
-                       if (!$t.grid ) { return; }\r
-                       if(!rowids) { return; }\r
-                       if(!p.imgpath) { p.imgpath= $t.p.imgpath; }\r
-                       var onBeforeShow = typeof p.beforeShowForm === 'function' ? true: false;\r
-                       var onAfterShow = typeof p.afterShowForm === 'function' ? true: false;\r
-                       if (isArray(rowids)) { rowids = rowids.join(); }\r
-                       var gID = $("table:first",$t.grid.bDiv).attr("id");\r
-                       var IDs = {themodal:'delmod'+gID,modalhead:'delhd'+gID,modalcontent:'delcnt'+gID};\r
-                       var dtbl = "DelTbl_"+gID;\r
-                       if ( $("#"+IDs.themodal).html() != null ) {\r
-                               $("#DelData>td","#"+dtbl).text(rowids);\r
-                               $("#DelError","#"+dtbl).hide();\r
-                               if(onBeforeShow) { p.beforeShowForm($("#"+dtbl)); }\r
-                               viewModal("#"+IDs.themodal,{modal:p.modal});\r
-                               if(onAfterShow) { p.afterShowForm($("#"+dtbl)); }\r
-                       } else {\r
-                               var tbl =$("<table id='"+dtbl+"' class='DelTable'><tbody></tbody></table>");\r
-                               // error data \r
-                               $(tbl).append("<tr id='DelError' style='display:none'><td >"+"&nbsp;"+"</td></tr>");\r
-                               $(tbl).append("<tr id='DelData' style='display:none'><td >"+rowids+"</td></tr>");\r
-                               $(tbl).append("<tr><td >"+p.msg+"</td></tr>");\r
-                               // buttons at footer\r
-                               var bS  ="<input id='dData' type='button' value='"+p.bSubmit+"'/>";\r
-                               var bC  ="<input id='eData' type='button' value='"+p.bCancel+"'/>";\r
-                               $(tbl).append("<tr><td class='DelButton'>"+bS+"&nbsp;"+bC+"</td></tr>");\r
-                               createModal(IDs,tbl,p,$t.grid.hDiv,$t.grid.hDiv);\r
-                               if( p.drag) { DnRModal("#"+IDs.themodal,"#"+IDs.modalhead+" td.modaltext"); }\r
-                               $("#dData","#"+dtbl).click(function(e){\r
-                                       var ret=[true,""];\r
-                                       var postdata = $("#DelData>td","#"+dtbl).text(); //the pair is name=val1,val2,...\r
-                                       if( typeof p.onclickSubmit === 'function' ) { p.delData = p.onclickSubmit(p) || {}; }\r
-                                       if( typeof p.beforeSubmit === 'function' ) { ret = p.beforeSubmit(postdata); }\r
-                                       var gurl = p.url ? p.url : $t.p.editurl;\r
-                                       if(!gurl) { ret[0]=false;ret[1] += " "+$.jgrid.errors.nourl;}\r
-                                       if(ret[0] === false) {\r
-                                               $("#DelError>td","#"+dtbl).html(ret[1]);\r
-                                               $("#DelError","#"+dtbl).show();\r
-                                       } else {\r
-                                               if(!p.processing) {\r
-                                                       p.processing = true;\r
-                                                       $("div.loading","#"+IDs.themodal).fadeIn("fast");\r
-                                                       $(this).attr("disabled",true);\r
-                                                       var postd = $.extend({oper:"del", id:postdata},p.delData);\r
-                                                       $.ajax({\r
-                                                               url:gurl,\r
-                                                               type: p.mtype,\r
-                                                               data:postd,\r
-                                                               complete:function(data,Status){\r
-                                                                       if(Status != "success") {\r
-                                                                               ret[0] = false;\r
-                                                                               ret[1] = Status+" Status: "+data.statusText +" Error code: "+data.status;\r
-                                                                       } else {\r
-                                                                               // data is posted successful\r
-                                                                               // execute aftersubmit with the returned data from server\r
-                                                                               if( typeof p.afterSubmit === 'function' ) {\r
-                                                                                       ret = p.afterSubmit(data,postdata);\r
-                                                                               }\r
-                                                                       }\r
-                                                                       if(ret[0] === false) {\r
-                                                                               $("#DelError>td","#"+dtbl).html(ret[1]);\r
-                                                                               $("#DelError","#"+dtbl).show();\r
-                                                                       } else {\r
-                                                                               if(p.reloadAfterSubmit) {\r
-                                                                                       if($t.p.treeGrid) {\r
-                                                                                               $($t).setGridParam({treeANode:0,datatype:$t.p.treedatatype});\r
-                                                                                       }\r
-                                                                                       $($t).trigger("reloadGrid");\r
-                                                                               } else {\r
-                                                                                       var toarr = [];\r
-                                                                                       toarr = postdata.split(",");\r
-                                                                                       if($t.p.treeGrid===true){\r
-                                                                                               try {$($t).delTreeNode(toarr[0])} catch(e){}\r
-                                                                                       } else {\r
-                                                                                               for(var i=0;i<toarr.length;i++) {\r
-                                                                                                       $($t).delRowData(toarr[i]);\r
-                                                                                               }\r
-                                                                                       }\r
-                                                                                       $t.p.selrow = null;\r
-                                                                                       $t.p.selarrrow = [];\r
-                                                                               }\r
-                                                                       }\r
-                                                                       p.processing=false;\r
-                                                                       $("#dData", "#"+dtbl).attr("disabled",false);\r
-                                                                       $("div.loading","#"+IDs.themodal).fadeOut("fast");\r
-                                                                       if(ret[0]) { $("#"+IDs.themodal).jqmHide(); }\r
-                                                               }\r
-                                                       });\r
-                                               }\r
-                                       }\r
-                                       return false;\r
-                               });\r
-                               $("#eData", "#"+dtbl).click(function(e){\r
-                                       $("#"+IDs.themodal).jqmHide();\r
-                                       return false;\r
-                               });\r
-                               if(onBeforeShow) { p.beforeShowForm($("#"+dtbl)); }\r
-                               viewModal("#"+IDs.themodal,{modal:p.modal});\r
-                               if(onAfterShow) { p.afterShowForm($("#"+dtbl)); }\r
-                       }\r
-               });\r
-       },\r
-       navGrid : function (elem, o, pEdit,pAdd,pDel,pSearch) {\r
-               o = $.extend({\r
-                       edit: true,\r
-                       editicon: "row_edit.gif",\r
-\r
-                       add: true,\r
-                       addicon:"row_add.gif",\r
-\r
-                       del: true,\r
-                       delicon:"row_delete.gif",\r
-\r
-                       search: true,\r
-                       searchicon:"find.gif",\r
-\r
-                       refresh: true,\r
-                       refreshicon:"refresh.gif",\r
-                       refreshstate: 'firstpage',\r
-\r
-                       position : "left",\r
-                       closeicon: "ico-close.gif"\r
-               }, $.jgrid.nav, o ||{});\r
-               return this.each(function() {       \r
-                       var alertIDs = {themodal:'alertmod',modalhead:'alerthd',modalcontent:'alertcnt'};\r
-                       var $t = this;\r
-                       if(!$t.grid) { return; }\r
-                       if ($("#"+alertIDs.themodal).html() == null) {\r
-                               var vwidth;\r
-                               var vheight;\r
-                               if (typeof window.innerWidth != 'undefined') {\r
-                                       vwidth = window.innerWidth,\r
-                                       vheight = window.innerHeight\r
-                               } else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {\r
-                                       vwidth = document.documentElement.clientWidth,\r
-                                       vheight = document.documentElement.clientHeight\r
-                               } else {\r
-                                       vwidth=1024;\r
-                                       vheight=768;\r
-                               }\r
-                               createModal(alertIDs,"<div>"+o.alerttext+"</div>",{imgpath:$t.p.imgpath,closeicon:o.closeicon,caption:o.alertcap,top:vheight/2-25,left:vwidth/2-100,width:200,height:50},$t.grid.hDiv,$t.grid.hDiv,true);\r
-                               DnRModal("#"+alertIDs.themodal,"#"+alertIDs.modalhead);\r
-                       }\r
-                       var navTbl = $("<table cellspacing='0' cellpadding='0' border='0' class='navtable'><tbody></tbody></table>").height(20);\r
-                       var trd = document.createElement("tr");\r
-                       $(trd).addClass("nav-row");\r
-                       var imp = $t.p.imgpath;\r
-                       var tbd;\r
-                       if (o.edit) {\r
-                               tbd = document.createElement("td");\r
-                               $(tbd).append("&nbsp;").css({border:"none",padding:"0px"});\r
-                               trd.appendChild(tbd);\r
-                               tbd = document.createElement("td");\r
-                               tbd.title = o.edittitle || "";\r
-                               $(tbd).append("<table cellspacing='0' cellpadding='0' border='0' class='tbutton'><tr><td><img src='"+imp+o.editicon+"'/></td><td valign='center'>"+o.edittext+"&nbsp;</td></tr></table>")\r
-                               .css("cursor","pointer")\r
-                               .addClass("nav-button")\r
-                               .click(function(){\r
-                                       var sr = $($t).getGridParam('selrow');\r
-                                       if (sr) { $($t).editGridRow(sr,pEdit || {}); }\r
-                                       else { viewModal("#"+alertIDs.themodal); }\r
-                                       return false;\r
-                               })\r
-                               .hover( function () {\r
-                                       $(this).addClass("nav-hover");\r
-                                       },\r
-                                       function () {\r
-                                               $(this).removeClass("nav-hover");\r
-                                       }\r
-                               );\r
-                               trd.appendChild(tbd);\r
-                               tbd = null;\r
-                       }\r
-                       if (o.add) {\r
-                               tbd = document.createElement("td");\r
-                               $(tbd).append("&nbsp;").css({border:"none",padding:"0px"});\r
-                               trd.appendChild(tbd);\r
-                               tbd = document.createElement("td");\r
-                               tbd.title = o.addtitle || "";\r
-                               $(tbd).append("<table cellspacing='0' cellpadding='0' border='0' class='tbutton'><tr><td><img src='"+imp+o.addicon+"'/></td><td>"+o.addtext+"&nbsp;</td></tr></table>")\r
-                               .css("cursor","pointer")\r
-                               .addClass("nav-button")\r
-                               .click(function(){\r
-                                       if (typeof o.addfunc == 'function') {\r
-                                               o.addfunc();\r
-                                       } else {\r
-                                               $($t).editGridRow("new",pAdd || {});\r
-                                       }\r
-                                       return false;\r
-                               })\r
-                               .hover(\r
-                                       function () {\r
-                                               $(this).addClass("nav-hover");\r
-                                       },\r
-                                       function () {\r
-                                               $(this).removeClass("nav-hover");\r
-                                       }\r
-                               );\r
-                               trd.appendChild(tbd);\r
-                               tbd = null;\r
-                       }\r
-                       if (o.del) {\r
-                               tbd = document.createElement("td");\r
-                               $(tbd).append("&nbsp;").css({border:"none",padding:"0px"});\r
-                               trd.appendChild(tbd);\r
-                               tbd = document.createElement("td");\r
-                               tbd.title = o.deltitle || "";\r
-                               $(tbd).append("<table cellspacing='0' cellpadding='0' border='0' class='tbutton'><tr><td><img src='"+imp+o.delicon+"'/></td><td>"+o.deltext+"&nbsp;</td></tr></table>")\r
-                               .css("cursor","pointer")\r
-                               .addClass("nav-button")\r
-                               .click(function(){\r
-                                       var dr;\r
-                                       if($t.p.multiselect) {\r
-                                               dr = $($t).getGridParam('selarrrow');\r
-                                               if(dr.length==0) { dr = null; }\r
-                                       } else {\r
-                                               dr = $($t).getGridParam('selrow');\r
-                                       }\r
-                                       if (dr) { $($t).delGridRow(dr,pDel || {}); }\r
-                                       else  { viewModal("#"+alertIDs.themodal); }\r
-                                       return false;\r
-                               })\r
-                               .hover(\r
-                                       function () {\r
-                                               $(this).addClass("nav-hover");\r
-                                       },\r
-                                       function () {\r
-                                               $(this).removeClass("nav-hover");\r
-                                       }\r
-                               );\r
-                               trd.appendChild(tbd);\r
-                               tbd = null;\r
-                       }\r
-                       if (o.search) {\r
-                               tbd = document.createElement("td");\r
-                               $(tbd).append("&nbsp;").css({border:"none",padding:"0px"});\r
-                               trd.appendChild(tbd);\r
-                               tbd = document.createElement("td");\r
-                               if( $(elem)[0] == $t.p.pager[0] ) { pSearch = $.extend(pSearch,{dirty:true}); }\r
-                               tbd.title = o.searchtitle || "";\r
-                               $(tbd).append("<table cellspacing='0' cellpadding='0' border='0' class='tbutton'><tr><td class='no-dirty-cell'><img src='"+imp+o.searchicon+"'/></td><td>"+o.searchtext+"&nbsp;</td></tr></table>")\r
-                               .css({cursor:"pointer"})\r
-                               .addClass("nav-button")\r
-                               .click(function(){\r
-                                       $($t).searchGrid(pSearch || {});\r
-                                       return false;\r
-                               })\r
-                               .hover(\r
-                                       function () {\r
-                                               $(this).addClass("nav-hover");\r
-                                       },\r
-                                       function () {\r
-                                               $(this).removeClass("nav-hover");\r
-                                       }\r
-                               );\r
-                               trd.appendChild(tbd);\r
-                               tbd = null;\r
-                       }\r
-                       if (o.refresh) {\r
-                               tbd = document.createElement("td");\r
-                               $(tbd).append("&nbsp;").css({border:"none",padding:"0px"});\r
-                               trd.appendChild(tbd);\r
-                               tbd = document.createElement("td");\r
-                               tbd.title = o.refreshtitle || "";\r
-                               var dirtycell =  ($(elem)[0] == $t.p.pager[0] ) ? true : false;\r
-                               $(tbd).append("<table cellspacing='0' cellpadding='0' border='0' class='tbutton'><tr><td><img src='"+imp+o.refreshicon+"'/></td><td>"+o.refreshtext+"&nbsp;</td></tr></table>")\r
-                               .css("cursor","pointer")\r
-                               .addClass("nav-button")\r
-                               .click(function(){\r
-                                       $t.p.search = false;\r
-                                       switch (o.refreshstate) {\r
-                                               case 'firstpage':\r
-                                                       $t.p.page=1;\r
-                                                       $($t).trigger("reloadGrid");\r
-                                                       break;\r
-                                               case 'current':\r
-                                                       var sr = $t.p.multiselect===true ? selarrrow : $t.p.selrow;\r
-                                                       $($t).setGridParam({gridComplete: function() {\r
-                                                               if($t.p.multiselect===true) {\r
-                                                                       if(sr.length>0) {\r
-                                                                               for(var i=0;i<sr.length;i++){\r
-                                                                                       $($t).setSelection(sr[i]);\r
-                                                                               }\r
-                                                                       }\r
-                                                               } else {\r
-                                                                       if(sr) {\r
-                                                                               $($t).setSelection(sr);\r
-                                                                       }\r
-                                                               }\r
-                                                       }});\r
-                                                       $($t).trigger("reloadGrid");\r
-                                                       break;\r
-                                       }\r
-                                       if (dirtycell) { $(".no-dirty-cell",$t.p.pager).removeClass("dirty-cell"); }\r
-                                       if(o.search) {\r
-                                               var gID = $("table:first",$t.grid.bDiv).attr("id");\r
-                                               $("#sval",'#srchcnt'+gID).val("");\r
-                                       }\r
-                                       return false;\r
-                               })\r
-                               .hover(\r
-                                       function () {\r
-                                               $(this).addClass("nav-hover");\r
-                                       },\r
-                                       function () {\r
-                                               $(this).removeClass("nav-hover");\r
-                                       }\r
-                               );\r
-                               trd.appendChild(tbd);\r
-                               tbd = null;\r
-                       }\r
-                       if(o.position=="left") {\r
-                               $(navTbl).append(trd).addClass("nav-table-left");\r
-                       } else {\r
-                               $(navTbl).append(trd).addClass("nav-table-right");\r
-                       }\r
-                       $(elem).prepend(navTbl);\r
-               });\r
-       },\r
-       navButtonAdd : function (elem, p) {\r
-               p = $.extend({\r
-                       caption : "newButton",\r
-                       title: '',\r
-                       buttonimg : '',\r
-                       onClickButton: null,\r
-                       position : "last"\r
-               }, p ||{});\r
-               return this.each(function() {\r
-                       if( !this.grid)  { return; }\r
-                       if( elem.indexOf("#") != 0) { elem = "#"+elem; }\r
-                       var findnav = $(".navtable",elem)[0];\r
-                       if (findnav) {\r
-                               var tdb, tbd1;\r
-                               var tbd1 = document.createElement("td");\r
-                               $(tbd1).append("&nbsp;").css({border:"none",padding:"0px"});\r
-                               var trd = $("tr:eq(0)",findnav)[0];\r
-                               if( p.position !='first' ) {\r
-                                       trd.appendChild(tbd1);\r
-                               }\r
-                               tbd = document.createElement("td");\r
-                               tbd.title = p.title;\r
-                               var im = (p.buttonimg) ? "<img src='"+p.buttonimg+"'/>" : "&nbsp;";\r
-                               $(tbd).append("<table cellspacing='0' cellpadding='0' border='0' class='tbutton'><tr><td>"+im+"</td><td>"+p.caption+"&nbsp;</td></tr></table>")\r
-                               .css("cursor","pointer")\r
-                               .addClass("nav-button")\r
-                               .click(function(e){\r
-                                       if (typeof p.onClickButton == 'function') { p.onClickButton(); }\r
-                                       e.stopPropagation();\r
-                                       return false;\r
-                               })\r
-                               .hover(\r
-                                       function () {\r
-                                               $(this).addClass("nav-hover");\r
-                                       },\r
-                                       function () {\r
-                                               $(this).removeClass("nav-hover");\r
-                                       }\r
-                               );\r
-                               if(p.position != 'first') {\r
-                                       trd.appendChild(tbd);\r
-                               } else {\r
-                                       $(trd).prepend(tbd);\r
-                                       $(trd).prepend(tbd1);\r
-                               }\r
-                               tbd=null;tbd1=null;\r
-                       }\r
-               });\r
-       },\r
-       GridToForm : function( rowid, formid ) {\r
-               return this.each(function(){\r
-                       var $t = this;\r
-                       if (!$t.grid) { return; } \r
-                       var rowdata = $($t).getRowData(rowid);\r
-                       if (rowdata) {\r
-                               for(var i in rowdata) {\r
-                                       if ( $("[name="+i+"]",formid).is("input:radio") )  {\r
-                                               $("[name="+i+"]",formid).each( function() {\r
-                                                       if( $(this).val() == rowdata[i] ) {\r
-                                                               $(this).attr("checked","checked");\r
-                                                       } else {\r
-                                                               $(this).attr("checked","");\r
-                                                       }\r
-                                               });\r
-                                       } else {\r
-                                       // this is very slow on big table and form.\r
-                                               $("[name="+i+"]",formid).val(rowdata[i]);\r
-                                       }\r
-                               }\r
-                       }\r
-               });\r
-       },\r
-       FormToGrid : function(rowid, formid){\r
-               return this.each(function() {\r
-                       var $t = this;\r
-                       if(!$t.grid) { return; }\r
-                       var fields = $(formid).serializeArray();\r
-                       var griddata = {};\r
-                       $.each(fields, function(i, field){\r
-                               griddata[field.name] = field.value;\r
-                       });\r
-                       $($t).setRowData(rowid,griddata);\r
-               });\r
-       }\r
-});\r
-})(jQuery);\r