// JavaScript Document
var map;
var customMarkerObj = new GIcon();
customMarkerObj.image = "images/point.gif";
customMarkerObj.iconSize = new GSize(25, 30);
customMarkerObj.iconAnchor = new GPoint(15, 15);
customMarkerObj.infoWindowAnchor = new GPoint(15,15)

//　gifアニメのアイコン
var customMarkerObj2 = new GIcon();
customMarkerObj2.image = "images/newpoint.gif";
customMarkerObj2.iconSize = new GSize(25, 30);
customMarkerObj2.iconAnchor = new GPoint(15, 15);
customMarkerObj2.infoWindowAnchor = new GPoint(15,15)

var gGeo;

var bMapMove = false;

function onAddIcon() {
	
	//インフォウィンドウを開いたときマーカーをクリアする処理をしない。
	if (bMapMove == false)
	{
		map.clearOverlays();
	}
	
	var zm = map.getZoom();
	
	//各店舗アイコンの追加
	//枚方店
	var gpObj = new GLatLng(34.816536, 135.648515);
	var iconObj = new GIcon(gpObj);
	iconObj.image = "images/hirakata.gif";
	iconObj.iconSize = new GSize(63,48);
	iconObj.iconAnchor = new GPoint(15, 15);
	iconObj.infoWindowAnchor = new GPoint(31,24);
	var hirakatamarker = new GMarker(gpObj, iconObj);
	hirakatamarker.ido = 34.816536;
	hirakatamarker.keido = 135.648515;
	hirakatamarker.tenponame = 
			"<a href=http://www.besthome.ne.jp/hirakata/ target=_blank>枚方店ホームページ</a>";
	map.addOverlay(hirakatamarker);
	GEvent.addListener(hirakatamarker, "click", function(){
			onTenpoClick(this);
	} );

	//各店舗アイコンの追加
	//くずは並木店
	if (zm == 12)
	{
		var gpObj = new GLatLng(34.859854, 135.695);
	}
	else if (zm == 13)
	{
		var gpObj = new GLatLng(34.859854, 135.686);
	}
	else if (zm == 11)
	{
		var gpObj = new GLatLng(34.859854, 135.7);
	}
	else
	{
		var gpObj = new GLatLng(34.859854, 135.682571);
	}
	var iconObj = new GIcon(gpObj);
	iconObj.image = "images/kuzuhanamiki.gif";
	iconObj.iconSize = new GSize(63,48);
	iconObj.iconAnchor = new GPoint(15, 15);
	iconObj.infoWindowAnchor = new GPoint(31,24);
	var kuzuhanamikimarker = new GMarker(gpObj, iconObj);
	kuzuhanamikimarker.ido = 34.859854;
	kuzuhanamikimarker.keido = 135.682571;
	kuzuhanamikimarker.tenponame = 
	"<a href=http://besthomenamiki.com/ target=_blank>くずは並木店ホームページ</a>";
	map.addOverlay(kuzuhanamikimarker);
	GEvent.addListener(kuzuhanamikimarker, "click", function(){
			onTenpoClick(this);
	} );
	
	//くずは店
	var gpObj = new GLatLng(34.862812, 135.677475);
	var iconObj = new GIcon(gpObj);
	iconObj.image = "images/kuzuha.gif";
	iconObj.iconSize = new GSize(63,48);
	iconObj.iconAnchor = new GPoint(15, 15);
	iconObj.infoWindowAnchor = new GPoint(31,24);
	var kuzuhamarker = new GMarker(gpObj, iconObj);
	kuzuhamarker.ido = 34.862812;
	kuzuhamarker.keido = 135.677475;
	kuzuhamarker.tenponame = 
			"<a href=http://besthomekuzuha.com/ target=_blank>くずは店ホームページ</a>";
	map.addOverlay(kuzuhamarker);
	GEvent.addListener(kuzuhamarker, "click", function(){
			onTenpoClick(this);
	} );	

	//交野店
	var gpObj = new GLatLng(34.775862, 135.684314);
	var iconObj = new GIcon(gpObj);
	iconObj.image = "images/katano.gif";
	iconObj.iconSize = new GSize(63,48);
	iconObj.iconAnchor = new GPoint(15, 15);
	iconObj.infoWindowAnchor = new GPoint(31,24);
	var katanomarker = new GMarker(gpObj, iconObj);
	katanomarker.ido = 34.775862;
	katanomarker.keido = 135.684314;
	katanomarker.tenponame = 
			"<a href=http://www.besthome.ne.jp/katano/ target=_blank>交野店ホームページ</a>";
	map.addOverlay(katanomarker);
	GEvent.addListener(katanomarker, "click", function(){
			onTenpoClick(this);
	} );

	//香里園店
	var gpObj = new GLatLng(34.785604, 135.628634);
	var iconObj = new GIcon(gpObj);
	iconObj.image = "images/korien.gif";
	iconObj.iconSize = new GSize(63,48);
	iconObj.iconAnchor = new GPoint(15, 15);
	iconObj.infoWindowAnchor = new GPoint(31,24);
	var korienmarker = new GMarker(gpObj, iconObj);
	korienmarker.ido = 34.785604;
	korienmarker.keido = 135.628634;
	korienmarker.tenponame = 
			"<a href=http://www.besthome.ne.jp/kourien/ target=_blank>香里園店ホームページ</a>";
	map.addOverlay(korienmarker);
	GEvent.addListener(korienmarker, "click", function(){
			onTenpoClick(this);
	} );

	//門真店
	var gpObj = new GLatLng(34.737376, 135.584099);
	var iconObj = new GIcon(gpObj);
	iconObj.image = "images/kadoma.gif";
	iconObj.iconSize = new GSize(63,48);
	iconObj.iconAnchor = new GPoint(15, 15);
	iconObj.infoWindowAnchor = new GPoint(31,24);
	var kadomamarker = new GMarker(gpObj, iconObj);
	kadomamarker.ido = 34.737376;
	kadomamarker.keido = 135.584099;
	kadomamarker.tenponame = 
			"<a href=http://besthomekadoma.com/ target=_blank>門真店ホームページ</a>";
	map.addOverlay(kadomamarker);
	GEvent.addListener(kadomamarker, "click", function(){
			onTenpoClick(this);
	} );

	//京田辺店
	var gpObj = new GLatLng(34.820640, 135.770440);
	var iconObj = new GIcon(gpObj);
	iconObj.image = "images/kyotanabe.gif";
	iconObj.iconSize = new GSize(63,48);
	iconObj.iconAnchor = new GPoint(15, 15);
	iconObj.infoWindowAnchor = new GPoint(31,24);
	var kyotanabemarker = new GMarker(gpObj, iconObj);
	kyotanabemarker.ido = 34.820640;
	kyotanabemarker.keido = 135.770440;
	kyotanabemarker.tenponame = 
		"<a href=http://www.besthome.ne.jp/kyoutanabe/ target=_blank>京田辺店ホームページ</a>";
	map.addOverlay(kyotanabemarker);
	GEvent.addListener(kyotanabemarker, "click", function(){
			onTenpoClick(this);
	} );

	//山田川店
	var gpObj = new GLatLng(34.737010, 135.793410);
	var iconObj = new GIcon(gpObj);
	iconObj.image = "images/yamadagawa.gif";
	iconObj.iconSize = new GSize(63,48);
	iconObj.iconAnchor = new GPoint(15, 15);
	iconObj.infoWindowAnchor = new GPoint(31,24);
	var yamadagawamarker = new GMarker(gpObj, iconObj);
	yamadagawamarker.ido = 34.737010;
	yamadagawamarker.keido = 135.793410;
	yamadagawamarker.tenponame = 
		"<a href=http://besthomeyamadagawa.dip.jp/ target=_blank>山田川店ホームページ</a>";
	map.addOverlay(yamadagawamarker);
	GEvent.addListener(yamadagawamarker, "click", function(){
			onTenpoClick(this);
	} );

	//関西外大前店
	if (zm == 11)
	{
		var gpObj = new GLatLng(34.821041, 135.68);
	}
	else
	{
		var gpObj = new GLatLng(34.821041, 135.66395);
	}
	var iconObj = new GIcon(gpObj);
	iconObj.image = "images/gaidaimae.gif";
	iconObj.iconSize = new GSize(63,48);
	iconObj.iconAnchor = new GPoint(15, 15);
	iconObj.infoWindowAnchor = new GPoint(31,24);
	var gaidaimaemarker = new GMarker(gpObj, iconObj);
	gaidaimaemarker.ido = 34.821041;
	gaidaimaemarker.keido = 135.66395;
	gaidaimaemarker.tenponame = 
		"<a href=http://besthomegaidaimae.com/ target=_blank>関西外大前店ホームページ</a>";
	map.addOverlay(gaidaimaemarker);
	GEvent.addListener(gaidaimaemarker, "click", function(){
			onTenpoClick(this);
	} );


	//表示されているマップの範囲を求める
	var rectObj = map.getBounds();
	var mapArea = "左下経度:" + rectObj.getSouthWest().lng() 
		+ ",左下緯度:" + rectObj.getSouthWest().lat() 
		+ ",右上経度:" + rectObj.getNorthEast().lng()
		+ ",右上緯度:" + rectObj.getNorthEast().lat();
//	document.getElementById("point").innerHTML = mapArea;
	
	//右選択項目の設定
	var chinryo1 = document.getElementById("chinryo01").value;
	var chinryo2 = document.getElementById("chinryo02").value;
	var g_1k = document.getElementById("1k").checked;
	var g_2k = document.getElementById("2k").checked;
	var g_3k = document.getElementById("3k").checked;
	var g_4k = document.getElementById("4k").checked;
	var g_5k = document.getElementById("5k").checked;
	var parking = document.getElementById("parking").checked;
	var zero = document.getElementById("zero").checked;
	var separate = document.getElementById("separate").checked;
	var aircon = document.getElementById("aircon").checked;
	var loft = document.getElementById("loft").checked;
	var wash = document.getElementById("wash").checked;
	var autolock = document.getElementById("autolock").checked;
	var flooring = document.getElementById("flooring").checked;
	var corner = document.getElementById("corner").checked;
	var gakki = document.getElementById("gakki").checked;
	var office = document.getElementById("office").checked;
	var pet = document.getElementById("pet").checked;
	var shinchiku = document.getElementById("shinchiku").checked;

	var url = "geticondata.php?swlng=" + rectObj.getSouthWest().lng()
		+ "&swlat=" + rectObj.getSouthWest().lat()
		+ "&nelng=" + rectObj.getNorthEast().lng()
		+ "&nelat=" + rectObj.getNorthEast().lat()
		+ "&chinryo1=" + chinryo1
		+ "&chinryo2=" + chinryo2
		+ "&g_1k=" + g_1k
		+ "&g_2k=" + g_2k
		+ "&g_3k=" + g_3k
		+ "&g_4k=" + g_4k
		+ "&g_5k=" + g_5k
		+ "&parking=" + parking
		+ "&zero=" + zero
		+ "&separate=" + separate
		+ "&aircon=" + aircon
		+ "&loft=" + loft
		+ "&wash=" + wash
		+ "&autolock=" + autolock
		+ "&flooring=" + flooring
		+ "&corner=" + corner
		+ "&gakki=" + gakki
		+ "&office=" + office
		+ "&pet=" + pet
		+ "&shinchiku=" + shinchiku;
		
//	document.getElementById("url").innerHTML = url;
	//ズームしたとき非表示にする
	
	if (zm < 16)
	{
		return;
	}
	
	var hidokeido = "";
	
	var request = GXmlHttp.create();
	request.open("GET", url, false);
	request.onreadystatechange = function() {
		if (request.readyState == 4) {
			hidokeido = "正常";
			var xmlDoc = request.responseXML;
			var idokeido = xmlDoc.documentElement.getElementsByTagName("idokeido");
			hidokeido += idokeido.length + "件" + "<br>";
			var marker = new Array(idokeido.length);
			for(var i = 0; i<idokeido.length;i++)
			{
				var tenpoid = idokeido[i].getElementsByTagName("tenpoid")[0];
				var bukkenid = idokeido[i].getElementsByTagName("bukkenid")[0];
				var ido = idokeido[i].getElementsByTagName("ido")[0];
				var keido = idokeido[i].getElementsByTagName("keido")[0];
				var shinchikuflag = idokeido[i].getElementsByTagName("shinchikuflag")[0];
				
				var id = tenpoid.firstChild.nodeValue + "-" + bukkenid.firstChild.nodeValue;
				
				hidokeido += 
					ido.firstChild.nodeValue + "," + keido.firstChild.nodeValue + ","
					+ tenpoid.firstChild.nodeValue + "-" + bukkenid.firstChild.nodeValue + ","
					+ shinchikuflag.firstChild.nodeValue + "<br>";
			
				var gpObj = 
					new GLatLng(ido.firstChild.nodeValue, keido.firstChild.nodeValue);
					
					
				//新着フラグの立った物件はgifアニメのアイコンで表示させる
				if (shinchikuflag.firstChild.nodeValue == "t"){
					marker[i] = new GMarker(gpObj, customMarkerObj2);
					map.addOverlay(marker[i]);
					marker[i].tenpoid = tenpoid.firstChild.nodeValue;
					marker[i].bukkenid = bukkenid.firstChild.nodeValue;

				}
				else{
					marker[i] = new GMarker(gpObj, customMarkerObj);
					map.addOverlay(marker[i]);
					marker[i].tenpoid = tenpoid.firstChild.nodeValue;
					marker[i].bukkenid = bukkenid.firstChild.nodeValue;
				}
				
				GEvent.addListener(marker[i], "click", function(){
						onMapClick(this);
					} );
			}
		}
		else
		{
			hidokeido = request.readyState;
		}
	}
	request.send(null);

	//document.getElementById("url").innerHTML = url;

//	document.getElementById("hidokeido").innerHTML = hidokeido;
}

