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

(function ($) {

  $.arrowBtn = function (mode, contents) {

    var DURATION = 150;
    
    var $arrowBtn = $("<div>", {
      "class": "arrowBtn"
    });
    
    var $arrowContent;
    
    var position1 = 9;
    var position2 = 13;
    
    var btnModes = $.arrowBtn.modes;
    
    var positionData;
    
    
    // !初期化
    
    switch (mode) {
    case btnModes.RIGHT:
      positionData = [
        { right: position1 },
        { right: position2 }
      ];
      break;
    case btnModes.LEFT:
      positionData = [
        { left: position1 },
        { left: position2 }
      ];
      break;
    }
    
    $arrowBtn.html(contents);
    $arrowBtn.bind("click", onClick);
    $arrowBtn.bind("mouseenter", onMouseEnter);
      
    $arrowContent = $arrowBtn.children("img");

    
    // !イベントハンドラ
    
    function onClick(e) {
      slideBtn(mode);
    }
    
    function onMouseEnter(e) {
      slideBtn(mode);
    }
    
    
    // !プライベート
    
    function slideBtn() {
      $arrowContent.stop();
      $arrowContent.css(positionData[0]);
      $arrowContent.animate(positionData[1], {
        duration: DURATION
      });
    };
    
    return $arrowBtn;
  };

  
  // !スタティック
  
  $.arrowBtn.modes = {
    LEFT: "left",
    RIGHT: "right"
  };

})(jQuery);

