/* カスタマイズ用のJavaScriptコードをここに記述してください */ $(document).ready(function() { //toggle shop list. $('body').on('click', '#acdn-button', function(){ $('#acdn-target').addClass('inner_contents'); $( '#acdn-target' ).slideToggle(); $('#currentLocation').addClass('display_none'); }); $('body').on('click', '#acdn-button02', function(){ $( '#acdn-target' ).slideToggle(); $('#currentLocation').removeClass('display_none'); $('#ZdcEmapMap').removeClass('display_none'); }); // close popup cluster $('body').on('click', '.closeInfoCluster', function() { ZdcEmapRemoveBallonUserWidget(); }); // show model fillter $('body').on('click', '.refine', function() { $('.refine_area').hide().fadeIn(); $('.refine_area').addClass('z-index'); $('.refine_area').removeClass('display_none'); $('.bar-search').addClass('display_none'); $('#currentLocation').addClass('display_none'); $('#ZdcEmapMap').addClass('display_none'); $('#ZdcEmapSearchNShopList').addClass('display_none'); getListFillter(); }); // close model fillter $('body').on('click', '.close', function(){ closeFillter(); clearFillter(); cancelFillter(); }); // switch check on checkbox $('ul.fillter li').click( function() { var $cb = $(this).find(":checkbox"); if (!$cb.prop("checked")) { $cb.prop("checked", true); } else { $cb.prop("checked", false); } }); // clear fillter $('.btn-clear').click( function() { clearFillter(); }); }); // function closeFillter function closeFillter(){ $('.refine_area').fadeOut(function(){ $('.refine_area').removeClass('z-index'); $('.refine_area').addClass('display_none'); $('#ZdcEmapSearchNShopList').removeClass('display_none'); }); $('#ZdcEmapMap').removeClass('display_none'); $('#currentLocation').removeClass('display_none'); $('.bar-search').removeClass('display_none'); } // function clear fillter function clearFillter(){ var $listCb = $('ul.fillter li'); $listCb.each(function(){ var $cb = $(this).find(":checkbox"); $cb.prop("checked", false); }); } // function cancel fillter function cancelFillter(){ var $listCb = $('ul.fillter li'); $listCb.each(function(){ var $cb = $(this).find(":checkbox"); var name = $cb.attr("name"); if(listFilter[name]){ $cb.prop("checked", true); } }); } // get current location function getCurrentLocation(){ if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(getCurrentLocationSuccess, getCurrentLocationErr); } else { getCurrentLocationErr(); } } var researchTimeout = null; // get current location success function getCurrentLocationSuccess (position) { 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); //move map center.and search again shop near ZdcEmapMapObj.moveLatLon(ll); reSearchNearShop(lat,lon); } // get current location error function getCurrentLocationErr () { var lat = '35.6521556'; var lon = '139.8014778'; ZdcEmapMapObj.moveLatLon(new ZDC.LatLon(lat, lon)); reSearchNearShop(lat,lon); } // research near shop list function reSearchNearShop(lat, lon){ ZdcEmapSearchNearShopListClear(); var paramsfilter = "&lat="+lat+"&lon="+lon; // re-search near shop if (researchTimeout) { clearTimeout(researchTimeout); } researchTimeout = setTimeout(function () { var cond = ZdcEmapSearchCond || ''; ZdcEmapSearchFirst = 1; ZdcEmapSearchPoint = null; ZdcEmapSearchClickFlg = 1; ZdcEmapSearchShop(cond); ZdcEmapSearchNearShop(lat, lon,'','',paramsfilter,paramCond,1); }, 600); } //Re-search map screen by conditions filter. function custCondReSearchMap() { // get condition fillter var $listCb = $('ul.fillter li'); var conditionArrayInit = []; var conditionArraySearch = []; $listCb.each(function(){ var $cb = $(this).find(":checkbox"); var name = $cb.attr("name"); if($cb.prop("checked")){ conditionArrayInit.push($cb.attr("value")); conditionArraySearch[name] = $cb.attr("value"); }else{ conditionArraySearch[name] = ''; } }); var conditionFillter = conditionArrayInit.join(' OR '); if(conditionFillter != ""){ conditionFillter = "( " + conditionFillter + " )"; } var conditionParam = ""; for(var i = 1; i <= 10 ; i++){ var cond = "cond" + i; if(conditionArraySearch[cond] != ''){ conditionParam += "&" + cond + "=" + encodeURIComponent(conditionArraySearch[cond]); } } // delete list shop $("#ZdcEmapSearchNShopList").html(""); // excute fillter getListFillter(); var mll = ZdcEmapMapObj.getLatLon(); var lat = ZDC.degToms(mll.lat); var lon = ZDC.degToms(mll.lon); var latlonParam = '&lat='+ZDC.degToms(mll.lat)+'&lon='+ZDC.degToms(mll.lon); ZdcEmapInit(lat,lon,'','1'); ZdcEmapSearchShopStart(conditionFillter); ZdcEmapNearShopInit(); ZdcEmapSearchNearShop(lat,lon,'','',latlonParam,conditionParam,1); closeFillter(); appendfillter(); appendUrl(latlonParam, conditionParam); } // function save fillter var listFilter = []; function getListFillter(){ // clear list fillter listFilter = []; // get list fillter var $listCb = $('ul.fillter 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 formPl = document.formPl; if(!formPl) return; for(var i = 1; i <= 10 ; i++){ var cond = "cond" + i; if(listFilter[cond] != ''){ formPl[cond].value = listFilter[cond]; } } } // function appen url function appendUrl(latlonParam,conditionParam){ var url = $('#cust_research_url').val(); url += latlonParam + conditionParam; window.history.replaceState(null, null, url); }