(function($){$.fn.kwicks=function(options){var defaults={isVertical:false,sticky:false,defaultKwick:0,event:'mouseover',spacing:0,duration:500,ieUlHeight:500.0};var o=$.extend(defaults,options);var WoH='height';var LoT='top';return this.each(function(){container=$(this);var kwicks=container.children('li');var normWoH=0.0;var normWoHTotMax=-1.0;for(i=0;i<kwicks.size();i++){normWoH=kwicks.eq(i).css(WoH).replace(/px/,'');if(normWoH=='auto'){break}normWoHTotMax=(normWoHTotMax<parseFloat(normWoH)?parseFloat(normWoH):normWoHTotMax)}if(normWoHTotMax<0.0){normWoHTotMax=o.ieUlHeight}if(o.defaultKwick=='last'){o.defaultKwick=kwicks.size()-1}o.max=normWoHTotMax;container.css({width:kwicks.eq(0).css('width'),height:normWoHTotMax+(o.spacing*(kwicks.size()-1))+(o.min*(kwicks.size()-1))+'px'});var preCalcLoTs=[];for(i=0;i<kwicks.size();i++){preCalcLoTs[i]=[];for(j=1;j<kwicks.size()-1;j++){if(i==j){preCalcLoTs[i][j]=j*o.min+(j*o.spacing)}else{preCalcLoTs[i][j]=(j<=i?(j*o.min):(j-1)*o.min+o.max)+(j*o.spacing)}}}kwicks.each(function(i){var kwick=$(this);if(i===0){kwick.css(LoT,'0px')}else if(i==kwicks.size()-1){kwick.css('bottom','0px')}else{kwick.css(LoT,preCalcLoTs[o.defaultKwick][i])}if(o.defaultKwick==i){kwick.css(WoH,o.max+'px');kwick.addClass('active')}else{kwick.css(WoH,o.min+'px')}kwick.css({margin:0,position:'absolute'});kwick.bind(o.event,function(){var prevWoHs=[];var prevLoTs=[];kwicks.stop().removeClass('active');for(j=0;j<kwicks.size();j++){prevWoHs[j]=kwicks.eq(j).css(WoH).replace(/px/,'');prevLoTs[j]=kwicks.eq(j).css(LoT).replace(/px/,'')}var aniObj={};aniObj[WoH]=o.max;var maxDif=o.max-prevWoHs[i];var prevWoHsMaxDifRatio=prevWoHs[i]/maxDif;kwick.addClass('active').animate(aniObj,{step:function(now){var percentage=maxDif!=0?now/maxDif-prevWoHsMaxDifRatio:1;kwicks.each(function(j){if(j!=i){kwicks.eq(j).css(WoH,prevWoHs[j]-((prevWoHs[j]-o.min)*percentage)+'px')}if(j>0&&j<kwicks.size()-1){kwicks.eq(j).css(LoT,prevLoTs[j]-((prevLoTs[j]-preCalcLoTs[i][j])*percentage)+'px')}})},duration:o.duration,easing:o.easing})})})})}})(jQuery);
