/*@cc_on _d=document;eval('var document=_d')@*/

var DEFAULT_MAP_SETTING = {
	  x : 502957.613
	, y : 128320.632
	, s : 100000
}

// 定数定義
//地図表示種類
//Mappleに送信するTAB部分の値
var MAPDRAW_TYPE = "A_SOLIGHT";

//地図種類
var MAPTYPE_JAPAN = 1;
var MAPTYPE_AREA = 2;
var MAPTYPE_AREA_BIG = 3;
var MAPTYPE_SHOP = 4;
var MAPTYPE_SHOP_PRINT = 5;
var MAPTYPE_SHOP_PREVIEW = 6;

//スライダーの右側のタイプ
var SLIDER_BIGLINK = 1;			//大きい地図リンク
var SLIDER_DROPDOWN = 2;		//都道府県ドロップダウン
var SLIDER_EMPTY = 3;			//ダミーリンク
var SLIDER_NONE = 4;			//何も表示しない(ダミーも出さない)

//吹き出しの画像有無
var BLOOMIMG_ON = 1;			//BLOOMIMG_ON=画像あり
var BLOOMIMG_OFF = 2;			//BLOOMIMG_OFF=画像なし

//吹き出しの詳細リンク有無
var BLOOMRESULT_ON = 1;			//BLOOMRESULT_ON=詳細あり
var BLOOMRESULT_OFF = 2;		//BLOOMRESULT_OFF=詳細なし

//プロット表示タイプ
var PLOT_ALL = 1;				//PLOT_ALL=対象すべて表示
var PLOT_AREA= 2;				//PLOT_AREA=県すべて表示
var PLOT_ONE = 3;				//PLOT_ONE=一つだけ表示

//スライダー表示有無
var SLIDER_ON = 1;				//スライダーを表示
var SLIDER_OFF = 2;				//スライダーを非表示

//吹き出し表示有無
var BLOOM_ON = 1;				//吹き出しを表示
var BLOOM_OFF = 2;				//吹き出しを非表示

//alert(location.pathname+" "+(location.pathname.split('/').length - 1));
//var slashcount = (location.pathname.split('/').length - 1);

//gourmetからのパスに変換する
//var tmppash = "/"+location.pathname.split("gourmet")[1];
//var slashcount = (tmppash.split('/').length - 1);
//
//var BACKSLASH = "";
//for(var i = 2; i < slashcount;i++)
//{
//	BACKSLASH += "../";
//}
var BACKSLASH = (function() {
	var path  = '';
	var nodes = document.getElementsByTagName('head')[0].getElementsByTagName('script');
	jQuery(nodes).each(function() {
		var arr = this.src.split('/');
		if (arr.pop() == 'map.js') {
			path = arr.join('/') + '/';
			return false;
		}
	});
	path = BAJL.String(path).getBefore('js/shared/').get().replace(/^https?:\/\/[^/]+/, '');
	return (path.charAt(0) != '/') ? path 
	                               : BAJL.String(path).abs2rel(location.pathname).get();
})();

//jsonファイルパス
var JSON_SHOPLIST_PATH = BACKSLASH+"area/";//店舗リストjsonファイルへの相対パス。(都道府県ごとのリスト)
var JSON_CATEGORY_SHOPLIST_PATH = BACKSLASH+"product/";//店舗リストjsonファイルへの相対パス。(「●●の飲める店」のリスト)
var JSON_SHOPLIST_NAME = "js/shoplist.js";	//店舗リストjsonファイル名。JSON_SHOPLIST_PATH+areaname/kenname/+JSON_SHOPLIST_NAMEまたはJSON_CATEGORY_SHOPLIST_PATH+categoryname+JSON_SHOPLIST_NAMEで相対パスを作る
var KEN_MAXNUM = 47;						//県情報の最大数。
var AREA_NAME_ARY = new Array("hokkaido","tohoku","shutoken","kanetsu","tokai","kinki","chushikoku","kyusyu");		//地域英数名の配列。
var KEN_NAME_ARY = new Array();		//県英数名の配列。

KEN_NAME_ARY[0] = new Array();
KEN_NAME_ARY[0][0] = "hokkaido";

KEN_NAME_ARY[1] = new Array();
KEN_NAME_ARY[1][0] = "akita";
KEN_NAME_ARY[1][1] = "aomori";
KEN_NAME_ARY[1][2] = "fukushima";
KEN_NAME_ARY[1][3] = "iwate";
KEN_NAME_ARY[1][4] = "miyagi";
KEN_NAME_ARY[1][5] = "yamagata";

KEN_NAME_ARY[2] = new Array();
KEN_NAME_ARY[2][0] = "chiba";
KEN_NAME_ARY[2][1] = "kanagawa";
KEN_NAME_ARY[2][2] = "saitama";
KEN_NAME_ARY[2][3] = "tokyo";
KEN_NAME_ARY[2][4] = "yamanashi";

KEN_NAME_ARY[3] = new Array();
KEN_NAME_ARY[3][0] = "gunma";
KEN_NAME_ARY[3][1] = "ibaraki";
KEN_NAME_ARY[3][2] = "nagano";
KEN_NAME_ARY[3][3] = "niigata";
KEN_NAME_ARY[3][4] = "tochigi";

KEN_NAME_ARY[4] = new Array();
KEN_NAME_ARY[4][0] = "aichi";
KEN_NAME_ARY[4][1] = "fukui";
KEN_NAME_ARY[4][2] = "gifu";
KEN_NAME_ARY[4][3] = "ishikawa";
KEN_NAME_ARY[4][4] = "mie";
KEN_NAME_ARY[4][5] = "shizuoka";
KEN_NAME_ARY[4][6] = "toyama";

KEN_NAME_ARY[5] = new Array();
KEN_NAME_ARY[5][0] = "hyogo";
KEN_NAME_ARY[5][1] = "kyoto";
KEN_NAME_ARY[5][2] = "nara";
KEN_NAME_ARY[5][3] = "osaka";
KEN_NAME_ARY[5][4] = "shiga";
KEN_NAME_ARY[5][5] = "wakayama";

KEN_NAME_ARY[6] = new Array();
KEN_NAME_ARY[6][0] = "ehime";
KEN_NAME_ARY[6][1] = "hiroshima";
KEN_NAME_ARY[6][2] = "kagawa";
KEN_NAME_ARY[6][3] = "kouchi";
KEN_NAME_ARY[6][4] = "okayama";
KEN_NAME_ARY[6][5] = "shimane";
KEN_NAME_ARY[6][6] = "tokushima";
KEN_NAME_ARY[6][7] = "tottori";
KEN_NAME_ARY[6][8] = "yamaguchi";

KEN_NAME_ARY[7] = new Array();
KEN_NAME_ARY[7][0] = "fukuoka";
KEN_NAME_ARY[7][1] = "kagoshima";
KEN_NAME_ARY[7][2] = "kumamoto";
KEN_NAME_ARY[7][3] = "miyazaki";
KEN_NAME_ARY[7][4] = "nagasaki";
KEN_NAME_ARY[7][5] = "oita";
KEN_NAME_ARY[7][6] = "okinawa";
KEN_NAME_ARY[7][7] = "saga";



var JSON_AREA_PATH = BACKSLASH+"js/shared/";		//都道府県情報jsonファイルへの相対パス
var JSON_AREA_NAME = "map_areas.js";	//都道府県情報jsonファイル名
									//JSON_AREA_PATH+JSON_AREA_NAMEで相対パスを作る。

var JS_FILE_PATH = BACKSLASH+"js/shared/";		//mapple用jsファイルのパス
var CSS_FILE_PATH = BACKSLASH+"css/shared/";	//mapple用cssファイルのパス
var IMG_FILE_PATH = BACKSLASH+"img/shared/";	//mapple用imgファイルのパス
var MAPLIST_PATH = BACKSLASH;					//maplist.htmlのパス。

//外部cssファイル読み込み
CssInclude();


//外部jsファイル読み込み
var jsPath = new Array();
jsPath[0] = JS_FILE_PATH+"LibCrossBrowser.js";
jsPath[1] = JS_FILE_PATH+"EventHandler.js";
jsPath[2] = JS_FILE_PATH+"MapControl.js";
jsPath[3] = JS_FILE_PATH+"biyobiyo.js";
jsPath[4] = JS_FILE_PATH+"slider.js";
jsPath[5] = JS_FILE_PATH+"CMBLPixel.js";
jsPath[6] = JS_FILE_PATH+"plotIcon.js";
jsPath[7] = JS_FILE_PATH+"thickbox.js"
//ie6のみpng表示用jsを読み込み
if(isIE6())
{
	jsPath[8] = JS_FILE_PATH+"DD_belatedPNG_0.0.8a-min.js";
}
var loadcount = 0;
var loadedflg = false;


//IEのみ、他のブラウザの読み込み方が使えなかったので、
//ブラウザによって読み込み方を変更する。
if(isIE())
{
	JsLoader(jsPath[0]);
}
else
{
	var xhr=null;
	if (window.XMLHttpRequest)xhr=new XMLHttpRequest();
	else if(window.ActiveXObject)
    	try {xhr=new ActiveXObject("Msxml2.XMLHTTP");}
	    catch(e){xhr=new ActiveXObject("Microsoft.XMLHTTP");}

	for(var i = 0; i < jsPath.length;i++)
	{
		xhr.open("GET",jsPath[i],false);
		if(isSafali())
		{
			xhr.setRequestHeader('If-Modified-Since', 'Wed, 15 Nov 1995 00:00:00 GMT');
		}
		xhr.send((new Date-0));
		eval(xhr.responseText);
	}
	loadedflg = true;
	initCrossBrowserLib();		//ブラウザの判別
	//alert("colled initCrossBrowserLib 101");
}

// パラメタ取得
var reqX=new Array(), reqY=new Array(), reqSCL=new Array(), reqCLK=new Array(), reqWid=new Array(), reqHei=new Array(), reqGrp=new Array();
var imgSrc=new Array(), mapWid=new Array(),mapHei=new Array(),mapCurX=new Array(),mapCurY=new Array(),mapCurScl=new Array(),mapIconGrp=new Array();
var mapFixedInfo=new Array(),mapSrc=new Array(),ReloadType=new Array(),b2ndMap=new Array();
var divMapX=new Array(),divMapY=new Array(),divSlideX=new Array(),divSlideY=new Array(),divSlideLen=new Array();
var iconX=new Array(),iconY=new Array(),divIcn=new Array();
var scaleAry = new Array("200000","100000","20000","10000","5000","2500","1000","500","250");

var tmpPrint=new Array();
var frstAccess=new Array();
var shopJsonObj = new Array();
var areaJsonObj = new Array();
var tabType = new Array();
var beforeTop = new Array();
var beforeLeft = new Array();
var browserScl = new Array();
var mapTypeObj=new Array();

var mapMoving = new Array();

/*
mapTypeObj[id].sliderType = 0;	//スライダーの右側のタイプ
							//SLIDER_BIGLINK=大きい地図リンク
							//SLIDER_DROPDOWN=都道府県ドロップダウン
							//SLIDER_EMPTY=ダミーリンク
							//SLIDER_NONE=何も表示しない(ダミーも出さない)

mapTypeObj[id].bloomImg = 0;	//吹き出しの画像有無
							//BLOOMIMG_ON=画像あり
							//BLOOMIMG_OFF=画像なし

mapTypeObj[id].bloomResult = 0;	//吹き出しの詳細リンク有無
							//BLOOMRESULT_ON=詳細あり
							//BLOOMRESULT_OFF=詳細なし

mapTypeObj[id].plotType = 0;	//プロット表示タイプ
							//PLOT_ALL=対象すべて表示
							//PLOT_AREA=県すべて表示
							//PLOT_ONE=一つだけ表示

mapTypeObj[id].sliderDraw = 0;	//スライダーの表示有無
							//SLIDER_ON=表示
							//SLIDER_OFF=非表示

mapTypeObj[id].bloomDraw = 0;	//吹き出しの表示有無
							//BLOOM_ON=表示
							//BLOOM_OFF=非表示

mapTypeObj[id].startX = 0.0;	//初期の経度
mapTypeObj[id].startY = 0.0;	//初期の緯度
mapTypeObj[id].startSCL = 0;	//初期の縮尺
mapTypeObj[id].mapType = 0;		//地図種類
*/
var mapIdCounter = 1;			//地図idのカウンタ。
								//1から始まり、printMapまたはMakeMapが呼び出されるたびにカウントする