function onTenpoClick(marker) {

	map.setCenter(new GLatLng(marker.ido,marker.keido), 18);
	marker.setPoint(new GLatLng(marker.ido,marker.keido));
	marker.openInfoWindowHtml(marker.tenponame);
}

function onMapClick(marker) {
	
	var url2 = "get_heyadata.php?tenpoid=" + marker.tenpoid + "&bukkenid=" + marker.bukkenid;

	var hheyadata = "";
	var request2 = GXmlHttp.create();
	request2.open("GET", url2, false);
	request2.onreadystatechange = function() {
		if (request2.readyState == 4) {
			hheyadata = "";
			var xmlDoc = request2.responseXML;
			var heyadata = xmlDoc.documentElement.getElementsByTagName("heyadata");
//			hheyadata += heyadata.length + "件" + "<br>";
			
			var heya_length = heyadata.length;
			if (heyadata.length > 5)
			{
				heya_length = 5;
			}
			
			for(var i = 0; i<heya_length;i++)
			{
				var tenpoid = heyadata[i].getElementsByTagName("tenpoid")[0];
				var bukkenid = heyadata[i].getElementsByTagName("bukkenid")[0];
				var heyaid = heyadata[i].getElementsByTagName("heyaid")[0];
				var gousitsu = heyadata[i].getElementsByTagName("gousitsu")[0];
				var type = heyadata[i].getElementsByTagName("type")[0];
				
				hheyadata += "<a href=bukken.php?"
						+ "tenpoid=" + tenpoid.firstChild.nodeValue
						+ "&bukkenid=" + bukkenid.firstChild.nodeValue
						+ "&heyaid=" + heyaid.firstChild.nodeValue + " target=_blank>" 
						+ gousitsu.firstChild.nodeValue 
						+ "号室　" + type.firstChild.nodeValue 
						+ "</a>" + "<br>";
			}
		}
		else
		{
			hheyadata = request2.readyState;
		}
	}
	request2.send(null);	
	
	var url3 = "get_bukkendata.php?tenpoid=" + marker.tenpoid + "&bukkenid=" + marker.bukkenid;

	var hbukkendata = "";
	var haddress = "";
	var request3 = GXmlHttp.create();
	request3.open("GET", url3, false);
	request3.onreadystatechange = function() {
		if (request3.readyState == 4) {
			hbukkendata = "";
			haddress = "";
			var xmlDoc = request3.responseXML;
			var bukkendata = xmlDoc.documentElement.getElementsByTagName("bukkendata");
			var gaikanfilename = bukkendata[0].getElementsByTagName("gaikanfilename")[0];
			var address = bukkendata[0].getElementsByTagName("address")[0];
			
			haddress = address.firstChild.nodeValue;
			hbukkendata = "<img src = " + gaikanfilename.firstChild.nodeValue + " width=80>";
		}
	}
	request3.send(null);

	
//	情報ウインドウへのHTML表示

	var html = "<table><tr><td>" + hbukkendata + "</td><td>" + hheyadata +"</td></tr><tr><td colspan=2>" + haddress + "</td></tr></table>";
	
//	var html = hheyadata;

	//インフォウィンドウを開くときMapMoveイベントが発生するため
	//マーカーをクリアする処理をしないようにフラグを立てる。
	bMapMove = true;
	marker.openInfoWindowHtml(html);
	
	//インフォウィンドウを閉じたときフラグを下ろす。
	GEvent.addListener(marker, "infowindowclose", function(){
		bMapMove = false;
	} );

}

