
Ext.ns("Ext.ux");Ext.ux.Banner=Ext.extend(Ext.util.Observable,{constructor:function(ops){Ext.apply(this,ops);this.renderTo=Ext.get(this.renderTo);this.renderTo.setStyle({"position":"relative",width:this.width+"px"});this.createWait();this.renderTo.appendChild(this.wait);this.preLoad(this.initComponent.createDelegate(this));},renderTo:"",width:780,height:263,queue:[],tab:[],word:[],isProcessing:false,initComponent:function(){this.wait.remove();this.createBanner();this.createWord();this.createTab();this.banner.dom.setAttribute("src",this.queue[0].url);this.renderTo.appendChild(this.banner);this.renderTo.appendChild(this.tab);this.renderTo.appendChild(this.word);},preLoad:function(callback){var counter=0;Ext.each(this.queue,function(item,index,Arr){var img=new Image();img=new Ext.Element(img);img.on("load",function(){counter++;if(counter==Arr.length)callback();});img.dom.setAttribute("src",item.url);});},createBanner:function(){this.banner=new Ext.Element(new Image());this.banner.setStyle({width:this.width+"px",height:this.height+"px","filter":"blendTrans(duration=1)"});},createWait:function(){this.wait=new Ext.Element(document.createElement("div"));this.wait.setStyle({width:this.width+"px",height:this.height+"px",background:"url(resource/demo3/loading.gif) center no-repeat"});},createTab:function(){var fn=(function(item,index){var it=new Ext.Element(document.createElement("div"));it.setStyle({width:"130px",height:"51px",position:"absolute",right:"0px",background:"white",top:index*53+"px"});if(index==0)it.setStyle("backgroundColor","#6B5747");it.setOpacity(.3);this.tab.push(it);}).createDelegate(this);Ext.each(this.word,function(item,index){fn(item,index);});},createWord:function(){var fn=(function(item,index){var it=new Ext.Element(document.createElement("div"));it.setStyle({width:"130px",height:"51px",lineHeight:"51px","textIndent":"18px","textAlign":"left",position:"absolute",background:"transparent",fontSize:"20px",cursor:"pointer",color:"black",fontWeight:"bold",right:"0px",top:index*53+"px"});if(index==0){it.setStyle({fontSize:"20px",color:"white"});}it.update(item.name);it.on({"mouseover":function(){this.changeTab.createDelegate(this)(index);this.run(item.url);},click:function(){if(item.href)window.open(item.href);},scope:this});this.word.push(it);}).createDelegate(this);Ext.each(this.queue,function(item,index){fn(item,index);});},changeTab:function(i){var self=this;Ext.each(this.tab,function(item,index){item.setStyle("backgroundColor","white");self.word[index].setStyle({fontSize:"22px",color:"black"});});this.tab[i].setStyle("backgroundColor","#6B5747");this.word[i].setStyle({fontSize:"20px",color:"white"});},run:function(url){if(Ext.isIE){with(this.banner.dom){filters.blendTrans.Duration=1;filters.blendTrans.apply();setAttribute("src",url);filters.blendTrans.play();}}else{if(this.isProcessing)return;this.isProcessing=true;this.banner.fadeOut({callback:function(){this.banner.dom.setAttribute("src",url);this.banner.fadeIn({callback:function(){this.isProcessing=false;},scope:this});},scope:this})}}});
