var AgeGate=new Class({Implements:[Options],fired:[],failed_verification:false,options:{failed_title:"Access Denied.",failed_text:"Access Denied.",cookie:{duration:14}},initialize:function(){this.container=document.id("container");this.cover=document.id("cover");this.sections=this.container.getElements(".agegate_list");this.title=this.container.getElement(".agegate_title");this.form=this.container.getElement("form");this.month=this.form.getElement(".month");this.day=this.form.getElement(".day");this.year=this.form.getElement(".year");this.submit=this.form.getElement(".submit");this.inputs=$$(this.month,this.day,this.year);this.failed=this.container.getElement(".agegate_failed");this.age_gate=18;if(Cookie.read("selector_verified")=="false"){this.$build().$showSection(0).$showSection(1).$showSection(2).$failedVerification(false,700)}else{this.$build().$showSection(0)}},$build:function(){var self=this,left=0,date_obj=new Date(),to_page=function(link){if(!self.failed_verification){self.$passedVerification()}};this.failed.setStyle("opacity",0);this.submit.setStyles({display:"none",opacity:0});function formEvent(event){event.stop();var entered_date=new Date(),x_years_ago=new Date(),year_ago=x_years_ago.getFullYear();x_years_ago.setFullYear(year_ago-self.age_gate);entered_date.setFullYear(self.year.get("value"),self.month.get("value")-1,self.day.get("value"));if(entered_date<=x_years_ago){self.language_code="en-us";self.$passedVerification();self.transitionOut()}else{self.$failedVerification(true)}}this.sections.each(function(section,index){var languages=section.getElements("> .language"),links=languages.getElement(".age_gate_link"),width=section.getStyle("width").toInt();links=links.filter(function(set){return typeOf(set)=="element"});section.store("links",links).store("languages",languages).store("width",width);links.each(function(link){var bullet=new Element("span.bullet").setStyle("opacity",0);bullet.inject(link,"top");bullet.set("morph",{duration:150,transition:"quad:in:out",link:"cancel"});link.addEvent("mouseenter",function(e){this.getElement("span.bullet").morph({opacity:1})});link.addEvent("mouseleave",function(e){this.getElement("span.bullet").morph({opacity:0})});link.addEvent("click",function(e){var href=this.get("href"),next=index+1;e.stop();links.removeClass("default").removeClass("selected");links.addClass("not_selected");this.addClass("selected");links.getElement("span.bullet").morph({opacity:0});this.getElement("span.bullet").morph({opacity:1});this.removeEvents("mouseleave");this.removeEvents("mouseenter");if(href=="#"){if(!self.fired.contains(next)){self.$showSection(next)}}else{var callback=to_page.pass([href],this);self.language_code=this.get("data-country").toLowerCase();self.$passedVerification();self.transitionOut()}})});languages.setStyles({opacity:0,display:"none"});section.setStyle("left",left);left=width});new DigitCheck(this.month,{min:1,max:12,max_length:2});new DigitCheck(this.day,{min:1,max:31,max_length:2});new DigitCheck(this.year,{min:1,max:date_obj.getFullYear(),max_length:4});this.inputs.addEvents({keyup:function(event){var total=0;btn="none",opacity=0;self.inputs.each(function(input){if(input.get("value")!==input.get("data-default-text")){total+=input.get("value").length}});if(total>=6&&self.year.get("value").length==4){btn="inline";opacity=1;self.form.addEvent("submit",formEvent)}else{btn="none";opacity=0;self.form.removeEvent("submit",formEvent)}self.submit.morph({display:btn,opacity:opacity})},blur:function(event){if(this.get("value").trim()==""){this.set("value",this.get("data-default-text"))}},focus:function(event){if(this.get("value")==this.get("data-default-text")){this.set("value","")}}});return this},$fadeOut:function(callback){callback();return this},$setTitle:function(title){this.title.set("text",title);return this},$failedVerification:function(animate,errDelay){var errDelay=errDelay||0;var self=this,error=function(){var form_tween=self.form.get("tween");var cover_tween=self.cover.get("tween");self.cover.setStyle("display","block");form_tween.start("opacity",0.7);cover_tween.start("opacity",0.3);self.title.setStyle("color","#f00");self.$setTitle(self.options.failed_title);self.inputs.each(function(input){input.blur()})};this.form.removeEvents("submit");Cookie.write("selector_verified","false",this.options.cookie);Cookie.dispose("country",this.options.cookie);this.failed_verification=true;error.delay(errDelay);return this},$passedVerification:function(){Cookie.write("selector_verified","true",this.options.cookie);Cookie.write("country",this.language_code,this.options.cookie);return this},$showSection:function(index,callback){callback=callback||function(){};var self=this,prev=index-1,section=this.sections[index],links=section.retrieve("links"),languages=section.retrieve("languages"),width=section.retrieve("width"),duration=200;this.fired.push(index);if(index>0){section.setStyle("border-left","1px solid #2d2d2d");var left=42,title_morph=this.title.get("morph");if(index==2){left=34}this.sections.each(function(sec,i){if(i<=prev){left+=sec.retrieve("width")}});title_morph.start({left:left,opacity:0}).chain(function(){self.$setTitle(section.get("data-section-title"));title_morph.start({opacity:1})});this.container.morph({width:width+this.container.getSize().x})}else{this.$setTitle(section.get("data-section-title"));this.transitionIn()}languages.each(function(lang,i){var tween=lang.get("tween");tween.options.duration=duration+(i*250);lang.setStyle("display","block");tween.start("opacity",1).chain(function(){if(i==languages.length-1){callback()}})});return this},transitionIn:function(){var self=this;var tween=this.cover.get("tween");tween.options.duration=1200;tween.options.link="cancel";tween.start("opacity",0).chain(function(){self.cover.setStyle("display","none")})},transitionOut:function(){var self=this;var tween=self.cover.get("tween");self.cover.setStyle("display","block");tween.options.duration=1200;tween.options.link="cancel";tween.start("opacity",1).chain(function(){if(window.location.href.contains("change_language")){window.location="/"}else{window.location.reload()}})}});
