"tour.widgets".namespace();

tour.widgets.ButtonBar=Class.create();tour.widgets.ButtonBar.prototype={CONFIG:{bar:null,panelContainer:null,barHandleSelector:"a",activeHandleClass:"active",activeHandleSelector:"a",panelSelector:".panel",activePanelClass:"active",preventDefault:false},initialize:function(a){this.CONFIG=Object.extend(this.CONFIG,a);this.DOM={};this.DOM.bar=$(this.CONFIG.bar).observe("click",this.bar_onClick.bindAsEventListener(this));this.DOM.panelContainer=$(this.CONFIG.panelContainer);this.DOM.handles=this.DOM.bar.select(this.CONFIG.barHandleSelector);this.DOM.panels=this.DOM.panelContainer.select(this.CONFIG.panelSelector);for(var b=0;b<this.DOM.handles.length;++b){this.DOM.handles[b].panel=this.DOM.panels[b]}this.activeHandle=this.DOM.bar.down(this.CONFIG.activeHandleClass);if(!this.activeHandle){this.activeHandle=this.DOM.handles[0].addClassName(this.CONFIG.activeHandleClass);this.activeHandle.panel=this.DOM.panels[0].addClassName(this.CONFIG.activePanelClass)}},bar_onClick:function(b){var a=b.element();if(a.match(this.CONFIG.barHandleSelector)){this.activeHandle.panel.removeClassName(this.CONFIG.activePanelClass);this.activeHandle.panel.hide();this.activeHandle.up(this.CONFIG.activeHandleSelector).removeClassName(this.CONFIG.activeHandleClass);a.panel.addClassName(this.CONFIG.activePanelClass);a.panel.show();a.up(this.CONFIG.activeHandleSelector).addClassName(this.CONFIG.activeHandleClass);this.activeHandle=a}if(this.CONFIG.preventDefault){b.preventDefault()}}};tour.widgets.SelfLabeledInput=Class.create();tour.widgets.SelfLabeledInput.prototype={initialize:function(a){this.input=$(a);this.form=this.input.up("form");this.form.observe("submit",this.form_onSubmit.bindAsEventListener(this));if(!this.input){return}if(this.input.value==""||this.input.value==this.input.title){this.input.value=this.input.title;this.input.addClassName("sl-inactive");this.onFocus=this.onFocus.bind(this);this.onBlur=this.onBlur.bind(this);this.onChange=this.onChange.bind(this);this.input.observe("focus",this.onFocus);this.input.observe("blur",this.onBlur);this.input.observe("change",this.onChange)}},onFocus:function(){if(!this.changed){this.input.value="";this.input.removeClassName("sl-inactive")}},onBlur:function(){if(!this.chaged){this.input.addClassName("sl-inactive");this.input.value=this.input.title}},onChange:function(){this.changed=true;this.input.removeClassName("sl-inactive");this.input.stopObserving("focus",this.onFocus);this.input.stopObserving("blur",this.onBlur);this.input.stopObserving("change",this.onChange)},form_onSubmit:function(a){if(this.input.value==this.input.title){this.input.value=""}}};tour.widgets.SlideShow=Class.create();tour.widgets.SlideShow.prototype={CONFIG:{slideDuration:8,slideSelector:".trip-ss-slide",nextSelector:".trip-ss-next",prevSelector:".trip-ss-prev",pauseOnMouseOver:false},initialize:function(a,b){this.CONFIG=Object.extend(this.CONFIG,b);this.DOM={};this.DOM.container=$(a);this.DOM.slides=this.DOM.container.select(this.CONFIG.slideSelector).each(function(c,d){if(d>0){c.hide()}},this);if(this.DOM.slides.length<=1){this.DOM.container.down(this.CONFIG.nextSelector).hide();this.DOM.container.down(this.CONFIG.prevSelector).hide();return}this.activeSlideIndex=0;this.prepare();this.start()},prepare:function(){this.DOM.container.observe("click",this.container_onClick.bindAsEventListener(this));if(this.CONFIG.pauseOnMouseOver){this.DOM.container.observe("mouseenter",function(a){this.pe.stop()}.bindAsEventListener(this));this.DOM.container.observe("mouseleave",function(a){this.nextSlide();this.start()}.bindAsEventListener(this))}},nextSlide:function(){var a=this.activeSlideIndex;this.activeSlideIndex++;if(this.activeSlideIndex>this.DOM.slides.length-1){this.activeSlideIndex=0}this.swapSlides(a,this.activeSlideIndex)},prevSlide:function(){var a=this.activeSlideIndex;this.activeSlideIndex--;if(this.activeSlideIndex<0){this.activeSlideIndex=this.DOM.slides.length-1}this.swapSlides(a,this.activeSlideIndex)},container_onClick:function(b){var a=b.element();if(a.match(this.CONFIG.nextSelector)){b.stop();this.pe.stop();this.nextSlide()}else{if(a.match(this.CONFIG.prevSelector)){b.stop();this.pe.stop();this.prevSlide()}}},swapSlides:function(a,b){if(a<this.DOM.slides.length&&a>=0&&b<this.DOM.slides.length&&b>=0){new Effect.Parallel([new Effect.Fade(this.DOM.slides[a],{queue:{position:"end",scope:"slideshow"}}),new Effect.Appear(this.DOM.slides[b],{queue:{position:"end",scope:"slideshow"}})])}},start:function(){this.pe=new PeriodicalExecuter(this.nextSlide.bind(this),this.CONFIG.slideDuration)},cancelAnimation:function(){var a=Effect.Queues.get("slideshow");a.each(function(b){b.cancel()})}};Event.observe(document,"dom:loaded",function(){$$("input.self-label").each(function(a){new tour.widgets.SelfLabeledInput(a)})});

tour.widgets.CityGuideMenu=Class.create();tour.widgets.CityGuideMenu.prototype={DOM:{},initialize:function(){this.DOM.trigger=$("trip-more-cities-trigger");this.DOM.menu=$("trip-sh-more-cities");if(!this.DOM.trigger||!this.DOM.menu){return}this.trigger_onClick=this.trigger_onClick.bindAsEventListener(this);this.DOM.trigger.observe("click",this.trigger_onClick);this.document_onClick=this.document_onClick.bind(this)},trigger_onClick:function(a){if(this.effect){this.effect.cancel()}document.observe("click",this.document_onClick);this.DOM.trigger.stopObserving("click",this.trigger_onClick);this.effect=new Effect.BlindDown(this.DOM.menu,{duration:0.3});a.stop()},document_onClick:function(){if(this.effect){this.effect.cancel()}document.stopObserving("click",this.document_onClick);this.DOM.trigger.observe("click",this.trigger_onClick);this.effect=new Effect.BlindUp(this.DOM.menu,{duration:0.3})}};Event.observe(document,"dom:loaded",function(){new tour.widgets.CityGuideMenu()});

tour.widgets.SearchForm=Class.create();tour.widgets.SearchForm.prototype={DOM:{},autoComplete_where:null,initialize:function(){this.DOM.ac_where=$("ac_where");this.DOM.search_where=$("search_where");if(this.DOM.ac_where&&this.DOM.search_where){this.autoComplete_where=new Ajax.Autocompleter(this.DOM.search_where,this.DOM.ac_where,"/find_locations.php?page=ajaxsearch",{paramName:"l",minChars:2})}}};Event.observe(document,"dom:loaded",function(){if($("trip-search")){new tour.widgets.SearchForm()}});



