/*
 * King Pearl Library
 * Copyright(c) 2010 King Pearl LLC
 */
Ext.form.Field.prototype.msgTarget="side";Ext.state.Manager.setProvider(new Ext.state.CookieProvider());Ext.QuickTips.init();Ext.ns("pUi");pUi.Carousel=Ext.extend(Ext.util.Observable,{interval:3,transitionDuration:1,transitionType:"carousel",transitionEasing:"easeOut",itemSelector:"img",activeSlide:0,autoPlay:false,showPlayButton:false,pauseOnNavigate:false,wrap:false,freezeOnHover:false,navigationOnHover:false,hideNavigation:false,width:null,height:null,constructor:function(b,a){a=a||{};Ext.apply(this,a);pUi.Carousel.superclass.constructor.call(this,a);this.addEvents("beforeprev","prev","beforenext","next","change","play","pause","freeze","unfreeze");this.el=Ext.get(b);this.slides=this.els=[];if(this.autoPlay||this.showPlayButton){this.wrap=true}if(this.autoPlay&&typeof a.showPlayButton==="undefined"){this.showPlayButton=true}this.initMarkup();this.initEvents();if(this.carouselSize>0){this.refresh()}},initMarkup:function(){var b=Ext.DomHelper;this.carouselSize=0;var a=this.el.select(this.itemSelector);this.els.container=b.append(this.el,{cls:"pui-carousel-container"},true);this.els.slidesWrap=b.append(this.els.container,{cls:"pui-carousel-slides-wrap"},true);this.els.navigation=b.append(this.els.container,{cls:"pui-carousel-nav"},true).hide();this.els.caption=b.append(this.els.navigation,{tag:"h2",cls:"pui-carousel-caption"},true);this.els.navNext=b.append(this.els.navigation,{tag:"a",href:"#",cls:"pui-carousel-nav-next"},true);if(this.showPlayButton){this.els.navPlay=b.append(this.els.navigation,{tag:"a",href:"#",cls:"pui-carousel-nav-play"},true)}this.els.navPrev=b.append(this.els.navigation,{tag:"a",href:"#",cls:"pui-carousel-nav-prev"},true);this.slideWidth=this.width||this.el.getWidth(true);this.slideHeight=this.height||this.el.getHeight(true);this.els.container.setStyle({width:this.slideWidth+"px",height:this.slideHeight+"px"});this.els.caption.setWidth((this.slideWidth-(this.els.navNext.getWidth()*2)-(this.showPlayButton?this.els.navPlay.getWidth():0)-20)+"px");a.appendTo(this.els.slidesWrap).each(function(c){c=c.wrap({cls:"pui-carousel-slide"});this.slides.push(c);c.setWidth(this.slideWidth+"px").setHeight(this.slideHeight+"px")},this);this.carouselSize=this.slides.length;if(this.navigationOnHover){this.els.navigation.setStyle("top",(-1*this.els.navigation.getHeight())+"px")}this.el.clip()},initEvents:function(){this.els.navPrev.on("click",function(a){a.preventDefault();var b=a.getTarget();b.blur();if(Ext.fly(b).hasClass("pui-carousel-nav-disabled")){return}this.prev()},this);this.els.navNext.on("click",function(a){a.preventDefault();var b=a.getTarget();b.blur();if(Ext.fly(b).hasClass("pui-carousel-nav-disabled")){return}this.next()},this);if(this.showPlayButton){this.els.navPlay.on("click",function(a){a.preventDefault();a.getTarget().blur();if(this.playing){this.pause()}else{this.play()}},this)}if(this.freezeOnHover){this.els.container.on("mouseenter",function(){if(this.playing){this.fireEvent("freeze",this.slides[this.activeSlide]);Ext.TaskMgr.stop(this.playTask)}},this);this.els.container.on("mouseleave",function(){if(this.playing){this.fireEvent("unfreeze",this.slides[this.activeSlide]);Ext.TaskMgr.start(this.playTask)}},this,{buffer:(this.interval/2)*1000})}if(this.navigationOnHover){this.els.container.on("mouseenter",function(){if(!this.navigationShown){this.navigationShown=true;this.els.navigation.stopFx(false).shift({y:this.els.container.getY(),duration:this.transitionDuration})}},this);this.els.container.on("mouseleave",function(){if(this.navigationShown){this.navigationShown=false;this.els.navigation.stopFx(false).shift({y:this.els.navigation.getHeight()-this.els.container.getY(),duration:this.transitionDuration})}},this)}if(this.interval&&this.autoPlay){this.play()}},prev:function(){if(this.fireEvent("beforeprev")===false){return}if(this.pauseOnNavigate){this.pause()}this.setSlide(this.activeSlide-1);this.fireEvent("prev",this.activeSlide);return this},next:function(){if(this.fireEvent("beforenext")===false){return}if(this.pauseOnNavigate){this.pause()}this.setSlide(this.activeSlide+1);this.fireEvent("next",this.activeSlide);return this},play:function(){if(!this.playing){this.playTask=this.playTask||{run:function(){this.playing=true;this.setSlide(this.activeSlide+1)},interval:this.interval*1000,scope:this};this.playTaskBuffer=this.playTaskBuffer||new Ext.util.DelayedTask(function(){Ext.TaskMgr.start(this.playTask)},this);this.playTaskBuffer.delay(this.interval*1000);this.playing=true;if(this.showPlayButton){this.els.navPlay.addClass("pui-carousel-playing")}this.fireEvent("play")}return this},pause:function(){if(this.playing){Ext.TaskMgr.stop(this.playTask);this.playTaskBuffer.cancel();this.playing=false;if(this.showPlayButton){this.els.navPlay.removeClass("pui-carousel-playing")}this.fireEvent("pause")}return this},clear:function(){this.els.slidesWrap.update("");this.slides=[];this.carouselSize=0;this.pause();return this},add:function(b,a){var c=Ext.fly(b).appendTo(this.els.slidesWrap).wrap({cls:"pui-carousel-slide"});c.setWidth(this.slideWidth+"px").setHeight(this.slideHeight+"px");this.slides.push(c);if(a){this.refresh()}return this},refresh:function(){this.carouselSize=this.slides.length;this.els.slidesWrap.setWidth((this.slideWidth*this.carouselSize)+"px");if(this.carouselSize>0){if(!this.hideNavigation){this.els.navigation.show()}this.activeSlide=0;this.setSlide(0,true)}return this},setSlide:function(b,a){if(!this.wrap&&!this.slides[b]){return}else{if(this.wrap){if(b<0){b=this.carouselSize-1}else{if(b>this.carouselSize-1){b=0}}}}if(!this.slides[b]){return}this.els.caption.update(this.slides[b].child(":first-child",true).title||"");var d=b*this.slideWidth;if(!a){switch(this.transitionType){case"fade":this.slides[b].setOpacity(0);this.slides[this.activeSlide].stopFx(false).fadeOut({duration:this.transitionDuration/2,callback:function(){this.els.slidesWrap.setStyle("left",(-1*d)+"px");this.slides[this.activeSlide].setOpacity(1);this.slides[b].fadeIn({duration:this.transitionDuration/2})},scope:this});break;default:var c=(-1*d)+this.els.container.getX();this.els.slidesWrap.stopFx(false);this.els.slidesWrap.shift({duration:this.transitionDuration,x:c,easing:this.transitionEasing});break}}else{this.els.slidesWrap.setStyle("left","0")}this.activeSlide=b;this.updateNav();this.fireEvent("change",this.slides[b],b)},updateNav:function(){this.els.navPrev.removeClass("pui-carousel-nav-disabled");this.els.navNext.removeClass("pui-carousel-nav-disabled");if(!this.wrap){if(this.activeSlide===0){this.els.navPrev.addClass("pui-carousel-nav-disabled")}if(this.activeSlide===this.carouselSize-1){this.els.navNext.addClass("pui-carousel-nav-disabled")}}}});pUi.Lightbox=(function(){var c={},a=[],d,e=false,b=[];return{overlayOpacity:0.85,animate:true,resizeSpeed:8,borderSize:10,labelImage:"Image",labelOf:"of",init:function(){this.resizeDuration=this.animate?((11-this.resizeSpeed)*0.15):0;this.overlayDuration=this.animate?0.2:0;if(!e){Ext.apply(this,Ext.util.Observable.prototype);Ext.util.Observable.constructor.call(this);this.addEvents("open","close");this.initMarkup();this.initEvents();e=true}},initMarkup:function(){c.shim=Ext.DomHelper.append(document.body,{tag:"iframe",id:"pui-lightbox-shim"},true);c.overlay=Ext.DomHelper.append(document.body,{id:"pui-lightbox-overlay"},true);var g=new Ext.Template(this.getTemplate());c.lightbox=g.append(document.body,{},true);var h=["outerImageContainer","imageContainer","image","hoverNav","navPrev","navNext","loading","loadingLink","outerDataContainer","dataContainer","data","details","caption","imageNumber","bottomNav","navClose"];Ext.each(h,function(i){c[i]=Ext.get("pui-lightbox-"+i)});Ext.each([c.overlay,c.lightbox,c.shim],function(i){i.setVisibilityMode(Ext.Element.DISPLAY);i.hide()});var f=(this.animate?250:1)+"px";c.outerImageContainer.setStyle({width:f,height:f})},getTemplate:function(){return['<div id="pui-lightbox">','<div id="pui-lightbox-outerImageContainer">','<div id="pui-lightbox-imageContainer">','<img id="pui-lightbox-image">','<div id="pui-lightbox-hoverNav">','<a href="#" id="pui-lightbox-navPrev"></a>','<a href="#" id="pui-lightbox-navNext"></a>',"</div>",'<div id="pui-lightbox-loading">','<a id="pui-lightbox-loadingLink"></a>',"</div>","</div>","</div>",'<div id="pui-lightbox-outerDataContainer">','<div id="pui-lightbox-dataContainer">','<div id="pui-lightbox-data">','<div id="pui-lightbox-details">','<span id="pui-lightbox-caption"></span>','<span id="pui-lightbox-imageNumber"></span>',"</div>",'<div id="pui-lightbox-bottomNav">','<a href="#" id="pui-lightbox-navClose"></a>',"</div>","</div>","</div>","</div>","</div>"]},initEvents:function(){var f=function(g){g.preventDefault();this.close()};c.overlay.on("click",f,this);c.loadingLink.on("click",f,this);c.navClose.on("click",f,this);c.lightbox.on("click",function(g){if(g.getTarget().id=="pui-lightbox"){this.close()}},this);c.navPrev.on("click",function(g){g.preventDefault();this.setImage(d-1)},this);c.navNext.on("click",function(g){g.preventDefault();this.setImage(d+1)},this)},register:function(f,g){if(b.indexOf(f)===-1){b.push(f);Ext.fly(document).on("click",function(h){var i=h.getTarget(f);if(i){h.preventDefault();this.open(i,f,g)}},this)}},open:function(h,f,g){g=g||false;this.setViewSize();c.overlay.fadeIn({duration:this.overlayDuration,endOpacity:this.overlayOpacity,callback:function(){a=[];var i=0;if(!g){a.push([h.href,h.title])}else{var j=Ext.query(f);Ext.each(j,function(n){if(n.href){a.push([n.href,n.title])}});while(a[i][0]!=h.href){i++}}var l=Ext.fly(document).getScroll();var m=l.top+(Ext.lib.Dom.getViewportHeight()/10);var k=l.left;c.lightbox.setStyle({top:m+"px",left:k+"px"}).show();this.setImage(i);this.fireEvent("open",a[i])},scope:this})},setViewSize:function(){var f=this.getViewSize();c.overlay.setStyle({width:f[0]+"px",height:f[1]+"px"});c.shim.setStyle({width:f[0]+"px",height:f[1]+"px"}).show()},setImage:function(g){d=g;this.disableKeyNav();if(this.animate){c.loading.show()}c.image.hide();c.hoverNav.hide();c.navPrev.hide();c.navNext.hide();c.dataContainer.setOpacity(0.0001);c.imageNumber.hide();var f=new Image();f.onload=(function(){c.image.dom.src=a[d][0];this.resizeImage(f.width,f.height)}).createDelegate(this);f.src=a[d][0]},resizeImage:function(m,g){var o=c.outerImageContainer.getWidth();var k=c.outerImageContainer.getHeight();var j=(m+this.borderSize*2);var i=(g+this.borderSize*2);var l=o-j;var f=k-i;var n=function(){c.hoverNav.setWidth(c.imageContainer.getWidth()+"px");c.navPrev.setHeight(g+"px");c.navNext.setHeight(g+"px");c.outerDataContainer.setWidth(j+"px");this.showImage()};if(f!=0||l!=0){c.outerImageContainer.shift({height:i,width:j,duration:this.resizeDuration,scope:this,callback:n,delay:50})}else{n.call(this)}},showImage:function(){c.loading.hide();c.image.fadeIn({duration:this.resizeDuration,scope:this,callback:function(){this.updateDetails()}});this.preloadImages()},updateDetails:function(){var f=c.data.getWidth(true)-c.navClose.getWidth()-10;c.details.setWidth((f>0?f:0)+"px");c.caption.update(a[d][1]);c.caption.show();if(a.length>1){c.imageNumber.update(this.labelImage+" "+(d+1)+" "+this.labelOf+"  "+a.length);c.imageNumber.show()}c.dataContainer.fadeIn({duration:this.resizeDuration/2,scope:this,callback:function(){var g=this.getViewSize();c.overlay.setHeight(g[1]+"px");this.updateNav()}})},updateNav:function(){this.enableKeyNav();c.hoverNav.show();if(d>0){c.navPrev.show()}if(d<(a.length-1)){c.navNext.show()}},enableKeyNav:function(){Ext.fly(document).on("keydown",this.keyNavAction,this)},disableKeyNav:function(){Ext.fly(document).un("keydown",this.keyNavAction,this)},keyNavAction:function(f){var g=f.getKey();if(g==88||g==67||g==27){this.close()}else{if(g==80||g==37){if(d!=0){this.setImage(d-1)}}else{if(g==78||g==39){if(d!=(a.length-1)){this.setImage(d+1)}}}}},preloadImages:function(){var f,g;if(a.length>d+1){f=new Image();f.src=a[d+1][0]}if(d>0){g=new Image();g.src=a[d-1][0]}},close:function(){this.disableKeyNav();c.lightbox.hide();c.overlay.fadeOut({duration:this.overlayDuration});c.shim.hide();this.fireEvent("close",d)},getViewSize:function(){return[Ext.lib.Dom.getViewWidth(),Ext.lib.Dom.getViewHeight()]}}})();pUi.DataView=function(b){var a=Ext.apply({},b,{cls:"pui-cssreset pui-cssfonts pui-cssbase",itemSelector:"div.pui-dataview-selector",overClass:"pui-dataview-over",singleSelect:true});pUi.DataView.superclass.constructor.call(this,a)};Ext.extend(pUi.DataView,Ext.DataView,{});Ext.reg("pui:dataview",pUi.DataView);pUi.PagingToolbar=function(b){var a=Ext.apply({},b,{pageSize:20});pUi.PagingToolbar.superclass.constructor.call(this,a)};Ext.extend(pUi.PagingToolbar,Ext.PagingToolbar,{});Ext.reg("pui:pagingtoolbar",pUi.PagingToolbar);pUi.Panel=function(b){var a=Ext.apply({},b,{autoScroll:true,layout:"fit"});pUi.Panel.superclass.constructor.call(this,a)};Ext.extend(pUi.Panel,Ext.Panel,{});Ext.reg("pui:panel",pUi.Panel);pUi.TabPanel=function(b){var a=Ext.apply({},b,{enableTabScroll:true,layoutOnTabChange:true,resizeTabs:false});pUi.TabPanel.superclass.constructor.call(this,a)};Ext.extend(pUi.TabPanel,Ext.TabPanel,{});Ext.reg("pui:tabpanel",pUi.TabPanel);pUi.Viewport=function(b){var a=Ext.apply({},b,{items:[{contentEl:"pui-hd",height:32,region:"north"},{autoScroll:true,contentEl:"pui-bd",region:"center"},{contentEl:"pui-ft",height:32,region:"south"}],layout:"border"});pUi.Viewport.superclass.constructor.call(this,a)};Ext.extend(pUi.Viewport,Ext.Viewport,{});Ext.reg("pui:viewport",pUi.Viewport);pUi.Window=function(b){var a=Ext.apply({},b,{bodyStyle:"padding:5px;",layout:"fit",modal:true,plain:true,width:500});pUi.Window.superclass.constructor.call(this,a)};Ext.extend(pUi.Window,Ext.Window,{});Ext.reg("pui:window",pUi.Window);pUi.ChartWindow=function(b){var a=Ext.apply({},b,{height:480,items:[{height:480,series:b.series,store:b.store,width:720,xField:"created_at",xtype:"linechart"}],title:"Chart "+b.title,width:720});pUi.ChartWindow.superclass.constructor.call(this,a)};Ext.extend(pUi.ChartWindow,pUi.Window,{});Ext.reg("pui:chartwindow",pUi.ChartWindow);pUi.GroupingStore=function(b){var a=Ext.apply({},b,{sortInfo:{field:"starts",direction:"DESC"}});pUi.GroupingStore.superclass.constructor.call(this,a)};Ext.extend(pUi.GroupingStore,Ext.data.GroupingStore,{});pUi.JsonReader=function(e,b){var a=Ext.apply({},e,{root:"data",totalProperty:"size"});pUi.JsonReader.superclass.constructor.call(this,a,b)};Ext.extend(pUi.JsonReader,Ext.data.JsonReader,{});pUi.JsonStore=function(b){var a=Ext.apply({},b,{root:"data",totalProperty:"size"});pUi.JsonStore.superclass.constructor.call(this,a)};Ext.extend(pUi.JsonStore,Ext.data.JsonStore,{startAutoRefresh:function(b,c,d,a){if(a){this.load({params:c,callback:d})}if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId)}this.autoRefreshProcId=setInterval(this.load.createDelegate(this,[{params:c,callback:d}]),b*1000)}});pUi.GroupingStore=function(b){var a=Ext.apply({},b,{groupField:"name",reader:new pUi.JsonReader({}),sortInfo:{field:"name",direction:"ASC"}});pUi.GroupingStore.superclass.constructor.call(this,a)};Ext.extend(pUi.GroupingStore,Ext.data.GroupingStore,{});pUi.DropTarget=function(a,b){this.target=a;Ext.dd.ScrollManager.register(a.body);pUi.DropTarget.superclass.constructor.call(this,a.bwrap.dom,b);a.body.ddScrollConfig=this.ddScrollConfig};Ext.extend(pUi.DropTarget,Ext.dd.DropTarget,{ddScrollConfig:{vthresh:50,hthresh:-1,animate:true,increment:200},createEvent:function(a,f,d,b,h,g){return{target:this.target,panel:d.panel,columnIndex:b,column:h,position:g,data:d,source:a,rawEvent:f,status:this.dropAllowed}},notifyOver:function(t,r,v){var d=r.getXY(),u=this.target,l=t.proxy;if(!this.grid){this.grid=this.getGrid()}var a=u.body.dom.clientWidth;if(!this.lastCW){this.lastCW=a}else{if(this.lastCW!=a){this.lastCW=a;u.doLayout();this.grid=this.getGrid()}}var b=0,j=this.grid.columnX,k=false;for(var o=j.length;b<o;b++){if(d[0]<(j[b].x+j[b].w)){k=true;break}}if(!k){b--}var n,i=false,g=0,s=u.items.itemAt(b),m=s.items.items;for(o=m.length;g<o;g++){n=m[g];var q=n.el.getHeight();if(q!==0&&(n.el.getY()+(q/2))>d[1]){i=true;break}}var f=this.createEvent(t,r,v,b,s,i&&n?g:s.items.getCount());if(u.fireEvent("validatedrop",f)!==false&&u.fireEvent("beforedragover",f)!==false){l.getProxy().setWidth("auto");if(n){l.moveProxy(n.el.dom.parentNode,i?n.el.dom:null)}else{l.moveProxy(s.el.dom,null)}this.lastPos={c:s,col:b,p:i&&n?g:false};this.scrollPos=u.body.getScroll();u.fireEvent("dragover",f);return f.status}else{return f.status}},notifyOut:function(){delete this.grid},notifyDrop:function(k,g,f){delete this.grid;if(!this.lastPos){return}var i=this.lastPos.c,b=this.lastPos.col,j=this.lastPos.p;var a=this.createEvent(k,g,f,b,i,j!==false?j:i.items.getCount());if(this.target.fireEvent("validatedrop",a)!==false&&this.target.fireEvent("beforedrop",a)!==false){k.proxy.getProxy().remove();k.panel.el.dom.parentNode.removeChild(k.panel.el.dom);if(j!==false){i.insert(j,k.panel)}else{i.add(k.panel)}i.doLayout();this.target.fireEvent("drop",a);var l=this.scrollPos.top;if(l){var h=this.target.body.dom;setTimeout(function(){h.scrollTop=l},10)}}delete this.lastPos},getGrid:function(){var a=this.target.bwrap.getBox();a.columnX=[];this.target.items.each(function(b){a.columnX.push({x:b.el.getX(),w:b.el.getWidth()})});return a}});pUi.Checkbox=function(b){var a=Ext.apply({},b,{inputValue:true});pUi.Checkbox.superclass.constructor.call(this,a)};Ext.extend(pUi.Checkbox,Ext.form.Checkbox,{});Ext.reg("pui:checkbox",pUi.Checkbox);pUi.ComboBox=function(b){var a=Ext.apply({},b,{displayField:"name",emptyText:"Select...",selectOnFocus:true,triggerAction:"all",typeAhead:true});pUi.ComboBox.superclass.constructor.call(this,a)};Ext.extend(pUi.ComboBox,Ext.form.ComboBox,{});Ext.reg("pui:combobox",pUi.ComboBox);pUi.FormPanel=function(b){var a=Ext.apply({},b,{autoHeight:true,autoWidth:true,baseCls:"x-plain",defaults:{allowBlank:false,anchor:"95%"},frame:true});pUi.FormPanel.superclass.constructor.call(this,a)};Ext.extend(pUi.FormPanel,Ext.form.FormPanel,{});Ext.reg("pui:formpanel",pUi.FormPanel);pUi.FormWindow=function(b){var a=Ext.apply({},b,{buttonAlign:"center",buttons:[{handler:this.submit,scope:this,text:b.buttonText}],buttonText:b.buttonText});pUi.FormWindow.superclass.constructor.call(this,a)};Ext.extend(pUi.FormWindow,pUi.Window,{submit:function(){var a=this.getComponent(0).getForm();a.submit({scope:this,success:function(c,b){this.destroy()}})}});Ext.reg("pui:formwindow",pUi.FormWindow);pUi.SearchField=function(b){var a=Ext.apply({},b,{hideTrigger1:true,trigger1Class:"x-form-clear-trigger",trigger2Class:"x-form-search-trigger",validationEvent:false,validateOnBlur:false,width:300,hasSearch:false,paramName:"query"});pUi.SearchField.superclass.constructor.call(this,a)};Ext.extend(pUi.SearchField,Ext.form.TwinTriggerField,{initComponent:function(){pUi.SearchField.superclass.initComponent.call(this);this.on("specialkey",function(a,b){if(b.getKey()===b.ENTER){this.onTrigger2Click()}},this)},onTrigger1Click:function(){if(this.hasSearch){this.el.dom.value="";var a={start:0,limit:20};this.store.baseParams=this.store.baseParams||{};this.store.baseParams[this.paramName]="";this.store.reload({params:a});this.triggers[0].hide();this.hasSearch=false}},onTrigger2Click:function(){var a=this.getRawValue();if(a.length<1){this.onTrigger1Click();return}var b={start:0,limit:20};this.store.baseParams=this.store.baseParams||{};this.store.baseParams[this.paramName]=a;this.store.reload({params:b});this.hasSearch=true;this.triggers[0].show()}});Ext.reg("pui:searchfield",pUi.SearchField);pUi.Select=function(d){if(d.transform&&typeof d.multiSelect=="undefined"){var b=Ext.getDom(d.transform);d.multiSelect=(Ext.isIE?b.getAttributeNode("multiple").specified:b.hasAttribute("multiple"))}d.hideTrigger2=d.hideTrigger;var a=Ext.apply({},d,{displayField:"name",emptyText:"Select..."});pUi.Select.superclass.constructor.call(this,a)};Ext.extend(pUi.Select,Ext.form.ComboBox,{multiSelect:false,minLength:0,minLengthText:"Minimum {0} items required",maxLength:Number.MAX_VALUE,maxLengthText:"Maximum {0} items allowed",clearTrigger:true,history:false,historyMaxLength:0,separator:",",displaySeparator:",",valueArray:[],rawValueArray:[],initComponent:function(){this.triggerConfig={tag:"span",cls:"x-form-twin-triggers",cn:[{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.trigger1Class},{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.trigger2Class}]};pUi.Select.superclass.initComponent.call(this);if(this.multiSelect){this.typeAhead=false;this.editable=false;this.triggerAction="all";this.selectOnFocus=false}if(this.history){this.forceSelection=false}if(this.value){this.setValue(this.value)}},hideTrigger1:true,getTrigger:Ext.form.TwinTriggerField.prototype.getTrigger,initTrigger:Ext.form.TwinTriggerField.prototype.initTrigger,trigger1Class:"x-form-clear-trigger",trigger2Class:"x-form-arrow-trigger",onTrigger2Click:function(){this.onTriggerClick()},onTrigger1Click:function(){this.clearValue()},initList:function(){if(!this.list){var a="x-combo-list";this.list=new Ext.Layer({shadow:this.shadow,cls:[a,this.listClass].join(" "),constrain:false});var b=this.listWidth||Math.max(this.wrap.getWidth(),this.minListWidth);this.list.setWidth(b);this.list.swallowEvent("mousewheel");this.assetHeight=0;if(this.title){this.header=this.list.createChild({cls:a+"-hd",html:this.title});this.assetHeight+=this.header.getHeight()}this.innerList=this.list.createChild({cls:a+"-inner"});this.innerList.on("mouseover",this.onViewOver,this);this.innerList.on("mousemove",this.onViewMove,this);this.innerList.setWidth(b-this.list.getFrameWidth("lr"));if(this.pageSize){this.footer=this.list.createChild({cls:a+"-ft"});this.pageTb=new Ext.PagingToolbar({store:this.store,pageSize:this.pageSize,renderTo:this.footer});this.assetHeight+=this.footer.getHeight()}if(!this.tpl){this.tpl='<tpl for="."><div class="'+a+'-item">{'+this.displayField+"}</div></tpl>"}this.view=new Ext.DataView({applyTo:this.innerList,tpl:this.tpl,singleSelect:true,multiSelect:this.multiSelect,simpleSelect:true,overClass:a+"-cursor",selectedClass:this.selectedClass,itemSelector:this.itemSelector||"."+a+"-item"});this.view.on("click",this.onViewClick,this);this.view.on("beforeClick",this.onViewBeforeClick,this);this.bindStore(this.store,true);if(this.valueArray.length){this.selectByValue(this.valueArray)}if(this.resizable){this.resizer=new Ext.Resizable(this.list,{pinned:true,handles:"se"});this.resizer.on("resize",function(e,c,d){this.maxHeight=d-this.handleHeight-this.list.getFrameWidth("tb")-this.assetHeight;this.listWidth=c;this.innerList.setWidth(c-this.list.getFrameWidth("lr"));this.restrictHeight()},this);this[this.pageSize?"footer":"innerList"].setStyle("margin-bottom",this.handleHeight+"px")}}},initEvents:function(){Ext.form.ComboBox.superclass.initEvents.call(this);this.keyNav=new Ext.KeyNav(this.el,{up:function(a){this.inKeyMode=true;this.hoverPrev()},down:function(a){if(!this.isExpanded()){this.onTriggerClick()}else{this.inKeyMode=true;this.hoverNext()}},enter:function(b){if(this.isExpanded()){this.inKeyMode=true;var a=this.view.indexOf(this.view.lastItem);this.onViewBeforeClick(this.view,a,this.view.getNode(a),b);this.onViewClick(this.view,a,this.view.getNode(a),b)}else{this.onSingleBlur()}return true},esc:function(a){this.collapse()},tab:function(a){this.collapse();return true},home:function(a){this.hoverFirst();return false},end:function(a){this.hoverLast();return false},scope:this,doRelay:function(c,b,a){if(a=="down"||this.scope.isExpanded()){return Ext.KeyNav.prototype.doRelay.apply(this,arguments)}if(a=="enter"||this.scope.isExpanded()){return Ext.KeyNav.prototype.doRelay.apply(this,arguments)}return true},forceKeyDown:true});this.queryDelay=Math.max(this.queryDelay||10,this.mode=="local"?10:250);this.dqTask=new Ext.util.DelayedTask(this.initQuery,this);if(this.typeAhead){this.taTask=new Ext.util.DelayedTask(this.onTypeAhead,this)}if(this.editable!==false){this.el.on("keyup",this.onKeyUp,this)}if(!this.multiSelect){if(this.forceSelection){this.on("blur",this.doForce,this)}this.on("focus",this.onSingleFocus,this);this.on("blur",this.onSingleBlur,this)}this.on("change",this.onChange,this)},doForce:function(){if(this.el.dom.value.length>0){if(this.el.dom.value==this.emptyText){this.clearValue()}else{if(!this.multiSelect){this.el.dom.value=this.lastSelectionText===undefined?"":this.lastSelectionText;this.applyEmptyText()}}}},onLoad:function(){if(!this.hasFocus){return}if(this.store.getCount()>0){this.expand();this.restrictHeight();if(this.lastQuery==this.allQuery){if(this.editable){this.el.dom.select()}this.selectByValue(this.value,true)}else{this.selectNext();if(this.typeAhead&&this.lastKey!=Ext.EventObject.BACKSPACE&&this.lastKey!=Ext.EventObject.DELETE){this.taTask.delay(this.typeAheadDelay)}}}else{this.onEmptyResults()}},onSelect:function(a,b){if(this.fireEvent("beforeselect",this,a,b)!==false){this.addValue(a.data[this.valueField||this.displayField]);this.fireEvent("select",this,a,b);if(!this.multiSelect){this.collapse()}}},onSingleFocus:function(){this.oldValue=this.getRawValue()},onSingleBlur:function(){var a=this.findRecord(this.displayField,this.getRawValue());if(a){this.select(this.store.indexOf(a));return}if(String(this.oldValue)!=String(this.getRawValue())){this.setValue(this.getRawValue());this.fireEvent("change",this,this.oldValue,this.getRawValue())}this.oldValue=String(this.getRawValue())},onChange:function(){if(!this.clearTrigger){return}if(this.getValue()!=""){this.triggers[0].show()}else{this.triggers[0].hide()}},collapse:function(){this.hoverOut();pUi.Select.superclass.collapse.call(this)},expand:function(){pUi.Select.superclass.expand.call(this);this.hoverFirst()},onViewOver:function(b,a){if(this.inKeyMode){return}},onViewBeforeClick:function(c,a,b,d){this.preClickSelections=this.view.getSelectedIndexes()},onViewClick:function(f,b,d,g){if(typeof b!="undefined"){var a=this.preClickSelections.indexOf(b);if(a!=-1&&this.multiSelect){this.removeValue(this.store.getAt(b).data[this.valueField||this.displayField]);if(this.inKeyMode){this.view.deselect(b,true)}this.hover(b,true)}else{var c=this.store.getAt(b);if(c){if(this.inKeyMode){this.view.select(b,true)}this.onSelect(c,b);this.hover(b,true)}}}if(f!==false){this.el.focus()}},addValue:function(b){if(!this.multiSelect){this.setValue(b);return}if(b instanceof Array){b=b[0]}b=String(b);if(this.valueArray.indexOf(b)==-1){var e=b;var c=this.findRecord(this.valueField||this.displayField,b);if(c){e=c.data[this.displayField];if(this.view){this.select(this.store.indexOf(c))}}else{if(this.forceSelection){return}}var a=Ext.apply([],this.valueArray);a.push(b);var d=Ext.apply([],this.rawValueArray);d.push(e);b=a.join(this.separator||",");e=d.join(this.displaySeparator||this.separator||",");this.commonChangeValue(b,e,a,d)}},removeValue:function(b){if(b instanceof Array){b=b[0]}b=String(b);if(this.valueArray.indexOf(b)!=-1){var e=b;var c=this.findRecord(this.valueField||displayField,b);if(c){e=c.data[this.displayField];if(this.view){this.deselect(this.store.indexOf(c))}}else{if(this.forceSelection){return}}var a=Ext.apply([],this.valueArray);a.remove(b);var d=Ext.apply([],this.rawValueArray);d.remove(e);b=a.join(this.separator||",");e=d.join(this.displaySeparator||this.separator||",");this.commonChangeValue(b,e,a,d)}},setValue:function(c){var b=[],h=[];if(!(c instanceof Array)){if(this.separator&&this.separator!==true){c=c.split(String(this.separator))}else{c=[c]}}else{if(!this.multiSelect){c=c.slice(0,1)}}for(var d=0,a=c.length;d<a;d++){var f=c[d];var g=f;if(this.valueField){var e=this.findRecord(this.valueField||this.displayField,f);if(e){g=e.data[this.displayField]}else{if(this.forceSelection){continue}}}b.push(f);h.push(g)}c=b.join(this.separator||",");g=h.join(this.displaySeparator||this.separator||",");this.commonChangeValue(c,g,b,h);if(this.history&&!this.multiSelect&&this.mode=="local"){this.addHistory(this.valueField?this.getValue():this.getRawValue())}if(this.view){this.view.clearSelections();this.selectByValue(this.valueArray)}},commonChangeValue:function(b,d,a,c){this.lastSelectionText=d;this.valueArray=a;this.rawValueArray=c;if(this.hiddenField){this.hiddenField.value=b}Ext.form.ComboBox.superclass.setValue.call(this,d);this.value=b;if(this.oldValueArray!=this.valueArray){this.fireEvent("change",this,this.oldValueArray,this.valueArray)}this.oldValueArray=Ext.apply([],this.valueArray)},validateValue:function(a){if(!pUi.Select.superclass.validateValue.call(this,a)){return false}if(this.valueArray.length<this.minLength){this.markInvalid(String.format(this.minLengthText,this.minLength));return false}if(this.valueArray.length>this.maxLength){this.markInvalid(String.format(this.maxLengthText,this.maxLength));return false}return true},clearValue:function(){this.commonChangeValue("","",[],[]);if(this.view){this.view.clearSelections()}pUi.Select.superclass.clearValue.call(this)},reset:function(){if(this.view){this.view.clearSelections()}pUi.Select.superclass.reset.call(this)},getValue:function(a){if(a){return typeof this.valueArray!="undefined"?this.valueArray:[]}return pUi.Select.superclass.getValue.call(this)},getRawValue:function(a){if(a){return typeof this.rawValueArray!="undefined"?this.rawValueArray:[]}return pUi.Select.superclass.getRawValue.call(this)},select:function(a,c){this.selectedIndex=a;if(!this.view){return}this.view.select(a,this.multiSelect);if(c!==false){var b=this.view.getNode(a);if(b){this.innerList.scrollChildIntoView(b,false)}}},deselect:function(a,c){this.selectedIndex=a;this.view.deselect(a,this.multiSelect);if(c!==false){var b=this.view.getNode(a);if(b){this.innerList.scrollChildIntoView(b,false)}}},selectByValue:function(c,g){this.hoverOut();if(c!==undefined&&c!==null){if(!(c instanceof Array)){c=[c]}var b=[];for(var d=0,a=c.length;d<a;d++){var f=c[d];var e=this.findRecord(this.valueField||this.displayField,f);if(e){this.select(this.store.indexOf(e),g);b.push(f)}}return b.join(",")}return false},selectFirst:function(){var a=this.store.getCount();if(a>0){this.select(0)}},selectLast:function(){var a=this.store.getCount();if(a>0){this.select(a)}},hover:function(a,d){if(!this.view){return}this.hoverOut();var c=this.view.getNode(a);this.view.lastItem=c;Ext.fly(c).addClass(this.view.overClass);if(d!==false){var b=this.view.getNode(a);if(b){this.innerList.scrollChildIntoView(b,false)}}},hoverOut:function(){if(!this.view){return}if(this.view.lastItem){Ext.fly(this.view.lastItem).removeClass(this.view.overClass);delete this.view.lastItem}},hoverNext:function(){if(!this.view){return}var b=this.store.getCount();if(b>0){if(!this.view.lastItem){this.hover(0)}else{var a=this.view.indexOf(this.view.lastItem);if(a<b-1){this.hover(a+1)}}}},hoverPrev:function(){if(!this.view){return}var b=this.store.getCount();if(b>0){if(!this.view.lastItem){this.hover(0)}else{var a=this.view.indexOf(this.view.lastItem);if(a!=0){this.hover(a-1)}}}},hoverFirst:function(){var a=this.store.getCount();if(a>0){this.hover(0)}},hoverLast:function(){var a=this.store.getCount();if(a>0){this.hover(a)}},addHistory:function(b){if(!b.length){return}var a=this.findRecord(this.valueField||this.displayField,b);if(a){this.store.remove(a)}else{var c={};if(this.valueField){c[this.valueField]=b}c[this.displayField]=b;a=new this.store.reader.recordType(c)}this.store.clearFilter();this.store.insert(0,a);this.pruneHistory()},pruneHistory:function(){if(this.historyMaxLength==0){return}if(this.store.getCount()>this.historyMaxLength){var c=this.store.getRange(this.historyMaxLength,this.store.getCount());for(var b=0,a=c.length;b<a;b++){this.store.remove(c[b])}}}});Ext.reg("pui:select",pUi.Select);pUi.CheckColumn=function(a){Ext.apply(this,a);if(!this.id){this.id=Ext.id()}this.renderer=this.renderer.createDelegate(this)};pUi.CheckColumn.prototype={init:function(a){this.g=a;this.g.on("render",function(){var b=this.g.getView()},this)},renderer:function(b,c,a){c.css+=" x-grid3-check-col-td";return'<div class="x-grid3-check-col'+(b?"-on":"")+" x-grid3-cc-"+this.id+'">&#160;</div>'}};pUi.TimeColumn=function(a){Ext.apply(this,a);if(!this.id){this.id=Ext.id()}this.renderer=this.renderer.createDelegate(this)};pUi.TimeColumn.prototype={init:function(a){this.g=a;this.g.on("render",function(){var b=this.g.getView()},this)},renderer:function(b,c,a){c.css+=" x-grid3-time-col-td";return'<div class="x-grid3-time-col x-grid3-cc-'+this.id+'">'+b.substring(11,19)+"</div>"}};pUi.ColumnModel=function(b){var a=Ext.apply({},b,{defaults:{sortable:true,width:150}});pUi.ColumnModel.superclass.constructor.call(this,a)};Ext.extend(pUi.ColumnModel,Ext.grid.ColumnModel,{});pUi.EditorGridPanel=function(b){var a=Ext.apply({},b,{autoScroll:true,viewConfig:{forceFit:true}});pUi.EditorGridPanel.superclass.constructor.call(this,a)};Ext.extend(pUi.EditorGridPanel,Ext.grid.EditorGridPanel,{});Ext.reg("pui:editorgridpanel",pUi.EditorGridPanel);pUi.GridPanel=function(b){var a=Ext.apply({},b,{autoScroll:true,viewConfig:{forceFit:true}});pUi.GridPanel.superclass.constructor.call(this,a)};Ext.extend(pUi.GridPanel,Ext.grid.GridPanel,{});Ext.reg("pui:gridpanel",pUi.GridPanel);pUi.GridView=function(b){var a=Ext.apply({},b,{forceFit:true});pUi.GridView.superclass.constructor.call(this,a)};Ext.extend(pUi.GridView,Ext.grid.GridView,{});pUi.GroupingView=function(b){var a=Ext.apply({},b,{enableNoGroups:false,forceFit:true,hideGroupedColumn:true,showGroupName:false});pUi.GroupingView.superclass.constructor.call(this,a)};Ext.extend(pUi.GroupingView,Ext.grid.GroupingView,{});pUi.PortalContainer=function(b){var a=Ext.apply({},b,{autoEl:"div",cls:"pui-portalcontainer",defaultType:"pui:widgetpanel",layout:"anchor"});pUi.PortalContainer.superclass.constructor.call(this,a)};Ext.extend(pUi.PortalContainer,Ext.Container,{});Ext.reg("pui:portalcontainer",pUi.PortalContainer);pUi.PortalPanel=function(b){var a=Ext.apply({},b,{defaultType:"pui:portalcontainer",layout:"column"});pUi.PortalPanel.superclass.constructor.call(this,a)};Ext.extend(pUi.PortalPanel,Ext.Panel,{initComponent:function(){pUi.PortalPanel.superclass.initComponent.call(this);this.addEvents({validatedrop:true,beforedragover:true,dragover:true,beforedrop:true,drop:true})},initEvents:function(){pUi.PortalPanel.superclass.initEvents.call(this);this.dd=new pUi.DropTarget(this,this.dropConfig)}});Ext.reg("pui:portalpanel",pUi.PortalPanel);pUi.WidgetPanel=function(b){var a=Ext.apply({},b,{anchor:"100%",cls:"pui-widgetpanel",collapsible:true,draggable:true,frame:true,style:"padding: 5px"});pUi.WidgetPanel.superclass.constructor.call(this,a)};Ext.extend(pUi.WidgetPanel,Ext.Panel,{});Ext.reg("pui:widgetpanel",pUi.WidgetPanel);pUi.TreePanel=function(b){var a=Ext.apply({},b,{animate:true,containerScroll:true,rootVisible:false});pUi.TreePanel.superclass.constructor.call(this,a)};Ext.extend(pUi.TreePanel,Ext.tree.TreePanel,{});Ext.reg("pui:treepanel",pUi.TreePanel);pUi.VIDEO_PLAYER_CONFIG={plugins:{controls:{url:"http://static.kingpearlllc.com/javascripts/flowplayer-3.2.4/flowplayer.controls-3.2.2.swf",backgroundColor:"#1e4176",backgroundGradient:"none",sliderColor:"#ffffff",sliderBorder:"1.5px solid rgba(160,160,160,0.7)",volumeSliderColor:"#ffffff",volumeBorder:"1.5px solid rgba(160,160,160,0.7)",timeColor:"#ffffff",durationColor:"#535353",tooltipColor:"rgba(255, 255, 255, 0.7)",tooltipTextColor:"#000000"}}};pUi.VideoPanel=function(b){var a=Ext.apply({},b,{contentEl:"pui-videopanel",html:'<a href="'+b.url+'" style="display:block;width:480px;height:270px;" id="pui-videoplayer"></a>'});pUi.VideoPanel.superclass.constructor.call(this,a);flowplayer("pui-videoplayer","http://static.kingpearlllc.com/javascripts/flowplayer-3.2.4/flowplayer-3.2.4.swf",pUi.VIDEO_PLAYER_CONFIG)};Ext.extend(pUi.VideoPanel,pUi.Panel,{});Ext.reg("pui:videopanel",pUi.VideoPanel);pUi.VideoWindow=function(b){var a=Ext.apply({},b,{bodyStyle:"padding:5px;",height:315,html:'<a href="'+b.url+'" style="display:block;width:480px;height:270px;" id="pui-videoplayer"></a>',title:"Video Player",width:505});pUi.VideoWindow.superclass.constructor.call(this,a)};Ext.extend(pUi.VideoWindow,pUi.Window,{show:function(){pUi.VideoWindow.superclass.show.call(this);flowplayer("pui-videoplayer","http://static.kingpearlllc.com/javascripts/flowplayer-3.2.4/flowplayer-3.2.4.swf",pUi.VIDEO_PLAYER_CONFIG)}});Ext.reg("pui:videowindow",pUi.VideoWindow);pUi.RowExpander=function(a){Ext.apply(this,a);this.addEvents({beforeexpand:true,expand:true,beforecollapse:true,collapse:true});pUi.RowExpander.superclass.constructor.call(this);if(this.tpl){if(typeof this.tpl=="string"){this.tpl=new Ext.Template(this.tpl)}this.tpl.compile()}this.state={};this.bodyContent={}};Ext.extend(pUi.RowExpander,Ext.util.Observable,{expandOnEnter:true,expandOnDblClick:true,header:"",width:20,sortable:false,fixed:true,hideable:false,menuDisabled:true,dataIndex:"",id:"expander",lazyRender:true,enableCaching:true,getRowClass:function(a,e,d,c){d.cols=d.cols-1;var b=this.bodyContent[a.id];if(!b&&!this.lazyRender){b=this.getBodyContent(a,e)}if(b){d.body=b}return this.state[a.id]?"x-grid3-row-expanded":"x-grid3-row-collapsed"},init:function(b){this.grid=b;var a=b.getView();a.getRowClass=this.getRowClass.createDelegate(this);a.enableRowBody=true;b.on("render",this.onRender,this);b.on("destroy",this.onDestroy,this)},onRender:function(){var a=this.grid;var b=a.getView().mainBody;b.on("mousedown",this.onMouseDown,this,{delegate:".x-grid3-row-expander"});if(this.expandOnEnter){this.keyNav=new Ext.KeyNav(this.grid.getGridEl(),{enter:this.onEnter,scope:this})}if(this.expandOnDblClick){a.on("rowdblclick",this.onRowDblClick,this)}},onDestroy:function(){if(this.keyNav){this.keyNav.disable();delete this.keyNav}var a=this.grid.getView().mainBody;if(a){a.un("mousedown",this.onMouseDown,this)}},onRowDblClick:function(a,b,c){this.toggleRow(b)},onEnter:function(h){var f=this.grid;var j=f.getSelectionModel();var b=j.getSelections();for(var c=0,a=b.length;c<a;c++){var d=f.getStore().indexOf(b[c]);this.toggleRow(d)}},getBodyContent:function(a,b){if(!this.enableCaching){return this.tpl.apply(a.data)}var c=this.bodyContent[a.id];if(!c){c=this.tpl.apply(a.data);this.bodyContent[a.id]=c}return c},onMouseDown:function(b,a){b.stopEvent();var c=b.getTarget(".x-grid3-row");this.toggleRow(c)},renderer:function(b,c,a){c.cellAttr='rowspan="2"';return'<div class="x-grid3-row-expander">&#160;</div>'},beforeExpand:function(b,a,c){if(this.fireEvent("beforeexpand",this,b,a,c)!==false){if(this.tpl&&this.lazyRender){a.innerHTML=this.getBodyContent(b,c)}return true}else{return false}},toggleRow:function(a){if(typeof a=="number"){a=this.grid.view.getRow(a)}this[Ext.fly(a).hasClass("x-grid3-row-collapsed")?"expandRow":"collapseRow"](a)},expandRow:function(c){if(typeof c=="number"){c=this.grid.view.getRow(c)}var b=this.grid.store.getAt(c.rowIndex);var a=Ext.DomQuery.selectNode("tr:nth(2) div.x-grid3-row-body",c);if(this.beforeExpand(b,a,c.rowIndex)){this.state[b.id]=true;Ext.fly(c).replaceClass("x-grid3-row-collapsed","x-grid3-row-expanded");this.fireEvent("expand",this,b,a,c.rowIndex)}},collapseRow:function(c){if(typeof c=="number"){c=this.grid.view.getRow(c)}var b=this.grid.store.getAt(c.rowIndex);var a=Ext.fly(c).child("tr:nth(1) div.x-grid3-row-body",true);if(this.fireEvent("beforecollapse",this,b,a,c.rowIndex)!==false){this.state[b.id]=false;Ext.fly(c).replaceClass("x-grid3-row-expanded","x-grid3-row-collapsed");this.fireEvent("collapse",this,b,a,c.rowIndex)}}});Ext.preg("pui:rowexpander",pUi.RowExpander);pUi.GroupSummary=function(a){Ext.apply(this,a)};Ext.extend(pUi.GroupSummary,Ext.util.Observable,{init:function(b){this.grid=b;this.cm=b.getColumnModel();this.view=b.getView();var a=this.view;a.doGroupEnd=this.doGroupEnd.createDelegate(this);a.afterMethod("onColumnWidthUpdated",this.doWidth,this);a.afterMethod("onAllColumnWidthsUpdated",this.doAllWidths,this);a.afterMethod("onColumnHiddenUpdated",this.doHidden,this);a.afterMethod("onUpdate",this.doUpdate,this);a.afterMethod("onRemove",this.doRemove,this);if(!this.rowTpl){this.rowTpl=new Ext.Template('<div class="x-grid3-summary-row" style="{tstyle}">','<table class="x-grid3-summary-table" border="0" cellspacing="0" cellpadding="0" style="{tstyle}">',"<tbody><tr>{cells}</tr></tbody>","</table></div>");this.rowTpl.disableFormats=true}this.rowTpl.compile();if(!this.cellTpl){this.cellTpl=new Ext.Template('<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} {css}" style="{style}">','<div class="x-grid3-cell-inner x-grid3-col-{id}" unselectable="on">{value}</div>',"</td>");this.cellTpl.disableFormats=true}this.cellTpl.compile()},toggleSummaries:function(b){var a=this.grid.getGridEl();if(a){if(b===undefined){b=a.hasClass("x-grid-hide-summary")}a[b?"removeClass":"addClass"]("x-grid-hide-summary")}},renderSummary:function(d,h){h=h||this.view.getColumnData();var j=this.cm.config;var e=[],k,a={},b,l=h.length-1;for(var f=0,g=h.length;f<g;f++){k=h[f];b=j[f];a.id=k.id;a.style=k.style;a.css=f==0?"x-grid3-cell-first ":(f==l?"x-grid3-cell-last ":"");if(b.summaryType||b.summaryRenderer){a.value=(b.summaryRenderer||k.renderer)(d.data[k.name],a,d)}else{a.value=""}if(a.value==undefined||a.value===""){a.value="&#160;"}e[e.length]=this.cellTpl.apply(a)}return this.rowTpl.apply({tstyle:"width:"+this.view.getTotalWidth()+";",cells:e.join("")})},calculate:function(d,k){var g={},a,m,l=this.cm.config,b;for(var e=0,n=d.length;e<n;e++){a=d[e];for(var f=0,h=k.length;f<h;f++){m=k[f];b=l[f];if(b.summaryType){g[m.name]=pUi.GroupSummary.Calculations[b.summaryType](g[m.name]||0,a,m.name,g)}}}return g},doGroupEnd:function(a,d,b,f,c){var e=this.calculate(d.rs,b);a.push("</div>",this.renderSummary({data:e},b),"</div>")},doWidth:function(e,b,d){var c=this.view.getGroups(),g;for(var f=0,a=c.length;f<a;f++){g=c[f].childNodes[2];g.style.width=d;g.firstChild.style.width=d;g.firstChild.rows[0].childNodes[e].style.width=b}},doAllWidths:function(g,d){var a=this.view.getGroups(),k,h,e=g.length;for(var c=0,f=a.length;c<f;c++){k=a[c].childNodes[2];k.style.width=d;k.firstChild.style.width=d;h=k.firstChild.rows[0].childNodes;for(var b=0;b<e;b++){h[b].style.width=g[b]}}},doHidden:function(d,g,c){var b=this.view.getGroups(),f,h=g?"none":"";for(var e=0,a=b.length;e<a;e++){f=b[e].childNodes[2];f.style.width=c;f.firstChild.style.width=c;f.firstChild.rows[0].childNodes[d].style.display=h}},refreshSummary:function(a){return this.refreshSummaryById(this.view.getGroupId(a))},getSummaryNode:function(a){var b=Ext.fly(a,"_gsummary");if(b){return b.down(".x-grid3-summary-row",true)}return null},refreshSummaryById:function(d){var f=document.getElementById(d);if(!f){return false}var b=[];this.grid.store.each(function(g){if(g._groupId==d){b[b.length]=g}});var c=this.view.getColumnData();var h=this.calculate(b,c);var a=this.renderSummary({data:h},c);var e=this.getSummaryNode(d);if(e){f.removeChild(e)}Ext.DomHelper.append(f,a);return true},doUpdate:function(b,a){this.refreshSummaryById(a._groupId)},doRemove:function(d,a,b,c){if(!c){this.refreshSummaryById(a._groupId)}},showSummaryMsg:function(a,d){var b=this.view.getGroupId(a);var c=this.getSummaryNode(b);if(c){c.innerHTML='<div class="x-grid3-summary-msg">'+d+"</div>"}}});pUi.GroupSummary.Calculations={sum:function(b,a,c){return b+(a.data[c]||0)},count:function(b,a,d,c){return c[d+"count"]?++c[d+"count"]:(c[d+"count"]=1)},max:function(c,b,e,d){var c=b.data[e];var a=d[e+"max"]===undefined?(d[e+"max"]=c):d[e+"max"];return c>a?(d[e+"max"]=c):a},min:function(b,a,e,d){var b=a.data[e];var c=d[e+"min"]===undefined?(d[e+"min"]=b):d[e+"min"];return b<c?(d[e+"min"]=b):c},average:function(b,a,f,e){var g=e[f+"count"]?++e[f+"count"]:(e[f+"count"]=1);var d=(e[f+"total"]=((e[f+"total"]||0)+(a.data[f]||0)));return d===0?0:d/g}};pUi.HybridSummary=Ext.extend(pUi.GroupSummary,{calculate:function(b,d){var a=this.view.getGroupField();var c=b[0].data[a];var e=this.getSummaryData(c);return e||pUi.HybridSummary.superclass.calculate.call(this,b,d)},updateSummaryData:function(a,d,c){var b=this.grid.store.reader.jsonData;if(!b.summaryData){b.summaryData={}}b.summaryData[a]=d;if(!c){this.refreshSummary(a)}},getSummaryData:function(a){var b=this.grid.store.reader.jsonData;if(b&&b.summaryData){return b.summaryData[a]}return null}});Ext.ns("KingPearl");KingPearl.LoginPanel=function(b){var a=Ext.apply({},b,{id:"kingpearl-loginpanel",items:[{fieldLabel:"Login",name:"login",xtype:"textfield"},{fieldLabel:"Password",inputType:"password",name:"password",xtype:"textfield"}],url:"/accounts/login"});KingPearl.LoginPanel.superclass.constructor.call(this,a)};Ext.extend(KingPearl.LoginPanel,pUi.FormPanel,{});Ext.reg("kingpearl:loginpanel",KingPearl.LoginPanel);KingPearl.LoginWindow=function(b){var a=Ext.apply({},b,{id:"kingpearl-loginwindow",items:[{xtype:"kingpearl:loginpanel"}],title:"Login",width:400,buttonText:"Login"});KingPearl.LoginWindow.superclass.constructor.call(this,a)};Ext.extend(KingPearl.LoginWindow,pUi.FormWindow,{submit:function(){var a=this.getComponent(0).getForm();a.submit({scope:this,success:function(d,b){var c=Ext.getCmp("kingpearl-viewport");if(b.result.success==="true"){c.account.isAuth=true;c.account.login=b.result.data.login}else{c.account.isAuth=false}c.update();this.destroy()}})}});Ext.reg("kingpearl:loginwindow",KingPearl.LoginWindow);KingPearl.Viewport=function(b){var a=Ext.apply({},b,{id:"kingpearl-viewport"});KingPearl.Viewport.superclass.constructor.call(this,a);this.authenticated()};Ext.extend(KingPearl.Viewport,pUi.Viewport,{account:{isAuth:false,login:""},authenticated:function(){Ext.Ajax.request({failure:function(a,b){this.account.isAuth=false;this.update()}.createDelegate(this),method:"get",success:function(a,c){var b=Ext.util.JSON.decode(a.responseText);if(b.success==="true"){this.account.isAuth=true;this.account.login=b.data.login}else{this.account.isAuth=false}this.update()}.createDelegate(this),url:"/accounts/authenticated"})},login:function(b){b.preventDefault();var a=new KingPearl.LoginWindow({});a.show()},logout:function(a){a.preventDefault();Ext.Ajax.request({method:"get",success:function(b,c){document.location.href="home"},url:"/accounts/logout"})},update:function(){if(this.account.isAuth){this.applicationsHtml='<a href="/home">Home</a>';this.accountsHtml="<strong>"+this.account.login+'</strong> | <a href="/admin" id="admin-link">Admin</a> | <a href="/accounts/logout" id="kingpearl-logout-link">Logout</a>'}else{this.applicationsHtml='<a href="/home">Home</a>';this.accountsHtml='<a href="#" id="kingpearl-login-link">Login</a>'}Ext.get("kingpearl-applications").update(this.applicationsHtml);Ext.get("kingpearl-accounts").update(this.accountsHtml);if(this.account.isAuth){Ext.get("kingpearl-logout-link").on("click",this.logout)}else{Ext.get("kingpearl-login-link").on("click",this.login)}}});Ext.reg("kingpearl:viewport",KingPearl.Viewport);