;(function($) {
   $.fn.extend({
       Slider: function(options) {
          return this.each(function() {
			       options = {
                current_step:0,
                left:0,
                proceed_now:false,
                step:options.step>0 ? options.step : 95,
                limit:options.limit>0 ? options.limit : 3
             }
             new $.Sliders(this,options);
		      });
       }        
   });

     
   $.Sliders = function(obj,options) {

     var THIS = this;
     var count = $(obj).find('li').size();
     var limit = options.limit>0 ? options.limit : 3;
     var hidden = $('<div></div>');
     var conteiner = $('<div id="slider"></div>');
     var step = options.step>0 ? options.step : 95;
     options.step_left = (step*limit);
     options.max_steps = Math.ceil(count / limit)-1;
     options.min_steps = count - limit;
     var act_step = 0;
     var i = 0;
     //options.current_step
     $(obj).find('li').each(function(){
        
        if($(this).attr('class')=="active") act_step = i;
        i++;
     });
     var cur_st = Math.floor(((act_step/limit)*10)/10);
     var leftactive = -(cur_st*(step*limit));
     options.current_step = cur_st;
     options.left = leftactive;
     
     if(count>limit){
        var left = $('<div class="s-left"></div>');
        var right = $('<div class="s-right"></div>');
        $(obj).after(right);
        $(obj).before(left);
        $(right).css({'float':'left','cursor':'pointer'});
        $(left).css({'float':'left','cursor':'pointer'});
     }
  
     $(hidden).css({
            'margin':'0px',
            'position':'relative',
            'overflow':'hidden',
            'height':'100%',
            'float':'left',
            'width':((step*limit)+3)+'px'});
            
     $(conteiner).css({
      'width':'30000px',
      'position':'relative',
      'left':leftactive+'px'});

     $(hidden).append(conteiner);
     $(obj).wrapAll(hidden);
     
     if(count>limit){
        $(right).click(function(){
            THIS.next(obj,options);
        });
        $(left).click(function(){
            THIS.back(obj,options);
        });
     }  
     /*
     $(obj).find('li').click(function(){
        var id = $(this).attr('id');
        $(obj).find('li').each(function(){
          $(this).removeClass('active');
        });
        $(this).addClass('active');
        
        
        $('#gallery-list ul').each(function(){
           var ids = $(this).attr('id');
           if(ids=='gallery-show-'+id){
              $(this).show();
           }else{
              $(this).hide();
           }
        });

        return false;
     });*/
     
   }
   
   $.Sliders.prototype.back  = function(obj,options) {
      if(options.current_step <= 0) {
         options.left= options.step_left*options.max_steps;
         options.left *= -1; 
         $(obj).parent().animate({
           'left': options.left
         })
         options.current_step = options.max_steps; return; 
      }

      if(options.proceed_now) return;
      options.proceed_now = true;
      
      options.current_step--;
           
      options.left += eval(options.step_left);
      $(obj).parent().animate({
         left: options.left
      }, 'slow', function(){
         options.proceed_now = false;
      })
   }
   
   $.Sliders.prototype.next  = function(obj,options) {

      if(options.current_step >= options.max_steps) {
         options.left = 0   
         $(obj).parent().animate({
           left: options.left
         })
         options.current_step=0; return;
      }
      
      if(options.proceed_now) return;
      options.proceed_now = true;
      
      options.current_step++;
      
      options.left -= eval(options.step_left);
      $(obj).parent().animate({
         left: options.left
      }, 'slow', function(){
         options.proceed_now = false;
      })
   }

})(jQuery);

$(function(){
  $('.g-right').click(function(){
    var ff = $(this).parent().find('ul:visible li:visible').next();
    $(this).parent().find('ul:visible li').hide();
    if(ff[0]){
        $(ff[0]).show();
    }else{
      $(this).parent().find('ul:visible li:first-child').show();
    }
  });
  
  $('.g-left').click(function(){
    var ff = $(this).parent().find('ul:visible li:visible').prev();
    $(this).parent().find('ul:visible li').hide();
    if(ff[0]){
        $(ff[0]).show();
    }else{
      $(this).parent().find('ul:visible li:last-child').show();
    }
  });
  
});
