/* ------------------------------------------------------------ */
/*                                                              */
/*                      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)});

  // 現在位置表示 -------------------------------------------
  $('.nav_main a,.nav_local a').each(function(){
    var href = $(this).attr('href').substring(0,$(this).attr('href').lastIndexOf('.'));
        href = (href=='') ? $(this).attr('href').substring(0,$(this).attr('href').lastIndexOf('/')) : href;
    if (location.pathname.indexOf(href) > -1) {
      $(this).addClass('on').parent().parents('li').children('a').addClass('on');
    }
  })
  $('.nav_local a[class!=on]').hover(function(){$(this).toggleClass('on');});


  // layer menu ------------------------------------------------------------
  var ontimer,offtimer;
  $('.nav_main li.n2 li a').hover(function(){
    $('#layers nav').hide();
    clearTimeout(offtimer);
    var targ = $(this).parent('li').attr('class');
    ontimer = setTimeout(function(){ $.showLayer(targ); },300);
  },function(){
    offtimer = setTimeout(function(){ $.hideLayer(); clearTimeout(ontimer); },200);
  });
  $('#layers').hover(function(){
    clearTimeout(offtimer);
  });
  $('#layers_overlay, #layers .btn_close').click(function(){
    $.hideLayer();
  });

  $.showLayer = function(targ){
    $('#layers').height(($('body').innerHeight()-159)+'px').children('nav:not(.'+targ+')').hide().end().fadeIn(100,function(){
      $('.'+targ,this).fadeTo(100,1);
    });
  }
  $.hideLayer = function(){
    $('#layers').fadeOut(100).children('nav').stop().hide();
  }


  // 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, section').flatHeights();
      $(this).children('li, section').children('a, .polaroid').height('100%');
      $(this).find('.flatheight_target').flatHeights();
    });
  });
  
  // list_spec ------------------------------------------------------------
  $('.list_spec dd').each(function(){
    var marginL = $(this).prev('dt').width()+20;
    $(this).css('marginLeft',marginL+'px');
  });
  
  // .feature_movie ------------------------------------------------------------
  if($('.feature_movie').size()) {
    $('.feature-nav').addClass('cmn_float_l');
  }

  // colorbox ------------------------------------------------------------
  $('.colorbox.iframe').colorbox({iframe:true,innerWidth:'700px',innerHeight:'500px'});
  $('.colorbox').colorbox({onOpen:function(){$('embed,object').hide();},onClosed:function(){$('embed,object').show();}});



  // sliderkit -------------------------------------------
  $('.feature').each(function(){
    $('.feature-nav li',this).append('<span class="border"></span>');
  }).sliderkit({
    cssprefix:'feature',
    shownavitems:6,
    auto:true,
    circular:true,
    navscrollatend:true,
    autospeed:5000
  });

  $('.gallery').append(function(){
    var tmp_nav = '',tmp_panel = $('.gallery-panel',this);
    if (tmp_panel.size()>1 && $('.gallery-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><span class="border"></span></li>';}
      return '<div class="gallery-nav"><div class="gallery-nav-clip"><ul>'+tmp_nav+'</ul></div></div>';
    }
  }).sliderkit({
    cssprefix:'gallery',
    shownavitems:($('.gallery-panel',this).size()>15) ? 15:$('.gallery-panel',this).size(),
    auto:false,
    autostill:false,
    circular:true,
    navscrollatend:true,
    autospeed:4000
  }).each(function(){
    $('.gallery-player .play').hide().click(function(){
      if(myGallery.isPlaying==null) {
        myGallery.autoScrollStart();
        $(this).siblings('.stop').show();
        $(this).hide();
      }
    });
    $('.gallery-player .stop').click(function(){
      myGallery.autoScrollStop();
      $(this).siblings('.play').show();
      $(this).hide();
    });
  });
   var myGallery = $('.gallery').data('sliderkit');
  $('a[href=#gallery]').colorbox({inline:true,href:'#gallery',close:'とじる',scrolling:false,scalePhotos:false,innerWidth:'670px',innerHeight:'492px',
    onComplete:function(){
      $('.gallery-player .play').click();
    },
    onClosed:function(){
      $('.gallery-player .stop').click();
    }
  });



  //dress sliderkit by JSON ------------------------------------------------------------
  $.loadData = function(path){
    $.getJSON(path,null,function(json){dress_data=json;$.setData(true)});
  }

  $.setData = function(init){
    $('.dresscollection-panels').empty();
    var sell,rental;

    for (var i in data=dress_data) {
      sell = (data[i].sell) ? '<span class="label label_sell">セルドレス</span>':'';
      rental = (data[i].rental) ? '<span class="label label_rental">レンタル可</span>':'';
      $('.dresscollection-panels').append('\
      <li class="dresscollection-panel"> \
        <a href="/dress/img_dress/big/'+data[i].id+'.jpg" class="MagicZoom" id="dress'+i+'"><img src="/dress/img_dress/default/'+data[i].id+'.jpg" alt="" /></a> \
        <dl> \
        <dt><img src="/dress/img_dress/label/'+data[i].id+'.png" alt="'+data[i].name+'" /></dt> \
        <dd>'+data[i].desc+'</dd> \
        <dd>'+sell+rental+'</dd> \
        <dd><a href="/info.html"><img src="/_common/img/btn_inquiry.png" alt="お問い合わせ" /></a></dd> \
        </dl> \
      </li> \
      ');
    }
    // end of for

    $('.dresscollection').append(function(){
      var tmp_nav = '',tmp_panel = $('.dresscollection-panel',this);
      if (tmp_panel.size()>1 && $('.dresscollection-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><span class="border"></span></li>';}
        return '<div class="dresscollection-nav"> \
        <div class="dresscollection-nav-clip"><ul>'+tmp_nav+'</ul></div> \
        <div class="dresscollection-go-btn dresscollection-go-prev"><a rel="nofollow" href="#" title="戻る"><span>BACK</span></a></div> \
        <div class="dresscollection-go-btn dresscollection-go-next"><a rel="nofollow" href="#" title="進む"><span>NEXT</span></a></div> \
        </div>';
      }
    }).sliderkit({
      cssprefix:'dresscollection',
      shownavitems:11,
      auto:false,
      circular:true,
      navscrollatend:true,
      navitemshover:false,
      autospeed:5000
    }).each(function(){
      $('.MagicZoom',this).toggle(function(){
          var defaultimg =  $(this).children('img').attr('src');
          var superimg   =  $('.MagicZoomBigImageCont div img',this).attr('src').replace('/big/','/super/');
          MagicZoom.update($(this).attr('id'), superimg, defaultimg,'always-show-zoom:true');
        },function(){
          var defaultimg =  $(this).children('img').attr('src');
          var bigimg     =  $('.MagicZoomBigImageCont div img',this).attr('src').replace('/super/','/big/');
          MagicZoom.update($(this).attr('id'), bigimg, defaultimg,'');
        }
      );
    });
  
    MagicZoom.options = {
      'zoom-position': 'right',
      'zoom-align': 'bottom',
      'zoom-width': '300px',
      'zoom-height': '400px',
      'zoom-distance': '-110px',
      'zoom-window-effect': 'shadow',
      'preserve-position': true,
      'initialize-on': 'mouseover',
      'hint': false,
      'hint-text': '',
      'hint-position': 'tr'
    };
    MagicZoom.start();
  }
  // end of setData



  //cnRecent ------------------------------------------------------------
  var pid = cnrecent_set($);
  cnrecent($, pid);
});










/* ------------------------------------------------------------ */
/*                                                              */
/*                       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);





// ------------------------------------------------------------
// PopUp
// ------------------------------------------------------------
function popup(url) {
  var winName;
  if(url.indexOf('.html')>0) {
    winName = url.substring(url.lastIndexOf('/')+1,url.indexOf('.html'));
  } else {
    winName = url.substring(url.lastIndexOf('/',url.lastIndexOf('/')-1)+1,url.lastIndexOf('/'));
  }
  var subWin = window.open(url,winName,'width=707,height=900,status=1,scrollbars=1,menubar=0,resizable=1');
  void(0);
}
function openerlink(url) {
  if(!window.opener || window.opener.closed) {
  } else {
    window.opener.location.href = url;
  }
  void(0);
}



