(function($){"use strict";$.jgrid.extend({editCell:function(iRow,iCol,ed){return this.each(function(){var $t=this,nm,tmp,cc,cm;if(!$t.grid||$t.p.cellEdit!==true){return;}
iCol=parseInt(iCol,10);$t.p.selrow=$t.rows[iRow].id;if(!$t.p.knv){$($t).jqGrid("GridNav");}
if($t.p.savedRow.length>0){if(ed===true){if(iRow==$t.p.iRow&&iCol==$t.p.iCol){return;}}
$($t).jqGrid("saveCell",$t.p.savedRow[0].id,$t.p.savedRow[0].ic);}else{window.setTimeout(function(){$("#"+$.jgrid.jqID($t.p.knv)).attr("tabindex","-1").focus();},1);}
cm=$t.p.colModel[iCol];nm=cm.name;if(nm==='subgrid'||nm==='cb'||nm==='rn'){return;}
cc=$("td:eq("+iCol+")",$t.rows[iRow]);if(cm.editable===true&&ed===true&&!cc.hasClass("not-editable-cell")){if(parseInt($t.p.iCol,10)>=0&&parseInt($t.p.iRow,10)>=0){$("td:eq("+$t.p.iCol+")",$t.rows[$t.p.iRow]).removeClass("edit-cell ui-state-highlight");$($t.rows[$t.p.iRow]).removeClass("selected-row ui-state-hover");}
$(cc).addClass("edit-cell ui-state-highlight");$($t.rows[iRow]).addClass("selected-row ui-state-hover");try{tmp=$.unformat.call($t,cc,{rowId:$t.rows[iRow].id,colModel:cm},iCol);}catch(_){tmp=(cm.edittype&&cm.edittype==='textarea')?$(cc).text():$(cc).html();}
if($t.p.autoencode){tmp=$.jgrid.htmlDecode(tmp);}
if(!cm.edittype){cm.edittype="text";}
$t.p.savedRow.push({id:iRow,ic:iCol,name:nm,v:tmp});if(tmp===" "||tmp===" "||(tmp.length===1&&tmp.charCodeAt(0)===160)){tmp='';}
if($.isFunction($t.p.formatCell)){var tmp2=$t.p.formatCell.call($t,$t.rows[iRow].id,nm,tmp,iRow,iCol);if(tmp2!==undefined){tmp=tmp2;}}
$($t).triggerHandler("jqGridBeforeEditCell",[$t.rows[iRow].id,nm,tmp,iRow,iCol]);if($.isFunction($t.p.beforeEditCell)){$t.p.beforeEditCell.call($t,$t.rows[iRow].id,nm,tmp,iRow,iCol);}
var opt=$.extend({},cm.editoptions||{},{id:iRow+"_"+nm,name:nm,rowId:$t.rows[iRow].id});var elc=$.jgrid.createEl.call($t,cm.edittype,opt,tmp,true,$.extend({},$.jgrid.ajaxOptions,$t.p.ajaxSelectOptions||{}));$(cc).html("").append(elc).attr("tabindex","0");$.jgrid.bindEv.call($t,elc,opt);window.setTimeout(function(){$(elc).focus();},1);$("input, select, textarea",cc).bind("keydown",function(e){if(e.keyCode===27){if($("input.hasDatepicker",cc).length>0){if($(".ui-datepicker").is(":hidden")){$($t).jqGrid("restoreCell",iRow,iCol);}
else{$("input.hasDatepicker",cc).datepicker('hide');}}else{$($t).jqGrid("restoreCell",iRow,iCol);}}
if(e.keyCode===13&&!e.shiftKey){$($t).jqGrid("saveCell",iRow,iCol);return false;}
if(e.keyCode===9){if(!$t.grid.hDiv.loading){if(e.shiftKey){$($t).jqGrid("prevCell",iRow,iCol);}
else{$($t).jqGrid("nextCell",iRow,iCol);}}else{return false;}}
e.stopPropagation();});$($t).triggerHandler("jqGridAfterEditCell",[$t.rows[iRow].id,nm,tmp,iRow,iCol]);if($.isFunction($t.p.afterEditCell)){$t.p.afterEditCell.call($t,$t.rows[iRow].id,nm,tmp,iRow,iCol);}}else{if(parseInt($t.p.iCol,10)>=0&&parseInt($t.p.iRow,10)>=0){$("td:eq("+$t.p.iCol+")",$t.rows[$t.p.iRow]).removeClass("edit-cell ui-state-highlight");$($t.rows[$t.p.iRow]).removeClass("selected-row ui-state-hover");}
cc.addClass("edit-cell ui-state-highlight");$($t.rows[iRow]).addClass("selected-row ui-state-hover");tmp=cc.html().replace(/\ \;/ig,'');$($t).triggerHandler("jqGridSelectCell",[$t.rows[iRow].id,nm,tmp,iRow,iCol]);if($.isFunction($t.p.onSelectCell)){$t.p.onSelectCell.call($t,$t.rows[iRow].id,nm,tmp,iRow,iCol);}}
$t.p.iCol=iCol;$t.p.iRow=iRow;});},saveCell:function(iRow,iCol){return this.each(function(){var $t=this,fr;if(!$t.grid||$t.p.cellEdit!==true){return;}
if($t.p.savedRow.length>=1){fr=0;}else{fr=null;}
if(fr!==null){var cc=$("td:eq("+iCol+")",$t.rows[iRow]),v,v2,cm=$t.p.colModel[iCol],nm=cm.name,nmjq=$.jgrid.jqID(nm);switch(cm.edittype){case "select":if(!cm.editoptions.multiple){v=$("#"+iRow+"_"+nmjq+" option:selected",$t.rows[iRow]).val();v2=$("#"+iRow+"_"+nmjq+" option:selected",$t.rows[iRow]).text();}else{var sel=$("#"+iRow+"_"+nmjq,$t.rows[iRow]),selectedText=[];v=$(sel).val();if(v){v.join(",");}else{v="";}
$("option:selected",sel).each(function(i,selected){selectedText[i]=$(selected).text();});v2=selectedText.join(",");}
if(cm.formatter){v2=v;}
break;case "checkbox":var cbv=["Yes","No"];if(cm.editoptions){cbv=cm.editoptions.value.split(":");}
v=$("#"+iRow+"_"+nmjq,$t.rows[iRow]).is(":checked")?cbv[0]:cbv[1];v2=v;break;case "password":case "text":case "textarea":case "button":v=$("#"+iRow+"_"+nmjq,$t.rows[iRow]).val();v2=v;break;case 'custom':try{if(cm.editoptions&&$.isFunction(cm.editoptions.custom_value)){v=cm.editoptions.custom_value.call($t,$(".customelement",cc),'get');if(v===undefined){throw "e2";}else{v2=v;}}else{throw "e1";}}catch(e){if(e==="e1"){$.jgrid.info_dialog($.jgrid.errors.errcap,"function 'custom_value' "+$.jgrid.edit.msg.nodefined,$.jgrid.edit.bClose);}
if(e==="e2"){$.jgrid.info_dialog($.jgrid.errors.errcap,"function 'custom_value' "+$.jgrid.edit.msg.novalue,$.jgrid.edit.bClose);}
else{$.jgrid.info_dialog($.jgrid.errors.errcap,e.message,$.jgrid.edit.bClose);}}
break;}
if(v2!==$t.p.savedRow[fr].v){var vvv=$($t).triggerHandler("jqGridBeforeSaveCell",[$t.rows[iRow].id,nm,v,iRow,iCol]);if(vvv){v=vvv;v2=vvv;}
if($.isFunction($t.p.beforeSaveCell)){var vv=$t.p.beforeSaveCell.call($t,$t.rows[iRow].id,nm,v,iRow,iCol);if(vv){v=vv;v2=vv;}}
var cv=$.jgrid.checkValues.call($t,v,iCol);if(cv[0]===true){var addpost=$($t).triggerHandler("jqGridBeforeSubmitCell",[$t.rows[iRow].id,nm,v,iRow,iCol])||{};if($.isFunction($t.p.beforeSubmitCell)){addpost=$t.p.beforeSubmitCell.call($t,$t.rows[iRow].id,nm,v,iRow,iCol);if(!addpost){addpost={};}}
if($("input.hasDatepicker",cc).length>0){$("input.hasDatepicker",cc).datepicker('hide');}
if($t.p.cellsubmit==='remote'){if($t.p.cellurl){var postdata={};if($t.p.autoencode){v=$.jgrid.htmlEncode(v);}
postdata[nm]=v;var idname,oper,opers;opers=$t.p.prmNames;idname=opers.id;oper=opers.oper;postdata[idname]=$.jgrid.stripPref($t.p.idPrefix,$t.rows[iRow].id);postdata[oper]=opers.editoper;postdata=$.extend(addpost,postdata);$($t).jqGrid("progressBar",{method:"show",loadtype:$t.p.loadui,htmlcontent:$.jgrid.defaults.savetext||"Saving..."});$t.grid.hDiv.loading=true;$.ajax($.extend({url:$t.p.cellurl,data:$.isFunction($t.p.serializeCellData)?$t.p.serializeCellData.call($t,postdata):postdata,type:"POST",complete:function(result,stat){$($t).jqGrid("progressBar",{method:"hide",loadtype:$t.p.loadui});$t.grid.hDiv.loading=false;if(stat==='success'){var ret=$($t).triggerHandler("jqGridAfterSubmitCell",[$t,result,postdata.id,nm,v,iRow,iCol])||[true,''];if(ret[0]===true&&$.isFunction($t.p.afterSubmitCell)){ret=$t.p.afterSubmitCell.call($t,result,postdata.id,nm,v,iRow,iCol);}
if(ret[0]===true){$(cc).empty();$($t).jqGrid("setCell",$t.rows[iRow].id,iCol,v2,false,false,true);$(cc).addClass("dirty-cell");$($t.rows[iRow]).addClass("edited");$($t).triggerHandler("jqGridAfterSaveCell",[$t.rows[iRow].id,nm,v,iRow,iCol]);if($.isFunction($t.p.afterSaveCell)){$t.p.afterSaveCell.call($t,$t.rows[iRow].id,nm,v,iRow,iCol);}
$t.p.savedRow.splice(0,1);}else{$.jgrid.info_dialog($.jgrid.errors.errcap,ret[1],$.jgrid.edit.bClose);$($t).jqGrid("restoreCell",iRow,iCol);}}},error:function(res,stat,err){$("#lui_"+$.jgrid.jqID($t.p.id)).hide();$t.grid.hDiv.loading=false;$($t).triggerHandler("jqGridErrorCell",[res,stat,err]);if($.isFunction($t.p.errorCell)){$t.p.errorCell.call($t,res,stat,err);$($t).jqGrid("restoreCell",iRow,iCol);}else{$.jgrid.info_dialog($.jgrid.errors.errcap,res.status+" : "+res.statusText+"
"+stat,$.jgrid.edit.bClose);$($t).jqGrid("restoreCell",iRow,iCol);}}},$.jgrid.ajaxOptions,$t.p.ajaxCellOptions||{}));}else{try{$.jgrid.info_dialog($.jgrid.errors.errcap,$.jgrid.errors.nourl,$.jgrid.edit.bClose);$($t).jqGrid("restoreCell",iRow,iCol);}catch(e){}}}
if($t.p.cellsubmit==='clientArray'){$(cc).empty();$($t).jqGrid("setCell",$t.rows[iRow].id,iCol,v2,false,false,true);$(cc).addClass("dirty-cell");$($t.rows[iRow]).addClass("edited");$($t).triggerHandler("jqGridAfterSaveCell",[$t.rows[iRow].id,nm,v,iRow,iCol]);if($.isFunction($t.p.afterSaveCell)){$t.p.afterSaveCell.call($t,$t.rows[iRow].id,nm,v,iRow,iCol);}
$t.p.savedRow.splice(0,1);}}else{try{window.setTimeout(function(){$.jgrid.info_dialog($.jgrid.errors.errcap,v+" "+cv[1],$.jgrid.edit.bClose);},100);$($t).jqGrid("restoreCell",iRow,iCol);}catch(e){}}}else{$($t).jqGrid("restoreCell",iRow,iCol);}}
window.setTimeout(function(){$("#"+$.jgrid.jqID($t.p.knv)).attr("tabindex","-1").focus();},0);});},restoreCell:function(iRow,iCol){return this.each(function(){var $t=this,fr;if(!$t.grid||$t.p.cellEdit!==true){return;}
if($t.p.savedRow.length>=1){fr=0;}else{fr=null;}
if(fr!==null){var cc=$("td:eq("+iCol+")",$t.rows[iRow]);if($.isFunction($.fn.datepicker)){try{$("input.hasDatepicker",cc).datepicker('hide');}catch(e){}}
$(cc).empty().attr("tabindex","-1");$($t).jqGrid("setCell",$t.rows[iRow].id,iCol,$t.p.savedRow[fr].v,false,false,true);$($t).triggerHandler("jqGridAfterRestoreCell",[$t.rows[iRow].id,$t.p.savedRow[fr].v,iRow,iCol]);if($.isFunction($t.p.afterRestoreCell)){$t.p.afterRestoreCell.call($t,$t.rows[iRow].id,$t.p.savedRow[fr].v,iRow,iCol);}
$t.p.savedRow.splice(0,1);}
window.setTimeout(function(){$("#"+$t.p.knv).attr("tabindex","-1").focus();},0);});},nextCell:function(iRow,iCol){return this.each(function(){var $t=this,nCol=false,i;if(!$t.grid||$t.p.cellEdit!==true){return;}
for(i=iCol+1;i<$t.p.colModel.length;i++){if($t.p.colModel[i].editable===true){nCol=i;break;}}
if(nCol!==false){$($t).jqGrid("editCell",iRow,nCol,true);}else{if($t.p.savedRow.length>0){$($t).jqGrid("saveCell",iRow,iCol);}}});},prevCell:function(iRow,iCol){return this.each(function(){var $t=this,nCol=false,i;if(!$t.grid||$t.p.cellEdit!==true){return;}
for(i=iCol-1;i>=0;i--){if($t.p.colModel[i].editable===true){nCol=i;break;}}
if(nCol!==false){$($t).jqGrid("editCell",iRow,nCol,true);}else{if($t.p.savedRow.length>0){$($t).jqGrid("saveCell",iRow,iCol);}}});},GridNav:function(){return this.each(function(){var $t=this;if(!$t.grid||$t.p.cellEdit!==true){return;}
$t.p.knv=$t.p.id+"_kn";var selection=$("