/* カスタマイズ用の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);
}