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

