/*
	Kwicks for jQuery (version 1.5.1)
	Copyright (c) 2008 Jeremy Martin
	http://www.jeremymartin.name/projects.php?project=kwicks
	
	Licensed under the MIT license:
		http://www.opensource.org/licenses/mit-license.php

	Any and all use of this script must be accompanied by this copyright/license notice in its present form.
*/
(function($){
    $.fn.kwicks=function(n){
        var p={
            isVertical:false,
            sticky:false,
            defaultKwick:0,
            event:'mouseover',
            spacing:0,
            //velocidad
            duration:150

              };
              var o=$.extend(p,n);
              var q=(o.isVertical?'height':'width');
              var r=(o.isVertical?'top':'left');
              return this.each(function(){container=$(this);
                  var k=container.children('li');
                  var l=k.eq(0).css(q).replace(/px/,'');
                  if(!o.max){o.max=(l*k.size())-(o.min*(k.size()-1))}
                  else{o.min=((l*k.size())-o.max)/(k.size()-1)}
                  if(o.isVertical){container.css({width:k.eq(0).css('width'),height:(l*k.size())+(o.spacing*(k.size()-1))+'px'})
                  }else{
                      container.css({width:(l*k.size())+(o.spacing*(k.size()-1))+'px',height:k.eq(0).css('height')})}
                  var m=[];
                  for(i=0;i<k.size();i++){m[i]=[];
                      for(j=1;j<k.size()-1;j++){
                          if(i==j){m[i][j]=o.isVertical?j*o.min+(j*o.spacing):j*o.min+(j*o.spacing)
                          }else{
                              m[i][j]=(j<=i?(j*o.min):(j-1)*o.min+o.max)+(j*o.spacing)}}}k.each(function(i){
                      var h=$(this);
                      if(i===0){h.css(r,'0px')
                      }else if(i==k.size()-1){h.css(o.isVertical?'bottom':'right','0px')
                      }else{if(o.sticky){h.css(r,m[o.defaultKwick][i])
                          }else{
                              h.css(r,(i*l)+(i*o.spacing))}}
                      if(o.sticky){if(o.defaultKwick==i){h.css(q,o.max+'px');
                              h.addClass('active')}else{h.css(q,o.min+'px')}}h.css({margin:0,position:'absolute'});
                      h.bind(o.event,function(){
                          var c=[];
                          var d=[];k.stop().removeClass('active');
                          for(j=0;j<k.size();j++){c[j]=k.eq(j).css(q).replace(/px/,'');
                              d[j]=k.eq(j).css(r).replace(/px/,'')}
                          var e={};e[q]=o.max;var f=o.max-c[i];
                          var g=c[i]/f;h.addClass('active').animate(e,{
                              step:function(a){var b=f!=0?a/f-g:1;k.each(function(j){if(j!=i){k.eq(j).css(q,c[j]-((c[j]-o.min)*b)+'px')}
                                      if(j>0&&j<k.size()-1){k.eq(j).css(r,d[j]-((d[j]-m[i][j])*b)+'px')}})},duration:o.duration,easing:o.easing})})});
                  if(!o.sticky){container.bind("mouseleave",function(){
                          var c=[];
                          var d=[];k.removeClass('active').stop();
                          for(i=0;i<k.size();i++){c[i]=k.eq(i).css(q).replace(/px/,'');d[i]=k.eq(i).css(r).replace(/px/,'')}
                          var e={};e[q]=l;
                          var f=l-c[0];k.eq(0).animate(e,{
                              step:function(a){
                                  var b=f!=0?(a-c[0])/f:1;
                                  for(i=1;i<k.size();i++){k.eq(i).css(q,c[i]-((c[i]-l)*b)+'px');
                                      if(i<k.size()-1){k.eq(i).css(r,d[i]-((d[i]-((i*l)+(i*o.spacing)))*b)+'px')}}},duration:o.duration,easing:o.easing})})}})}})(jQuery);
