(function(n){n.fn.editable=function(t,i){var r={target:t,name:"value",id:"id",type:"text",width:"auto",height:"auto",event:"click",onblur:"cancel",loadtype:"GET",loadtext:"Loading...",placeholder:"Click to edit",loaddata:{},submitdata:{},ajaxoptions:{}};i&&n.extend(r,i);var o=n.editable.types[r.type].plugin||function(){},s=n.editable.types[r.type].submit||function(){},h=n.editable.types[r.type].buttons||n.editable.types.defaults.buttons,f=n.editable.types[r.type].content||n.editable.types.defaults.content,c=n.editable.types[r.type].element||n.editable.types.defaults.element,u=n.editable.types[r.type].reset||n.editable.types.defaults.reset,e=r.callback||function(){},l=r.onsubmit||function(){},a=r.onreset||function(){},v=r.onerror||u;return n.isFunction(n(this)[r.event])||(n.fn[r.event]=function(n){return n?this.bind(r.event,n):this.trigger(r.event)}),n(this).attr("title",r.tooltip),r.autowidth="auto"==r.width,r.autoheight="auto"==r.height,this.each(function(){var t=this,i=n(t).width(),y=n(t).height();n.trim(n(this).html())||n(this).html(r.placeholder);n(this)[r.event](function(){var a,p,b,k,w;t.editing||(n(t).removeAttr("title"),0==n(t).width()?(r.width=i,r.height=y):(r.width!="none"&&(r.width=r.autowidth?n(t).width():r.width),r.height!="none"&&(r.height=r.autoheight?n(t).height():r.height)),n(this).html().toLowerCase().replace(/;/,"")==r.placeholder.toLowerCase().replace(/;/,"")&&n(this).html(""),t.editing=!0,t.revert=n(t).html(),n(t).html(""),a=n("<form />"),r.cssclass&&("inherit"==r.cssclass?a.attr("class",n(t).attr("class")):a.attr("class",r.cssclass)),r.style&&("inherit"==r.style?(a.attr("style",n(t).attr("style")),a.css("display",n(t).css("display"))):a.attr("style",r.style)),p=c.apply(a,[r,t]),r.loadurl?(w=setTimeout(function(){p.disabled=!0;f.apply(a,[r.loadtext,r,t])},100),k={},k[r.id]=t.id,n.isFunction(r.loaddata)?n.extend(k,r.loaddata.apply(t,[t.revert,r])):n.extend(k,r.loaddata),n.ajax({type:r.loadtype,url:r.loadurl,data:k,async:!1,success:function(n){window.clearTimeout(w);b=n;p.disabled=!1}})):r.data?(b=r.data,n.isFunction(r.data)&&(b=r.data.apply(t,[t.revert,r]))):b=t.revert,f.apply(a,[b,r,t]),p.attr("name",r.name),h.apply(a,[r,t]),n(t).append(a),o.apply(a,[r,t]),n(":input:visible:enabled:first",a).focus(),r.select&&p.select(),p.keydown(function(n){n.keyCode==27&&(n.preventDefault(),u.apply(a,[r,t]))}),"cancel"==r.onblur?p.blur(function(){w=setTimeout(function(){u.apply(a,[r,t])},500)}):"submit"==r.onblur?p.blur(function(){w=setTimeout(function(){a.submit()},200)}):n.isFunction(r.onblur)?p.blur(function(){r.onblur.apply(t,[p.val(),r])}):p.blur(function(){}),a.submit(function(i){var o,u,f;return w&&clearTimeout(w),i.preventDefault(),!1!==l.apply(a,[r,t])&&!1!==s.apply(a,[r,t])&&(n.isFunction(r.target)?(o=r.target.apply(t,[p.val(),r]),n(t).html(o),t.editing=!1,e.apply(t,[t.innerHTML,r]),n.trim(n(t).html())||n(t).html(r.placeholder)):(u={},u[r.name]=p.val(),u[r.id]=t.id,n.isFunction(r.submitdata)?n.extend(u,r.submitdata.apply(t,[t.revert,r])):n.extend(u,r.submitdata),"PUT"==r.method&&(u._method="put"),n(t).html(r.indicator),f={type:"POST",data:u,url:r.target,success:function(i){n(t).html(i);t.editing=!1;e.apply(t,[t.innerHTML,r]);n.trim(n(t).html())||n(t).html(r.placeholder)},error:function(n){v.apply(a,[r,t,n])}},n.extend(f,r.ajaxoptions),n.ajax(f))),n(t).attr("title",r.tooltip),!1}))});this.reset=function(i){this.editing&&!1!==a.apply(i,[r,t])&&(n(t).html(t.revert),t.editing=!1,n.trim(n(t).html())||n(t).html(r.placeholder),n(t).attr("title",r.tooltip))}})};n.editable={types:{defaults:{element:function(){var t=n('<input type="hidden"><\/input>');return n(this).append(t),t},content:function(t){n(":input:first",this).val(t)},reset:function(n,t){t.reset(this)},buttons:function(t,i){var f=this,r,u;t.submit&&(t.submit.match(/>$/)?r=n(t.submit).click(function(){r.attr("type")!="submit"&&f.submit()}):(r=n('<button type="submit" />'),r.html(t.submit)),n(this).append(r));t.cancel&&(t.cancel.match(/>$/)?u=n(t.cancel):(u=n('<button type="cancel" />'),u.html(t.cancel)),n(this).append(u),n(u).click(function(){var r;return r=n.isFunction(n.editable.types[t.type].reset)?n.editable.types[t.type].reset:n.editable.types.defaults.reset,r.apply(f,[t,i]),!1}))}},text:{element:function(t){var i=n("<input />");return t.width!="none"&&i.width(t.width),t.height!="none"&&i.height(t.height),i.attr("autocomplete","off"),n(this).append(i),i}},textarea:{element:function(t){var i=n("<textarea />");return t.rows?i.attr("rows",t.rows):i.height(t.height),t.cols?i.attr("cols",t.cols):i.width(t.width),n(this).append(i),i}},select:{element:function(){var t=n("<select />");return n(this).append(t),t},content:function(string,settings,original){var key,option;if(String==string.constructor){eval("var json = "+string);for(key in json)json.hasOwnProperty(key)&&"selected"!=key&&(option=n("<option />").val(key).append(json[key]),n("select",this).append(option))}n("select",this).children().each(function(){(n(this).val()==json.selected||n(this).text()==original.revert)&&n(this).attr("selected","selected")})}}},addInputType:function(t,i){n.editable.types[t]=i}}})(jQuery),function(n){n.fn.makeEditable=function(t){function p(t){return r.fnGetRowID(n(t.parentNode))}function ht(n,t,i){i?n.attr("id",t):(n.attr("id")==null||n.attr("id")=="")&&n.attr("id",t)}function ct(n){return n.attr("id")}function lt(n){alert(n)}function at(){u.fnSettings().oFeatures.bProcessing&&n(".dataTables_processing").css("visibility","visible")}function vt(){u.fnSettings().oFeatures.bProcessing&&n(".dataTables_processing").css("visibility","hidden")}function tt(t){var s,f,h,i,e,l;if(!r.bDisableEditing)if(s={event:"dblclick",onsubmit:function(t,i){var u,f,e;if(w=i.revert,v=null,sNewCellDisplayValue=null,c=y(),t.type=="text"||t.type=="select"||t.type=="textarea")return(u=n("input,select,textarea",this),v=n("input,select,textarea",n(this)).val(),u.length==1&&(f=u[0],sNewCellDisplayValue=f.nodeName.toLowerCase()=="select"||f.tagName.toLowerCase()=="select"?n("option:selected",f).text():v),!r.fnOnEditing(u,t,i.revert,p(i)))?!1:(e=t,t.oValidationOptions!=null&&u.parents("form").validate(t.oValidationOptions),t.cssclass!=null&&u.addClass(t.cssclass),t.cssclass==null&&t.oValidationOptions==null?!0:u.valid()&&0!=u.valid()?!0:!1);r.fnStartProcessingMode()},submitdata:function(){var f=p(this),e=u.fnGetPosition(this)[0],o=u.fnGetPosition(this)[1],t=u.fnGetPosition(this)[2],i=u.fnSettings().aoColumns[t].sName,s;return(i==null||i=="")&&(i=u.fnSettings().aoColumns[t].sTitle),s=null,r.aoColumns==null||r.aoColumns[t]==null?n.extend({},r.oUpdateParameters,{id:f,rowId:e,columnPosition:o,columnId:t,columnName:i}):n.extend({},r.oUpdateParameters,r.aoColumns[t].oUpdateParameters,{id:f,rowId:e,columnPosition:o,columnId:t,columnName:i})},callback:function(t,i){var h;r.fnEndProcessingMode();var e="",f=u.fnGetPosition(this),s=!o.oFeatures.bServerSide;n("td.last-updated-cell",u.fnGetNodes()).removeClass("last-updated-cell");t.indexOf(r.sFailureResponsePrefix)>-1?(u.fnUpdate(w,f[0],f[2],s),n("td.last-updated-cell",u).removeClass("last-updated-cell"),n(this).addClass("last-updated-cell"),r.fnShowError(t.replace(r.sFailureResponsePrefix,"").trim(),"update"),e="failure"):r.sSuccessResponse=="IGNORE"||r.aoColumns!=null&&r.aoColumns[f[2]]!=null&&r.aoColumns[f[2]].sSuccessResponse=="IGNORE"||v==null||v==t||r.sSuccessResponse==t?(sNewCellDisplayValue==null?u.fnUpdate(t,f[0],f[2],s):u.fnUpdate(sNewCellDisplayValue,f[0],f[2],s),n("td.last-updated-cell",u).removeClass("last-updated-cell"),n(this).addClass("last-updated-cell"),e="success"):(u.fnUpdate(w,f[0],f[2],s),r.fnShowError(t,"update"),e="failure");r.fnOnEdited(e,w,sNewCellDisplayValue,f[0],f[1],f[2]);i.fnOnCellUpdated!=null&&i.fnOnCellUpdated(e,t,f[0],f[2],i);nt();r.bUseKeyTable&&(h=u.keys,setTimeout(function(){h.block=!1},0))},onerror:function(){r.fnEndProcessingMode();r.fnShowError("Cell cannot be updated","update");r.fnOnEdited("failure")},onreset:function(){if(r.bUseKeyTable){var n=u.keys;setTimeout(function(){n.block=!1},0)}},height:r.sEditorHeight,width:r.sEditorWidth},f=null,r.aoColumns!=null){for(h=0,i=0;h<o.aoColumns.length;h++)if(o.aoColumns[h].bVisible){if(r.aoColumns[i]==null){i++;continue}f=n("td:nth-child("+(i+1)+")",t);e=s;e=n.extend({},s,r.oEditableSettings,r.aoColumns[i]);i++;l=r.sUpdateURL;try{e.sUpdateURL!=null&&(l=e.sUpdateURL)}catch(a){}f.each(function(){n(this).hasClass(r.sReadOnlyCellClass)||n(this).editable(l,e)})}}else f=n("td:not(."+r.sReadOnlyCellClass+")",t),f.editable(r.sUpdateURL,n.extend({},s,r.oEditableSettings))}function b(t){if(r.fnOnAdding()&&f.valid())if(c=y(),r.fnStartProcessingMode(),r.bUseFormsPlugin)n(f).ajaxSubmit({dataType:"xml",success:function(n,t,i){i.responseText.toLowerCase().indexOf("error")!=-1?(r.fnEndProcessingMode(),r.fnShowError(i.responseText.replace("Error",""),"add"),r.fnOnAdded("failure")):rt(i.responseText)},error:function(n){r.fnEndProcessingMode();r.fnShowError(n.responseText,"add");r.fnOnAdded("failure")}});else{var i=f.serialize();n.ajax({url:r.sAddURL,data:i,type:r.sAddHttpMethod,dataType:r.sAddDataType,success:rt,error:function(n){r.fnEndProcessingMode();r.fnShowError(n.responseText,"add");r.fnOnAdded("failure")}})}t.stopPropagation();t.preventDefault()}function yt(){return!0}function rt(t){var i,o,s,e,h;r.fnEndProcessingMode();r.fnOnNewRowPosted(t)&&(i=u.fnSettings(),i.oFeatures.bServerSide||(o=et(f),s=i.aoColumns!=null&&isNaN(parseInt(i.aoColumns[0].mDataProp))?u.fnAddData(rowData):u.fnAddData(o),e=u.fnGetNodes(s),r.fnSetRowID(n(e),t,!0),tt(e),n("tr.last-added-row",u).removeClass("last-added-row"),n(e).addClass("last-added-row")),f.dialog("close"),n(f)[0].reset(),n(".error",n(f)).html(""),nt(),r.fnOnAdded("success"),r.bUseKeyTable&&(h=u.keys,setTimeout(function(){h.block=!1},0)))}function ut(t){n(f).validate().resetForm();n(f)[0].reset();n(".error",n(f)).html("");n(".error",n(f)).hide();f.dialog("close");t.stopPropagation();t.preventDefault()}function k(){r.bUseKeyTable||(r.oDeleteRowButtonOptions!=null?e.button("option","disabled",!0):e.attr("disabled","true"))}function pt(){r.oDeleteRowButtonOptions!=null?e.button("option","disabled",!1):e.removeAttr("disabled")}function wt(t){var i=n(this).attr("href"),u;(i==null||i=="")&&(i=r.sDeleteURL);t.preventDefault();t.stopPropagation();c=y();h=n(this).parents("td")[0];jSelectedRow=n(this).parents("tr");d=jSelectedRow[0];jSelectedRow.addClass(r.sSelectedRowClass);u=p(h);r.fnOnDeleting(jSelectedRow,u,g)&&g(u,i)}function ft(t){if(t.preventDefault(),t.stopPropagation(),c=y(),d=null,h=null,r.bUseKeyTable)h=n("td.focus",u)[0];else{if(n("tr."+r.sSelectedRowClass+" td",u).length==0){_fnDisableDeleteButton();return}h=n("tr."+r.sSelectedRowClass+" td",u)[0]}if(h==null){k();return}r.bUseKeyTable&&(it=u.keys.fnGetCurrentPosition());var i=p(h),f=n(h).parent("tr");d=f[0];r.fnOnDeleting(f,i,g)&&g(i)}function bt(){return confirm("Are you sure that you want to delete this record?")}function g(t,i){var u=i,f;i==null&&(u=r.sDeleteURL);r.fnStartProcessingMode();f=n.extend(r.oDeleteParameters,{id:t});n.ajax({url:u,type:r.sDeleteHttpMethod,data:f,success:kt,dataType:r.sDeleteDataType,error:function(n){r.fnEndProcessingMode();r.fnShowError(n.responseText,"delete");r.fnOnDeleted("failure")}})}function kt(n){r.fnEndProcessingMode();var t=d;n==r.sSuccessResponse||n==""?(u.fnDeleteRow(t),k(),nt(),r.bUseKeyTable&&u.keys.fnSetPosition(it[0],it[1]),r.fnOnDeleted("success")):(r.fnShowError(n,"delete"),r.fnOnDeleted("failure"))}function dt(){}function gt(){return!0}function ni(){}function ti(){return!0}function ii(){}function y(){return o._iDisplayStart}function nt(){o._iDisplayStart=c;o.oApi._fnCalculateEnd(o);o.oApi._fnDraw(o)}function ri(){return!0}function ui(){}function fi(n){r.aoTableAction&&r.fnShowError("Configuration error - aoTableAction setting are not set",n);for(var t=0,t=0;t<r.aoTableActions.length;t++)if(r.aoTableActions[t].sAction==n)return r.aoTableActions[t];r.fnShowError("Cannot find action configuration settings",n)}function ei(t,f){var o=u.fnGetPosition(f),s=r.fnGetRowID(n(f)),h,e;n(t).validate().resetForm();jQuery.data(n(t)[0],"DT_RowId",s);n("input.DT_RowId",n(t)).val(s);jQuery.data(n(t)[0],"ROWID",o);n("input.ROWID",n(t)).val(o);h=u.fnSettings();e=h.aoColumns.length;n("input:text[rel],input:radio[rel][checked],input:hidden[rel],select[rel],textarea[rel],input:checkbox[rel]",n(t)).each(function(){var s=n(this).attr("rel"),t,o;if(s>=e)r.fnShowError("In the form is placed input element with the name '"+n(this).attr("name")+"' with the 'rel' attribute that must be less than a column count - "+e,"action");else if(t=u.fnGetData(f)[s],this.nodeName.toLowerCase()=="select"||this.tagName.toLowerCase()=="select")if(this.multiple==!0){for(o=[],aoCellValues=t.split(","),i=0;i<=this.options.length-1;i++)jQuery.inArray(this.options[i].text.toLowerCase().trim(),aoCellValues)!=-1&&o.push(this.options[i].value);n(this).val(o)}else for(i=0;i<=this.options.length-1;i++)this.options[i].text.toLowerCase()==t.toLowerCase()&&n(this).val(this.options[i].value);else this.nodeName.toLowerCase()=="span"||this.tagName.toLowerCase()=="span"?n(this).html(t):this.type=="checkbox"?t=="true"&&n(this).attr("checked",!0):this.type=="radio"?this.value==t&&(this.checked=!0):this.value=t})}function et(t){var e=jQuery.data(t,"DT_RowId"),i=o.aoColumns.length,u=[],f={};return n("input:text[rel],input:radio[rel][checked],input:hidden[rel],select[rel],textarea[rel],span.datafield[rel],input:checkbox[rel]",t).each(function(){var s=n(this).attr("rel"),t="";s>=i?r.fnShowError("In the add form is placed input element with the name '"+n(this).attr("name")+"' with the 'rel' attribute that must be less than a column count - "+i,"add"):(t=this.nodeName.toLowerCase()=="select"||this.tagName.toLowerCase()=="select"?n.map(n.makeArray(n("option:selected",this)),function(t){return n(t).text()}).join(","):this.nodeName.toLowerCase()=="span"||this.tagName.toLowerCase()=="span"?n(this).html():this.type=="checkbox"?this.checked?this.value!="on"?this.value:"true":this.value!="on"?"":"false":this.value,t=t.replace(r.sIDToken,e),o.aoColumns!=null&&o.aoColumns[s]!=null&&isNaN(parseInt(o.aoColumns[0].mDataProp))?f[o.aoColumns[s].mDataProp]=t:u[s]=t)}),o.aoColumns!=null&&isNaN(parseInt(o.aoColumns[0].mDataProp))?f:u}function oi(t){var u=n(t),i=u.attr("id"),e,f,s,o;i=i.replace("form","");e=u.attr("action");r.fnOnBeforeAction(i)&&u.valid()&&(c=y(),r.fnStartProcessingMode(),r.bUseFormsPlugin?(f={success:function(n,u){r.fnEndProcessingMode();n.toLowerCase().indexOf("error")!=-1||u!="success"?(r.fnShowError(n,i),r.fnOnActionCompleted("failure")):(ot(t),r.fnOnActionCompleted("success"))},error:function(n){r.fnEndProcessingMode();r.fnShowError(n.responseText,i);r.fnOnActionCompleted("failure")}},s=fi(i),f=n.extend({},r.oAjaxSubmitOptions,f),n(oActionForm).ajaxSubmit(f)):(o=u.serialize(),n.ajax({url:e,data:o,type:r.sAddHttpMethod,dataType:r.sAddDataType,success:function(){r.fnEndProcessingMode();ot(t);r.fnOnActionCompleted("success")},error:function(n){r.fnEndProcessingMode();r.fnShowError(n.responseText,i);r.fnOnActionCompleted("failure")}})))}function ot(t){for(var f=et(t),e=jQuery.data(t,"ROWID"),r=u.fnSettings(),o=r.aoColumns.length,i=0;i<o;i++)sCellValue=r.aoColumns!=null&&r.aoColumns[i]!=null&&isNaN(parseInt(r.aoColumns[0].mDataProp))?rowData[r.aoColumns[i].mDataProp]:f[i],sCellValue!=undefined&&u.fnUpdate(sCellValue,e,i);nt();n(t).dialog("close");return}var c=0,u,s,e,l,a,f,r,w,v,d,h,it,o,st;return u=this,st={sUpdateURL:"UpdateData",sAddURL:"AddData",sDeleteURL:"DeleteData",sAddNewRowFormId:"formAddNewRow",oAddNewRowFormOptions:{autoOpen:!1,modal:!0},sAddNewRowButtonId:"btnAddNewRow",oAddNewRowButtonOptions:null,sAddNewRowOkButtonId:"btnAddNewRowOk",sAddNewRowCancelButtonId:"btnAddNewRowCancel",oAddNewRowOkButtonOptions:{label:"Ok"},oAddNewRowCancelButtonOptions:{label:"Cancel"},sDeleteRowButtonId:"btnDeleteRow",oDeleteRowButtonOptions:null,sSelectedRowClass:"row_selected",sReadOnlyCellClass:"read_only",sAddDeleteToolbarSelector:".add_delete_toolbar",fnShowError:lt,fnStartProcessingMode:at,fnEndProcessingMode:vt,aoColumns:null,fnOnDeleting:bt,fnOnDeleted:dt,fnOnAdding:ti,fnOnNewRowPosted:yt,fnOnAdded:ii,fnOnEditing:gt,fnOnEdited:ni,sAddHttpMethod:"POST",sAddDataType:"text",sDeleteHttpMethod:"POST",sDeleteDataType:"text",fnGetRowID:ct,fnSetRowID:ht,sEditorHeight:"100%",sEditorWidth:"100%",bDisableEditing:!1,oDeleteParameters:{},oUpdateParameters:{},sIDToken:"DATAROWID|DT_RowId",aoTableActions:null,fnOnBeforeAction:ri,bUseFormsPlugin:!1,fnOnActionCompleted:ui,sSuccessResponse:"ok",sFailureResponsePrefix:"ERROR",oKeyTable:null},r=n.extend(st,t),o=u.fnSettings(),r.bUseKeyTable=r.oKeyTable!=null,this.each(function(){var it=u.dataTableSettings[0].sTableId,h,d,g,o,t,v,w,nt,y;if(r.bUseKeyTable&&(h=new KeyTable({table:document.getElementById(it),datatable:u}),u.keys=h,h.event.action(null,null,function(t){n(t).hasClass(r.sReadOnlyCellClass)||(h.block=!0,setTimeout(function(){n(t).dblclick()},0))})),u.fnSettings().sAjaxSource!=null?u.fnSettings().aoDrawCallback.push({fn:function(){tt(u.fnGetNodes());n(u.fnGetNodes()).each(function(){var t=u.fnGetPosition(this),i=u.fnGetData(t)[0];r.fnSetRowID(n(this),i)})},sName:"fnApplyEditable"}):tt(u.fnGetNodes()),f=n("#"+r.sAddNewRowFormId),f.length!=0){for(d=u.fnSettings(),g=d.aoColumns.length,t=0;t<g;t++)n("[rel="+t+"]",f).length==0&&r.fnShowError("In the form that is used for adding new records cannot be found an input element with rel="+t+" that will be bound to the value in the column "+t+". See http://code.google.com/p/jquery-datatables-editable/wiki/AddingNewRecords#Add_new_record_form for more details","init");if(r.oAddNewRowFormOptions!=null?r.oAddNewRowFormOptions.autoOpen=!1:r.oAddNewRowFormOptions={autoOpen:!1},f.dialog(r.oAddNewRowFormOptions),s=n("#"+r.sAddNewRowButtonId),s.length!=0)s.data("add-event-attached")!="true"&&(s.click(function(){f.dialog("open")}),s.data("add-event-attached","true"));else if(n(r.sAddDeleteToolbarSelector).length==0)throw"Cannot find a button with an id '"+r.sAddNewRowButtonId+"', or placeholder with an id '"+r.sAddDeleteToolbarSelector+"' that should be used for adding new row although form for adding new record is specified";else s=null;f[0].nodeName.toLowerCase()=="form"?(f.unbind("submit"),f.submit(function(n){return b(n),!1})):(n("form",f[0]).unbind("submit"),n("form",f[0]).submit(function(n){return b(n),!1}));o=[];l=n("#"+r.sAddNewRowOkButtonId,f);l.length==0?((r.oAddNewRowOkButtonOptions.text==null||r.oAddNewRowOkButtonOptions.text=="")&&(r.oAddNewRowOkButtonOptions.text="Ok"),r.oAddNewRowOkButtonOptions.click=b,r.oAddNewRowOkButtonOptions.id=r.sAddNewRowOkButtonId,o.push(r.oAddNewRowOkButtonOptions)):l.click(b);a=n("#"+r.sAddNewRowCancelButtonId);a.length==0?((r.oAddNewRowCancelButtonOptions.text==null||r.oAddNewRowCancelButtonOptions.text=="")&&(r.oAddNewRowCancelButtonOptions.text="Cancel"),r.oAddNewRowCancelButtonOptions.click=ut,r.oAddNewRowCancelButtonOptions.id=r.sAddNewRowCancelButtonId,o.push(r.oAddNewRowCancelButtonOptions)):a.click(ut);o.length>0&&f.dialog("option","buttons",o);l=n("#"+r.sAddNewRowOkButtonId);a=n("#"+r.sAddNewRowCancelButtonId);r.oAddNewRowFormValidation!=null&&f.validate(r.oAddNewRowFormValidation)}else f=null;if(e=n("#"+r.sDeleteRowButtonId),e.length!=0?e.data("delete-event-attached")!="true"&&(e.click(ft),e.data("delete-event-attached","true")):e=null,oAddDeleteToolbar=n(r.sAddDeleteToolbarSelector),oAddDeleteToolbar.length!=0&&(s==null&&r.sAddNewRowButtonId!=""&&f!=null&&(oAddDeleteToolbar.append("<button id='"+r.sAddNewRowButtonId+"' class='add_row'>Add<\/button>"),s=n("#"+r.sAddNewRowButtonId),s.click(function(){f.dialog("open")})),e==null&&r.sDeleteRowButtonId!=""&&(oAddDeleteToolbar.append("<button id='"+r.sDeleteRowButtonId+"' class='delete_row'>Delete<\/button>"),e=n("#"+r.sDeleteRowButtonId),e.click(ft))),e!=null&&(r.oDeleteRowButtonOptions!=null&&e.button(r.oDeleteRowButtonOptions),k()),s!=null&&r.oAddNewRowButtonOptions!=null&&s.button(r.oAddNewRowButtonOptions),l!=null&&r.oAddNewRowOkButtonOptions!=null&&l.button(r.oAddNewRowOkButtonOptions),a!=null&&r.oAddNewRowCancelButtonOptions!=null&&a.button(r.oAddNewRowCancelButtonOptions),n(".table-action-deletelink",u).live("click",wt),r.bUseKeyTable?u.keys.event.focus(null,null,function(){}):n("tbody",u).click(function(t){n(t.target.parentNode).hasClass(r.sSelectedRowClass)?(n(t.target.parentNode).removeClass(r.sSelectedRowClass),e!=null&&k()):(n(u.fnSettings().aoData).each(function(){n(this.nTr).removeClass(r.sSelectedRowClass)}),n(t.target.parentNode).addClass(r.sSelectedRowClass),e!=null&&pt())}),r.aoTableActions!=null)for(t=0;t<r.aoTableActions.length;t++){var c=n.extend({sType:"edit"},r.aoTableActions[t]),p=c.sAction,rt=c.sActionFormId,i=n("#form"+p);i.length!=0&&(v={autoOpen:!1,modal:!0},v=n.extend({},c.oFormOptions,v),i.dialog(v),i.data("action-options",c),w=n(".table-action-"+p),w.length!=0&&w.live("click",function(){var h=this.className,e=h.split(/\s+/),u="",f="",o,s;for(t=0;t<e.length;t++)e[t].indexOf("table-action-")>-1&&(f=e[t].replace("table-action-",""),u="#form"+f);u==""&&r.fnShowError("Cannot find a form with an id "+u+" that should be associated to the action - "+f,f);o=n(u).data("action-options");o.sType=="edit"&&(s=n(this).parents("tr")[0],ei(i,s));n(i).dialog("open")}),i.submit(function(){return oi(this),!1}),nt=[],y=n("#form"+p+"Cancel",i),y.length!=0&&(nt.push(y),y.click(function(){var t=n(this).parents("form")[0];n(t).validate().resetForm();n(t)[0].reset();n(".error",n(t)).html("");n(".error",n(t)).hide();n(t).dialog("close")})),n("button",i).button())}})}}(jQuery)