function load_torsion(a){$$("#portfolio_block .portfolio_div h2").each(function(c){new Element("img",{src:"http://img2.turbomilk.com/i/m/x.gif","class":"t_prev"}).inject(c);new Element("img",{src:"http://img2.turbomilk.com/i/m/x.gif","class":"t_next"}).inject(c)});var b=new Request.JSON({url:a,onComplete:function(e){var f=new Torsion("t_icons",{controls:"t_icons_ctrl",data:e.data.icons});var d=new Torsion("t_identity",{controls:"t_identity_ctrl",data:e.data.identity});var h=new Torsion("t_interfaces",{controls:"t_interfaces_ctrl",data:e.data.interfaces});var c=new Torsion("t_characters",{controls:"t_characters_ctrl",data:e.data.characters});var g=new Torsion("t_web_sites",{controls:"t_web_sites_ctrl",data:e.data.web_sites})}}).send()}var Torsion=new Class({Implements:[Events,Options,Chain],options:{controls:{next:"",prev:""},data:null},initialize:function(b,a){this.element=$(b);if(!this.element){return}this.setOptions(a);this.check_data();this.shown=0;this.loading=false;this.moving=false;this.canmove=false;this.even=false;this.direction="left";this.init_elements()},check_data:function(){this.options.data.each(function(a){if(a.loaded){a.loaded.destroy()}})},init_elements:function(){this.visible=this.image=this.element.getElement(".portfolio_img img");this.wrapper=this.image.getParent("a").set("styles",{display:"block",overflow:"hidden",position:"relative"});this.header=this.element.getElement("h3");this.description=this.element.getElement("p");this.link=this.header.getElements("a");var a=function(){this.enable_torsion();this.image.removeEvent("load",a)}.bind(this);this.image.setStyles({position:"absolute",top:"9px",left:"0","z-index":2});this.loader=new Element("img",{src:"http://img2.turbomilk.com/i/f/loader.gif","class":"loader"}).inject(this.element);if(this.image.complete){this.enable_torsion()}else{this.image.addEvent("load",a)}this.image.addEvent("load",a)},enable_torsion:function(){this.step=this.image.width;this.options.data[this.shown].loaded=this.image;this.wrapper.setStyles({width:this.image.width,height:this.image.height});this.hidden=this.backing=this.image.clone().set({styles:{right:this.image.width,"z-index":1}}).inject(this.wrapper);this.get_next(this.shown);this.get_next(this.options.data.length-2);this.prev=$(this.options.controls).getElement(".t_prev").addEvent("click",this.show_prev.bind(this));this.next=$(this.options.controls).getElement(".t_next").addEvent("click",this.show_next.bind(this))},show_next:function(){if(!this.loading&&!this.moving){this.direction="left";if(this.shown<this.options.data.length-1){this.preload(this.shown+1)}else{this.shown=-1;this.preload(0)}}},show_prev:function(){if(!this.loading&&!this.moving){this.direction="right";if(this.shown>0){this.preload(this.shown-1)}else{this.shown=this.options.data.length;this.preload(this.options.data.length-1)}}},get_next:function(b){var c=null;switch(this.direction){case"left":if(b<this.options.data.length-1){c=this.options.data[b+1]}break;case"right":if(b>0){c=this.options.data[b-1]}break}if(!c){c=this.options.data[0]}if(!c.loaded){var a=new Asset.image(c.img,{title:c.header,style:"position: absolute; top: 9px; left: auto; right: auto; z-index: 0",onload:function(){c.loaded=this}})}},preload:function(b){var c=this.options.data[b];if(!c.loaded){this.element.addClass("loading");this.loading=true;var a=new Asset.image(c.img,{title:c.header,style:"position: absolute; top: 9px; left: auto; right: auto; z-index: 0",onload:function(){if(this.element.hasClass("loading")){this.element.removeClass("loading")}this.loading=false;c.loaded=a;this.move(c)}.bind(this)})}else{this.move(c)}this.get_next(b)},move:function(c){this.moving=true;var b=(this.direction=="right")?"left":"right";var d=[];if(this.even){this.image=c.loaded.replaces(this.image);d=[this.backing,this.image]}else{this.backing=c.loaded.replaces(this.backing);d=[this.image,this.backing]}this.change_texts=new Fx.Elements([this.header,this.description],{duration:250,link:"chain",transition:Fx.Transitions.linear.easeOut,onComplete:function(){this.header.toggleClass("hidden");if(this.header.hasClass("hidden")){this.link.set({text:c.header,href:c.link,title:c.header});this.wrapper.set({href:c.link,title:c.header});var e=c.description+'<span class="small_txt">'+c.tags+"<span>";this.description.set("html",e)}}.bind(this)});this.blur=new Fx.Elements(d,{duration:250,link:"ignore",transition:Fx.Transitions.Pow.easeOut});this.slide=new Fx.Elements(d,{duration:500,link:"chain",transition:Fx.Transitions.Cubic.easeIn,onStart:function(){}.bind(this),onComplete:function(){switch(this.direction){case"left":this.shown=this.shown+1;break;case"right":this.shown=this.shown-1;break}(this.even)?this.even=false:this.even=true;this.moving=false}.bind(this)});var a={slide_init:{"0":{},"1":{}},slidemove:{"0":{},"1":{}},slide_hide:{"0":{opacity:[1,0.6]},"1":{opacity:[1,0.6]}},slide_show:{"0":{opacity:[0.6,1]},"1":{opacity:[0.6,1]}},text_hide:{"0":{opacity:[1,0]},"1":{opacity:[1,0]}},text_show:{"0":{opacity:[0,1]},"1":{opacity:[0,1]}}};a.slide_init["0"][b]="auto";a.slide_init["1"][b]="auto";a.slide_init["1"][this.direction]=this.step;a.slidemove["0"][this.direction]=[0,-this.step];a.slidemove["1"][this.direction]=[this.step,0];this.slide.set(a.slide_init);this.change_texts.start(a.text_hide);this.slide.start.delay(100,this.slide,a.slidemove);this.change_texts.start.delay(450,this.change_texts,a.text_show)}});