//地図表示用の関数。
//type::地図の種類
//   x::地図の経度
//   y::地図の緯度
//   s::地図の縮尺
//   w::地図の幅  (無い場合、地図種類ごとの既定のサイズになる)
//   h::地図の高さ(無い場合、地図種類ごとの既定のサイズになる)
function printMap(type,x,y,s,w,h)
{
	//デフォルトの幅と高さを設定する。
	var defaultwidth = 320;
	var defaultheight = 205;

	switch(arguments.length)
	{
		case 0:
		case 1:
		case 2:
		case 3:
		case 4:	w=defaultwidth;
		case 5:	h=defaultheight;
	}

	//この地図のidを保存する。
	var mapId = mapIdCounter;
	mapIdCounter++;

	//表示用divタグを作成
	//地図によって作るdivの位置が変わるため設定
	var drawtarget = "";
	var nodrawtarget = "";
	var createtype = "append";
	var addclass = "";
	switch(type)
	{
		case 4:
				w=320;
				h=205;
				drawtarget = ".shop-detail-pic";
				nodrawtarget = "";
				tabType[mapId] = true;
				break;
		case 5:
				w=670;
				h=510;
				drawtarget = "h2.headingA02";
				nodrawtarget = "";
				createtype = "after";
				tabType[mapId] = true;
				document.write("<div id='mapping_target_"+mapId+"' class='mapping_target_"+mapId+"' style='width:"+w+"px;height:"+h+"px;'></div>");
				break;
		case 6:
				drawtarget = ".gourmet-content02";
				nodrawtarget = "";
				addclass = "printarea";
				tabType[mapId] = true;
				break;
	}

	$(window).bind("load",function(){

	//設定された位置にdivを貼り付ける
	if(createtype == "append")
	{
		$(drawtarget).append("<div id='mapping_target_"+mapId+"' class='mapping_target_"+mapId+" "+addclass+"' style='width:"+w+"px;height:"+h+"px;'></div>");
	}
	$("body").append("<div id='drawmap_"+mapId+"' name='drawmap_"+mapId+"' class=' "+addclass+"' style='width:0px;height:0px;position:absolute;top:0px;left:0px;'></div>");

	//マック版サファリの場合、ブラウザの拡大率を拾うためのdivを設定
	if(isMacSafali())
	{
		$("body").append("<div id='ruler_"+mapId+"' name='ruler_"+mapId+"' style='width:1px;height:1px;position:absolute;top:0px;left:-1000px;visibility:hidden;' ></div>");
	}
		//幅と高さを合わせる。
//		document.getElementById("drawmap_"+mapId).style.width = w+"px";
//		document.getElementById("drawmap_"+mapId).style.height = h+"px";

		var ary = new Array(4);
		ary[0] = "";			//5月14日変更:入力しない
		ary[1] = x;
		ary[2] = y;
		ary[3] = s;

		var tmpx = 0;
		var tmpy = 0;
		var obj ;

		if(document.getElementById("drawmap_"+mapId).style.visibility != "hidden")
		{
			var scl = 1;
			if(isIE7())
			{
				scl = BAJL.GetGeometry.getZoomRatio();
			}
			else if(isMacSafali())
			{
				scl = getDivPosByMac(".mapping_target_"+mapId,mapId).scl;
			}
			browserScl[mapId] = scl;

			obj = $(".mapping_target_"+mapId).offset();
			tmpx = obj.left/scl;
			tmpy = obj.top/scl;
		}
		else if(nodrawtarget != "")
		{
			var scl = 1;
			if(isIE7())
			{
				scl = BAJL.GetGeometry.getZoomRatio();
			}
			else if(isMacSafali())
			{
				scl = getDivPosByMac(nodrawtarget,mapId).scl;
			}
			browserScl[mapId] = scl;

			obj = $(nodrawtarget).offset();
			tmpx = obj.left/scl;
			tmpy = obj.top/scl;
		}
		var __funcA = function(zoom)
		{
			var reviser = $("#drawmap_content_" + mapId).offset() || { left: 0, top: 0 };
			var obj ;
			if(document.getElementById("drawmap_"+mapId).style.visibility != "hidden")
			{
				if(isIE7() == false)
				{
					if(isMacSafali() == false)
					{
						obj = $(".mapping_target_"+mapId).offset();
						var tmpx = obj.left - reviser.left;
						var tmpy = obj.top  - reviser.top ;
					}
					else
					{
						obj = getDivPosByMac(".mapping_target_"+mapId,mapId)
						var tmpx = obj.left - reviser.left;
						var tmpy = obj.top  - reviser.top ;
					}
				}
				else
				{
					if(zoom != null && zoom != undefined && typeof(zoom) == "number")
					{
						obj = $(".mapping_target_"+mapId).offset();
						var tmpx = (obj.left - reviser.left) / zoom;
						var tmpy = (obj.top  - reviser.top ) / zoom;
					}
					else if(browserScl[mapId] != undefined)
					{
						obj = $(".mapping_target_"+mapId).offset();
						var tmpx = (obj.left - reviser.left) / browserScl[mapId];
						var tmpy = (obj.top  - reviser.top ) / browserScl[mapId];
					}
					else
					{
						obj = $(".mapping_target_"+mapId).offset();
						var tmpx = obj.left - reviser.left;
						var tmpy = obj.top  - reviser.top ;
					}
				}
//				alert(tmpx+" "+tmpy+" "+zoom);
				resizeMap(type,tmpx,tmpy,mapId);
			}
			else if(nodrawtarget != "")
			{
				if(isIE7() == false)	
				{
					if(isMacSafali())
					{
						obj = $(nodrawtarget).offset();
						divMapX[mapId] = obj.left - reviser.left;
						divMapY[mapId] = obj.top  - reviser.top ;
					}
					else
					{
						obj = getDivPosByMac(nodrawtarget,mapId)
						divMapX[mapId] = obj.left - reviser.left;
						divMapY[mapId] = obj.top  - reviser.top ;
					}
				}
				else
				{
					if(zoom != null && zoom != undefined && typeof(zoom) == "number")
					{
						obj = $(nodrawtarget).offset();
						divMapX[mapId] = (obj.left - reviser.left) / zoom;
						divMapY[mapId] = (obj.top  - reviser.top ) / zoom;
					}
					else if(browserScl[mapId] != undefined)
					{
						obj = $(nodrawtarget).offset();
						divMapX[mapId] = (obj.left - reviser.left) / browserScl[mapId];
						divMapY[mapId] = (obj.top  - reviser.top ) / browserScl[mapId];
					}
					else
					{
						obj = $(nodrawtarget).offset();
						divMapX[mapId] = obj.left - reviser.left;
						divMapY[mapId] = obj.top  - reviser.top;

					}
				}

			}
		}
		var __funcB = function(){
			var obj = new Object();
			__funcA(obj);
		}
		$(window).bind("resize",__funcA);
		BAJL.Singleton(BAJL.FontSizeObserver).addCallback('onChange',__funcB);
		InitWait(type,tmpx,tmpy,mapId,ary);

		//IEの場合、拡大縮小状態を一定時間ごとに調べる
		//IE6の場合、拡大縮小機能が無いため行わない
		if((isIE() == true) && (isIE6() == false))
		{
			beforeTop[mapId] = tmpy;
			beforeLeft[mapId] = tmpx;
			var tid2 = setInterval(function(){
			 if(($("#mapping_target_"+mapId) != null && $("#mapping_target_"+mapId) != undefined) &&
				($("#mapping_target_"+mapId).offset().top != beforeTop[mapId] ||
				$("#mapping_target_"+mapId).offset().left != beforeLeft[mapId]))
				{
					browserScl[mapId] = BAJL.GetGeometry.getZoomRatio();
					__funcA(browserScl[mapId]);
					beforeTop[mapId] = $("#mapping_target_"+mapId).offset().top;
					beforeLeft[mapId] = $("#mapping_target_"+mapId).offset().left;
				}
			},500);
		}
	});
}
//地図を表示する関数。
//プロットが複数出る可能性のある地図の場合、makeMap,
//一つしか出ない場合はprintMap関数を実行する。
//type::地図の種類
// src::地図に表示するプロット用jsonファイルのパス
function makeMap(type,src)
{
	//この地図のidを保存する。
	var mapId = mapIdCounter;
	mapIdCounter++;

	var w=0;
	var h=0;
	//表示用divタグを作成
	//地図によって作るdivの位置が変わるため設定
	var drawtarget = "";
	var nodrawtarget = "";
	var visibletag = "";
	var unvisibletag = "";
	var addclass = "";
	var addstyle="";
	var iconame = "";
	var icowid = 208;
	var icohei = 13;
	switch(type)
	{
		case 1:
				w=660;
				h=380;
				drawtarget = ".mapB01";
				nodrawtarget = "#gourmet-area-search > .area-list > .data-tableA04";
				visibletag = "a[href='#gourmet-map-search']";
				unvisibletag = "a[href='#gourmet-area-search']";
				addstyle="position:absolute;top:0px;left:0px;visibility:hidden;z-index:0;";

				tabType[mapId] = false;
				iconame = "ico_throbber_02.gif";
				icowid = 24;
				icohei = 24;
				break;
		case 2:
				w=430;
				h=250;
				drawtarget = ".mapB01";
//				nodrawtarget = "#gourmet-area-search > .area-list > .parent";
//				nodrawtarget = "#gourmet-area-search > .area-list > .link-listA01";
				nodrawtarget = "#gourmet-area-search .areamap-main, #gourmet-area-search > .area-list > .link-listA01";
				visibletag = "a[href='#gourmet-map-search']";
				unvisibletag = "a[href='#gourmet-area-search']";
				addstyle="position:absolute;top:0px;left:0px;visibility:hidden;z-index:0;";

				tabType[mapId] = false;
				iconame = "ico_throbber_02.gif";
				icowid = 24;
				icohei = 24;
				break;
		case 3:
				w=670;
				h=510;
				drawtarget = ".mapB01";
				nodrawtarget = ".mapB01";
				visibletag = "";
				unvisibletag = "";
				addstyle="position:abslute;top:0px;left:0px;";

				tabType[mapId] = true;
				iconame = "ico_throbber_01.gif";
				icowid = 32;
				icohei = 32;
				break;
	}
		$(unvisibletag).bind("click",function(){visibleMap(mapId,false,w,h,nodrawtarget);});
		$(visibletag).bind("click",function(){visibleMap(mapId,true,w,h,nodrawtarget);});
		//サファリの場合、ローディングアニメーションの表示非表示をチェックする。
		//(ブラウザバック時にローディングアニメーションの挙動がおかしくなったため追加)
		if(isSafali())
		{
			$("#gourmet-map-search").ready(function()
			{
				if(document.getElementById('loading_'+mapId) != null && document.getElementById('loading_'+mapId) != undefined)
				{
					if(document.defaultView.getComputedStyle(document.getElementById("gourmet-map-search"),"").display == "block")
					{
						document.getElementById('loading_'+mapId).style.visibility = "inherit";
					}
					else
					{
						document.getElementById('loading_'+mapId).style.visibility = "hidden";
					}
				}
			});
		}
	$(window).bind("load",function(){
	//設定された位置にdivを貼り付ける
	$(drawtarget).addClass('area-list');
	$(drawtarget).append("<div id='mapping_target_"+mapId+"' class='mapping_target_"+mapId+"' style='width:"+w+"px;height:"+h+"px;z-index:0;line-height:5px;'></div>");
//var loadIconPath = BACKSLASH+"img/shared/loadingAnimation.gif";
var loadIconPath = "../"+BACKSLASH+"img/shared/ico/"+iconame;

	$("body").append("<div id='loading_"+mapId+"' name='loading_"+mapId+"' style='width:0px;height:0px;"+addstyle+"'><img id='loadingimg_"+mapId+"' style='width:"+icowid+"px; height:"+icohei+"px;' src='"+loadIconPath+"' /></div>");
	$("body").append("<div id='drawmap_"+mapId+"' name='drawmap_"+mapId+"' style='width:0px;height:0px;"+addstyle+"' ></div>");

	//マック版サファリの場合、ブラウザの拡大率を拾うためのdivを設定
	if(isMacSafali())
	{
		$("body").append("<div id='ruler_"+mapId+"' name='ruler_"+mapId+"' style='width:1px;height:1px;position:absolute;top:0px;left:-1000px;visibility:hidden;' ></div>");
	}


loadStart(mapId,w,h);

		ary = new Array(1);
		ary[0] = src;						//ファイルパス

//var display = document.defaultView.getComputedStyle(document.getElementById("gourmet-map-search"),"").display;
//alert(display);

		if(document.getElementById("drawmap_"+mapId).style.visibility != "hidden")
		{
			var scl = 1;
			if(isIE7())
			{
				scl = BAJL.GetGeometry.getZoomRatio();
			}
			else if(isMacSafali())
			{
				scl = getDivPosByMac(".mapping_target_"+mapId,mapId).scl;
			}
			browserScl[mapId] = scl;

			obj = $(".mapping_target_"+mapId).offset();
			tmpx = obj.left/scl;
			tmpy = obj.top/scl;
		}
		else
		{
			var scl = 1;
			if(isIE7())
			{
				scl = BAJL.GetGeometry.getZoomRatio();
			}
			else if(isMacSafali())
			{
				scl = getDivPosByMac(nodrawtarget,mapId).scl;
			}
			browserScl[mapId] = scl;

			obj = $(nodrawtarget).offset();
			tmpx = obj.left/scl;
			tmpy = obj.top/scl;
//alert(BAJL.GetGeometry.getZoomRatio());
//alert("bbb");
		}
//alert(tmpx+" "+tmpy+" "+scl);
		var __funcA = function(zoom)
		{
//alert("aa");
			var reviser = $("#drawmap_content_" + mapId).offset() || { left: 0, top: 0 };

			if(document.getElementById("drawmap_"+mapId).style.visibility != "hidden")
			{
				if(isIE7() == false)
				{
					if(isMacSafali() == false)
					{
						obj = $(".mapping_target_"+mapId).offset();
						var tmpx = obj.left - reviser.left;
						var tmpy = obj.top  - reviser.top ;
					}
					else
					{
						obj = getDivPosByMac(".mapping_target_"+mapId,mapId);
						var tmpx = obj.left - reviser.left;
						var tmpy = obj.top  - reviser.top ;
					}
				}
				else
				{
//alert(browserScl[mapId]+" "+zoom);
					if(zoom != null && zoom != undefined && typeof(zoom) == "number")
					{
						obj = $(".mapping_target_"+mapId).offset();
						var tmpx = parseInt((obj.left - reviser.left) / zoom) ;
						var tmpy = parseInt((obj.top  - reviser.top ) / zoom) ;
/*
alert(	"tmpx:"+tmpx+"="+obj.left+"\n"+
	"tmpy:"+tmpy+"="+obj.top+"\n"+
	"mapping_target:"+document.getElementById("mapping_target_"+mapId)+" top "+document.getElementById("mainmap0_"+mapId).style.top+"\n"+
	BAJL.GetGeometry.getZoomRatio());
*/
					}
					else if(browserScl[mapId] != undefined)
					{
						obj = $(".mapping_target_"+mapId).offset();
						var tmpx = parseInt((obj.left - reviser.left) / browserScl[mapId]);
						var tmpy = parseInt((obj.top  - reviser.top ) / browserScl[mapId]);
					}
					else
					{
						obj = $(".mapping_target_"+mapId).offset();
						var tmpx = obj.left - reviser.left;
						var tmpy = obj.top  - reviser.top ;
//alert(BAJL.GetGeometry.getZoomRatio());
					}
				}
//alert("aa");

/*
var tmpscrollx = $("body").scrollLeft();
var tmpscrolly = $("body").scrollTop();
$("body").scrollLeft(0);
$("body").scrollTop(0);
var normal = $("#ruler_"+mapId).offset().left;
var tmpx2 = $(".mapping_target_"+mapId).offset().left;
var tmpy2 = $(".mapping_target_"+mapId).offset().top;
$("body").scrollLeft(tmpscrollx);
$("body").scrollTop(tmpscrolly);
normal = normal / 100;

alert(	"x  :"+tmpx+"\n"+
	"y  :"+tmpy+"\n"+
	"ofx:"+$("#ruler_"+mapId).position().left+"\n"+
	"ofy:"+$("#ruler_"+mapId).position().top+"\n"+
	"scx:"+$("body").scrollLeft()+"\n"+
	"scy:"+$("body").scrollTop()+"\n"+
	"prx:"+$("#ruler_"+mapId).offsetParent()+"\n"+
	"pry:"+$("#ruler_"+mapId).offsetParent()+"\n"+
	"nml:"+normalx+"\n");
tmpx = tmpx2/normal;
tmpy = tmpy2/normal;
*/
				resizeMap(type,tmpx,tmpy,mapId);

				if(isHtmlError(mapId) == false)
				{
					resizeLoading(type,w,h,mapId);
				}

			}
			else
			{
				
				if(isIE7() == false)	
				{
					if(isMacSafali() == false)
					{
						obj = $(nodrawtarget).offset();
						divMapX[mapId] = obj.left - reviser.left;
						divMapY[mapId] = obj.top  - reviser.top ;
					}
					else
					{
						obj = getDivPosByMac(nodrawtarget,mapId);
						divMapX[mapId] = obj.left - reviser.left;
						divMapY[mapId] = obj.top  - reviser.top ;
						
					}
				}
				else
				{
					if(zoom != null && zoom != undefined && typeof(zoom) == "number")
					{
						obj = $(nodrawtarget).offset();
						divMapX[mapId] = parseInt((obj.left - reviser.left) / zoom);
						divMapY[mapId] = parseInt((obj.top  - reviser.top ) / zoom);
					}
					else if(browserScl[mapId] != undefined)
					{
						obj = $(nodrawtarget).offset();
						divMapX[mapId] = parseInt((obj.left - reviser.left) / browserScl[mapId]);
						divMapY[mapId] = parseInt((obj.top  - reviser.top ) / browserScl[mapId]);
					}
					else
					{
						obj = $(nodrawtarget).offset();
						divMapX[mapId] = obj.left - reviser.left;
						divMapY[mapId] = obj.top  - reviser.top ;
					}
				}
				if(isHtmlError(mapId) == false)
				{
					resizeLoading(type,w,h,mapId);
				}
			}
		}
		var __funcB = function(){
			var obj = new Object();
			__funcA(obj);
		}
		$(window).bind("resize",__funcA);
//		$(unvisibletag).bind("click",function(){visibleMap(mapId,false);});
//		$(visibletag).bind("click",function(){visibleMap(mapId,true);});
		BAJL.Singleton(BAJL.FontSizeObserver).addCallback('onChange',__funcB);

		InitWait(type,tmpx,tmpy,mapId,ary);
//		visibleMap(mapId,false,w,h);

		//IEの場合、拡大縮小状態を一定時間ごとに調べる
		//IE6の場合は、拡大縮小機能がないので行わない
		if((isIE() == true) && (isIE6() == false))
		{
			beforeTop[mapId] = tmpy;
			beforeLeft[mapId] = tmpx;
			var tid2 = setInterval(function(){
//alert(browserScl);
			 if(($("#mapping_target_"+mapId) != null && $("#mapping_target_"+mapId) != undefined) &&
				($("#mapping_target_"+mapId).offset().top != beforeTop[mapId] ||
				$("#mapping_target_"+mapId).offset().left != beforeLeft[mapId]))
				{
//alert(BAJL.GetGeometry.getZoomRatio());
					browserScl[mapId] = BAJL.GetGeometry.getZoomRatio();
					__funcA(browserScl[mapId]);
					beforeTop[mapId] = $("#mapping_target_"+mapId).offset().top;
					beforeLeft[mapId] = $("#mapping_target_"+mapId).offset().left;

					//拡大縮小した時にドロップダウンが崩れるので、作り直す。
					if(document.getElementById("areadrop_"+mapId) != null && document.getElementById("areadrop_"+mapId) != undefined)
					{
						var areaJsn = areaJsonObj[mapId];

						if(areaJsn != null && areaJsn != undefined &&  typeof(areaJsn[0]) == "object")
						{
							var htmlTag = "		<select style=\"margin-top:8px;margin-left:2px;width:190px;height:19px;letter-spacing:0;\" id=\"areaselect_"+mapId+"\" onChange=\"areaChangeHandle("+mapId+");return false;\">";
								htmlTag += "		<option value=\"\">都道府県を選択してください</option>";
							var selectvalue = document.getElementById("areaselect_"+mapId).options[document.getElementById("areaselect_"+mapId).selectedIndex].value;
							var selected = "";
							for(var i = 0; i < areaJsn.length;i++)
							{
								if(selectvalue == areaJsn[i]["id"] )
								{
									selected = "selected";
								}
								else
								{
									selected = "";
								}
								htmlTag += "<option value=\""+areaJsn[i]["id"]+"\" "+selected+">"+areaJsn[i]["name"]+"</option>";
							}
							htmlTag += "		</select>";
							document.getElementById("areadrop_"+mapId).innerHTML = htmlTag;
						}
					}
				}
			},500);
		}
	});
//alert(document.defaultView.getComputedStyle(document.getElementById("gourmet-map-search"),"").display);
}
//地図種類ごとに違うデータを設定する関数
function setMapTypeObj(maptype,id,option)
{
	mapTypeObj[id] = new Object();
	mapTypeObj[id].mapType = maptype;

	//基本的にスライダーと吹き出しは表示する。
	mapTypeObj[id].sliderDraw = SLIDER_ON;
	mapTypeObj[id].bloomDraw = BLOOM_ON;

	switch(maptype)
	{
		//全国地図
		case 1:
			mapTypeObj[id].sliderType = SLIDER_DROPDOWN;
			mapTypeObj[id].bloomImg = BLOOMIMG_ON;
			mapTypeObj[id].bloomResult = BLOOMRESULT_ON;
			mapTypeObj[id].plotType = PLOT_ALL;

			//商品ごとの緯度経度
			var TargetSetting = DEFAULT_MAP_SETTING;
			var ShopListPath = (option[0] && option[0].indexOf('/shoplist.js') != -1) ? option[0] : '';
			var TargetId = (ShopListPath.match(/\/gourmet\/(.+?)\/js\/shoplist\.js/) || ['',''])[1];
			if (TargetId) {
				var MapSettings = getAreaJson();
				if(MapSettings != null)
				{
					for (var i = 0, n = MapSettings.length; i < n; i++) {
						if (MapSettings[i].id == TargetId) {
							TargetSetting = MapSettings[i];
						}
					}
				}
			}
			mapTypeObj[id].startX   = TargetSetting.x;
			mapTypeObj[id].startY   = TargetSetting.y;
			mapTypeObj[id].startSCL = TargetSetting.s;
		break;

		//地域トップ
		case 2:
			mapTypeObj[id].sliderType = SLIDER_BIGLINK;
			mapTypeObj[id].bloomImg = BLOOMIMG_OFF;
			mapTypeObj[id].bloomResult = BLOOMRESULT_ON;
			mapTypeObj[id].plotType = PLOT_AREA;

			//地域ごとの緯度経度
//			mapTypeObj[id].startX = option[1];
//			mapTypeObj[id].startY = option[2];
//			mapTypeObj[id].startSCL = option[3];
//			var jsonObj = getShopJsonFirst(option[0]);
			var TargetSetting = DEFAULT_MAP_SETTING;
			var ShopListPath = (option[0] && option[0].indexOf('/shoplist.js') != -1) ? option[0] : '';
			var TargetId = (ShopListPath.match(/\/gourmet\/(.+?)\/js\/shoplist\.js/) || ['',''])[1];
			if (TargetId) {
				var MapSettings = getAreaJson();
				if(MapSettings != null)
				{
					for (var i = 0, n = MapSettings.length; i < n; i++) {
						if (MapSettings[i].id == TargetId) {
							TargetSetting = MapSettings[i];
						}
					}
				}
			}
			mapTypeObj[id].startX   = TargetSetting.x;
			mapTypeObj[id].startY   = TargetSetting.y;
			mapTypeObj[id].startSCL = TargetSetting.s;
		break;

		//地域大きい地図
		case 3:
			mapTypeObj[id].sliderType = SLIDER_NONE;
			mapTypeObj[id].bloomImg = BLOOMIMG_ON;
			mapTypeObj[id].bloomResult = BLOOMRESULT_ON;
			mapTypeObj[id].plotType = PLOT_AREA;

			//option上の緯度経度縮尺
			mapTypeObj[id].startX = option[1];
			mapTypeObj[id].startY = option[2];
			mapTypeObj[id].startSCL = option[3];
		break;

		//店舗詳細
		case 4:
			mapTypeObj[id].sliderType = SLIDER_NONE;
			mapTypeObj[id].bloomImg = BLOOMIMG_OFF;
			mapTypeObj[id].bloomResult = BLOOMRESULT_OFF;
			mapTypeObj[id].plotType = PLOT_ONE;

			//option上の緯度経度
			mapTypeObj[id].startX = option[1];
			mapTypeObj[id].startY = option[2];
//			mapTypeObj[id].startSCL = 250;
			mapTypeObj[id].startSCL = option[3];

			//店舗詳細は吹き出しを表示しない
			mapTypeObj[id].bloomDraw = BLOOM_OFF;
		break;

		//店舗詳細印刷
		case 5:
			mapTypeObj[id].sliderType = SLIDER_NONE;
			mapTypeObj[id].bloomImg = BLOOMIMG_ON;
			mapTypeObj[id].bloomResult = BLOOMRESULT_OFF;
			mapTypeObj[id].plotType = PLOT_ONE;

			//option上の緯度経度
			mapTypeObj[id].startX = option[1];
			mapTypeObj[id].startY = option[2];
//			mapTypeObj[id].startSCL = 1000;
			mapTypeObj[id].startSCL = option[3];

			//店舗詳細は吹き出しを表示しない
			mapTypeObj[id].bloomDraw = BLOOM_OFF;
		break;

		//店舗詳細印刷プレビュー
		case 6:
			mapTypeObj[id].sliderType = SLIDER_EMPTY;
			mapTypeObj[id].bloomImg = BLOOMIMG_OFF;
			mapTypeObj[id].bloomResult = BLOOMRESULT_OFF;
			mapTypeObj[id].plotType = PLOT_ONE;

			//option上の緯度経度
			mapTypeObj[id].startX = option[1];
			mapTypeObj[id].startY = option[2];
			mapTypeObj[id].startSCL = option[3];

			//プレビューはスライダーと吹き出しを表示しない
			mapTypeObj[id].sliderDraw = SLIDER_OFF;
			mapTypeObj[id].bloomDraw = BLOOM_OFF;
		break;

		//それ以外(デバグ時など)
		default:
			mapTypeObj[id].sliderType = SLIDER_DROPDOWN;
			mapTypeObj[id].bloomImg = BLOOMIMG_ON;
			mapTypeObj[id].bloomResult = BLOOMRESULT_ON;
			mapTypeObj[id].plotType = PLOT_ALL;

			//決め打ちの緯度経度
			mapTypeObj[id].startX   = DEFAULT_MAP_SETTING.x;
			mapTypeObj[id].startY   = DEFAULT_MAP_SETTING.y;
			mapTypeObj[id].startSCL = DEFAULT_MAP_SETTING.s;
		break;
	}
}
//地域情報用jsonをすべて取り出す関数
function getAreaJson()
{
	var xhr=null;
	if (window.XMLHttpRequest)xhr=new XMLHttpRequest();
	else if(window.ActiveXObject)
    	try {xhr=new ActiveXObject("Msxml2.XMLHTTP");}
	    catch(e){xhr=new ActiveXObject("Microsoft.XMLHTTP");}

	xhr.open("GET",(JSON_AREA_PATH+JSON_AREA_NAME),false);
	xhr.send("");
	var jsonObj;
	if(xhr.status == 200 || xhr.status == 304)
	{
		jsonObj = eval("("+xhr.responseText+")");
	}
	else
	{
		jsonObj = new Array();
		jsonObj[0] = xhr.status;
		jsonObj[1] = xhr.responseText;
	}
	xhr = null;

	return jsonObj;
}
//idから地域情報用jsonをすべて取り出す関数
function getAreaJsonById(id,mapId)
{

//	var jsonObj = getAreaJson();
	var jsonObj = areaJsonObj[mapId];
	var indx = -1;
	for(var i = 0; i < jsonObj.length;i++)
	{
		if(id == jsonObj[i]["id"])
		{
			indx = i;
			break;
		}
	}
	
	
	if(indx >= 0)
	{
		return jsonObj[indx];
	}
	else
	{
		return null;
	}
}
//店舗情報json内の最初のobjectを取り出す。
function getShopJsonFirst(kennum)
{
	var xhr=null;
	if (window.XMLHttpRequest)xhr=new XMLHttpRequest();
	else if(window.ActiveXObject)
    	try {xhr=new ActiveXObject("Msxml2.XMLHTTP");}
	    catch(e){xhr=new ActiveXObject("Microsoft.XMLHTTP");}
		filepath = kennum;
		xhr.open("GET",filepath,false);
		xhr.send("");

		if(xhr.status == 200 || xhr.status == 304)
		{
			var tmpJsonObj = eval("("+xhr.responseText+")");
			return tmpJsonObj[0];
		}
		else
		{
			return null;
		}
}

