if (typeof (itsmo) == 'undefined') { var itsmo = {}; } if (typeof (itsmo.suggest) == 'undefined') { itsmo.suggest = {}; } itsmo.suggest.urlAPI = ''; itsmo.suggest.clientid = ''; itsmo.suggest.taxiCountConfig = null; itsmo.suggest.templateSuggestItem = "
  • \ \ \ [suggestName]\ \
  • \ "; itsmo.suggest.saveRequestSgt = null; itsmo.suggest.scrollingActive = false; itsmo.suggest.requestSgtData = function (word, callback) { if (itsmo.suggest.saveRequestSgt != null) { itsmo.suggest.saveRequestSgt.abort(); } itsmo.suggest.saveRequestSgt = $.ajax({ type: "GET", url: itsmo.suggest.urlAPI, dataType: "json", cache: false, crossDomain: true, headers: { 'X-Suggest-Auth': 'NINAVW' }, data: {word: word, "service.id": "NINAVW", "genre.pattern": 'W1', "genre.target": "nm,th", "genre.count": "3", "genre.sort": "dispnum.ASC", "address.target": "nm,kn", "address.count": "3", "address.sort": "nm.DESC", "station.target": "nm,kn", "station.count": "3", "station.sort": "linecnt.DESC", "poi.target": "nm,kn", "poi.count": "3", "poi.sort": "nm.DESC", "point.format": "dec"}, success: function (data) { callback(data); } }); }; itsmo.suggest.requestSgtDataForTaxi = function (word, callback) { if (itsmo.suggest.saveRequestSgt != null) { itsmo.suggest.saveRequestSgt.abort(); } var stationCount = '3'; var poiCount = '3'; var addressCount = '3'; if (itsmo.suggest.taxiCountConfig['POI'] != undefined) { poiCount = itsmo.suggest.taxiCountConfig['POI']; } if (itsmo.suggest.taxiCountConfig['STAT'] != undefined) { stationCount = itsmo.suggest.taxiCountConfig['STAT']; } if (itsmo.suggest.taxiCountConfig['ADDR'] != undefined) { addressCount = itsmo.suggest.taxiCountConfig['ADDR']; } itsmo.suggest.saveRequestSgt = $.ajax({ type: "GET", url: itsmo.suggest.urlAPI, dataType: "json", cache: false, crossDomain: true, headers: { 'X-Suggest-Auth': 'NINAVW' }, data: {word: word, "service.id": "NINAVW", "point.format": "msec", "point.datum": "TOKYO", "station.target": "nm,kn", "station.count": stationCount, "station.sort": "linecnt.DESC", "poi.target": "nm,kn", "poi.count": poiCount, "poi.sort": "nm.DESC", "address.target": "nm,kn", "address.count": addressCount, "address.sort": "modcd.ASC"}, success: function (data) { callback(data); } }); }; itsmo.suggest.getSuggestion = function () { var word = $.trim($('div.serch #freewd').val()); if (word.length > 0) { itsmo.suggest.requestSgtData(word, itsmo.suggest.setSuggestResult); } else { var strHtml = ''; var eSuggestBox = $('div.header-inner div.suggestion'); eSuggestBox.html(strHtml); eSuggestBox.fadeIn('fast'); } }; //サジェストのプルダウンメニュー itsmo.suggest.setSuggestResult = function (data) { itsmo.suggest.response = data.result; var strHtml = ''; var eSuggestBox = $('div.header-inner div.suggestion'); eSuggestBox.html(strHtml); if ($('div.serch #freewd').is(":focus") == true) { $('div.header-inner div.suggestion').fadeIn('fast'); } }; //サジェスト候補を検索ログに保存 //LocalStorageに格納するにはいろいろ足りない。がurlを利用する itsmo.suggest.clickSuggestItem = function (type , i) { let resp = {}; if(type == 'freewd'){ resp.nm = i; }else{ resp = itsmo.suggest.response[type][i]; } $('#freewd').val(resp.nm); itsmo.lib.localstorage_set(resp,type); var suggestUrl = ''; if (type == 'genre') { suggestUrl = '/c/' + resp.nm + '/' + encodeURIComponent(resp.id) + '/'; } if (type == 'station') { suggestUrl = '/detail/' + resp.tag[1].replace(type + ':', '') + '-' + resp.id + '/'; } if (type == 'address') { suggestUrl = '/search/addr/' + resp.cd.substr(0, 2) + '/' + resp.cd.substr(2, 3) + '/' + resp.cd.substr(5, 3) + '/'; } if (type == 'poi') { suggestUrl = '/detail/' + resp.tag[0].replace(type + ':', '') + '-' + resp.id + '/'; } location.href = suggestUrl; };