//**************************************************
// 			XMLデータを取得し表示する
//**************************************************
var http_addMark = null;
var markerArray = new Array();
var htmlArray   = new Array();
var detailUrl   = "../result/index.php";
var checkId = new Array();


function get_addMarker_manage() {

	//検索条件を取得しクエリ文字列にする
	cond = data_func_php();
	var query_string = "bukken_marker.php"+'?' + cond;

	//XMLHttpオブジェクト作成
	http_addMark = createXMLHttpRequest();
	//ＧＥＴメソッドで送信する。tureは非同期許可
	http_addMark.open("get", query_string ,true);
	//受信ステータスが変化するとイベントが発生
	http_addMark.onreadystatechange = function() {
	//4：受信完了	200：エラーがないことを確認
		if ((http_addMark.readyState == 4) && (http_addMark.status == 200)){
			//xml形式で取得
			var xmlDoc = http_addMark.responseXML;

			//該当するデータがあれば
			if (xmlDoc.documentElement) {
				var list = xmlDoc.documentElement.getElementsByTagName("list");
				var listHtml = "";
				map.clearOverlays();									//マーカ全消去
				for (var i = 0; i < list.length; i++) {
					var id        = list[i].getAttribute("id");		//システムID
					var name      = list[i].getAttribute("name");		//価格
					var price     = list[i].getAttribute("price");		//価格
					var lng       = list[i].getAttribute("lng");		//経度
					var lat       = list[i].getAttribute("lat");		//緯度
					var assort    = list[i].getAttribute("assortment");	//物件種別

					//■噴出し内容作成
					var html = createHtmlManage(id,name,price,assort);
					//■マーカ
					var point = new GLatLng(lng,lat);					//座標
					createMarkerManage(point,i,html,assort);							//マーカ表示・噴出し作成

				}//END for

			}//END if (xmlDoc.documentElement)

		}// END if
	}
	http_addMark.send(null);

}//END function

function get_addMarker_user() {

	$("mapLoading").style.display = "block";

	//検索条件を取得しクエリ文字列にする
	//cond = data_func_php2();
	//■引数取得
	var bounds = map.getBounds();
	var state = {
		'minY' : bounds.getSouthWest().lat(),
		'maxY' : bounds.getNorthEast().lat(),
		'minX' : bounds.getSouthWest().lng(),
		'maxX' : bounds.getNorthEast().lng()
	};
	var state_hash = $H(state);
	var cond = state_hash.toQueryString();
	cond = cond + "&" + Form.serialize($("form1"));

	//2011-11-13 bt seto 
	//var query_string = "bukken_marker.php"+'?' + cond;
	//グローバル変数が定義されていない
	if(!map_page_type){
		var query_string = "bukken_marker.php"+'?' + cond;
	}
	else if(map_page_type == "sell_top"){
		var query_string = "./sell/bukken_marker.php"+'?' + cond;		
	}
	else{
		var query_string = "bukken_marker.php"+'?' + cond;
	}


	//XMLHttpオブジェクト作成
	http_addMark = createXMLHttpRequest();
	//ＧＥＴメソッドで送信する。tureは非同期許可
	http_addMark.open("get", query_string ,true);
	//受信ステータスが変化するとイベントが発生
	http_addMark.onreadystatechange = function() {
	//4：受信完了	200：エラーがないことを確認
		if ((http_addMark.readyState == 4) && (http_addMark.status == 200)){
			//xml形式で取得
			var xmlDoc = http_addMark.responseXML;

			//該当するデータがあれば
			if (xmlDoc.documentElement) {
				var list = xmlDoc.documentElement.getElementsByTagName("list");
				var listHtml = "";
				checkId = [];
				map.clearOverlays();									//マーカ全消去
				for (var i = 0; i < list.length; i++) {
					var id           = list[i].getAttribute("id");		//システムID
					var name         = list[i].getAttribute("name");		//名前
					var assortmentId = list[i].getAttribute("assortmentId");//種別ID
					var assortment   = list[i].getAttribute("assortment");//種別
					var price        = list[i].getAttribute("price");		//価格
					var address      = list[i].getAttribute("address");	//住所
					var image        = list[i].getAttribute("image");		//画像
					var lng          = list[i].getAttribute("lng");		//経度
					var lat          = list[i].getAttribute("lat");		//緯度
					var selectAssortment= list[i].getAttribute("selectAssortment");

					//■噴出し内容作成
					var html = createHtmlUser(id,name,price,address,assortment,image,i,selectAssortment);

					//■マーカ
					var point = new GLatLng(lng,lat);					//座標
					createMarker(point,i,html,assortmentId,id);			//マーカ表示・噴出し作成

					//■リスト
					listHtml = makeList(listHtml,id,name,price,address,assortment,image,i);
				}//END for

				//■丸三不動産専用マーカ
				var html = createHtmlMarusan();
				var point = new GPoint(136.260752,35.268861);
				createMarker(point,i,html,0,"marusan");

			}//END if (xmlDoc.documentElement)
			//リスト表示
			if(listHtml == ""){
				listHtml = '<font color="red">登録されている物件はありません。</font>';
			}
			document.getElementById("list").innerHTML = listHtml;
			$("mapLoading").style.display = "none";
		}// END if
	}
	http_addMark.send(null);
}//END function

