/*
 * jquery-latesttopics.js
*/

(function () {

  $(function () {

/* !jQuery Object */

    var $latestTopics       = $('#latestTopics');
    var $latestTopicsNav    = $latestTopics.find('.category');
    var $latestTopicsNavBtn = $latestTopicsNav.find('a');
    var $latestTopicsIndex  = $latestTopics.find('.index');
    var $latestTopicsEntry  = $latestTopicsIndex.find('section');


/* !初期化 */
    
    // ツールチップを設定
    for (var i = 0; i < $latestTopicsEntry.length; i++) {
    
      var $target      = $latestTopicsEntry.eq(i);
      var $heading     = $target.find('h4');
      var $description = $target.find('.description');

      var headingStr     = $heading.text();
      var descriptionStr = $description.text();
      
      if (headingStr.length > 6) {
        $heading.html(headingStr.substring(0,5) + '...');
      }
      
      if (descriptionStr.length > 7) {
        $description.html(descriptionStr.substring(0,6) + '...');
      }

      var contents = '<div class="tooltip"><div class="heading">' + headingStr + '</div><div class="description">' + descriptionStr + '</div></div>';
      
      $target.tips( contents, {
        zIndex : 3,
        tipsPosition : {
          top : 25,
          left : 15
        },
        showTip : {
          duration : 200,
          easing : 'swing'
        },
        hideTip : {
          duration : 200,
          easing : 'swing'
        },
        chaseCursor : {
          interval : 33,
          speed : 3
        }
      });

    }
    
    // 最初のトピックスカテゴリー以外は非表示にする
    $latestTopicsIndex.not(':first').css({ display : 'none' });

    // ナビのボタンがクリックされとき
    $latestTopicsNavBtn.live('click', function (evt) {

      // プロパティ
      var $currentTarget = $(evt.currentTarget);
      var href = $currentTarget.attr('href');

      // ナビのボタンの切り替え
      $latestTopicsNavBtn.filter('.current').removeClass('current');
      $currentTarget.addClass('current');
      
      // 一覧の切り替え
      $latestTopics.children('section')
        .filter(':visible').hide()
      .end()
        .filter(href).show()
      .end();

      return false;
      
    });

  });
  
})(jQuery);

