YUI.add("gallery-yuisand",function(A){var H=[],G,N,J,B,I,F,E,D,L,C,M;var K=function(O){K.superclass.constructor.call(this,O);};K.NAME="YUISand";K.ATTRS={source:{value:"#source"},destination:{value:"#destination"},attribute:{value:"id"},easing:{value:A.Easing.easeOutStrong},duration:{value:1000},curve:{value:null},transform:{value:null}};A.extend(K,A.Base,{initializer:function(){G=this;if(H.length>0){A.Array.each(H,function(P,O){P.animation.stop();},this);}N=A.one(this.get("source"));J=A.one(this.get("destination"));B=N.get("parentNode");I=N.all("> *");F=J.all("> *");if(J.getStyle("display")=="block"){return;}if(this.get("transform")){E=this.get("transform").rotate;D=this.get("transform").scale;L=(E&&E[2])?E[2]:15;C=(D&&D[2])?D[2]:15;}this._prepCollections();},_prepCollections:function(){var P,O={};B.prepend('<div id="yuisand_sorter" />');M=A.one("#yuisand_sorter").append(N).append(J);this._initStyles();I.each(function(Q){Q.setStyle("position","relative");P=new A.Anim({node:A.one(Q),duration:this.get("duration")/1000});if(this._unique(F,Q.getAttribute(this.get("attribute")))){P.set("to",{opacity:0});}else{O[Q.getAttribute(this.get("attribute"))]={top:Q.get("offsetTop"),left:Q.get("offsetLeft"),x:Q.getX(),y:Q.getY()};Q.setStyle("opacity","0");}if(this.get("transform")){Q.scaleAmt=(D)?D[1]:null;Q.reverse=true;this._transform(Q);}H.push({el:this,animation:P});},this);F.each(function(R){var W=R.getX(),U=R.getY();R.setStyles({"position":"relative","opacity":"0"});if(this.get("transform")){if(this.get("transform").rotate){R.setStyles({"-webkit-transform":"rotate("+this.get("transform").rotate[0]+"deg)","-moz-transform":"rotate("+this.get("transform").rotate[0]+"deg)","transform":"rotate("+this.get("transform").rotate[0]+"deg)"});}if(this.get("transform").scale){R.setStyles({"-webkit-transform":"scale("+this.get("transform").scale[0]+")","-moz-transform":"scale("+this.get("transform").scale[0]+")","transform":"scale("+this.get("transform").scale[0]+")"});}}P=new A.Anim({node:A.one(R),duration:this.get("duration")/1000});if(this._unique(I,R.getAttribute(this.get("attribute")))){P.set("to",{opacity:1});}else{var T=O[R.getAttribute(this.get("attribute"))].top,S=O[R.getAttribute(this.get("attribute"))].left,Q=O[R.getAttribute(this.get("attribute"))].x,V=O[R.getAttribute(this.get("attribute"))].y;R.setStyle("opacity","1");if(this.get("curve")){R.setX(Q).setY(V);P.set("to",{curve:this._curve([W,U])});}else{R.setStyles({"top":(T-R.get("offsetTop"))+"px","left":(S-R.get("offsetLeft"))+"px"});P.set("to",{top:"0px",left:"0px"});}P.set("easing",this.get("easing"));}if(this.get("transform")){R.rotateAmt=(E)?E[0]:null;R.scaleAmt=(D)?D[0]:null;R.reverse=false;this._transform(R);}H.push({el:this,animation:P});},this);this._runQueue();},_runQueue:function(){var O;A.Array.each(H,function(Q,P){if(Q.animation!==null){O=Q.animation.run();}if((H.length-1)==P){Q.animation.on("end",function(){this._cleanup();this.fire("complete");},this);}},this);},_initStyles:function(){M.setStyles({"position":"relative","height":N.get("parentNode").getStyle("height")});N.setStyles({"position":"absolute","top":"0px","left":"0px"});J.setStyles({"position":"absolute","top":"0px","left":"0px","display":"block"});},_unique:function(O,P){var Q=true;O.each(function(R){if(R.getAttribute(this.get("attribute"))===P&&Q===true){Q=false;}},this);return Q;},_curve:function(O){var Q=this.get("curve"),V=(Q.points)?Q.points:5,P=(Q.start)?Q.start:[0,0],S=[],U=O[0]/V,T=O[1]/V;S.push(P);for(var R=0;R<V;R++){S.push([R*U,R*T]);}if(O){S.push(O);}return S;},_transform:function(O){if(E&&!O.reverse){clearInterval(O.rotateTimer);if(O.rotateAmt<E[1]){O.rotateAmt++;O.setStyles({"-webkit-transform":"rotate("+O.rotateAmt+"deg)","-moz-transform":"rotate("+O.rotateAmt+"deg)","transform":"rotate("+O.rotateAmt+"deg)"});}else{this._deleteTimer(O.scaleTimer);}O.rotateTimer=setInterval(function(){G._transform(O);},L);}if(D){clearInterval(O.scaleTimer);if(O.reverse){if(O.scaleAmt>D[0]){O.scaleAmt=O.scaleAmt-0.1;O.setStyles({"-webkit-transform":"scale("+O.scaleAmt+")","-moz-transform":"scale("+O.scaleAmt+")","transform":"scale("+O.scaleAmt+")"});}else{this._deleteTimer(O.scaleTimer);}O.scaleTimer=setInterval(function(){G._transform(O);},C);}else{if(O.scaleAmt<D[1]){O.scaleAmt=O.scaleAmt+0.1;O.setStyles({"-webkit-transform":"scale("+O.scaleAmt+")","-moz-transform":"scale("+O.scaleAmt+")","transform":"scale("+O.scaleAmt+")"});}else{this._deleteTimer(O.scaleTimer);}O.scaleTimer=setInterval(function(){G._transform(O);},C);}}},_deleteTimer:function(O){clearInterval(O);O=null;},_cleanup:function(){H=[];B.prepend(J).prepend(N);M.remove();N.setStyles({"position":"","top":"","left":"","display":"none"});J.setStyles({"position":"","top":"","left":""});}});A.YUISand=K;},"@VERSION@",{requires:["anim"]});