//地図種類等から必要な店舗情報jsonを作成する
function getJsonByShop(kennum,id)
{
	if(shopJsonObj[id] == null || shopJsonObj[id] == undefined)
	{
		shopJsonObj[id] = new Array();
	}
	var xhr=null;
	if (window.XMLHttpRequest)xhr=new XMLHttpRequest();
	else if(window.ActiveXObject)
    	try {xhr=new ActiveXObject("Msxml2.XMLHTTP");}
	    catch(e){xhr=new ActiveXObject("Microsoft.XMLHTTP");}

	var tmpfile;
	var filepath;
	//プロットタイプによって読み込み方を変更する。
	if(mapTypeObj[id].plotType == PLOT_ALL)
	{
/*
		//全ての県のプロットを読み込む。
		for(var i = 1; i <=KEN_MAXNUM;i++)
		{
			filepath = JSON_SHOPLIST_PATH+i+"/"+JSON_SHOPLIST_NAME;
			xhr.open("GET",filepath,false);
			xhr.send("");
			if(xhr.status == 200 || xhr.status == 304)
			{
				tmpfile = eval("("+xhr.responseText+")");
				shopJsonObj[id] = shopJsonObj[id].concat(tmpfile);
			}
		}
*/
		//カテゴリのshoplistを取り出す。
//		filepath = JSON_CATEGORY_SHOPLIST_PATH+kennum+"/"+JSON_SHOPLIST_NAME;
		filepath = kennum;
		xhr.open("GET",filepath,false);
		xhr.send("");
		if(xhr.status == 200 || xhr.status == 304)
		{
			shopJsonObj[id] = eval("("+xhr.responseText+")");
		}
		else
		{
			//エラーの場合、ステータスコードとテキストを受け取る。
			shopJsonObj[id][0] = xhr.status;
			shopJsonObj[id][1] = xhr.responseText;
		}
	}
	else if(mapTypeObj[id].plotType == PLOT_AREA)
	{
		//引数の県のプロットを読み込む。
		//filepath = JSON_SHOPLIST_PATH+kennum+"/"+JSON_SHOPLIST_NAME;
		filepath = kennum;
		xhr.open("GET",filepath,false);
		xhr.send("");
		if(xhr.status == 200 || xhr.status == 304)
		{
			shopJsonObj[id] = eval("("+xhr.responseText+")");
		}
		else
		{
			//エラーの場合、ステータスコードとテキストを受け取る。
			shopJsonObj[id][0] = xhr.status;
			shopJsonObj[id][1] = xhr.responseText;
		}
	}
	else if(mapTypeObj[id].plotType == PLOT_ONE)
	{
		//全てのプロット内の
		//地図初期位置が同じプロットのみを取り出す。
		
		//初期位置取り出し
		var stX = getCurrentX(id);
		var stY = getCurrentY(id);

//		filepath = JSON_SHOPLIST_PATH+kennum+"/"+JSON_SHOPLIST_NAME;
//		xhr.open("GET",filepath,false);
//		xhr.send("");
//		tmpfile = eval("("+xhr.responseText+")");
/*
		var findflg = false;
		for(var i=0; i < AREA_NAME_ARY.length;i++)
		{
			for(var j =0; j < KEN_NAME_ARY[i].length;j++)
			{
				filepath = JSON_SHOPLIST_PATH+AREA_NAME_ARY[i]+"/"+KEN_NAME_ARY[i][j]+"/"+JSON_SHOPLIST_NAME;
				xhr.open("GET",filepath,false);
				xhr.send("");
				if(xhr.status == 200 || xhr.status == 304)
				{
					tmpfile = eval("("+xhr.responseText+")");
					//位置が同じものを取り出す。
					for(var k=0; k < tmpfile.length;k++)
					{

						//if(tmpfile[k]["x"] == stX && tmpfile[k]["y"] == stY)
						if(tmpfile[k]["id"] == kennum)
						{
							shopJsonObj[id].push(tmpfile[k]);
							findflg = true;
							break;
						}
					}
				}
				if(findflg == true)
				{
					break;
				}
			}
			if(findflg == true)
			{
				break;
			}
		}
*/

		//プロット表示のみなので、だみーでーたを用意する。
		var tmpjson = new Array();
		tmpjson[0] = {};
		tmpjson[0]["x"] = stX;	//経度
		tmpjson[0]["y"] = stY;	//緯度
		tmpjson[0]["n"] = "";	//店舗名
		tmpjson[0]["p"] = "";	//リンク先
		tmpjson[0]["b"] = "";	//業種名
		tmpjson[0]["t"] = "";	//電話番号
		tmpjson[0]["i"] = "";	//画像パス
		shopJsonObj[id].push(tmpjson[0]);
	}

	xhr = null;
}

//-----以下関数群-----

