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