/* 
 * jQuery.sliderNav.js
 * © 2011 kumagaiyusuke
*/

(function ($) {

  $.sliderNav = function (prevContents, nextContents) {
    
    var $sliderNav = $("<div>", {
      "class": "slideNav"
    });

    var $prevBtn, $nextBtn;
    
    var btnModes = $.arrowBtn.modes;
    
    var events = $.sliderNav.events;
    
    
    // !初期化

    $prevBtn = $.arrowBtn(btnModes.LEFT, prevContents);
    $prevBtn.bind("click", onClickPrev);
    $prevBtn.addClass("btn prev");

    $nextBtn = $.arrowBtn(btnModes.RIGHT, nextContents);
    $nextBtn.bind("click", onClickNext);
    $nextBtn.addClass("btn next");
        
    $sliderNav.append($prevBtn, $nextBtn);

    
    // !イベントハンドラ
    
    function onClickPrev(e) {
      $sliderNav.trigger(events.CLICK_PREV);
    }

    function onClickNext(e) {
      $sliderNav.trigger(events.CLICK_NEXT);
    }
    
    // !パブリック
    
    $sliderNav.show = function (duration, easing) {
      
      $prevBtn.stop();
      
      $prevBtn.animate({
        left: 0
      }, {
        duration: duration,
        easing: easing
      });
      
      $nextBtn.stop();
      
      $nextBtn.animate({
        right: 0
      }, {
        duration: duration,
        easing: easing
      });
    };
    
    $sliderNav.hide = function (duration, easing) {
      
      $prevBtn.stop();
      
      $prevBtn.animate({
        left: -45
      }, {
        duration: duration,
        easing: easing
      });
      
      $nextBtn.stop();
      
      $nextBtn.animate({
        right: -45
      }, {
        duration: duration,
        easing: easing
      });

    };
    
    return $sliderNav;
  };
  
  
  // !スタティック
  $.sliderNav.events = {
    CLICK_PREV: "clickPrev",
    CLICK_NEXT: "clickNext"
  };

})(jQuery);