function onLoad() {
	map = new GMap2(document.getElementById("map"));
	map.addControl(new GLargeMapControl());
	map.setCenter(new GLatLng(34.795479, 135.696601), 12);
		
	//中央の緯度経度を表示
//	GEvent.addListener(map, "move", function(){
//	var x = (map.getCenter()).lng();
//	var y = (map.getCenter()).lat();
//	document.getElementById("point2").innerHTML = "経度："+x+"<br>緯度："+y;
//	});

	// 主要駅へ移動するイベント設定
	var selObj = document.getElementById("geoPoint");
	selObj.onchange = function() {
	var gp = this.value;
	if (gp == "") return;
	var x = gp.split(",")[1];
	var y = gp.split(",")[0];
	map.setCenter(new GLatLng(y, x), 17);
	}

	// 各店舗へ移動するイベント設定
	var selObj = document.getElementById("geoPoint2");
	selObj.onchange = function() {
	var gp = this.value;
	if (gp == "") return;
	var x = gp.split(",")[1];
	var y = gp.split(",")[0];
	map.setCenter(new GLatLng(y, x), 18);
	}
		
	onAddIcon();
	
	GEvent.addListener(map, "moveend", function() { onAddIcon(); });
	
	gGeo = new GClientGeocoder();
} 

function serch(){
	//テキストボックスの値で検索
	
	gGeo.getLatLng(document.getElementById('q').value,onGeocoding);
}

function onGeocoding(result){
	//取得できたか判定
	if(result){
		//取得した位置に移動
		map.setCenter(result);
	
	}
	else{
		window.alert("見つかりません");
	}
}

