
PopupGallery=Class.create();PopupGallery.prototype={controller:null,initialize:function(items){this.items=items;if(this.items.length>0){this.createPopup();this.setDefaults();this.setItemAttributes();}},createPopup:function(){this.closeBtn=Builder.node('a',{href:'#close','class':'close'},'Close');Event.observe(this.closeBtn,'click',this.close.bindAsEventListener(this),false);this.flashUFO=Builder.node('p',{'id':'player1'},[Builder.node('a',{'href':'http://www.macromedia.com/go/getflashplayer'},"Get Flash Player")," to see this player."]);this.popup=Builder.node('div',{'id':'popup','class':'popup'},[this.closeBtn,this.flashUFO,]);this.popupshadow=Builder.node('div',{id:'popupshadow','class':'popupshadow'},[Builder.node('img',{src:'/images/popup_shadow.png',alt:'',border:0})]);document.body.appendChild(this.popupshadow);document.body.appendChild(this.popup);},setDefaults:function(){this.defaultWidth=this.popup.offsetWidth;this.padleft=parseInt(Element.getStyle(this.popup,'marginLeft').replace(/px/i,''));this.padright=parseInt(Element.getStyle(this.popup,'marginRight').replace(/px/i,''));this.defaultHeight=this.popup.offsetHeight;this.padtop=parseInt(Element.getStyle(this.popup,'marginTop').replace(/px/,''));this.padbottom=parseInt(Element.getStyle(this.popup,'marginBottom').replace(/px/,''));},setItemAttributes:function(){for(var i=0;i<this.items.length;i++){var item=this.items[i];this.setEvent(item,i);}},setEvent:function(item,i){Event.observe(item,'click',this.onClick.bindAsEventListener(this,item,i),false);},onClick:function(evt,item,i){this.left=evt.pageX||evt.clientX+(document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft);this.left-=this.width/2;this.left=this.left||Element.getDimensions(document.body).width/2;this.width=(item.offsetWidth>80)?80:item.offsetWidth;this.height=item.offsetHeight;this.top=evt.pageY||evt.clientY+(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop);this.top-=this.height/2;Event.stop(evt);this.prepPop(evt,item,i);},windowSize:function(){var width=window.innerWidth||(window.document.documentElement.clientWidth||window.document.body.clientWidth);var height=window.innerHeight||(window.document.documentElement.clientHeight||window.document.body.clientHeight);var x=window.pageXOffset||(window.document.documentElement.scrollLeft||window.document.body.scrollLeft);var y=window.pageYOffset||(window.document.documentElement.scrollTop||window.document.body.scrollTop);return{'width':width,'height':height,'x':x,'y':y}},setPopPosition:function(){var left,top=null;left=this.windowSize().x+(this.windowSize().width-this.defaultWidth-this.padleft-this.padright)/2;if(this.windowSize().width<this.defaultWidth+this.padleft+this.padright)left=this.windowSize().x-(this.padtop-this.closeBtn.offsetWidth);top=this.windowSize().y+(this.windowSize().height-this.defaultHeight-this.padtop-this.padbottom)/2;if(this.windowSize().height<this.defaultHeight+this.padtop+this.padbottom)top=this.windowSize().y-(this.padtop-this.closeBtn.offsetHeight);return{left:left,top:top};},prepPop:function(evt,item,i){this.pop(this.defaultWidth,this.setPopPosition().top,this.defaultHeight,this.setPopPosition().left,item,i);},beforePop:function(){Element.addClassName(this.popup,'isanim');Element.addClassName(this.popupshadow,'isanim');},pop:function(width,top,height,left,item,i){this.popup.style.width=this.width+'px';this.popupshadow.style.width=this.width+'px';this.popup.style.height=this.height+'px';this.popupshadow.style.height=this.height+'px';this.popup.style.left=this.left+'px';this.popupshadow.style.left=this.left+'px';this.popup.style.top=this.top+'px';this.popupshadow.style.top=this.top+'px';Element.setOpacity(this.popup,0);Element.setOpacity(this.popupshadow,0);new Effect.Parallel([new Effect.MoveBy(this.popup,top-this.top,left-this.left,{sync:true}),new Effect.MoveBy(this.popupshadow,top-this.top,left-this.left,{sync:true}),new Effect.Scale(this.popup,(width/this.width)*100,{sync:true,scaleY:false,scaleContent:false}),new Effect.Scale(this.popupshadow,((width+this.padleft+this.padleft)/this.width)*100,{sync:true,scaleY:false,scaleContent:false}),new Effect.Scale(this.popup,(height/this.height)*100,{sync:true,scaleX:false,scaleContent:false}),new Effect.Scale(this.popupshadow,((height+this.padtop+this.padbottom)/this.height)*100,{sync:true,scaleX:false,scaleContent:false}),new Effect.Appear(this.popup,{sync:true}),new Effect.Appear(this.popupshadow,{sync:true})],{duration:.2,beforeStart:this.beforePop.bind(this),afterFinish:this.afterPop.bind(this,item,i)});},afterPop:function(item,i){Element.removeClassName(this.popup,'isanim');Element.removeClassName(this.popupshadow,'isanim');Element.addClassName(this.popup,'popped');Element.addClassName(this.popupshadow,'popped');this.popup.style.width='';this.popupshadow.style.width='';this.popup.style.height='';this.popupshadow.style.height='';var FO={movie:item.href,width:"860",height:"475",majorversion:"7",build:"0",bgcolor:"#FFFFFF",flashvars:""};UFO.create(FO,"player1");Element.setOpacity(this.popup,'');Element.setOpacity(this.popupshadow,'');},beforeClose:function(){Element.addClassName(this.popup,'isanim');Element.addClassName(this.popupshadow,'isanim');Element.removeClassName(this.popup,'popped');Element.removeClassName(this.popupshadow,'popped');document.getElementById('player1').innerHTML='';},close:function(evt){if(evt)Event.stop(evt);var width=this.defaultWidth;var left=this.popup.offsetLeft;var height=this.defaultHeight;var top=this.popup.offsetTop;new Effect.Parallel([new Effect.MoveBy(this.popup,this.top-top,this.left-left,{sync:true}),new Effect.MoveBy(this.popupshadow,this.top-top,this.left-left,{sync:true}),new Effect.Scale(this.popup,(this.width/width)*100,{sync:true,scaleY:false,scaleContent:false}),new Effect.Scale(this.popupshadow,(this.width/(width+this.padleft+this.padleft))*100,{sync:true,scaleY:false,scaleContent:false}),new Effect.Scale(this.popup,(this.height/height)*100,{sync:true,scaleX:false,scaleContent:false}),new Effect.Scale(this.popupshadow,(this.height/(height+this.padtop+this.padbottom))*100,{sync:true,scaleX:false,scaleContent:false}),new Effect.Fade(this.popup,{sync:true}),new Effect.Fade(this.popupshadow,{sync:true})],{duration:.3,beforeStart:this.beforeClose.bind(this),afterFinish:this.afterClose.bind(this)});},afterClose:function(){Element.removeClassName(this.popup,'isanim');Element.removeClassName(this.popupshadow,'isanim');this.popup.style.width='';this.popupshadow.style.width='';this.popup.style.height='';this.popupshadow.style.height='';this.popup.style.left='';this.popupshadow.style.left='';this.popup.style.top='';this.popupshadow.style.top='';this.popup.style.display='';this.popupshadow.style.display='';},fixSafarisScrollBars:function(){scrollTo=1;window.scroll(this.windowSize().x+scrollTo,this.windowSize().y+scrollTo);scrollTo=-scrollTo;window.scroll(this.windowSize().x+scrollTo,this.windowSize().y+scrollTo);}}
