/* カスタマイズ用のJavaScriptコードをここに記述してください */ var initWindowHeight = window.innerHeight - 168; $(function(){ // reload page when click button back browser if(performance.navigation.type == 2){ location.reload(true); } //toggle shop list. $('body').on('click', '#acdn-button', function(){ $('#acdn-target').addClass('inner_contents'); $( '#acdn-target' ).slideToggle() ; }); $('body').on('click', '#acdn-button02', function(){ $( '#acdn-target' ).slideToggle() ; }); // show model fillter $('body').on('click', '.refine', function() { $('.refine_area').addClass('z-index'); $('.slider').addClass('none'); $('.refine_area').removeClass('display-none'); $('#search').addClass('display-none'); getListFillter(); }); // close model fillter $('body').on('click', '.close', function(){ $('.refine_area').removeClass('z-index'); $('.slider').removeClass('none'); $('.refine_area').addClass('display-none'); $('#search').removeClass('display-none'); clearFillter(); cancelFillter(); }); $('body').on('click', '#btn-search-shopname', function(){ // $(".sbox1-search").click(); $("#formMap").submit(); }); $('body').on('click', '.button_clear', function(){ clearFillter(); }); // event before submit $('#formFw').on('submit',function() { getListFillter(); appendfillter(); getCampaignId(); }); $('.article-title').on('click', function () { /*クリックでコンテンツを開閉*/ $(this).next().slideToggle(200); /*矢印の向きを変更*/ $(this).toggleClass('open'); }); //コンテンツを非表示に $(".accordion-content").css("display", "none"); //タイトルがクリックされたら //$(".accordion-title").click(function () { $(".accordion-title").on('click', function () { //".open"はaccordion-titleでもOK //クリックしたaccordion-title以外の全てのopenを取る $(".accordion-title").not(this).removeClass("open"); //クリックされたtitle以外のcontentを閉じる $(".accordion-title").not(this).next().slideUp(300); //thisにopenクラスを付与 $(this).toggleClass("open"); //thisのcontentを展開、開いていれば閉じる $(this).next().slideToggle(300); }); }); function InitSlick () { if($('#card-box').length == 0){ return; } $('#card-box').on('init', function () { $('#card-box').find('li .card-item .card-item-name').each(function () { $(this).addClass('wordBreak'); }) $('#card-box').removeClass('hidden'); }); $("#card-box").on("afterChange", function (event, slick, currentSlide) { //move map var current = $("#card-box .slick-slide[data-slick-index='"+currentSlide+"']"); var lat = $(current).data('lat'); var lon = $(current).data('lon'); ZdcEmapMapObj.moveLatLon(new ZDC.LatLon(ZDC.msTodeg(lat),ZDC.msTodeg(lon))); }) if($('#card-box .slider-item').length === 1){ $('#card-box .slider-item').removeClass('slider-item'); } $('#card-box').slick ({ autoplay:false, dots:false, // variableWidth:true, swipe:true, centerMode:false, arrows:false, infinite: false, swipeToSlide: true, pauseOnFocus: false, pauseOnHover: false, slidesToShow: 1.5, slidesToScroll: 1 }); overideSlickLib(); setINdex(); } function ZdcEmapRefList () { InitSlick(); checkMsgError(); // enable button search area ZdcEmapButtonEnable(); } function ZdcEmapButtonDisabled () { var buttonSearchArea = document.getElementsByClassName('button_search_area')[0]; if (typeof(buttonSearchArea) != 'undefined') { buttonSearchArea.onclick = null; } } function ZdcEmapButtonEnable () { var buttonSearchArea = document.getElementsByClassName('button_search_area')[0]; if (typeof(buttonSearchArea) != 'undefined') { buttonSearchArea.onclick = custCondReSearchMap; } } function getCurrentLocation () { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(getCurrentLocationSuccess, getCurrentLocationErr); } else { getCurrentLocationErr(); } } var researchTimeout = null; function getCurrentLocationSuccess (position) { ZdcEmapSearchNearShopListClear(); var lat = position.coords.latitude; var lon = position.coords.longitude; var ll = new ZDC.wgsTotky(new ZDC.LatLon(lat, lon)); //convert datum form world to tokyo. lat = ZDC.degToms(ll.lat); lon = ZDC.degToms(ll.lon); // get param campaign id var ps2 = getCampaignIdForSearchArea(); var paramsfilter = "&lat=" + lat + "&lon=" + lon + "&al=" + initAl + '&p_s2=' + ps2; //move map center.and search again shop near ZdcEmapMapObj.moveLatLon(ll); if (researchTimeout) { clearTimeout(researchTimeout); } researchTimeout = setTimeout(function () { var cond = ZdcEmapGetCondParm(true); var conditionFillter = getCondToSearchMap(); ZdcEmapSearchFirst = 1; ZdcEmapSearchPoint = null; ZdcEmapSearchClickFlg = 1; appendUrl(paramsfilter, cond); ZdcEmapSearchShop(conditionFillter); ZdcEmapNearShopInit(); ZdcEmapSearchNearShop(lat, lon, '', '', paramsfilter, cond, 1); }, 600); } function resizeMapSuccess(){ // set ZdcEmapWindowHeight again if(initWindowHeight < ZdcEmapWindowHeight){ //no shop card ZdcEmapWindowHeight = ZdcEmapWindowHeight - 50; var mapDom = document.getElementById('ZdcEmapMap'); mapDom.style.height = ZdcEmapWindowHeight + 'px'; ZdcEmapMapObj.refresh(); setINdex(); } else { setINdex(); } customMapcenter(); } function resizeMapError(){ // set ZdcEmapWindowHeight again if(initWindowHeight >= ZdcEmapWindowHeight && $('#card-box').length == 0){ ZdcEmapWindowHeight = ZdcEmapWindowHeight + 50; var mapDom = document.getElementById('ZdcEmapMap'); mapDom.style.height = ZdcEmapWindowHeight + 'px'; ZdcEmapMapObj.refresh(); setINdex(0); } else { setINdex(0); } customMapcenter(); } function getCurrentLocationErr () { showPopupErr(msg_err_popup_not_get_location); } function closePopupError (){ var dlg = document.getElementById("modal-error-current-location"); if (!dlg) return; dlg.style.display = "none"; } function showPopupErr(msg){ var dlg = document.getElementById("modal-error-current-location"); var popupMsg = document.getElementById("msg_err_pupop"); if (!dlg || !popupMsg) return; popupMsg.innerHTML = msg; dlg.style.display = "block"; resizeMapError(); } function removeClass(idRotFind,findItem, classItem){ $(idRotFind).find(findItem).each(function () { $(this).removeClass(classItem); }); } function checkMsgError(){ var existsError = $("#ZdcEmapSearchNShopList").find(".z_error_msg"); if(existsError.length > 0){ // get param latlon from current URL var url = new URL(window.location.href); var filter = url.searchParams.get("p_filter"); if (filter && filter == 1) { resizeMapError(); } else { showPopupErr(msg_err_popup_not_data); } } else { resizeMapSuccess(); } } function showShopCardCenter(index){ $('.slider').slick('slickGoTo',parseInt(index)); } function overideSlickLib () { var offset = 128; // $('#card-box').slick('getSlick').animateSlide = function(e, t) { var o = {} , s = this; s.animateHeight(), !0 === s.options.rtl && !1 === s.options.vertical && (e = -e), !1 === s.transformsEnabled ? !1 === s.options.vertical ? s.$slideTrack.animate({ left: e }, s.options.speed, s.options.easing, t) : s.$slideTrack.animate({ top: e }, s.options.speed, s.options.easing, t) : !1 === s.cssTransitions ? (!0 === s.options.rtl && (s.currentLeft = -s.currentLeft), i({ animStart: s.currentLeft }).animate({ animStart: e }, { duration: s.options.speed, easing: s.options.easing, step: function(i) { i = Math.ceil(i), !1 === s.options.vertical ? (o[s.animType] = "translate(" + i + "px, 0px)", s.$slideTrack.css(o)) : (o[s.animType] = "translate(0px," + i + "px)", s.$slideTrack.css(o)) }, complete: function() { t && t.call() } })) : (s.applyTransition(), e = Math.ceil(e), (this.currentSlide === (this.slideCount - 1) && this.slideCount !== 1) ? e = e - offset : e, !1 === s.options.vertical ? o[s.animType] = "translate3d(" + e + "px, 0px, 0px)" : o[s.animType] = "translate3d(0px," + e + "px, 0px)", s.$slideTrack.css(o), t && setTimeout(function() { s.disableTransition(), t.call() }, s.options.speed)) } // $('#card-box').slick('getSlick').setCSS = function(i) { var e, t, o = this, s = {}; (this.currentSlide === (this.slideCount - 1) && this.slideCount !== 1) ? i = i - offset : i, !0 === o.options.rtl && (i = -i), e = "left" == o.positionProp ? Math.ceil(i) + "px" : "0px", t = "top" == o.positionProp ? Math.ceil(i) + "px" : "0px", s[o.positionProp] = i, !1 === o.transformsEnabled ? o.$slideTrack.css(s) : (s = {}, !1 === o.cssTransitions ? (s[o.animType] = "translate(" + e + ", " + t + ")", o.$slideTrack.css(s)) : (s[o.animType] = "translate3d(" + e + ", " + t + ", 0px)", o.$slideTrack.css(s))) } } function setINdex(offsetY){ offsetY = typeof offsetY == "undefined" ? 86 : offsetY; var pList = $("#ZdcEmapMap p"); var copyRight = null; for (var i = 0; i < pList.length; i++) { var logStr = "[" + i + "]" + $(pList[i]).html(); if ($(pList[i]).html().indexOf("ZENRIN DataCom") > 0) { copyRight = $(pList[i]); } if(copyRight !== null) { copyRight.parent().css("margin-bottom", offsetY+"px"); } } } // function save fillter var listFilter = []; function getListFillter(){ // clear list fillter listFilter = []; // get list fillter var $listCb = $('ul.fillter-model li'); $listCb.each(function(){ var $cb = $(this).find(":checkbox"); var name = $cb.attr("name"); if($cb.prop("checked")){ listFilter[name] = $cb.attr("value") }else{ listFilter[name] = ''; } }); } // function add param fillter for search FW function appendfillter(){ var formFw = document.formFw; if(!formFw) return; for(var i = 1; i <= 24 ; i++){ var cond = "cond" + i; if(listFilter[cond] != '' && typeof(formFw[cond]) !== 'undefined'){ formFw[cond].value = listFilter[cond]; } } } // function clear fillter function clearFillter(){ var $listCb = $('ul.fillter-model li'); $listCb.each(function(){ var $cb = $(this).find(":checkbox"); $cb.prop("checked", false); }); } // function cancel fillter function cancelFillter(){ var $listCb = $('ul.fillter-model li'); $listCb.each(function(){ var $cb = $(this).find(":checkbox"); var name = $cb.attr("name"); if(listFilter[name]){ $cb.prop("checked", true); } }); } // function make param for campaign id function getCampaignId(){ var $listCb = $('ul.fillter-cl li'); var paramCL = ""; $listCb.each(function(){ var $cb = $(this).find(":checkbox"); if($cb.prop("checked")){ paramCL += $cb.attr("value") + ","; } }); paramCL = paramCL.substring(0, paramCL.length - 1); var formMap = document.formMap; formMap['p_s2'].value = paramCL; } function customMapcenter(){ if(ZdcEmapMapCenterWidget){ var center = ZdcEmapMapObj.getLatLon(); var pos = ZdcEmapMapObj.latLonToTL(center); ZdcEmapMapCenterWidget.position.top = pos.top - ZdcEmapMapCenterW / 2; ZdcEmapMapCenterWidget.position.left = pos.left - ZdcEmapMapCenterH / 2; ZdcEmapMapObj.addWidget(ZdcEmapMapCenterWidget); ZdcEmapMapCenterWidget.open(); } } // function to get condition to search map function getCondToSearchMap() { var listHandlingService = $('.fillter-handling-service li'); var listIndustryType = $('.fillter-industry-type li'); var conditionArrayInitHandlingService = []; var conditionArrayInitIndustryType = []; var conditionArraySearchHandlingService = []; var conditionArraySearchIndustryType = []; var conditionFillter = ''; listHandlingService.each(function() { var $cb = $(this).find(":checkbox"); var name = $cb.attr("name"); if ($cb.prop("checked")) { conditionArrayInitHandlingService.push($cb.attr("value")); conditionArraySearchHandlingService[name] = $cb.attr("value"); } else { conditionArraySearchHandlingService[name] = ''; } }); listIndustryType.each(function() { var $cb = $(this).find(":checkbox"); var name = $cb.attr("name"); if ($cb.prop("checked")) { conditionArrayInitIndustryType.push($cb.attr("value")); conditionArraySearchIndustryType[name] = $cb.attr("value"); } else { conditionArraySearchIndustryType[name] = ''; } }); var conditionFillterHandlingService = conditionArrayInitHandlingService.join(' OR '); var conditionFillterIndustryType = conditionArrayInitIndustryType.join(' OR '); if (conditionFillterHandlingService != "") { conditionFillterHandlingService = "( " + conditionFillterHandlingService + " )"; conditionFillter = conditionFillterHandlingService; } if (conditionFillterIndustryType != "") { conditionFillterIndustryType = "( " + conditionFillterIndustryType + " )"; conditionFillter = conditionFillterIndustryType; } if (conditionFillterHandlingService != "" && conditionFillterIndustryType != "") { conditionFillter = "( " + conditionFillterHandlingService + "AND" + conditionFillterIndustryType + " )"; } return conditionFillter; } // function get param campaign id function getCampaignIdForSearchArea() { var $listCb = $('ul.fillter-cl li'); var paramCL = ""; $listCb.each(function(){ var $cb = $(this).find(":checkbox"); if($cb.prop("checked")){ paramCL += $cb.attr("value") + ","; } }); paramCL = paramCL.substring(0, paramCL.length - 1); return paramCL; } //Re-search map screen by conditions filter. function custCondReSearchMap() { // disable button search area ZdcEmapButtonDisabled(); // get condition fillter var cond = ZdcEmapGetCondParm(true); var conditionFillter = getCondToSearchMap(); // delete list shop $("#ZdcEmapSearchNShopList").html(""); // get box var box = ZdcEmapMapObj.getLatLonBox(); var latlon = ZDC.degToms(box.getMin().lat) + "," + ZDC.degToms(box.getMin().lon) + "," + ZDC.degToms(box.getMax().lat) + "," + ZDC.degToms(box.getMax().lon); // excute fillter var mll = ZdcEmapMapObj.getLatLon(); var lat = ZDC.degToms(mll.lat); var lon = ZDC.degToms(mll.lon); var init_lv = ZdcEmapMapObj.getZoomIndex(); // get param campaign id var ps2 = getCampaignIdForSearchArea(); var param = '&lat=' + ZDC.degToms(mll.lat) + '&lon=' + ZDC.degToms(mll.lon) + '&latlon=' + latlon + '&init_lv=' + init_lv + '&p_filter=1' + '&p_s2=' + ps2; appendUrl(param, cond); ZdcEmapSearchShop(conditionFillter); ZdcEmapNearShopInit(); ZdcEmapSearchNearShop(lat,lon,'','',param,cond,1); } // function appen url function appendUrl(param,cond){ var url = $('#cust_research_map').val(); url += param + cond; window.history.replaceState(null, null, url); }