Type.registerNamespace("rb");rb.PageableLayoutView=function(a){rb.PageableLayoutView.initializeBase(this,[a]);this._itemRows=[];this._cells=[];this._itemsPerRow=5;this._pageSize=10;this._autoGrow=false;this._idName="ID";this._pagedData=null;this._dataKeys=[];this._itemTemplate="";this._itemTemplateDelegates=null;this._progressContainerId=null;this._noResultsContainerId=null;this._progressUrl="";this._noResultsHTML=null;this._locked=false;this._pagingContainerIds=[];this._navigationSeparator="|";this._pageOfHTML=null;this._itemsOfHTML=null;this._itemsOfHTMLSingle=null;this._pagingButtons={cmdNext:"Next",cmdPrev:"Previous"};this._noResults=false};rb.PageableLayoutView.prototype={get_progCtrId:function(){return this._progressContainerId},set_progCtrId:function(a){this._progressContainerId=a},get_noResCtrId:function(){return this._noResultsContainerId},set_noResCtrId:function(a){this._noResultsContainerId=a},get_pagingCtrIds:function(){return this._pagingContainerIds},set_pagingCtrIds:function(a){this._pagingContainerIds=a.split(",")},get_progUrl:function(){return this._progressUrl},set_progUrl:function(a){this._progressUrl=a},get_itemTemplate:function(){return this._itemTemplate},set_itemTemplate:function(a){this._itemTemplate=a},get_itemTemplateDelegates:function(){return this._itemTemplateDelegates},set_itemTemplateDelegates:function(a){this._itemTemplateDelegates=a},get_idName:function(){return this._idName},set_idName:function(a){this._idName=a},get_data:function(){return this._pagedData.Data},set_data:function(a){this._pagedData.Data=a},get_itemsPerRow:function(){return this._itemsPerRow},set_itemsPerRow:function(a){this._itemsPerRow=a},get_navigationSeparator:function(){return this._navigationSeparator},set_navigationSeparator:function(a){this._navigationSeparator=a},get_pagingButtons:function(){return this._pagingButtons},set_pagingButtons:function(a){if(String.isInstanceOfType(a)){a=Sys.Serialization.JavaScriptSerializer.deserialize(a)}this._pagingButtons=a},get_noResultsHTML:function(){return this._noResultsHTML},set_noResultsHTML:function(a){this._noResultsHTML=a},get_pageOfHTML:function(){return this._pageOfHTML},set_pageOfHTML:function(a){this._pageOfHTML=a},get_itemsOfHTML:function(){return this._itemsOfHTML},set_itemsOfHTML:function(a){this._itemsOfHTML=a},get_itemsOfHTMLSingle:function(){return this._itemsOfHTMLSingle},set_itemsOfHTMLSingle:function(a){this._itemsOfHTMLSingle=a},get_autoGrow:function(){return this._autoGrow},set_autoGrow:function(a){this._autoGrow=a},get_control:function(a){return this._controls[a]},get_cells:function(a){return this._cells[a]},get_pageSize:function(){return this._pageSize},set_pageSize:function(a){if(a==-1){this._pageSize=a;return}if(a%this._itemsPerRow>0){a+=(this._itemsPerRow-(a%this._itemsPerRow))}this._pageSize=a;if(this._controls.itemTBody!=null){this._clear();this._buildItemRows()}},get_rows:function(){return(this._pageSize/this._itemsPerRow)},get_locked:function(){return this._locked},set_locked:function(a){if(this.get_control("imgProgress")!=null){this._setDisplay(this.get_control("imgProgress"),a)}this._locked=a},add_itemDataBind:function(a){this.get_events().addHandler("ItemDataBind",a)},remove_itemDataBind:function(a){this.get_events().removeHandler("ItemDataBind",a)},raiseItemDataBind:function(c,d){var b=this.get_events().getHandler("ItemDataBind");if(b){var a=new rb.BaseControl.DataEventArgs(c,d);b(this,a)}},add_itemClick:function(a){this.get_events().addHandler("ItemClick",a)},remove_itemClick:function(a){this.get_events().removeHandler("ItemClick",a)},raiseItemClick:function(a,d,f,e){var c=this.get_events().getHandler("ItemClick");if(c){var b=new rb.PageableLayoutView.CellDataEventArgs(d,f,e);c(this,b);if(b.get_cancel()){a.preventDefault()}}},add_pagingClick:function(a){this.get_events().addHandler("PagingClick",a)},remove_pagingClick:function(a){this.get_events().removeHandler("PagingClick",a)},raisePagingClick:function(a,c){var b=this.get_events().getHandler("PagingClick");if(b){var e=0;if(a>0){e=this.lastID()}else{if(a<0){e=this.firstID()}}var d=new rb.PageableLayoutView.PagingEventArgs(a,c,e);b(this,d)}},add_tabClick:function(a){this.get_events().addHandler("TabClick",a)},remove_tabClick:function(a){this.get_events().removeHandler("TabClick",a)},raiseTabClick:function(c,d){var b=this.get_events().getHandler("TabClick");if(b){var a=new rb.BaseControl.DataEventArgs(c,d);b(this,a)}},initialize:function(){rb.PageableLayoutView.callBaseMethod(this,"initialize");this._buildTable();if(!this._autoGrow){this._buildItemRows()}this._buildNoResults();this._disableTextSelect(this.get_element());$addHandlers(this.get_element(),{click:this._onClick,keypress:this._onKeyPress,keydown:this._onKeyDown},this)},_onClick:function(a,b){if(this._locked){return}this._selectItem(a,this._getControlTree(a.target,"itemId"))},_onKeyPress:function(a,b){if(this._locked){return}if(a.charCode==Sys.UI.Key.enter){this._selectItem(a,this._getControlTree(a.target,"itemId"))}},_onKeyDown:function(a,b){if(this._locked){return}if(a.keyCode==Sys.UI.Key.pageUp){this.movePrevious()}else{if(a.keyCode==Sys.UI.Key.pageDown){this.moveNext()}}},_onNext:function(a,b){this.moveNext()},_onPrev:function(a,b){this.movePrevious()},_onFirst:function(a,b){this.moveFirst()},_onLast:function(a,b){this.moveLast()},bind:function(a){this._pagedData=a;var b;if(this._autoGrow){this.set_pageSize(a.Data.length)}this._dataKeys=[];for(var c=0;c<this._cells.length;c++){if(this._pagedData.Data[c]){b=this._pagedData.Data[c][this.get_idName()];this._cells[c].itemId=b;this._dataKeys[b]=c;if(this._itemTemplate!=null){this._cells[c].innerHTML=this.tokenReplace(this._itemTemplate,this._pagedData.Data[c],this._itemTemplateDelegates)}this.raiseItemDataBind(this._cells[c],this._pagedData.Data[c]);this._cells[c].style.cursor="";Sys.UI.DomElement.removeCssClass(this._cells[c],"empty")}else{this._cells[c].itemId=null;this._cells[c].style.cursor="default";this._cells[c].innerHTML="";Sys.UI.DomElement.addCssClass(this._cells[c],"empty")}}this._showNoResults(this._pagedData.Data.length==0);this._refreshPaging()},firstID:function(){return this._pagedData.Data[0][this.get_idName()]},lastID:function(){return this._pagedData.LastID},moveNext:function(){if(this._locked||this._pagedData==null||this._pagedData.HasNext==false){return}this.raisePagingClick(1)},movePrevious:function(){if(this._locked||this._pagedData==null||this._pagedData.HasPrevious==false){return}this.raisePagingClick(-1)},moveLast:function(){if(this._locked||this._pagedData==null||this._pagedData.HasNext==false){return}this.raisePagingClick(0,this._pagedData.TotalPages)},moveFirst:function(){if(this._locked||this._pagedData==null||this._pagedData.HasPrevious==false){return}this.raisePagingClick(0,1)},selectItemByIndex:function(a){if(a<this._cells.length){this._selectItem(null,[this._cells[a]])}},selectItem:function(a){this.selectItemByIndex(this._dataKeys[a])},_selectItem:function(a,b){var c=b[b.length-1].itemId;if(c!=null){this.raiseItemClick(a,b,this._pagedData.Data[this._dataKeys[c]],this._dataKeys[c])}},_buildTable:function(){this._controls.tbody=this._createTableBody(this.get_element());var a=this._createRowAndCell(this._controls.tbody);this._controls.itemTBody=this._createTableBody(a);this._createNavigation();this._createProgressContainer()},_buildItemRows:function(){for(var a=this._itemRows.length;a<this.get_rows();a++){this._addRow()}},_clear:function(){for(var a=0;a<this._itemRows.length;a++){this._controls.itemTBody.removeChild(this._itemRows[a])}this._cells=[];this._itemRows=[]},_addRow:function(){var a=document.createElement("tr");for(var b=0;b<this._itemsPerRow;b++){this._addCell(a,b)}this._itemRows.push(a);if(this._itemRows.length%2==0){a.className="alt"}this._controls.itemTBody.appendChild(a)},_addCell:function(d,e){var b=document.createElement("td");var a=document.createElement("div");var c="plvcItem empty";if(e==0){c+=" first"}if(e==this._itemsPerRow-1){c+=" last"}a.className=c;this._cells.push(a);b.appendChild(a);d.appendChild(b);return b},_buildNoResults:function(){if(this._noResultsHTML!=null){var a=this.get_element();if(this._noResultsContainerId!=null){a=$get(this._noResultsContainerId)}a.appendChild(this._createChildControl("div","noResultsDiv","noResults",{innerHTML:this._noResultsHTML,"style.display":"none"},null))}},_refreshPaging:function(){var a;for(var d=0;d<this._pagingContainerIds.length;d++){a=this._pagingContainerIds[d];this._handlePagingDisable(a,"cmdFirst",this._pagedData.HasPrevious);this._handlePagingDisable(a,"cmdPrev",this._pagedData.HasPrevious);this._handlePagingDisable(a,"cmdNext",this._pagedData.HasNext);this._handlePagingDisable(a,"cmdLast",this._pagedData.HasNext);if(this._pageOfHTML!=null){this._controls[a+"cmdSep"].innerHTML=String.format(this._pageOfHTML,'<span class="pnum">'+this._pagedData.CurrentPage+"</span>",'<span class="pnum">'+this._pagedData.TotalPages+"</span>");this._setDisplay(this._controls[a+"cmdSep"],this._pagedData.TotalPages>0)}else{if(this._itemsOfHTML!=null){var e=(this._pagedData.CurrentPage-1)*this._pageSize+1;var c=this._pagedData.HasNext?e+this._pageSize-1:this._pagedData.Total;var b=e.toString();if(c>e){b+="-"+c}if(this._pagedData.TotalPages==1&&this._itemsOfHTMLSingle){this._controls[a+"cmdSep"].innerHTML=String.format(this._itemsOfHTMLSingle,'<span class="itemrange">'+b+"</span>")}else{this._controls[a+"cmdSep"].innerHTML=String.format(this._itemsOfHTML,'<span class="itemrange">'+b+"</span>",'<span class="itemrange">'+this._pagedData.Total+"</span>")}this._setDisplay(this._controls[a+"cmdSep"],this._pagedData.TotalPages>0)}else{this._setDisplay(this._controls[a+"cmdSep"],(this._pagedData.HasNext&&this._pagedData.HasPrevious))}}}},_handlePagingDisable:function(a,d,b){var c=this._controls[a+d];if(c){var e=b?d:d+"D";if(this._pagingButtons[d+"D"]){c.innerHTML=this._pagingButtons[e]}else{this._setVisibility(c,b)}if(b){Sys.UI.DomElement.removeCssClass(c,"disabled")}else{Sys.UI.DomElement.addCssClass(c,"disabled")}this._setDisplay(c,!this._noResults)}},_showNoResults:function(a){this._noResults=a;if(this._controls.noResultsDiv!=null){this._setDisplay(this._controls.noResultsDiv,a);this._setDisplay(this._controls.tbody.parentNode,!a);this._setDisplay(this._controls.noResultsDiv,a)}},_createProgressContainer:function(){if(this._progressContainerId!=null){var a=$get(this._progressContainerId);a.appendChild(this._createChildControl("img","imgProgress","progress",{src:this._progressUrl,"style.display":"none"}))}},_createNavigation:function(){if(this._pagingContainerIds.length==0){this._createRowAndCell(this._controls.tbody,{id:"__prow",className:"paging"});this._pagingContainerIds.push("__prow")}for(var a=0;a<this._pagingContainerIds.length;a++){this._createPagingControl($get(this._pagingContainerIds[a]))}},_createPagingControl:function(a){var b=this._createRow(this._createTableBody(a));if(this._pagingButtons.cmdFirst!=null){this._createCell(b,null,this._createChildControl("a",a.id+"cmdFirst","button first",{innerHTML:this._pagingButtons.cmdFirst},{click:this._onFirst}))}this._createCell(b,null,this._createChildControl("a",a.id+"cmdPrev","button prev",{innerHTML:this._pagingButtons.cmdPrev,"style.display":"none"},{click:this._onPrev}));this._createCell(b,null,this._createChildControl("span",a.id+"cmdSep","sep",{innerHTML:this._navigationSeparator,"style.display":"none"}));this._createCell(b,null,this._createChildControl("a",a.id+"cmdNext","button next",{innerHTML:this._pagingButtons.cmdNext,"style.display":"none"},{click:this._onNext}));if(this._pagingButtons.cmdLast!=null){this._createCell(b,null,this._createChildControl("a",a.id+"cmdLast","button last",{innerHTML:this._pagingButtons.cmdLast},{click:this._onLast}))}},dispose:function(){rb.PageableLayoutView.callBaseMethod(this,"dispose")}};rb.PageableLayoutView.registerClass("rb.PageableLayoutView",rb.BaseControl);rb.PageableLayoutView.PagingEventArgs=function(a,b,c){this._dir=a;this._pageNum=b;this._startID=c};rb.PageableLayoutView.PagingEventArgs.prototype={get_dir:function(){return this._dir},get_page:function(){return this._pageNum},get_startID:function(){return this._startID}};rb.PageableLayoutView.PagingEventArgs.registerClass("rb.PageableLayoutView.PagingEventArgs");rb.PageableLayoutView.CellDataEventArgs=function(a,c,b){rb.PageableLayoutView.CellDataEventArgs.initializeBase(this,[a,c]);this._cellIndex=b};rb.PageableLayoutView.CellDataEventArgs.prototype={get_cellIndex:function(){return this._cellIndex}};rb.PageableLayoutView.CellDataEventArgs.registerClass("rb.PageableLayoutView.CellDataEventArgs",rb.BaseControl.DataEventArgs);