// Namespace
if(typeof(BESTORYns)=='undefined'){
 var BESTORYns={
  util:{},      // Other Utility Function
  cls:{},       // Class
  show:{},      // Element show Function
  mv:{},        // Element move Function
  cb:{},        // Callback Function
  eom:null      // End Mark
 };
}

function setActiveStyleSheet(title){ISMEDIAns.util.setFontStyleSheet(title);}
function printWindow(url,w,h){ISMEDIAns.util.openWindow(url,w,h);}

BESTORYns.util.siteNavi = function(_id){
 for (var i=1;i<=3;i++){
  var nid = '#sitenavi-menu' + i;
  var mid = '#sitenavi-menu' + i + '-box';
  var bgimg = 'url(' + BESTORYns.util.siteNavi.bgImage[i].src + ')';
  if (_id == i){
   $(nid)[0].className = 'reverse';
   $(mid).fadeIn('fast');
   $('#navi-menu').css('background-image',bgimg);
  }else{
   $(nid)[0].className = 'normal';
   $(mid).fadeOut('fast');
  }
 }
};
BESTORYns.util.siteNavi.task = null;
BESTORYns.util.siteNavi.defaultIndex = 0;
BESTORYns.util.siteNavi.bgImage = new Array();

BESTORYns.util.siteNavi.menu = function(event){
 var ary = $(event.relatedTarget).parents();
 for(i=0;i<ary.length;i++){if (ary[i].id == 'navi-menu'){return;}}
 if (BESTORYns.util.siteNavi.defaultIndex == 0){
  $('#navi-menu').css('background-image','url(' + BESTORYns.util.siteNavi.bgImage[0].src + ')');
  $('#sitenavi-menu1')[0].className = 'normal';
  $('#sitenavi-menu1-box').fadeIn('fast');
  $('#sitenavi-menu2')[0].className = 'normal';
  $('#sitenavi-menu2-box').fadeOut('fast');
  $('#sitenavi-menu3')[0].className = 'normal';
  $('#sitenavi-menu3-box').fadeOut('fast');
 }else{
  BESTORYns.util.siteNavi(BESTORYns.util.siteNavi.defaultIndex);
 }
};
BESTORYns.util.siteNavi.menu.task = null;

BESTORYns.util.featureNavi = function(_id){
 for (var i=1;i<=7;i++){
  var iid = '#feature-item' + i;
  var did = '#feature-item' + i + '-detail';
  if (_id == i){
   $(iid)[0].className = 'active';
   $(did).fadeIn(1500);
  }else{
   $(iid)[0].className = 'no-active';
   $(did).fadeOut(1500);
  }
 }
 BESTORYns.util.featureNavi.autoplay = 0;
};
BESTORYns.util.featureNavi.task = null;
BESTORYns.util.featureNavi.defaultIndex = 7;
BESTORYns.util.featureNavi.maxIndex = 7;
BESTORYns.util.featureNavi.currentIndex = 7;

BESTORYns.util.featureNavi.defaultDisp = function(event){
 var ary = $(event.relatedTarget).parents();
 for(i=0;i<ary.length;i++){if (ary[i].id == 'feature'){return;}}
 BESTORYns.util.featureNavi.currentIndex = BESTORYns.util.featureNavi.defaultIndex;
 BESTORYns.util.featureNavi(BESTORYns.util.featureNavi.defaultIndex);
};
BESTORYns.util.featureNavi.defaultDisp.task = null;

BESTORYns.util.featureNavi.playTimer = null;
BESTORYns.util.featureNavi.play = function(interval){
 BESTORYns.util.featureNavi.playTimer = $.timer(interval,function(timer){
  if (BESTORYns.util.featureNavi.autoplay != 1){
   timer.stop();
   $('#slideplayerbutton')[0].src = '/common/files/dev/images/v1/feature/start1.gif';
  } else {
   $('#slideplayerbutton')[0].src = '/common/files/dev/images/v1/feature/stop1.gif';
   var next = BESTORYns.util.featureNavi.currentIndex;
   // ランダムではなく順序で移動 最後の次は先頭に戻る
   BESTORYns.util.featureNavi.currentIndex = (next==BESTORYns.util.featureNavi.maxIndex) ? 1: next+1;
   BESTORYns.util.featureNavi(BESTORYns.util.featureNavi.currentIndex);
   BESTORYns.util.featureNavi.autoplay = 1;
   timer.reset(4500);
  }
 });
};