//ページ側で呼び出す地図情報初期化関数。
//引数::maptype=地図表示種類。
//				1=全国地図。
//				2=地域トップ。
//				3=地域大きい地図。
//				4=店舗詳細。
//				5=店舗詳細印刷時。
//		id     =地図が複数ある場合に別々にアクセスするためのid。
//				地図ごとに別々に指定。
//		imgX   =地図画像の左上のx座標。
//		imgY   =地図画像の左上のy座標。
//		imgWidth  =地図画像の幅
//		imgHeight =地図画像の高さ。
//		option =maptypeごとに異なる追加情報。
//				maptype1のとき、カテゴリjsonファイルパス
//				[0]=カテゴリjsonファイルパス
//				maptype2のとき、地域jsonファイルパス
//				[0]=地域jsonファイルパス
//				maptype3のとき、地域名/県名、大きい地図が表示された時の緯度、経度、縮尺を配列で受け取る。
//				[0]=地域名/県名 [1]=経度 [2]=緯度 [3]=縮尺
//				meptype4,5,6のとき、null、店舗の経度緯度縮尺を配列で受け取る。
//				[0]=null [1]=経度 [2]=緯度 [3]=縮尺
//		(optionに関しては特に決まっているわけではないのでいろいろ修正がきくように)
//function printMap(maptype,imgX,imgY,id,option)
function InitWait(maptype,imgX,imgY,id,option)
{

	//スクリプトロードフラグ(loadedflg)がtrueの場合に実際に読み込み始める
	var tid = setInterval(function()
		{
			if(loadedflg)
			{
				//var x = $("#drawmap_"+id).offset().left ;
				//var y = $("#drawmap_"+id).offset().top ;
				var x = imgX;
				var y = imgY;

				/*
				var ps =  $(".mapping_target").parents().map(function () {

											if(document.defaultView.getComputedStyle(this,null).position == "relative")
											{
					                            return $(this).offset();
											}
											else
											{
												return null;
											}

											return null;
				                          })
				                      .get();

				var x = 0;
				var y = 0;
				x = $(".mapping_target").parent().offset().left;
				y = $(".mapping_target").parent().offset().top;
				x += $(".mapping_target").offset().left;
				y += $(".mapping_target").offset().top;
				for(var i = 0; i < ps.length;i++)
				{
					if(ps[i] != null)
					{
					x += ps[i].left;
					y += ps[i].top;
					}
				}
				*/
				var targetPosition = new Array(x,y);

				var targetObj = document.getElementById("mapping_target_"+id);
				if(targetObj == null){targetObj = document.getElementById("drawmap_"+id);}


				frstAccess[id] = true;

				Initalize(	maptype,
							id,
							targetPosition[0],
							targetPosition[1],
							Number(String(targetObj.style.width).replace("px","")),
							Number(String(targetObj.style.height).replace("px","")),
							option);

				//thickbox初期化
				tb_init('a.thickbox');
				targetPosition = null;
				targetObj = null;

//				//サファリのみりサイズ用メソッドを走らせる
//				if(isSafali())
//				{
//					$(window).triggerHandler("resize");
//					resizeMap2(maptype,divMapX[id],divMapY[id],id);
//				}
				// …ではなく、お店詳細ページの地図の初期表示位置が変にならないように全ブラウザで実行。
				$(window).triggerHandler("resize");
				resizeMap2(maptype,divMapX[id],divMapY[id],id);

				clearInterval(tid);
				tid = null;
			}
		}
		,100);
}
//プロット等が取り出せなかった場合に表示するエラーコード
function printErrorCode(maptype,id,imgX,imgY,imgWidth,imgHeight)
{
var src = "";
if(shopJsonObj[id] != null && shopJsonObj[id] != undefined && typeof(shopJsonObj[id][1]) != "object")
{
	src = shopJsonObj[id][1];
	if(src.indexOf("<style") != -1)
	{
		var tmpstr = src.split("<style");
		var tmpstr2 = tmpstr[1].split("/style>");
		src = tmpstr[0]+tmpstr2[1];
	}
}
else if(areaJsonObj[id] != null && areaJsonObj[id] != undefined && typeof(areaJsonObj[id][1]) != "object")
{
	src = areaJsonObj[id][1];
	if(src.indexOf("<style") != -1)
	{
		var tmpstr = src.split("<style");
		var tmpstr2 = tmpstr[1].split("/style>");
		src = tmpstr[0]+tmpstr2[1];
	}
}
else
{
	src = "不明なエラー";
}
//alert(src);
//divMapY[id] = $(".mapping_target_"+id).offset().top;
//divMapX[id] = $(".mapping_target_"+id).offset().left;
//imgY = $(".mapping_target_"+id).offset().top;
//imgX = $(".mapping_target_"+id).offset().left;
	var htmlTag  = "<div id='error_"+id+"' style='top:"+imgY+"px;left:"+imgX+"px;width:"+imgWidth+"px;height:"+imgHeight+"px;position:absolute;'>";
		htmlTag += src;
		htmlTag += "</div>";
		document.getElementById("drawmap_"+id).innerHTML = htmlTag;
		frstAccess[id] = false;
}
//エラーコードのりサイズ用メソッド
function resizeErrorCode(maptype,imgX,imgY,id)
{
//alert(imgY+" "+$(".mapping_target_"+id).offset().top);

//divMapY[id] = $(".mapping_target_"+id).offset().top;
//divMapX[id] = $(".mapping_target_"+id).offset().left;
//imgY = divMapY[id];
//imgX = divMapX[id];
divMapY[id] = imgY;
divMapX[id] = imgX;
		if(document.getElementById("error_"+id) != null && document.getElementById("error_"+id) != undefined)
		{
			if(document.getElementById("error_"+id).style != null && document.getElementById("error_"+id).style != undefined)
			{
				if(imgY != null)
				{
					document.getElementById("error_"+id).style.top = imgY+"px";
				}
				if(imgX != null)
				{
					document.getElementById("error_"+id).style.left = imgX+"px";
				}
			}
		}
}
//エラー状態か調べるメソッド
function isHtmlError(id)
{
	//エラーがチェックできるオブジェクトがなければ、false
	if(	shopJsonObj == null || shopJsonObj == undefined ||
		shopJsonObj[id] == null || shopJsonObj[id] == undefined ||
		mapTypeObj == null || mapTypeObj == undefined ||
		mapTypeObj[id] == null || mapTypeObj[id] == undefined)
	{
		return false;
	}
	//エラーチェック。基本的にobjectが帰ってきていない場合はエラー。
	if(	(typeof(shopJsonObj[id][0]) != "object")||
		(mapTypeObj[id].sliderType == SLIDER_DROPDOWN && typeof(areaJsonObj[id][0]) != "object"))
	{
		return true;
	}
	return false;
}
function Initalize(maptype,id,imgX,imgY,imgWidth,imgHeight,option)
{
	//ie6のみプリント時に関数を実行
/*
	if(isIE6())
	{
		document.body.onbeforeprint = function()
		{
			onBeforePrintHandle();
		}
		document.body.onafterprint = function()
		{
			onAfterPrintHandle();
		}
	}
*/
	if(isIE6())
	{
		var targetMapHash = '#drawmap_' + id + ' ';
		var PNGFixSeclector = targetMapHash + ['img','.tbl_btn','.td_tool_right','.box_scale','.trop_list','.hdn','.trop_detail','.trop_detail_middle','.trop_detail_small','.trop_pin','.back_btn'].join(','+targetMapHash);
		DD_belatedPNG.fix(PNGFixSeclector);
	}
	//maptypeごとに違うデータを設定する
	setMapTypeObj(maptype,id,option);


	//jsonデータを取り出す。
	if(	option == null ||
		option == undefined || 
		option[0] == null || 
		option[0] == undefined)
	{
		getJsonByShop(0,id);
	}
	else
	{
		getJsonByShop(option[0],id);
	}

	if(mapTypeObj[id].sliderType == SLIDER_DROPDOWN)
	{
		areaJsonObj[id] = getAreaJson();
	}
/*
	reqX[id]	= getParameter( "X" );			// ○ カレント経度
	reqY[id]	= getParameter( "Y" );			// ○ カレント緯度
	reqSCL[id]	= getParameter( "SCL" );		// ○ カレントスケール
	reqCLK[id]	= getParameter( "CLK" );		// ○ 地図操作 1:ドラッグスクロール、2:範囲拡大、3:クリック移動
	reqWid[id]	= imgWidth;						// ○ 地図画像横幅	※450に固定してます
	reqHei[id]	= imgHeight;					// ○ 地図画像縦幅	※300に固定してます
	reqGrp[id]	= getParameter( "GRP" );		// ◎ アイコングループ化
*/
	reqX[id]	="";							// ○ カレント経度
	reqY[id]	="";							// ○ カレント緯度
	reqSCL[id]	="";							// ○ カレントスケール
	reqCLK[id]	="";							// ○ 地図操作 1:ドラッグスクロール、2:範囲拡大、3:クリック移動
	reqWid[id]	= imgWidth;						// ○ 地図画像横幅	※450に固定してます
	reqHei[id]	= imgHeight;					// ○ 地図画像縦幅	※300に固定してます
	reqGrp[id];		// ◎ アイコングループ化
	// ○ デフォルト設定
	if (0 == parseFloat( reqX[id] ) || "" == reqX[id] || 0 == parseFloat( reqY[id] ) || "" == reqY[id]){
		reqX[id] = getCurrentX(id);
		reqY[id] = getCurrentY(id);
	}
	if (0 == parseInt( reqSCL[id] ) || "" == reqSCL[id])	reqSCL[id] = getCurrentScl(maptype,id,option);
	if ("" == reqCLK[id])								reqCLK[id] = "1";

	// スケール設定
//	if (reqSCL[id] < 250)		reqSCL[id] = 250;
//	if (200000 < reqSCL[id])	reqSCL[id] = 200000;

	// ◎ 地図画像作成（※契約時のK1,K2,TABを使用してください）
	imgSrc[id] = "http://map.chizumaru.com/MD=PC" +
				"&K1="	+ "sapporo" +
				"&K2="	+ "beer" +
				"&TAB="	+ MAPDRAW_TYPE +
				"&W="	+ reqWid[id] +
				"&H="	+ reqHei[id] ;

	mapWid[id]		= reqWid[id];						// ● 地図画像縦幅
	mapHei[id]		= reqHei[id];						// ● 地図画像横幅
	mapCurX[id];									// ● カレント経度
	mapCurY[id];									// ● カレント緯度
	mapCurScl[id];									// ● カレントスケール
	mapIconGrp[id]	= reqGrp[id];						// ◎ アイコングループ化

	mapFixedInfo[id]= imgSrc[id];						// ● 地図画像固定パラメタ
	mapSrc[id];										// ● 地図画像URL
	ReloadType[id]	= 1								// ● リロード種類（0:全リロード、1:部分リロード）※1固定
	b2ndMap[id]		= false;						// ● 2枚目地図画像使用

	divMapX[id]		= imgX;							// ◎ 地図画像左上X座標
	divMapY[id]		= imgY;							// ◎ 地図画像左上Y座標
	//divSlideX[id]	= divMapX[id] + 63;					// ◎ スライダ左上X座標
	divSlideX[id]	= divMapX[id] + getScaleElemWidth()+getBackButtonWidth();					// ◎ スライダ左上X座標
	//divSlideY[id]	= divMapY[id] + mapHei[id] + 1;			// ◎ スライダ左上Y座標
	divSlideY[id]	= divMapY[id] + mapHei[id] - getSlideHeight(maptype);			// ◎ スライダ左上Y座標
	//divSlideLen[id]	= 265;							// ◎ スライダの長さ	※背景がある場合はそちらも合わせてください
	divSlideLen[id]	= getSlideWidth(maptype,id,mapWid[id])-getScaleIconWidth()+6;							// ◎ スライダの長さ	※背景がある場合はそちらも合わせてください

	iconX[id] = 504343.369;							// ○ 固定アイコン経度
	iconY[id] = 127845.399;							// ○ 固定アイコン緯度
	divIcn[id]= 6;									// ○ アイコンオフセット（目標地点にアイコンを落とすため、地図画像からはみ出さないようにするためです）

	//プロットが正しく受け取れなかった場合
	if(isHtmlError(id))
	{
		var loading = document.getElementById("loading_"+id);
		if(loading != null && loading != undefined)
		{
			loading.style.visibility = "hidden";
		}
		//エラーコードを表示する
//		printErrorCode(maptype,id,imgX,imgY,imgWidth,imgHeight);
//		czVisibility("drawmap_"+id,true);
		loadEnd(id);
		return;
	}
	//id drawmapのタグに必要なタグを展開する
	setMapTags(maptype,option[0],id);

	document.getElementsByName("mapform_"+id)[0].x.value = reqX[id];
	document.getElementsByName("mapform_"+id)[0].y.value = reqY[id];
	document.getElementsByName("mapform_"+id)[0].scl.value = reqSCL[id];
	document.getElementsByName("mapform_"+id)[0].clk.value = reqCLK[id];
	document.getElementsByName("imgmap1_"+id)[0].style.width = reqWid[id];
	document.getElementsByName("imgmap2_"+id)[0].style.width = reqWid[id];
	document.getElementsByName("imgmap1_"+id)[0].style.height = reqHei[id];
	document.getElementsByName("imgmap2_"+id)[0].style.height = reqHei[id];

	setMouseWheel("drawmap_"+id);
	//スライダー非表示状態なら、マウスホイールを無効にする
	if(mapTypeObj[id].sliderDraw == SLIDER_OFF)
	{
		deleteMouseWheel("drawmap_"+id);
	}

	//initCrossBrowserLib();		//ブラウザの判別
	//regDrag( reqCLK[id],id );		//地図操作指定 1:移動、2:範囲拡大
	regDrag("1",id);				//地図操作指定 1:移動、2:範囲拡大

	//8方向スクロール
	//czMov( "scroll8_"+id, divMapX[id] + mapWid[id] + 10, divMapY[id] + mapHei[id] - 50, null, 800 );
	//czVisibility( "scroll8_"+id, false );			//表示する場合、この行をコメントアウトしてください
	//地図外枠線の表示
	czMov( "mainmap0_"+id, divMapX[id] - 1, divMapY[id] - 1, null, 800 );

	var obj = document.getElementById("imgmap0_id"+id);
	document.getElementsByName("imgmap0_"+id)[0].style.width = mapWid[id]+"px";
	document.getElementsByName("imgmap0_"+id)[0].style.height = mapHei[id]+"px";

	//地図操作ボタンの表示
	//czMov( "mapoperate_"+id, divMapX[id] - 1, divMapY[id] + mapHei[id] + 1, null, 800 );
	//czMov( "mapoperate_"+id, divMapX[id] - 1, divSlideY[id], null, 830 );

	//スライダー表示状態なら、スライダーを表示
	if(mapTypeObj[id].sliderDraw == SLIDER_ON)
	{
		//スライダ背景表示
		//czMov( "rail_"+id, divSlideX[id], divSlideY[id], null, 800 );
		//czMov( "rail2_"+id, divSlideX[id], divSlideY[id], null, 801 );
		czMov( "slidebg_"+id,divMapX[id],divSlideY[id],null, 825 );
		czMov( "rail_"+id, divSlideX[id], divSlideY[id], null, 830 );
		czMov( "rail2_"+id, divSlideX[id], divSlideY[id], null, 831 );

		//スケール表示
		//czMov( "sclmeter_"+id, divMapX[id] + 379, divMapY[id] + mapHei[id] + 1, null, 800 );
		czMov( "sclmeter_"+id, getScaleElemX(id), divSlideY[id], null, 830 );

		//backボタン
		czMov("backbtn_"+id, (getScaleElemX(id) + getScaleElemWidth()+2), divSlideY[id]+2,null, 832);

		//nextボタン
		czMov("nextbtn_"+id, (divSlideX[id] + getSlideWidth(maptype,id,mapWid[id])-2), divSlideY[id]+2,null, 832);

		//右端の物
		//czMov("linkbtn_"+id, (divSlideX[id] + getSlideWidth(maptype,id,mapWid[id]) + getNextButtonWidth()), divSlideY[id]+2,null, 832);
		//czMov("emptybtn_"+id, (divSlideX[id] + getSlideWidth(maptype,id,mapWid[id]) + getNextButtonWidth()), divSlideY[id]+2,null, 832);
		var rightid = getSliderRightId(id);

		//idがある場合に表示
		if(rightid != "")
		{
			czMov(rightid, (divSlideX[id] + getSlideWidth(maptype,id,mapWid[id]) + getNextButtonWidth()), divSlideY[id]+2,null, 832);

			//プルダウンの場合、他のものが重なった時用にiframeを上に重ねる
			if(rightid == "areadrop_"+id)
			{
	//			czMov("areadropshim_"+id, (divSlideX[id] + getSlideWidth(maptype,id,mapWid[id]) + getNextButtonWidth()), divSlideY[id]+2-20,null, 833);
			}
		}
	}

	MapOnLoad(id);


}

function MapOnLoad(id){

//	czVisibility("dummydiv_"+id,false);
	SetCurrentValue(id);							//カレント情報を代入
	LoadMap(id);									//地図画像読み込み

	//スライダー表示状態の場合、表示。
	if(mapTypeObj[id].sliderDraw == SLIDER_ON)
	{
		slideScale( mapCurScl[id],id );					//スケール表示
		var InitSlidePos = GetSliderPosition( mapCurScl[id], divSlideLen[id] );				//スケールからスライダの位置を取得
		//czMov( "slider_"+id, divSlideX[id] + InitSlidePos + 7, divSlideY[id] + 6, null, 810 );	//スライダ表示
		czMov( "slider_"+id, divSlideX[id] + InitSlidePos-2, divSlideY[id]+3 , null, 840 );	//スライダ表示
		regSlider( divSlideLen[id], InitSlidePos, 0 ,id);									//スライダ初期位置指定
	}
}

// 地図画像読み込み
function LoadMap(id){
	if( b2ndMap[id] ){
		mapSrc[id] = mapFixedInfo[id] + "&" + GetMapParam(id);
		(document.getElementsByName("imgmap2_"+id)[0].src != mapSrc[id]) ? document.getElementsByName("imgmap2_"+id)[0].src = mapSrc[id] : DspMap( '',id );
	}
	else{
		mapSrc[id] = mapFixedInfo[id] + "&" + GetMapParam(id);
		(document.getElementsByName("imgmap1_"+id)[0].src != mapSrc[id]) ? document.getElementsByName("imgmap1_"+id)[0].src = mapSrc[id] : DspMap( '',id );
	}
}

// 地図画像、動的アイコン表示
function DspMap( witch,id ){
	if( b2ndMap[id] ){
		setDivClip( getDivFromName( "mainmap2_"+id ), 0, mapWid[id], mapHei[id], 0 );
		czMov( "mainmap2_"+id, divMapX[id], divMapY[id], null, 820 );					//地図画像表示
		document.getElementsByName("imgmap2_"+id)[0].style.width = mapWid[id]+"px";
		document.getElementsByName("imgmap2_"+id)[0].style.height = mapHei[id]+"px";

		//スクロールバーがおかしくなるため、裏側の画像も、表示画像と同じ位置、サイズにする
		czMov( "mainmap1_"+id, divMapX[id], divMapY[id], null, 820 );
		czVisibility( "mainmap1_"+id, false );
		document.getElementsByName("imgmap1_"+id)[0].style.width = mapWid[id]+"px";
		document.getElementsByName("imgmap1_"+id)[0].style.height = mapHei[id]+"px";
	}
	else{
		setDivClip( getDivFromName( "mainmap1_"+id ), 0, mapWid[id], mapHei[id], 0 );
		czMov( "mainmap1_"+id, divMapX[id], divMapY[id], null, 820 );					//地図画像表示
		document.getElementsByName("imgmap1_"+id)[0].style.width = mapWid[id]+"px";
		document.getElementsByName("imgmap1_"+id)[0].style.height = mapHei[id]+"px";

		//スクロールバーがおかしくなるため、裏側の画像も、表示画像と同じ位置、サイズにする
		czMov( "mainmap2_"+id, divMapX[id], divMapY[id], null, 820 );
		czVisibility( "mainmap2_"+id, false );
		document.getElementsByName("imgmap2_"+id)[0].style.width = mapWid[id]+"px";
		document.getElementsByName("imgmap2_"+id)[0].style.height = mapHei[id]+"px";
	}

/*
	//固定アイコン
	var iconPosX = new refvar();
	var iconPosY = new refvar();
	CMBLPixel.bltoPixel(mapCurX[id], mapCurY[id], mapCurScl[id], 3, mapWid[id], mapHei[id], iconX[id], iconY[id], iconPosX, iconPosY);
	if(	( ( 0 + divIcn[id] ) < iconPosX.value ) && ( iconPosX.value < ( mapWid[id] - divIcn[id] ) ) &&
		( ( 0 + divIcn[id] ) < iconPosY.value ) && ( iconPosY.value < ( mapHei[id] - divIcn[id] ) ) ){
		//地図画面内にあればアイコンを表示させます
		czMov( "icn_"+id, iconPosX.value + divMapX[id] - divIcn[id], iconPosY.value + divMapY[id] - divIcn[id], null, 832 );
	}
	else{
		czVisibility( "icn_"+id, false );
	}
*/
	// クライアントサイドで、DB検索用緯度経度を計算します
	// 送信先のmaplist.htmlで、地図内の物件をデータベースから検索する際にご利用ください
	// 地図画像サイズより左上右11、下27px(ロゴ対策)内側の座標を返します
	var DBMinX = new refvar();
	var DBMinY = new refvar();
	var DBMaxX = new refvar();
	var DBMaxY = new refvar();
	CMBLPixel.pixeltoBL(mapCurX[id], mapCurY[id], mapCurScl[id], 3, mapWid[id], mapHei[id], 11, mapHei[id] - 27, DBMinX, DBMinY);
	CMBLPixel.pixeltoBL(mapCurX[id], mapCurY[id], mapCurScl[id], 3, mapWid[id], mapHei[id], mapWid[id] - 11, 11, DBMaxX, DBMaxY);

	// iframe読み込み
	// スライダーの分よみこむぶぶんを少なくする
	var IframeSrc = MAPLIST_PATH+"maplist.html" +
						"?X=" + mapCurX[id] +
						"&Y=" + mapCurY[id] +
						"&SCL=" + mapCurScl[id] +
						"&WID=" + mapWid[id] +
						"&HEI=" + (mapHei[id]-getSlideHeight()) +
						"&XMIN=" + DBMinX.value +
						"&YMIN=" + DBMinY.value +
						"&XMAX=" + DBMaxX.value +
						"&YMAX=" + DBMaxY.value + 
						"&GRP=" + mapIconGrp[id]+
						"&"+(new Date-0);
						
	IframeSrc +="&MTYPE=" + 2 + "&MNUM=" + 1+"&ID="+id;
	//初回アクセス以外でプロットを取り出す。
	if(mapTypeObj[id].mapType ==  MAPTYPE_AREA && frstAccess[id] == true)
	{
		IframeSrc +="&VISIBLE=false";
	}
	else
	{
		IframeSrc +="&VISIBLE=true";
	}

	RemoveIcons(id);
	document.getElementsByName("iframelist_"+id)[0].contentWindow.location.replace(IframeSrc);

	//クリック移動を可能にする
	moveMiddleCancel();

	frstAccess[id] = false;

}

