var Accordion=JS.Class({include:Ojay.Observable,initialize:function(E,D,C,B){var A=this.klass.directions[E];this._sections=Ojay(D).map(function(F){return new A(F,C,this,B)},this)},_expandSection:function(A){if(A==this._current){return }if(this._current){this._current.collapse()}this._current=A;this.notifyObservers("sectionexpand",A)},getSections:function(){return this._sections.slice()},extend:{Section:JS.Class({include:JS.State,extend:{EXPANDED:"expanded",COLLAPSED:"collapsed",HOVERED:"hovered",DURATION:0.4,EASING:"easeBoth"},initialize:function(D,C,A,B){this._accordion=A;this._element=Ojay(D);this._element.on("mouseover").addClass(this.klass.HOVERED);this._element.on("mouseout").removeClass(this.klass.HOVERED);this._element.on("click")._(this).expand();this._content=this._element.descendants(C);this._content.setStyle({overflow:"hidden"});if(B){this._dimension=B}},getContainer:function(){return this._element},states:{COLLAPSED:{expand:function(){this._element.replaceClass(this.klass.COLLAPSED,this.klass.EXPANDED);var A={};A[this.direction]={to:this._dimension};if(this._accordion){this._accordion._expandSection(this)}this.setState("EXPANDED");return this._content.animate(A,this.klass.DURATION,{easing:this.klass.EASING})._(this)},toggle:function(){return this.expand()}},EXPANDED:{collapse:function(A){var B={};B[this.direction]={to:0};this.setState("COLLAPSED");var B={};B[this.direction]=(A===false)?0:{to:0};this._element.replaceClass(this.klass.EXPANDED,this.klass.COLLAPSED);if(A!==false){return this._content.animate(B,this.klass.DURATION,{easing:this.klass.EASING})._(this)}else{return this._content.setStyle(B)._(this)}},toggle:function(){return this.collapse()}}}})}});Accordion.extend({HorizontalSection:JS.Class(Accordion.Section,{direction:"width",initialize:function(){this.callSuper();if(!this._dimension){this._dimension=this._content.getWidth()}this._element.addClass(this.klass.COLLAPSED);this.setState("EXPANDED");this.collapse(false)}}),VerticalSection:JS.Class(Accordion.Section,{direction:"height",initialize:function(){this.callSuper();if(!this._dimension){this._dimension=this._content.getHeight()}this._element.addClass(this.klass.COLLAPSED);this.setState("EXPANDED");this.collapse(false)}})});Accordion.extend({directions:{horizontal:Accordion.HorizontalSection,vertical:Accordion.VerticalSection}});function panel(B,D,C){var A=(typeof D=="function");C=C||Ojay.HTML;return C.div({className:"panel "+B},function(F){var E=F.div({className:"panel-c"},function(G){G.div({className:"panel-t"});if(A){D(G)}});if(!A){Ojay(E).insert(D,"bottom")}F.div({className:"panel-b"},function(G){G.div()})})}var Panel=new JS.Class({initialize:function(A,C,B){this._classes=A;this._block=C;this._HTML=B;this.getHTML()},getHTML:function(){if(this._html){return this._html}var B=this,C=B._classes,E=B._block,D=B._HTML;var A=(typeof E=="function");D=D||Ojay.HTML;this._html=Ojay(D.div({className:"panel"+(C?" "+C:"")},function(F){F.div({className:"panel-c"},function(G){G.div({className:"panel-t"});B._content=Ojay(G.div(function(H){if(A){E(H)}}))});if(!A){B._content.insert(E,"bottom")}F.div({className:"panel-b"},function(G){G.div()})}));return this.getHTML()},setContent:function(){this._content.setContent.apply(this._content,arguments);return this},insert:function(){this._content.insert.apply(this._content,arguments);return this}});Ojay.onDOMReady(function(){var A=new Ojay.PageMask({color:"#edeae5",opacity:0.7});var C=new Ojay.ContentOverlay({width:800,height:280});A.positionBehind(C);var B=Ojay(Ojay.HTML.div({className:"overlay-close"},"Close"));B.on("click")._(C).hide("zoom")._(A).hide("fade");C.getContainer().insert(B,"top");Ojay(".share-this-page, .page-tools").on("click",function(D,E){E.stopDefault();Ojay.HTTP.GET(D.node.href).insertInto(C)._(A).show("fade")._(C).center().show("zoom")});Ojay("body").on("click",Ojay.delegateEvent({".add-to-profile":function(D,E){E.stopDefault();Ojay.HTTP.GET(D.node.href);C.hide("zoom")._(A).hide("fade")}}));Ojay(".related-images").forEach(ImageGallery.method("fromHTML"))});function addToBookmarks(B,A){if((navigator.appName=="Microsoft Internet Explorer")&&(parseInt(navigator.appVersion)>=4)){window.external.AddFavorite(B,A)}else{if(navigator.appName=="Netscape"){window.sidebar.addPanel(A,B,"")}else{alert("To bookmark this page, press CTRL-D, if using Netscape, or CTRL-T ,if using Opera.")}}}Ojay.onDOMReady(function(){var A=new Ojay.PageMask({color:"#edeae5",opacity:0.7});var C=new Ojay.ContentOverlay({width:680,height:620});A.positionBehind(C);var B=Ojay(Ojay.HTML.div({className:"overlay-close"},"Close"));B.on("click")._(C).hide("zoom")._(A).hide("fade");C.getContainer().insert(B,"top");Ojay("a.video").on("click",function(D,E){E.stopDefault();Ojay.HTTP.GET(D.node.href).insertInto(C).evalScripts()._(A).show("fade")._(C).center().show("fade")})});var ImageGallery=new JS.Class({extend:{OVERLAY_WIDTH:843,OVERLAY_HEIGHT:680,THUMBS_PER_PAGE:6,fromHTML:function(C){C=Ojay(C);var B=C.descendants("a"),A=[];B.forEach(function(E){var D=E.descendants("img");if(D.node){A.push(new this.Image(D.node.src,E.node.href,E,D.node.alt))}},this);return new this(A)},Image:new JS.Class({initialize:function(C,B,A,D){this._thumbPath=C;this._fullPath=B;this._trigger=Ojay(A);this._alt=D||""},getHTML:function(A){var B=this;var C=Ojay(Ojay.HTML.div({className:"thumbnail"},function(D){D.img({src:B._thumbPath,alt:B._alt})}));C.on("click")._(A).setImage(this);this._trigger.on("click",Ojay.stopDefault)._(A).setImage(this);return C}})},initialize:function(A){this._images=A;this._elements={};this._overlay=new Ojay.ContentOverlay({className:"image-gallery",width:this.klass.OVERLAY_WIDTH,height:this.klass.OVERLAY_HEIGHT});var C=this;this._panel=new Panel("drop-shadow-panel",function(D){C._elements._prev=Ojay(D.div({className:"image-previous"},"Previous"));C._elements._next=Ojay(D.div({className:"image-next"},"Next"));D.div({className:"display"},function(E){C._elements._display=E.img()});C._elements._thumbs=Ojay(D.div({className:"thumbs"}))});this._overlay.insert(this._panel.getHTML());this.setImage(0,false);C._elements._prev.on("click")._(this).decrement();C._elements._prev.on("mouseover").addClass("hovered hovered-image-previous");C._elements._prev.on("mouseout").removeClass("hovered hovered-image-previous");C._elements._next.on("click")._(this).increment();C._elements._next.on("mouseover").addClass("hovered hovered-image-next");C._elements._next.on("mouseout").removeClass("hovered hovered-image-next");var B=Ojay(Ojay.HTML.div({className:"close-button"},"Close"));B.on("click")._(this._overlay).hide("fade");this._overlay.getContainer().insert(B,"top");this._images.forEach(function(D){this._elements._thumbs.insert(D.getHTML(this))},this)},setImage:function(B,A){if(A!==false){this._overlay.center().show("fade")._(function(){if(this._pager){return }this._pager=new Ojay.Paginator(this._elements._thumbs,{direction:"horizontal",columns:this.klass.THUMBS_PER_PAGE,rows:1});this._pager.setup();var C=this._pager.addControls("before");C.getPreviousButton().on("mouseover").addClass("hovered-previous");C.getPreviousButton().on("mouseout").removeClass("hovered-previous");C.getNextButton().on("mouseover").addClass("hovered-next");C.getNextButton().on("mouseout").removeClass("hovered-next")}.bind(this))}if(typeof B=="number"){B=this._images[B]}this._index=this._images.indexOf(B);this._elements._display.src=B._fullPath;this._elements._display.alt=B._alt},increment:function(){if(this._index==this._images.length-1){return }this._index+=1;this.setImage(this._index)},decrement:function(){if(this._index==0){return }this._index-=1;this.setImage(this._index)}});if(window.GUnload){Ojay(window).on("unload",GUnload)}if(window.GMap2){JS.MethodChain.addMethods(GMap2)}LocationPicker=new JS.Class({extend:{WIDTH:600,HEIGHT:400,CONTAINER_CLASS:"location-picker",DEFAULT_LATITUDE:51.498945,DEFAULT_LONGITUDE:-0.080874,ZOOM_LEVEL:15,PRECISION:6,round:function(B){var A=Math.pow(10,this.PRECISION);return Math.round(B*A)/A},getGeocoder:function(){return this._9=this._9||new GClientGeocoder()}},initialize:function(C,B,A){this._3=Ojay(Ojay.HTML.div({className:this.klass.CONTAINER_CLASS}));this._4=A||{};this._5={};this._6=Ojay(this._4.latField).node;this._7=Ojay(this._4.lngField).node;Ojay(B).insert(this.getHTML(),C);this._0=new GMap2(this._5._0.node);this._0.enableScrollWheelZoom();this._0.enableContinuousZoom();this._0.disableDoubleClickZoom();this._0.addControl(new GSmallMapControl());GEvent.addListener(this._0,"dblclick",function(E,D){this._2=D;this.positionMarker()}.bind(this));this.pullLocation()},getHTML:function(){var A=this._5;if(A._3){return A._3}A._3=Ojay(Ojay.HTML.div({className:this.klass.CONTAINER_CLASS},function(B){A._a=Ojay(B.form(function(C){A._8=C.input({type:"text"});A._b=Ojay(C.button("Search"))}));A._0=Ojay(B.div())}));A._0.setStyle({width:(this._4.width||this.klass.WIDTH)+"px",height:(this._4.height||this.klass.HEIGHT)+"px"});A._a.on("submit",Ojay.stopDefault)._(this).search();return A._3},pullLocation:function(){var B=(this._6||{}).value,A=(this._7||{}).value;if(!B){B=this.klass.DEFAULT_LATITUDE}if(!A){A=this.klass.DEFAULT_LONGITUDE}this._2=new GLatLng(Number(B),Number(A));this._0.setCenter(this._2,this.klass.ZOOM_LEVEL);this.positionMarker()},pushLocation:function(){var A=this._1.getLatLng();(this._6||{}).value=this.klass.round(A.lat());(this._7||{}).value=this.klass.round(A.lng())},getMarker:function(){if(this._1){return this._1}this._1=new GMarker(this._2,{draggable:true});this._1.enableDragging();GEvent.addListener(this._1,"dragend",this.method("pushLocation"));this._0.addOverlay(this._1);return this._1},positionMarker:function(){this.getMarker().setLatLng(this._2);this.pushLocation()},search:function(){this.klass.getGeocoder().getLocations(this._5._8.value,function(B){var A=B.Placemark[0];if(!A){return }var F=A.Point.coordinates,E=A.ExtendedData.LatLonBox,D=new GLatLngBounds(new GLatLng(E.south,E.west),new GLatLng(E.north,E.east)),C=this._0.getBoundsZoomLevel(D);this._2=new GLatLng(F[1],F[0]);this._0.setCenter(this._2,C);this.positionMarker()}.bind(this))},setAddress:function(A){this._5._8.value=A}});PanelOverlay=new JS.Class(Ojay.ContentOverlay,{initialize:function(B){this._panel=new Panel("drop-shadow-panel");var A=Ojay(Ojay.HTML.div({className:"close-button"},"Close"));this.callSuper();this.getContainer().insert(A,"top");A.on("click")._(this).hide("fade");this.getContentElement().insert(this._panel.getHTML())},setContent:function(){this._panel.setContent.apply(this._panel,arguments);return this},insert:function(){this._panel.insert.apply(this._panel,arguments);return this}})