(function($) {
  $.fn.easySlider = function(options){
    var defaults = {
      prevId: 'prevBtn',
      nextId: 'nextBtn',
      prevText: 'Previous',
      nextText: 'Next',
      autogeneratePagination: false,
      orientation: '',
      speed: 800,
      autoplayDuration: 0,
      restartDuration: 2500,
      loop: false,
      hoverPause: 0,
      hover: false,
      easing: null,
      pauseable: false,
      pauseButtons: false,
      beforeTransition: null,
      afterTransition: null
    };

    var options = $.extend(defaults, options);

    return this.each(function() {

      var obj = $(this),
          totalSlides = $("li", obj).length,
          slideWidth = obj.width(),
          slideHeight = obj.height(),
          lastSlide = totalSlides-1,
          current = 0;

      var vertical = (options.orientation == 'vertical'),
          fade = (options.orientation == 'fade'),
          horizontal = (!vertical && !fade),
          autogen = options.autogeneratePagination,
          pauseable = options.pauseable,
          loop = options.loop,
          speed = options.speed,
          easing = options.easing,
          hover = options.hover,
          hoverPause = options.hoverPause,
          buttonsPause = options.pauseButtons,
          restartDuration = options.restartDuration,
          autoplayDuration = Math.max(options.autoplayDuration,25)+speed,
          autoplay = (options.autoplayDuration > 0),
          beforeTransition = options.beforeTransition,
          afterTransition = options.afterTransition;
          interval = null,
          restart = null;

      if (autogen) {
        $(obj).after( '<span id="'+options.prevId+'"><a href=\"javascript:void(0);\">'+options.prevText+'</a></span> '+
                      '<span id="'+options.nextId+'"><a href=\"javascript:void(0);\">'+options.nextText+'</a></span>');
      }

      var $ul   = $("ul", obj),
          $next = $("#"+options.nextId),
          $prev = $("#"+options.prevId);

      if (loop) {
		$ul.append( $("li:first", obj).clone() );
		totalSlides += 1;
		lastSlide += 1;
      }

      if (horizontal) {
        $("li", obj).css('float','left');
        $ul.css('width', totalSlides * slideWidth);
      }

      if (fade) {
        $ul.find("li:not(:first)").hide();
      }

      var pauseFunc = function() {
        clearInterval(interval);
        clearTimeout(restart);
      }

      var restartFunc = function() {
        restart = setTimeout(function() {
          interval = setInterval(auto, autoplayDuration);
        }, restartDuration);
      };

      if ( pauseable && autoplay ) {
        $(obj).hover(pauseFunc, restartFunc);
        if ( buttonsPause ) {
          $next.hover(pauseFunc, restartFunc);
          $prev.hover(pauseFunc, restartFunc);
        }
      }

      if ( !hover ) {

        $next.click(function(){
          if (autoplay) {
            pauseFunc();
            if ( !buttonsPause ) {
              restartFunc();
            }
          };
          animate("next");
        });

        $prev.click(function(){
          if (autoplay) {
            pauseFunc();
            if ( !buttonsPause ) {
              restartFunc();
            }
          };
          animate("prev");
        });

      } else {

        var hoverNext = false,
            hoverPrev = false,
            isAnimating = false;

        $next.hover(
          function() {
            var tfunc = arguments.callee;
            hoverNext = true;
            if ( !isAnimating ) {
              isAnimating = true;
              animate("next", function() {
                isAnimating = false;
                if ( hoverNext ) { tfunc(); }
              });
            }
          },
          function() {
            hoverNext = false;
          }
        );

        $prev.hover(
          function() {
            var tfunc = arguments.callee;
            hoverPrev = true;
            if ( !isAnimating ) {
              isAnimating = true;
              animate("prev", function() {
                isAnimating = false;
                if ( hoverPrev ) { tfunc(); }
              });
            }
          },
          function() {
            hoverPrev = false;
          }
        );

      }

      function animate(dir, cb) {

        if ( beforeTransition ) {
          beforeTransition( current, $ul.find('li:eq('+current+')'), $ul );
        }

        var newcb = function() {
          if ( cb != null ) {
            ( hoverPause == 0 ) ? cb() : setTimeout(cb, hoverPause);
          }
          if ( afterTransition ) {
            afterTransition( current, $ul.find('li:eq('+current+')'), $ul );
          }
        };

        var cur = current;
        if ( loop ) {
          if ( dir == 'next' ) {
            current = (current==lastSlide) ? 1 : current+1;
          } else {
            current = (current==0) ? lastSlide-1 : current-1;
          }
        } else {
          if (dir == "next") {
            current = (current>=lastSlide) ? lastSlide : current+1;
          } else {
            current = (current<=0) ? 0 : current-1;
          }
        }
        var nex = current;

        if ( loop ) {
          if ( (dir == "next") && (cur == lastSlide) ) {
            (vertical) ?
              $ul.animate({marginTop:0}, -1) :
              $ul.animate({marginLeft:0}, -1);
          } else if ( (dir == "prev") && (cur == 0) ) {
            (vertical) ?
              $ul.animate({marginTop:(totalSlides-1)*slideHeight*-1}, -1) :
              $ul.animate({marginLeft:(totalSlides-1)*slideWidth*-1}, -1);
          }
        }

        if ( horizontal ) {
          $ul.animate( { marginLeft: (nex*slideWidth*-1)  }, speed, easing, newcb );
        } else if ( vertical ) {
          $ul.animate( { marginTop:  (nex*slideHeight*-1) }, speed, easing, newcb );
        } else {
          var curli = 'li:eq(' + cur + ')';
          var nexli = 'li:eq(' + nex + ')';
          $ul.find(curli).fadeOut("slow", function() {
            $ul.find(nexli).fadeIn("slow", newcb);
          });
        }

        if ( !loop ) {
          if ( nex <= 0 ) {
            $prev.fadeOut();
          } else if ( nex >= lastSlide ) {
            $next.fadeOut();
          } else {
            $next.fadeIn();
            $prev.fadeIn();
          }
        }

      };

      if ( autoplay ) {
        var auto = function() {
          animate('next');
          if ( !loop && current>=lastSlide ) {
            clearInterval(interval);
          }
        }
        restart = setTimeout(function() {
          auto();
          interval = setInterval(auto, autoplayDuration);
        }, autoplayDuration-speed);
      }

      $next.hide();
      $prev.hide();

      if (totalSlides>1) {
        $next.fadeIn();
        if(loop) { $prev.fadeIn(); }
      }

    });

  };

})(jQuery);
/* 
 *	Scripts
 */
$(document).ready(function(){
	$("#banner").easySlider({
		loop: true,
		orientation: 'fade',
		autoplayDuration: 5000,
		autogeneratePagination: false,
		nextId: 'banner-next',
		prevId: 'banner-prev',
		pauseable: false
	});
	$('a.cliente').fadeTo(0,'0.5').hover(
		function(){
			$(this).stop().fadeTo(250,'1');
		}, function(){
			$(this).stop().fadeTo(500,'0.5');
		}
	);
}); //end document.ready

