var ALL = Object();var MAINMODE_TOP = 1;var MAINMODE_MYPAGE = 2;var MAINMODE_EDIT = 3;var MAINMODE_MANAGE_POPUP = 4;var MAINMODE_DETAIL = 5;var MAINMODE_PRINT = 6;var MAINMODE_SEARCH_ADDRESSLIST = 7;var MAINMODE_FAVORITE_LIST = 8;var MAINMODE_MYPOST = 9;var MAINMODE_DETAIL_MANAGE = 10;var MAINMODE_REGIST_MANAGE = 11;var MAINMODE_CONF_MANAGE = 12;var MAINMODE_EDIT_CONF = 13;var MAINMODE_EDIT_MANAGE = 14;var MAINMODE_MYPOSIDETAIL_MANAGE = 15;var MAINMODE_FAVORITE_LIST2 = 16;var MAINMODE_MYDRAMAP_ROUTE = 17;var MAINMODE_MYDRAMAP_KISEKI = 18;var MAINMODE_MYDRAMAP_IMPPOI = 19;var MAINMODE_MYPOSIEDIT_MANAGE = 20;// 基本動作モード var ACTION_INS = 1; var ACTION_EDIT = 2; var ACTION_DEL = 3; var ACTION_AC = 4; var ACTION_EDIT_UP = 5; var ACTION_EDIT_DOWN = 6; var SITE_ROOTPATH = ''; // サイトルートパス var HTTP_CONTRIBUTION_URL = 'HTTP_CONTRIBUTION_URL'; // 投稿系 var HTTP_REFERENCE_URL = 'HTTP_REFERENCE_URL'; // 参照系 var DEBUG_MODE = false; // ダブルクリック防止解除待ち時間 var WAIT_SUBMIT = 3000; // E-MAP関連--------------------------------------------------------------------------------------- // 検索モード var SEARCHMODE_NEAR = 1; // 詳細表示モード var POSITION_DETAIL = 1; var POSITION_LIST = 2; // スペシャルPOI var POI_SPECIAL_OFF = 0; var POI_SPECIAL_ON = 1; var SEARCH_MAX_COUNT = 10; // 最大表示件数 var SEARCH_RADIUS = 1000; // 最寄検索エリア(半径) // ステータスチェックモード var STATUS_MODE_SEARCH = 1; var STATUS_MODE_NOERROR = 0; var arrCateList = { '00240':' グルメ', '10008':'温泉・スパ', '10001':'ビュースポット', '10009':'祭り・イベント', '00120':'レジャー ', '10010':'特産品・名産品', '00140':'ショッピング', '00220':'施設', '10002':'テーマパーク ', '00110':'車・交通', '10003':'自然景観・公園', '10011':'駅', '10004':'名所・旧跡', '00160':' 病院・役所', '10005':'寺社・仏閣', '00250':'学校', '10006':'美術館・博物館', '00170':'銀行 ', '10007':'道の駅', '00130':'宿泊', '10000':'その他' }; // 情報検索PHP var AJAX_FILENAME = 'gourmet_search.php'; // マップ表示ID var MAP_NAME = 'emap'; // デフォルトズームレベル(1~18) var zoom_level = 11; // デフォルト中心座標 var START_POINT_LAT = 137.7153719; var START_POINT_LNG = 38.2657036; // マーカの最大件数 var MAX_MARKER = 20; // Info Windowのサイズ var INFOWINDOW_NORMALSIZE_X = 300; var INFOWINDOW_NORMALSIZE_Y = 280; // マーカーのサイズ var MARKER_THUMBSIZE_X = 30; var MARKER_THUMBSIZE_Y = 30; // ルート最大設定可能経由地数 var MAX_ROUTE_STOPSPOINT = 5 // e-map キー var API_KEY = '41nfWvDsnwkz76dQ8rD8fApv6bnw6bAQndVS4XWsIz0goBI37SW76XFrX6Z5SpXMzjGbbdVmAsoN0mEOYhoLTV'; var API_VER = '1.5'; // 文字コード var ENCODE_TYPE = 'UTF8'; var PREF_OTHERCODE = 99; var POISEARCH_TIMEOUT = 30000; // 住所が取得できない場合のタイトル var NOADDRESS_TITLE = '表記なし'; // 住所一覧検索1ページ表示件数 var MAXROW_ADDRESS_LIST = 100; // その他のカテゴリーコード var CATEGORYCODE_OTHER = '10000'; // マーカーの再描画を実行させるまでの待ち時間 var RELOAD_WAIT_TIME = 1000; // マップ最小サイズ var MAPCONF = { minWidth : 675, minHeight : 400 }; // TOP Left Menu Mode var LMENU_MODE_SEARCH = 1; var LMENU_MODE_NEAR = 2; var LMENU_MODE_ROUTE = 3; var LMENU_MODE_BOOKMARK = 4; var LMENU_MODE_NEAR_RESULT = 5; /////////////////////////////////////////////////////////////////////////////// // オプション /////////////////////////////////////////////////////////////////////////////// // 吹き出しが下に出されてしまう場合に補正する var OPTION_IW_UNDERMOVE = false; var DISP_MARKER_ZOOMLEVEL = 3;var funcAjaxLib = function(){} funcAjaxLib.prototype = { isFunction: function( fn ) { return !!fn && typeof fn != "string" && !fn.nodeName && fn.constructor != Array && /function/i.test( fn + "" ); }, get: function( url, data, callback, error ) { // shift arguments if data argument was ommited if ( AjaxLib.isFunction( data ) ) { // if ( isFunction.call( this,data ) ) { callback = data; data = null; } return AjaxLib.ajax({ type: "GET", url: url, data: data, success: callback, timeout: 30000, contentType: "application/x-www-form-urlencoded", processData: true, async: true, error: error }); }, post: function( url, data, callback, error ) { if ( AjaxLib.isFunction( data ) ) { callback = data; data = {}; } return AjaxLib.ajax({ type: "POST", url: url, data: data, success: callback, timeout: 30000, contentType: "application/x-www-form-urlencoded", processData: true, async: true, error: error }); }, ajaxSettings: { // type: "GET", timeout: 0, contentType: "application/x-www-form-urlencoded", processData: true, async: true, data: null }, // Last-Modified header cache for next request lastModified: {}, ajax: function( s ) { var status, data; // Extend the settings, but re-extend 's' so that it can be // checked again later (in the test suite, specifically) // s = MAPAJAX.extend(true, s, MAPAJAX.extend(true, {}, MAPAJAX.ajaxSettings, s)); //var_dump(s, 1); // convert data if not already a string if ( s.data && s.processData && typeof s.data != "string" ){ s.data = AjaxLib.param(s.data); // var_dump(s.data, 1); } if ( s.cache === false && s.type.toLowerCase() == "get" ) s.url += (s.url.match(/\?/) ? "&" : "?") + "_=" + (new Date()).getTime(); // If data is available, append data to url for get requests if ( s.data && s.type.toLowerCase() == "get" ) { s.url += (s.url.match(/\?/) ? "&" : "?") + s.data; // IE likes to send both get and post data, prevent this s.data = null; } var requestDone = false; // Create the request object; Microsoft failed to properly // implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available var xml = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(); // Open the socket xml.open(s.type, s.url, s.async); // Set the correct header, if data is being sent if ( s.data ) xml.setRequestHeader("Content-Type", s.contentType); // Set the If-Modified-Since header, if ifModified mode. if ( s.ifModified ) xml.setRequestHeader("If-Modified-Since", AjaxLib.lastModified[s.url] || "Thu, 01 Jan 1970 00:00:00 GMT" ); // Set header so the called script knows that it's an XMLHttpRequest xml.setRequestHeader("X-Requested-With", "XMLHttpRequest"); // Wait for a response to come back var onreadystatechange = function(isTimeout){ // The transfer is complete and the data is available, or the request timed out if ( !requestDone && xml && (xml.readyState == 4 || isTimeout == "timeout") ) { requestDone = true; // clear poll interval if (ival) { clearInterval(ival); ival = null; } status = isTimeout == "timeout" && "timeout" || !AjaxLib.httpSuccess( xml ) && "error" || s.ifModified && AjaxLib.httpNotModified( xml, s.url ) && "notmodified" || "success"; // Make sure that the request was successful or notmodified if ( status == "success" ) { // Cache Last-Modified header, if ifModified mode. var modRes; try { modRes = xml.getResponseHeader("Last-Modified"); } catch(e) {} // swallow exception thrown by FF if header is not available if ( s.ifModified && modRes ) AjaxLib.lastModified[s.url] = modRes; success(); } else{ AjaxLib.handleError(s, xml, status); } // Stop memory leaks if ( s.async ) xml = null; } }; if ( s.async ) { // don't attach the handler to the request, just poll it instead var ival = setInterval(onreadystatechange, 13); // Timeout checker if ( s.timeout > 0 ) setTimeout(function(){ // Check to see if the request is still happening if ( xml ) { // Cancel the request xml.abort(); if( !requestDone ) onreadystatechange( "timeout" ); } }, s.timeout); } // Send the data try { xml.send(s.data); } catch(e) { AjaxLib.handleError(s, xml, null, e); } // firefox 1.5 doesn't fire statechange for sync requests if ( !s.async ) onreadystatechange(); // return XMLHttpRequest to allow aborting the request etc. return xml; function success(){ // If a local callback was specified, fire it and pass it the data if ( s.success ) s.success( xml, status ); } }, handleError: function( s, xml, status, e ) { // If a local callback was specified, fire it if ( s.error ) s.error( xml, status, e ); }, // Counter for holding the number of active queries active: 0, // Determines if an XMLHttpRequest was successful or not httpSuccess: function( r ) { try { return !r.status && location.protocol == "file:" || ( r.status >= 200 && r.status < 300 ) || r.status == 304 ; } catch(e){} return false; }, // Determines if an XMLHttpRequest returns NotModified httpNotModified: function( xml, url ) { try { var xmlRes = xml.getResponseHeader("Last-Modified"); // Firefox always returns 200. check Last-Modified date return xml.status == 304 || xmlRes == AjaxLib.lastModified[url]; } catch(e){} return false; }, // Serialize an array of form elements or a set of // key/values into a query string param: function( a ) { var s = []; // If an array was passed in, assume that it is an array // of form elements if ( a.constructor == Array ) // Serialize the form elements AjaxLib.each( a, function(){ s.push( encodeURIComponent(this.name) + "=" + encodeURIComponent( this.value ) ); }); // Otherwise, assume that it's an object of key/value pairs else // Serialize the key/values for ( var j in a ) // If the value is an array then the key names need to be repeated if ( a[j] && a[j].constructor == Array ) AjaxLib.each( a[j], function(){ s.push( encodeURIComponent(j) + "=" + encodeURIComponent( this ) ); }); else s.push( encodeURIComponent(j) + "=" + encodeURIComponent( a[j] ) ); // Return the resulting serialization return s.join("&").replace(/%20/g, "+"); }, // args is for internal usage only each: function( obj, fn, args ) { if ( args ) { if ( obj.length == undefined ) for ( var i in obj ) fn.apply( obj[i], args ); else for ( var i = 0, ol = obj.length; i < ol; i++ ) if ( fn.apply( obj[i], args ) === false ) break; // A special, fast, case for the most common use of each } else { if ( obj.length == undefined ) for ( var i in obj ) fn.call( obj[i], i, obj[i] ); else for ( var i = 0, ol = obj.length, val = obj[0]; i < ol && fn.call(val,i,val) !== false; val = obj[++i] ){} } return obj; } } var AjaxLib = new funcAjaxLib; document.write("');