//**************************************************
// 				マーカー作成ユーザ
//	point:座標	iconNum：アイコン配列番号
//	i：通し番号	html：噴出し内容
//**************************************************
function createMarker(point,i,html,iconNum,id) {

	//マーカオブジェクト生成
	var marker = new GMarker(point,mapIcon[iconNum]);
	//噴出しイベント
	GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); });
	//グローバル配列に情報確保
	markerArray[i] = marker;
	htmlArray[i]   = html;
	if(id != null && id != undefined){
		var checkIdNum = id.substr(0,7);
		if(checkId[checkIdNum] == undefined){
			//マーカ表示
			map.addOverlay(markerArray[i]);
			checkId[checkIdNum] = "on";
		}
	}

	return marker;
}//END function


//**************************************************
// 				マーカー作成管理者
//	point:座標	iconNum：アイコン配列番号
//	i：通し番号	html：噴出し内容
//**************************************************
function createMarkerManage(point,i,html,iconNum) {
	//マーカオブジェクト生成
	var marker = new GMarker(point,mapIcon[iconNum]);
	//噴出しイベント
	GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); });
	//グローバル配列に情報確保
	markerArray[i] = marker;
	htmlArray[i]   = html;
	//マーカ表示
	map.addOverlay(markerArray[i]);

	return marker;
}//END function


//**************************************************
// 			噴出し内容作成(管理者ページ）
//**************************************************
function createHtmlManage(id,name,price,assort) {
	var html  = "";
	var type = "";

	if(assort >= 101 && assort <= 200){
		type = "rent";
	}else{
		type = "sell";
	}

	html += name + '<br>' +price;
	html += '<br><a href="../../' + type +'/details.php?preview=on&id=' + id + '&selectAssortment=' + assort + '"target="_blank">詳細へ<\/a>';

	return html;
}//END function

//**************************************************
// 			噴出し内容作成(ユーザページ）
//**************************************************
function createHtmlUser(id,name,price,address,assortment,image,i,selectAssortment){
	var html  = "";

	//詳細ページURL 
	//※map_page_type はグローバル変数。このファイルを読み込む前に指定してください。
	if(map_page_type == "sell_top"){
		var detailUrl = "./sell/details.php";
	}
	else{
		var detailUrl   = "details.php";
	}
	detailUrl = detailUrl + "?id=" + id + "&selectAssortment=" + selectAssortment;
	detailUrl = detailUrl + "&type=map";

	var image  = '<img src="' + image + '" style="border:none;" />';
	    image   = '<a href="' + detailUrl + '">' + image + '</a>';
	var address = '<span style="font-size:12px;text-align:130%;">' + address + '</span>';
	var price  = '<span style="font-size:14px;color:#ff1111;font-weight:bold;">'+price+'</span>';
	var assortment = '<span style="font-size:12px;color:#555555;">&lt;'+assortment+'&gt;</span>';

	html += '<table width="210" border="0" cellspacing="10" cellpadding="0">'
	html += '<tr>';
	html += '<td width="50" height="50" align="center" valign="top">' + image + '</td>';
	html += '<td style="text-align: left; ">';
	html += '<a href="' +  detailUrl + '">' + address + '</a><br />';
	html += price + '<br />' + assortment;
	html += '</td>';
	html += '</tr>';
	html += '</table>';

	return html;
}//END function

