var is_oldIE = is_oldIE();
var is_smartPhone = is_smartPhone();

$(document).ready(function(){

  mainPisition();
  footPisition();

  if(!is_smartPhone){
    smoothScroll();
    topImageDisplay();
    pickupMovieStyle();
    accordionBanner();
    tickerDisplay();
    companyMapDisplay();
    theatreMapDisplay();
  }else{
    sf_topImageDisplay();
    sf_accordionBanner();
    sf_theatreMapDisplay();
  }
  if(!is_oldIE && !is_smartPhone){
    scrollActionDisplay();
  }

  if(!is_oldIE && !is_smartPhone){
  }else{
    if(is_oldIE){
      $('.bgCommon,#head,#gNavi').exFixed();
    }
    if(is_smartPhone){
      $('.bgCommon,#head,#topimgBanner').css('position','absolute');
      $('.bgCommon').height($('#main').outerHeight()+$('#main').offset().top);
    }
  }

  companyDisplay();

  $('#t-books').click(function(){
    window.open($('#t-books').attr('href'), 'history', 'width=909, height=640, menubar=no, toolbar=no, scrollbars=yes');
    return false;
  });

});


//mainPisition ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
function mainPisition(){
  var defaults = {
    KEYSTAGE : '#headMain',
    MAIN : '#main',
    SPACE : 100
  }
  if($(defaults.KEYSTAGE).size() > 0){
    $(defaults.MAIN).css('top',$(defaults.KEYSTAGE).height()+$(defaults.KEYSTAGE).position().top+defaults.SPACE);
  }
}



//footPisition ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
function footPisition(){
  var footPOS = $('#main').outerHeight();
  var borderLine = footPOS;
  var sideMaker = $('#headSide').outerHeight();
  if(borderLine < sideMaker) borderLine = sideMaker
  borderLine = borderLine+$('#foot').height()+50;
  var mainFrameH = $('.mainFrame').height();
  $('.mainFrame').css('min-height',borderLine-200+'px');

  footPisitionFix();
  $(window).bind("resize",function(){
    footPisitionFix();
  });

  function footPisitionFix(){
    if($(window).height() > borderLine){
      $('.mainFrame').height(mainFrameH+($(window).height()-footPOS));
    }
  }
}



//topImageDisplay ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
function topImageDisplay(){
  var top_image_loop_flg = true;
  var loopFlag;
  var defaults = {
    STAGE : '#topimgStage',
    CHANGER : '#topimgChanger',
    UNIT : '.topimgUnit',
    IMGCLASS : '.imgBox',
    CURRENT : 'current',
    RUN : 'run',
    MAX : 4,
    INSPEED : 500,
    AUTOSPEED : 5000,
    INI : 0,
    CHANGESPAN : 30000
  }

  var itemCount = $(defaults.CHANGER).find('li').size();
  if($('#banner_random_view').val() == 1){
    defaults.INI = Math.floor(Math.random()*itemCount);
  }
  if($(defaults.STAGE).size() > 0){
    var echoID = $(defaults.CHANGER).find('li:eq('+defaults.INI+') a').attr('rel');
    $(defaults.CHANGER).find('a[rel='+echoID+']').addClass(defaults.CURRENT);
    $(defaults.STAGE).find(defaults.UNIT).css('z-index','100');
    $('#'+echoID).css('z-index','200').stop(false).show();

    if(itemCount > defaults.MAX){
      var stage = $(defaults.CHANGER).find('ul');
      var liSize = $(defaults.CHANGER).find('ul li').outerWidth();
      defaults.innerWidth = liSize*itemCount;

      $(stage).css({
        'position':'absolute',
        'top':'3px',
        'left': '0px'
      }).width(liSize*itemCount*2).prepend($(stage).html());
    }

    $(defaults.IMGCLASS).find('img').each(function(){
      $(this).css('margin-left',$(this).width()*-0.5);
    });

    $(defaults.CHANGER).find('li a').each(function(){
      $(this).mouseover(function(){
        if(!$(this).hasClass(defaults.CURRENT)){
          var echoID = $(this).attr('rel');
          var oldID = $(defaults.CHANGER).find('.'+defaults.CURRENT).attr('rel');
          changeBanner(echoID,oldID);
        }
      })
    });

    $(window).bind('load',function(){
      $(defaults.CHANGER).css('visibility','visible');
      var width_flg = -1*defaults.innerWidth;
      if(itemCount > defaults.MAX){
        changerScroll();
      }
      function changerScroll(){
        $(stage).animate({
          left: width_flg
        },defaults.CHANGESPAN,'linear',function(){
          $(stage).css({left:0});
          changerScroll();
        });
      }
      autoLoop();
    });

    function autoLoop(){
      loopFlag = setTimeout(function(){
        var oldObj = $(defaults.CHANGER).find('.'+defaults.CURRENT);
        var newIdx = $(defaults.CHANGER).find('a').index(oldObj)+1
        if(itemCount == newIdx) newIdx = 0;
        var echoObj = $(defaults.CHANGER).find('a:eq('+newIdx+')');
        changeBanner($(echoObj).attr('rel'),$(oldObj).attr('rel'));
      },defaults.AUTOSPEED);
    }

    function changeBanner(echoID,oldID){
      clearTimeout(loopFlag);
      stop_movie(oldID);
      $(defaults.CHANGER).find('a[rel='+oldID+']').removeClass(defaults.CURRENT);
      $(defaults.CHANGER).find('a[rel='+echoID+']').addClass(defaults.CURRENT);
      $('#'+oldID).css('z-index','10').stop(false).fadeTo(defaults.OUTSPEED,0,function(){
        $(this).hide();
        autoLoop();
      });
      $('#'+echoID).css('z-index','20').stop(false).fadeTo(defaults.INSPEED,1);
    }

  }
}


