Wtf.common.KWLListPanel=function(A){Wtf.common.KWLListPanel.superclass.constructor.call(this,A);this.addEvents({"loadcomplete":true})};Wtf.extend(Wtf.common.KWLListPanel,Wtf.Panel,{tempdstore:null,dstore:null,checkFlag:0,checkForAnoReq:0,prevPageSize:0,prevPageNo:0,pageSize:0,ImgSrc:"",pageno:0,jobj:null,cursor:0,paging:true,itemsContainer:null,renderTo:null,loadtext:null,contentEl:null,headerAsText:true,autoLoad:true,total:0,collapse:null,bttnArray:null,initComponent:function(){Wtf.common.KWLListPanel.superclass.initComponent.call(this);this.addEvents({"dataloaded":true,"contextmenu":true})},onRender:function(config){Wtf.common.KWLListPanel.superclass.onRender.call(this,config);this.headercontent=document.createElement("div");if(this.collapsible){this.collapseButton=document.createElement("div");this.collapseButton.className="collapse";this.collapseButton.id=this.id+"Collapse";this.headercontent.appendChild(this.collapseButton)}this.header.dom.className="header x-unselectable";this.header.dom.removeChild(this.header.dom.firstChild);this.el.dom.firstChild.nextSibling.firstChild.className+=" x-panel-body-noborder-KWL";this.headercontent.className="headercontent";this.headercontent.id=this.id+"-headcont";this.label=document.createElement("span");this.label.className="label";this.label.id=this.id+"-label";this.headercontent.appendChild(this.label);this.labelext=document.createElement("span");this.labelext.innerHTML="";this.labelext.className="label";this.labelext.style.margin="0 0 0 4px";this.label.id=this.id+"-labelext";this.headercontent.appendChild(this.labelext);if(this.paging){this.btndiv=document.createElement("div");this.btndiv.className="btndiv";this.btndiv.id=this.id+"-btndiv";this.nxtdiv=document.createElement("div");this.nxtdiv.id=this.id+"-next";this.prediv=document.createElement("div");this.prediv.id=this.id+"-prev";this.nxtdiv.className="nxtBtnDivNone";this.prediv.className="preBtnDivNone";this.startlbl=document.createElement("span");this.startlbl.id=this.id+"-start";this.endlbl=document.createElement("span");this.endlbl.id=this.id+"-end";this.totallbl=document.createElement("span");this.totallbl.id=this.id+"-total";this.startlbl.innerHTML=0+"-";this.endlbl.innerHTML=0+" / ";this.totallbl.innerHTML=0;this.pagging=document.createElement("span");this.pagging.appendChild(this.startlbl);this.pagging.appendChild(this.endlbl);this.pagging.appendChild(this.totallbl);this.pagging.className="pagging";this.pagging.id=this.id+"-pagging";this.btndiv.appendChild(this.prediv);this.btndiv.appendChild(this.nxtdiv);this.headercontent.appendChild(this.btndiv);this.headercontent.appendChild(this.pagging)}this.header.dom.appendChild(this.headercontent);this.bttnArray=[];this.calculatePageSize();if(this.collapsible){Wtf.get(this.collapseButton.id).addListener("click",this.toggleCollapse,this)}if(this.url){if(this.autoLoad==true){this.loadUrl()}}else{if(this.ds){this.jobj=eval("("+this.ds+")");this.FillContainer()}}this.loadMask=new Wtf.LoadMask(this.el.dom,Wtf.apply(this.loadMask))},onHover:function(A){if(A=="next"){this.nxtdiv.className="nxtBtnDivover"}else{this.prediv.className="preBtnDivover"}},onOut:function(A){if(A=="next"){this.nxtdiv.className="nxtBtnDivout"}else{this.prediv.className="preBtnDivout"}},onClick:function(A){if(this.dstore){if(A=="next"){this.pageno=this.pageno+1;if((this.dstore.getCount()>=((this.pageno+1)*this.pageSize))||this.dstore.getCount()==this.total){this.fillwithstore();return }}else{this.pageno=this.pageno-1;if(this.dstore.getCount()>=((this.pageno+1)*this.pageSize)){this.fillwithstore();return }}}if(this.jobj){this.remDashBttn();this.FillContainer()}else{if(this.checkFlag==1){this.checkForAnoReq=1}else{this.checkForReq()}}},fillwithstore:function(F){if(F){this.dstore=F}var E=this.pageSize*this.pageno;if(this.prevPageSize!=this.pageSize||this.prevPageNo!=this.pageno){if(this.prevPageSize<this.pageSize){if(this.Href){this.makeDashBttn(this.bttnArray.length,this.pageSize)}else{this.makeDashAlert(this.bttnArray.length,this.pageSize)}}else{this.remDashBttn()}}var D=0;for(var C=0;C<this.pageSize;C++){if(this.dstore.getAt(E)!=undefined){if(!this.dstore.getAt(C).data["img"]||this.dstore.getAt(E).data["img"].length==0){if(this.contentType){this.bttnArray[C].addData(this.dstore.getAt(E))}else{this.bttnArray[C].addData("images/"+this.ImgSrc,this.dstore.getAt(E).data["name"],this.dstore.getAt(E).data["id"],this.Href,this.TabType)}}else{if(this.contentType){this.bttnArray[C].addData(this.tempdstore.getAt(E))}else{this.bttnArray[C].addData(this.dstore.getAt(E).data["img"],this.dstore.getAt(E).data["name"],this.dstore.getAt(E).data["id"],this.Href,this.TabType)}}this.bttnArray[C].id=this.dstore.getAt(E).data["id"];E++;D++}else{break}}for(var B=C;B<this.bttnArray.length;B++){this.bttnArray[B].hideButton()}if(this.tempdstore&&this.tempdstore.reader&&this.tempdstore.reader.jsonData){var A=this.tempdstore.reader.jsonData.count;if(A!=0){this.startlbl.innerHTML=(this.pageno*this.pageSize)==0?(1+"-"):(((this.pageno*this.pageSize)+1)+"-");this.endlbl.innerHTML=(E)+"/ "}else{this.startlbl.innerHTML="0-";this.endlbl.innerHTML="0/"}this.totallbl.innerHTML=A;if(this.pageno==0){startflag=true}else{startflag=false}if(((this.pageno*this.pageSize)+D)==A){endflag=true}else{endflag=false}this.ResetNavBtns(startflag,endflag)}},FillContainer:function(){var A=0;var B=true;var C=true;if(this.jobj!=null){while(A<this.pageSize&&this.jobj["name"][((this.pageno*this.pageSize)+A)]!=null){new Wtf.common.WtfButton({caption:this.jobj["name"][((this.pageno*this.pageSize)+A)],href:"#",bodyStyle:"position:relative;float:left;",imgSrc:"images/defaultuser.png",renderTo:this.el.dom.firstChild.nextSibling.firstChild.id});this.cursor=((this.pageno*this.pageSize)+A)+1;A=A+1}this.startlbl.innerHTML=(this.pageno*this.pageSize)==0?(1+"-"):(((this.pageno*this.pageSize)+1)+"-");this.endlbl.innerHTML=this.cursor+" / ";this.totallbl.innerHTML=this.jobj["name"].length;if(this.pageno*this.pageSize==0){B=true}else{B=false}if(this.cursor==this.jobj["name"].length){C=true}else{C=false}}else{this.startlbl.innerHTML="0-";this.endlbl.innerHTML="0 / ";this.totallbl.innerHTML="0"}this.ResetNavBtns(B,C)},Refresh:function(jstring){jstring=jstring.trim();this.remDashBttn();if(jstring=="{}"){this.jobj=null}else{this.jobj=eval("("+jstring+")")}this.pageno=0;this.FillContainer()},FillContainerUrl:function(){var C=0;this.total=this.tempdstore.reader.jsonData.count;if(!this.dstore){this.dstore=new Wtf.data.Store}else{C=this.dstore.getCount()}for(var F=0;F<this.tempdstore.getCount();F++){var B=this.dstore.find("id",this.tempdstore.getAt(F).data["id"],0,false,true);if(B==-1){this.dstore.insert(C,this.tempdstore.getAt(F));C++}}if(this.checkForAnoReq==1){this.checkForReq();this.checkForAnoReq=0}var A=0;var D=true;var E=true;if(this.total!=0){while(A<this.pageSize&&this.tempdstore.getAt(A)!=null){if(this.bttnArray[A]){if(!this.tempdstore.getAt(A).data["img"]||this.tempdstore.getAt(A).data["img"].length==0){if(this.contentType){this.bttnArray[A].addData(this.tempdstore.getAt(A))}else{this.bttnArray[A].addData("images/"+this.ImgSrc,this.tempdstore.getAt(A).data["name"],this.tempdstore.getAt(A).data["id"],this.Href,this.TabType)}}else{Wtf.iStore.setImg(this.tempdstore.getAt(A).data["id"],this.tempdstore.getAt(A).data["img"]);if(this.contentType){this.bttnArray[A].addData(this.tempdstore.getAt(A))}else{this.bttnArray[A].addData(this.tempdstore.getAt(A).data["img"],this.tempdstore.getAt(A).data["name"],this.tempdstore.getAt(A).data["id"],this.Href,this.TabType)}}this.bttnArray[A].id=this.tempdstore.getAt(A).data["id"];this.cursor=(A)+1}A=A+1}}for(var B=A;B<this.bttnArray.length;B++){this.bttnArray[B].hideButton()}var C=this.total;if(this.total!=0){this.startlbl.innerHTML=(this.pageno*this.pageSize)==0?(1+"-"):(((this.pageno*this.pageSize)+1)+"-");this.endlbl.innerHTML=((this.pageno*this.pageSize)+A)+"/ "}else{this.startlbl.innerHTML="0-";this.endlbl.innerHTML="0/"}this.totallbl.innerHTML=C;if(this.pageno==0){D=true}else{D=false}if(((this.pageno*this.pageSize)+A)==C){E=true}else{E=false}this.ResetNavBtns(D,E);this.checkFlag=0;this.loadMask.hide();this.fireEvent("loadcomplete")},setTitle:function(A){this.title=A;this.label.innerHTML=this.title},ResetTitle:function(A){if(this.labelext){this.labelext.innerHTML="  '"+A+"'"}},ResetNavBtns:function(A,B){if(A){this.prediv.className="preBtnDivNone";this.prediv.onmouseover=null;this.prediv.onmouseout=null;this.prediv.onclick=null}else{this.prediv.className="preBtnDivout";this.prediv.onmouseover=this.onHover.createDelegate(this,["prev"]);this.prediv.onmouseout=this.onOut.createDelegate(this,["prev"]);this.prediv.onclick=this.onClick.createDelegate(this,["prev"])}if(B){this.nxtdiv.className="nxtBtnDivNone";this.nxtdiv.onmouseover=null;this.nxtdiv.onmouseout=null;this.nxtdiv.onclick=null}else{this.nxtdiv.className="nxtBtnDivout";this.nxtdiv.onmouseover=this.onHover.createDelegate(this,["next"]);this.nxtdiv.onmouseout=this.onOut.createDelegate(this,["next"]);this.nxtdiv.onclick=this.onClick.createDelegate(this,["next"])}},loadUrl:function(){if(this.checkFlag==1){this.checkForAnoReq=1}else{this.makeAjaxRequest();this.checkFlag=1}},makeAjaxRequest:function(){if(!this.reader){this.reader=new Wtf.data.JsonReader({root:"data",fields:[{name:"name",type:"string"},{name:"id",type:"string"},{name:"img",type:"string"}]})}this.tempdstore=new Wtf.data.Store({method:"POST",id:"tempstore",url:this.url,baseParams:({pageno:this.pageno,pageSize:this.pageSize}),reader:this.reader});this.tempdstore.on("load",function(){this.fireEvent("dataloaded",this.tempdstore);if(this.prevPageSize!=this.pageSize||this.prevPageNo!=this.pageno){if(this.prevPageSize<this.pageSize){if(this.Href){this.makeDashBttn(this.bttnArray.length,this.bttnArray.length+this.tempdstore.getCount())}else{this.makeDashAlert(this.bttnArray.length,this.bttnArray.length+this.tempdstore.getCount())}}else{this.remDashBttn()}this.prevPageSize=this.pageSize;this.prevPageNo=this.pageno}this.FillContainerUrl()},this);this.tempdstore.on("loadexception",this.loadReload,this);this.loadMask.show();this.tempdstore.load()},loadReload:function(){this.loadMask.hide()},makeDashBttn:function(C,A){for(var B=C;B<A;B++){this.bttnArray.push(new Wtf.common.WtfButton({renderTo:this.el.dom.firstChild.nextSibling.firstChild.id,tabtype:this.TabType,bodyStyle:"position:relative;float:left;",id:B}))}},makeDashAlert:function(C,A){for(var B=C;B<A;B++){this.bttnArray.push(new Wtf.ux.WtfAlert({renderTo:this.el.dom.firstChild.nextSibling.firstChild.id,bodyStyle:"position:relative;float:left;",id:B}))}},remDashBttn:function(){if(this.bttnArray.length>this.pageSize){while(this.pageSize!=this.bttnArray.length){this.bttnArray[this.bttnArray.length-1].removeButton();this.bttnArray.pop()}}},checkForReq:function(){this.loadMask.show();this.makeAjaxRequest();this.checkFlag=1},calculatePageSize:function(){this.prevPageSize=this.pageSize;var D=this.pageno*this.prevPageSize+1;var A=Wtf.get(this.id);if(this.Href){var C=Math.floor(A.getWidth()/82);var B=Math.floor((A.getHeight()-25)/101);this.pageSize=C*B}else{this.pageSize=Math.floor((A.getHeight()-25)/30)}if(this.pageSize<=0){this.pageSize=1}this.pageno=Math.floor((D-1)/this.pageSize)},setUrl:function(A){this.url=A;this.calculatePageSize();if(this.prevPageSize<this.pageSize){if(this.Href){this.makeDashBttn(this.bttnArray.length,this.pageSize)}else{this.makeDashAlert(this.bttnArray.length,this.pageSize)}}else{this.remDashBttn()}this.loadMask.show();this.makeAjaxRequest()}});Wtf.reg("KWLListPanel",Wtf.common.KWLListPanel)