$(function() { entry = Array(); entry['works/5181'] = "works/tomonoie"; entry['works/7734'] = "works/kodomonotomo"; entry['works/5327'] = "works/gotenzantealab"; entry['works/0140'] = "works/iedukuri"; entry['works/9540'] = "works/aramaki"; category = Array(); category['root'] = Array(); category['root']['title'] = "top"; category['root']['description'] = ""; category['root']['type'] = "page"; category['root']['pagenation'] = "0"; category['root']['format'] = "Part_Content_001"; category['root']['directory'] = "root"; category['about/'] = Array(); category['about/']['title'] = "ABOUT"; category['about/']['description'] = "GEN COMPANY について"; category['about/']['type'] = "page"; category['about/']['pagenation'] = "1"; category['about/']['format'] = "Part_Content_010"; category['about/']['directory'] = "about/"; category['works/'] = Array(); category['works/']['title'] = "WORKS"; category['works/']['description'] = "GEN COMPANY のつくり方"; category['works/']['type'] = "page"; category['works/']['pagenation'] = "2"; category['works/']['format'] = "Part_Content_020"; category['works/']['directory'] = "works/"; category['archives/'] = Array(); category['archives/']['title'] = "ARCHIVES"; category['archives/']['description'] = "これまでの仕事"; category['archives/']['type'] = "page"; category['archives/']['pagenation'] = "3"; category['archives/']['format'] = "Part_Content_030"; category['archives/']['directory'] = "archives/"; category['news/'] = Array(); category['news/']['title'] = "NEWS"; category['news/']['description'] = "お知らせ"; category['news/']['type'] = "page"; category['news/']['pagenation'] = "4"; category['news/']['format'] = "Part_Content_040"; category['news/']['directory'] = "news/"; category['news/info/'] = Array(); category['news/info/']['title'] = "NEWS - お知らせ"; category['news/info/']['description'] = ""; category['news/info/']['type'] = "page"; category['news/info/']['pagenation'] = "5"; category['news/info/']['format'] = "Part_Content_040"; category['news/info/']['directory'] = "news/info/"; category['news/tomonoie/'] = Array(); category['news/tomonoie/']['title'] = "NEWS - とものいえ"; category['news/tomonoie/']['description'] = ""; category['news/tomonoie/']['type'] = "page"; category['news/tomonoie/']['pagenation'] = "6"; category['news/tomonoie/']['format'] = "Part_Content_040"; category['news/tomonoie/']['directory'] = "news/tomonoie/"; category['news/aramaki/'] = Array(); category['news/aramaki/']['title'] = "NEWS - ARAMAKI"; category['news/aramaki/']['description'] = ""; category['news/aramaki/']['type'] = "page"; category['news/aramaki/']['pagenation'] = "7"; category['news/aramaki/']['format'] = "Part_Content_040"; category['news/aramaki/']['directory'] = "news/aramaki/"; category['tomonokai/'] = Array(); category['tomonokai/']['title'] = "ともの会"; category['tomonokai/']['description'] = "村上家からの季節のお便り"; category['tomonokai/']['type'] = "page"; category['tomonokai/']['pagenation'] = "8"; category['tomonokai/']['format'] = "Part_Content_050"; category['tomonokai/']['directory'] = "tomonokai/"; function htmlEncode(value){ return $('
').text(value).html(); } function htmlDecode(value){ return $('
').html(value).text(); } var href = ""; var past_href = location.href; var history_back_url = ""; var past_directory = $("body").attr("data-directory"); var past_index_num = $("body").attr("data-index_num"); var past_archive_year_dir = $("body").attr("data-archive_year_dir"); var past_modal_content_type = ""; var memo_scroll = 0; var id = past_href.replace( "https://gencompany.net/", "" ).replace( "?mode=preview", "" ); var option = ""; class_active(past_directory); var hash = ""; if(past_href.indexOf( "#/" ) != -1){ hash_arr = past_href.split("#/"); past_href = hash_arr[0]; hash = hash_arr[1]; hashchange_action( hash ); } window.pjax = function( href, option, target ){ hash = ""; if(href.indexOf( "#/" ) != -1){ hash_arr = href.split("#/"); href = hash_arr[0]; hash = hash_arr[1]; hashchange_action( hash ); } id = href.replace( "https://gencompany.net/", "" ).replace( "?mode=preview", "" ); var scroll_id = href.replace( "https://gencompany.net/", "" ).replace( "?mode=preview", "" ); if( scroll_id == "" ){ scroll_id = "root"; } var modal_remove_flg = 0 var modal_after_id = ""; if( id == "" ){ modal_after_id = "root"; }else{ modal_after_id = id; } if( typeof category[modal_after_id] != "undefined" ){ if( option == "by_onpop" || history_back_url == href ){ if( ($("body").hasClass("modal") || $("body").hasClass("entry")) && category[modal_after_id]['type'] != "modal" && category[modal_after_id]['type'] != "entry" ){ // console.log("modal_remove") modal_remove_flg = 1; $("body").removeClass("modal entry"); setTimeout( function(){ if( $("body #entry").css("z-index") == -1 ){ $("body #entry").empty(); scroll_on(); } } , 1000); } } } var scroll_ground_flg = PJAX_scroll_ground( scroll_id, option ); if( href && past_href != href && href.indexOf( "#" ) == -1 ){ $("html").removeClass("fit_height"); $("body > .modal").remove(); $("body").removeClass("modal_text"); scroll_action_flag = false; if( typeof scroll_action_limiter != "undefined" ){ clearTimeout( scroll_action_limiter ); } if( typeof entry[id] != "undefined" ){ id = entry[id]; href = href.replace( id, entry[id] ); } history_back_url = past_href; past_href = href; // console.log("──── pjax ────"); // console.log("href: " + href); // console.log("id: " + id); // console.log("option: " + option); // console.log("target: " + target); var data_directory = ""; if( typeof $("body").attr("data-directory") !== 'undefined' && $("body").attr("data-directory") !== false ){ var data_directory = String($("body").attr("data-directory")); } var data_archive_year_dir = ""; if( typeof $("body").attr("data-archive_year_dir") !== 'undefined' && $("body").attr("data-archive_year_dir") !== false ){ var data_archive_year_dir = String($("body").attr("data-archive_year_dir")); } var data_index_num = ""; if( typeof $("body").attr("data-index_num") !== 'undefined' && $("body").attr("data-index_num") !== false ){ var data_index_num = String($("body").attr("data-index_num")); } if( option != "by_scroll" && typeof category[scroll_id] != "undefined" && category[scroll_id]['type'] != "modal" && category[scroll_id]['directory'] == data_directory && data_archive_year_dir+data_index_num == "" ){ }else if( scroll_ground_flg != 1 && modal_remove_flg != 1 && option != "by_scroll" && option != "by_load_more" ){ $("body").append('
'); $("body > div.loading").addClass("show"); } if( typeof pjax_request != "undefined" ){ pjax_request.abort(); } // console.log("https://gencompany.net/js_pjax_json.php?id=" + id + "&lang=&type=json" + ""); pjax_request = $.ajax({ url: "https://gencompany.net/js_pjax_json.php", data: "id=" + id + "&type=json" + "", dataType: "json", success: function(data, dataType){ var pagetitle = data.pagetitle; var meta_og_image = data.meta_og_image; var permalink = data.permalink; var page_format = data.page_format; var body_class = data.body_class; var path = data.path; var directory = data.directory; var directory_1 = data.directory_1; var directory_2 = data.directory_2; var directory_3 = data.directory_3; var directory_4 = data.directory_4; var file = data.file; var scroll = data.scroll; var page_type = data.page_type; var pagenation = data.pagenation; var index_num = data.index_num; var archive_year_dir = data.archive_year_dir; var index_parent_dir = data.index_parent_dir; var modal_content_type = data.modal_content_type; var modal_content_page_format = data.modal_content_page_format; var modal_content_entry_date = data.modal_content_entry_date; var modal_content_entry_title_jp = data.modal_content_entry_title_jp; var modal_content_entry_title_en = data.modal_content_entry_title_en; var modal_content_entry_description_jp = data.modal_content_entry_description_jp; var modal_content_entry_description_en = data.modal_content_entry_description_en; var modal_content_media = data.modal_content_media; if( option != "by_onpop" && // option != "by_forward" && option != "by_load_more" ){ // console.log("push"); PJAX_pushState( href, pagetitle ); } document.title = pagetitle; var ga_title = pagetitle; if( option != "by_load_more" ){ $("body").attr("class",body_class); $("body").attr("data-directory",directory); $("body").attr("data-file",file); $("body").attr("data-scroll",scroll); $("body").attr("data-index_num",index_num); $("body").attr("data-archive_year_dir",archive_year_dir); } // console.log("modal_content_type: " + modal_content_type); // console.log("past_directory: " + past_directory); // console.log("directory: " + directory); // console.log("pagenation: " + pagenation); // console.log("page_type: " + page_type); // console.log("index_num: " + index_num); // console.log("archive_year_dir: " + archive_year_dir); // console.log("index_parent_dir: " + index_parent_dir); // console.log("scroll: " + scroll); class_active(directory); if( modal_content_type != "" ){ past_modal_content_type = modal_content_type; if( past_directory == "root" ){ modal_close_past_directory = ""; }else{ modal_close_past_directory = past_directory; } var modal_close_url = "https://gencompany.net/" + modal_close_past_directory; PJAX_ajaxload_modal( href, data, option, target, hash, modal_close_url ); }else{ if( option != "by_scroll" ){ if( option == "by_load_more" && target != "" ){ PJAX_ajaxload_loadmore( href, data, option, target ); }else if( past_directory != directory || past_index_num != index_num || past_archive_year_dir != archive_year_dir ){ past_index_num = index_num; past_directory = directory; past_archive_year_dir = archive_year_dir; scrollto(0); PJAX_ajaxload_directory( href, data, option, target ); }else if( past_directory == directory && scroll == "" ){ scroll_action_flag = true; // if( past_modal_content_type == "" ){ // scrollto(0); // }else{ // } PJAX_loading_remove(); }else{ scroll_action_flag = true; if( past_modal_content_type == "" ){ scroll_action_flag = false; var scrollto_val = 0; if( scroll != "" ){ // window_resize(); scrollto_val = $("#" + selectorEscape(scroll)).position().top + 10; } scrollto(scrollto_val); }else{ window_resize(); // if( scroll != "" ){ // // window_resize(); // scrollto_val = $("#" + selectorEscape(scroll)).position().top + 10; // scrollto(scrollto_val); // } } PJAX_loading_remove(); } } past_modal_content_type = ""; } setTimeout( function(){ if( $("body #entry").css("z-index") == -1 ){ $("body #entry").empty(); } window_resize(); } , 1000); }, error: function(XMLHttpRequest, textStatus, errorThrown){ if( XMLHttpRequest.status !== 0 ){ window.location = href; } } }); }else{ if( option != "by_scroll" ){ var elm_id = id.replace( /\//g, '' ); if( $("#"+elm_id)[0] ){ var target= $("#"+elm_id); var scrollto_val = target.position().top + 10; scrollto(scrollto_val); }else{ // console.log("?"); // scrollto(0); } } PJAX_loading_remove(); } } function PJAX_loading_remove() { $("body > div.loading").removeClass("show"); setTimeout( function(){ $("body > div.loading").remove(); } , 1000); } function PJAX_scroll_ground( scroll_id, option ) { // window_resize(); if( option != "by_scroll" && typeof category[scroll_id] != "undefined" && category[scroll_id]['type'] != "modal" && category[scroll_id]['directory'] == $("body").attr("data-directory") ){ if( past_modal_content_type == "" ){ // console.log("ground: " + scroll_id); var scrollto_val = 0; if( category[scroll_id]['type'] == "ground" && $("#" + selectorEscape(scroll_id))[0] ){ scrollto_val = $("#" + selectorEscape(scroll_id)).position().top + 10; } scrollto(scrollto_val); return 1; }else{ $("body").removeClass("entry modal"); return 1; } PJAX_loading_remove(); } return 0; } function PJAX_ajaxload_modal( href, data, option, target, hash, modal_close_url ) { $("#entry").empty(); if( typeof ajax_request != "undefined" ){ ajax_request.abort(); } ajax_request = $.ajax({ url: href, dataType: "html", success: function(data, dataType){ var get_elm = $('#entry > *', $('
').prepend(data)); $("#entry").append(get_elm); $("#entry > div.inner").addClass("pending"); setTimeout( function(){ $("#entry > div.inner").removeClass("pending"); window_resize(); } , 100); // var container_id = $("body #container > div#base > article").attr("id"); // if( container_id == "root" ){ // container_id = ""; // } // var return_href = "https://gencompany.net/" + container_id; // $("#entry a.pjax.close").attr("href",return_href); // $("#entry a.pjax.return").attr("href",return_href); img_load(); window_resize(); PJAX_loading_remove(); if( $("#entry .pjax.modal_close")[0] ){ $("#entry .pjax.modal_close").attr("href",modal_close_url); } }, error: function(XMLHttpRequest, textStatus, errorThrown){ } }); } function PJAX_ajaxload_directory( href, data, option, target ) { $("body > #wrapper > #container > div.static_elm").fadeOut(1000, function() { $(this).remove(); }); $("html").addClass("moving"); var scroll = data.scroll; if( typeof ajax_request != "undefined" ){ ajax_request.abort(); } ajax_request = $.ajax({ url: href, dataType: "html", success: function(ajax_data, dataType){ // console.log($('#wrapper.logged_in', $('
').prepend(ajax_data))); if( $('#wrapper.logged_in', $('
').prepend(ajax_data))[0] ){ $("#wrapper").addClass("logged_in"); }else{ $("#wrapper").removeClass("logged_in"); } var get_article_elm = $('#container > div#base > article', $('
').prepend(ajax_data)); $("#container > div#base > article").addClass("leave"); $("#container > div#base").append(get_article_elm); // var get_navi_elm = $('#navi', $('
').prepend(ajax_data)); // $("#navi").empty(); // $("#navi").prepend(get_navi_elm); $("#container > div#base > article").addClass("ajax"); setTimeout( function(){ $("#container > div#base > article.leave").remove(); setTimeout( function(){ $("html").removeClass("moving"); scroll_trigger(); } , 500); load_iframe(); // FB.XFBML.parse(); window_resize(); PJAX_loading_remove(); var scrollto_val = 0; if( scroll != "" ){ scrollto_val = $("#" + selectorEscape(scroll)).position().top; } scrollto(scrollto_val); img_load(); } , 10); if( data.directory == "root" ){ slide_start( $("div.slide_wrapper > div.slide") ); window.FB.XFBML.parse(); } img_load(); scroll_action_flag = true; }, error: function(XMLHttpRequest, textStatus, errorThrown){ } }); } function PJAX_ajaxload_loadmore( href, data, option, target ) { var scroll = data.scroll; if( typeof ajax_request != "undefined" ){ ajax_request.abort(); } ajax_request = $.ajax({ url: href, dataType: "html", success: function(data, dataType){ target.children("li.load_more").remove(); var get_elm = $('div.index > ul > *', $('
').prepend(data)); target.append(get_elm); img_load(); window_resize(); PJAX_loading_remove(); if( ! $("body.modal")[0] && ! $("body.entry")[0] ){ scroll_action_flag = true; } var target_index = target.closest(".index"); // thm_random_fade_start( target_index ); }, error: function(XMLHttpRequest, textStatus, errorThrown){ } }); } function class_active(directory){ var slsh_to_ub = directory.replace( /\//g, "_" ); $("#navi nav li").removeClass("active"); $("#navi nav li").removeClass("p_active"); if( $(".class_" + slsh_to_ub + " a")[0] ){ var target_nav = $(".class_" + slsh_to_ub + " a"); target_nav.parent("li").removeClass("over"); target_nav.parent("li").addClass("active"); target_nav.closest("li.parent").removeClass("over"); target_nav.closest("li.parent").addClass("p_active"); } } window.scrollto = function( val ){ scroll_action_flag = false; if( $("body.modal")[0] || $("body.entry")[0] ){ if( $("html.touch_device")[0] ){ $(".scroll_snap").addClass("scroll_snap_stop"); $('#entry > div.inner').stop().animate({ scrollTop: val }, 1000, "easeOutQuint",function(){ $(".scroll_snap").removeClass("scroll_snap_stop"); scroll_action_flag = true; }); }else{ $('#entry > div.inner').stop().animate({ scrollTop: val }, 1000, "easeOutQuint",function(){ }); } scroll_action_flag = true; }else{ $('#container > div#base').stop().animate({ scrollTop: val }, 1000, "easeOutQuint",function(){ scroll_action_flag = true; }); } } // function scrollto(val){ // scroll_action_flag = false; // $('#container > div#base').stop().animate({ // scrollTop: val // }, 1000, "easeOutQuint",function(){ // scroll_action_flag = true; // }); // } function PJAX_pushState( href, title ) { if ( window.history.pushState ) { window.history.pushState( title, null, href ); } else { } } window.onpopstate = function(event){ if (event.state) { } else { } var href = location.href; if ( window.history.pushState ) { pjax( href, "by_onpop", "" ); } else { var href = "https://gencompany.net/#!/" + href.replace( /^.\//, '' ); window.location = href; } } $(document).on("click", "a.pjax:not(.deactive)", function(){ var href = $(this).attr("href"); if ( window.history.pushState ) { pjax( href, "", "" ); } else { var href = href.replace( "https://gencompany.net/", "" ); var href = "https://gencompany.net/#!/" + href.replace( /^.\//, '' ); var past_href = location.href; window.location = href; } return false; }); $(document).on("click", "div.index > ul > li.load_more > a.pjax_load_more", function(){ var href = $(this).attr("href"); var target = $(this).closest("ul"); if ( window.history.pushState ) { var parent = $(this).parent(); parent.addClass("loading"); parent.append('
loading
'); pjax( href, "by_load_more", target ); } return false; }); var document_height = $(document).height(); var content_height = get_total_height($("#container > div#base > *")); var entry_height = get_total_height($("#entry > div.inner > *")); if( $("html.touch_device")[0] ){ if( window.innerHeight > window.innerWidth ){ var window_height = $(window).height(); }else{ var window_height = $(window).height(); } }else{ var window_height = window.innerHeight ? window.innerHeight: $(window).height(); } var window_width = $(window).width(); var window_ratio = window_height / window_width; var scroll_val = $("body #container > div#base").scrollTop(); var scroll_action_flag = true; if( $("body #container > div#base article.ground")[0] ){ scroll_action_flag = false; } if( $("body.modal")[0] ){ scroll_action_flag = false; } if( $("body.entry")[0] ){ scroll_action_flag = false; } function base_scroll() { scroll_trigger(); scroll_val = $("body #container > div#base").scrollTop(); // console.log(scroll_val+window_height+"|"+content_height); if( window_height >= content_height ){ $("html").removeClass("scrolled") $("html").removeClass("scrollend") }else if( scroll_val+window_height > content_height - 50 ){ $("html").addClass("scrolled") $("html").addClass("scrollend") }else if( scroll_val < Math.round(window_height/100) ){ $("html").removeClass("scrolled") $("html").removeClass("scrollend") }else if( scroll_val >= Math.round(window_height/100) && scroll_val+window_height < content_height - 50 ){ $("html").addClass("scrolled") $("html").removeClass("scrollend") }else{ $("html").addClass("scrolled") $("html").addClass("scrollend") } if( $("div.index > ul > li.load_more:not(.loading) > a.auto_load_more")[0] ){ var loadmore_elm = $("div.index > ul > li.load_more:not(.loading) > a.auto_load_more"); var loadmore_elm_offset = Number(loadmore_elm.parent().position().top); if( scroll_val > loadmore_elm_offset-window_height ){ var href = loadmore_elm.attr("href"); var target = loadmore_elm.closest("ul"); if ( window.history.pushState ) { var parent = loadmore_elm.parent(); parent.addClass("loading"); parent.append('
loading
'); pjax( href, "by_load_more", target ); } } } if( $("html.iOS")[0] ){ scrollbar_height = parseInt(window_height * window_height / content_height); $('.scrollbar_thumb').css('height', scrollbar_height); var scrollbar_track = window_height - scrollbar_height; var scrollbar_offset = scroll_val * scrollbar_track / (content_height - window_height); $('.scrollbar_thumb').css('transform', 'translateY(' + scrollbar_offset + 'px)'); } // if( $("article#root > article#top div.slide")[0] ){ // if( scroll_val < window_height*1.5 ){ // $("article#root > article#top div.slide > ul.carousel li.cell > a > div.img").css({ // "transform": "matrix(1, 0, 0, 1, 0, "+ (scroll_val/4) +")" // }); // $("article#root > article#top div#top_navi").css({ // "transform": "matrix(1, 0, 0, 1, 0, "+ (scroll_val/4) +")" // }); // } // } if( $("body.root")[0] ){ if( scroll_val < window_height ){ $("body.root div#navi").removeClass("show"); }else{ $("body.root div#navi").addClass("show"); } } if( $("img.parallax")[0] ){ var window_center_y = window_height/2 + scroll_val; $("img.parallax").each(function(){ var target = $(this); var wrapper = $(this).closest(".parallax_base"); var speed_adjust = 1; if( target.attr("data-speed_adjust") != undefined ){ speed_adjust = target.attr("data-speed_adjust"); } if( target.height() <= wrapper.height() ){ target.css({"height": "120%" }); } var wrapper_y = wrapper.offset().top + scroll_val; var wrapper_center_y = wrapper_y + wrapper.height()/2; var distance = window_center_y - wrapper_center_y; var parallax_height = wrapper.height(); var img_height = target.height(); var val = img_height-parallax_height; var move_y = Math.round((val/window_height)*distance)*speed_adjust; target.css({"transform": "matrix(1, 0, 0, 1, 0, "+ move_y +")"}); }); } if( scroll_action_flag === true && $("body #container > div#base article.ground")[0] ){ scroll_action_flag = false; if( typeof scroll_action_limiter != "undefined" ){ clearTimeout( scroll_action_limiter ); } scroll_action_limiter = setTimeout( function(){ $("body #container > div#base article.ground").each(function(){ if( $(this).attr("id") != null ){ var ground_id = $(this).attr("id"); scroll_val = $("body #container > div#base").scrollTop(); if( typeof category[ground_id] != "undefined" ){ var ground_offset = $("#" + selectorEscape( ground_id )).position().top; var ground_height = $("#" + selectorEscape( ground_id )).height(); if( scroll_val >= ground_offset && scroll_val <= ground_offset + ground_height ){ // console.log("ground_id::"+ground_id); // console.log(ground_id); var href = "https://gencompany.net/" + ground_id; // console.log("do: "+href); pjax( href, "by_scroll", "" ); }else if( scroll_val < $("body #container > div#base article.ground").first().position().top ){ if( $("body").attr("data-scroll") != "" ){ var ground_directory = $("body").attr("data-directory"); if( ground_directory == "root" ){ ground_directory = ""; } var href = "https://gencompany.net/" + ground_directory; // console.log("top: "+href); pjax( href, "by_scroll", "" ); } } } } }); // console.log("true"); scroll_action_flag = true; } , 1000); } } function entry_scroll() { scroll_val = $("#entry > div.inner").scrollTop(); if( $("#entry > div.inner > article")[0] ){ scroll_val = $("#entry > div.inner").scrollTop(); // console.log(scroll_val+window_height+"|"+ Number(entry_height - 50)); if( window_height >= entry_height ){ $("html").removeClass("scrolled") $("html").removeClass("scrollend") }else if( scroll_val+window_height > entry_height - 50 ){ $("html").addClass("scrolled") $("html").addClass("scrollend") }else if( scroll_val < Math.round(window_height/100) ){ $("html").removeClass("scrolled") $("html").removeClass("scrollend") }else if( scroll_val >= Math.round(window_height/100) && scroll_val+window_height < entry_height - 50 ){ $("html").addClass("scrolled") $("html").removeClass("scrollend") }else{ $("html").addClass("scrolled") $("html").addClass("scrollend") } // if( $(".parallax_topimg")[0] ){ // if( scroll_val < window_height*1.5 ){ // $(".parallax_topimg").css({ // "transform": "matrix(1, 0, 0, 1, 0, "+ (scroll_val/4) +")" // }); // } // } } } window.window_resize = function(){ document_height = $(document).height(); content_height = get_total_height($("#container > div#base > *")); entry_height = get_total_height($("#entry > div.inner > *")); if( $("html.touch_device")[0] ){ if( window.innerHeight > window.innerWidth ){ window_height = $(window).height(); }else{ window_height = $(window).height(); } }else{ window_height = window.innerHeight ? window.innerHeight: $(window).height(); } window_width = $(window).width(); window_ratio = window_height / window_width; if( window_ratio > 1 ){ $("html").removeClass("horizontal"); $("html").addClass("portrait"); }else{ $("html").removeClass("portrait"); $("html").addClass("horizontal"); } if( window_ratio < 0.6 ){ $("html").addClass("panorama"); }else{ $("html").removeClass("panorama"); } if( window_width < 600 ){ $("html").addClass("min_w600"); }else{ $("html").removeClass("min_w600"); } $("body").css({"height": window_height}); if( $(".fit_window_height")[0] ){ $(".fit_window_height").css({"height": window_height}); } if( $(".fit_window_min_height")[0] ){ $(".fit_window_min_height").css({"min-height": window_height}); } if( $("body.root")[0] ) { if( window_height < 800 ){ $("html").removeClass("fit_height"); }else{ $("html").addClass("fit_height"); } }else{ $("html").removeClass("fit_height"); } if( $("#entry article.works\\/")[0] ){ var body_height = $("#entry article.works\\/ > div.inner > div.body").outerHeight(); var media_height = $("#entry article.works\\/ > div.inner > div.body > div.media").outerHeight(); var min_height = 0; if( body_height >= media_height ){ min_height = body_height; }else{ min_height = media_height; } // console.log("body_height: "+body_height); // console.log("media_height: "+media_height); // console.log("min_height: "+min_height); $("#entry article.works\\/ > div.inner > div.body").css({"min-height": min_height}); if( $("body > section.modal.text > div.inner > div.content > div.slider_text.normal")[0] ){ var last_section = $("body > section.modal section").last(); var last_content_width = last_section.outerWidth(true); if( window_width > last_content_width ){ var blank_width = window_width-last_content_width; $("body > section.modal.text > div.inner > div.content > div.slider_text.normal > div.inner > div.blank").css("width",blank_width); }else{ $("body > section.modal.text > div.inner > div.content > div.slider_text.normal > div.inner > div.blank").css("width",0); } } } if( $("div.slide.archives > ul")[0] ){ var wrapper_ratio = $("div.slide.archives > ul").height() / $("div.slide.archives > ul").width(); $("div.slide.archives > ul li.cell").each(function(){ var target_li = $(this); var target_img = $(this).find("div.img > img"); target_img.imagesLoaded(function(){ var img_ratio = target_img.height() / target_img.width(); if( $(this).closest("div.index.archives ul > li.thm div.slide.active")[0] ){ var slide_height = $(this).closest("div.index.archives ul > li.thm div.slide.active").outerHeight(); target_li.css({ "width": slide_height/img_ratio, "height": slide_height }); }else{ target_img.addClass("loaded"); target_li.removeClass("horizontal vertical"); if( wrapper_ratio < img_ratio ){ target_li.addClass("vertical"); }else{ target_li.addClass("horizontal"); } } }); }); } // if( $("article#root > article#top")[0] ){ // $("article#root > article#top").css({"height": window_height}); // } if( $("div.slide_wrapper > div.slide")[0] ){ $("div.slide_wrapper > div.slide").each(function(i){ var target_wrapper = $(this); var target_wrapper_ul = target_wrapper.children("ul.carousel"); var wrapper_ratio = target_wrapper_ul.height() / target_wrapper_ul.width(); target_wrapper_ul.children("li.cell").each(function(){ var target_li = $(this); var target_img = $(this).find("div.img > img"); target_img.imagesLoaded(function(){ target_img.addClass("loaded"); var img_ratio = target_img.height() / target_img.width(); target_li.removeClass("horizontal vertical"); if( wrapper_ratio < img_ratio ){ target_li.addClass("vertical"); }else{ target_li.addClass("horizontal"); } }); }); }); } base_scroll(); entry_scroll_bind(); entry_scroll(); } var scroll_flug = true; $("body #container > div#base").on("scroll.main",function(){ setTimeout(function(){ scroll_flug = true; }, 10); if(scroll_flug){ scroll_flug = false; base_scroll(); } }); function entry_scroll_bind(){ if( $("#entry > div.inner > article")[0] ){ $("html").removeClass("scrolled"); $("html").removeClass("scrollend"); $("#entry > div.inner").on("scroll.main",function(){ entry_scroll(); // if(scroll_flug){ // scroll_flug = false; // base_scroll(); // setTimeout(function(){ // scroll_flug = true; // return scroll_flug; // }, 50); // } }); } } entry_scroll_bind(); $(window).bind("resize", window_resize); var modal_carousel_hash_action_flg = 1; var modal_carousel_scroll_action_flg = 1; var modal_carousel; window.modal_carousel_init = function( page ){ var slide_wrapper = $("body > section.modal.text > div.inner > div.content > div.slider_text"); window_resize(); if( slide_wrapper[0] ){ if( ! slide_wrapper.hasClass("active") ){ // console.log('carousels init'); var section_num = slide_wrapper.find("section").length; if( section_num > 1 ){ slide_wrapper.addClass("normal"); slide_wrapper.find('div.control > div.page').append('
    ') var ol_elm = slide_wrapper.find("ol"); for (var i = 0; i < section_num; i++) { slide_wrapper.find("section").eq(i).addClass("section_"+(i+1)); var page_num = i+1; ol_elm.append('
  1. '+page_num+'
  2. '); } }else{ slide_wrapper.addClass("single"); } slide_wrapper.children("div.inner").append('
    '); slide_wrapper.addClass("active"); bind_modal_text_scroll(slide_wrapper,section_num); window_resize(); setTimeout(function(){ modal_text_scroll_saver(slide_wrapper,section_num); },1000); } if( page != "" ){ modal_text_scroll_to(slide_wrapper,page); } } } function bind_modal_text_scroll(slide_wrapper,section_num) { slide_wrapper.children("div.inner").off("scroll"); slide_wrapper.children("div.inner").on("scroll",function(){ modal_text_scroll_saver(slide_wrapper,section_num); }); $(window).off("resize.modal_text"); $(window).on("resize.modal_text",function(){ modal_text_scroll_saver(slide_wrapper,section_num); }); } function modal_text_scroll_saver(slide_wrapper,section_num) { if( modal_carousel_scroll_action_flg == 1 ){ modal_carousel_scroll_action_flg = 0; setTimeout(function(){ modal_text_scroll_action(slide_wrapper,section_num); modal_carousel_scroll_action_flg = 1; },500); } } function modal_text_scroll_action(slide_wrapper,section_num) { var scroll_left = 0; var text_scroll_right_val = 0; var text_scroll_total_width = 0; slide_wrapper.find("section").each(function() { text_scroll_total_width += $(this).outerWidth(true); }); var section_last_margin = parseInt(slide_wrapper.find("div.blank").css("width")); var text_view_page = 0; scroll_left = text_scroll_total_width+slide_wrapper.children("div.inner").scrollLeft()-window_width+section_last_margin; text_scroll_right_val = -slide_wrapper.children("div.inner").scrollLeft(); slide_wrapper.find("section").each(function(i){ var section_num = i+1; var target = $(this); var position_right = text_scroll_total_width-(target.offset().left+scroll_left-section_last_margin+target.outerWidth(true)); var position_left = text_scroll_total_width-(target.offset().left+scroll_left-section_last_margin); // console.log("section: "+section_num); // console.log("position_right: "+position_right); // console.log("position_left: "+position_left); // console.log("target.offset().left: "+target.offset().left); // console.log("text_scroll_right_val: "+text_scroll_right_val); if( position_right <= text_scroll_right_val && position_left > text_scroll_right_val ){ modal_carousel_hash_action_flg = 0; text_view_page = section_num; location.hash = "p/"+text_view_page; setTimeout(function(){ modal_carousel_hash_action_flg = 1; },500); } }); if( slide_wrapper.hasClass("single") && slide_wrapper.find("section").outerWidth(true) <= window_width ){ slide_wrapper.removeClass("pos_start pos_end pos_covered"); slide_wrapper.addClass("pos_covered"); }else{ if( text_scroll_right_val == 0 ){ slide_wrapper.removeClass("pos_start pos_end pos_covered"); slide_wrapper.addClass("pos_start"); }else if( scroll_left == 0 ){ slide_wrapper.removeClass("pos_start pos_end pos_covered"); slide_wrapper.addClass("pos_end"); }else{ slide_wrapper.removeClass("pos_start pos_end pos_covered"); } } if( slide_wrapper.attr("data-page") != text_view_page ){ slide_wrapper.attr("data-page",text_view_page); slide_wrapper.find("div.page > ol > li").removeClass("active"); slide_wrapper.find("div.page > ol > li.p_"+text_view_page).addClass("active"); } // console.log("text_scroll_total_width: "+text_scroll_total_width); // console.log("scroll_left: "+scroll_left); // console.log("section_last_margin: "+section_last_margin); // console.log("text_scroll_right_val: "+text_scroll_right_val); // console.log("text_view_page: "+text_view_page); } function modal_text_scroll_to(slide_wrapper,page) { // console.log("fn modal_text_scroll_to page: "+page); var section_window_margin = 0; var section_skip_width = 0; slide_wrapper.find("section").each(function(i) { if( i <= page-1 ){ section_skip_width += $(this).outerWidth(true); } if( i == page-1 ){ section_window_margin = (window_width-$(this).outerWidth(true)); } }); var scroll_to = 0; var section_last_margin = parseInt(slide_wrapper.find("div.blank").css("width")); scroll_to = -(section_skip_width + section_window_margin - window_width); // console.log("section_skip_width: "+section_skip_width); // console.log("section_window_margin: "+section_window_margin); // console.log("section_last_margin: "+section_last_margin); // console.log("section_window_margin: "+section_window_margin); // console.log("scroll_to: "+scroll_to); slide_wrapper.children("div.inner").stop().animate({ scrollLeft: scroll_to }, 800, "easeOutQuint",function(){ }); } $(document).on("click", "body > section.modal.text > div.inner > div.content > div.slider_text > div.control > div.left_right", function(){ var slide_wrapper = $(this).closest("div.slider_text"); var page_now = parseInt(slide_wrapper.attr("data-page")); if( $(this).hasClass("arrow_right") ){ var page_to = page_now-1; if( slide_wrapper.find("section.section_"+page_to)[0] ){ modal_text_scroll_to(slide_wrapper,page_to); } } if( $(this).hasClass("arrow_left") ){ var page_to = page_now+1; if( slide_wrapper.find("section.section_"+page_to)[0] ){ modal_text_scroll_to(slide_wrapper,page_to); } } return false; }); $(document).on("click", "body > section.modal.text > div.inner > div.content > div.slider_text > div.control > div.page > ol > li > a", function(){ modal_carousel_hash_action_flg = 0; var slide_wrapper = $(this).closest("div.slider_text"); var hash_arr = $(this).attr("data-href").split("#p/"); var hash = hash_arr[1]; var page_to = hash; // console.log(page_to); modal_text_scroll_to(slide_wrapper,page_to); return false; }); window.hashchange_action = function( hash ){ if( $("[data-scrollto='"+hash+"']")[0] ){ var val = $("[data-scrollto='"+hash+"']").first().offset().top + scroll_val - 120; scrollto(val); } if(hash.indexOf( "#p/" ) != -1 && modal_carousel_hash_action_flg == 1 ){ var hash_arr = hash.split("#p/"); var hash = hash_arr[1]; if( $("body > .modal")[0] ){ if( hash != "" ){ $("body").addClass("modal_text"); $("body > .modal").addClass("active"); modal_carousel_init( hash ); }else{ $("body").removeClass("modal_text"); $("body > .modal").removeClass("active"); } } } } function hashchange_trigger( hash ) { if( hash.indexOf( "#!/" ) != -1 ){ var href = hash.replace( /^#!\//, '' ); if( href == "" ){ var href = "https://gencompany.net/"; } pjax( href, "", "" ); }else if(hash.indexOf( "#/" ) != -1){ var hash_arr = hash.split("#/"); var hash = hash_arr[1]; hashchange_action( hash ); }else if(hash.indexOf( "#p/" ) != -1 && modal_carousel_hash_action_flg == 1){ hashchange_action( hash ); } } $(window).hashchange( function(){ var hash = location.hash; hashchange_trigger( hash ); }) if( location.hash != "" ){ var hash = location.hash; hashchange_trigger( hash ); } $(window).bind('load', function() { var hash = location.hash; if( hash.indexOf( "#!/" ) != -1 ){ var href = hash.replace( /^#!\//, '' ); if ( window.history.pushState ) { window.location = href; }else{ pjax( href, "", "" ); } } }); function scroll_trigger() { if( $("html:not(.moving) .scroll_trigger:not(.action)")[0] ){ $(".scroll_trigger:not(.action)").each(function(i){ var target = $(this); var position = target.offset().top + scroll_val; var move_y = +(position - scroll_val); var in_position = position + window_height/100; var window_bottom_position = $("body #container > div#base").scrollTop() + $(window).height(); if(in_position < window_bottom_position){ target.addClass('action'); if( target.find(".auto_fade")[0] ){ var target_elm = target.find(".auto_fade"); setTimeout(function(){ elm_fade( target_elm, 200 ); },100); } if( target.find(".textillate_wrapper")[0] ){ var target_textillate = target.find(".textillate_wrapper"); setTimeout(function(){ textillate( target_textillate, 600 ); },100); } if( target.find("iframe.pending")[0] ){ var target_iframe = target.find("iframe.pending"); setTimeout(function(){ target_iframe.removeClass("pending") target_iframe.attr("src",target_iframe.attr("data-src")); },100); } // if( target.find("video[autoplay]")[0] ){ // var target_video = target.find("video[autoplay]"); // target_video.each(function(i){ // var player = $(this).get(0); // player.play(); // }); // } } }); } } function textillate(wrapper,speed) { if( wrapper.find("span")[0] ){ wrapper.addClass("textillate"); wrapper.find("span").each(function(i){ // $(this).delay(speed*i).queue(function() { // $(this).addClass("show"); // }); $(this).delay(speed*i).queue(function() { $(this).textillate({ in: { effect: 'fadeIn', delay: 50 } }).dequeue(); }); }); } } function elm_fade( targets, delay ){ var target_num = targets.length; $(targets[0]).addClass("show"); targets.splice(0,1); if (target_num > 0) { setTimeout(function(){ elm_fade( targets, delay ); },delay); } else { return false; } } function thm_random_fade_start( target_index ){ var target_thms = target_index.find("ul > li.thm:not(.show)"); thm_random_fade( target_thms, 200 ); } function thm_random_fade( targets, delay ){ var target_num = targets.length; var random_i = Math.floor(Math.random()*target_num); $(targets[random_i]).addClass("show"); targets.splice(random_i,1); if (target_num > 0) { setTimeout(function(){ thm_random_fade( targets, delay ); },delay); } else { return false; } } function scroll_off(){ var scroll_event = 'onwheel' in document ? 'wheel' : 'onmousewheel' in document ? 'mousewheel' : 'DOMMouseScroll'; $(document).on(scroll_event,function(e){e.preventDefault();}); $(document).on('touchmove.noScroll', function(e) {e.preventDefault();}); } function scroll_on(){ var scroll_event = 'onwheel' in document ? 'wheel' : 'onmousewheel' in document ? 'mousewheel' : 'DOMMouseScroll'; $(document).off(scroll_event); $(document).off('.noScroll'); } if( id == "" ){ // scroll_off(); }else{ // scroll_on(); } function selectorEscape(val){ return val.replace(/\//g, '\\/'); } function video_stop(){ $("article#top > div.inner > div.video > ul > li.video_1.part").removeClass("active"); setTimeout(function(){ $("article#top > div.inner > div.video > ul > li.video_1.part > div").empty(); $("article#top > div.inner > div.video > ul > li.video_2.part").removeClass("active"); setTimeout(function(){ $("article#top > div.inner > div.video > ul > li.video_2.part > div").empty(); },1000); },1000); } function video_play(){ if( $("body.root")[0] ){ setTimeout(function(){ $("article#top > div.inner > div.video > ul > li.video_1.part").addClass("active"); create_video( $("article#top > div.inner > div.video > ul > li.video_1.part > div") , "https://gencompany.net/elements/video_01" , "video_01" ); setTimeout(function(){ $("article#top > div.inner > div.video > ul > li.video_2.part").addClass("active"); create_video( $("article#top > div.inner > div.video > ul > li.video_2.part > div") , "https://gencompany.net/elements/video_02" , "video_02" ); setTimeout(function(){ $("article#top > div.inner > div.video > ul > li.part > div > img").fadeIn(1000); },1000); },500); },4000); } } function create_video(target, video_file, target_id) { if( $("html.touch_device.iOS")[0] ) { var width = target.outerWidth(); var height = target.outerHeight(); target.append(''); setTimeout(function(){ target.parent().addClass("play"); var video = document.createElement('video'); video.style.display = 'none'; document.body.appendChild(video); var canvas = document.getElementById('video_canvas_'+target_id); $(canvas).css({"display": "block"}); var ctx = canvas.getContext("2d"); var ctime = 0; var lastTime; video.addEventListener('canplay',function(){ lastTime = Date.now(); setInterval(function(){ var curTime = Date.now(); var diff = Date.now() - lastTime; lastTime = curTime; ctime += diff/1000; video.currentTime = ctime; ctx.drawImage(video, 0, 0, width, height); if(video.duration <= video.currentTime){ ctime = 0; } }, 1000/30); },false); video.src = video_file +'.mp4?24042721'; video.load(); },1000); }else{ target.append(''); setTimeout(function(){ target.parent().addClass("play"); target.find("video").each(function(){ if( ! $(this).hasClass("play") ){ $(this).addClass("play"); $(this).get(0).play(); } }); },1000); } } function load_iframe(){ $("iframe.preload:not('.loaded')").each(function(){ $(this).load(function(){ $(this).addClass("loaded"); }); }); } load_iframe(); var start_limit = 4000; $("html").data("preloaded", 0); function preload(){ var img = [], img_arr = $("img.preload"), // ローディング対象の画像を指定 img_arr_lngth = img_arr.size(); var img_arr_lngth_total = img_arr_lngth; if( img_arr_lngth_total > 0 ){ img_arr.each(function(indx){ img[indx] = new Image(); img[indx].onload = function(){ img_arr_lngth = img_arr_lngth - 1; var progress = Math.round((1-img_arr_lngth/img_arr_lngth_total)*100); $("div.progress").stop().animate({"width": progress + "%"},2000); if( 0 >= img_arr_lngth ){ // img_load(); window_resize(); $("html").data("preloaded", 1); $("div.progress").stop().animate({"width": "100%"},1500,"easeOutQuad",function(){ setTimeout(function(){ $("div.progress").addClass("out"); var timer = getPast(); // console.log(timer); $("#header").addClass("start"); if( timer > start_limit ){ preload_finish(); }else{ setTimeout(function(){ // console.log(getPast()); preload_finish(); },start_limit-timer); } },200); }); } }; img[indx].src = $(this).attr('src'); }); }else{ $("html").data("preloaded", 1); $("div#progress").stop().animate({"width": "100%"},1500,"easeOutQuad",function(){ $.getScript("https://gencompany.net/js/3d.js?1707063", function(){ }); setTimeout(function(){ $("div.progress").addClass("out"); setTimeout(function(){ $("div#preloader").fadeOut(2000, function() { $(this).remove(); window_resize(); }); },1000); },200); }); } } function preload_finish(){ $("html").addClass("start"); $("div#preloader").fadeOut(1000, function() { $(this).remove(); if( $("div.slide_wrapper > div.slide")[0] ) { slide_start( $("div.slide_wrapper > div.slide") ); } window.FB.XFBML.parse(); }); } function img_load(){ $("img.preload:not('.loaded')").each(function(){ $(this).imagesLoaded(function(){ $(this).addClass("loaded"); window_resize(); }); }); } var watch_target = document.getElementById('base'); var article_id = ""; function watch_reflesh(){ var observer = new MutationObserver(function() { article_id = $("body #container > div#base > article:not(.leave)").attr("id"); if( article_id == "login/" && $("#login_complete")[0] ){ var href = "https://gencompany.net/accounts/"; pjax( href, "", "" ); } }); observer.observe(watch_target, { childList: true, subtree: true }); } $("body #header > header > h1 > a > img").imagesLoaded(function(){ if( $("#preloader")[0] ){ $("div#preloader > div.bg").addClass("show"); preload(); getPast(); setTimeout(function(){ $("#header > header > h1 > div.area > div.circle").addClass("show"); },1000); } }); $(window).bind('load', function() { if( $("#preloader")[0] ){ img_load(); // window_resize(); if( $("body #container > div#base article.ground")[0] ){ var target = $("#" + selectorEscape($("body").attr("data-scroll"))); if( target[0] ){ var val = target.position().top; scrollto(val); }else{ scroll_action_flag = true; } } watch_reflesh(); } if(past_href.indexOf( "#/" ) != -1){ hash_arr = past_href.split("#/"); past_href = hash_arr[0]; hash = hash_arr[1]; hashchange_action( hash ); } }); function rnd(n){ return Math.floor(Math.random()*(n+1)); } var timerId_slide = []; function slide_switch(target_wrapper, past_target, next_target) { var next_id = next_target.attr("id"); var next_interval = parseInt(next_target.attr("data-interval")); target_wrapper.children("ul.dots").find("li").removeClass("active"); var next_dot = target_wrapper.find("."+next_id).addClass("active"); if( past_target != "" ){ past_target.addClass("pending active"); } img_url = next_target.find("div.img").attr("data-img-url"); next_target.find("div.img > img").imagesLoaded(function(){ next_target.addClass("active"); if( past_target != "" ){ setTimeout(function(){ past_target.removeClass("pending active"); },500); } slide_repeat(target_wrapper,next_interval); }); next_target.find("div.img > img").attr("src", img_url); } function slide_repeat(target_wrapper,next_interval) { var slide_id = target_wrapper.attr("id"); var max_num = target_wrapper.find("ul.carousel > li.cell").length; if( typeof timerId_slide[slide_id] != "undefined" ){ clearTimeout(timerId_slide[slide_id]); } timerId_slide[slide_id] = setTimeout(function(){ if( max_num > 1 ){ var past_target = target_wrapper.find("ul.carousel > li.cell.active"); var next_target = ""; if( past_target.next("li")[0] ){ next_target = past_target.next("li"); }else{ next_target = target_wrapper.find("ul.carousel > li.cell").first(); } slide_switch(target_wrapper, past_target, next_target); }else{ clearTimeout(timerId_slide[slide_id]); } },next_interval); } function slide_start(target_wrapper_arr) { target_wrapper_arr.each(function(i){ var target_wrapper = $(this); target_wrapper.delay(i *500).queue(function() { target_wrapper.addClass("active"); target_wrapper.append('
      '); target_wrapper.find("ul.carousel > li.cell").each(function(i){ var set_class = $(this).attr("id"); target_wrapper.children("ul.dots").append('
    • '); }); var max_num = target_wrapper.find("ul.carousel > li.cell").length; // var first_target = target_wrapper.find("ul.carousel > li.cell").eq(rnd(max_num-1)); var first_target = target_wrapper.find("ul.carousel > li.cell").eq(0); var first_interval = parseInt(first_target.attr("data-interval")); var img_url = first_target.find("div.img").attr("data-img-url"); first_target.find("div.img > img").imagesLoaded(function(){ slide_switch(target_wrapper, "", first_target); slide_repeat(target_wrapper,first_interval); }); first_target.find("div.img > img").attr("src", img_url); target_wrapper.children("ul.dots").find("li").click(function(){ if( !$(this).hasClass("active") ){ var past_target = target_wrapper.find("ul.carousel > li.cell.active"); var next_target = target_wrapper.find("ul.carousel > li.cell#"+$(this).attr("class")); slide_switch(target_wrapper, past_target, next_target); } }) }); }); } $(document).on("click", "article#root > article#top div.slide > ul.carousel > li.cell > a[data-link-to-flag='media']", function(){ return false; }); $(document).on("click", "div.list.faq > div.media_list > dl > dt.over", function() { $(this).next("dd").slideToggle(); return false; }); function get_total_height(elms) { var total_height = 0; elms.each(function(i){ var height = $(this).outerHeight(true); total_height += height; }); return total_height; } $(document).on("click", "article#root > article#top a.arrow_scroll, body #header > header > h1 > a", function(){ scrollto(window_height); return false; }); // $(document).on("click", "a[href*='#/']", function(){ // var href = $(this).attr("href"); // hash_arr = href.split("#/"); // hash = hash_arr[1]; // hashchange_action( hash ); // return false; // }); $(document).on("click", "div#entry > div.inner > article.archives\\/ > div.body > section.description > div.arrow", function(){ scrollto(window_height); return false; }); var getPast = (function() { var lastDate = NaN; return function() { var now = Date.now(); var past = now - lastDate; lastDate = now; return past; }; })(); });