var LocationPicker=new Class({Implements:[Options,Events],options:{animation:{duration:400,transition:"back:out",start:{opacity:0.95,"margin-top":[-40,0]},end:{opacity:0,"margin-top":[0,10]}},cookieName:"location"},initialize:function(a){this.setOptions(a);this.triggers=this.options.triggerSelector;this.forceLocation=this.options.forceLocationClass;this.selectedLocation=this.options.selectedLocationEl;this.picker={el:$empty,fx:$empty};this.hijackEvent()},replaceZone:function(a){var b=a.el.get("href").split("/"), c=b.indexOf("country")+1;c||$log("Segment 'zone' doesn't seem to exist");b[c]=a.id;b=b.join("/");document.location.href=b},setLocation:function(a,b){Cookie.write(this.options.cookieName,b.id,{domain:this.options.baseUrl,path:"/"});this.replaceZone($merge(b,{el:this.currentTrigger}));a.fireEvent("outerClick")},checkLocation:function(){return Cookie.read(this.options.cookieName)},hijackEvent:function(){this.createPicker(this);this.triggers.each(function(a){a.addEvents({click:function(b){if(!this.checkLocation()|| $(b.target).hasClass(this.forceLocation))this.togglePicker(a,b)}.bind(this)})},this)},createPicker:function(){var a=this;this.picker.el=new Element("div",{"class":"pickerCont",styles:{opacity:0}});this.picker.fx=new Fx.Morph(this.picker.el,this.options.animation);this.options.pickerHtml||$log("No HTML for the picker was defined.");this.picker.el.adopt(Elements.from(this.options.pickerHtml));this.picker.el.inject($(document.body));this.picker.el.addEvents({outerClick:function(){this.start(a.options.animation.end)}.bind(this.picker.fx)}); this.picker.el.getElement("select").addEvents({change:function(){var b={id:this.getSelected().get("value").pop(),name:this.getSelected().get("text").pop()};a.setLocation(a.picker.el,b)}})},togglePicker:function(a,b){b.stop();this.currentTrigger=a;this.picker.el.setStyle("opacity",0);this.picker.el.position({relativeTo:a,position:"bottomLeft",edge:"topLeft",offset:{y:5}});this.picker.fx.start(this.options.animation.start)}});