function sf_topImageDisplay(){
  var defaults = {
    STAGE : '#topimgStage',
    CHANGER : '#topimgChanger',
    IMGCLASS : '.imgBox',
    UNIT : '.topimgUnit',
    INI : 0
  }
  if($(defaults.STAGE).size() > 0){
    $(defaults.STAGE).find(defaults.UNIT+':eq('+defaults.INI+')').show();

    $(defaults.IMGCLASS).find('img').each(function(){
      $(this).css('margin-left',$(this).width()*-0.5);
    });

    $(defaults.CHANGER).height('auto');
    $(defaults.CHANGER).css('visibility','visible');

    $(defaults.CHANGER).find('a').click(function(){
      var id = $(this).attr('rel')
      $(defaults.STAGE).find(defaults.UNIT).hide();
      $(defaults.STAGE).find('#'+id).show();
    });
  }
}



//smoothScroll ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
function smoothScroll(hash){
  var classList = new Array();
  classList['initial'] = 45;
  classList['article'] = 24;

  var defaults = {
    EASING : 'easeOutCubic',
    UNIQ : 'Area',
    SPEED : 1000
  }

  if(hash){
    smoothScrollAction('#'+hash,hash);
    return false;
  }else{

    $('a[href="#"]').click(function(){
      $('html,body').stop(false).animate({scrollTop: 0},defaults.SPEED,defaults.EASING,function(){
        $.history.load('');
      });
      return false;
    });

    $('a[href^="#"]').each(function(){
      var href = $(this).attr('href');
      if(href.match(/^#./)){
        $(this).click(function(){
          hash = href.replace(/^#/,'');
          smoothScrollAction(href,hash);
          return false;
        });
      }
    });
  }


  function smoothScrollAction(href,hash){
    if($(href+defaults.UNIQ).size() > 0) href = href+defaults.UNIQ;
    if($(href).size() > 0){
      if(classList[$(href).attr('class')]){
        var classSet = $(href).attr('class');
      }else{
        var classSet = 'initial';
      }
      var endPos = Math.round($(href).offset().top) - classList[classSet];
      if(endPos != $(window).scrollTop()){
        $('html,body').stop(false).animate({scrollTop: endPos},defaults.SPEED,defaults.EASING,function(){
          $.history.load(hash);
        });
      }
    }
  }

}

//companyDisplay ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
function companyDisplay(){
  var defaults = {
    PARENT : '#companyArea',
    STAGE : '#companyStage',
    TAB : '#companyTab',
    MAIN : 15,
    ARTICLE : '.innerArticle',
    ARROW : '.arrow',
    CURRENT : 'current',
    SPEED : 500,
    OPNE : 500,
    EASING : 'easeOutCubic',
    VIEW : 0,
    SCROLL : 23
  }
  var IMGPOS = new Array();

  if($(defaults.STAGE).size() > 0){

    //$(window).bind('load',function(){
      $.history.init(function(url){
        var companyID = $(defaults.TAB).find('li a').index($(defaults.TAB).find('li a[href="#'+url+'"]'));
        if(companyID > -1){
          ArticleEcho($(defaults.TAB).find('li:eq('+companyID+') a'));
          if(url == 'profile'){
            if(!$('#companyMap').hasClass('current')){
              companyMapDisplay();
              $('#companyMap').addClass('current');
            }
          }
          return false;
        }else{
          smoothScroll(url);
          return false;
        }
      });
    //});

    var iconWidth =  $(defaults.ARROW).width()/2;
    $(defaults.TAB).hover(function(){
      return false;
    },function(){
      arrowReturn();
    }).find('li').each(function(i){
      IMGPOS[i] = $(this).position().left+($(this).find('img').width()/2)-iconWidth;
      $(this).find('a').mouseover(function(){
        $(defaults.TAB).find(defaults.ARROW).stop().animate({
          'left':IMGPOS[i]
        },defaults.SPEED,defaults.EASING);
      });
    })
    $(defaults.STAGE).height($(defaults.STAGE).find(defaults.ARTICLE+':eq('+defaults.VIEW+')').height()).find(defaults.ARTICLE+':eq('+defaults.VIEW+')').show();
    $(defaults.ARROW).css('left',$(defaults.TAB).find('li:eq('+defaults.VIEW+')').position().left+($(defaults.TAB).find('li:eq('+defaults.VIEW+')').find('img').width()/2)-iconWidth).show();
    imageOver($(defaults.TAB).find('li:eq('+defaults.VIEW+') a'));

    $(defaults.TAB).find('li a').click(function(){
      ArticleEcho(this,'LOAD')
      return false;
    });
  }

  function ArticleEcho(nextObj,loadFlag){
    if(!$(nextObj).hasClass(defaults.CURRENT)){
      var oldID = defaults.VIEW;
      var oldObj = $(defaults.TAB).find('li:eq('+oldID+') a');
      defaults.VIEW = $(defaults.TAB).find('li').index($(nextObj).parent());
      arrowReturn();

      $(defaults.STAGE).find(defaults.ARTICLE+':eq('+oldID+')').hide();
      var openObj = $(defaults.STAGE).find(defaults.ARTICLE+':eq('+defaults.VIEW+')');
      $(openObj).show();
      $(defaults.STAGE).stop().animate({
        'height':$(openObj).height()
      },defaults.OPEN,defaults.EASING,function(){
        if(loadFlag){
          $.history.load($(nextObj).attr('href').replace(/^#/,''));
        }
      });
      imageOut(oldObj);
      imageOver(nextObj);

      $('html,body').stop(false).animate({scrollTop: $(defaults.PARENT).offset().top-defaults.SCROLL},defaults.OPNE,defaults.EASING);
    }else{
      return false;
    }
  }

  function arrowReturn(){
    $(defaults.TAB).find(defaults.ARROW).stop().animate({
      'left': IMGPOS[defaults.VIEW]
    },defaults.SPEED,defaults.EASING);
  }
  function imageOver(target){
    $(target).addClass(defaults.CURRENT).find('img').attr("src",$(target).find('img').attr("src").replace(/^(.+)-off(\.[a-z]+)$/,"$1-on$2"));
  }
  function imageOut(target){
    $(target).removeClass(defaults.CURRENT).find('img').attr("src",$(target).find('img').attr("src").replace(/^(.+)-on(\.[a-z]+)$/,"$1-off$2"));
  }
}






//scrollActionDisplay ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
function scrollActionDisplay(){

  var defaults = {
    TRIGGER : '#headSide',
    TOPIMG : '#topimgBanner',
    CHANGER : '#topimgChanger',
    TOPOFFSET : -200,
    SPEED : 300
  }
  if($(defaults.TOPIMG).size() > 0){
    if($(defaults.TOPIMG).offset().top > (defaults.TOPOFFSET*-1)){
      $(defaults.TOPIMG).hide();
      $(defaults.CHANGER).hide();
    }

    $.waypoints.settings.scrollThrottle = 30;
    $(defaults.TRIGGER).waypoint(function(event,direction) {
      if (direction === 'up') {
        $(defaults.TOPIMG).stop().fadeTo(defaults.SPEED,1,function(){
          $(defaults.CHANGER).stop().fadeTo(defaults.SPEED,1);
        });
      }else if(direction === 'down') {
        $(defaults.TOPIMG).stop().fadeOut(defaults.SPEED);
        $(defaults.CHANGER).stop().fadeTo(defaults.SPEED,0);
      }
    },{
      offset: defaults.TOPOFFSET
    })
  }

  // ────────────────────────────────────────
  var bannerOpt = {
    TRIGGER : '#theatreList',
    TARGET : '#sideFixSpace',
    BASE : '#gNavi',
    SPEED : 500,
    BOUNCE : -15,
    EASING : 'easeOutCubic'
  }

  if($(bannerOpt.TRIGGER).size() > 0){
    var fixPosition = $(bannerOpt.BASE).outerHeight();
    var fixOffset = ($(bannerOpt.TRIGGER).outerHeight()-fixPosition)*-1;
    $.waypoints.settings.scrollThrottle = 30;

    $(bannerOpt.TRIGGER).waypoint(function(event,direction) {
      if(direction === 'down') {
        $(bannerOpt.TARGET).css({
          'position' : 'fixed',
          'top' : fixPosition+bannerOpt.BOUNCE+'px'
        }).animate({
          'top' : fixPosition+'px'
        },bannerOpt.SPEED,bannerOpt.EASING);
      }
    },{
      offset: fixOffset+bannerOpt.BOUNCE
    }).waypoint(function(event,direction) {
      if (direction === 'up') {
        $(bannerOpt.TARGET).stop().css({
          'position' : 'static'
        });
      }
    },{
      offset: fixOffset
    })
  }

  // ────────────────────────────────────────

}



//accordionBanner ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
function accordionBanner(){
  var defaults = {
    STAGE : '#accordionBanner',
    SEEKBG : '#accordionSeekStage',
    SEEKBER : '#accordionSeekbar',
    SPACE : 15,
    SPEED : 500,
    EASING : 'easeOutCubic',
    TIMESET : 5000,
    INDEX : 1
  }
  if($(defaults.STAGE).size() > 0){
    defaults.HEIGHT = $(defaults.STAGE).find('li:eq(0) img').height();
    defaults.ITEMS = $(defaults.STAGE).find('li').length-1;

    $(defaults.STAGE).find('ul').height(defaults.HEIGHT+defaults.SPACE*defaults.ITEMS);

    $(defaults.STAGE).find('li').each(function(i){
      $(this).css('margin-top',defaults.SPACE*i+'px')
      if((i > defaults.INDEX)){
         $(this).css('top',defaults.HEIGHT-defaults.SPACE+'px')
      }
      $(this).mouseover(function(){
        $(defaults.SEEKBER).stop(false,false).width(0);
        defaults.INDEX = $(defaults.STAGE).find('li').index(this);
        accordionAction();
      });
    });
    $(defaults.SEEKBG).show();

    $(window).bind('load',function(){
      accordionTimer();
      $(defaults.STAGE).find('ul').mouseout(function(){
        accordionTimer();
      });
    });

  }
  function accordionTimer(){
    $(defaults.SEEKBER).stop(false,false).width(0).animate({
      width: '100%'
    },defaults.TIMESET,'linear',function(){
      defaults.INDEX = defaults.INDEX+1;
      if(defaults.INDEX > defaults.ITEMS) defaults.INDEX =0;
      $(defaults.SEEKBER).width(0);
      accordionAction('TIMER')
    });
  }
  function accordionAction(TIMER){
    $(defaults.STAGE).find('li:gt('+defaults.INDEX+')').stop(false).animate({
      top: defaults.HEIGHT-defaults.SPACE+'px'
    },defaults.SPEED,defaults.EASING);

    $(defaults.STAGE).find('li:lt('+(defaults.INDEX+1)+')').stop(false).animate({
      top: '0px'
    },defaults.SPEED,defaults.EASING,function(){
      if(TIMER) accordionTimer();
    });
  }
}

//smartPhone //
function sf_accordionBanner(){
  var defaults = {
    STAGE : '#accordionBanner',
    SEEKBER : '#accordionSeekStage',
    SPACE : 10
  }
  if($(defaults.STAGE).size() > 0){
    $(defaults.SEEKBER).hide();
    $(defaults.STAGE).find('li').css({
      'position':'relative',
      'marginTop':defaults.SPACE+'px'
    });
  }
}



//pickupMovieStyle ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
function pickupMovieStyle(){
  var defaults = {
    STAGE : '.pickupMovieStyle',
    BOX : 'commentBox',
    SPACE : 15,
    SPEED : 500,
    EASING : 'easeOutCubic',
    TIMESET : 2000,
    OFFSET : -260,
    LEFTCLASS : 'commentPosLeft',
    OFFSET : -265,
    INDEX : 1


  }
  if($(defaults.STAGE).size() > 0){
    $(window).bind('load',function(){
      $(defaults.STAGE).find('li').each(function(i){
        //$(this).css('z-index',1010-i);
        var boderline = $(this).find('a').offset().left + $(this).find('a').width() + $(this).find('.'+defaults.BOX).width();
        $(this).stop().hover(function(){

          $(this).css('z-index','1100');
          $(defaults.STAGE).find('li:not(:eq('+i+'))').css('z-index','1000');
          //$('#debug').val($(window).width()+'|'+boderline);

          if($(window).width() < boderline){
            var p = defaults.OFFSET;
            $(this).find('.'+defaults.BOX).addClass(defaults.LEFTCLASS);
          }else{
            var p = 0;
            $(this).find('.'+defaults.BOX).removeClass(defaults.LEFTCLASS);
          }
          $(this).find('.'+defaults.BOX).stop().fadeTo(defaults.SPEED,'1');
          var offset = $(this).offset();
          $(this).mousemove(function(e){
            $(this).parent().find('.'+defaults.BOX).css({left:e.pageX-offset.left-15+p+'px',top:e.pageY-offset.top+10+'px'});
          });
        },function(){
          $(this).parent().find('.'+defaults.BOX).stop().hide();
        })
      });
    });
  }
}



//companyMapDisplay ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
function companyMapDisplay(){
  $('#companyMap').GoogleMaps({
    lat: $('#companyLat').val(),
    lng: $('#companyLng').val(),
    zoom: 15
  });
}


//theatreMapDisplay ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
function theatreMapDisplay(){
  $(window).bind('load',function(){
    if($('#theatreMap').size() > 0){
      $('#theatreMap').GoogleMaps({
        lat: 38.900000,
        lng: 137.000000,
        zoom: 5,
        stageSet: '.theatreDataList',
        info_window: true,
        unit: '.liBody'
      });
    }
  });
}

function sf_theatreMapDisplay(){
  $('#theatreMap').hide();
}



//tickerDisplay ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
function tickerDisplay(){
  var defaults = {
    STAGE : '.subTitle .lead',
    DETAIL : 'detailBox',
    SPACE : 15,
    SPEED : 500,
    EASING : 'easeOutCubic',
    TIMESET : 2000,
    INDEX : 1
  }
  if($(defaults.STAGE).size() > 0){
    $(defaults.STAGE).each(function(){
      $(this).css({
        'position':'relative'
      });
      $(this).html('<p><span>'+$(this).text()+'</span></p>');
      var target = $(this).find('p');
      var stPos = $(this).outerWidth();
      $(target).width($(target).width()*Math.round($(target).outerHeight()/$(this).outerHeight()))
      var endPos = $(target).find('span').width();
      if(stPos < endPos){
        $(target).css({
          'position':'absolute',
          'top':'0px',
          'left':stPos
        });
        $(window).bind('load',function(){
          tickerAction(target,stPos,endPos);
        });
      }
    });
  }

  function tickerAction(target,stPos,endPos){
    $(target).animate({
      left: endPos*-1
    },endPos*23+15000,'linear',function(){
      $(target).css('left',stPos)
      tickerAction(target,stPos,endPos);
    });
  }
}



//smartRollover ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
function smartRollover(){
  $('[src*="_off."]').mouseover(function(){
    $(this).attr("src",$(this).attr("src").replace(/^(.+)_off(\.[a-z]+)$/,"$1_on$2"));
  }).mouseout(function(){
    $(this).attr("src",$(this).attr("src").replace(/^(.+)_on(\.[a-z]+)$/,"$1_off$2"));
  }).each(function(init){
    $("<img>").attr("src",$(this).attr("src").replace(/^(.+)_off(\.[a-z]+)$/,"$1_on$2"));
  })
}



//ブラウザチェック ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
function is_oldIE(){
  if(!jQuery.support.tbody){
    if(!jQuery.support.style){
      return true;
    }
  }

}

function is_smartPhone(){
  var media = [
    'iPhone',
    'iPad',
    'Android'
    ];
  var pattern = new RegExp(media.join('|'), 'i');
  return pattern.test(navigator.userAgent);
}


function $$(string){
  if(!$('#debug').size()){
    $('body').append('<textarea id="debug" cols="30" rows="50" style="width: 200px; height: 200px; position: fixed; top: 250px; left: 10px; filter: alpha(opacity=30); -moz-opacity:0.3; opacity:0.3; display: block; z-index: 9999;"></textarea>');
  }
  $('#debug').val(string);
}