//**************************************************
// 				丸三不動産専用噴出し
//**************************************************
function createHtmlMarusan(){

	//※map_page_type はグローバル変数。このファイルを読み込む前に指定してください。
	if(map_page_type == "sell_top"){
		var index_path = "./";
	}
	else{
		var index_path   = "../";
	}

	var html = '<table width="304" border="0" cellspacing="4" cellpadding="0">';
		html += '<tr><td align="left">';
		html += '<img src="' + index_path + 'images-r/ggl-logo.jpg" alt="丸三不動産商事株式会社" width="250" height="26" align="left" />';
		html += '</td></tr><tr><td height="1">';
		html += '<img src=""' + index_path + 'images-r/line-foot-2.jpg" width="304" height="5" />';
		html += '</td></tr><tr><td><div style="text-align:140%;">';
		html += '<span style="font-size:14px;">丸三不動産商事株式会社</span><br />';
		html += '<span style="font-size:12px;">滋賀県彦根市大東町１３−６ 丸三ビル２Ｆ</span><br />';
		html += '<span style="font-size:14px;color:#ff1111;font-weight:bold;">TEL:0749-23-0303</span>';
		html += '</div></td></tr></table>';

	return html;
}

//**************************************************
// 				リスト作成（ユーザ）
//**************************************************
function makeList(listHtml,id,name,price,address,assortment,image,i) {

	//売買トップの場合
	if(map_page_type == "sell_top"){	//※map_page_typeはグローバル変数
		var spacer  = '<img src="./images-r/spacer.gif" width="10" height="2">';
		var spacer2 = '<img src="./images-r/spacer.gif" width="1" height="1">';
		var spacer3 = '<img src="./images-r/spacer.gif" width="5" height="5">';
		var line    = '<td width="195" height="4" background="./images-r/line-foot.gif">';		
	}
	//それ以外のページ
	else{
		var spacer  = '<img src="../images-r/spacer.gif" width="10" height="2">';
		var spacer2 = '<img src="../images-r/spacer.gif" width="1" height="1">';
		var spacer3 = '<img src="../images-r/spacer.gif" width="5" height="5">';
		var line    = '<td width="195" height="4" background="../images-r/line-foot.gif">';
	}	


	var image   = '<img src="' + image + '" width="80%" />';
	var address = '<a href="javascript:listClick(' + i + ')">' + address + '</a>';
	var assortment = ' &lt;' + assortment + '&gt;';
	var price   = '<span style="color:#ff1111;font-weight:bold;">' + price + '</span>'
	     price   = '<br><span class="ggl-size-s">' + price + assortment + '</span> ';

	listHtml += '<table border="0" cellpadding="0" cellspacing="0">';
	listHtml += '<tr><td>' + spacer + '</td></tr>';
	listHtml += '<tr>' + line + spacer2 + '</td></tr>';
	listHtml += '</table>';

	listHtml += spacer3 + '<br>';
	listHtml += '<table border="0" cellspacing="0" cellpadding="2">';
	listHtml += '<tr>';
	listHtml += '<td width="50" height="40" valign="top">'+ image + '</td>';
	listHtml += '<td valign="top">';
	listHtml += '<div align="left">'+ address + price + '</div>';
	listHtml += '</td>';
	listHtml += '</tr>';
	listHtml += '</table>';

	return listHtml;
}//END function


//**************************************************
// 		リストの物件名が押された時の処理
//**************************************************
 function listClick(i) {
	map.removeOverlay(markerArray[i]);
	map.addOverlay(markerArray[i]);
	markerArray[i].openInfoWindowHtml(htmlArray[i]);
 }


//**************************************************
// 			XMLHttpオブジェクト作成
//**************************************************
function createXMLHttpRequest()
{
	var XMLhttpObject = null;
	try{
		//ブラウザ内蔵型の場合
		XMLhttpObject = new XMLHttpRequest();
	}catch(e){
		//ActiveXコントロールとして構成される場合
		try{
			XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try{
				XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e){
				return null;
			}
		}
	}
	return XMLhttpObject;
}//END function

