﻿var map;
var minX,minY,maxX,maxY;
var pm_view;

var pk_markers = new Array();		//表示中の周辺駐車場マーカーリスト
var already_markers = new Array();	//表示中のマーカーデータ
if($('pm_view')) pm_view=$('pm_view').value;

	// ↓↓↓csi test_add↓↓↓
	//var httpObj = false;
	//if(window.XMLHttpRequest) {
	//    // Firefox, Opera など
	//    httpObj = new XMLHttpRequest();
	//    httpObj.overrideMimeType('text/xml');
	//} else if(window.ActiveXObject) {
	//    // IE
	//    try {
	//        httpObj = new ActiveXObject('Msxml2.XMLHTTP');
	//    } catch (e) {
	//        httpObj = new ActiveXObject('Microsoft.XMLHTTP');
	//    }
	//}
	// ↑↑↑csi test_add↑↑↑↑


	//====================================================================
	// 処理名　　： Onloadイベント。地図を作成画面を読み込んでから実行
	// 関数名　　： onload
	// -------------------------------------------------------------------
	// 引数　　　： なし
	// 戻り値　　： なし
	// -------------------------------------------------------------------
	// 変更履歴　：  
	//====================================================================
	window.onload=function(){

		if($('pm_view')) pm_view=$('pm_view').value;

		//--------------------------------------------
		// GoogleMapオブジェクトの作成と初期位置のセット
		//--------------------------------------------
		map = new GMap2($("gmap"));
		map.setCenter(new GLatLng($("center_geo_x").value,$("center_geo_y").value), parseInt($("view_zoom").value), G_NORMAL_MAP);

		//--------------------------------------------
		// 上下左右への移動のためのコントロール追加
		//--------------------------------------------
		map.addControl(new GLargeMapControl());

		//--------------------------------------------
		// 地図に縮尺定規を表示するためのコントロール追加
		//--------------------------------------------
		map.addControl(new GScaleControl());

		//--------------------------------------------
		// 地図/写真を切り替えのためのコントロール追加
		//--------------------------------------------
		map.addControl(new GMapTypeControl());
		
		//ctrlObj = new GOverviewMapControl(new GSize(100,100));
		//map.addControl(ctrlObj);

		
		//--------------------------------------------
		// 現在のGoogleMap表示区域の取得
		//--------------------------------------------
		getCoordinates();

		//--------------------------------------------
		// addListener(GoogleMap座標移動時)イベントの作成
		//--------------------------------------------
		GEvent.addListener(map, "moveend", function() {
			//現在のGoogleMap表示区域の取得
			getCoordinates();
		});
	
		//--------------------------------------------
		// addListener(GoogleMapドラッグ終了時)イベントの作成
		//--------------------------------------------
		GEvent.addListener(map, "dragend", function() {

			//アイコンの表示と周辺駐車場取得
			viewIcon();

		});
	
		//--------------------------------------------
		// addListener(GoogleMapズーム完了時)イベントの作成
		//--------------------------------------------
		GEvent.addListener(map, "zoomend", function() {
			//アイコンの表示と周辺駐車場取得
			viewIcon();
			
//alert(already_markers.length +"\n"+ pk_markers.length );
			
		});
	
		//--------------------------------
		// GoogleMap再読込←必要？
		//--------------------------------
		load();
		aroundPark();
		//--------------------------------------------
		// 周辺のアイコンを表示
		//--------------------------------------------
		//2:イベント情報
		//3:生活情報
		//4:お店
		if($("flg").value==2 || $("flg").value==3 || $("flg").value==4){

			// 座標情報の取得
			minX = $("minX").value;
			minY = $("minY").value;
			maxX = $("maxX").value;
			maxY = $("maxY").value;
			
			// 表示対象のアイコン情報を(一括)取得
			pkView();
		}
	}
	
	//====================================================================
	// 処理名　　： 周辺の駐車場を取得
	// 関数名　　： aroundPark
	// -------------------------------------------------------------------
	// 引数　　　： なし
	// 戻り値　　： なし
	// -------------------------------------------------------------------
	// 変更履歴　：  
	//====================================================================
	function aroundPark() {
		//--------------------------------------------
		// ①現在表示されているマーカーのクリア
		//--------------------------------------------
		//clearMarker();
		
		//--------------------------------------------
		// ②現在チェックされている大分類コードを調べて基礎URL作成
		//--------------------------------------------
		url = "/map_search.json?cd=" + $("cd").value + "&flg=10&center_geo_x=" + $("center_geo_x").value + "&center_geo_y=" + $("center_geo_y").value;
		url += "&minx=" + $("minX").value + "&miny=" + $("minY").value + "&maxx=" + $("maxX").value + "&maxy=" + $("maxY").value;
		
		//駐車場絞り込み条件
		pk_condition = "";
		if( $("pk_card").checked ){
			pk_condition += "&pk_card=" + $("pk_card").value;
		}
		if( $("pk_24h").checked ){
			pk_condition += "&pk_24h=" + $("pk_24h").value;
	    }
	
		if( $("pk_high_roof").checked ){
			pk_condition += "&pk_high_roof=" + $("pk_high_roof").value;
		}
	
		if( $("pk_monthly").checked ){
			pk_condition += "&pk_monthly=" + $("pk_monthly").value;
		}
	
		if( $("pk_ad_flg").checked ){
			pk_condition += "&pk_ad_flg=" + $("pk_ad_flg").value;
		}
	
		if( $("pk_relation").checked ){
			pk_condition += "&pk_relation=" + $("pk_relation").value;
		}
	
		if( $("pk_bike").checked ){
			pk_condition += "&pk_bike=" + $("pk_bike").value;
		}
		
		if( $("pkf_long").checked ){
			pk_condition += "&pkf_long=" + $("pkf_long").value;
		}
		
		if( $("pkf_member").checked ){
			pk_condition += "&pkf_member=" + $("pkf_member").value;
		}
	
		if( pk_condition != "" ){
			pk_condition += "&pk_condition=1"
		}
		
		url += pk_condition;
	
//$("hoge").value = url;
		
		//--------------------------------------------
		// ③新しいXmlHttpRequestインスタンスの作成
		//  ※地図を表示すると同時に読込が行われるクラス
		//--------------------------------------------
		var httpObj = GXmlHttp.create();
		
		//--------------------------------------------
		// ④上記で作成したXmlHttpRequestインスタンス呼び出し
		//--------------------------------------------
		httpObj.open("get", url);
		
		//--------------------------------------------
		// ⑤onreadystatechange(送受信状態が変った時に起動する)イベントの作成
		//--------------------------------------------
		var strtext = "";
		httpObj.onreadystatechange = function() {
			if ((httpObj.readyState == 4) && (httpObj.status == 200)){		// アイコン情報取得に成功
				
				//--------------------------------
				// ⑤-1a 受信データの取得
				//--------------------------------
				strtext = httpObj.responseText;
				//alert("res["+strtext+"]");
									
				
				//--------------------------------
				// ⑤-1a 受信データの取得
				//--------------------------------
				strtext = httpObj.responseText;
//alert("res["+strtext+"]");
									
				
				//--------------------------------
				// ⑤-2a ブラウザがFireFoxの場合のみ
				//--------------------------------
				if(navigator.userAgent.indexOf("Firefox") >= 0){

					//なぜか取得情報が倍加しているので調整
					var intLength = strtext.length;
					intLength = intLength / 2;
					strtext = strtext.substring(0,intLength);

					if (strtext == "[][]"){
						//検索件数0件の場合のゴミ処理
						strtext = '[]';

					}else{
						//検索件数1件以上場合のゴミ処理
						if(strtext.indexOf("}]<br />") >= 0){
							//alert("length①["+strtext.length+"]");
							//strtext = window.prompt("response_text1("+strtext.length+")_",strtext);
							//alert("length②["+strtext.length+"]");
							//strtext = strtext.replace("<br />", "");
							strtext = strtext.substring(0,strtext.indexOf("<br />"));
							//alert("length③["+strtext.length+"]");
							//strtext = window.prompt("response_text2("+strtext.length+")_",strtext);
							//alert("length④["+strtext.length+"]");
						}
					}
				}
				
			
				//--------------------------------
				// ⑤-3a マーカー追加
				//--------------------------------
				if ((strtext.indexOf("[",0) == -1) || (strtext.indexOf("]",0) == -1) ){
					//引数不正
					//alert("ERROR:マーカー情報が不正のため追加できません。");
			
				}else{
					//引数正常
					//---------------------------------------
					// 引数値を元にarray変数宣言
					//---------------------------------------
					eval("var pointData = "+strtext);
					//---------------------------------------
					// 引数値を元に表示モード分岐
					//---------------------------------------
					//表示対象のアイコン情報数分LOOP
					for (var i=0; i<pointData.length; i++){
						
						skip_flg = 0;
						for( j = 0; j < pk_markers.length; j++ ){
							mPoint = pk_markers[j].getPoint();
//alert(mPoint.lng() + "/" + pointData[i].mark_geo_x);
							if( mPoint.lng() == pointData[i].mark_geo_y && mPoint.lat() == pointData[i].mark_geo_x ){
								skip_flg = 1;
								break;
							}
							
							//	map.removeOverlay(pk_markers[i]);
						}
						
						if( skip_flg == 1 ){ continue; }
						
						//---------------------------------------
						// X座標、Y座標の取得
						//---------------------------------------
						var mx = pointData[i].mark_geo_x;
						var my = pointData[i].mark_geo_y;
				
						//---------------------------------------
						// 新規マーカーオブジェクトの作成
						//---------------------------------------
						//駐車場アイコン。他社だったら他社用アイコンにする
						var park_icon = $("ico_aroundpark_id").value;
						if( pointData[i].pb_type == "1" ){
							park_icon = $("ico_othermanage_park_id").value;
						}
						var marker = new GMarker(new GLatLng(mx, my),{draggable: false, icon: addIcon(park_icon)});
						pk_markers[pk_markers.length] = marker;		//周辺駐車場リストに格納
						//---------------------------------------
						// 新規マーカー用フキダシ作成
						//---------------------------------------
							//駐車場の情報ウインドウURLの作成
							if( pointData[i].pk_tel != '' ){
								var html = "<div align=\"left\"><br><font size=\"+1\"><a href=\"/P" + pointData[i].pk_id + ".html\">" + pointData[i].pk_name + "</a></font><br>" + pointData[i].addr1 + pointData[i].addr2 + pointData[i].addr3 + "<br>TEL:" + pointData[i].pk_tel + "</div>";
							}else{
								var html = "<div align=\"left\"><br><font size=\"+1\"><a href=\"/P" + pointData[i].pk_id + ".html\">" + pointData[i].pk_name + "</a></font><br>" + pointData[i].addr1 + pointData[i].addr2 + pointData[i].addr3 + "</div>";
							}
							html += "<div align=\"left\">" + pointData[i].web_fee_string.replace(/(\n|\r)+/g,"<br>") + "</div>";
						//---------------------------------------
						// GoogleMapにマーカー追加
						//---------------------------------------
						map.addOverlay(addEvent(marker, html));
					}
				}
	
				//--------------------------------
				// ⑤-4a GoogleMap再読込
				//--------------------------------
				//load();

			}
		}
		//--------------------------------------------
		// ⑥データ送信
		//--------------------------------------------
		httpObj.send(null);

		//--------------------------------------------
		// ⑥周辺のアイコンを表示
		//--------------------------------------------
		//2:イベント情報
		//3:生活情報
		//4:お店
		if($("flg").value==2 || $("flg").value==3 || $("flg").value==4){
			
			// 座標情報の取得
			minX = $("minX").value;
			minY = $("minY").value;
			maxX = $("maxX").value;
			maxY = $("maxY").value;
			
			// 表示対象のアイコン情報を(一括)取得
			pkView();
		}
	}

	//====================================================================
	// 処理名　　： チェックボックスにチェックしたときに動く関数。
	// 関数名　　： viewIcon
	// -------------------------------------------------------------------
	// 引数　　　： なし
	// 戻り値　　： なし
	// -------------------------------------------------------------------
	// 変更履歴　：  
	//====================================================================
	function viewIcon() {
		
		//--------------------------------------------
		// ①現在表示されているマーカーのクリア
		//--------------------------------------------
		//clearMarker();
		
		//--------------------------------------------
		// ②現在チェックされている大分類コードを調べて基礎URL作成
		//--------------------------------------------
		var url=g1Check();
		url += g2Check();			//中ジャンル生成
		url += serviceCheck();		//サービス生成
		
		//--------------------------------------------
		// ③新しいXmlHttpRequestインスタンスの作成
		//  ※地図を表示すると同時に読込が行われるクラス
		//--------------------------------------------
		var httpObj = GXmlHttp.create();
		
		//--------------------------------------------
		// ④上記で作成したXmlHttpRequestインスタンス呼び出し
		//--------------------------------------------
		httpObj.open("get", url);
		
		//--------------------------------------------
		// ⑤onreadystatechange(送受信状態が変った時に起動する)イベントの作成
		//--------------------------------------------
		var strtext = "";
		httpObj.onreadystatechange = function() {
			if ((httpObj.readyState == 4) && (httpObj.status == 200)){		// アイコン情報取得に成功
				
				//--------------------------------
				// ⑤-1a 受信データの取得
				//--------------------------------
				strtext = httpObj.responseText;
				//alert("res["+strtext+"]");
									
				
				//--------------------------------
				// ⑤-2a ブラウザがFireFoxの場合のみ
				//--------------------------------
				if(navigator.userAgent.indexOf("Firefox") >= 0){

					//なぜか取得情報が倍加しているので調整
					var intLength = strtext.length;
					intLength = intLength / 2;
					strtext = strtext.substring(0,intLength);

					if (strtext == "[][]"){
						//検索件数0件の場合のゴミ処理
						strtext = '[]';

					}else{
						//検索件数1件以上場合のゴミ処理
						if(strtext.indexOf("}]<br />") >= 0){
							//alert("length①["+strtext.length+"]");
							//strtext = window.prompt("response_text1("+strtext.length+")_",strtext);
							//alert("length②["+strtext.length+"]");
							//strtext = strtext.replace("<br />", "");
							strtext = strtext.substring(0,strtext.indexOf("<br />"));
							//alert("length③["+strtext.length+"]");
							//strtext = window.prompt("response_text2("+strtext.length+")_",strtext);
							//alert("length④["+strtext.length+"]");
						}
					}
				}
				
				//--------------------------------
				// ⑤-3a マーカー追加
				//--------------------------------
				addMarker(strtext,1);
				//--------------------------------
				// ⑤-4a GoogleMap再読込
				//--------------------------------
				//load();

			}
		}
	
		//--------------------------------------------
		// ⑥データ送信
		//--------------------------------------------
		httpObj.send(null);

		//--------------------------------------------
		// ⑥周辺のアイコンを表示
		//--------------------------------------------
		//2:イベント情報
		//3:生活情報
		//4:お店
		if($("flg").value==2 || $("flg").value==3 || $("flg").value==4){
			
			// 座標情報の取得
			minX = $("minX").value;
			minY = $("minY").value;
			maxX = $("maxX").value;
			maxY = $("maxY").value;
			
			// 表示対象のアイコン情報を(一括)取得
			pkView();
		}
		
		//周辺駐車場再読み込み
		aroundPark();
		
	}

	//====================================================================
	// 処理名　　： 駐車場コード、大分類フラグを元に表示対象アイコン情報取得
	// 関数名　　： pkView()
	// -------------------------------------------------------------------
	// 引数　　　： なし
	// 戻り値　　： なし
	// -------------------------------------------------------------------
	// 変更履歴　：  
	//====================================================================
	function pkView(){
		//var url = "/map_search.json?cd=" + $("cd").value + "&flg=" + $("flg").value + "&center_geo_x=" + $("center_geo_x").value + "&center_geo_y=" + $("center_geo_y").value;
		var url = "";
		var strtext = "";

		//--------------------------------------------
		// ①アイコン情報取得用URL作成
		//--------------------------------------------
		url += "/map_search.json?cd=" + $("cd").value + "&flg=" + $("flg").value + "&center_geo_x=" + $("center_geo_x").value + "&center_geo_y=" + $("center_geo_y").value;
		url += "&minx=" + minX + "&miny=" + minY + "&maxx=" + maxX + "&maxy=" + maxY;
		//alert("pkView(" + $("flg").value + ")=[" + url + "]");
		
		
		//--------------------------------------------
		// ②新しいXmlHttpRequestインスタンスの作成
		//  ※地図を表示すると同時に読込が行われるクラス
		//--------------------------------------------
		var httpObj = GXmlHttp.create();
		
		//--------------------------------------------
		// ③上記で作成したXmlHttpRequestインスタンス呼び出し
		//--------------------------------------------
		//httpObj.overrideMimeType( "text/xml" );
		httpObj.open("get", url);
		
		//--------------------------------------------
		// ④onreadystatechange(送受信状態が変った時に起動する)イベントの作成←毎回作る必要あるの？
		//--------------------------------------------
		httpObj.onreadystatechange = function() {
			if ((httpObj.readyState == 4) && (httpObj.status == 200)){
				
				//受信データ取得
				strtext = httpObj.responseText;
				
				//strtext = window.prompt("response_park("+strtext.length+")_",strtext);
				
				// ブラウザがFireFoxの場合のみ
				if(navigator.userAgent.indexOf("Firefox") >= 0){

					//なぜか取得情報が倍加しているので調整
					var intLength = strtext.length;
					intLength = intLength / 2;
					strtext = strtext.substring(0,intLength);

					if (strtext == "[][]"){
						//検索件数0件の場合のゴミ処理
						strtext = '[]';

					}else{
						//検索件数1件以上場合のゴミ処理
						if(strtext.indexOf("}]<br />") >= 0){
							//alert("length①["+strtext.length+"]");
							//strtext = window.prompt("response_text1("+strtext.length+")_",strtext);
							//alert("length②["+strtext.length+"]");
							//strtext = strtext.replace("<br />", "");
							strtext = strtext.substring(0,strtext.indexOf("<br />"));
							//alert("length③["+strtext.length+"]");
							//strtext = window.prompt("response_text2("+strtext.length+")_",strtext);
							//alert("length④["+strtext.length+"]");
						}
					}
				}

				
				//マーカー追加
				addMarker(strtext,0);
				
				//load();
			}
		}

		//--------------------------------------------
		// ⑤データ送信
		//--------------------------------------------
		httpObj.send(null);
		
	}

	//====================================================================
	// 処理名　　： 自アイコンの表示
	// 関数名　　： load()
	// -------------------------------------------------------------------
	// 引数　　　： なし
	// 戻り値　　： なし
	// -------------------------------------------------------------------
	// 変更履歴　：  
	//====================================================================
	function load() {
	}

	//====================================================================
	// 処理名　　： マーカーをすべて削除
	// 関数名　　： clearMarker()
	// -------------------------------------------------------------------
	// 引数　　　： なし
	// 戻り値　　： なし
	// -------------------------------------------------------------------
	// 変更履歴　：  
	//====================================================================
	function clearMarker(){
		// オールクリア
		map.clearOverlays();
		
		// 自アイコンの表示
		load();
	}

	//====================================================================
	// 処理名　　： チェックされている大ジャンルコードを調べてURL作成
	// 関数名　　： g1Check()
	// -------------------------------------------------------------------
	// 引数　　　： なし
	// 戻り値　　： なし
	// -------------------------------------------------------------------
	// 変更履歴　：  
	//====================================================================
	function g1Check(){
		var i;
		var check = false;
		var url="/map_search.json?cd=" + $("cd").value;

		//大ジャンルチェックボックスにチェックが一つでもある場合
		for(i=0; i<document.genre_form.g1_cd.length; i++){
			if(document.genre_form.g1_cd[i].checked){
				url+="&g1_cd[]=" + document.genre_form.g1_cd[i].value;
				check = check | document.genre_form.g1_cd[i].checked;
			}
		}

		//大ジャンルチェックボックスにチェックが一つもない場合
		if (!check) {
			url += "&g1_cd[]=99999999";
		}

		//座標データ
		url += "&minx=" + $("minX").value + "&miny=" + $("minY").value + "&maxx=" + $("maxX").value + "&maxy=" + $("maxY").value;
		//alert("g1Check(" + $("flg").value + ")=[" + url + "]");
		
		return url;
	}
	
	//====================================================================
	// 処理名　　： チェックされている中ジャンルコードを調べてURL作成
	// 関数名　　： g2Check()
	// -------------------------------------------------------------------
	// 引数　　　： なし
	// 戻り値　　： なし
	// -------------------------------------------------------------------
	// 変更履歴　：  
	//====================================================================
	function g2Check(){
		var i;
		var check = false;
		var url="";

		//中ジャンルチェックボックスにチェックが一つでもある場合
		for(i=0; i<document.genre_form.g2_cd.length; i++){
			if(document.genre_form.g2_cd[i].checked){
				url+="&g2_cd[]=" + document.genre_form.g2_cd[i].value;
				check = check | document.genre_form.g2_cd[i].checked;
			}
		}
		return url;
	}
	
	//====================================================================
	// 処理名　　： チェックされているサービスを調べてURL作成
	// 関数名　　： serviceCheck()
	// -------------------------------------------------------------------
	// 引数　　　： なし
	// 戻り値　　： なし
	// -------------------------------------------------------------------
	// 変更履歴　：  
	//====================================================================
	function serviceCheck(){
		var i;
		var url="";
		
		for(i=1; i<=4; i++){
			if($("st_opt"+i).checked){
				url+="&st_opt"+i+"=" + $("st_opt"+i).value;
			}
		}
		
		return url;
	}

	
	//====================================================================
	// 処理名　　： GoogleMap上のマーカーオブジェクト追加
	// 関数名　　： addMarker()
	// -------------------------------------------------------------------
	// 引数１　　： httpObj 描画対象オブジェクトのパラメータ
	// 引数２　　： flg     表示モードフラグ[0:駐車場表示][1:加盟店表示]
	// 戻り値　　： なし
	// -------------------------------------------------------------------
	// 変更履歴　：  
	//====================================================================
	function addMarker(httpObj,flg){
	
		// 引数チェック
		if ((httpObj.indexOf("[",0) == -1) || (httpObj.indexOf("]",0) == -1) ){
			//引数不正
			//alert("ERROR:マーカー情報が不正のため追加できません。");
			
		}else{
			//引数正常

			//---------------------------------------
			// 引数値を元にarray変数宣言
			//---------------------------------------
			eval("var pointData = "+httpObj);
			//eval("var pointData = (" + httpObj + ")");

			//debug
			//alert("表示お店件数[" + pointData.length + "]件");


			//---------------------------------------
			// 引数値を元に表示モード分岐
			//---------------------------------------
			if(pm_view){	//CMSプレビューモード
				
				//表示対象のアイコン情報数分LOOP
				for (var i=0; i<pointData.length; i++){
					
					//---------------------------------------
					// X座標、Y座標の取得
					//---------------------------------------
					var mx = pointData[i].mark_geo_x;
					var my = pointData[i].mark_geo_y;

					//---------------------------------------
					// 新規マーカーオブジェクトの作成
					//---------------------------------------
					var marker = new GMarker(	new GLatLng(mx, my),
												{	draggable: false, 
													icon: addIcon(pointData[i].ico3_id)});

					//---------------------------------------
					// 新規マーカー用フキダシ作成
					//---------------------------------------
					if(flg == "0"){
					
						//駐車場の情報ウインドウURLの作成
						if( pointData[i].pk_tel.length != '1'){
							var html = "<div align=\"left\"><br><font size=\"+1\"><a href=\"javascript:dummy();\">" + pointData[i].pk_name + "</a></font><br>" + pointData[i].addr1 + pointData[i].addr2 + pointData[i].addr3 + "<br>TEL:" + pointData[i].pk_tel + "</div>";
						}else{
							var html = "<div align=\"left\"><br><font size=\"+1\"><a href=\"javascript:dummy();\">" + pointData[i].pk_name + "</a></font><br>" + pointData[i].addr1 + pointData[i].addr2 + pointData[i].addr3 + "</div>";
						}
					}else if(flg == "1"){
					
						//加盟店の情報ウインドウURLの作成
						//var html = "<div align=\"left\"><br><font size=\"+1\"><a href=\"/S" + pointData[i].st_id + ".html\">" + pointData[i].st_name + "</a></font><br>" + pointData[i].addr1 + pointData[i].addr2 + "<br>TEL:" + pointData[i].st_item1 + "<br><a href=\"event_" + pointData[i].main_img_id + ".jpg \" rel=\"lightbox[exsample]\"><img src=\"store_" + pointData[i].main_img_id  + "_100X80.jpg \">" + "</a></div>";
						if( pointData[i].st_tel.length != '1' ){
							var html = "<div align=\"left\" style=\"height:140px;width:220px;padding:2px;\"><font size=\"+1\"><a href=\"javascript:dummy();\">" + pointData[i].st_name + "</a></font><br>" + pointData[i].addr1 + pointData[i].addr2 + pointData[i].addr3 + "<br>TEL:" + pointData[i].st_tel + "<br><img src=\"store_" + pointData[i].main_img_id  + "_100X80.jpg \">" + "</div>";
						}else{
							var html = "<div align=\"left\" style=\"height:140px;width:220px;padding:2px;\"><font size=\"+1\"><a href=\"javascript:dummy();\">" + pointData[i].st_name + "</a></font><br>" + pointData[i].addr1 + pointData[i].addr2 + pointData[i].addr3 + "<br><img src=\"store_" + pointData[i].main_img_id  + "_100X80.jpg \">" + "</div>";
						}
					}
					else{
						var html ="";
					}

					//---------------------------------------
					// GoogleMapにマーカー追加
					//---------------------------------------
					map.addOverlay(addEvent(marker, html));

				}
			}else{	//通常サイト表示モード

				//表示対象のアイコン情報数分LOOP
				for (var i=0; i<pointData.length; i++){

					//---------------------------------------
					// X座標、Y座標の取得
					//---------------------------------------
					var mx = pointData[i].mark_geo_x;
					var my = pointData[i].mark_geo_y;
					
					//---------------------------------------
					// 新規マーカーオブジェクトの作成
					//---------------------------------------
					var marker = new GMarker(new GLatLng(mx, my),{draggable: false, icon: addIcon(pointData[i].ico3_id)});
				    //重複表示省略
					skip_flg = 0;
					for( j = 0; j < already_markers.length; j++ ){
						mPoint = already_markers[j].getPoint();
//alert(mPoint.lng() + "/" + pointData[i].mark_geo_x);
						if( mPoint.lng() == pointData[i].mark_geo_y && mPoint.lat() == pointData[i].mark_geo_x ){
							skip_flg = 1;
							break;
						}
						
						//	map.removeOverlay(pk_markers[i]);
					}
					
					if( skip_flg == 1 ){ continue; }
					already_markers[already_markers.length] = marker;
					
					
					//---------------------------------------
					// 新規マーカー用フキダシ作成
					//---------------------------------------
					if(flg == "0"){
						//駐車場の情報ウインドウURLの作成
						if( pointData[i].pk_tel.length != '1'){
							var html = "<div align=\"left\"><br><font size=\"+1\"><a href=\"/P" + pointData[i].pk_id + ".html\">" + pointData[i].pk_name + "</a></font><br>" + pointData[i].addr1 + pointData[i].addr2 + pointData[i].addr3 + "<br>TEL:" + pointData[i].pk_tel + "</div>";
						}else{
							var html = "<div align=\"left\"><br><font size=\"+1\"><a href=\"/P" + pointData[i].pk_id + ".html\">" + pointData[i].pk_name + "</a></font><br>" + pointData[i].addr1 + pointData[i].addr2 + pointData[i].addr3 + "</div>";
						}
						html += "<div align=\"left\">" + pointData[i].web_fee_string.replace(/(\n|\r)+/g,"<br>") + "</div>";
					}else if(flg == "1"){
						//加盟店の情報ウインドウURLの作成
						//var html = "<div align=\"left\"><br><font size=\"+1\"><a href=\"/S" + pointData[i].st_id + ".html\">" + pointData[i].st_name + "</a></font><br>" + pointData[i].addr1 + pointData[i].addr2 + "<br>TEL:" + pointData[i].st_item1 + "<br><a href=\"event_" + pointData[i].main_img_id + ".jpg \" rel=\"lightbox[exsample]\"><img src=\"store_" + pointData[i].main_img_id  + "_100X80.jpg \">" + "</a></div>";
						if( pointData[i].st_tel.length != '1' ){
							var html = "<div align=\"left\" style=\"height:140px;width:220px;padding:2px;\"><font size=\"+1\"><a href=\"/S" + pointData[i].st_id + ".html\" target=\"_blank\">" + pointData[i].st_name + "</a></font><br>" + pointData[i].addr1 + pointData[i].addr2 + pointData[i].addr3 + "<br>TEL:" + pointData[i].st_tel + "<br><img src=\"store_" + pointData[i].main_img_id  + "_100X80.jpg \">" + "</div>";
						}else{
							var html = "<div align=\"left\" style=\"height:140px;width:220px;padding:2px;\"><font size=\"+1\"><a href=\"/S" + pointData[i].st_id + ".html\" target=\"_blank\">" + pointData[i].st_name + "</a></font><br>" + pointData[i].addr1 + pointData[i].addr2 + pointData[i].addr3 + "<br><img src=\"store_" + pointData[i].main_img_id  + "_100X80.jpg \">" + "</div>";
						}
					}else{
						var html ="";
					}
					
					//---------------------------------------
					// GoogleMapにマーカー追加
					//---------------------------------------
					map.addOverlay(addEvent(marker, html));
				}
			}
		}
	}
	
	//====================================================================
	// 処理名　　： GoogleMap上のマーカーオブジェクト削除
	// 関数名　　： clearMarker()
	// -------------------------------------------------------------------
	// 戻り値　　： なし
	// -------------------------------------------------------------------
	// 変更履歴　：  addMarker()で追加されたもののみ削除
	//====================================================================
	function clearAddMarker(){
		for( j = 0; j < already_markers.length; j++ ){
			map.removeOverlay( already_markers[j] );
		}
		already_markers = new Array();
	}
	
	
	//====================================================================
	// 処理名　　： GoogleMap上に追加したマーカーにクリックイベント付加
	// 関数名　　： addEvent()
	// -------------------------------------------------------------------
	// 引数１　　： marker  対象マーカーオブジェクト
	// 引数２　　： html    展開先のＵＲＬ
	// 戻り値　　： なし
	// -------------------------------------------------------------------
	// 変更履歴　：  
	//====================================================================
	function addEvent(marker, html){
		GEvent.addListener(marker, 'click', function() {
				marker.openInfoWindowHtml(html);
		});
		
		return marker;
	}

	//====================================================================
	// 処理名　　： オリジナルアイコン作成
	// 関数名　　： addIcon()
	// -------------------------------------------------------------------
	// 引数１　　： ico3_id アイコンの固有ＩＤ
	// 戻り値　　： なし
	// -------------------------------------------------------------------
	// 変更履歴　：  
	//====================================================================
	function addIcon(ico3_id){
		var icon = new GIcon();
		icon.image = "/g"+ico3_id+".ico";
		//icon.shadow = "http://googlemaps.googlermania.com/img/marker_shadow.png";
		icon.iconSize = new GSize(39,31);
		icon.shadowSize = new GSize(15, 15);
		icon.iconAnchor = new GPoint(20,16);
		icon.infoWindowAnchor = new GPoint(20, 0);

		return icon;
	}

	//====================================================================
	// 処理名　　： 地図の右上・左下・中心座標の取得
	// 関数名　　： getCoordinates()
	// -------------------------------------------------------------------
	// 引数　　　： なし
	// 戻り値　　： なし
	// -------------------------------------------------------------------
	// 変更履歴　：  
	//====================================================================
	function getCoordinates() {
		try{
			var bounds = map.getBounds();
			//縦
			//var height = bounds.getNorthEast().lat() - bounds.getSouthWest().lat();
			//横
			//var width = bounds.getNorthEast().lng() - bounds.getSouthWest().lng();	
	
			//右上の座標
			$("minX").value = bounds.getSouthWest().lng();
			$("minY").value = bounds.getSouthWest().lat();
			//左下の座標
			$("maxX").value = bounds.getNorthEast().lng();
			$("maxY").value = bounds.getNorthEast().lat();
	
			//中心座標を取得
			bounds =  map.getCenter();
			$("centerX").value = bounds.lng();
			$("centerY").value = bounds.lat();
			
		} catch (e) {
			alert(e.description);
		}
	}
	
	//====================================================================
	// 処理名　　： 駐車場絞り込み条件チェックボックスを入れたときに起動
	// 関数名　　： pkconditionCheck()
	// -------------------------------------------------------------------
	// 引数　　　： なし
	// 戻り値　　： なし
	// -------------------------------------------------------------------
	// 変更履歴　：  
	//====================================================================
	function pkconditionCheck() {
		pk_markers = new Array();	//駐車場履歴を削除
		clearMarker();
		viewIcon();
	}

