/* ------------------------------------------------------------ */
/*                                                              */
/*                      jQuery Initialize                       */
/*                                                              */
/* ------------------------------------------------------------ */

var isIE6 = /*@cc_on!@*/0 && !window.XMLHttpRequest;
jQuery.extend(jQuery.easing,{easeOutExpo:function(x,t,b,c,d){return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b}});

jQuery(function($){

  // img hover : toggle -------------------------------------------
  $('.imghover').imghover();
  $('.imgtoggle').imgtoggle();

  // gotop smooth scroll ------------------------------------------------------------
  $('a[href="#top"], a[href*="#q"], .nav_anchor a[href*="#"], area[href*="#"]').mousedown(function(){
    $($(this).attr('href')).doScroll();
    return false;
  });

  // fontsize switcher ------------------------------------------------------------
//  $.fn.setFontsize(($.cookie('fsize')) ? $.cookie('fsize'):'js_fontsize_normal');
//  $('#js_fontsize a').click(function(){$.fn.setFontsize(this.id)});

  // colorbox ------------------------------------------------------------
  $('.colorbox').colorbox({onOpen:function(){$('embed,object').hide();},onClosed:function(){$('embed,object').show();}});

  // sliderkit -------------------------------------------
  var sliderset = {};
      sliderset.vernav = 0;
      sliderset.navcnt = 20;
      sliderset.speed  = 6000;
      sliderset.auto   = true;
  $('.sliderkit').append(function(){
    defimg = $(this).find('.sliderkit-default');
    if (defimg.size()>0) {
      sliderset.auto = false;
      myTimer = setInterval(function(){
        mySliders.stepForward();
      },2500);
      $('.sliderkit-nav li a').click(function(){
        defimg.fadeOut(700);
        clearInterval(myTimer);
      });
/*
      setTimeout(function(){
        defimg.fadeOut(700,function(){
          mySliders.autoScrollStart();
        });
      },5000);
*/
    }
    if ($(this).hasClass('side')) {
      sliderset.vernav = 1;
      sliderset.navcnt = 6;
      sliderset.auto   = false;
    }
    if ($(this).parent('section').is('.mod_reception,.mod_travel,.mod_tour')) {
      sliderset.navcnt = 3;
      sliderset.auto   = false;
    }
    var tmp_nav = '',tmp_panel = $('.sliderkit-panel',this);
    if (tmp_panel.size()>1 && $('.sliderkit-nav',this).size()<1) {
      for (var i=0;i<tmp_panel.size();i++) { tmp_nav = tmp_nav + '<li><a href="#" title="'+tmp_panel.eq(i).find('img').attr('alt')+'"><img src="'+tmp_panel.eq(i).find('img').attr('src')+'"  /></a></li>';}
      return '<div class="sliderkit-nav"><div class="sliderkit-nav-clip"><ul>'+tmp_nav+'</ul></div></div>';
    }
  }).sliderkit({
    auto: sliderset.auto,
    autospeed: sliderset.speed,
    shownavitems: sliderset.navcnt,
    verticalnav: sliderset.vernav,
    circular: true,
    mousewheel: false,
    navscrollatend: true,
    navpanelautoswitch: false,
    panelfx: "fading",
    panelfxspeed: 2000,
    panelfxeasing: "easeOutExpo",
    panelfxbefore: function(){
    },
    panelfxafter: function(){
    }
  });
  var mySliders = $('.sliderkit').data('sliderkit');

  // 現在位置表示 -------------------------------------------
  $('.nav_sub a').each(function(){
    var href = $(this).attr('href').substring(0,$(this).attr('href').lastIndexOf('.'));
    if (location.pathname.indexOf(href) > -1) {
      $(this).addClass('on').parent().parents('li').children('a').addClass('on');
    }
  })

  // nav_index ------------------------------------------------------------
  $('.nav_index li a').click(function(){
    $(this).parent('li').siblings().children('a').removeClass('on');
    $(this).addClass('on');
    var target = $(this).attr('data-target').split(',');
    $(this).parents('.mod_index').find('.filterd a').addClass('inactive');
    for (var i=0;i<target.length;i++) {
      $(this).parents('.mod_index').find('.filterd a[href$="'+target[i]+'"],.filterd a[href$="'+target[i]+'.html"]').removeClass('inactive');
    }
    return false;
  });
  $('.nav_index h3').click(function(){
    $(this).parents('.mod_index').find('.filterd a').removeClass('inactive');
    $(this).parent('.nav_index').find('li a').removeClass('on');
  });

  // mod_tab ------------------------------------------------------------
  $('.nav_tab li a').click(function(){
    $(this).parent('li').siblings().children('a').removeClass('on');
    $(this).addClass('on');
    $(this).parents('.nav_tab').siblings('.body').hide();
    var tabTarget = '#'+$(this).attr('href').split('#')[1];
    $(tabTarget).show();
    $('ul li',tabTarget).flatHeights();
    return false;
  });
  $('.mod_tab .nav_tab li:first-child a').click();

  // flatheight ------------------------------------------------------------
  $(window).load(function() {
    $('.flatheight:visible').each(function(i) {
      $(this).children('li:not(.append), section').flatHeights();
      $(this).children('li:not(.append), section').children('a').height('100%');
      $(this).find('.flatheight_target').flatHeights();
    });
    $('.content_main,.content_sub').flatHeights();
  });
});