BESTORYns.util.cosmeCalendar = {};
BESTORYns.util.cosmeCalendar.currentIndex = 1;
BESTORYns.util.cosmeCalendar.popup = function(o){
 $('#infocalendar td div.popup').hide('fast');
 $(o).siblings().filter('div').fadeTo('fast',0.90).slideDown('fast');
};
BESTORYns.util.cosmeCalendar.popup.task = null;

BESTORYns.util.cosmeCalendar.poppuff = function(o){
 $(o).hide('fast');
};
BESTORYns.util.cosmeCalendar.poppuff.task = null;


BESTORYns.util.columnBlock = {};
BESTORYns.util.columnBlock.currentIndex = 0;
BESTORYns.util.columnBlock.playTimer = null;
BESTORYns.util.columnBlock.play = function(interval){
 BESTORYns.util.columnBlock.playTimer = $.timer(interval,function(timer){
  if (BESTORYns.util.columnBlock.autoplay != 1){
   $(BESTORYns.util.columnBlock.container).queue([]).stop();
   timer.stop();
  } else {
   if (BESTORYns.util.columnBlock.currentIndex >= (BESTORYns.util.columnBlock.listCount - BESTORYns.util.columnBlock.showListCount)){
    BESTORYns.util.columnBlock.currentIndex = 0;
   } else {
    BESTORYns.util.columnBlock.currentIndex++;
   }
   BESTORYns.util.columnBlock.move(600);
   timer.reset(3000);
  }
 });
};
BESTORYns.util.columnBlock.play.task = null;
BESTORYns.util.columnBlock.play.stop = function(){
 $(BESTORYns.util.columnBlock.container).queue([]).stop();
 BESTORYns.util.columnBlock.autoplay = 0;
};
BESTORYns.util.columnBlock.play.start = function(event){
 var ary = $(event.relatedTarget).parents();
 for(i=0;i<ary.length;i++){if (ary[i].id == 'column-list'){return;}}
 BESTORYns.util.columnBlock.autoplay = 1;
 $(BESTORYns.util.columnBlock.container).queue([]).stop();
 BESTORYns.util.columnBlock.playTimer.stop();
 BESTORYns.util.columnBlock.playTimer = null;
 BESTORYns.util.columnBlock.play(10);
};

