if(typeof(AC)=="undefined"){AC={}}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://devimages.apple.com/assets/elements/overlay/overlay_bg.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="/global/elements/blank.gif"}},overlayShadowImageSrc:function(){return(this._overlayShadowSrc)?this._overlayShadowSrc:this._defaultOverlayShadowSrc
},initialize:function(a,c,b,d){this.overlayId="OverlayPanel";this.overlayShadowId="OverlayPanelShadow";
this.createOverlay();b=b||"OverlayPanel";AC.ViewMaster.Viewer.prototype.initialize.call(this,null,this.swapViewElement,b,d);
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="/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,a){return false},superContentDidLoad:AC.ViewMaster.Viewer.prototype.contentDidLoad,contentDidLoad:function(a,c){document.body.appendChild(this.overlay);
this.superContentDidLoad(a,c);a.content.show();a.content.style.visibility="hidden";
a.content.removeClassName("overlaydescription");this.overlay.addClassName(a.id);
this.setOriginFromEvent(this.currentSectionEvent);this.setDefaults();var b=this;
this._isDisplaying=true;setTimeout(function(){b._display(a)},100)},_isDisplaying:false,_display:function(b){this.setDefaults();
this.setDimensions(this.currentSectionEvent,b.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(c,a,b){return this.superWillShow(c,a,b)
},superTriggerClicked:AC.ViewMaster.Viewer.prototype.triggerClicked,triggerClicked:function(a,b){if(a){Event.stop(a)
}this.superTriggerClicked(a,b);if(this._isDisplaying){return}this.setOverlayShadowImageSrc(null);
this._popPosition=null;this.currentSectionEvent=a},superShouldAnimateContentChange:AC.ViewMaster.Viewer.prototype.shouldAnimateContentChange,shouldAnimateContentChange:function(a,c,b){if(AC.Detector.isiPhone()){return false
}return this.superShouldAnimateContentChange(a,c,b)},willAnimate:function(d,a,c,b){},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(c,a){this._width=(a.offsetWidth>80)?80:a.offsetWidth;this.defaultWidth=a.offsetWidth;
var b=null;if(c){b=Element.cumulativeOffset(c.element())}if(b){this.left=b.left
}this.left=this.left||document.body.getDimensions().width/2;this.defaultHeight=a.offsetHeight;
this._height=Math.round((this._width*this.defaultHeight)/this.defaultWidth);if(b){this.top=b.top
}this.top=this.top||document.body.getDimensions().height/2;this.padleft=parseInt(Element.getStyle(a,"marginLeft").replace(/px/i,""));
this.padright=parseInt(Element.getStyle(a,"marginRight").replace(/px/i,""));this.padtop=parseInt(Element.getStyle(a,"marginTop").replace(/px/,""));
this.padbottom=parseInt(Element.getStyle(a,"marginBottom").replace(/px/,""))},windowSize:function(){var a=document.clientWidth||(document.documentElement.clientWidth||document.body.clientWidth);
var d=document.clientHeight||(document.documentElement.clientHeight||document.body.clientHeight);
var c=window.pageXOffset||(window.document.documentElement.scrollLeft||window.document.body.scrollLeft);
var b=window.pageYOffset||(window.document.documentElement.scrollTop||window.document.body.scrollTop);
if(AC.Detector.isiPhone()){a=parseInt(980);d=parseInt(1212)}return{width:a,height:d,x:c,y:b}
},popPosition:function(){if(!this._popPosition){var a,c=null;var b=this.windowSize();
a=b.x+(b.width-this.defaultWidth-this.padleft-this.padright)/2;if(b.width<this.defaultWidth+this.padleft+this.padright){a=b.x-(this.padtop-this.closeBtnContainer.offsetWidth)
}c=(b.y+(b.height-this.defaultHeight-this.padtop-this.padbottom)/2);if(b.height<this.defaultHeight+this.padtop+this.padbottom){c=b.y-(this.padtop-this.closeBtnContainer.offsetHeight)
}if(c<0||c<20){c=20}this._popPosition={left:a,top:c}}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(f,d,e,c,b){Element.setOpacity(this.overlay,0);
Element.setOpacity(this.overlayshadow,0);this._height=this._width*e/f;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 a=(100*f)/this._width;new Effect.Parallel([new Effect.MoveBy(this.overlay,d-this.top+this.padtop,c-this.left+this.padleft,{sync:true}),new Effect.Scale(this.overlay,a,{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,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(e){if(e){Event.stop(e)
}var a=this.defaultWidth;var c=this.overlay.offsetLeft;var d=this.defaultHeight;
var b=this.overlay.offsetTop;if(c>=0&&b>=0){this.willClose(this);setTimeout(this._closeOpenOverlay.bind(this,a,c,d,b),10)
}},_closeOpenOverlay:function(e,c,d,b){if(!AC.Detector.isiPhone()){var a=(100*this._width)/e;
new Effect.Parallel([new Effect.MoveBy(this.overlay,this.top-this.padtop-b,this.left-this.padleft-c,{sync:true}),new Effect.Scale(this.overlay,a,{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 a=1;var b=this.windowSize();
window.scroll(b.x+a,b.y+a);window.scroll(b.x,b.y)}});AC.OverlayScreen=Class.create();
Object.extend(AC.OverlayScreen.prototype,Event.Listener);Object.extend(AC.OverlayScreen.prototype,{initialize:function(a){this.listenForEvent(AC.ViewMaster,"ViewMasterWillShowNotification",false,this.willShow);
this.listenForEvent(a,"beforeClose",false,this.willClose)},screen:function(c){var e=$(document.documentElement);
var b=e.getDimensions();var a=b.width;if(document.body.clientWidth>a){a=document.body.clientWidth
}var d=b.height;if(document.body.clientHeight>d){d=document.body.clientHeight}this._screen=new Element("div",{id:"OverlayPanelScreen",className:"overlaypanelscreen",style:"position:absolute; display:none; top:0; left:0; width:"+a+"px; height:"+d+"px;"});
document.body.appendChild(this._screen);this._screen.observe("click",c.close.bindAsEventListener(c))
},escape:function(a){this._escape=Event.observe(window,"keyup",function(b){if(b.keyCode==Event.KEY_ESC){if(a.currentSection){a.close()
}}}.bind(a))},willShow:function(c){var a=c.event_data.data.sender;var b=c.event_data.data.incomingView;
if(a.overlay){if(!this._escape){this.escape(a)}if(b){if(!this._screen){this.screen(a)
}new Effect.Appear(this._screen,{duration:1,from:0,to:0.85})}}},willClose:function(d,a,c){var b=d.event_data.data;
if(b.overlay){new Effect.Fade(this._screen,{duration:0.3,afterFinish:function(e){e.element.setOpacity(0)
}})}}});Event.onDOMReady(function(){AC.OverlayPanel.overlay=new AC.OverlayPanel();
AC.OverlayPanel.overlayScreen=new AC.OverlayScreen(AC.OverlayPanel.overlay)});
