Template:UT-Tokyo/Javascript/main

(function(){

 //'use strict';
 panelArray = new Array();
 menuOffset = 40;
 $('#HQ_page').attr("id",);
 /*** START UP ***/
 $(document).ready(function(){
 });

(function(){

 //'use strict';
 panelArray = new Array();
 menuOffset = 40;
 $('#HQ_page').attr("id",);
 /*** START UP ***/
 $(document).ready(function(){
 });
 $(window).on('load', function() {
   setTimeout(function(){
     $("#loader").fadeOut(200);
     menuOffset = $(window).height() / 2;
     /*** Generate Index ***/
     $("#preload").fadeIn(100);
     $('#preload').css('display','block');
     for(var i=0; i < $('.subpanel').length; i++){
       var targetContents = '#' + $('.subpanel').eq(i).attr('id');
       var targetContentsTop = $(targetContents).offset().top - menuOffset;
       var targetContentsBottom = targetContentsTop + $(targetContents).height();
       var targetName = $(targetContents).children('h1').text();
       panelArray[i] = [targetName, targetContentsTop, targetContentsBottom];
     }
     //console.log(panelArray);
     $('a.ref').attr('href','#ref');
     $('.subpanel.tiny').css('max-height',$('.subpanel.huge').width() + 'px');
     currentCheck();
     setTimeout(moveTo(),100);
   },1000);
 });
 /*** recalculate page when windows size is changed ***/
 var timer = false;
 $(window).resize(function() {
   if (timer !== false) {
     clearTimeout(timer);
   }
   timer = setTimeout(function() {
   }, 200);
 });
 /*** Compact Menu ***/
 $(document).on('click','#controller',function(){
   if($(window).width() <= 800){
     $(this).parent('ul').toggleClass('expand');
   }
 });
 $(document).on('click','.nav-bar ul li',function(){
   if(!$(this).hasClass('show')){
     $('.nav-bar ul li').removeClass('show');
     $(this).addClass('show');
   }else{
     $(this).removeClass('show');
   }
 });
 $(document).on('click','.moreinfo', function(){
   $(this).toggleClass('open');
 });


 /*** Scroll Action ***/
 $(window).scroll(function(){
   currentCheck();
 });
 /*** Hover for iOS device ***/
 $('*').on('touchstart',function(){
   $(this).addClass("hover");
 }).on('touchend',function(){
   $(this).removeClass("hover");
 });
 /*** Jump to Label ***/
 $(document).on('click','a[href^=#]',function(){
   var time = 600;
   var target = $(this.hash);
   if (!target.length) return ;
   var targetY = target.offset().top - menuOffset;
   $('html,body').animate({scrollTop: targetY}, time, 'swing');
   window.history.pushState(null, null, this.hash);
   return false;
 });
 /*$(document).on('click','.submenu a',function(){
   moveTo();
 });
 */

})();

function hideBar() {

   if (window.location.hash.indexOf('#') == -1) {
       window.scrollTo(0, 1);
   }

}

function currentCheck() {

 var scrollY = $(window).scrollTop();
 if(scrollY > 100){
   $('.nav-bar').addClass('active');
 } else {
   $('.nav-bar').removeClass('active');
 }
 for (var i = 0; i < panelArray.length; i++) {
   if(panelArray[i][1] <= scrollY){
     if(panelArray[i][2] >= scrollY){
       $('.subpanel').eq(i).addClass('active');
     } else {
       $('.subpanel').eq(i).removeClass('active');
     }
   } else {
     $('.subpanel').eq(i).removeClass('active');
   }
 };

}

function moveTo(){

   var time = 1200;
   var target = $(location.hash);
   //window.alert(target);
   if (!target.length) return ;
   var targetY = target.offset().top - menuOffset;
   $('html,body').animate({scrollTop: targetY}, time, 'swing');
   window.history.pushState(null, null, this.hash);
   return false;

}

 $(window).on('load', function() {
   setTimeout(function(){
     $("#loader").fadeOut(200);
     menuOffset = $(window).height() / 2;
     /*** Generate Index ***/
     $("#preload").fadeIn(100);
     $('#preload').css('display','block');
     for(var i=0; i < $('.subpanel').length; i++){
       var targetContents = '#' + $('.subpanel').eq(i).attr('id');
       var targetContentsTop = $(targetContents).offset().top - menuOffset;
       var targetContentsBottom = targetContentsTop + $(targetContents).height();
       var targetName = $(targetContents).children('h1').text();
       panelArray[i] = [targetName, targetContentsTop, targetContentsBottom];
     }
     //console.log(panelArray);
     $('a.ref').attr('href','#ref')