//リサイズ用関数
//引数::maptype	=地図表示種類
//		imgX	=地図画像左上座標
//		imgY	=地図画像右上座標
//		id		=地図が複数ある場合に別々にアクセスするためのid
function resizeMap(maptype,imgX,imgY,id)
{
//htmlエラーの場合、エラーコードを表示
if(isHtmlError(id))
{
	resizeErrorCode(maptype,imgX,imgY,id);
	return ;
}


	divMapX[id]		= imgX;	// ◎ 地図画像左上X座標
	divMapY[id]		= imgY;	// ◎ 地図画像左上Y座標
	divSlideX[id]	= divMapX[id] + getScaleElemWidth()+getBackButtonWidth();					// ◎ スライダ左上X座標
	divSlideY[id]	= divMapY[id] + mapHei[id] - getSlideHeight(maptype);			// ◎ スライダ左上Y座標
var tmpdiv = getDivFromName( "mainmap0_"+id);
if(tmpdiv == null || tmpdiv == undefined){return;}
	regDrag("1",id);				//地図操作指定 1:移動、2:範囲拡大
	
	//地図外枠線の表示
	czMov( "mainmap0_"+id, divMapX[id] - 1, divMapY[id] - 1, null, 800 );

	//スライダー表示状態なら、スライダーを表示
	if(mapTypeObj[id].sliderDraw == SLIDER_ON)
	{
		//スライダ背景表示
		czMov( "slidebg_"+id,divMapX[id],divSlideY[id],null, 825 );
		czMov( "rail_"+id, divSlideX[id], divSlideY[id], null, 830 );
		czMov( "rail2_"+id, divSlideX[id], divSlideY[id], null, 831 );

		//スケール表示
		czMov( "sclmeter_"+id, getScaleElemX(id), divSlideY[id], null, 830 );

		//backボタン
		czMov("backbtn_"+id, (getScaleElemX(id) + getScaleElemWidth()+2), divSlideY[id]+2,null, 832);


		//nextボタン
		czMov("nextbtn_"+id, (divSlideX[id] + getSlideWidth(maptype,id,mapWid[id])-2), divSlideY[id]+2,null, 832);

		//右端の物
		var rightid = getSliderRightId(id);

		//idがある場合に表示
		if(rightid != "")
		{
			czMov(rightid, (divSlideX[id] + getSlideWidth(maptype,id,mapWid[id]) + getNextButtonWidth()), divSlideY[id]+2,null, 832);
		}


		SetCurrentValue(id);							//カレント情報を代入
		slideScale( mapCurScl[id],id );					//スケール表示
		var InitSlidePos = GetSliderPosition( mapCurScl[id], divSlideLen[id] );				//スケールからスライダの位置を取得
		czMov( "slider_"+id, divSlideX[id] + InitSlidePos-2, divSlideY[id]+3 , null, 840 );	//スライダ表示
		regSlider( divSlideLen[id], InitSlidePos, 0 ,id);									//スライダ初期位置指定
	}

	if( b2ndMap[id] ){
		setDivClip( getDivFromName( "mainmap2_"+id ), 0, mapWid[id], mapHei[id], 0 );
		czMov( "mainmap2_"+id, divMapX[id], divMapY[id], null, 820 );					//地図画像表示
		document.getElementsByName("imgmap2_"+id)[0].style.width = mapWid[id]+"px";
		document.getElementsByName("imgmap2_"+id)[0].style.height = mapHei[id]+"px";
		czVisibility( "mainmap1_"+id, false );
	}
	else{
		setDivClip( getDivFromName( "mainmap1_"+id ), 0, mapWid[id], mapHei[id], 0 );
		czMov( "mainmap1_"+id, divMapX[id], divMapY[id], null, 820 );					//地図画像表示
		document.getElementsByName("imgmap1_"+id)[0].style.width = mapWid[id]+"px";
		document.getElementsByName("imgmap1_"+id)[0].style.height = mapHei[id]+"px";
		czVisibility( "mainmap2_"+id, false );
	}

	czVisibility("dummydiv_"+id,false);

	if(document.getElementById("stopclick_"+id).style.visibility != "inherit")
	{
		czMov("stopclick_"+id,divMapX[id],divMapY[id],null,900);
		czVisibility("stopclick_"+id,false);
	}
	else
	{
		czMov("stopclick_"+id,divMapX[id],divMapY[id],null,900);
	}

	PlotIcon.end(divMapX[id], divMapY[id], 21, 34,true,id);
	//クリック移動を可能にする
//	moveMiddleCancel();
}
//plotIcon.endを呼ばないバージョン
function resizeMap2(maptype,imgX,imgY,id)
{
//htmlエラーの場合、エラーコードを表示
if(isHtmlError(id))
{
	resizeErrorCode(maptype,imgX,imgY,id);
	return ;
}
	divMapX[id]		= imgX;	// ◎ 地図画像左上X座標
	divMapY[id]		= imgY;	// ◎ 地図画像左上Y座標
	divSlideX[id]	= divMapX[id] + getScaleElemWidth()+getBackButtonWidth();					// ◎ スライダ左上X座標
	divSlideY[id]	= divMapY[id] + mapHei[id] - getSlideHeight(maptype);			// ◎ スライダ左上Y座標

var tmpdiv = getDivFromName( "mainmap0_"+id);
if(tmpdiv == null || tmpdiv == undefined){return;}
	regDrag("1",id);				//地図操作指定 1:移動、2:範囲拡大
	
	//地図外枠線の表示
	czMov( "mainmap0_"+id, divMapX[id] - 1, divMapY[id] - 1, null, 800 );

	//スライダー表示状態なら、スライダーを表示
	if(mapTypeObj[id].sliderDraw == SLIDER_ON)
	{
		//スライダ背景表示
		czMov( "slidebg_"+id,divMapX[id],divSlideY[id],null, 825 );
		czMov( "rail_"+id, divSlideX[id], divSlideY[id], null, 830 );
		czMov( "rail2_"+id, divSlideX[id], divSlideY[id], null, 831 );

		//スケール表示
		czMov( "sclmeter_"+id, getScaleElemX(id), divSlideY[id], null, 830 );

		//backボタン
		czMov("backbtn_"+id, (getScaleElemX(id) + getScaleElemWidth()+2), divSlideY[id]+2,null, 832);


		//nextボタン
		czMov("nextbtn_"+id, (divSlideX[id] + getSlideWidth(maptype,id,mapWid[id])-2), divSlideY[id]+2,null, 832);

		//右端の物
		var rightid = getSliderRightId(id);

		//idがある場合に表示
		if(rightid != "")
		{
			czMov(rightid, (divSlideX[id] + getSlideWidth(maptype,id,mapWid[id]) + getNextButtonWidth()), divSlideY[id]+2,null, 832);
		}


		SetCurrentValue(id);							//カレント情報を代入
		slideScale( mapCurScl[id],id );					//スケール表示

		var InitSlidePos = GetSliderPosition( mapCurScl[id], divSlideLen[id] );				//スケールからスライダの位置を取得
		czMov( "slider_"+id, divSlideX[id] + InitSlidePos-2, divSlideY[id]+3 , null, 840 );	//スライダ表示
		regSlider( divSlideLen[id], InitSlidePos, 0 ,id);									//スライダ初期位置指定
	}

	if( b2ndMap[id] ){
		setDivClip( getDivFromName( "mainmap2_"+id ), 0, mapWid[id], mapHei[id], 0 );
		czMov( "mainmap2_"+id, divMapX[id], divMapY[id], null, 820 );					//地図画像表示
		document.getElementsByName("imgmap2_"+id)[0].style.width = mapWid[id]+"px";
		document.getElementsByName("imgmap2_"+id)[0].style.height = mapHei[id]+"px";
		czVisibility( "mainmap1_"+id, false );
	}
	else{
		setDivClip( getDivFromName( "mainmap1_"+id ), 0, mapWid[id], mapHei[id], 0 );
		czMov( "mainmap1_"+id, divMapX[id], divMapY[id], null, 820 );					//地図画像表示
		document.getElementsByName("imgmap1_"+id)[0].style.width = mapWid[id]+"px";
		document.getElementsByName("imgmap1_"+id)[0].style.height = mapHei[id]+"px";
		czVisibility( "mainmap2_"+id, false );
	}

	czVisibility("dummydiv_"+id,false);

	if(document.getElementById("stopclick_"+id).style.visibility != "inherit")
	{
		czMov("stopclick_"+id,divMapX[id],divMapY[id],null,900);
		czVisibility("stopclick_"+id,false);
	}
	else
	{
		czMov("stopclick_"+id,divMapX[id],divMapY[id],null,900);
	}
}

// 全てのアイコンを非表示
function RemoveIcons(id){

//	czVisibility( "icn_"+id, false );
	if(document.getElementById('dummydiv_'+id) != null && document.getElementById('dummydiv_'+id) != undefined)
	{
		czVisibility("dummydiv_"+id,false);
	}
	if(	document.getElementsByName("iframelist_"+id)[0] != null && document.getElementsByName("iframelist_"+id)[0] != undefined &&
		document.getElementsByName("iframelist_"+id)[0].contentWindow.RemoveIcnDiv != null && document.getElementsByName("iframelist_"+id)[0].contentWindow.RemoveIcnDiv != undefined)
	{
		document.getElementsByName("iframelist_"+id)[0].contentWindow.RemoveIcnDiv(id);
	}
	else
	{
//		for(var i = 0; i < PlotIcon.getPlotNum(id); i++)
//		{
//			czVisibility(PlotIcon.icon+i,false);
//		}
	}
}
// 全てのアイコンを表示
function VisibleIcons(id)
{
	if(	document.getElementsByName("iframelist_"+id)[0] != null && document.getElementsByName("iframelist_"+id)[0] != undefined &&
		document.getElementsByName("iframelist_"+id)[0].contentWindow.VisibleIcnDiv != null && document.getElementsByName("iframelist_"+id)[0].contentWindow.VisibleIcnDiv != undefined)

	{
		document.getElementsByName("iframelist_"+id)[0].contentWindow.VisibleIcnDiv(id);
	}
}

// レイヤを指定位置に表示
function czMov( nm, left, top, tip, zindex ){
	var div = getDivFromName( nm );
	moveDivTo( div, left, top );
	if( zindex )
		setDivZIndex( div, zindex );

	setDivVisibility( div, true );
	if( tip )
		writeDivHTML( div, left, top, tip );

}

// レイヤを指定位置に表示(setDivVisibilityの実行を最後に行うように変更)
function czMov2( nm, left, top, tip, zindex ){
	var div = getDivFromName( nm );
	moveDivTo( div, left, top );
	if( zindex )
		setDivZIndex( div, zindex );

	if( tip )
		writeDivHTML( div, left, top, tip );

	setDivVisibility( div, true );
}

// レイヤを指定位置に表示
function czMov_obj( obj, left, top, tip, zindex ){
	var div = obj
	moveDivTo( div, left, top );
	if( zindex )
		setDivZIndex( div, zindex );

	setDivVisibility( div, true );
	if( tip )
		writeDivHTML( div, left, top, tip );

}

// レイヤ表示、非表示を設定
function czVisibility( nm, bool ){
	var div = getDivFromName( nm );
	setDivVisibility( div, bool );
}

// カレント情報（経度・緯度・スケール）を代入（パラメタ長さ短縮のため）
function SetCurrentValue(id){
	mapCurX[id]		= parseFloat( document.getElementsByName("mapform_"+id)[0].x.value );
	mapCurY[id]		= parseFloat( document.getElementsByName("mapform_"+id)[0].y.value );
	mapCurScl[id]	= parseFloat( document.getElementsByName("mapform_"+id)[0].scl.value );
}

// 
function writeScaleMeter(meter,id) {
	var tip = '';

	tip += '<table border="0" cellspacing="0" cellpadding="0" width="'+getScaleElemWidth()+'" style="width:'+getScaleElemWidth()+'px;\>';
	tip += '	<tr>';
	tip += '		<td>';
	tip += '			<table border="0" cellspacing="0" cellpadding="0" class="tbl_tool">';
	tip += '				<tr>';
	tip += '					<td>';
	tip += '					<div class="box_width_out">';
	tip += '					<div class="box_width_in">';
	tip += '					<font color="#fefefe">' + meter+'</font>';
	tip += '					</div>';
	tip += '					</div>';
	tip += '					</td>';
	tip += '					<td class="td_tool_right"><img src="'+IMG_FILE_PATH+'shim.gif" alt="" width="5" height="22"></td>';
	tip += '				</tr>';
	tip += '			</table>';
	tip += '		</td>';
	tip += '	</tr>';
	tip += '</table>';

//	if(printFlg == false)
	{
		writeDivHTML( getDivFromName("sclmeter_"+id), true, true, tip );
	}
	//tip += '<font color="#fefefe">' + meter+'</font>';
	//writeDivHTML( getDivFromName("meterid"), true, true, tip );

	czVisibility("scaleline_"+id,true);
	var diffY = 11;
	var diffX = 5;
	if(isIE())
	{
		diffX -= 1;
	}
	czMov( "scaleline_"+id, getScaleElemX(id)+diffX, divSlideY[id]+diffY, null, 831 );					//スケール表示

	//var tip2 = "<img src=\""+IMG_FILE_PATH+"scale_bg_mono.png\" alt=\"200\"width=\"450\" height=\"300\" name=\"dmyarea\" style=\"width:450px;height:300px;zoom:1;\">";
	//writeDivHTML( getDivFromName("dummyarea_"+id), true, true, tip2 );
	//ダミー領域を表示する
	//czMov( "dummyarea_"+id, divMapX[id], divMapY[id] , null, 850 );
	//czVisibility( "dummyarea_"+id, true );
}

// パラメータの値を取得（GET送信のみ対応）
function getParameter(key, tmp1, tmp2, xx1, xx2, xx3) {
	if(null == tmp1) tmp1 = location.search.replace("?", "&");
	len = tmp1.length;
	tmp1 = tmp1.substring(1, len) + "&";

	xx1 = 0;
	xx2 = 0;
	len = tmp1.length;
	while (xx1 < len) {
		xx2 = tmp1.indexOf("&", xx1);
		tmp2 = tmp1.substring(xx1, xx2);
		xx3 = tmp2.indexOf("=");
		if (tmp2.substring(0, xx3).toUpperCase() == key.toUpperCase()) {
			return(tmp2.substring(xx3 + 1, xx2 - xx1));
		}
		xx1 = xx2 + 1;
	}
	return("");
}

//mappleに必要なjsファイルなどを動的にロードする関数。(IEのみ)
function empryFunc(){}
function JsLoader(path)
{
		var js = document.createElement("script");
		js.type="text/javascript";
		js.charset="SHIFT-JIS";
		js.onreadystatechange = function()
		{
			if (js.readyState == 'loaded' || js.readyState == 'complete')
			{
				js.onreadystatechange = empryFunc;
				loadcount++;
				if(loadcount >= jsPath.length)
				{
					loadedflg = true;
					initCrossBrowserLib();		//ブラウザの判別
					//alert("colled initCrossBrowserLib 1058");
					return;
				}
				else
				{
					JsLoader(jsPath[loadcount]);
				}
			}

		}
		js.src=path;//+"?"+(new Date-0);
		document.getElementsByTagName('head')[0].appendChild(js);
}

//mappleに必要なcssファイルなどを動的にロードする関数。
function CssInclude()
{

	var cssPath = new Array();
	cssPath[0] = CSS_FILE_PATH+"map.css";
	cssPath[1] = CSS_FILE_PATH+"hdn.css";

	//印刷用のcssをブラウザごとに変更
	if(isIE())
	{
		cssPath[2] = CSS_FILE_PATH+"print.css";
	}
	else if(isSafali())
	{
		cssPath[2] = CSS_FILE_PATH+"print_sf.css";
	}
	else
	{
		cssPath[2] = CSS_FILE_PATH+"print_fx.css";
	}
	cssPath[3] = CSS_FILE_PATH+"thickbox.css";

	var media = new Array();
	media[0] = "";
	media[1] = "";
	media[2] = "print";
	media[3] = "all";
/*	
	if(isIE6())
	{
		cssPath[4] = CSS_FILE_PATH+"ie_print_alpha.css";
		media[4] = "print";
	}
*/
	for(var i = 0; i < cssPath.length;i++)
	{
		var cs = document.createElement("link");
		cs.rel="stylesheet";
		cs.type="text/css";
		cs.href=cssPath[i];
		//印刷設定用
		if(media[i] != "")
		{
			cs.media = media[i];
		}
		document.getElementsByTagName('head')[0].appendChild(cs);
	}
}

