// Copyright (c) 2007 WoollySheep, MIT Style License.
// <http://www.woolly-sheep.net>

String.implement({noHash:function(){return this.replace("#","");}});var AntiSpam={mailto:{pattern:"-secure_mail-",user:"info",domain:"woolly-sheep.net"},start:function(){var A=AntiSpam.rewrite("fake");var B=AntiSpam.rewrite("orig");$$(".email").each(function(C){C.set("html",B);C.addEvents({mouseover:function(){C.setProperty("href","mailto:"+B);},mouseout:function(){C.setProperty("href","mailto:"+A);}});});},rewrite:function(A){switch(A){case"fake":return AntiSpam.mailto.user+AntiSpam.mailto.pattern+AntiSpam.mailto.domain;break;case"orig":default:return AntiSpam.mailto.user+"@"+AntiSpam.mailto.domain;}return"";}};var Map={percent:16,start:function(){var D=$("content"),E=false;var B={scroll:D.getScrollSize(),client:D.getSize()};var C=new Element("div",{id:"handler"});Map.radius={"-moz-border-radius":"3px","-webkit-border-radius":"4px"};new Element("div",{id:"map",styles:Map.radius}).inject("menu","top").adopt(C);$("map").setStyles({width:B.scroll.x/Map.percent,height:B.scroll.y/Map.percent});$("handler").setStyles({top:$(Site.current).getRelativePosition().y/Map.percent,left:$(Site.current).getRelativePosition().x/Map.percent,opacity:0.6,width:B.client.x/Map.percent,height:B.client.y/Map.percent}).setStyles(Map.radius);Map.dragger=new Drag.Move("handler",{container:"map",onStart:function(){Site.menu.fx.cancel();},onDrag:function(){E=false;$("content-inner").getElements(".panel").setStyle("overflow","hidden");var F=this.value.now;Site.scroller.set((F.x*Map.percent).toInt(),(F.y*Map.percent).toInt());},onComplete:function(){if(!E){$("content-inner").getElements(".panel").setStyle("overflow","auto");}}});var A=Map.miniatures();Map.dragger.droppables=A;A.each(function(G,F){G.addEvents({drop:function(I,H){E=true;$("menu").getElements("a")[F].fireEvent("click");},over:function(){this.fade("in");},leave:function(){this.fade(0.3);}});});},miniatures:function(){var B=$("content-inner").getElements("div.panel"),A=[];B.each(function(E){var C=E.getRelativePosition();var F=E.getSize();var D=new Element("div",{styles:{position:"absolute",top:C.y/Map.percent,left:C.x/Map.percent,width:F.x/Map.percent,height:F.y/Map.percent,background:"#a4cc68 url(assets/images/faketext.png) center center no-repeat",opacity:0.3,"z-index":10}}).inject("map").setStyles(Map.radius);A.push(D);});return A;}};var Contacts={preg_mail:/^[\w-\+]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/,validate:function(){var A=$("contacts_forms").getElements("form");var B=$("contacts_forms").getElements("input[id$=_name], input[id$=_email], input[id$=_aspam], textarea[id$=_message]");B.addEvent("blur",function(){var D=this.getNext();if(!this.get("value")||(this.id.test("email")&&!this.get("value").match(Contacts.preg_mail))){var E=(this.id.test("email"))?"L'email inserita risulta invalida":"Il campo &egrave; obbligatorio";if(D.get("tag")!="div"&&!D.hasClass("warning")){new Element("div",{"class":"warning",html:E}).inject(this,"after");}this.morph("input.warning");$("contacts").scrollTo(0,0);}else{if(D.get("tag")=="div"&&D.hasClass("warning")){D.dispose();}if(this.name.test("spam")){this.morph("input.normal");}else{this.morph("input.success");}}});var C=new Element("div",{"class":"spinner"});A.each(function(D){D.addEvent("submit",function(G){G.stop();var F=D.getElements("input[id$=_name], input[id$=_email], input[id$=_aspam], textarea[id$=_message]");var E=true;F.each(function(H){if(!H.get("value")){H.fireEvent("blur");H.morph("input.warning");E=false;}else{if(H.id.test("email")&&!H.get("value").test(Contacts.preg_mail)){H.fireEvent("blur");H.morph("input.warning");E=false;}}});if(E){D.set("action","assets/libs/send_mail.php");D.get("send").addEvent("onRequest",function(){if(!Contacts.spinner){Contacts.spinner=C.clone().inject(D.getElement("input[type=image]").getParent(),"before");}});D.get("send").addEvent("onComplete",function(H){if(Contacts.spinner){Contacts.spinner.dispose();Contacts.spinner=null;}});D.get("send").addEvent("onSuccess",function(H){var J=new Hash(JSON.decode(H));$$("div[rel=success]").dispose();if(J.get(0)){D.getElements("input[type=text], select, textarea").morph("input.normal");var I=new Element("div",{rel:"success","class":"success",html:"Grazie, la tua mail &egrave; stata inviata con successo!"}).inject(D.getElement("input[type=image]").getParent(),"after");}else{var K=D.get("name").split("_")[1]+"_";J.each(function(L){var N=$(K+J.keyOf(L)),M=N.getNext();if(M.get("tag")!="div"&&!M.hasClass("warning")){new Element("div",{"class":"warning",html:L}).inject(N,"after");}else{M.set("html",L);}N.morph("input.warning");});$("contacts").scrollTo(0,0);}});D.send();}});});}};var Site={current:window.location.hash.noHash()||"main",start:function(){var A=$$("div.panel"),B=$$("#menu li a");B.setStyle("opacity",0).removeClass("selected");$E("a."+Site.current).addClass("selected");Site.scroller=new Fx.Scroll("content",{duration:1000,wheelStops:false,link:"cancel",transition:"quad:in:out",onStart:function(){this.element.getElements(".panel").setStyle("overflow","hidden");},onComplete:function(){this.element.getElements(".panel").setStyle("overflow","auto");}});Site.clients();Site.projects();Site.contacts();},menu:function(C,A){var B=$$("#menu li a");Site.menu.fx=new Fx.Morph($("handler"),{duration:1000,link:"cancel",transition:"quad:in:out"});B.each(function(E){var D=new Fx.Tween(E,"opacity",{transition:"quint:in"});D.start.delay(C,D,1);C+=A;});B.each(function(D){D.addEvent("click",function(G){if(G){G.stop();}var E=D.get("href");var F=(Browser.Engine.trident)?E.split("#")[1]:E.noHash();var H=$(F).getRelativePosition();if(!D.hasClass("selected")){Site.scroller.toElement(F);Site.menu.fx.start({top:H.y/Map.percent,left:H.x/Map.percent});B.each(function(I){I[(I==D)?"addClass":"removeClass"]("selected");});}});});},clients:function(){var C=$("list");var A=C.getElements(".details");var D=C.getElements("h3");new Accordion(D,A,{opacity:true,transition:"quad:out",onActive:function(F,E){F.setStyle("background-position","bottom left");F.getParent().getNext().setStyle("background-position","right 107%");},onBackground:function(F,E){F.setStyle("background-position","top left");F.getParent().getNext().setStyle("background-position","top right");}});var B=$$(".shots_list");if(B.length>0){B.each(function(F){var G=F.getParent(),E=G.getElement("a img");F.getElements("a").each(function(J){var I=J.get("rel");var H=new Asset.image(I).setStyles({position:"absolute",visibility:"hidden",opacity:0}).inject(G);J.addEvents({mouseenter:function(){E.fade("out");H.fade("in");},mouseleave:function(){E.fade("in");H.fade("out");}});});});}new Tips($$(".tips"));},projects:function(){var B=$("prjlist");var A=B.getElements(".details");var C=B.getElements("h3");new Accordion(C,A,{opacity:true,transition:"quad:out",onActive:function(E,D){E.setStyle("background-position","bottom left");E.getParent().getNext().setStyle("background-position","right 107%");},onBackground:function(E,D){E.setStyle("background-position","top left");E.getParent().getNext().setStyle("background-position","top right");}});},contacts:function(){var C=$("contacts_forms").getChildren("div"),B=["classic","estimate"];C.each(function(F,E){F.id=B[E];if(Browser.Engine.trident){F.setStyles({background:"","border-width":"1px 0pt 0pt 1p","border-style":"solid","border-color":"#ecebeb","margin-top":-11});}});var D=C.getElements("h3").flatten();var A=new Element("ul",{id:"tabs"}).inject("contacts_forms","before");B.each(function(F){var E=$(F).get("tween","opacity");E.addEvent("onComplete",function(){if(!this.to[0].value){this.element.setStyle("display","none");}});});D.each(function(E,F){var G=E.get("text");var H=new Element("a",{href:"#"}).set("text",G);H.addEvent("click",function(I){I.stop();B.each(function(K,J){if(J!=F){$(K).fade("out");}});$(B[F]).setStyle("display","").get("tween","opacity").start(1);A.getElements("a").removeClass("active");this.addClass("active");});new Element("li").adopt(H).inject(A);if(Browser.Engine.trident){H.setStyle("border","1px solid #d3d2d2");}else{H.setStyles({"-moz-border-radius-topleft":"10px","-moz-border-radius-topright":"10px","-webkit-border-top-left-radius":"10px","-webkit-border-top-right-radius":"10px"});}E.dispose();if(!F){H.addClass("active");}else{$(B[F]).setStyles({display:"none",opacity:0});}});new Element("span",{"class":"clr"}).inject(A,"after");Contacts.validate();},history:function(){var B=window.location.hash.noHash()||"main";var A=$E("a[href=#"+B+"]");if(Site.current!=B&&A){A.fireEvent("click");Site.current=B;}}};window.addEvent("domready",function(){AntiSpam.start();Map.start();Site.start();var C="assets/images/menu/";var A=["main.png","whoarewe.png","clients.png","projects.png","contacts.png"];A.each(function(E,D){A[D]=C+E;});A.push("assets/images/spinner.gif");var B=new Asset.images(A,{onComplete:function(){Site.menu(600,200);}});if(Browser.Engine.gecko){document.body.addEvent("mousedown",function(D){if(D.target==this){D.stop();}});}});