(function(a){a.fn.kwicks=function(b){var c={isVertical:false,sticky:false,defaultKwick:0,event:"mouseover",spacing:0,duration:500};var e=a.extend(c,b);var f=(e.isVertical?"height":"width");var d=(e.isVertical?"top":"left");return this.each(function(){container=a(this);var h=container.children("li");if(e.isVertical){container.css({width:h.eq(0).css("width"),height:(e.min*(h.size()-1))+e.max+(e.spacing*(h.size()-1))+"px"});}else{container.css({width:(e.min*(h.size()-1))+e.max+(e.spacing*(h.size()-1))+"px",height:h.eq(0).css("height")});}var g=[];for(i=0;i<h.size();i++){g[i]=[];for(j=1;j<h.size()-1;j++){if(i==j){g[i][j]=e.isVertical?j*e.min+(j*e.spacing):j*e.min+(j*e.spacing);}else{g[i][j]=(j<=i?(j*e.min):(j-1)*e.min+e.max)+(j*e.spacing);}}}h.each(function(k){var l=a(this);if(k===0){l.css(d,"0px");}else{if(k==h.size()-1){l.css(e.isVertical?"bottom":"right","0px");}else{if(e.sticky){l.css(d,g[e.defaultKwick][k]);}else{l.css(d,(k*normWoH)+(k*e.spacing));}}}if(e.sticky){if(e.defaultKwick==k){l.css(f,e.max+"px");l.addClass("active");}else{l.css(f,e.min+"px");}}l.css({margin:0,position:"absolute"});l.bind(e.event,function(){var o=[];var q=[];h.stop().removeClass("active");for(j=0;j<h.size();j++){o[j]=h.eq(j).css(f).replace(/px/,"");q[j]=h.eq(j).css(d).replace(/px/,"");}var n={};n[f]=e.max;var p=e.max-o[k];var m=o[k]/p;l.addClass("active").animate(n,{step:function(s){var r=p!=0?s/p-m:1;h.each(function(t){if(t!=k){h.eq(t).css(f,o[t]-((o[t]-e.min)*r)+"px");}if(t>0&&t<h.size()-1){h.eq(t).css(d,q[t]-((q[t]-g[k][t])*r)+"px");}});},duration:e.duration,easing:e.easing});});});if(!e.sticky){container.bind("mouseleave",function(){var l=[];var m=[];h.removeClass("active").stop();for(i=0;i<h.size();i++){l[i]=h.eq(i).css(f).replace(/px/,"");m[i]=h.eq(i).css(d).replace(/px/,"");}var k={};k[f]=normWoH;var n=normWoH-l[0];h.eq(0).animate(k,{step:function(p){var o=n!=0?(p-l[0])/n:1;for(i=1;i<h.size();i++){h.eq(i).css(f,l[i]-((l[i]-normWoH)*o)+"px");if(i<h.size()-1){h.eq(i).css(d,m[i]-((m[i]-((i*normWoH)+(i*e.spacing)))*o)+"px");}}},duration:e.duration,easing:e.easing});});}});};})(jQuery);