/* ------------------------------------------------------------ */
/*                                                              */
/*                       jQuery Functions                       */
/*                                                              */
/* ------------------------------------------------------------ */

(function($){

  // ------------------------------------------------------------
  // [ fontsize switcher ] 
  // ------------------------------------------------------------
  $.fn.extend({
    setFontsize: function(fsize) {
      $('#js_fontsize a').removeClass('on');
      switch (fsize) {
        case 'js_fontsize_large' : fsize_val='90%'; $('#js_fontsize a#js_fontsize_large').addClass('on'); break;
        default                  : fsize_val='78%';  $('#js_fontsize a#js_fontsize_normal').addClass('on');
      }
      $('body').css('font-size',fsize_val);
      $.cookie('fsize',fsize,{expires:30,path:'/'});
    }
  });


  // ------------------------------------------------------------
  // [ doScroll ] 
  // ------------------------------------------------------------
  $.fn.extend({
    doScroll: function() { $('html,body').animate({scrollTop:$(this).offset().top},200); }
  });


  // ------------------------------------------------------------
  // [ imghover | imgtoggle ]  filename.EXT <-> filename_on.EXT
  // ------------------------------------------------------------
  $.fn.extend({
    imghover: function() {
      return this.each(function() {
        var node = $(this);
        if (!node.is('img')&&!node.is(':image')){
          node.find('img,:image').imghover();
          return;
        }
        node.hover(function() {
          node.addClass('hover');
          if (!node.hasClass('on')) $.fn.imgOn(node);
        },function() {
          node.removeClass('hover');
          if (!node.hasClass('on')) $.fn.imgOff(node);
        });
      });
    },
    imgtoggle: function() {
      return this.each(function() {
        var node = $(this);
        if (!node.is('img')&&!node.is(':image')){
          node.find('img,:image').imgtoggle();
          return;
        }
        node.click(function() {
          if (node.hasClass('on')) {
            $.fn.imgOff(node);
          } else {
            if (!node.hasClass('hover')) $.fn.imgOn(node);
          }
          node.toggleClass('on');
        });
      });
    },
    imgOn: function(node) {
      if(node.attr('src').match(/^(.+)_on(\.[a-z]+)$/)) return;
      if(isIE6 && node.context.style.filter) {
        node.context.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+node.context.style.filter.split('"')[1].replace(/^(.+)(\.[a-z]+)$/,'$1_on$2')+'",sizingMethod="scale")';
      } else {
        node.attr('src',node.attr('src').replace(/^(.+)(\.[a-z]+)$/,'$1_on$2'));
      }
    },
    imgOff: function(node) {
      if(isIE6 && node.context.style.filter) {
        node.context.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+node.context.style.filter.split('"')[1].replace(/^(.+)_on(\.[a-z]+)$/,'$1$2')+'",sizingMethod="scale")';
      } else {
        node.attr('src',node.attr('src').replace(/^(.+)_on(\.[a-z]+)$/,'$1$2'));
      }
    }
  });


  // ------------------------------------------------------------
  // [ hasClasses ] 
  // ------------------------------------------------------------
  $.fn.extend({
    hasClasses: function( selector ) {
      if (typeof selector == 'string') {
        selector = /^\./.test(selector) ? selector.replace(/^\./,"").split(".") : selector.replace(/^ | $/g,"").split(" "); 
      }
      for (var i = -1,j = 0, n = selector.length; ++i < n;) {
        if (this.hasClass(selector[i])) j++;
      }
      return n === j;
    }
  });

})(jQuery);

