var Features=new Class({Implements:[Options,Events],options:{slides:[],links:[],delay:5,shuffle:true,effect:"Quart",duration:1,directory:"images/features/"},slides:[],links:[],fader:null,initialize:function(options){this.setOptions(options);this.transition=eval("Fx.Transitions."+this.options.effect+".easeInOut");this.slides=this.options.slides;this.links=this.options.links.associate(this.options.slides);if(this.options.shuffle){this.options.slides.shuffle()}this.start(this.options.delay,this.transition,this.options.duration,this.options.directory)},start:function(b,c,f,a){var d=0;new Element("img",{src:root+"images/loader.gif",alt:"",id:"features-loader"}).inject($("mid-features"));$("features-loader").fade(0,1);var e=new Asset.images(this.slides,{onComplete:function(){$("features-loader").fade(1,0);for(i=0;i<this.slides.length;i++){new Element("img",{src:root+a+this.slides[i],alt:"",id:"img"+i,href:""+this.links[this.slides[i]]+""}).inject($("mid-features"));$("img"+i).addClass("mid-features-img");$("features-loader").fade(1,0);startImg=new Fx.Tween("img0",{property:"opacity",duration:(f*1000),transition:c});startImg.start(0,1);if(i>0){$("img"+i).set("opacity",0)}$("img"+i).addEvent("click",function(g){window.location=g.target.get("href")})}this.fader=function(){layerA=new Fx.Tween("img"+d,{property:"opacity",duration:(f*1000),transition:c});d=d<(this.slides.length-1)?(d+1):0;layerB=new Fx.Tween("img"+d,{property:"opacity",duration:(f*1000),transition:c});layerA.start(1,0);layerB.start(0,1)}.bind(this).periodical(b*1000)}.bind(this)})}});Array.implement({shuffle:function(){this.sort(function(){return Math.floor(Math.random()*3)-1});return this}});var Menus=new Class({Implements:[Options,Events],options:{colorIn:"#66CC00",colorOut:"#fff",effect:"Quart",duration:0.15},initialize:function(target,options){this.setOptions(options);this.transitions=eval("Fx.Transitions."+this.options.effect+".easeInOut");$("logo").addEvent("click",function(){window.location=root});$$("#"+target+" a").addEvents({mouseover:function(e){menufx=new Fx.Tween(e.target,{property:"color",duration:this.options.duration*1000,transition:this.transitions});menufx.start(this.options.colorIn)}.bind(this),mouseleave:function(e){menufx=new Fx.Tween(e.target,{property:"color",duration:this.options.duration*1000,transition:this.transitions});menufx.start(this.options.colorOut)}.bind(this)})}});var Trips=new Class({Implements:[Options,Events],options:{id:0},colorIn:"#66CC00",colorOut:"#fff",effect:"Quart",duration:0.15,isForm:false,formType:null,busy:false,percent:0,atGallery:false,errors:[],initialize:function(options){this.setOptions(options);var loadImg=new Element("img",{id:"loader",src:root+"images/content-loader.gif"});var contentDiv=new Element("div",{id:"content"});var barDiv=new Element("div",{id:"bar"});if(this.percent==100){this.busy=false}var content=new Request({autoCancel:true,method:"get",url:root+"micro/get.trip.php",onRequest:function(){$("loader").fade(0,1);$("content").fade(1,0);if(this.busy){$("bar").fade(1,0);this.busy=false}}.bind(this),onSuccess:function(txt){if(!txt){$("content").set("html","There is nothing.")}else{this.atGallery=false;$("content").set("html",txt);$("content").setStyle("visibility","hidden");if(this.isForm){new Element("div",{id:"response"}).inject("loader","after");$("content").adopt(txt);$("form").addEvent("submit",function(e){e.stop();this.errors.empty();var checkEmpty=function(input,index){if(input.get("required")=="yes"||input.get("required")){this.errors.extend([true]);if(!input.get("value")){$(input.get("name")+"e3").set("html",input.get("name").capitalize()+" is blank.");$(input.get("name")+"e1").fade(0,1);$(input.get("name")+"e2").fade(0,1);$(input.get("name")+"e3").fade(0,1);$(input.get("name")+"e2").addEvent("click",function(){$(input.get("name")+"e1").fade(1,0);$(input.get("name")+"e2").fade(1,0);$(input.get("name")+"e3").fade(1,0);input.focus()});$(input).addEvent("focus",function(){if($(input.get("name")+"e1").getStyle("opacity")!=0){$(input.get("name")+"e1").fade(1,0);$(input.get("name")+"e2").fade(1,0);$(input.get("name")+"e3").fade(1,0)}})}else{this.errors[input.get("index")]=false}}}.bind(this);$$("form input").each(checkEmpty);$$("form textarea").each(checkEmpty);if(!this.errors.contains(true)){var submitDiv=null;var sendEmail=new Request({method:"post",url:root+"micro/send.email.php",onRequest:function(){$("bar").set("html","");$("loader").fade(0,1);$("bar").fade(0,1);submitDiv=$("submit").get("html");$("submit").set("html","Sending")},onSuccess:function(txt){$("bar").fade(1,0);$("response").fade(0,1);$("response").set("html",txt);if(txt=="Not Sent!<br>Please try again"){$("submit").set("html",submitDiv)}else{$("submit").set("html","Sent")}var nextStep=function(){$("response").fade(1,0);$("loader").fade(1,0)}.delay(1500)},onFailure:function(){$("response").fade(0,1);$("bar").fade(1,0);$("response").fade(0,1);$("response").set("html","Cannot send now, try again later")}});if(this.formType=="interested"){contact=$("contact").get("value")?$("contact").get("value"):"(none provided)";sendEmail.send("type=i&id="+this.options.id+"&to="+$("toEmail").get("value")+"&from="+$("fromEmail").get("value")+"&name="+$("nameInp").get("value").capitalize()+"&contact="+contact)}else{if(this.formType=="share"){var addresses=$("toEmail").get("value").split(",");addresses.map(function(i,ii){sendEmail.send("type=s&id="+this.options.id+"&to="+i+"&from="+$("yourEmail").get("value")+"&pmsg="+$("pmsg").get("value"))}.bind(this))}}}}.bind(this));this.isForm=false}}}.bind(this),onComplete:function(){$("loader").fade(1,0);$("content").fade(0,1)},onFailure:function(){$("content").set("html","Server is currently not responding. Please try again.")}});var photogallery=new Request({autoCancel:true,method:"get",url:root+"micro/get.trip.php",onRequest:function(){$("loader").fade(0,1);$("content").fade(1,0)},onSuccess:function(txt){if(!txt){$("content").set("html","There are no photos.")}else{this.atGallery=true;this.busy=true;$("content").set("html",txt);$("content").setStyle("visibility","hidden");$("photogallery").setStyle("display","none");imgSrc=[];imgLoaded=[];$$("#photogallery img").each(function(img,index){imgSrc.extend([img.get("src"),img.get("href")]);img.addEvents({mouseover:function(){imgfx=new Fx.Tween(img,{property:"border-color",duration:250,transition:Fx.Transitions.Quad.easeInOut});imgfx.start(this.colorIn)}.bind(this),mouseleave:function(){imgfx=new Fx.Tween(img,{property:"border-color",duration:250,transition:Fx.Transitions.Quad.easeInOut});imgfx.start(this.colorOut)}.bind(this),click:function(el){$("mid-features").set("html",'<img src="'+img.get("href")+'" alt="'+img.get("alt")+'">');$("caption").set("html",img.get("alt"))}})}.bind(this));var imgLoad=new Asset.images(imgSrc,{onProgress:function(i){imgLoaded[i]=this;this.percent=Math.round(((i+1)/imgSrc.length)*100);$("bar").set("html",this.percent+"%")}.bind(this),onComplete:function(){if(this.atGallery){$("bar").fade(1,0)}$("photogallery").setStyle("display","block");$("loader").fade(1,0);$("content").fade(0,1);if(this.percent==100){this.busy=false}}.bind(this)})}}.bind(this),onFailure:function(){$("content").set("html","Server is currently not responding. Please try again.")}});var transitions=eval("Fx.Transitions."+this.effect+".easeInOut");$$("#title-bar-menu li").addEvents({mouseover:function(el){menufx=new Fx.Tween(el.target,{property:"color",duration:this.duration*1000,transition:transitions});menufx.start(this.colorIn)}.bind(this),mouseleave:function(el){menufx=new Fx.Tween(el.target,{property:"color",duration:this.duration*1000,transition:transitions});menufx.start(this.colorOut)}.bind(this),click:function(e){new Event(e).stop();el=e.target;$("body").set("html","");$("body").adopt(loadImg,contentDiv,barDiv);content.cancel();photogallery.cancel();if(el.get("href")=="information"){content.send("tripId="+this.options.id+"&type=information")}else{if(el.get("href")=="history"){content.send("tripId="+this.options.id+"&type=history")}else{if(el.get("href")=="photo"){photogallery.send("tripId="+this.options.id+"&type=photo")}else{if(el.get("href")=="share"){this.isForm=true;this.formType="share";content.send("tripId="+this.options.id+"&type=share")}else{if(el.get("href")=="interested"){this.isForm=true;this.formType="interested";content.send("tripId="+this.options.id+"&type=interested")}}}}}}.bind(this)})}});