//地図を表示する部分のhtmlタグをjsで書き出す。
function setMapTags(maptype,option,id)
{
	var tagName = "drawmap_"+id;
	var obj = document.getElementById(tagName);


	var htmlTag =  "		<!--";
		htmlTag += "		表示ページパラメタ";
		htmlTag += "		実際はｈｉｄｄｅｎにして非表示にします";
		htmlTag += "		//-->";
		htmlTag += "		<form class=\"hdn\" method=\"get\" name=\"mapform_"+id+"\">";
		htmlTag += "		デバグ用にパラメタを表示させてあります<br>";
		htmlTag += "		<input type=\"hidden\" name=\"x\" value=\"\">";
		htmlTag += "		<input type=\"hidden\" name=\"y\" value=\"\">";
		htmlTag += "		<input type=\"hidden\" name=\"scl\" value=\"0\">";
		htmlTag += "		<input type=\"hidden\" name=\"clk\" value=\"\">";
		htmlTag += "		</form>";
/*
		htmlTag += "		<!--";
		htmlTag += "		○	8方向スクロール";
		htmlTag += "		※画像等に変更可能です";
		htmlTag += "		//-->";
		htmlTag += "		<div class=\"hdn\" id=\"scroll8_"+id+"\">";
		htmlTag += "		8方向地図移動<br>";
		htmlTag += "		<a href=\"javascript:scroll8('1','"+id+"')\">＼</a>";
		htmlTag += "		<a href=\"javascript:scroll8('2','"+id+"')\">↑</a>";
		htmlTag += "		<a href=\"javascript:scroll8('3','"+id+"')\">／</a>";
		htmlTag += "		<br>";
		htmlTag += "		<a href=\"javascript:scroll8('4','"+id+"')\">←</a>";
		htmlTag += "		&nbsp;　";
		htmlTag += "		<a href=\"javascript:scroll8('5','"+id+"')\">→</a>";
		htmlTag += "		<br>";
		htmlTag += "		<a href=\"javascript:scroll8('6','"+id+"')\">／</a>";
		htmlTag += "		<a href=\"javascript:scroll8('7','"+id+"')\">↓</a>";
		htmlTag += "		<a href=\"javascript:scroll8('8','"+id+"')\">＼</a>";
		htmlTag += "		</div>";
*/
		htmlTag += "		<!--";
		htmlTag += "		●	地図画像";
		htmlTag += "		//-->";
		htmlTag += "		<div class=\"hdn\" id=\"mainmap0_"+id+"\">";
		htmlTag += "		<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
		htmlTag += "			<tr>";
		htmlTag += "				<td class=\"td_map\"><img src=\""+IMG_FILE_PATH+"shim.gif\" alt=\"イメージ地図\" id=\"imgmap0_id"+id+"\" name=\"imgmap0_"+id+"\"></td>";
		htmlTag += "			</tr>";
		htmlTag += "		</table>";
		htmlTag += "		</div>";
//		htmlTag += "		<div class=\"hdn\" id=\"mainmap1_"+id+"\" ><img border=\"0\" id=\"imgmap1_id"+id+"\" name=\"imgmap1_"+id+"\" onMouseOver=\"czVisibility('dummydiv_"+id+"',false);\" onload=\"document.getElementsByName('mapform_"+id+"')[0].scl.value = mapCurScl["+id+"]; DspMap( '',"+id+" );\"></div>";
//		htmlTag += "		<div class=\"hdn\" id=\"mainmap2_"+id+"\" ><img border=\"0\" id=\"imgmap2_id"+id+"\" name=\"imgmap2_"+id+"\" onMouseOver=\"czVisibility('dummydiv_"+id+"',false);\" onload=\"document.getElementsByName('mapform_"+id+"')[0].scl.value = mapCurScl["+id+"]; DspMap( '',"+id+" );\"></div>";
		htmlTag += "		<div class=\"hdn\" id=\"mainmap1_"+id+"\" ><img border=\"0\" id=\"imgmap1_id"+id+"\" name=\"imgmap1_"+id+"\" onMouseOver=\"PlotIcon.initBloon("+id+");\" onload=\"document.getElementsByName('mapform_"+id+"')[0].scl.value = mapCurScl["+id+"]; DspMap( '',"+id+" );\" style=\"cursor:move;\"></div>";
		htmlTag += "		<div class=\"hdn\" id=\"mainmap2_"+id+"\" ><img border=\"0\" id=\"imgmap2_id"+id+"\" name=\"imgmap2_"+id+"\" onMouseOver=\"PlotIcon.initBloon("+id+");\" onload=\"document.getElementsByName('mapform_"+id+"')[0].scl.value = mapCurScl["+id+"]; DspMap( '',"+id+" );\" style=\"cursor:move;\"></div>";

		var slideStyle ="";
		if(isIE6())
		{
			slideStyle = "style='margin-top:-18px;' ";
		}

		htmlTag += "		<!--";
		htmlTag += "		○	スライダ背景";
		htmlTag += "		//-->";
		htmlTag += "		<div class=\"hdn notprint\" id=\"rail_"+id+"\">";
//		htmlTag += "		<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"317\">";
		htmlTag += "		<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\""+(getSlideWidth(maptype,id,mapWid[id]))+"\">";
		htmlTag += "			<tr>";
		htmlTag += "				<td>";
		htmlTag += "					<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"tbl_tool\">";
		htmlTag += "						<tr>";
		htmlTag += "							<td>";
		htmlTag += "							<div class=\"box_scale\" "+slideStyle+">";
		htmlTag += "								<span style=\"visibility:hidden\"><!--<img src=\""+IMG_FILE_PATH+"shim.gif\" alt=\"Scale\" border=\"0\">--></span>";
		htmlTag += "							</div>";
		htmlTag += "							</td>";
		htmlTag += "						</tr>";
		htmlTag += "					</table>";
		htmlTag += "				</td>";
		htmlTag += "			</tr>";
		htmlTag += "		</table>";
		htmlTag += "		</div>";

		htmlTag += "		<!--";
		htmlTag += "			backボタン";
		htmlTag += "		//-->";
		htmlTag += "		<div width=\"24\" height=\"24\" class=\"hdn tbl_btn notprint\" id=\"backbtn_"+id+"\"";
		htmlTag += "		>";
		htmlTag += "		<div id=\"backdmybtn_"+id+"\"";
		htmlTag += "		 style=\"width:24px;height:24px;position:relative;zoom:1;top:6px;cursor: pointer;\"";
		htmlTag += "		 onmouseover=\"getTargetImg('backdmybtn_"+id+"','backimgbtn_"+id+"').src='"+IMG_FILE_PATH+"scale_back_hover.png';\"";
		htmlTag += "		 onmouseout=\"getTargetImg('backdmybtn_"+id+"','backimgbtn_"+id+"').src='"+IMG_FILE_PATH+"scale_back_up.png';\"";
		htmlTag += "		 onmousedown=\"getTargetImg('backdmybtn_"+id+"','backimgbtn_"+id+"').src='"+IMG_FILE_PATH+"scale_back_active.png';\"";
		htmlTag += "		 onclick=\"buttonclickHandle(-1,'"+id+"');return false;\"";
		htmlTag += "		>";
		htmlTag += "		<img id=\"backimgbtn_"+id+"\" style=\"width:24px;height:24px;position:relative;zoom:1;\" src=\""+IMG_FILE_PATH+"scale_back_up.png\">";
		htmlTag += "		</div>";
		htmlTag += "		</div>";

		htmlTag += "		<!--";
		htmlTag += "			nextボタン";
		htmlTag += "		//-->";
		htmlTag += "		<div width=\"24\" height=\"24\" class=\"hdn tbl_btn notprint\" id=\"nextbtn_"+id+"\"";
		htmlTag += "		>";
		htmlTag += "		<div id=\"nextdmybtn_"+id+"\"";
		htmlTag += "		 style=\"width:24px;height:24px;position:relative;zoom:1;top:6px;cursor: pointer;\"";
		htmlTag += "		 onmouseover=\"getTargetImg('nextdmybtn_"+id+"','nextimgbtn_"+id+"').src='"+IMG_FILE_PATH+"scale_next_hover.png';\"";
		htmlTag += "		 onmouseout=\"getTargetImg('nextdmybtn_"+id+"','nextimgbtn_"+id+"').src='"+IMG_FILE_PATH+"scale_next_up.png';\"";
		htmlTag += "		 onmousedown=\"getTargetImg('nextdmybtn_"+id+"','nextimgbtn_"+id+"').src='"+IMG_FILE_PATH+"scale_next_active.png';\"";
		htmlTag += "		 onclick=\"buttonclickHandle(1,'"+id+"');return false;\"";
		htmlTag += "		>";
		htmlTag += "		<img id=\"nextimgbtn_"+id+"\" style=\"width:24px;height:24px;position:relative;zoom:1;\" src=\""+IMG_FILE_PATH+"scale_next_up.png\">";
		htmlTag += "		</div>";
		htmlTag += "		</div>";

		htmlTag += "		<!--";
		htmlTag += "			linkボタン";
		htmlTag += "		//-->";
		htmlTag += "		<div class=\"hdn tbl_btn notprint\" id=\"linkbtn_"+id+"\" style=\"width:120px;margin-top:0px;margin-left:0px;zoom:1;\" width=\"105\" height=\"25\"";
		htmlTag += "		 onmouseover=\"getTargetImg('linkdmybtn_"+id+"','linkimgbtn_"+id+"').src='"+IMG_FILE_PATH+"scale_link_hover.png';\"";
		htmlTag += "		 onmouseout=\"getTargetImg('linkdmybtn_"+id+"','linkimgbtn_"+id+"').src='"+IMG_FILE_PATH+"scale_link_up.png';\"";
		htmlTag += "		 onmousedown=\"getTargetImg('linkdmybtn_"+id+"','linkimgbtn_"+id+"').src='"+IMG_FILE_PATH+"scale_link_active.png';\"";
//		htmlTag += "		 onclick=\"linkclickHandle('"+BACKSLASH+"area/ssi/thickmap.html?keepThis=true&TB_iframe=true&modal=true&height=574&width=682'); return false;\"";
		htmlTag += "		>";
		htmlTag += "		<a id=\"linkdmybtn_"+id+"\" href=\""+BACKSLASH+"area/ssi/thickmap.html?opt="+option+"&id="+id+"&keepThis=true&modal=true&TB_iframe=true&height=574&width=682\" class=\"thickbox\" style=\"width:105px;height:25px;position:absolute;zoom:1;top:5px;left:5px;cursor: pointer;\">";
		htmlTag += "		<img id=\"linkimgbtn_"+id+"\" style=\"width:105px;height:25px;position:relative;zoom:1;\" src=\""+IMG_FILE_PATH+"scale_link_up.png\" >";
		htmlTag += "		</a>";
		htmlTag += "		</div>";

		htmlTag += "		<!--";
		htmlTag += "			emptyボタン";
		htmlTag += "		//-->";
		htmlTag += "		<div class=\"hdn tbl_btn notprint\" id=\"emptybtn_"+id+"\" style=\"cursor:auto;width:110px;\" width=\"105\" height=\"25\">";
		htmlTag += "		</div>";

		htmlTag += "		<!--";
		htmlTag += "			detailemptyボタン";
		htmlTag += "		//-->";
		htmlTag += "		<div class=\"hdn tbl_btn notprint\" id=\"detailempty_"+id+"\" style=\"cursor:auto;width:10px;\" width=\"5\" height=\"25\">";
		htmlTag += "		</div>";

		htmlTag += "		<!--";
		htmlTag += "			都道府県ドロップダウン";
		htmlTag += "		//-->";
		htmlTag += "		<div class=\"hdn tbl_btn notprint\" id=\"areadrop_"+id+"\" style=\"cursor:auto;width:200px;\" width=\"195\" height=\"25\">";
		htmlTag += "		<select style=\"margin-top:8px;margin-left:2px;width:190px;height:19px;letter-spacing:0;\" id=\"areaselect_"+id+"\" onChange=\"areaChangeHandle("+id+");return false;\">";
		htmlTag += "		<option value=\"\">都道府県を選択してください</option>";


		var areaJsn = areaJsonObj[id];
//alert(areaJsn);
		if(areaJsn != null && areaJsn != undefined &&  typeof(areaJsn[0]) == "object")
		{
			for(var i = 0; i < areaJsn.length;i++)
			{
				if (areaJsn[i]["id"].indexOf("area/") == 0) {
					htmlTag += "<option value=\""+areaJsn[i]["id"]+"\">"+areaJsn[i]["name"]+"</option>";
				}
			}
		}
		htmlTag += "		</select>";
		htmlTag += "		</div>";

		var slideWid = getSlideWidth(maptype,id,mapWid[id]);
		var slideDiv = slideWid /9;

		htmlTag += "		<!--";
		htmlTag += "		○	スライダ背景(定型スケールリンク)";
		htmlTag += "		//-->";
		htmlTag += "		<div class=\"hdn notprint\" id=\"rail2_"+id+"\">";
//		htmlTag += "		<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"317\">";
		htmlTag += "		<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\""+slideWid+"\">";
		htmlTag += "			<tr>";
		htmlTag += "				<td>";
		htmlTag += "					<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"tbl_tool2\">";
		htmlTag += "						<tr>";
//		htmlTag += "							<td>";
//		htmlTag += "								<span style=\"-moz-user-select:none\"><img width=\"1\" height=\"16\" src=\""+IMG_FILE_PATH+"shim.gif\" alt=\"スケールを変更します\" border=\"0\"></span>";
//		htmlTag += "							</td>";
		htmlTag += "							<td>";
		htmlTag += "								<a id=\"scllink1_"+id+"\" href=\"javascript:ChScale('200000','"+id+"')\"><span style=\"-moz-user-select:none\"><img width=\""+slideDiv+"\" height=\"16\" src=\""+IMG_FILE_PATH+"shim.gif\" alt=\"200km\" border=\"0\"></span></a>";
		htmlTag += "							</td>";
		htmlTag += "							<td>";
		htmlTag += "								<a id=\"scllink2_"+id+"\" href=\"javascript:ChScale('100000','"+id+"')\"><span style=\"-moz-user-select:none\"><img width=\""+slideDiv+"\" height=\"16\" src=\""+IMG_FILE_PATH+"shim.gif\" alt=\"100km\" border=\"0\"></span></a>";
		htmlTag += "							</td>";
		htmlTag += "							<td>";
		htmlTag += "								<a id=\"scllink3_"+id+"\" href=\"javascript:ChScale('20000','"+id+"') \"><span style=\"-moz-user-select:none\"><img width=\""+slideDiv+"\" height=\"16\" src=\""+IMG_FILE_PATH+"shim.gif\" alt=\"20km\" border=\"0\"></span></a>";
		htmlTag += "							</td>";
		htmlTag += "							<td>";
		htmlTag += "								<a id=\"scllink4_"+id+"\" href=\"javascript:ChScale('10000','"+id+"') \"><span style=\"-moz-user-select:none\"><img width=\""+slideDiv+"\" height=\"16\" src=\""+IMG_FILE_PATH+"shim.gif\" alt=\"10km\" border=\"0\"></span></a>";
		htmlTag += "							</td>";
		htmlTag += "							<td>";
		htmlTag += "								<a id=\"scllink5_"+id+"\" href=\"javascript:ChScale('5000','"+id+"')  \"><span style=\"-moz-user-select:none\"><img width=\""+slideDiv+"\" height=\"16\" src=\""+IMG_FILE_PATH+"shim.gif\" alt=\"5km\" border=\"0\"></span></a>";
		htmlTag += "							</td>";
		htmlTag += "							<td>";
		htmlTag += "								<a id=\"scllink6_"+id+"\" href=\"javascript:ChScale('2500','"+id+"')  \"><span style=\"-moz-user-select:none\"><img width=\""+slideDiv+"\" height=\"16\" src=\""+IMG_FILE_PATH+"shim.gif\" alt=\"2.5km\" border=\"0\"></span></a>";
		htmlTag += "							</td>";
		htmlTag += "							<td>";
		htmlTag += "								<a id=\"scllink7_"+id+"\" href=\"javascript:ChScale('1000','"+id+"')  \"><span style=\"-moz-user-select:none\"><img width=\""+slideDiv+"\" height=\"16\" src=\""+IMG_FILE_PATH+"shim.gif\" alt=\"1km\" border=\"0\"></span></a>";
		htmlTag += "							</td>";
		htmlTag += "							<td>";
		htmlTag += "								<a id=\"scllink8_"+id+"\" href=\"javascript:ChScale('500','"+id+"')   \"><span style=\"-moz-user-select:none\"><img width=\""+slideDiv+"\" height=\"16\" src=\""+IMG_FILE_PATH+"shim.gif\" alt=\"500m\" border=\"0\"></span></a>";
		htmlTag += "							</td>";
		htmlTag += "							<td>";
		htmlTag += "								<a id=\"scllink9_"+id+"\" href=\"javascript:ChScale('250','"+id+"')   \"><span style=\"-moz-user-select:none\"><img width=\""+slideDiv+"\" height=\"16\" src=\""+IMG_FILE_PATH+"shim.gif\" alt=\"250m\" border=\"0\"></span></a>";
		htmlTag += "							</td>";
//		htmlTag += "							<td>";
//		htmlTag += "								<span style=\"-moz-user-select:none\"><img width=\""+(slideDiv-1)+"\" height=\"16\" src=\""+IMG_FILE_PATH+"shim.gif\" alt=\"スケールを変更します\" border=\"0\"></span>";
//		htmlTag += "							</td>";
		htmlTag += "<!--";
		htmlTag += "							<td>";
		htmlTag += "							<div class=\"box_scale\">";
		htmlTag += "								<span style=\"visibility:hidden;display:none;\"><img src=\""+IMG_FILE_PATH+"scale_icon_up.png\" alt=\"Scale\" border=\"0\"></span>";
		htmlTag += "							</div>";
		htmlTag += "							</td>";
		htmlTag += "//-->";
		htmlTag += "						</tr>";
		htmlTag += "					</table>";
		htmlTag += "				</td>";
		htmlTag += "			</tr>";
		htmlTag += "		</table>";
		htmlTag += "		</div>";

		htmlTag += "		<!--";
		htmlTag += "		○	スライダ";
		htmlTag += "		//-->";
		htmlTag += "		<div class=\"hdn notprint\" id=\"slider_"+id+"\"";
		htmlTag += "		>";
		htmlTag += "			<span style=\"cursor:pointer;\" ";
		htmlTag += "			>";
		htmlTag += "				<div id=\"iconbtn_"+id+"\" width=\"13\" height=\"34\"";
		htmlTag += "				 onmouseover=\"getTargetImg('iconbtn_"+id+"','iconimgbtn_"+id+"').src='"+IMG_FILE_PATH+"scale_icon_hover.png';\"";
		htmlTag += "				 onmouseout=\"getTargetImg('iconbtn_"+id+"','iconimgbtn_"+id+"').src='"+IMG_FILE_PATH+"scale_icon_up.png';\"";
		htmlTag += "				 onmousedown=\"getTargetImg('iconbtn_"+id+"','iconimgbtn_"+id+"').src='"+IMG_FILE_PATH+"scale_icon_active.png';\"";
		htmlTag += "				>";
		htmlTag += "					<img id=\"iconimgbtn_"+id+"\" src=\""+IMG_FILE_PATH+"scale_icon_up.png\" border=\"0\" width=\"13\" height=\"34\" alt=\"表示スケールを変更できます\" >";
		htmlTag += "				</div>";
		htmlTag += "			</span>";
		htmlTag += "		</div>";

		htmlTag += "		<!--";
		htmlTag += "		○	スケール表示";
		htmlTag += "		//-->";
		htmlTag += "		<div class=\"hdn notprint\" id=\"sclmeter_"+id+"\">";
		htmlTag += "		<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\""+getScaleElemWidth()+"\" style=\"width:"+getScaleElemWidth()+"px;\">";
		htmlTag += "			<tr>";
		htmlTag += "				<td>";
		htmlTag += "					<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"tbl_tool\">";
		htmlTag += "						<tr><form name=\"sclform_"+id+"\" onsubmit=\"return false;\">";
		htmlTag += "							<td>";
		htmlTag += "							<div class=\"box_width_out\">";
		htmlTag += "							<div class=\"box_width_in\">";
		htmlTag += "							<input type=\"text\" name=\"scl\" value=\"\" readonly size=\"3\">";
		htmlTag += "							</div>";
		htmlTag += "							</div>";
		htmlTag += "							</td>";
		htmlTag += "							<td class=\"td_tool_right\"><img src=\""+IMG_FILE_PATH+"shim.gif\" alt=\"\" width=\"5\" height=\"35\"></td>";
		htmlTag += "						</tr></form>";
		htmlTag += "					</table>";
		htmlTag += "				</td>";
		htmlTag += "			</tr>";
		htmlTag += "		</table>";
		htmlTag += "		</div>";
		htmlTag += "		<div class=\"hdn notprint\" id=\"scaleline_"+id+"\">";
		htmlTag += "			<img src=\""+IMG_FILE_PATH+"scaleline.png\" >";
		htmlTag += "		</div>";
/*
		htmlTag += "		<!--";
		htmlTag += "		◎	固定アイコン";
		htmlTag += "		//-->";
		htmlTag += "		<div class=\"hdn\" id=\"icn_"+id+"\"><img src=\""+IMG_FILE_PATH+"prot_pin_up.png\" width=\"12\" height=\"13\" border=\"0\"></div>";
*/
		htmlTag += "		<!--";
		htmlTag += "		◎	アイコンリンク";
		htmlTag += "		※アイコンリンクで共通して使用します";
		htmlTag += "		//-->";
		htmlTag += "		<div class=\"hdn\" id=\"dummydiv_"+id+"\" style=\"zoom:1;\"></div>";

		htmlTag += "		<div class=\"hdn\" id=\"extframe_"+id+"\" style=\"position:absolute; left:0px; top:0px\"><iframe class=\"hdn\" name=\"iframelist_"+id+"\" width=\"210\" height=\"220\"></iframe></div>";
//		htmlTag += "		<div class=\"hdn\" id=\"dsplist_"+id+"\"></div>";
	
//		htmlTag += "		<!--";
//		htmlTag += "			ダミー地図領域";
//		htmlTag += "		//-->";
//		htmlTag += "		<div class=\"hdn\" id=\"dummyarea_"+id+"\" style=\"width:450px;height:300px;zoom:1;\" width:\"450\" height:\"300\"></div>";

	
		htmlTag += "		<!--";
		htmlTag += "			背景領域";
		htmlTag += "		//-->";
		htmlTag += "		<div class=\"hdn tbl_background notprint\" id=\"slidebg_"+id+"\" style=\"width:"+mapWid[id]+"px;\"><img src=\""+IMG_FILE_PATH+"shim.gif\" alt=\"\" width=\""+mapWid[id]+"\" height=\"35\" /></div>";
	
		htmlTag += "		<!--";
		htmlTag += "			クリック禁止領域";
		htmlTag += "		//-->";
		htmlTag += "		<div class=\"hdn \" id=\"stopclick_"+id+"\" style=\"width:"+mapWid[id]+"px;height:"+mapHei[id]+"px;z-index:900;\"><img src=\""+IMG_FILE_PATH+"shim.gif\" alt=\"\" width=\""+mapWid[id]+"\" height=\""+mapHei[id]+"\" /></div>";

		htmlTag += "		<!--";
		htmlTag += "			デバッグ用";
		htmlTag += "		//-->";
		htmlTag += "		<div class=\"hdn \" id=\"dbgstr_"+id+"\" style=\"width:200px;height:20px;z-index:900;\"></div>";


		obj.innerHTML = htmlTag;
		jQuery(obj).wrapInner('<div id="drawmap_content_' + id + '">');
		obj = null;
}