$(function(){
 ISMEDIAns.util.initFontStyle();

 /*
  サイトナビゲーション
 */
 var SN = BESTORYns.util.siteNavi;

 // ナビゲーション背景画像先読み
 SN.bgImage[0] = new Image();
 SN.bgImage[0].src = '/common/images/v1/navi/navi_bg.gif';
 SN.bgImage[1] = new Image();
 SN.bgImage[1].src = '/common/images/v1/navi/bg_navi1.jpg';
 SN.bgImage[2] = new Image();
 SN.bgImage[2].src = '/common/images/v1/navi/bg_navi2.jpg';
 SN.bgImage[3] = new Image();
 SN.bgImage[3].src = '/common/images/v1/navi/bg_navi3.jpg';

 // デフォルトアクティブメニューインデックス
 if ($('#sitenavi-menu1').className == 'reverse') {
    SN.defaultIndex = 1;
 }
 if ($('#sitenavi-menu2').className == 'reverse') {
    SN.defaultIndex = 2;
 }
 if ($('#sitenavi-menu3').className == 'reverse') {
    SN.defaultIndex = 3;
 }

 // ナビゲーション変更
 for (var i=1;i<=3;i++){
  $('#sitenavi-menu'+i).mouseover(function(){
   var id = $(this)[0].id.replace('sitenavi-menu','');
   SN.task = SN.later(100)(id);
  });
  $('#sitenavi-menu'+i).mouseout(function(){try{SN.task.cancel();}catch(e){}});
 }

 // ナビゲーションデフォルト
 $('#navi-menu').mouseout(function(event){SN.menu.task = SN.menu.later(300)(event);});
 $('#navi-menu').mouseover(function(event){try{SN.menu.task.cancel();}catch(e){}});


 /*
  フューチャーナビゲーション
 */
 if ($('#feature-item1')[0] != undefined) {
  var FN = BESTORYns.util.featureNavi;
  // フューチャー変更
  for (var i=1;i<=7;i++){
   $('#feature-item'+i+'-detail').css('visibility','visible').hide();
   $('#feature-item'+i)
   .mouseover(function(){
    var id = $(this)[0].id.replace('feature-item','');
    FN.task = FN.later(300)(id);
   })
   .mouseout(function(){
    try{FN.task.cancel();}catch(e){}
   });
  }
  // フューチャーデフォルト
  $('#feature').mouseout(function(event){FN.defaultDisp.task = FN.defaultDisp.later(300)(event);});
  $('#feature').mouseover(function(event){try{FN.defaultDisp.task.cancel();}catch(e){}});
  // フューチャーオートプレイヤー
  $('#slideplayerbutton')[0].src = '/common/files/dev/images/v1/feature/stop1.gif';
  FN.autoplay = 1;
  if ($('#prePage')[0] != undefined) {
   FN.currentIndex = FN.defaultIndex - 1;
   FN.play(4500);
  } else {
   $('#feature-item7-detail').fadeIn(300);
   FN.play(4500);
  }
  $('#slideplayerbutton')
  .hover(
   function(){
    var iconsrc = this.src
    this.src = iconsrc.replace(/(.*)1\.gif/,'$12\.gif');
   },function(){
    var iconsrc = this.src
    this.src = iconsrc.replace(/(.*)2\.gif/,'$11\.gif');
  })
  .click(function(){
   FN.autoplay = (FN.autoplay==1) ? 0 : 1;
   FN.playTimer.stop();
   FN.playTimer = null;
   FN.play(10);
  });
 }

 /*
  コスメカレンダーナビゲーション
 */
 if ($('#infocalendar')[0] != undefined) {
  var CC = BESTORYns.util.cosmeCalendar;
  $('#btnCalprev').click(function(){
   if (CC.currentIndex == 2){
    $('#infocalendar1').animate({left:'0px'},800);
    $('#infocalendar2').animate({left:'300px'},800);
    CC.currentIndex = 1;
   } else if (CC.currentIndex == 1) {
    $('#infocalendar0').animate({left:'0px'},800);
    $('#infocalendar1').animate({left:'300px'},800);
    CC.currentIndex = 0;
   } else if (CC.currentIndex == 0) {
   }
  });
  $('#btnCalnext').click(function(){
   if (CC.currentIndex == 0){
    $('#infocalendar0').animate({left:'-300px'},800);
    $('#infocalendar1').animate({left:'0px'},800);
    CC.currentIndex = 1;
   } else if (CC.currentIndex == 1) {
    $('#infocalendar1').animate({left:'-300px'},800);
    $('#infocalendar2').animate({left:'0px'},800);
    CC.currentIndex = 2;
   } else if (CC.currentIndex == 0) {
   }
  });

  var eventSpans = $('#infocalendar td span.eventCalendar');
  for(var i=0;i<eventSpans.length;i++){
   $(eventSpans[i])
   .mouseover(function(){
     CC.popup.task = CC.popup.later(200)(this);
   })
   .mouseout(function(){
    try{CC.popup.task.cancel();}catch(e){}
   });

  }

  $('#infocalendar td div.popup')
  .mouseout(function(){
    CC.poppuff.task = CC.poppuff.later(200)(this);
  })
  .mouseover(function(){
    try{CC.poppuff.task.cancel();}catch(e){}
  });

  $('#infocalendar').mouseout(function(event){
   var ary = $(event.relatedTarget).parents();
   for(i=0;i<ary.length;i++){if (ary[i].id == 'infocalendar'){return;}}
   $('#infocalendar td div.popup').hide();
  });
 }

 /*
  コラムリスト
 */
 if ($('#column-list')[0] != undefined) {
  var CB = BESTORYns.util.columnBlock;
  CB.container = $('#column-lists-container');
  CB.showListCount = 3;
  CB.listMargin = 5;
  CB.list = $('#column-lists-container div');
  CB.listCount = CB.list.length;
  CB.currentIndex = 0;
  var containerWidth = 5;
  for(var i=0;i<CB.listCount;i++){
   containerWidth += $(CB.list[i]).width() + (CB.listMargin * 2);
  }
  $(CB.container).width(containerWidth);

  CB.move = function(speed){
   var containerLeft = 0;
   for(var i=0;i<CB.currentIndex;i++){
    containerLeft += ($(CB.list[i]).width() + (CB.listMargin * 2)) * -1;
   }
   $(CB.container).animate({left:containerLeft + 'px'},speed);
  };

  $('#column-block-prev-id').click(function(){
   if (CB.currentIndex>0){
    CB.currentIndex--;
    CB.move(300);
   }
  });

  $('#column-block-next-id').click(function(){
   if (CB.currentIndex < (CB.listCount - CB.showListCount)){
    CB.currentIndex++;
    CB.move(300);
   }
  });

  $('#column-list').mouseover(function(){
   try{
    CB.play.task.cancel();
   }catch(e){}
   CB.play.stop();
  });
  $('#column-list').mouseout(function(event){CB.play.task = CB.play.start.later(300)(event);});
  CB.autoplay = 1;
  CB.play(3000);
 }
});
