PrimeFaces.widget.DataTable=function(d,a){this.id=d;this.cfg=a;this.jqId=PrimeFaces.escapeClientId(d);this.tbody=this.jqId+"_data";if(this.cfg.paginator){this.setupPaginator()}this.setupSortEvents();if(this.cfg.selectionMode||this.cfg.columnSelectionMode){this.selectionHolder=this.jqId+"_selection";var b=jQuery(this.selectionHolder).val();this.selection=b==""?[]:b.split(",");this.setupSelectionEvents()}if(this.cfg.expansion){this.setupExpansionEvents()}if(this.cfg.scrollable){this.setupScrolling()}var c=this.getRowEditors();if(c.length>0){this.setupCellEditorEvents(c)}};PrimeFaces.widget.DataTable.prototype.setupPaginator=function(){var a=this.getPaginator();a.subscribe("changeRequest",this.paginate,null,this);a.render()};PrimeFaces.widget.DataTable.prototype.setupSortEvents=function(){var a=this;jQuery(this.jqId+" th.ui-sortable-column").mouseover(function(){jQuery(this).toggleClass("ui-state-hover")}).mouseout(function(){jQuery(this).toggleClass("ui-state-hover")}).click(function(b){if(jQuery(b.target).is(":not(th,span)")){return}var c=jQuery(this).attr("id");jQuery(this).siblings().removeClass("ui-state-active").children(".ui-sortable-column-icon").removeClass("ui-icon-triangle-1-n ui-icon-triangle-1-s");jQuery(this).addClass("ui-state-active");var d=jQuery(this).children(".ui-sortable-column-icon");if(d.hasClass("ui-icon-triangle-1-n")){d.removeClass("ui-icon-triangle-1-n").addClass("ui-icon-triangle-1-s");a.sort(c,false)}else{if(d.hasClass("ui-icon-triangle-1-s")){d.removeClass("ui-icon-triangle-1-s").addClass("ui-icon-triangle-1-n");a.sort(c,true)}else{d.addClass("ui-icon-triangle-1-n");a.sort(c,true)}}})};PrimeFaces.widget.DataTable.prototype.setupSelectionEvents=function(){var b=this;if(this.cfg.selectionMode){var c=this.cfg.dblclickSelect?"dblclick":"click",a=this.isCellSelectionEnabled()?this.jqId+" tbody.ui-datatable-data tr td":this.jqId+" tbody.ui-datatable-data tr";jQuery(a).css("cursor","pointer").die().live("mouseover",function(){var d=jQuery(this);if(!d.hasClass("ui-selected")){d.addClass("ui-state-highlight")}}).live("mouseout",function(){var d=jQuery(this);if(!d.hasClass("ui-selected")){d.removeClass("ui-state-highlight")}}).live(c,function(d){if(this.nodeName=="TR"){b.onRowClick(d,this)}else{b.onCellClick(d,this)}})}else{if(this.cfg.columnSelectionMode){if(this.cfg.columnSelectionMode=="single"){jQuery(this.jqId+" tbody.ui-datatable-data td.ui-selection-column input:radio").die().live("click",function(){b.selectRowWithRadio(this)})}else{jQuery(this.jqId+" tbody.ui-datatable-data td.ui-selection-column input:checkbox").die().live("click",function(){b.selectRowWithCheckbox(this)})}}}};PrimeFaces.widget.DataTable.prototype.setupExpansionEvents=function(){var a=this;jQuery(this.jqId+" tbody.ui-datatable-data tr td span.ui-row-toggler").die().live("click",function(){a.toggleExpansion(this)})};PrimeFaces.widget.DataTable.prototype.setupScrolling=function(){var e=jQuery(this.jqId+" .ui-datatable-scrollable-body"),d=e.get(0),b=jQuery(this.tbody).get(0);var c=(d.scrollHeight>d.clientHeight)?(b.parentNode.clientWidth+16)+"px":(b.parentNode.clientWidth-1)+"px";jQuery(this.jqId).css("width",c);if(this.cfg.liveScroll){this.scrollOffset=this.cfg.scrollStep;this.shouldLiveScroll=true;var a=this;e.scroll(function(){if(a.shouldLiveScroll){var f=jQuery(this);var i=f.attr("scrollTop"),h=f.attr("scrollHeight"),g=f.attr("clientHeight");if(i>=(h-(g))){a.loadLiveRows()}}})}};PrimeFaces.widget.DataTable.prototype.loadLiveRows=function(){var b={source:this.id,process:this.id,update:this.id,formId:this.cfg.formId},a=this;b.onsuccess=function(h){var f=h.documentElement,g=f.getElementsByTagName("update");for(var d=0;d