function nextclip(clip)
{
	clip = clip.replace("rect(","");
	clip = clip.replace(")","");
	clip = clip.replace("px","");

	var clipary = clip.split(" ");
	for(var i = 0; i < clipary.length;i++)
	{
		clipary[i] -= 5;
	}
	
	return "rect("+clipary.join("px ")+")";

}
//ie6かチェックする関数
//ie6以下::true
//ie7以上orそれ以外のブラウザ::false
function isIE6()
{
	if(	document != null && document != undefined && 
		document.documentElement != null && document.documentElement != undefined && 
		document.documentElement.style != null && document.documentElement.style != undefined )
	{
		if(typeof document.documentElement.style.maxHeight == "undefined")
		{
			return true;
		}
		else
		{
			return false;
		}
	}

	return false;
}
//ie7かチェックする関数
//ie7::true
//ie7以外::false
function isIE7()
{
	var strUA = "";
	strUA = navigator.userAgent.toLowerCase();
	if(strUA.indexOf("msie 7.0") > -1)
	{
		return true;
	}
	else
	{
		return false;
	}
	return false;
}

//ieかチェックする関数
//ie::true
//ie以外::false
function isIE()
{
	var strUA = "";
	strUA = navigator.userAgent.toLowerCase();
	if(strUA.indexOf("msie") != -1)
	{
		return true;
	}
	else
	{
		return false;
	}
	return false;
}
//safariかチェックする関数
//safari::true
//safari以外::false
function isSafali()
{
	var strUA = "";
	strUA = navigator.userAgent.toLowerCase();
	if(strUA.indexOf("safari") != -1)
	{
		return true;
	}
	else
	{
		return false;
	}
	return false;
}
//firefoxかチェックする関数
//firefox::true
//firefox以外::false
function isFox()
{

	var strUA = "";
	strUA = navigator.userAgent.toLowerCase();
	if(strUA.indexOf("firefox") != -1)
	{
		return true;
	}
	else
	{
		return false;
	}
	return false;
}
//macかチェックする関数
//mac::true
//mac以外::false
function isMac()
{
	if(navigator.platform.indexOf("Mac") != -1)
	{
		return true;
	}
	else
	{
		return false;
	}
}
//macのsafariかチェックする関数
//macSafari::true
//macSafari以外::false
function isMacSafali()
{
	if(isMac())
	{
		if(isSafali())
		{
			return true;
		}
	}
	return false;
}
//macのfirefoxかチェックする関数
//macFirefox::true
//macFirefox以外::false
function isMacFox()
{
	if(isMac())
	{
		if(isFox())
		{
			return true;
		}
	}
	return false;
}
//Macの場合にDivの位置と倍率を取り出す関数。
function getDivPosByMac(target,id)
{
	var obj = new Object();

	//一時的にスクロールバーを0にする
	var tmpscrollx = $("body").scrollLeft();
	var tmpscrolly = $("body").scrollTop();
	$("body").scrollLeft(0);
	$("body").scrollTop(0);

	//0の時の座標をそれぞれ取りだす。
	obj.scl = $("#ruler_"+id).offset().left;
	obj.sclLeft = $(target).offset().left;
	obj.sclTop = $(target).offset().top;

	//スクロールバーを元の位置に戻す
	$("body").scrollLeft(tmpscrollx);
	$("body").scrollTop(tmpscrolly);

	//sclを調整。(倍率が100%の時に1,110%の時に1.1になるようにする)
	obj.scl = -obj.scl / 1000;


	//sclで割ることで、正しい座標になる。
	obj.left = parseInt(obj.sclLeft / obj.scl);
	obj.top = parseInt(obj.sclTop / obj.scl);

	return obj;
}

//imgタグに割り振られるsrcを取り出す。
//ie6とそれ以外で取り出し方が変わる。
function getTargetImg(eleid,targetid)
{
	var obj = null;
	if(isIE6())
	{
		obj = document.getElementById(eleid);
		if(obj.children.length>1)
		{
			obj = obj.children[1];
			if(obj.children.length>0)
			{
				obj = obj.children[0];
			}
		}

	}
	else
	{
		obj = document.getElementById(targetid);
	}
	return obj;
}

//都道府県が選択されたときに実行される関数
//その都道府県のjsonデータが持つ緯度経度拡縮率になる
function areaChangeHandle(mapid)
{
	var obj = document.getElementById("areaselect_"+mapid);
	var indx = obj.selectedIndex;
	var id = "";
	if(indx != 0)
	{
		id = obj.options[indx].value;
	}
	if(id != "")
	{
		var area = getAreaJsonById(id,mapid);
		document.getElementsByName("mapform_"+mapid)[0].x.value = area["x"];
		document.getElementsByName("mapform_"+mapid)[0].y.value = area["y"];
		ChScale(area["s"],mapid);
	}
}

//スクロール上リンクボタンがクリックされたときに呼ばれる関数
//lightbox的にページを開く
function linkclickHandle(link,id)
{
	document.getElementById('linkdmybtn'+id).location.replace(link);
}

//-または+ボタンがクリックされたときに呼ばれる関数
//地図の中心を拡大縮小する。
function buttonclickHandle(delta,id)
{
	var pos= new Object();
	pos.x = mapCurX[id];
	pos.y = mapCurY[id];
	scaleByMousePos(delta,pos,id);
}

//マウスホイール変更時に呼ばれる関数
function handle(delta,mousepos,event) {



	var tmpmousepos = new Object();
	for(var i =0; i < divMapX.length;i++)
	{
//alert("ind "+i);
	//divの存在チェック
	var divElem = document.getElementById("dummydiv_"+i);
	if(divElem == null || divElem == undefined){continue;}

		if(divMapX[i] == null || divMapX[i] == undefined){continue;}
//alert("ok "+i);
		//マウスが地図画像上にあるか調べる。
		tmpmousepos.x =  mousepos.x - divMapX[i];
		tmpmousepos.y =  mousepos.y - divMapY[i];

		if(	tmpmousepos.x >= 0 && tmpmousepos.x <= mapWid[i] &&
			tmpmousepos.y >= 0 && tmpmousepos.y <= mapHei[i])
		{
			//地図画像上にある場合、
			//カーソルの位置を中心、ホイールの方向に拡大したり縮小する。
			scaleByMousePos(delta,tmpmousepos,i);

			//他の部分のマウススクロール禁止
			if(event.preventDefault)
			{
				event.preventDefault();
			}
			event.returnValue = false;

		}
	}

}

function scaleByMousePos(delta,mousepos,id)
{
		var tmpScl = parseInt(mapCurScl[id],10);
		var SclIndx = 0;

		var backSclIndx = 0;
		var nextSclIndx = 0;
//alert(tmpScl+","+mapCurScl[id]);
		for(var i = 1; i < scaleAry.length;i++)
		{
			beforeScl = parseInt(scaleAry[i-1],10);
			afterScl = parseInt(scaleAry[i],10);

			if(beforeScl > tmpScl && tmpScl > afterScl)
			{
				backSclIndx = (i-1);
				nextSclIndx = (i);
				break;
			}
			else if(beforeScl == tmpScl && (i-1) == 0)
			{
				backSclIndx = -1;
				nextSclIndx = 1;
				break;
			}
			else if(afterScl == tmpScl)
			{
				backSclIndx = (i-1);
				nextSclIndx = (i+1);
				break;
			}
		}

		if (delta < 0)
			SclIndx = backSclIndx;
		else
			SclIndx = nextSclIndx;


		if(SclIndx != -1 && SclIndx != scaleAry.length)
		{

			czVisibility("dummydiv_"+id,false);
			var refBLX = new refvar();
			var refBLY = new refvar();
			CMBLPixel.pixeltoBL(mapCurX[id], mapCurY[id], mapCurScl[id], 3, mapWid[id], mapHei[id], mousepos.x, mousepos.y, refBLX, refBLY);

			document.getElementsByName("mapform_"+id)[0].x.value = refBLX.value;
			document.getElementsByName("mapform_"+id)[0].y.value = refBLY.value;
//			RemoveIcons(id);
//			PlotIcon.initBloon(id);
			ChScale(scaleAry[SclIndx],id);

		}

}
//mouseposを中心に拡大縮小する
function scaleByMousePos2(delta,mousepos,id)
{
		var tmpScl = mapCurScl[id];
		var SclIndx = 0;

		var backSclIndx = 0;
		var nextSclIndx = 0;
		var subScl = parseInt(scaleAry[0],10) - tmpScl;
		for(var i = 1; i < scaleAry.length; i++)
		{
			var tmpSub =  parseInt(scaleAry[i],10) - tmpScl;
			if(Math.abs(subScl) > Math.abs(tmpSub))
			{
//alert((i-1)+" "+Math.abs(subScl)+","+(i)+" "+Math.abs(tmpSub)+"\n tmpScl"+tmpScl);
					if(tmpSub != 0)
					{
						backSclIndx = i-1;
						nextSclIndx = i;
					}
					else if(i != (scaleAry.length-1))
					{
						backSclIndx = i-1;
						nextSclIndx = i+1;
					}
					else
					{
						nextSclIndx = (scaleAry.length);
						backSclIndx = (scaleAry.length-2);
					}
			}
			subScl = tmpSub;
		}
//alert(backSclIndx+","+nextSclIndx);
		if(backSclIndx == 0 && nextSclIndx ==0)
		{
			nextSclIndx = 1;
			backSclIndx = -1;
		}

		if (delta < 0)
			SclIndx = backSclIndx;
		else
			SclIndx = nextSclIndx;

		if(SclIndx != -1 && SclIndx != scaleAry.length)
		{

			//czVisibility("dummydiv_"+id,false);
			var refBLX = new refvar();
			var refBLY = new refvar();
			CMBLPixel.pixeltoBL(mapCurX[id], mapCurY[id], mapCurScl[id], 3, mapWid[id], mapHei[id], mousepos.x, mousepos.y, refBLX, refBLY);

			document.getElementsByName("mapform_"+id)[0].x.value = refBLX.value;
			document.getElementsByName("mapform_"+id)[0].y.value = refBLY.value;
			RemoveIcons(id);
//			PlotIcon.initBloon(id);
			ChScale(scaleAry[SclIndx],id);

		}
}

//マウスホイールが動いたときに呼ばれる関数
function wheel(event){
	//動いた方向
	var delta = 0;

	//eventオブジェクト収得
	var eventobj = event;
	if (!event) event = window.event;

	//特定の場合、スクロールせずに終了する。
	//firefoxのみスクロールするときにマウスが乗っているオブジェクトがhtmlタグの場合
	if(event.target)
	{
		if(event.target.nodeName == "HTML" )
		{
			return;
		}
	}

	//eventオブジェクトから動いた方向を取り出す。
	if (event.wheelDelta) {
		delta = event.wheelDelta/120; 
	} else if (event.detail) {
		delta = -event.detail/3;
	}

	//値があれば、現在のマウス座標と一緒に
	//拡大縮小するための関数を呼び出す。
	if (delta)
	{
		var mousepos = getMousePosition(eventobj);
		handle(delta,mousepos,event);
	}

}
//マウスの位置を設定
function getMousePosition(e) {
	var obj = new Object();

	if(e) {
		obj.x = e.pageX;
		obj.y = e.pageY;
	}
	else {


	if(document.compatMode && document.compatMode != "BackCompat")
	{
		obj.x = document.documentElement.scrollLeft+event.clientX;
		obj.y = document.documentElement.scrollTop+event.clientY;
	}
	else
	{
		obj.x = document.body.scrollLeft+event.clientX;
		obj.y = document.body.scrollTop+event.clientY;
	}
//			obj.x = window.event.x + document.body.scrollLeft;
//			obj.y = window.event.y + document.body.scrollTop;
//			alert(	obj.x+" = "+window.event.x+" + "+document.body.scrollLeft+" "+event.clientX+"\n"+
//					obj.y+" = "+window.event.y+" + "+document.body.scrollTop+" "+event.clientY+"\n");
	}

	return obj;
}




//画像幅の初期値
function getWidth(maptype)
{
	// ○ 地図画像横幅	※450に固定してます
	return 450;
}

//画像高さの初期値
function getHeight(maptype)
{
	// ○ 地図画像縦幅	※300に固定してます
	return 300;
}

//地図の初期表示経度を設定
function getCurrentX(id)
{
	if(mapTypeObj[id].startX != 0)
	{
		return mapTypeObj[id].startX;
	}
	else
	{
		return DEFAULT_MAP_SETTING.x;
	}
//	return 1;
}
//地図の初期表示緯度を設定
function getCurrentY(id)
{
	if(mapTypeObj[id].startY != 0)
	{
		return mapTypeObj[id].startY;
	}
	else
	{
		return DEFAULT_MAP_SETTING.y;
	}
//	return 1;
}
//地図の初期表示スケールを設定
function getCurrentScl(maptype,id,option)
{
	if(mapTypeObj[id].startSCL != 0)
	{
		return mapTypeObj[id].startSCL;
	}
	else
	{
		return 726;
	}
//	return 2500000;
}

//スライダーの高さ
function getSlideHeight(maptype)
{
	return 36;
}
//スライダーの幅
function getSlideWidth(maptype,id,mapWidth)
{
	//スライダーの右端に物(大きい地図へのリンクなど)が無い場合、
	//全体幅-拡縮率表示域-ーボタン表示域-＋ボタン表示域

	var slidewidth = mapWidth - getScaleElemWidth() - getBackButtonWidth() - getNextButtonWidth();

	//スライダーの右端に何かある場合
	//さらに-右端の物域
	//if(mapTypeObj[id].sliderType != SLIDER_NONE)
	{
		slidewidth -= getSliderRightWidth(id);
	}
	return slidewidth;

	//return 200;
}

