if (typeof itsmo == 'undefined') { var itsmo = {}; } if (typeof itsmo.vars == 'undefined') { itsmo.vars = {}; } if (typeof itsmo.season === 'undefined') { itsmo.season = {}; } itsmo.season.spring = {}; itsmo.season.spring.yozakura = 11; itsmo.season.spring.init = function() { $.getScript('/js/jquery.clearfield.packed.js', itsmo.season.spring.init2); }; itsmo.season.spring.init2 = function() { $('input.clearField').clearField().blur(); }; itsmo.season.spring.init_search = function() { $('div.select-joken a').each(function() { itsmo.season.spring.btn_toggle_set(this); }); itsmo.season.spring.btn_select_set(); itsmo.season.spring.select_migoro_draw(); }; itsmo.season.spring.init_detail = function() { $('div.detail-cp-tab div.sis-search-paka-more').hide(); }; //itsmo.season.spring.yozakuraNextPage = function(count) { // $('#list-yozakura-' + itsmo.season.spring.yozakura).attr("style", "display:block"); // itsmo.season.spring.yozakura = itsmo.season.spring.yozakura + 10; // if (itsmo.season.spring.yozakura > count) { // $('#more-yozakura').attr("style", "display:none"); // } //}; itsmo.season.spring.clearMigoro = function() { $('#id_spring_col_migoro div.box-s strong').text(''); return false; }; itsmo.season.spring.add_calendar = function(add) { var i = $('#id_spring_cal_base').val(); var y = parseInt(i.substring(0, 4), 10); var m = parseInt(i.substring(4, 6), 10) + add; while (m <= 0) { --y; m += 12; } while (m >= 13) { ++y; m -= 12; } y = y * 100 + m; var max_cal_s = parseInt($('#id_max_cal_s').val(), 10); var max_cal_e = parseInt($('#id_max_cal_e').val(), 10); y = Math.max(y, max_cal_s); y = Math.min(y, max_cal_e); $('#id_spring_cal_base').val('' + y); itsmo.season.spring.draw_calendar(); return false; }; itsmo.season.spring.close_window = function() { $('#id_spring_col_migoro div.sis-search-paka-waku0').fadeOut('fast'); $('#ajax_facet_tod_div, #ajax_facet_area_div').fadeOut('fast'); }; itsmo.season.spring._cal_s_old = null; itsmo.season.spring._cal_e_old = null; itsmo.season.spring.showMigoro = function() { itsmo.season.spring.close_window(); itsmo.season.spring.draw_calendar(); itsmo.season.spring._cal_s_old = $("input:[name='flags_cal_s']").val(); itsmo.season.spring._cal_e_old = $("input:[name='flags_cal_e']").val(); $('#id_spring_col_migoro div.sis-search-paka-waku0').fadeIn('fast'); return false; }; itsmo.season.spring.cancelMigoro = function() { $("input:[name='flags_cal_s']").val(itsmo.season.spring._cal_s_old); $("input:[name='flags_cal_e']").val(itsmo.season.spring._cal_e_old); itsmo.season.spring.calendar_btn_submit(); return false; }; itsmo.season.spring.draw_calendar = function() { // カレンダー描画 var cal_s = $("input:[name='flags_cal_s']").val(); var cal_e = $("input:[name='flags_cal_e']").val(); var i = $('#id_spring_cal_base').val(); var d = new Date(parseInt(i.substring(0, 4), 10) , parseInt(i.substring(4, 6), 10) - 1 , 1 ); cal_s = parseInt(cal_s, 10); cal_e = parseInt(cal_e, 10); if (cal_s >= 19010101 && (cal_e <= 0 || isNaN(cal_e))) { cal_e = cal_s; } if (cal_e >= 19010101 && (cal_s <= 0 || isNaN(cal_s))) { cal_s = cal_e; } var e = $('div.traffic-month0'); itsmo.season.spring.set_migoro_calendar(e.eq(0), d, cal_s, cal_e); d = new Date(parseInt(i.substring(0, 4), 10) , parseInt(i.substring(4, 6), 10) , 1 ); itsmo.season.spring.set_migoro_calendar(e.eq(1), d, cal_s, cal_e); }; itsmo.season.spring.set_migoro_calendar = function(e, d, cal_s, cal_e) { var y = d.getFullYear(); var m = d.getMonth(); e.find('div.traffic-month div:first').text(y + '年' + (m + 1) + '月'); while (d.getDay() >= 1) { d.setTime(d.getTime() - 24 * 60 * 60 * 1000); } e = e.find("table tr[name^='tracal']"); e.eq(5).hide(); for (var i = 0; i < 6; ++i) { if (d.getFullYear() > y || d.getMonth() > m) { break; } var f = e.eq(i).show().find('td'); for (var j = 0; j < 7; ++j) { var elected = d.getFullYear() * 10000 + (d.getMonth() + 1) * 100 + d.getDate(); var s = '' + d.getDate() + ''; var exmonth = (d.getFullYear() != y || d.getMonth() != m); elected = (elected >= cal_s) && (elected <= cal_e); var div = null; if (elected && exmonth) { div = 'elect-exmonth'; } else if (elected) { div = 'elected'; } else if (exmonth) { div = 'exmonth'; } if (null != div) { s = '
' + s + '
'; } f.eq(j).html(s); d.setTime(d.getTime() + 24 * 60 * 60 * 1000); } } }; itsmo.season.spring.select_migoro_cnt = 0; itsmo.season.spring.select_migoro = function(e) { e = $(e); var i = e.attr('ref'); if (undefined == i) { return false; } var e_cal_s = $("input:[name='flags_cal_s']"); var e_cal_e = $("input:[name='flags_cal_e']"); var cal_s = e_cal_s.val(); var cal_e = e_cal_e.val(); if('' != cal_s && '' != cal_e){ //二つとも入力されていたらリセットする itsmo.season.spring.select_migoro_cnt = 0; e_cal_s.val(''); e_cal_e.val(''); } if ('' == cal_s || i < cal_s) { e_cal_s.val(i); itsmo.season.spring.select_migoro_cnt = 1; } else if ('' == cal_e || i > cal_e) { e_cal_e.val(i); itsmo.season.spring.select_migoro_cnt = 0; } else { var n = 0 != itsmo.season.spring.select_migoro_cnt ? e_cal_e : e_cal_s; n.val(i); itsmo.season.spring.select_migoro_cnt = 0 != itsmo.season.spring.select_migoro_cnt ? 0 : 1; } itsmo.season.spring.select_migoro_draw(); itsmo.season.spring.draw_calendar(); return false; }; itsmo.season.spring.select_migoro_draw = function() { var e = $('#id_spring_col_migoro span.box-s'); var s = $("input:[name='flags_cal_s']").val(); if ('' == s) { e.eq(0).html('日付指定なし'); } else { e.eq(0).html('' + s.substring(0, 4) + '/' + s.substring(4, 6) + '/' + s.substring(6, 8) + ''); } s = $("input:[name='flags_cal_e']").val(); if ('' == s) { e.eq(1).html('日付指定なし'); } else { e.eq(1).html('' + s.substring(0, 4) + '/' + s.substring(4, 6) + '/' + s.substring(6, 8) + ''); } }; itsmo.season.spring.calendar_btn_cancel = function() { $("input:[name^='flags_cal_']").val(''); return itsmo.season.spring.calendar_btn_submit(); }; itsmo.season.spring.calendar_btn_submit = function() { itsmo.season.spring.close_window(); var e_cal_s = $("input:[name='flags_cal_s']"); var e_cal_e = $("input:[name='flags_cal_e']"); var cal_s = e_cal_s.val(); var cal_e = e_cal_e.val(); do { if ('' == cal_s && '' == cal_e) { break; } if ('' != cal_s && '' != cal_e) { break; } if ('' == cal_s) { cal_s = cal_e; } else { cal_e = cal_s; } e_cal_s.val(cal_s); e_cal_e.val(cal_e); } while (false); itsmo.season.spring.select_migoro_draw(); return false; }; itsmo.season.spring.btn_toggle_set = function(e) { e = $(e); var i = e.find('input:hidden:first'); var n = i.attr('name').substring(6); if ('1' == i.val()) { e.find('span:first').addClass(n).removeClass(n + '-off'); e.find('strong').addClass('joken-on'); } else { e.find('span:first').removeClass(n).addClass(n + '-off'); e.find('strong').removeClass('joken-on'); } return false; }; itsmo.season.spring.btn_toggle = function(e) { var f = $(e).find('input:hidden:first'); f.val('1' == f.val() ? '0' : '1'); itsmo.season.spring.btn_toggle_set(e); return false; }; itsmo.season.spring.chkbox_toggle = function(e) { var f = $(e).find('span:first'); if (f.attr('class').indexOf('check-on') >= 0) { f.removeClass('tel-check-on').addClass('tel-check-off'); } else { f.addClass('tel-check-on').removeClass('tel-check-off'); } return false; }; itsmo.season.spring.btn_select_set = function() { $('div.select-display').each(function() { var e = $(this); var i = parseInt(e.find('input:hidden:first').val(), 10); var f = e.find('a'); f.each(function() { var g = $(this).find('span'); g.eq(0).attr('class', 'btn-display-l'); g.eq(1).attr('class', 'btn-display'); g.eq(2).attr('class', 'btn-display-r'); }); i = Math.max(i, 0); i = Math.min(i, f.length); if (i >= 1) { f = f.eq(i - 1).find('span'); f.eq(0).attr('class', 'btn-display-l-on'); f.eq(1).attr('class', 'btn-display-on'); f.eq(2).attr('class', 'btn-display-r-on'); } }); return false; }; itsmo.season.spring.btn_select = function(e) { var p = $(e).parent(); var f = p.find('a'); var n = 0; for (var i = 0; i < f.length; ++i) { if (e == f.get(i)) { n = i + 1; break; } } p = p.find('input:hidden:first'); f = parseInt(p.val()); if (f == n) { //p.val('0'); } else { p.val('' + (i + 1)); } itsmo.season.spring.btn_select_set(); return false; }; itsmo.season.spring.submit = function() { var url = itsmo.season.spring.make_submit_url(); if (false == url) { alert('エリアか見ごろ時期を選んでください。'); } else { window.location.href = url; } }; itsmo.season.spring.make_submit_url = function(isXML) { var flags = []; var freewd = ''; var todid, diareacd, iareacd, cal_s, cal_e; todid = diareacd = iareacd = cal_s = cal_e = ''; $("div.select-serch-area input[name^='flags_']").each(function() { var e = $(this); var s = e.attr('name').substring(6); var n = e.val(); if ('0' != n && '' != n) { } else { return; } if ('todid' == s) { todid = n; } else if ('diareacd' == s) { diareacd = n; } else if ('iareacd' == s) { iareacd = n; } else if ('cal_s' == s) { cal_s = n; } else if ('cal_e' == s) { cal_e = n; } else { flags.push(s + '=' + encodeURIComponent(n)); if ('freewd' == s) { freewd = n; } } }); if ('d' == isXML) { diareacd = ''; iareacd = ''; if(todid == ''){ return false; } } else if ('i' == isXML) { iareacd = ''; if(todid == ''){ return false; } } var is_include_above = $('#id_include_above').attr('class').indexOf('-on') >= 0; if ('' != freewd && !is_include_above) { flags = ['freewd=' + encodeURIComponent(freewd)]; } else { is_include_above = true; } if (isXML) { flags.push('xml=' + isXML); } flags = flags.join('&'); var url = '/season/spring/'; var usearea = false, useday = false; do { if (!is_include_above) { break; } if ('' == todid) { break; } usearea = true; url += 'area/' + todid + '/'; if ('' == diareacd) { break; } url += diareacd + '/'; if ('' == iareacd) { break; } url += iareacd + '/'; } while (false); do { if (!is_include_above) { break; } if ('' == cal_s || '' == cal_e) { break; } useday = true; if (!usearea) { url += 'day/'; } url += cal_s.substring(4); if (cal_s != cal_e) { url += '-' + cal_e.substring(4); } url += '/'; } while (false); if (!usearea && !useday && freewd.length <= 0) { return false; } if ('' != flags) { url += '?' + flags; } return url; }; itsmo.season.spring.show_select_tod = function() { itsmo.season.spring.close_window(); $('#ajax_facet_tod_div').fadeIn('fast'); }; itsmo.season.spring.tod_submit = function(e) { itsmo.season.spring.close_window(); e = $(e); var todid = e.attr('ref'); var name = e.text(); itsmo.season.spring.clear_area(); $('#id_spring_tod_nm').val(name); $("input:hidden[name='flags_todid']").val(todid); $('#id_spring_col_area span.box-s:first').text(name); itsmo.season.spring.set_area_select_box(); return false; }; itsmo.season.spring.area_submit = function(e) { itsmo.season.spring.close_window(); e = $(e); var id = e.attr('ref'); var name = e.text(); name = name.substring(0, name.indexOf('(')); var s = 'diareacd'; var offset = 1; $("input:hidden[name='flags_iareacd']").val(''); if (id.indexOf('-') < 0) { s = 'iareacd'; offset = 2; } else { $('#id_spring_diarea_nm').val(name); } $("input:hidden[name='flags_" + s + "']").val(id); e = $('#id_spring_col_area span') e.eq(1 + offset * 4).text(itsmo.c.limitString(name, 9)); if (1 == offset) { e.eq(9).text('選択してください'); } itsmo.season.spring.set_area_select_box(); return false; }; itsmo.season.spring.set_area_select_box = function() { var e = $('#id_spring_col_area span'); var s = '-off'; var todid = $("input:hidden[name='flags_todid']").val(); var diareacd = $("input:hidden[name='flags_diareacd']").val(); var iareacd = $("input:hidden[name='flags_iareacd']").val(); if ('' != todid) { s = ''; if ('' == diareacd) { e.eq(5).text('選択してください'); } } e.eq(5).attr('class', 'box-s' + s); var s = '-off'; if ('' != diareacd) { s = ''; if ('' == iareacd) { e.eq(9).text('選択してください'); } } e.eq(9).attr('class', 'box-s' + s); }; itsmo.season.spring.clear_area = function() { $("input:hidden[name='flags_todid']").val(''); $("input:hidden[name='flags_diareacd']").val(''); $("input:hidden[name='flags_iareacd']").val(''); var e = $('#id_spring_col_area span'); e.eq(1).text('選択してください'); e.eq(5).text(''); e.eq(9).text(''); itsmo.season.spring.set_area_select_box(); }; itsmo.season.spring.show_select_area = function(type) { if ('i' == type) { di = $("input:hidden[name='flags_diareacd']").val(); if (!di || di == '') {return;} } itsmo.season.spring.close_window(); var i; if ('d' == type) { i = $('#id_spring_tod_nm').val(); } else { i = $('#id_spring_diarea_nm').val(); } $('#ajax_facet_area_seltitle').text(i); var url = itsmo.season.spring.make_submit_url(type); if(url != false){ url = url.split('?'); itsmo.lib.XMLHttpRequest2_send(url[0], itsmo.season.spring.show_select_area_callback, 'get', url[1]); } }; itsmo.season.spring.show_select_area_callback = function(result) { result = $(result); var err = parseInt(result.find('err').text(), 10); var e = $('#ajax_facet_area_div ul'); do { if (err != 0) { e.eq(0).hide(); e.eq(1).show(); break; } result = result.find('data'); e.eq(1).hide(); e.eq(0).show().find('li').each(function(i) { var f = $(this); if (i >= result.length) { f.hide(); return; } i = result.eq(i); f.show().find('a').attr('ref', i.find('id').text()); f.find('a').text(i.find('nm').text()).append('(' + i.find('num').text() + ')'); }); } while (false); $('#ajax_facet_area_div').fadeIn('fast'); }; itsmo.season.spring.open_more_tab = function() { var t = $('div.detail-cp-tab div.sis-search-paka-more'); var isShow = t.is(':visible'); if (isShow) { t.fadeOut('fast'); return false; } t.fadeIn('fast'); return false; }; itsmo.season.spring.resetNextPlaceParty = function() { var e = $('div.basic-con ul.image-Listul'); e.eq(0).find('li:gt(2)').hide(); e.eq(1).find('li:gt(2)').hide(); $('div.cp-info').show(); $('div.cp-info p.Listul-more').show().filter(':odd').hide(); window.location.hash = '#restaurant'; }; itsmo.season.spring.openNextPlaceParty = function(e) { e = $(e).parent().parent(); e.parent().find('li').show(); e.find('p').show().eq(0).hide(); $('div.cp-info:has(p.Listul-more)').hide(); e.parent().show(); }; itsmo.season.spring.forecastCrowdGetTables = function() { return $('div.cp-info table[id^="id_crowd_"]'); }; itsmo.season.spring.forecastCrowdGetPos = function() { var n = -1; itsmo.season.spring.forecastCrowdGetTables().each(function(i, e) { if ($(e).is(':visible')) { n = i; return false; } }); return n; }; itsmo.season.spring.forecastIDInfo = function(e) { var i = e.attr('id').split('_'); var y = parseInt(i[2], 10); var m = parseInt(i[3], 10); var h = parseInt(i[4], 10); return [y, m, h]; }; itsmo.season.spring.forecastMakeID = function(y, m, h) { return 'id_crowd_' + y + '_' + m + '_' + h; }; itsmo.season.spring.forecastCrowdMoveMonth = function(add) { var n = itsmo.season.spring.forecastCrowdGetPos(); if (n < 0) { return false; } var e = itsmo.season.spring.forecastCrowdGetTables(); var i = itsmo.season.spring.forecastIDInfo(e.eq(n)); i[1] += add; var m = i[1]; i = itsmo.season.spring.forecastMakeID(i[0], i[1], i[2]); var f = $('#' + i); if (f.length >= 1) { e.hide(); f.show(); itsmo.season.spring.forecastCrowdSetText(f); e = $('div.crowded-pg a.pre'); var cls = ''; if (m <= 3) { e.hide(); cls = 'firstmonth'; } else { e.show(); } e = $('div.crowded-pg a.next'); if (m >= 5) { e.hide(); cls = 'lastmonth'; } else { e.show(); } $('div.crowded-pg strong:first').attr('class', cls); } }; itsmo.season.spring.forecastCrowdSetText = function(e) { var i = itsmo.season.spring.forecastIDInfo(e); var y = '' + i[0]; var m = '' + i[1]; $('#id_crowd_year').text(y); $('#id_crowd_month').text(m); }; itsmo.season.spring.forecastCrowdChangeTime = function() { var h = $('#id_crowd_time').val(); var n = itsmo.season.spring.forecastCrowdGetPos(); var e = itsmo.season.spring.forecastCrowdGetTables(); var i = itsmo.season.spring.forecastIDInfo(e.eq(n)); i = itsmo.season.spring.forecastMakeID(i[0], i[1], h); e.hide(); $('#' + i).show(); }; var _initGoogleTagService = false; itsmo.season.spring.initGoogleTagService = function() { if (_initGoogleTagService) { return; } _initGoogleTagService = true; var useSSL = 'https:' == document.location.protocol; var gads = (useSSL ? 'https:' : 'http:') + '//www.googletagservices.com/tag/js/gpt.js'; $.getScript(gads); }; var googletag = googletag || {}; googletag.cmd = googletag.cmd || []; itsmo.season.spring.g_map_obj = null; itsmo.season.spring.initMapDetail = function(){ if (typeof ZDC === 'undefined' || typeof ZDC.Map === 'undefined') { return; } var lvl = 10; var e = $(".sis-access-map input[type='hidden'][name='spring_detail']").val().split(','); var url = $(".access-map-btn #mapLink").attr('href'); var lat = parseInt(e[0], 10) / (60 * 60 * 1000); var lon = parseInt(e[1], 10) / (60 * 60 * 1000); var latlon = new ZDC.LatLon(lat, lon); ZDC._TILE_PATHS["4"] = ZDC._TILE_PATHS["ond/42"]; itsmo.season.spring.g_map_obj = new ZDC.Map( $('#springMap').get(0), { mapType: ZDC.MAPTYPE_COLOR, latlon: latlon, zoom: lvl } ); itsmo.season.spring.g_map_obj.dragOn(); itsmo.season.spring.g_map_obj.zoomOn(); ZDC.addListener(itsmo.season.spring.g_map_obj, ZDC.MAP_CLICK, function(){ var latlon = itsmo.season.spring.g_map_obj.getClickLatLon(); itsmo.season.spring.g_map_obj.moveLatLon(latlon); }); e = new ZDC.UserWidget(latlon, { size: new ZDC.WH(22, 34), html: '', offset: new ZDC.Pixel(-10, -29) }); itsmo.season.spring.g_map_obj.addWidget(e); e.open(); var sz = new ZDC.WH(32, 32); e = new ZDC.StaticUserWidget({ top: 8, left: 8}, { html: '
', size: sz }); itsmo.season.spring.g_map_obj.addWidget(e); e.open(); // -ボタン e = new ZDC.StaticUserWidget({ top: 39, left: 8}, { html: '
', size: sz }); itsmo.season.spring.g_map_obj.addWidget(e); e.open(); }; itsmo.season.spring.searchPage = function (page) { var url = URL_FOR_PAGING; if (url.indexOf('?') != -1) { url += '&page=' + page; } else { url += '?page=' + page; } window.location.href = url; }; itsmo.season.spring.congestionDaily = null; itsmo.season.spring.congestionHourly = null; itsmo.season.spring.congestionStay = null; itsmo.season.spring.initCongestionChart = function (isSmartphone) { itsmo.season.spring.createBarChart(isSmartphone); if (itsmo.season.spring.congestionStay){ if (typeof itsmo.season.spring.congestionStay.common != 'undefined') { itsmo.season.spring.createCommonPieChart(); } else { itsmo.season.spring.createPieChart(); } } itsmo.season.spring.createLineChart(); }; itsmo.season.spring.createBarChart = function(isSmartphone){ var weekday = []; var holiday = []; var weekdayLabels = []; var holidayLabels = []; var hourlyLabels = []; if (!itsmo.season.spring.congestionHourly){ return; } if (typeof itsmo.season.spring.congestionHourly.weekday != 'undefined') { $.each(itsmo.season.spring.congestionHourly.weekday, function (i, v) { weekday.push(v.visitor_count); if (isSmartphone && Math.abs(i % 2) == 1){ weekdayLabels.push(''); } else { weekdayLabels.push(v.time + '時'); } }); } if (typeof itsmo.season.spring.congestionHourly.holiday != 'undefined') { $.each(itsmo.season.spring.congestionHourly.holiday, function (i, v) { holiday.push(v.visitor_count); if (isSmartphone && Math.abs(i % 2) == 1){ holidayLabels.push(''); } else { holidayLabels.push(v.time + '時'); } }); }; var ctx = document.getElementById("bar2-chart"); if (weekday.length == 0 && holiday.length == 0){ return; } if (weekdayLabels.length > holidayLabels.length){ hourlyLabels = weekdayLabels; } else { hourlyLabels = holidayLabels; } var myBarChart = new Chart(ctx, { //グラフの種類 type: 'bar', //データの設定 data: { //データ項目のラベル labels: hourlyLabels, //データセット datasets: [{ //凡例 label: "平日", //背景色 backgroundColor: "rgba(201,215,68,0.4)", //枠線の色 borderColor: "rgba(201,215,68,1)", //グラフのデータ data: weekday }, { //凡例 label: "休日", //背景色 backgroundColor: "rgba(215,132,126,0.4)", //枠線の色 borderColor: "rgba(215,132,126,1)", //グラフのデータ data: holiday } ] }, options: { //ツールチップ非表示 tooltips: { enabled: false }, scales: { //縦軸非表示 yAxes: [{ display: false }] } } }); }; itsmo.season.spring.createPieChart = function(){ var weekday = []; var holiday = []; var weekdayLabels = []; var holidayLabels = []; if (!itsmo.season.spring.congestionStay){ return; }; var arrStay = {'01':'15分~30分', '02':'30分~1時間', '03':'1時間~3時間', '04':'3時間~6時間', '05':'6時間~12時間', '06':'12時間以上'}; if (typeof itsmo.season.spring.congestionStay.weekday !='undefined'){ $.each(itsmo.season.spring.congestionStay.weekday, function (i, v) { weekday.push(v.visitor_count); weekdayLabels.push(arrStay[v.stay]); }); } if (typeof itsmo.season.spring.congestionStay.holiday !='undefined'){ $.each(itsmo.season.spring.congestionStay.holiday, function (i, v) { holiday.push(v.visitor_count); holidayLabels.push(arrStay[v.stay]); }); } var ctx = document.getElementById("pie-chart_wd"); var myPieChart = new Chart(ctx, { //グラフの種類 type: 'pie', //データの設定 data: { //データ項目のラベル labels: weekdayLabels, //データセット datasets: [{ //背景色 backgroundColor: [ "#d7847e", "#ebc061", "#f8e352", "#c9d744", "#b2d6d4", "#b4d6b2" ], //背景色(ホバーしたとき) hoverBackgroundColor: [ "#d7847e", "#ebc061", "#f8e352", "#c9d744", "#b2d6d4", "#b4d6b2" ], //グラフのデータ data: weekday }] }, options: { legend: { labels: { boxWidth: 20, fontSize: 12 } }, title: { display: true, text: '平日', fontColor: '#333', padding: 5 }, tooltips: { callbacks: { label: function(tooltipItem, data) { var allData = data.datasets[tooltipItem.datasetIndex].data; var tooltipLabel = data.labels[tooltipItem.index]; var tooltipData = allData[tooltipItem.index]; var total = 0; for (var i in allData) { total += parseInt(allData[i]); } var tooltipPercentage = Math.round((tooltipData / total) * 100); return tooltipLabel + ':' +tooltipPercentage + '%'; } } } } }); ctx = document.getElementById("pie-chart_hd"); myPieChart = new Chart(ctx, { //グラフの種類 type: 'pie', //データの設定 data: { //データ項目のラベル labels: holidayLabels, //データセット datasets: [{ //背景色 backgroundColor: [ "#d7847e", "#ebc061", "#f8e352", "#c9d744", "#b2d6d4", "#b4d6b2" ], //背景色(ホバーしたとき) hoverBackgroundColor: [ "#d7847e", "#ebc061", "#f8e352", "#c9d744", "#b2d6d4", "#b4d6b2" ], //グラフのデータ data: holiday }] }, options: { legend: { labels: { boxWidth: 20, fontSize: 12 } }, title: { display: true, text: '休日', fontColor: '#333', padding: 5 }, tooltips: { callbacks: { label: function(tooltipItem, data) { var allData = data.datasets[tooltipItem.datasetIndex].data; var tooltipLabel = data.labels[tooltipItem.index]; var tooltipData = allData[tooltipItem.index]; var total = 0; for (var i in allData) { total += parseInt(allData[i]); } var tooltipPercentage = Math.round((tooltipData / total) * 100); return tooltipLabel + ':' +tooltipPercentage + '%'; } } } } }); }; itsmo.season.spring.createLineChart = function(){ var dailyLabels = []; var data = []; if (!itsmo.season.spring.congestionDaily){ return; } $.each(itsmo.season.spring.congestionDaily, function (i, v) { dailyLabels.push(v.date); data.push(v.visitor_count); }); ctx = document.getElementById("line-chart"); var myLine2Chart = new Chart(ctx, { //グラフの種類 type: 'line', //データの設定 data: { //データ項目のラベル labels: dailyLabels, //データセット datasets: [ { //凡例 label: '人数', //面の表示 fill: false, //線のカーブ lineTension: 0, //背景色 backgroundColor: "rgba(179,181,198,0.2)", //枠線の色 borderColor: "rgba(179,181,198,1)", //結合点の枠線の色 pointBorderColor: "rgba(179,181,198,1)", //結合点の背景色 pointBackgroundColor: "#fff", //結合点のサイズ pointRadius: 5, //結合点のサイズ(ホバーしたとき) pointHoverRadius: 8, //結合点の背景色(ホバーしたとき) pointHoverBackgroundColor: "rgba(179,181,198,1)", //結合点の枠線の色(ホバーしたとき) pointHoverBorderColor: "rgba(220,220,220,1)", //結合点より外でマウスホバーを認識する範囲(ピクセル単位) pointHitRadius: 15, //グラフのデータ data: data } ] }, //オプションの設定 options: { legend: { display: false }, tooltips: { enabled: false }, scales: { yAxes: [{ display: false }] } } }); }; itsmo.season.spring.createCommonPieChart = function(){ var data = []; var stayLabels = []; var arrStay = {'01':'15分~30分', '02':'30分~1時間', '03':'1時間~3時間', '04':'3時間~6時間', '05':'6時間~12時間', '06':'12時間以上'}; $.each(itsmo.season.spring.congestionStay.common, function (i, v) { data.push(v.visitor_count); stayLabels.push(arrStay[v.stay]); }); var ctx = document.getElementById("pie-chart"); var myPieChart = new Chart(ctx, { //グラフの種類 type: 'pie', //データの設定 data: { //データ項目のラベル labels: stayLabels, //データセット datasets: [{ //背景色 backgroundColor: [ "#d7847e", "#ebc061", "#f8e352", "#c9d744", "#b2d6d4", "#b4d6b2" ], //背景色(ホバーしたとき) hoverBackgroundColor: [ "#d7847e", "#ebc061", "#f8e352", "#c9d744", "#b2d6d4", "#b4d6b2" ], //グラフのデータ data: data }] }, options: { legend: { position:'right', labels:{ boxWidth:20, fontSize:11 } }, tooltips: { callbacks: { label: function(tooltipItem, data) { var allData = data.datasets[tooltipItem.datasetIndex].data; var tooltipLabel = data.labels[tooltipItem.index]; var tooltipData = allData[tooltipItem.index]; var total = 0; for (var i in allData) { total += parseInt(allData[i]); } var tooltipPercentage = Math.round((tooltipData / total) * 100); return tooltipLabel + ':' +tooltipPercentage + '%'; } } } } }); };