var sss_gmap_map = null;
var sss_gmap_latlng = null;
var sss_gmap_pos = null;
var sss_gmap_mogrify = 17;
var sss_gmap_code = 0;

$(function() {
	// 地図が表示されない場合、注意書きも消す
	$("#notice").hide();

	sss_gmap_code = location.href.split('/')[4];
	if (sss_gmap_code) { gmap_init(); gmap_load(); }

	$('a.gallery').lightBox({
		imageLoading: '/images/lightbox/ico-loading.gif',
		imageBtnClose: '/images/lightbox/btn-close.gif',
		imageBtnPrev: '/images/lightbox/btn-prev.gif',
		imageBtnNext: '/images/lightbox/btn-next.gif'
	});

	$(".htmlguide a").lightBox({
		"fixedNavigation": true,
		"imageLoading":    "/images/lightbox/ico-loading.gif",
		"imageBtnClose":   "/images/lightbox/btn-close.gif",
		"imageBtnPrev":    "/images/lightbox/btn-prev.gif",
		"imageBtnNext":    "/images/lightbox/btn-next.gif"
	});

	// すべてチェック
	$(".chk_all").click(function(){
		var ck = this.checked;
		$("#frmList input[type='checkbox']").each(function(){
			this.checked = ck;
		})
		return true;
	});
	$("#frmReq").submit(onInquiryClick);

	showRecommendList();
});

function gmap_init() {
	return GBrowserIsCompatible()
}

function gmap_load() {
	if (!gmap_init()) { $("#map_canvas").remove(); return; }

	sss_gmap_map = new GMap2(document.getElementById("map_canvas"));
	$.post(
		location.href,
		{ "cmd-gmap": 1, "code": sss_gmap_code },
		function (ret) {
			sss_gmap_pos = (ret.status == "SUCCESS") ? ret : null;
			gmap_load_pos();
		},
		"json"
	);
	return false;
}

function gmap_load_pos() {
	if (!sss_gmap_pos || (!sss_gmap_pos.x && !sss_gmap_pos.y && !sss_gmap_pos.address)) { $("#map_canvas").remove(); return; }
	if (!sss_gmap_pos.x && !sss_gmap_pos.y) {
		var geocoder = new GClientGeocoder();
		geocoder.getLatLng(sss_gmap_pos.address, function(point) { if (point) { sss_gmap_pos.x = point.x; sss_gmap_pos.y = point.y; gmap_set_buil(); }});
	}
	else
	{
		gmap_set_buil();
	}
}

function gmap_set_buil() {
	var lng = new GLatLng(sss_gmap_pos.y, sss_gmap_pos.x);
	sss_gmap_map.setCenter(lng, sss_gmap_mogrify);
	var marker = new GMarker(lng);
	marker.code = sss_gmap_code;
	sss_gmap_map.addOverlay(marker);
	gmap_set_naivors();

	sss_gmap_map.addControl(new GSmallMapControl());		// 拡大率や位置を変更するコントローラ(小さい版)
	sss_gmap_map.addControl(new GScaleControl());		// 地図にスケールを追加
	sss_gmap_map.addControl(new GOverviewMapControl());

	// 地図が表示されない場合、注意書きも消す
	$("#notice").show();
}

function gmap_set_naivors() {
	$.post(
		location.href,
		{ "code": sss_gmap_code, "x": sss_gmap_pos.x, "y": sss_gmap_pos.y, "cmd-naivors": 1 },
		function (ret) {
			if (ret.status == "SUCCESS") {
				var icon = new GIcon();
				icon.image = "/images/map/icon_0.png";
				icon.iconSize = new GSize(23, 35);
				icon.shadow = "/images/map/shadow.png"
				icon.shadowSize = new GSize(38, 37);

				for (var i = 0; i < ret.naivors.length; ++i) {
					var obj = ret.naivors[i];
					var lng = new GLatLng(obj.y, obj.x);
					icon.iconAnchor = new GPoint(6, 20);
					var marker = new GMarker(lng, icon);
					marker.code = obj.code;
					marker.show = function (ret) { if (ret.status == "SUCCESS") { sss_gmap_map.openInfoWindowHtml(sss_gmap_latlng, ret.html); }};
					GEvent.addListener(marker, "click", function() {
						sss_gmap_latlng = this.getLatLng();
						$.post(
							location.href,
							{ "code": this.code, "cmd-balloon": 1 },
							function (ret) {
								if (ret.status == 'SUCCESS') {
									sss_gmap_map.openInfoWindowHtml(sss_gmap_latlng, ret.html);
								} else {
									alert(ret.msg);
								}
							},
							"json"
						);
						return false;
					});
					sss_gmap_map.addOverlay(marker);
				}
			}
		},
		"json"
	);
}

