YAHOO.namespace("ostluft.fachbereich");YAHOO.ostluft.fachbereich.AbfrageDatatable=function(b,a){this._htmlElement=b;this._listURL=a;this._columnSet=null;this._dataSourceResponseSchema=null;this._datasource=null;this._dataTable=null;this.onClickGrunddatenEvent=new YAHOO.util.CustomEvent("onClickGrunddatenEvent");this.onClickKanaeleEvent=new YAHOO.util.CustomEvent("onClickKanaeleEvent")};YAHOO.ostluft.fachbereich.AbfrageDatatable.prototype._init=function(){this._columnSet=new YAHOO.widget.ColumnSet([{key:"bezeichnung",label:"Name",width:"96px",formatter:YAHOO.ostluft.fachbereich.AbfrageDatatable.formatShortName,sortable:true},{key:"datum",label:"Datum",width:"56px",formatter:YAHOO.ostluft.fachbereich.AbfrageDatatable.formatDate,sortable:true}]);this._dataSourceResponseSchema={resultsList:"items",fields:["id","bezeichnung","datum"]};this._datasource=new YAHOO.util.DataSource(this._listURL);this._datasource.responseType=YAHOO.util.DataSource.TYPE_JSON;this._datasource.responseSchema=this._dataSourceResponseSchema;this._datasource.flushCache();this._dataTable=new YAHOO.widget.DataTable(this._htmlElement,this._columnSet,this._datasource,{initialRequest:"",selectionMode:"single"});this._dataTable.subscribe("rowMouseoverEvent",this._dataTable.onEventHighlightRow);this._dataTable.subscribe("rowMouseoutEvent",this._dataTable.onEventUnhighlightRow);this._dataTable.subscribe("rowClickEvent",this._dataTable.onEventSelectRow)};YAHOO.ostluft.fachbereich.AbfrageDatatable.prototype.load=function(){if(this._dataTable==null){this._init()}else{this._datasource.flushCache();this._datasource.sendRequest(this._listURL,this._dataTable.onDataReturnInitializeTable,this._dataTable)}};YAHOO.ostluft.fachbereich.AbfrageDatatable.prototype.updateRow=function(a,b){this._dataTable.updateRow(a,b);this._dataTable.refreshView()};YAHOO.ostluft.fachbereich.AbfrageDatatable.prototype.addRow=function(b){var a=this._dataTable.getRecordSet().addRecords(b);this._dataTable.unselectAllRows();this._dataTable.selectRow(a);this._dataTable.refreshView();return a};YAHOO.ostluft.fachbereich.AbfrageDatatable.prototype.removeRow=function(b){var a=parseInt(this._dataTable.getRecordSet().getRecordIndex(b));this._dataTable.deleteRow(a);this._dataTable.refreshView()};YAHOO.ostluft.fachbereich.AbfrageDatatable.prototype.getSelectedRow=function(){var a=this._dataTable.getSelectedRows();if(a.length>0){return this._dataTable.getRecordSet().getRecord(a[0])}else{return null}};YAHOO.ostluft.fachbereich.AbfrageDatatable.prototype.findRecord=function(b,e){var c=this._dataTable.getRecordSet();var d=c.getLength();var g=parseInt(Math.ceil(d/2));var f=d-g;for(i=0;i<g;i++){var a=c.getRecord(i);if(a.getData(b)==e){return a}if(i+f<d){a=c.getRecord(i+f);if(a.getData(b)==e){return a}}}return null};YAHOO.ostluft.fachbereich.AbfrageDatatable.formatDate=function(c,b,d,e){var a=/(\d{4})-(\d{2})-(\d{2})/;a.exec(e);c.innerHTML=RegExp.$3+"."+RegExp.$2+"."+RegExp.$1};YAHOO.ostluft.fachbereich.AbfrageDatatable.formatShortName=function(b,a,c,d){if(d.length>20){b.innerHTML=d.substr(0,17);b.innerHTML+="...";b.title=d}else{b.innerHTML=d}};YAHOO.register("AbfrageDatatable",YAHOO.ostluft.fachbereich.AbfrageDatatable,{version:"1.0.0",build:"$Revision: 2 $"});
