/*
* Author : Jubal Mabaquiao
* URL : http://www.inkfree.info
*/
(function($){
  $.fn.slideScroll = function(options) {
/* INITIALIZATION */
    // support multiple elements
    if (this.length > 1){
        this.each(function() { $(this).slideScroll(options) });
        return this;
    }
    //  SETUP private variables;
    //  todo : itemWidth to measure automatically
    //  var itemWidth =
    var $this = $(this);
    // SETUP public variables
    var opts = $.extend({}, $.fn.slideScroll.defaults, options);
    // clone first element to the end of the group
    if(!$('.cloned').length){
      var cloneLast = $('.slide-item:last-child',$this).clone().addClass('cloned');
      var cloneFirst = $('.slide-item:first-child',$this).clone().addClass('cloned');
      $('.slide-reel').append(cloneFirst).prepend(cloneLast).parent().scrollLeft(opts.itemWidth);
    }
    opts.itemCount = $('.slide-item',$this).length-2;

    // build and assign navigation
    if(!$('.slide-controls').length){
      var $controls = $('<div><a><span></span></a><a><span></span></a></div>');
      $controls.attr({'class':'slide-controls'});
      $controls.find('a:eq(0)').attr({'href':'#','class':opts.prevClass,'title':'previous slide'})
          .bind('click',function(e){ $this.trigger('prev'); e.preventDefault(); })
          .find('span').html('previous');
      $controls.find('a:eq(1)').attr({'href':'#','class':opts.nextClass,'title':'next slide'})
          .bind('click',function(e){ $this.trigger('next'); e.preventDefault(); })
          .find('span').html('next');
      $controls.insertAfter($this);
    }

	$this.bind({

	  next: function(){
        var pos = $this.scrollLeft();
        if(!$this.is(':animated'))
        $this.animate({scrollLeft:pos+opts.itemWidth},opts.tspeed, function(){
          if(pos==opts.itemWidth*opts.itemCount)
            $this.scrollLeft(opts.itemWidth)
        })
      },

      prev: function(){
        var pos = $this.scrollLeft();
        if(!$this.is(':animated'))
        $this.animate({scrollLeft:pos-opts.itemWidth},opts.tspeed, function(){
          if(pos==opts.itemWidth)
            $this.scrollLeft(opts.itemWidth*opts.itemCount)
        })
      },

      auto: function(e,a){
        if(!a){
          autoScroll = setInterval(function(){
            $this.trigger('next');
          }, opts.interval  );
          return;
        }
        clearInterval(autoScroll);
      },

      mouseenter: function(){
        $this.trigger('auto',1);
      },

      mouseleave: function(){
        $this.trigger('auto',0);
      }
    });

    $('.slide-controls').bind({
      mouseenter:function(){
        $this.trigger('auto',1);
      } 
    });
    return this;
  }
})(jQuery);



$.fn.slideScroll.defaults = {
  prevClass:'slide-previous',
  nextClass:'slide-next',
  itemclass:'slide-item',
  itemWidth:610,
  auto:true,
  interval:8000,
  tspeed:600,
  timerId:'timer'
};

$(function(){

  $.fn.hoverFx = function(){
	  var _self = $(this);

	  $('li.mod-item', _self).removeAttr('class');
      $('a',_self).hover(
        function(){
          $('span',this).addClass('jqhover').stop().fadeTo(300,1);
        }, function() {
          $('span',this).stop().fadeTo(300,0).toggleClass('jqhover');
        });
  };

  $('#modProducts').hoverFx();
  $('#slideArea').slideScroll().trigger('auto',0);
});
