var l_links = []; var l_curTime = 0; var l_fullScreen = false; var l_playing = false; var l_v = 1000; var l_slideInterval = setInterval(function() {}, l_v); clearInterval(l_slideInterval); jQuery(function($) { $('#l_init_term').change(function() { if (window.HmcDataAccess && typeof l_getDomenList === 'function' && $("#l_domen").length) { l_getDomenList(window.l_mapSection || 'sfo'); } else { l_getTime(); } }); $("#l_date").change(function() { var l_date = $("#l_date").val(); $.ajax({ type: "POST", url: "php/date/l_date.php", data: {date_1: l_date} }).done(function(result) {}); if (window.HmcDataAccess) HmcDataAccess.updateBanner(); if (typeof l_getDomenList === "function" && $("#l_domen").length) { l_getDomenList(window.l_mapSection || "sfo"); } else { l_getLink(0); } }); $( "#l_map" ).on("load", function() { $( "#l_not_find" ).hide(); $( "#l_plug" ).hide(); $( "#l_map" ).show(); }); $("#l_map").on("error", function() { $( "#l_plug" ).hide(); $( "#l_map" ).hide(); $( "#l_not_find" ).show(); }); $("#l_previous").click(function() { l_pause(); l_curTime = l_previous(); }); $("#l_next").click(function() { l_pause(); l_curTime = l_next(); }); $("#l_speed").change(function() { l_pause(); v = $('#l_speed').val(); }); $("#l_pause").click(function() { if(l_playing) l_pause (); else l_curTime = l_play(l_curTime, l_v); }); var l_div = document.getElementById('l_map'); l_div.addEventListener("wheel", function(e) { if(!($("#l_popup").length)) { if (e.deltaY < 0) { l_curTime = l_previous(); } else if (e.deltaY > 0) { l_curTime = l_next(); } } }); $(document).keyup(function(e){ if(!($("#l_popup").length)) { if (e.which == 37) { l_curTime = l_previous(); } } }); $(document).keyup(function(e){ if(!($("#l_popup").length)) { if (e.which == 39) { l_curTime = l_next(); } } }); $("#l_map").click(function() { l_fullScreen = true; l_pause(); var l_img = $(this); var l_src = l_img.attr('src'); $("body").append(""); $("body,html").animate({ scrollTop:0 }, 0); $("html").css("overflow","hidden"); $("#l_popup").show(); $("#l_popup_next").click(function(){ l_curTime = l_next(); }); $("#l_popup_previous").click(function(){ l_curTime = l_previous(); }); window.addEventListener("wheel", function(e) { if($("#l_popup").is(':visible')) { if (e.deltaY < 0) { l_curTime = l_previous(); } else if (e.deltaY > 0) { l_curTime = l_next(); } } }); $(document).keyup(function(e){ if($("#l_popup").is(':visible')) { if (e.which == 37) { l_curTime = l_previous(); } } }); $(document).keyup(function(e){ if($("#l_popup").is(':visible')) { if (e.which == 39) { l_curTime = l_next(); } } }); $(document).keydown(function(e) { if( e.keyCode === 27 ) { $("#l_popup").hide(); $("#l_popup").remove(); l_fullScreen = false; $("html").css("overflow","auto"); } }); $("#l_popup_bg").click(function() { $("#l_popup").hide(); $("#l_popup").remove(); l_fullScreen = false; $("html").css("overflow","auto"); }); }); }); function l_getDomenList(l_section) { window.l_mapSection = l_section; var payload = {id_section: l_section, date: l_formDate($("#l_date").val()), id_init_term: $("#l_init_term").val()}; if (window.HmcDataAccess) payload = HmcDataAccess.withSite(payload); $.ajax({ type: "POST", url: "../assets/php/map/l_domenhandler.php", data: payload, beforeSend: function() { $("#l_map").hide(); $("#l_plug").show(); } }).done(function(result) { $("#l_domen").empty(); $("#l_domen").html(result); l_getModelList(); }); } function l_getModelList(){ var domen = $('#l_domen').val(); l_pause(); var modelPayload = {id_domen: domen}; if (window.HmcDataAccess) modelPayload = HmcDataAccess.withSite(modelPayload); $.ajax({ type: "POST", url: "../assets/php/map/l_modelhandler.php", data: modelPayload, beforeSend: function() { $("#l_map").hide(); $("#l_plug").show(); } }).done(function(result) { $("#l_model").empty(); $("#l_model").html(result); document.querySelector('#l_model option').selected = true; let l_modelId = sessionStorage.getItem('l_selectedMapModelId'); if(l_modelId) { document.querySelectorAll('#l_model option').forEach((item) => { if(item.value == l_modelId) item.selected = true; }); } l_getElemList(); }); } function l_getElemList() { var domen = $('#l_domen').val(); var model = $('#l_model').val(); sessionStorage.setItem('l_selectedMapModelId', model); l_pause(); var elemPayload = { id_domen: domen, id_model: model, date: l_formDate($("#l_date").val()), id_init_term: $("#l_init_term").val() }; if (window.HmcDataAccess) elemPayload = HmcDataAccess.withSite(elemPayload); $.ajax({ type: "POST", url: "../assets/php/map/l_elemhandler.php", data: elemPayload, beforeSend: function() { $("#l_map").hide(); $("#l_plug").show(); } }).done(function(result) { $("#l_elem").empty(); $("#l_elem").html(result); var firstOpt = document.querySelector('#l_elem option'); if (firstOpt) firstOpt.selected = true; let l_elemId = sessionStorage.getItem('l_selectedMapElemId'); if(l_elemId) { document.querySelectorAll('#l_elem option').forEach((item) => { if(item.value == l_elemId) item.selected = true; }); } l_getTime(); }); } function l_getTime() { var domen = $('#l_domen').val(); var model = $('#l_model').val(); var elem = $('#l_elem').val(); var init_term = $('#l_init_term').val(); sessionStorage.setItem('l_selectedMapElemId', elem); l_pause(); var timePayload = { id_domen: domen, id_model: model, id_elem: elem, id_init_term: init_term }; if (window.HmcDataAccess) timePayload = HmcDataAccess.withSite(timePayload); $.ajax({ type: "POST", url: "../assets/php/map/l_timehandler.php", data: timePayload, beforeSend: function() { $("#l_map").hide(); $("#l_plug").show(); } }). done(function(result) { $("#l_time_wrapper").empty(); $("#l_time_wrapper").html(result); l_getLink(); }); } function l_getLink() { var domen = $('#l_domen').val(); var model = $('#l_model').val(); var elem = $('#l_elem').val(); var init_term = $('#l_init_term').val(); var date = l_formDate($("#l_date").val()); l_pause(); var linkPayload = { id_domen: domen, id_model: model, id_elem: elem, id_init_term: init_term, date: date }; if (window.HmcDataAccess) linkPayload = HmcDataAccess.withSite(linkPayload); $.ajax({ type: "POST", url: "../assets/php/map/l_linkhandler.php", data: linkPayload, beforeSend: function() { $("#l_map").hide(); $("#l_plug").show(); } }).done(function(result) { var links; try { links = JSON.parse(result); } catch (e) { $("#l_plug").hide(); $("#l_map").hide(); $("#l_not_find").show(); return; } if (links && links.error === 'auth_required_for_recent') { if (window.HmcDataAccess) { HmcDataAccess.updateBanner(links.reason || ''); HmcDataAccess.fillNotFoundMessage('#l_not_find', { authRequired: true }); } $("#l_plug").hide(); $("#l_map").hide(); $("#l_not_find").show(); return; } if (!links || !links.length) { if (window.HmcDataAccess) { HmcDataAccess.fillNotFoundMessage('#l_not_find', { authRequired: false }); } $("#l_plug").hide(); $("#l_map").hide(); $("#l_not_find").show(); return; } window.l_links.length = 0; window.l_links = null; window.l_curTime = 0; window.l_links = links; l_links = links; l_border(0); $("#l_map").attr("src", window.l_links[0]); $("#l_map").show(); }).fail(function(xhr) { var authRequired = window.HmcDataAccess && HmcDataAccess.handleAjaxError(xhr); if (window.HmcDataAccess) { HmcDataAccess.fillNotFoundMessage('#l_not_find', { authRequired: !!authRequired }); } $("#l_plug").hide(); $("#l_map").hide(); $("#l_not_find").show(); }); } function l_getImg(time) { l_pause(); window.l_curTime = time; l_border(window.l_curTime); $("#l_map").attr("src", window.l_links[window.l_curTime]); } function l_previous() { l_pause(); if(l_curTime == 0) l_curTime = window.l_links.length - 1 else l_curTime--; l_border(l_curTime); $("#l_map").attr("src", window.l_links[l_curTime]); if(l_fullScreen) $("#l_popup_img").attr("src", window.l_links[l_curTime]); return l_curTime; } function l_next() { l_pause(); if(l_curTime == window.l_links.length - 1) l_curTime = 0 else l_curTime++; l_border(l_curTime); $("#l_map").attr("src", window.l_links[l_curTime]); if(l_fullScreen) $("#l_popup_img").attr("src", window.l_links[l_curTime]); return l_curTime; } function l_pause () { $("#l_pause").html('►'); l_playing = false; clearInterval(l_slideInterval); } function l_play (l_curTime, l_v) { $("#l_pause").html('❚❚'); l_playing = true; l_slideInterval = setInterval(function() { if(window.l_curTime == window.l_links.length - 1) window.l_curTime = 0 else window.l_curTime++; l_border(window.l_curTime); $("#l_map").attr("src", window.l_links[window.l_curTime]); }, l_v); return window.l_curTime; } function l_formDate(obj) { var year = obj.substring(0, 4); var month = obj.substring(5, 7); var day = obj.substring(8); var result = year + month + day; return result; } function l_border (obj) { var name; for(var i=0; i