//スケール単位のx座標
function getScaleElemX(id)
{
	//return divMapX[id] + 379;
	return divMapX[id] ;
}

//スケール単位の幅
function getScaleElemWidth()
{
//	return 93;
	return 5; // スケール表示を消してみているので (2010-08-02)
}

//backボタンの幅
function getBackButtonWidth()
{
	return 24;
}

//nextボタンの幅
function getNextButtonWidth()
{
	return 24;
}

//スケールアイコンの幅
function getScaleIconWidth()
{
	return 13;
}

//右端の物の幅
function getSliderRightWidth(id)
{
	if(mapTypeObj[id].sliderType == SLIDER_NONE)
	{
		return 10;
	}
	else if(mapTypeObj[id].sliderType == SLIDER_BIGLINK)
	{
		return 120;
	}
	else if(mapTypeObj[id].sliderType == SLIDER_DROPDOWN)
	{
		return 200;
	}
	else
	{
		return 110;
	}
}

//右端の物のidを収得
function getSliderRightId(id)
{
	var ret = "";
	switch(mapTypeObj[id].sliderType)
	{
		case SLIDER_BIGLINK:
			ret = "linkbtn_"+id;
		break;
		case SLIDER_DROPDOWN:
			ret = "areadrop_"+id;
		break;
		case SLIDER_EMPTY:
			ret = "emptybtn_"+id;
		break;
		case SLIDER_NONE:
			ret = "detailempty_"+id;
		break;
	}

	return ret;
}

//ie6のみ印刷時に実行
function onBeforePrintHandle()
{

	for(var i = 0; i < divMapX.length;i++)
	{
		if(divMapX[i] == null || divMapX[i] == undefined){continue;}
		var diffX = (divMapX[i]);
		var diffY = (divMapY[i]-45);


		
		czMov( "mainmap0_"+i, (diffX) -1, (diffY) - 1, null, 821 );
		if(b2ndMap[i])
		{
			czMov( "mainmap2_"+i, (diffX), (diffY), null, 820 );
		}
		else
		{
			czMov( "mainmap1_"+i, (diffX), (diffY), null, 820 );
		}
		tmpPrint[i] = document.getElementById("sclmeter_"+i).innerHTML;
		document.getElementById("sclmeter_"+i).innerHTML = "";
	}
}
//ie6のみ印刷後に実行
function onAfterPrintHandle()
{

	for(var i = 0; i < divMapX.length;i++)
	{
		if(divMapX[i] == null || divMapX[i] == undefined){continue;}

		czMov( "mainmap0_"+i, divMapX[i] -1, divMapY[i] - 1, null, 800 );
		if(b2ndMap[i])
		{
			czMov( "mainmap2_"+i, divMapX[i], divMapY[i], null, 820 );
		}
		else
		{
			czMov( "mainmap1_"+i, divMapX[i], divMapY[i], null, 820 );
		}
		document.getElementById("sclmeter_"+i).innerHTML = tmpPrint[i];
		tmpPrint[i] = "";
	}

}

//地図の表示非表示を切り替える関数
function visibleMap(id,visible,width,height,nodrawtarget)
{
	if(isHtmlError(id) == false)
	{
		resetLoading(id,visible,width,height,nodrawtarget);
	}
	if(mapTypeObj[id] == null || mapTypeObj[id] == undefined)
	{
		return;
	}
	if(frstAccess[id] == true)
	{
		visible = false;
	}

	czVisibility('drawmap_'+id,visible);
	if(visible)
	{
		setMouseWheel("drawmap_"+id);
		//RemoveIcons(id);
//alert(divMapX[id],divMapY[id]);
		resizeMap2(mapTypeObj[id].mapType,divMapX[id],divMapY[id],id);
		//htmlエラーが発生していない場合、地図をロードする
		if(isHtmlError(id) == false)
		{
			MapOnLoad(id);
		}
	}
	else
	{

		deleteMouseWheel("drawmap_"+id);
		RemoveIcons(id);


	}
}

function setMouseWheel(target)
{
	/* Initialization code. */
/*
	//window.addEventListener
	if (document.getElementById(target).addEventListener)
	{
		document.getElementById(target).addEventListener('DOMMouseScroll', wheel, false);
	}
	//window.onmousewheel = document.onmousewheel = wheel;
	document.getElementById(target).onmousewheel = wheel;
*/
}
function deleteMouseWheel(target)
{
	/* Initialization code. */
/*
	//window.addEventListener
	if (document.getElementById(target).removeEventListener)
	{
		document.getElementById(target).removeEventListener('DOMMouseScroll', wheel, false);
	}
	//window.onmousewheel = document.onmousewheel = null;
	document.getElementById(target).onmousewheel = null;
*/
}

function stopMouseWheel(target)
{
/*
	if (document.getElementById(target).addEventListener)
	{
		document.getElementById(target).addEventListener('DOMMouseScroll', wheelStop, false);
	}
	//window.onmousewheel = document.onmousewheel = wheelStop;
	document.getElementById(target).onmousewheel = wheelStop;
*/
}
function wheelStop(event)
{

	//eventオブジェクト収得
	var eventobj = event;
	if (!event) event = window.event;

	//特定の場合、スクロールせずに終了する。
	//firefoxのみスクロールするときにマウスが乗っているオブジェクトがhtmlタグの場合
	if(event.target)
	{
		if(event.target.nodeName == "HTML" )
		{
			return;
		}
	}
	//他の部分のマウススクロール禁止
	if(event.preventDefault)
	{
		event.preventDefault();
	}
	event.returnValue = false;
}

function loadStart(id,width,height)
{
//	czVisibility('drawmap_'+id,false);
//	czVisibility('loading_'+id,true);
//	czVisibility('loading_'+id,tabType[id]);
//alert(document.getElementById("loading_"+id));
	
	if(tabType[id] == false)
	{
		if(document.getElementById("loadingimg_"+id) == null || document.getElementById("loadingimg_"+id) == undefined)
		{
			return;
		}
		//ロード用の画像を地図配置する中心に動かす
		var icowid = document.getElementById("loadingimg_"+id).style.width.replace("px","");
		var icohei = document.getElementById("loadingimg_"+id).style.height.replace("px","");

		if(document.getElementById("loading_"+id) == null || document.getElementById("loading_"+id) == undefined)
		{
			return;
		}

		var scl = 1;
		if(isIE7())
		{
			if(browserScl[id] != undefined)
			{
				scl = browserScl[id];
			}
			else
			{
				scl = BAJL.GetGeometry.getZoomRatio();
			}
		}

//		document.getElementById("loading_"+id).style.top = (($(".mapping_target_"+id).offset().top/scl)+(height/2)-icohei)+"px";
//		document.getElementById("loading_"+id).style.left = (($(".mapping_target_"+id).offset().left/scl)+(width/2)-icowid)+"px";
		
		if(isMacSafali() == false)
		{
			document.getElementById("loading_"+id).style.top = parseInt(($(".mapping_target_"+id).offset().top/scl)+(height/2)-icohei)+"px";
			document.getElementById("loading_"+id).style.left = parseInt(($(".mapping_target_"+id).offset().left/scl)+(width/2)-icowid)+"px";
		}
		else
		{
			var obj = getDivPosByMac(".mapping_target_"+id,id);
			document.getElementById("loading_"+id).style.top = parseInt((obj.top)+(height/2)-icohei)+"px";
			document.getElementById("loading_"+id).style.left = parseInt((obj.left)+(width/2)-icowid)+"px";
		}
		
		if(document.defaultView != null && document.defaultView != undefined)
		{
			if(document.defaultView.getComputedStyle != null && document.defaultView.getComputedStyle != undefined)
			{
				display = document.defaultView.getComputedStyle(document.getElementById("gourmet-map-search"),"").display;
			}
			else
			{
				display = document.getElementById("gourmet-map-search").currentStyle.display;
			}
		}
		else
		{
			display = document.getElementById("gourmet-map-search").currentStyle.display;
		}
//alert(document.getElementById("gourmet-map-search")+" "+display+" "+document.getElementById('drawmap_'+id).style.visibility);
		if(display == "block")
		{
			document.getElementById("loading_"+id).style.visibility = "inherit";
		}
		else
		{
			document.getElementById("loading_"+id).style.visibility = "hidden";
		}
	}
}
function loadEnd(id)
{
//alert(
//		$(".mapping_target_"+id).offset().top+" \n"+
//		$("#gourmet-area-search > .area-list > .link-listA01").offset().top+" \n"+
//		$("div[id='gourmet-map-search'][class='pseudo-selected']").attr('id')+" \n"+
//		document.getElementById("gourmet-map-search").style.+"<-diplay \n"+
//		document.defaultView.getComputedStyle(document.getElementById("gourmet-map-search"),"").display+"<-diplay \n"+
//		$(".drawmap_"+id).offset().top+" \n"+
//		tabType[id]
//		);
//	resizeMap2(mapTypeObj[id].mapType,$(".mapping_target_"+id).offset().left,$(".mapping_target_"+id).offset().top,id);
	if(tabType[id] == false)
	{
		tabType[id] = true;
		var display = "";
		if(document.defaultView != null && document.defaultView != undefined)
		{
			if(document.defaultView.getComputedStyle != null && document.defaultView.getComputedStyle != undefined)
			{
				display = document.defaultView.getComputedStyle(document.getElementById("gourmet-map-search"),"").display;
			}
			else
			{
				display = document.getElementById("gourmet-map-search").currentStyle.display;
			}
		}
		else
		{
			display = document.getElementById("gourmet-map-search").currentStyle.display;
		}
		if(isHtmlError(id))
		{
			printErrorCode(mapTypeObj[id].mapType,id,divMapX[id],divMapY[id],mapWid[id],mapHei[id])
		}
		if(display == "block")
		{
			if(document.getElementById('drawmap_'+id) != null && document.getElementById('drawmap_'+id) != undefined)
			{
				czVisibility('drawmap_'+id,true);
				VisibleIcons(id);
			}
		}
		else
		{
			if(document.getElementById('drawmap_'+id) != null && document.getElementById('drawmap_'+id) != undefined)
			{
				czVisibility('drawmap_'+id,false);
				RemoveIcons(id);
			}
		}
			document.getElementById("loading_"+id).style.visibility = "hidden";

		$(window).triggerHandler("resize");
	}
	if(isHtmlError(id)==false)
	{
		setMapMove(id);
	}

}
function resetLoading(id,visible,width,height,nodrawtarget)
{

		var map_search = document.getElementById("gourmet-map-search");
		var loading = document.getElementById("loading_"+id);
		if(	map_search != null && map_search != undefined &&
			loading != null && loading != undefined)
		{
			if(	tabType[id] == false )
			{
//				var width = mapWid[id];
//				var height = mapHei[id];
//alert(id,width);

				if(document.defaultView != null && document.defaultView != undefined)
				{
					if(document.defaultView.getComputedStyle != null && document.defaultView.getComputedStyle != undefined)
					{
						display = document.defaultView.getComputedStyle(map_search,"").display;
					}
					else
					{
						display = map_search.currentStyle.display;
					}
				}
				else
				{
					display = map_search.currentStyle.display;
				}

		var icowid = document.getElementById("loadingimg_"+id).style.width.replace("px","");
		var icohei = document.getElementById("loadingimg_"+id).style.height.replace("px","");

				var scl = 1;
				if(isIE7())
				{
					scl = browserScl[id];
				}

/*
				if(display == "block")
				{
					loading.style.top = (($(".mapping_target_"+id).offset().top/scl)+(height/2)-icohei)+"px";
					loading.style.left = (($(".mapping_target_"+id).offset().left/scl)+(width/2)-icowid)+"px";
				}
				else
				{
					loading.style.top = (($(nodrawtarget).offset().top/scl)+(height/2)-icohei)+"px";
					loading.style.left = (($(nodrawtarget).offset().left/scl)+(width/2)-icowid)+"px";
				}
*/
				var target;
				if(display == "block")
				{
					target = (".mapping_target_"+id);
				}
				else
				{
					target = nodrawtarget;
				}

				var loadx,loady;
				if(isMacSafali() == false)
				{
					loady = $(target).offset().top/scl;
					loadx = $(target).offset().left/scl;
				}
				else
				{
					var obj = getDivPosByMac(target,id);
					loadx = obj.left;
					loady = obj.top;
				}

				loading.style.top = parseInt((loady)+(height/2)-icohei)+"px";
				loading.style.left = parseInt((loadx)+(width/2)-icowid)+"px";
				

//				if(display == "block" && visible != false)
				if(visible != false)
				{
					loading.style.visibility = "inherit";
				}
				else
				{
					loading.style.visibility = "hidden";
				}
			}
			else
			{
					loading.style.visibility = "hidden";
			}
		}
//alert(loading.style.visibility+"\n"+tabType[id]+"\n"+display+"\n"+visible+"\n"+map_search.className);
}

function resizeLoading(maptype,width,height,id)
{

	var loading = document.getElementById("loading_"+id);
	if(loading != null || loading != undefined)
	{
		var icowid = document.getElementById("loadingimg_"+id).style.width.replace("px","");
		var icohei = document.getElementById("loadingimg_"+id).style.height.replace("px","");

		var obj = $(".mapping_target_"+id).offset();

		var scl = 1;
		if(isIE7())
		{
			scl = browserScl[id];
		}
		else if(isMacSafali())
		{
			obj = getDivPosByMac(".mapping_target_"+id,id);
			scl = 1;
		}
		loading.style.top = parseInt((obj.top/scl)+(height/2)-icohei)+"px";
		loading.style.left = parseInt((obj.left/scl)+(width/2)-icowid)+"px";
	}
}
function setMapMove(id)
{
	mapMoving[id] = 0;
/*
	regDrag( "1",id );

	//スライダー表示状態の場合、有効化。
	if(mapTypeObj[id].sliderDraw == SLIDER_ON)
	{
		document.getElementById("backdmybtn_"+id).onclick = function(){buttonclickHandle(-1,id);return false;};
		document.getElementById("nextdmybtn_"+id).onclick = function(){buttonclickHandle(1,id);return false;};

		document.getElementById("scllink1_"+id).href ="javascript:ChScale('200000','"+id+"')";
		document.getElementById("scllink2_"+id).href ="javascript:ChScale('100000','"+id+"')";
		document.getElementById("scllink3_"+id).href ="javascript:ChScale('20000','"+id+"')";
		document.getElementById("scllink4_"+id).href ="javascript:ChScale('10000','"+id+"')";
		document.getElementById("scllink5_"+id).href ="javascript:ChScale('5000','"+id+"')";
		document.getElementById("scllink6_"+id).href ="javascript:ChScale('2500','"+id+"')";
		document.getElementById("scllink7_"+id).href ="javascript:ChScale('1000','"+id+"')";
		document.getElementById("scllink8_"+id).href ="javascript:ChScale('500','"+id+"')";
		document.getElementById("scllink9_"+id).href ="javascript:ChScale('250','"+id+"')";

		var InitSlidePos = GetSliderPosition( mapCurScl[id], divSlideLen[id] );
		czMov( "slider_"+id, divSlideX[id] + InitSlidePos-2, divSlideY[id]+3 , null, 840 );	//スライダ表示
		regSlider( divSlideLen[id], InitSlidePos, 0 ,id);
	}
*/

//alert(document.getElementById("stopclick_"+id).style.visibility);
	czVisibility("stopclick_"+id,false);
	setMouseWheel("drawmap_"+id);
}
function resetMapMove(id)
{
	mapMoving[id] = 1;
/*
	ech_detachMouseDrag(getDivFromName("mainmap1_"+id));
	ech_detachMouseDrag(getDivFromName("mainmap2_"+id));

	//スライダー表示状態の場合、無効化。
	if(mapTypeObj[id].sliderDraw == SLIDER_ON)
	{
		document.getElementById("backdmybtn_"+id).onclick = function(){return false;};
		document.getElementById("nextdmybtn_"+id).onclick = function(){return false;};

		document.getElementById("scllink1_"+id).href ="javascript:empryFunc()";
		document.getElementById("scllink2_"+id).href ="javascript:empryFunc()";
		document.getElementById("scllink3_"+id).href ="javascript:empryFunc()";
		document.getElementById("scllink4_"+id).href ="javascript:empryFunc()";
		document.getElementById("scllink5_"+id).href ="javascript:empryFunc()";
		document.getElementById("scllink6_"+id).href ="javascript:empryFunc()";
		document.getElementById("scllink7_"+id).href ="javascript:empryFunc()";
		document.getElementById("scllink8_"+id).href ="javascript:empryFunc()";
		document.getElementById("scllink9_"+id).href ="javascript:empryFunc()";

		var InitSlidePos = GetSliderPosition( mapCurScl[id], divSlideLen[id] );
		disableSlider( divSlideLen[id], InitSlidePos, 0 ,id);
	}
*/
czMov("stopclick_"+id,divMapX[id],divMapY[id],null,900);

	deleteMouseWheel("drawmap_"+id);
	stopMouseWheel("drawmap_"+id);
}
function isMapMove(id)
{
	if(mapMoving[id] == 1)
	{
		return true;
	}
	else
	{
		return false;
	}
}

// スライダの無効化
function disableSlider( lenbar, firstpoint, lab ,id)
{
	var objSlider = getDivFromName( "slider_"+id );
	Slider( objSlider, lab, lenbar, 0, ( lenbar - 1 ), firstpoint, empryFunc, null, empryFunc, null, empryFunc, null ,id);
}

