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://www2.chizu-route-susumu.jp'; // 投稿系
var HTTP_REFERENCE_URL = 'http://chizu-route-susumu.jp'; // 参照系
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 = '45nfqvDZnwfz72dQUrDlfA9v6Rnw2bALndkS4WWsAz0NoBx3QuZt7O0IWhr5B2Y7qe4FahP5AcWcJm55YcufFSZMOzJJ';
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 LMENU_MODE_ROUTE_SETTING = 6;
///////////////////////////////////////////////////////////////////////////////
// オプション
///////////////////////////////////////////////////////////////////////////////
// 吹き出しが下に出されてしまう場合に補正する
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("');
var MainMode = 5;
document.write("