AC.OverlayPanel=Class.create();Object.extend(AC.OverlayPanel.prototype,AC.ViewMaster.Viewer.prototype);Object.extend(AC.OverlayPanel.prototype,Event.Listener);Object.extend(AC.OverlayPanel.prototype,Event.Publisher);Object.extend(AC.OverlayPanel.prototype,{closeBtn:null,overlay:null,overlayShadow:null,overlayId:"",overlayClasses:"",overlayContents:"",overlayShadowId:"",overlayShadowClasses:"",_overlayShadowSrc:null,_defaultOverlayShadowSrc:"http://images.apple.com/global/elements/overlay/overlay_panel_default.png",order:0,setOverlayShadowImageSrc:function(y){this._overlayShadowSrc=(y)?y:this._defaultOverlayShadowSrc;this.overlayshadowImage.src=this._overlayShadowSrc;if(this.isIE7()){this.overlayshadowImage.runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+this._overlayShadowSrc+"',sizingMethod='scale')";this.overlayshadowImage.src="http://images.apple.com/global/elements/blank.gif";}},overlayShadowImageSrc:function(){return (this._overlayShadowSrc)?this._overlayShadowSrc:this._defaultOverlayShadowSrc;},initialize:function(v,y,P,Z){this.overlayId="OverlayPanel";this.overlayShadowId="OverlayPanelShadow";this.createOverlay();P=P||"OverlayPanel";AC.ViewMaster.Viewer.prototype.initialize.call(this,null,this.swapViewElement,P,Z);this.options.shouldAnimateContentChange=false;},createOverlay:function(){this.closeBtnContainer=document.createElement("div");this.closeBtnContainer.className="closeButtonContainer";this.closeBtn=document.createElement("a");this.closeBtn.href="#close";this.closeBtn.className="close";this.closeBtn.appendChild(document.createTextNode("Close"));this.closeBtnContainer.appendChild(this.closeBtn);Event.observe(this.closeBtn,"click",this.close.bindAsEventListener(this),false);this.swapViewElement=Builder.node("div",{"class":"overlayPanelContent"});this.overlayshadowImage=Builder.node("img",{src:this.overlayShadowImageSrc(),alt:"",border:0,"class":"overlayPanelShadowImage"});if(this.isIE7()){this.overlayshadowImage.runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+this.overlayShadowImageSrc()+"',sizingMethod='scale')";this.overlayshadowImage.src="http://images.apple.com/global/elements/blank.gif";}this.overlayshadow=Builder.node("div",{id:this.overlayShadowId,"class":"overlaypanelshadow "+this.overlayShadowClasses},[this.overlayshadowImage,this.swapViewElement]);this.overlay=$(Builder.node("div",{"id":this.overlayId,"class":"overlaypanel "+this.overlayClasses,"style":"left:-99999px; top:0;"},[this.closeBtnContainer,this.overlayshadowImage,this.swapViewElement]));},isIE7:function(){return (AC.Detector.isIEStrict()&&navigator.appVersion.indexOf("MSIE 6.0")>=0);},setDefaults:function(){this.defaultWidth=this.overlay.offsetWidth;this.padleft=parseInt(Element.getStyle(this.overlay,"marginLeft").replace(/px/i,""));this.padright=parseInt(Element.getStyle(this.overlay,"marginRight").replace(/px/i,""));this.defaultHeight=this.overlay.offsetHeight;this.padtop=parseInt(Element.getStyle(this.overlay,"marginTop").replace(/px/,""));this.padbottom=parseInt(Element.getStyle(this.overlay,"marginBottom").replace(/px/,""));},setItemAttributes:function(){},registerOverlay:function(){Event.observe(document,"click",this.onClick.bindAsEventListener(this),false);},isContentLoaded:function(Z,y){return false;},superContentDidLoad:AC.ViewMaster.Viewer.prototype.contentDidLoad,contentDidLoad:function(v,Z){document.body.appendChild(this.overlay);this.superContentDidLoad(v,Z);v.content.show();v.content.style.visibility="hidden";v.content.removeClassName("overlaydescription");this.overlay.addClassName(v.id);this.setOriginFromEvent(this.currentSectionEvent);this.setDefaults();var y=this;this._isDisplaying=true;setTimeout(function(){y._display(v);},100);},_isDisplaying:false,_display:function(Z){this.setDefaults();this.setDimensions(this.currentSectionEvent,Z.content);var y=this;return this.pop(this.defaultWidth,this.popPosition().top,this.defaultHeight,this.popPosition().left);},superWillShow:AC.ViewMaster.Viewer.prototype.willShow,willShow:function(Z,v,y){return this.superWillShow(Z,v,y);},superTriggerClicked:AC.ViewMaster.Viewer.prototype.triggerClicked,triggerClicked:function(y,Z){if(y){Event.stop(y);}this.superTriggerClicked(y,Z);if(this._isDisplaying){return ;}this.setOverlayShadowImageSrc(null);this._popPosition=null;this.currentSectionEvent=y;},superShouldAnimateContentChange:AC.ViewMaster.Viewer.prototype.shouldAnimateContentChange,shouldAnimateContentChange:function(v,Z,y){if(AC.Detector.isiPhone()){return false;}return this.superShouldAnimateContentChange(v,Z,y);},willAnimate:function(Z,v,y,P){},setOriginFromEvent:function(y){if(!y){return ;}this.left=y.pageX||y.clientX+(document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft);this.top=y.pageY||y.clientY+(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop);},setDimensions:function(Z,v){this._width=(v.offsetWidth>80)?80:v.offsetWidth;this.defaultWidth=v.offsetWidth;var y=null;if(Z){y=Element.cumulativeOffset(Z.element());}if(y){this.left=y.left;}this.left=this.left||document.body.getDimensions().width/2;this.defaultHeight=v.offsetHeight;this._height=Math.round((this._width*this.defaultHeight)/this.defaultWidth);if(y){this.top=y.top;}this.top=this.top||document.body.getDimensions().height/2;this.padleft=parseInt(Element.getStyle(v,"marginLeft").replace(/px/i,""));this.padright=parseInt(Element.getStyle(v,"marginRight").replace(/px/i,""));this.padtop=parseInt(Element.getStyle(v,"marginTop").replace(/px/,""));this.padbottom=parseInt(Element.getStyle(v,"marginBottom").replace(/px/,""));},windowSize:function(){var P=document.clientWidth||(document.documentElement.clientWidth||document.body.clientWidth);var v=document.clientHeight||(document.documentElement.clientHeight||document.body.clientHeight);var Z=window.pageXOffset||(window.document.documentElement.scrollLeft||window.document.body.scrollLeft);var V=window.pageYOffset||(window.document.documentElement.scrollTop||window.document.body.scrollTop);if(AC.Detector.isiPhone()){P=parseInt(980);v=parseInt(1212);}return {"width":P,"height":v,"x":Z,"y":V};},popPosition:function(){if(!this._popPosition){var v,Z=null;var y=this.windowSize();v=y.x+(y.width-this.defaultWidth-this.padleft-this.padright)/2;if(y.width<this.defaultWidth+this.padleft+this.padright){v=y.x-(this.padtop-this.closeBtnContainer.offsetWidth);}Z=(y.y+(y.height-this.defaultHeight-this.padtop-this.padbottom)/2);if(y.height<this.defaultHeight+this.padtop+this.padbottom){Z=y.y-(this.padtop-this.closeBtnContainer.offsetHeight);}if(Z<0||Z<20){Z=20;}this._popPosition={left:v,top:Z};}return this._popPosition;},setWidth:function(y){this.defaultWidth=y;this.overlay.style.width=y+"px";},width:function(){return this.defaultWidth;},setHeight:function(y){this.defaultHeight=y;this.overlay.style.height=y+"px";},height:function(){return this.defaultHeight;},prepPop:function(){},beforePop:function(){Element.addClassName(this.overlay,"isanim");Element.addClassName(this.overlayshadow,"isanim");Element.addClassName(this.overlay,"popped");Element.addClassName(this.overlayshadow,"popped");if(AC.Detector.isIEStrict()){}},pop:function(Z,C,y,V,P){Element.setOpacity(this.overlay,0);Element.setOpacity(this.overlayshadow,0);this._height=this._width*y/Z;this.overlay.style.width=this._width+"px";this.overlay.style.height=this._height+"px";this.overlay.style.left=this.left-this.padleft+"px";this.overlay.style.top=this.top-this.padtop+"px";this.overlay.style.display="";var v=(100*Z)/this._width;new Effect.Parallel([new Effect.MoveBy(this.overlay,C-this.top+this.padtop,V-this.left+this.padleft,{sync:true}),new Effect.Scale(this.overlay,v,{sync:true,scaleContent:false}),new Effect.Appear(this.overlay,{sync:true})],{duration:0.3,beforeStart:this.beforePop.bind(this),afterFinish:this.afterPop.bind(this)});},afterPop:function(Z,y){this.closeBtnContainer.style.display="block";this.currentSection.content.style.visibility="visible";this.setPoppedClass();},superWillClose:AC.ViewMaster.Viewer.prototype.willClose,willClose:function(){this.dispatchEvent("beforeClose",this);this.superWillClose(this,this.currentSection);if(this.currentSection){this.currentSection.willClose();}},resetOverlay:function(){this.overlay.style.width="";this.overlay.style.height="";this.overlay.setOpacity("");},setPoppedClass:function(){Element.removeClassName(this.overlay,"isanim");Element.removeClassName(this.overlayshadow,"isanim");Element.addClassName(this.overlay,"popped");Element.addClassName(this.overlayshadow,"popped");},setIsanimClass:function(){Element.addClassName(this.overlay,"isanim");Element.addClassName(this.overlayshadow,"isanim");Element.removeClassName(this.overlay,"popped");Element.removeClassName(this.overlayshadow,"popped");},close:function(Z){if(Z){Event.stop(Z);}var v=this.defaultWidth;var V=this.overlay.offsetLeft;var y=this.defaultHeight;var P=this.overlay.offsetTop;if(V>=0&&P>=0){this.willClose(this);setTimeout(this._closeOpenOverlay.bind(this,v,V,y,P),10);}},_closeOpenOverlay:function(Z,V,y,P){if(!AC.Detector.isiPhone()){var v=(100*this._width)/Z;new Effect.Parallel([new Effect.MoveBy(this.overlay,this.top-this.padtop-P,this.left-this.padleft-V,{sync:true}),new Effect.Scale(this.overlay,v,{sync:true,scaleContent:false}),new Effect.Fade(this.overlay,{sync:true})],{duration:0.3,afterFinish:this.afterClose.bind(this)});}else{this.afterClose();}},afterClose:function(){Element.removeClassName(this.overlay,"isanim");Element.removeClassName(this.overlayshadow,"isanim");Element.removeClassName(this.overlay,"popped");Element.removeClassName(this.overlayshadow,"popped");this.overlay.removeClassName(this.currentSection.id);this.setOverlayShadowImageSrc(null);this.overlay.style.width="";this.overlayshadow.style.width="";this.overlay.style.height="";this.overlayshadow.style.height="";this.overlay.style.left="-99999px";this.overlayshadow.style.left="";this.overlay.style.top="0";this.overlayshadow.style.top="";this.overlay.style.display="";this.overlayshadow.style.display="";this.dispatchEvent("afterClose",this);if(AC.Detector.isWebKit()){this.fixSafarisScrollBars();}this.show(null,true);document.body.removeChild(this.overlay);this._isDisplaying=false;},fixSafarisScrollBars:function(){var y=1;var Z=this.windowSize();window.scroll(Z.x+y,Z.y+y);window.scroll(Z.x,Z.y);}});Event.onDOMReady(function(){AC.OverlayPanel.overlay=new AC.OverlayPanel();});
