// JavaScript Document

if(typeof (AC)=="undefined"){AC={}}AC.Bureau=Class.create();Object.extend(AC.Bureau.prototype,Event.Listener);Object.extend(AC.Bureau.prototype,{drawers:null,container:null,triggerTimeout:null,initialize:function(A){this.drawers=[];this.container=$(A)},addDrawer:function(A){},getDrawerCount:function(){return this.drawers.length},hasDrawers:function(){return(this.drawers.length>0)},getFirstDrawer:function(){return this.drawers[0]||null},getLastDrawer:function(){return this.drawers[this.drawers.length-1]||null},scheduleTrigger:function(B,A){this.triggerTimeout=setTimeout(B,A)},clearTrigger:function(){clearTimeout(this.triggerTimeout)}});AC.Drawer=Class.create();Object.extend(AC.Drawer.prototype,Event.Publisher);Object.extend(AC.Drawer.prototype,{bureau:null,contentElement:null,handle:null,indicator:null,isOpen:true,beforeOpen:null,afterOpen:null,beforeClose:null,afterClose:null,transitionDuration:0.3,triggerDelay:0,initialize:function(F,D,B,C){this.contentElement=$(F);this.handle=$(D);this.bureau=B;var E="click";if(C!==null&&typeof (C)!="undefined"){this.beforeOpen=C.beforeOpen;this.afterOpen=C.afterOpen;this.beforeClose=C.beforeClose;this.afterClose=C.afterClose;if(typeof (C.triggerEvent)!="undefined"){E=C.triggerEvent}if(typeof (C.triggerDelay)!="undefined"){this.triggerDelay=C.triggerDelay}if(typeof (C.transitionDuration)!="undefined"){this.transitionDuration=C.transitionDuration}}if(AC.Detector.isiPhone()){this.transitionDuration=0;E="click"}Element.addClassName(this.contentElement,"last");var A=function(G){if(AC.Detector.isiPhone()&&(this.isOpen&&(this.isVisible===true))&&this.handle.tagName.match(/a/i)){return }Event.stop(G);if(this.triggerDelay>0){var H=this.trigger.bind(this);B.scheduleTrigger(H,this.triggerDelay)}else{this.trigger()}};Event.observe(this.handle,E,A.bind(this),false);Event.observe(this.handle,"mouseout",B.clearTrigger.bind(B),false)},toggle:function(){},open:function(){},close:function(){}});AC.SlidingBureau=Class.create();Object.extend(AC.SlidingBureau.prototype,AC.Bureau.prototype);Object.extend(AC.SlidingBureau.prototype,{isLocked:false,addDrawer:function(B){Element.addClassName(B.contentElement,"last");Element.addClassName(B.handle,"last");if(this.hasDrawers()){var A=this.getLastDrawer();A.setNextDrawer(B);B.setPreviousDrawer(A)}else{Element.addClassName(B.contentElement,"first");Element.addClassName(B.handle,"first")}this.listenForEvent(B,"beforeOpen",false,function(C){var D=C.event_data.data;this.open(D)});this.listenForEvent(B,"afterOpen",false,function(C){var D=C.event_data.data;this.acknowledgeOpened(D)});this.listenForEvent(B,"beforeClose",false,function(C){var D=C.event_data.data;this.close(D)});this.listenForEvent(B,"afterClose",false,function(C){var D=C.event_data.data;this.acknowledgeClosed(D)});if(!Element.hasClassName(B.contentElement,"open")){B.initiateClose()}else{this.currentDrawer=B}this.drawers.push(B)},open:function(A){if(this.isLocked){return }this.isLocked=true;var C=0;if(Element.getStyle(this.container,"position")=="relative"){var B=Element.getDimensions(this.container);Element.setStyle(this.container,{height:B.height+"px"});this.wedgeDrawersAfter(A);C=Element.getStyle(A.contentElement,"min-height");if(C){Element.setStyle(A.contentElement,{"min-height":"0px",height:C})}}if(this.currentDrawer){this.currentDrawer.initiateClose()}A.open(C)},acknowledgeOpened:function(A){this.currentDrawer=A;if(Element.getStyle(this.container,"position")=="relative"){if(!AC.Detector.isIEStrict()){Element.setStyle(this.container,{height:"auto"})}this.unwedgeDrawers()}this.isLocked=false},close:function(A){var B=0;if(Element.getStyle(this.container,"position")=="relative"){B=Element.getStyle(A.contentElement,"min-height");if(B){Element.setStyle(A.contentElement,{height:B,"min-height":"0px"})}}A.close(B)},acknowledgeClosed:function(A){if(A==this.currentDrawer){this.currentDrawer=null}},wedgeDrawersAfter:function(D){var A=function(E,F){Element.setStyle(E.handle,{position:"absolute",bottom:F+"px"})};var B=this.getLastDrawer();var C=0;while(B!=this.currentDrawer&&B!=D){A(B,C);C+=B.handle.getHeight();B=B.previousDrawer}},unwedgeDrawers:function(){for(var A=this.drawers.length-1;A>=0;A--){Element.setStyle(this.drawers[A].handle,{position:"static"})}}});AC.SlidingDrawer=Class.create();Object.extend(AC.SlidingDrawer.prototype,AC.Drawer.prototype);Object.extend(AC.SlidingDrawer.prototype,{isOpen:true,isTransitioning:false,setNextDrawer:function(A){this.nextDrawer=A;Element.removeClassName(this.contentElement,"last");Element.removeClassName(this.handle,"last")},setPreviousDrawer:function(A){this.previousDrawer=A},trigger:function(){this.toggle()},toggle:function(){if(!this.isOpen){this.initiateOpen()}},initiateOpen:function(){if(this.isTransitioning||this.isOpen){return }this.dispatchEvent("beforeOpen",this)},open:function(C){this.isTransitioning=true;if(typeof (this.beforeOpen)=="function"){this.beforeOpen(this)}Element.addClassName(this.contentElement,"open");Element.addClassName(this.handle,"open");var B=function(){this.isOpen=true;if(C){Element.setStyle(this.contentElement,{"min-height":C});if(!AC.Detector.isIEStrict()){Element.setStyle(this.contentElement,{"height":"auto"})}}this.dispatchEvent("afterOpen",this);this.isTransitioning=false;if(typeof (this.afterOpen)=="function"){this.afterOpen(this)}}.bind(this);if(AC.Detector.isiPhone()){this.contentElement.show();B()}else{var A=new Effect.BlindDown(this.contentElement,{duration:this.transitionDuration,afterFinish:B})}},initiateClose:function(A){if(this.isTransitioning||!this.isOpen){return }this.dispatchEvent("beforeClose",this)},close:function(C){this.isTransitioning=true;if(typeof (this.beforeClose)=="function"){this.beforeClose(this)}var B=function(){this.isOpen=false;Element.removeClassName(this.contentElement,"open");Element.removeClassName(this.handle,"open");if(C){Element.setStyle(this.contentElement,{"min-height":C});if(!AC.Detector.isIEStrict()){Element.setStyle(this.contentElement,{"height":"auto"})}}this.dispatchEvent("afterClose",this);this.isTransitioning=false;if(typeof (this.afterClose)=="function"){this.afterClose(this)}}.bind(this);if(AC.Detector.isiPhone()){this.contentElement.hide();B()}else{var A=new Effect.BlindUp(this.contentElement,{duration:this.transitionDuration,afterFinish:B})}}});AC.ShingleBureau=Class.create();Object.extend(Object.extend(AC.ShingleBureau.prototype,AC.Bureau.prototype),{drawerDuration:0.5,addDrawer:function(B){if(this.hasDrawers()){var A=this.getLastDrawer();A.setNextDrawer(B);B.setPreviousDrawer(A);B.closedOffset=A.closedOffset+A.getHandleHeight()-10}else{Element.addClassName(B.contentElement,"first");B.closedOffset=0-B.getHeight()+B.getHandleHeight()-10;B.indicateVisible()}this.drawers.push(B)},getWidth:function(){return Element.getWidth(this.container)},getHeight:function(){return Element.getHeight(this.container)},moveDrawer:function(C,A,D){var B=new Effect.Move(C,{x:A,y:D,mode:"absolute",transition:Effect.Transitions.sinoidal,duration:this.drawerDuration})}});AC.ShingleDrawer=Class.create();Object.extend(Object.extend(AC.ShingleDrawer.prototype,AC.Drawer.prototype),{openedOffset:0,closedOffset:0,previousDrawer:null,nextDrawer:null,isVisible:false,trigger:function(){if(!this.isVisible){this.open(true);this.indicateVisible()}},toggle:function(){if(!this.isOpen){this.open();this.indicateVisible()}else{this.close()}},open:function(A){if(this.isOpen&&!A){return }if(this.previousDrawer!==null){this.previousDrawer.close();this.previousDrawer.indicateObscured()}if(this.nextDrawer!==null){this.nextDrawer.open();this.nextDrawer.indicateObscured()}this.indicateVisible();this.isOpen=true;this.bureau.moveDrawer(this.contentElement,0,this.openedOffset)},close:function(A){if(!this.isOpen){return }if(this==this.bureau.getLastDrawer()){return }if(this.previousDrawer!==null){this.previousDrawer.close()}this.bureau.moveDrawer(this.contentElement,0,this.closedOffset);this.indicateObscured();this.isOpen=false},setPreviousDrawer:function(A){this.previousDrawer=A;this.indicateObscured();this.openedOffset=this.previousDrawer.openedOffset+this.previousDrawer.getHandleHeight()-10;Element.setStyle(this.contentElement,{top:this.openedOffset+"px"})},setNextDrawer:function(A){this.nextDrawer=A;Element.removeClassName(this.contentElement,"last");if(this.previousDrawer!==null){this.previousDrawer.setNextDrawer(this)}zIndex=parseInt(Element.getStyle(this.contentElement,"zIndex"),10);Element.setStyle(this.contentElement,{"zIndex":zIndex+1})},indicateObscured:function(){Element.addClassName(this.contentElement,"obscured");this.isVisible=false},indicateVisible:function(){this.isVisible=true;Element.removeClassName(this.contentElement,"obscured")},getHandleWidth:function(){return Element.getWidth(this.handle)},getHandleHeight:function(){return Element.getHeight(this.handle)},getWidth:function(){return Element.getWidth(this.contentElement)},getHeight:function(){return Element.getHeight(this.contentElement)}});AC.SectionBureau=Class.create();Object.extend(AC.SectionBureau.prototype,AC.Bureau.prototype);Object.extend(AC.SectionBureau.prototype,{currentDrawer:null,locked:false,addDrawer:function(A){this.drawers.push(A);Element.addClassName(A.handle,"obscured");Element.hide(A.contentElement)},openingDrawer:function(A){if(this.currentDrawer!==null){this.currentDrawer.close()}this.currentDrawer=A}});AC.SectionDrawer=Class.create();Object.extend(AC.SectionDrawer.prototype,AC.Drawer.prototype);Object.extend(AC.SectionDrawer.prototype,{isOpen:false,trigger:function(){this.toggle()},toggle:function(){if(!this.isOpen){this.open()}},open:function(){if(this.bureau.locked){return }var B=function(){Element.show(this.contentElement)}.bind(this);if(typeof (this.afterOpen)=="function"){this.bureau.locked=true;B=this.afterOpen.bind(this)}this.bureau.openingDrawer(this);if(typeof (this.beforeOpen)=="function"){this.beforeOpen()}this.isOpen=true;Element.removeClassName(this.handle,"obscured");var A=new Effect.Appear(this.contentElement,{afterFinish:B,duration:this.transitionDuration,queue:{scope:"sectionalscope"}})},close:function(){if(typeof (this.beforeClose)=="function"){this.beforeClose()}this.isOpen=false;Element.addClassName(this.handle,"obscured");var A=function(){if(typeof (this.afterClose)=="function"){this.afterClose()}}.bind(this);var B=new Effect.Fade(this.contentElement,{afterFinish:A,duration:this.transitionDuration,queue:{scope:"sectionalscope"}})},reportFinishedOpening:function(){this.bureau.locked=false}})
