var TableKit=Class.create();TableKit.prototype={initialize:function(D,A){var B=$(D);if(B.tagName!=="TABLE"){return}TableKit.register(B,Object.extend(TableKit.options,A||{}));this.id=B.id;var C=TableKit.option("sortable resizable editable",this.id);if(C.sortable){TableKit.Sortable.init(B)}if(C.resizable){TableKit.Resizable.init(B)}if(C.editable){TableKit.Editable.init(B)}},sort:function(B,A){TableKit.Sortable.sort(this.id,B,A)},resizeColumn:function(B,A){TableKit.Resizable.resize(this.id,B,A)},editCell:function(B,A){TableKit.Editable.editCell(this.id,B,A)}};Object.extend(TableKit,{getBodyRows:function(A){A=$(A);var B=A.id;if(!TableKit.tables[B].dom.rows){TableKit.tables[B].dom.rows=(A.tHead&&A.tHead.rows.length>0)?$A(A.tBodies[0].rows):$A(A.rows).without(A.rows[0])}return TableKit.tables[B].dom.rows},getHeaderCells:function(B,A){if(!B){B=$(A).up("table")}var C=B.id;if(!TableKit.tables[C].dom.head){TableKit.tables[C].dom.head=$A((B.tHead&&B.tHead.rows.length>0)?B.tHead.rows[B.tHead.rows.length-1].cells:B.rows[0].cells)}return TableKit.tables[C].dom.head},getCellIndex:function(A){return $A(A.parentNode.cells).indexOf(A)},getRowIndex:function(A){return $A(A.parentNode.rows).indexOf(A)},getCellText:function(A,B){if(!A){return""}var C=TableKit.getCellData(A);if(B||C.refresh||!C.textContent){C.textContent=A.textContent?A.textContent:A.innerText;C.refresh=false}return C.textContent},getCellData:function(A){var C=null;if(!A.id){C=$(A).up("table");A.id=C.id+"-cell-"+TableKit._getc()}var B=C?C.id:A.id.match(/(.*)-cell.*/)[1];if(!TableKit.tables[B].dom.cells[A.id]){TableKit.tables[B].dom.cells[A.id]={textContent:"",htmlContent:"",active:false}}return TableKit.tables[B].dom.cells[A.id]},register:function(B,A){if(!B.id){B.id="tablekit-table-"+TableKit._getc()}var C=B.id;TableKit.tables[C]=TableKit.tables[C]?Object.extend(TableKit.tables[C],A||{}):Object.extend({dom:{head:null,rows:null,cells:{}},sortable:false,resizable:false,editable:false},A||{})},notify:function(A,C,B){if(TableKit.tables[C.id]&&TableKit.tables[C.id].observers&&TableKit.tables[C.id].observers[A]){TableKit.tables[C.id].observers[A](C,B)}TableKit.options.observers[A](C,B)()},isSortable:function(A){return TableKit.tables[A.id]?TableKit.tables[A.id].sortable:false},isResizable:function(A){return TableKit.tables[A.id]?TableKit.tables[A.id].resizable:false},isEditable:function(A){return TableKit.tables[A.id]?TableKit.tables[A.id].editable:false},setup:function(A){Object.extend(TableKit.options,A||{})},option:function(B,E,D,C){D=D||TableKit.options;C=C||(E?(TableKit.tables[E]?TableKit.tables[E]:{}):{});var A=E+B;if(!TableKit._opcache[A]){TableKit._opcache[A]=$A($w(B)).inject([],function(F,G){F.push(F[G]=C[G]||D[G]);return F})}return TableKit._opcache[A]},e:function(A){return A||window.event},tables:{},_opcache:{},options:{autoLoad:true,stripe:true,sortable:true,resizable:true,editable:true,rowEvenClass:"roweven",rowOddClass:"rowodd",sortableSelector:["table.sortable"],columnClass:"sortcol",descendingClass:"sortdesc",ascendingClass:"sortasc",defaultSortDirection:1,noSortClass:"nosort",sortFirstAscendingClass:"sortfirstasc",sortFirstDecendingClass:"sortfirstdesc",resizableSelector:["table.resizable"],minWidth:10,showHandle:true,resizeOnHandleClass:"resize-handle-active",editableSelector:["table.editable"],formClassName:"editable-cell-form",noEditClass:"noedit",editAjaxURI:"/",editAjaxOptions:{},observers:{onSortStart:function(){},onSort:function(){},onSortEnd:function(){},onResizeStart:function(){},onResize:function(){},onResizeEnd:function(){},onEditStart:function(){},onEdit:function(){},onEditEnd:function(){}}},_c:0,_getc:function(){return TableKit._c+=1},unloadTable:function(D){D=$(D);if(!TableKit.tables[D.id]){return}var B=TableKit.getHeaderCells(D);var F=TableKit.option("sortable resizable editable noSortClass descendingClass ascendingClass columnClass sortFirstAscendingClass sortFirstDecendingClass",D.id);B.each(function(G){G=$(G);if(F.sortable){if(!G.hasClassName(F.noSortClass)){Event.stopObserving(G,"mousedown",TableKit.Sortable._sort);G.removeClassName(F.columnClass);G.removeClassName(F.sortFirstAscendingClass);G.removeClassName(F.sortFirstDecendingClass);if(G.hasClassName(F.ascendingClass)){G.removeClassName(F.ascendingClass);G.addClassName(F.sortFirstAscendingClass)}else{if(G.hasClassName(F.descendingClass)){G.removeClassName(F.descendingClass);G.addClassName(F.sortFirstDecendingClass)}}}}if(F.resizable){Event.stopObserving(G,"mouseover",TableKit.Resizable.initDetect);Event.stopObserving(G,"mouseout",TableKit.Resizable.killDetect)}});if(F.editable){Event.stopObserving(D.tBodies[0],"click",TableKit.Editable._editCell);for(var E in TableKit.tables[D.id].dom.cells){if(TableKit.tables[D.id].dom.cells[E].active){var A=$(E);var C=TableKit.Editable.getCellEditor(A);C.cancel(A)}}}TableKit.tables[D.id].dom={head:null,rows:null,cells:{}}},reloadTable:function(A){A=$(A);TableKit.unloadTable(A);var B=TableKit.option("sortable resizable editable",A.id);if(B.sortable){TableKit.Sortable.init(A)}if(B.resizable){TableKit.Resizable.init(A)}if(B.editable){TableKit.Editable.init(A)}},reload:function(){for(var A in TableKit.tables){TableKit.reloadTable(A)}},load:function(){if(TableKit.options.autoLoad){if(TableKit.options.sortable){$A(TableKit.options.sortableSelector).each(function(A){$$(A).each(function(B){TableKit.Sortable.init(B)})})}if(TableKit.options.resizable){$A(TableKit.options.resizableSelector).each(function(A){$$(A).each(function(B){TableKit.Resizable.init(B)})})}if(TableKit.options.editable){$A(TableKit.options.editableSelector).each(function(A){$$(A).each(function(B){TableKit.Editable.init(B)})})}}}});TableKit.Rows={stripe:function(A){var B=TableKit.getBodyRows(A);B.each(function(D,C){TableKit.Rows.addStripeClass(A,D,C)})},addStripeClass:function(I,A,C){I=I||A.up("table");var D=TableKit.option("rowEvenClass rowOddClass",I.id);var E=((C+1)%2===0?D[0]:D[1]);var F=A.className.split(/\s+/);var H=[];for(var G=0,B=F.length;G<B;G+=1){if(F[G]!==D[0]&&F[G]!==D[1]){H.push(F[G])}}H.push(E);A.className=H.join(" ")}};TableKit.Sortable={init:function(F,C){var D=$(F);if(D.tagName!=="TABLE"){return}TableKit.register(D,Object.extend(C||{},{sortable:true}));var B;var A=TableKit.getHeaderCells(D);var E=TableKit.option("noSortClass columnClass sortFirstAscendingClass sortFirstDecendingClass",D.id);A.each(function(G){G=$(G);if(!G.hasClassName(E.noSortClass)){Event.observe(G,"mousedown",TableKit.Sortable._sort);G.addClassName(E.columnClass);if(G.hasClassName(E.sortFirstAscendingClass)||G.hasClassName(E.sortFirstDecendingClass)){B=G}}});if(B){if(B.hasClassName(E.sortFirstAscendingClass)){TableKit.Sortable.sort(D,B,1)}else{TableKit.Sortable.sort(D,B,-1)}}else{TableKit.Rows.stripe(D)}},reload:function(B){B=$(B);var A=TableKit.getHeaderCells(B);var C=TableKit.option("noSortClass columnClass",B.id);A.each(function(D){D=$(D);if(!D.hasClassName(C.noSortClass)){Event.stopObserving(D,"mousedown",TableKit.Sortable._sort);D.removeClassName(C.columnClass)}});TableKit.Sortable.init(B)},_sort:function(B){if(TableKit.Resizable._onHandle){return}B=TableKit.e(B);Event.stop(B);var A=Event.element(B);while(!(A.tagName&&A.tagName.match(/td|th/gi))){A=A.parentNode}TableKit.Sortable.sort(null,A)},sort:function(J,F,B){var H;if(typeof F==="number"){if(!J||(J.tagName&&J.tagName!=="TABLE")){return}J=$(J);F=Math.min(J.rows[0].cells.length,F);F=Math.max(1,F);F-=1;H=(J.tHead&&J.tHead.rows.length>0)?$(J.tHead.rows[J.tHead.rows.length-1].cells[F]):$(J.rows[0].cells[F])}else{H=$(F);J=J?$(J):H.up("table");F=TableKit.getCellIndex(H)}var E=TableKit.option("noSortClass descendingClass ascendingClass defaultSortDirection",J.id);if(H.hasClassName(E.noSortClass)){return}B=B?B:E.defaultSortDirection;var K=TableKit.getBodyRows(J);if(H.hasClassName(E.ascendingClass)||H.hasClassName(E.descendingClass)){K.reverse();B=H.hasClassName(E.descendingClass)?1:-1}else{var D=TableKit.Sortable.getDataType(H,F,J);var I=TableKit.Sortable.types;K.sort(function(M,L){return B*I[D].compare(TableKit.getCellText(M.cells[F]),TableKit.getCellText(L.cells[F]))})}var C=J.tBodies[0];var A=TableKit.Rows;K.each(function(M,L){C.appendChild(M);A.addStripeClass(J,M,L)});var G=TableKit.getHeaderCells(null,H);$A(G).each(function(M,L){M=$(M);M.removeClassName(E.ascendingClass);M.removeClassName(E.descendingClass);if(F===L){if(B===1){M.addClassName(E.ascendingClass)}else{M.addClassName(E.descendingClass)}}})},types:{},detectors:[],addSortType:function(){$A(arguments).each(function(A){TableKit.Sortable.types[A.name]=A})},getDataType:function(A,C,E){A=$(A);C=(C||C===0)?C:TableKit.getCellIndex(A);var G=TableKit.Sortable._coltypecache;var B=G[E.id]?G[E.id]:(G[E.id]={});if(!B[C]){var D=false;if(A.id&&TableKit.Sortable.types[A.id]){D=A.id}if(!D){D=$w(A.className).detect(function(H){return(TableKit.Sortable.types[H])?true:false})}if(!D){var F=TableKit.getBodyRows(E);A=F[0].cells[C];D=TableKit.Sortable.detectors.detect(function(H){return TableKit.Sortable.types[H].detect(TableKit.getCellText(A))})}B[C]=D}return B[C]},_coltypecache:{}};TableKit.Sortable.detectors=$A($w("date-iso date date-eu date-au time currency datasize number casesensitivetext text"));TableKit.Sortable.Type=Class.create();TableKit.Sortable.Type.prototype={initialize:function(B,A){this.name=B;A=Object.extend({normal:function(C){return C},pattern:/.*/},A||{});this.normal=A.normal;this.pattern=A.pattern;if(A.compare){this.compare=A.compare}if(A.detect){this.detect=A.detect}},compare:function(B,A){return TableKit.Sortable.Type.compare(this.normal(B),this.normal(A))},detect:function(A){return this.pattern.test(A)}};TableKit.Sortable.Type.compare=function(B,A){return B<A?-1:B===A?0:1};TableKit.Sortable.addSortType(new TableKit.Sortable.Type("number",{pattern:/^[-+]?[\d]*\.?[\d]+(?:[eE][-+]?[\d]+)?/,normal:function(A){A=parseFloat(A.replace(/^.*?([-+]?[\d]*\.?[\d]+(?:[eE][-+]?[\d]+)?).*$/,"$1"));return isNaN(A)?0:A}}),new TableKit.Sortable.Type("text",{normal:function(A){return A?A.toLowerCase():""}}),new TableKit.Sortable.Type("casesensitivetext",{pattern:/^[A-Z]+$/}),new TableKit.Sortable.Type("datasize",{pattern:/^[-+]?[\d]*\.?[\d]+(?:[eE][-+]?[\d]+)?\s?[k|m|g|t]b$/i,normal:function(D){var E=D.match(/^([-+]?[\d]*\.?[\d]+([eE][-+]?[\d]+)?)\s?([k|m|g|t]?b)?/i);var C=E[1]?Number(E[1]).valueOf():0;var B=E[3]?E[3].substr(0,1).toLowerCase():"";var A=C;switch(B){case"k":A=C*1024;break;case"m":A=C*1024*1024;break;case"g":A=C*1024*1024*1024;break;case"t":A=C*1024*1024*1024*1024;break}return A}}),new TableKit.Sortable.Type("date-au",{pattern:/^\d{2}\/\d{2}\/\d{4}\s?(?:\d{1,2}\:\d{2}(?:\:\d{2})?\s?[a|p]?m?)?/i,normal:function(I){if(!this.pattern.test(I)){return 0}var A=I.match(/^(\d{2})\/(\d{2})\/(\d{4})\s?(?:(\d{1,2})\:(\d{2})(?:\:(\d{2}))?\s?([a|p]?m?))?/i);var H=A[3];var E=parseInt(A[2],10)-1;var B=A[1];var G=A[4]?A[4]:0;if(A[7]){var D=parseInt(A[4],10);if(A[7].toLowerCase().indexOf("p")!==-1){G=D<12?D+12:D}else{if(A[7].toLowerCase().indexOf("a")!==-1){G=D<12?D:0}}}var F=A[5]?A[5]:0;var C=A[6]?A[6]:0;return new Date(H,E,B,G,F,C,0).valueOf()}}),new TableKit.Sortable.Type("date-us",{pattern:/^\d{2}\/\d{2}\/\d{4}\s?(?:\d{1,2}\:\d{2}(?:\:\d{2})?\s?[a|p]?m?)?/i,normal:function(I){if(!this.pattern.test(I)){return 0}var A=I.match(/^(\d{2})\/(\d{2})\/(\d{4})\s?(?:(\d{1,2})\:(\d{2})(?:\:(\d{2}))?\s?([a|p]?m?))?/i);var H=A[3];var E=parseInt(A[1],10)-1;var B=A[2];var G=A[4]?A[4]:0;if(A[7]){var D=parseInt(A[4],10);if(A[7].toLowerCase().indexOf("p")!==-1){G=D<12?D+12:D}else{if(A[7].toLowerCase().indexOf("a")!==-1){G=D<12?D:0}}}var F=A[5]?A[5]:0;var C=A[6]?A[6]:0;return new Date(H,E,B,G,F,C,0).valueOf()}}),new TableKit.Sortable.Type("date-eu",{pattern:/^\d{2}-\d{2}-\d{4}/i,normal:function(B){if(!this.pattern.test(B)){return 0}var D=B.match(/^(\d{2})-(\d{2})-(\d{4})/);var E=D[3];var A=parseInt(D[2],10)-1;var C=D[1];return new Date(E,A,C).valueOf()}}),new TableKit.Sortable.Type("date-iso",{pattern:/[\d]{4}-[\d]{2}-[\d]{2}(?:T[\d]{2}\:[\d]{2}(?:\:[\d]{2}(?:\.[\d]+)?)?(Z|([-+][\d]{2}:[\d]{2})?)?)?/,normal:function(A){if(!this.pattern.test(A)){return 0}var E=A.match(/([\d]{4})(-([\d]{2})(-([\d]{2})(T([\d]{2}):([\d]{2})(:([\d]{2})(\.([\d]+))?)?(Z|(([-+])([\d]{2}):([\d]{2})))?)?)?)?/);var D=0;var B=new Date(E[1],0,1);if(E[3]){B.setMonth(E[3]-1)}if(E[5]){B.setDate(E[5])}if(E[7]){B.setHours(E[7])}if(E[8]){B.setMinutes(E[8])}if(E[10]){B.setSeconds(E[10])}if(E[12]){B.setMilliseconds(Number("0."+E[12])*1000)}if(E[14]){D=(Number(E[16])*60)+Number(E[17]);D*=((E[15]==="-")?1:-1)}D-=B.getTimezoneOffset();if(D!==0){var C=(Number(B)+(D*60*1000));B.setTime(Number(C))}return B.valueOf()}}),new TableKit.Sortable.Type("date",{pattern:/^(?:sun|mon|tue|wed|thu|fri|sat)\,\s\d{1,2}\s(?:jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\s\d{4}(?:\s\d{2}\:\d{2}(?:\:\d{2})?(?:\sGMT(?:[+-]\d{4})?)?)?/i,compare:function(B,A){if(B&&A){return TableKit.Sortable.Type.compare(new Date(B),new Date(A))}else{return TableKit.Sortable.Type.compare(B?1:0,A?1:0)}}}),new TableKit.Sortable.Type("time",{pattern:/^\d{1,2}\:\d{2}(?:\:\d{2})?(?:\s[a|p]m)?$/i,compare:function(B,A){var D=new Date();var C=D.getMonth()+"/"+D.getDate()+"/"+D.getFullYear()+" ";return TableKit.Sortable.Type.compare(new Date(C+B),new Date(C+A))}}),new TableKit.Sortable.Type("currency",{pattern:/^[$����]/,normal:function(A){return A?parseFloat(A.replace(/[^-\d\.]/g,"")):0}}));TableKit.Resizable={init:function(D,B){var C=$(D);if(C.tagName!=="TABLE"){return}TableKit.register(C,Object.extend(B||{},{resizable:true}));var A=TableKit.getHeaderCells(C);A.each(function(E){E=$(E);Event.observe(E,"mouseover",TableKit.Resizable.initDetect);Event.observe(E,"mouseout",TableKit.Resizable.killDetect)})},resize:function(D,C,B){var A;if(typeof C==="number"){if(!D||(D.tagName&&D.tagName!=="TABLE")){return}D=$(D);C=Math.min(D.rows[0].cells.length,C);C=Math.max(1,C);C-=1;A=(D.tHead&&D.tHead.rows.length>0)?$(D.tHead.rows[D.tHead.rows.length-1].cells[C]):$(D.rows[0].cells[C])}else{A=$(C);D=D?$(D):A.up("table");C=TableKit.getCellIndex(A)}var E=parseInt(A.getStyle("paddingLeft"),10)+parseInt(A.getStyle("paddingRight"),10);B=Math.max(B-E,TableKit.option("minWidth",D.id)[0]);A.setStyle({width:B+"px"})},initDetect:function(B){B=TableKit.e(B);var A=Event.element(B);Event.observe(A,"mousemove",TableKit.Resizable.detectHandle);Event.observe(A,"mousedown",TableKit.Resizable.startResize)},detectHandle:function(B){B=TableKit.e(B);var A=Event.element(B);if(TableKit.Resizable.pointerPos(A,Event.pointerX(B),Event.pointerY(B))){A.addClassName(TableKit.option("resizeOnHandleClass",A.up("table").id)[0]);TableKit.Resizable._onHandle=true}else{A.removeClassName(TableKit.option("resizeOnHandleClass",A.up("table").id)[0]);TableKit.Resizable._onHandle=false}},killDetect:function(B){B=TableKit.e(B);TableKit.Resizable._onHandle=false;var A=Event.element(B);Event.stopObserving(A,"mousemove",TableKit.Resizable.detectHandle);Event.stopObserving(A,"mousedown",TableKit.Resizable.startResize);A.removeClassName(TableKit.option("resizeOnHandleClass",A.up("table").id)[0])},startResize:function(C){C=TableKit.e(C);if(!TableKit.Resizable._onHandle){return}var A=Event.element(C);Event.stopObserving(A,"mousemove",TableKit.Resizable.detectHandle);Event.stopObserving(A,"mousedown",TableKit.Resizable.startResize);Event.stopObserving(A,"mouseout",TableKit.Resizable.killDetect);TableKit.Resizable._cell=A;var B=A.up("table");TableKit.Resizable._tbl=B;if(TableKit.option("showHandle",B.id)[0]){TableKit.Resizable._handle=$(document.createElement("div")).addClassName("resize-handle").setStyle({top:A.cumulativeOffset()[1]+"px",left:Event.pointerX(C)+"px",height:B.getDimensions().height+"px"});document.body.appendChild(TableKit.Resizable._handle)}Event.observe(document,"mousemove",TableKit.Resizable.drag);Event.observe(document,"mouseup",TableKit.Resizable.endResize);Event.stop(C)},endResize:function(B){B=TableKit.e(B);var A=TableKit.Resizable._cell;TableKit.Resizable.resize(null,A,(Event.pointerX(B)-A.cumulativeOffset()[0]));Event.stopObserving(document,"mousemove",TableKit.Resizable.drag);Event.stopObserving(document,"mouseup",TableKit.Resizable.endResize);if(TableKit.option("showHandle",TableKit.Resizable._tbl.id)[0]){$$("div.resize-handle").each(function(C){document.body.removeChild(C)})}Event.observe(A,"mouseout",TableKit.Resizable.killDetect);TableKit.Resizable._tbl=TableKit.Resizable._handle=TableKit.Resizable._cell=null;Event.stop(B)},drag:function(A){A=TableKit.e(A);if(TableKit.Resizable._handle===null){try{TableKit.Resizable.resize(TableKit.Resizable._tbl,TableKit.Resizable._cell,(Event.pointerX(A)-TableKit.Resizable._cell.cumulativeOffset()[0]))}catch(A){}}else{TableKit.Resizable._handle.setStyle({left:Event.pointerX(A)+"px"})}return false},pointerPos:function(B,A,D){var C=$(B).cumulativeOffset();return(D>=C[1]&&D<C[1]+B.offsetHeight&&A>=C[0]+B.offsetWidth-5&&A<C[0]+B.offsetWidth)},_onHandle:false,_cell:null,_tbl:null,_handle:null};TableKit.Editable={init:function(C,A){var B=$(C);if(B.tagName!=="TABLE"){return}TableKit.register(B,Object.extend(A||{},{editable:true}));Event.observe(B.tBodies[0],"click",TableKit.Editable._editCell)},_editCell:function(B){B=TableKit.e(B);var A=Event.findElement(B,"td");if(A){TableKit.Editable.editCell(null,A,null,B)}else{return false}},editCell:function(H,D,I,A){var G,J;if(typeof D==="number"){if(!H||(H.tagName&&H.tagName!=="TABLE")){return}H=$(H);D=Math.min(H.tBodies[0].rows.length,D);D=Math.max(1,D);D-=1;I=Math.min(H.rows[0].cells.length,I);I=Math.max(1,I);I-=1;J=$(H.tBodies[0].rows[D]);G=$(J.cells[I])}else{G=$(A?Event.findElement(A,"td"):D);H=(H&&H.tagName&&H.tagName!=="TABLE")?$(H):G.up("table");J=G.up("tr")}var C=TableKit.option("noEditClass",H.id);if(G.hasClassName(C.noEditClass)){return}var E=$(TableKit.getHeaderCells(H,G)[TableKit.getCellIndex(G)]);if(E.hasClassName(C.noEditClass)){return}var B=TableKit.getCellData(G);if(B.active){return}B.htmlContent=G.innerHTML;var F=TableKit.Editable.getCellEditor(null,null,E);F.edit(G,A);B.active=true},getCellEditor:function(A,D,C){var C=C?C:$(TableKit.getHeaderCells(D,A)[TableKit.getCellIndex(A)]);var B=TableKit.Editable.types["text-input"];if(C.id&&TableKit.Editable.types[C.id]){B=TableKit.Editable.types[C.id]}else{var E=$w(C.className).detect(function(F){return(TableKit.Editable.types[F])?true:false});B=E?TableKit.Editable.types[E]:B}return B},types:{},addCellEditor:function(A){if(A&&A.name){TableKit.Editable.types[A.name]=A}}};TableKit.Editable.CellEditor=Class.create();TableKit.Editable.CellEditor.prototype={initialize:function(B,A){this.name=B;this.options=Object.extend({element:"input",attributes:{name:"value",type:"text"},selectOptions:[],showSubmit:true,submitText:"OK",showCancel:true,cancelText:"Cancel",ajaxURI:null,ajaxOptions:null},A||{})},edit:function(B){B=$(B);var H=this.options;var E=B.up("table");var D=$(document.createElement("form"));D.id=B.id+"-form";D.addClassName(TableKit.option("formClassName",E.id)[0]);D.onsubmit=this._submit.bindAsEventListener(this);var F=document.createElement(H.element);$H(H.attributes).each(function(I){F[I.key]=I.value});switch(H.element){case"input":case"textarea":F.value=TableKit.getCellText(B);break;case"select":var A=TableKit.getCellText(B);$A(H.selectOptions).each(function(I){F.options[F.options.length]=new Option(I[0],I[1]);if(A===I[1]){F.options[F.options.length-1].selected="selected"}});break}D.appendChild(F);if(H.element==="textarea"){D.appendChild(document.createElement("br"))}if(H.showSubmit){var G=document.createElement("input");G.type="submit";G.value=H.submitText;G.className="editor_ok_button";D.appendChild(G)}if(H.showCancel){var C=document.createElement("a");C.href="#";C.appendChild(document.createTextNode(H.cancelText));C.onclick=this._cancel.bindAsEventListener(this);C.className="editor_cancel";D.appendChild(C)}B.innerHTML="";B.appendChild(D)},_submit:function(C){var A=Event.findElement(C,"td");var B=Event.findElement(C,"form");Event.stop(C);this.submit(A,B)},submit:function(A,E){var G=this.options;E=E?E:A.down("form");var B=$(TableKit.getHeaderCells(null,A)[TableKit.getCellIndex(A)]);var F=A.up("tr");var D=A.up("table");var C="&row="+(TableKit.getRowIndex(F)+1)+"&cell="+(TableKit.getCellIndex(A)+1)+"&id="+F.id+"&field="+B.id+"&"+Form.serialize(E);this.ajax=new Ajax.Updater(A,G.ajaxURI||TableKit.option("editAjaxURI",D.id)[0],Object.extend(G.ajaxOptions||TableKit.option("editAjaxOptions",D.id)[0],{postBody:C,onComplete:function(){var H=TableKit.getCellData(A);H.active=false;H.refresh=true}}))},_cancel:function(B){var A=Event.findElement(B,"td");Event.stop(B);this.cancel(A)},cancel:function(A){this.ajax=null;var B=TableKit.getCellData(A);A.innerHTML=B.htmlContent;B.htmlContent="";B.active=false},ajax:null};TableKit.Editable.textInput=function(B,A){TableKit.Editable.addCellEditor(new TableKit.Editable.CellEditor(B,{element:"input",attributes:Object.extend({name:"value",type:"text"},A||{})}))};TableKit.Editable.textInput("text-input");TableKit.Editable.multiLineInput=function(B,A){TableKit.Editable.addCellEditor(new TableKit.Editable.CellEditor(B,{element:"textarea",attributes:Object.extend({name:"value",rows:"5",cols:"20"},A||{})}))};TableKit.Editable.multiLineInput("multi-line-input");TableKit.Editable.selectInput=function(C,B,A){TableKit.Editable.addCellEditor(new TableKit.Editable.CellEditor(C,{element:"select",attributes:Object.extend({name:"value"},B||{}),selectOptions:A}))};document.observe("dom:loaded",TableKit.load);