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