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(h){this._overlayShadowSrc=(h)?h: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(U,h,e,b){this.overlayId="OverlayPanel";this.overlayShadowId="OverlayPanelShadow";this.createOverlay();e=e||"OverlayPanel";AC.ViewMaster.Viewer.prototype.initialize.call(this,null,this.swapViewElement,e,b);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(b,h){return false;},superContentDidLoad:AC.ViewMaster.Viewer.prototype.contentDidLoad,contentDidLoad:function(U,b){document.body.appendChild(this.overlay);this.superContentDidLoad(U,b);U.content.show();U.content.style.visibility="hidden";U.content.removeClassName("overlaydescription");this.overlay.addClassName(U.id);this.setOriginFromEvent(this.currentSectionEvent);this.setDefaults();var h=this;this._isDisplaying=true;setTimeout(function(){h._display(U);},100);},_isDisplaying:false,_display:function(b){this.setDefaults();this.setDimensions(this.currentSectionEvent,b.content);var h=this;return this.pop(this.defaultWidth,this.popPosition().top,this.defaultHeight,this.popPosition().left);},superWillShow:AC.ViewMaster.Viewer.prototype.willShow,willShow:function(b,U,h){return this.superWillShow(b,U,h);},superTriggerClicked:AC.ViewMaster.Viewer.prototype.triggerClicked,triggerClicked:function(h,b){if(h){Event.stop(h);}this.superTriggerClicked(h,b);if(this._isDisplaying){return ;}this.setOverlayShadowImageSrc(null);this._popPosition=null;this.currentSectionEvent=h;},superShouldAnimateContentChange:AC.ViewMaster.Viewer.prototype.shouldAnimateContentChange,shouldAnimateContentChange:function(U,b,h){if(AC.Detector.isiPhone()){return false;}return this.superShouldAnimateContentChange(U,b,h);},willAnimate:function(b,U,h,e){},setOriginFromEvent:function(h){if(!h){return ;}this.left=h.pageX||h.clientX+(document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft);this.top=h.pageY||h.clientY+(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop);},setDimensions:function(b,U){this._width=(U.offsetWidth>80)?80:U.offsetWidth;this.defaultWidth=U.offsetWidth;var h=null;if(b){h=Element.cumulativeOffset(b.element());}if(h){this.left=h.left;}this.left=this.left||document.body.getDimensions().width/2;this.defaultHeight=U.offsetHeight;this._height=Math.round((this._width*this.defaultHeight)/this.defaultWidth);if(h){this.top=h.top;}this.top=this.top||document.body.getDimensions().height/2;this.padleft=parseInt(Element.getStyle(U,"marginLeft").replace(/px/i,""));this.padright=parseInt(Element.getStyle(U,"marginRight").replace(/px/i,""));this.padtop=parseInt(Element.getStyle(U,"marginTop").replace(/px/,""));this.padbottom=parseInt(Element.getStyle(U,"marginBottom").replace(/px/,""));},windowSize:function(){var U=document.clientWidth||(document.documentElement.clientWidth||document.body.clientWidth);var b=document.clientHeight||(document.documentElement.clientHeight||document.body.clientHeight);var h=window.pageXOffset||(window.document.documentElement.scrollLeft||window.document.body.scrollLeft);var e=window.pageYOffset||(window.document.documentElement.scrollTop||window.document.body.scrollTop);if(AC.Detector.isiPhone()){U=parseInt(980);b=parseInt(1212);}return {"width":U,"height":b,"x":h,"y":e};},popPosition:function(){if(!this._popPosition){var U,b=null;var h=this.windowSize();U=h.x+(h.width-this.defaultWidth-this.padleft-this.padright)/2;if(h.width<this.defaultWidth+this.padleft+this.padright){U=h.x-(this.padtop-this.closeBtnContainer.offsetWidth);}b=(h.y+(h.height-this.defaultHeight-this.padtop-this.padbottom)/2);if(h.height<this.defaultHeight+this.padtop+this.padbottom){b=h.y-(this.padtop-this.closeBtnContainer.offsetHeight);}if(b<0||b<20){b=20;}this._popPosition={left:U,top:b};}return this._popPosition;},setWidth:function(h){this.defaultWidth=h;this.overlay.style.width=h+"px";},width:function(){return this.defaultWidth;},setHeight:function(h){this.defaultHeight=h;this.overlay.style.height=h+"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(b,A,h,H,e){Element.setOpacity(this.overlay,0);Element.setOpacity(this.overlayshadow,0);this._height=this._width*h/b;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 U=(100*b)/this._width;new Effect.Parallel([new Effect.MoveBy(this.overlay,A-this.top+this.padtop,H-this.left+this.padleft,{sync:true}),new Effect.Scale(this.overlay,U,{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(b,h){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(b){if(b){Event.stop(b);}var U=this.defaultWidth;var A=this.overlay.offsetLeft;var h=this.defaultHeight;var H=this.overlay.offsetTop;if(A>=0&&H>=0){this.willClose(this);if(!AC.Detector.isiPhone()){var e=(100*this._width)/U;new Effect.Parallel([new Effect.MoveBy(this.overlay,this.top-this.padtop-H,this.left-this.padleft-A,{sync:true}),new Effect.Scale(this.overlay,e,{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 h=1;var b=this.windowSize();window.scroll(b.x+h,b.y+h);window.scroll(b.x,b.y);}});Event.onDOMReady(function(){AC.OverlayPanel.overlay=new AC.OverlayPanel();});