/******************************************************************************
 * 同価格帯リストの表示
 *****************************************************************************/
function showRecommendList()
{
	$("#recommendlist").html('<div id="recommendlist"><div id="recommends" style="text-align: center">おすすめ物件を探しています。<br />しばらくお待ちください...<br /><img src="/search/images/searching.gif" width="48" height="48" /></div></div>');
	$.post(
		location.href,
		{ "cmd-showRecommendList": 1 },
		function (ret) {
			if (ret.status == "SUCCESS") {
				$("#recommendlist").html(ret.html);
			} else {
				$("#recommendlist").html('<img src="/images/spacer.gif" width="1" height="1" />');
			}
		},
		"json"
	);
	return false;
}

function checkOne(o)
{
	var ck = o.checked;
	var nm = $(o).attr('name');

	$("#frmList input[type='checkbox']").each(function(i){
		if($(this).attr('name')==nm)
		{
			this.checked = ck;
		}
	})
	return true;
}

// チェックされているフロア数とチェックボッスを確認
function getCheckedFloor(d)
{
	var cnt =0;
	$("#frmList .ctrl input[type='checkbox']").each(function(){
		if (this.checked) {
			cnt ++ ;
			d['floor['+cnt+']'] =$(this).attr('name');
		}
	});
	return cnt;
}

/******************************************************************************
 * 内覧希望画面へボタンのClickイベントハンドラ
 * @param code
 * @returns {Boolean}
 */
// 資料請求ボタンイベント
function onSubmitClick(code) {
	var d = zen_make_params("#frmList");
	d['code'] = code;	// ビル番号
	d['cmd-request'] = 1;
	if (!getCheckedFloor(d)) {
		alert("ご希望フロアにチェックを入れてください");
		return false;
	}
	$.post(
		"/search/detail.html",
		d,
		function (ret)
		{
			if (ret.status == "SUCCESS")
			{
				location.href = "/search/request.html";
			}
			else
			{
				alert(ret.msg);
			}
		},
		"json"
	);
	return false;
}

// 追加ボタン
function onAddClick(code, seq)
{
	$.post(
		'/search/detail.html',
		{
			"code"    : code,
			"seq"     : seq,
			"cmd-add" : 1
		},
		function (ret)
		{
			if (ret.status == "SUCCESS")
			{
				location.reload(true);;
			}
			else
			{
				alert(ret.msg);
			}
		},
		"json"
	);
	return false;
}

// らくらくお問合せ
function onInquiryClick()
{
	var d = zen_make_params("#frmReq", "inquiry");
	if(!getCheckedFloor(d))
	{
		alert("ご希望フロアにチェックを入れてください");
		return false;
	}

	$.post(
		"/search/detail.html",
		d,
		function (ret)
		{
			if (ret.status == "SUCCESS")
			{
				location.href='/search/thanks2.html';
			}
			else
			{
				alert(ret.msg);
			}
		},
		"json"
	);
	return false;
}

/******************************************************************************
 * 印刷ボタンのイベントハンドラ
 *****************************************************************************/
function onPrintClick(code)
{
	var d = { "cmd-print": 1, "code": code };
	if (!getCheckedFloor(d)) {
		alert("ご希望フロアにチェックを入れてください");
		return false;
	}

	$("#waitmsg").show();
	$.post(
		location.href,
		d,
		function (ret) {
			if (ret.status == "SUCCESS") {
				$("#waitmsg").hide();
				$("#floorDrawlist").html(ret.html);
				window.print();
			} else {
				$("#waitmsg").hide();
				alert(ret.msg);
			}
		},
		"json"
	);
	return false;
}

// 保存リストに保存
function onSavedClick(code)
{
	$.post(
		location.href,
		{ "cmd-saved": 1, "code": code },
		function (ret)
		{
			if (ret.status == "SUCCESS")
			{
				$("#btnSaved").html(ret.btn);
				$("#sao_count").html(ret.cnt);
				alert("保存しました");
			}
			else
			{
				alert(ret.msg);
			}
		},
		"json"
	);
	return false;
}

function onMapIconClick(pos)
{
	$.post(
		location.href,
		{ "x": pos.x, "y": pos.y, "cmd-tip": 1 },
		function (ret) {
			if (ret.status == "SUCCESS") {
				this.openInfoWindowHtml('<center><br /><a href="/detail/' + ret.code + '/">' + ret.name + '</a></center>');
			}
		},
		"json"
	);
	return false;
}
