/**
 * @author exoundeeq
 * @version 0.1
 * @description Делает горизонтальный скролл стрелками, ебать
 * @param {Array} options Содержит опции валидации
 */
jQuery.fn.scroller = function(userOptions) {

  var options = {
    shift: 0
  }

  $.extend(options, userOptions);
  
  return this.each(function(){
    var $el=$(this);
    if($el.children().width()>$el.width()){
      $($el).prepend(
        '<a href="" class="right_arr"></a>'+
        '<a href="" class="left_arr inactive"></a>'
      );
      $el.find('.right_arr')
        .height($el.height())
        .click(function(){if(!($(this).hasClass('inactive'))){right(this);} return false;})
        .focus(function(){this.blur();});
      $el.find('.left_arr')
        .height($el.height())
        .click(function(){if(!($(this).hasClass('inactive'))){left(this);} return false;})
        .focus(function(){this.blur();});
    }
  });
  
  function right(el){
    var container=$(el).parent();
    var scrContent=container.find('.scrollable_content');
    var scrContentWidth=scrContent.width();
    var contWidth=container.width();
    var currScroll=parseInt(scrContent.css('left'));
    var left=(currScroll-contWidth)+options.shift;
    if((left-contWidth)<=-scrContentWidth){
      left=(-scrContentWidth+contWidth);
      $(el).addClass('inactive');
    }
    
    container.find('.left_arr').removeClass('inactive');
    scrContent.stop().animate({left: left}, 1000, 'easeInOutCubic');
  }
  
  function left(el){
    var container=$(el).parent();
    var scrContent=container.find('.scrollable_content');
    var scrContentWidth=scrContent.width();
    var contWidth=container.width();
    var currScroll=parseInt(scrContent.css('left'));
    var left=(currScroll+contWidth)-options.shift;
    if(left>=0){
      left=0;
      $(el).addClass('inactive');
    }
    
    container.find('.right_arr').removeClass('inactive');
    scrContent.stop().animate({left: left}, 1000, 'easeInOutCubic');
  }
  
}