/*================================
[share_jquery.js][要jQuery.js,jquery.lightbox.js]
[tokuda@n-di.co.jp]
=================================*/

$(function() {
			  	
	/* body以下の要素のfirstChild(そのクラスにaccessGuideがあれば次の要素)にクラス(first-child)を付加 */
	$("body *:first-child").not("br").each(function(){
		if(this.className.match(/Guide/)){
			$(this).next().addClass("first-child");
		}else{
			$(this).addClass("first-child");
		}
	});
	$("body *:last-child").not("br").each(function(){
		$(this).addClass("last-child");
	});
	
	/* リンクのソース選択時 */
	$("textarea",".textarea").focus(function(){this.select();});
	
	/* 物件詳細の画像選択時 - lightbox */
	$(".thumbs a , .thumbs02 a, .thumbs03 a").lightBox({
		overlayBgColor: "#000",
		overlayOpacity: .7,
		imageLoading: "../../img/share/lightbox-ico-loading.gif",
		imageBtnClose: "../../img/share/lightbox-btn-close.gif",
		imageBtnPrev: "../../img/share/lightbox-btn-prev.gif",
		imageBtnNext: "../../img/share/lightbox-btn-next.gif",
		containerResizeSpeed: 350,
		txtImage: "Imagem",
		txtOf: "de"
   });
	
	$(".thumbs img , .thumbs02 img").hover(
		function(){$(this).stop().fadeTo(200,.6);},
		function(){$(this).fadeTo(450,1);}
	);
	
	
	/* Google Mapを表示する */
	var map, address,map2, address2;

	function load() {
		var displayMap = $("#displayMap");
		if(displayMap.length>0){
			var addressTxt = $(displayMap).text();
			
			address = addressTxt;
				
			if(GBrowserIsCompatible()) {
				var divMap = document.createElement("div");
				$(divMap).attr("id","map")
				$(displayMap).append(divMap);

				map = new GMap2(divMap);
				map.addControl(new GMapTypeControl());
				map.addControl(new GLargeMapControl());

				geocoder = new GClientGeocoder();
				moveAddress(address);

				var spanNode = "[地図を表示する]";
				var spanNodeOn = "[地図を表示しない]";
				
				var span = document.createElement("span");
				$(span).text(spanNodeOn).insertBefore(divMap).css("cursor","pointer").css("textDecoration","underline").hover(
					function(){$(this).css("textDecoration","none")},
					function(){$(this).css("textDecoration","underline")}
				).click(
					function(){
						$(divMap).animate(
							{height: "toggle"},
							{duration: 450, easing: "swing"}
						);
						span.lastChild.nodeValue = (span.lastChild.nodeValue!=spanNode) ? spanNode : spanNodeOn;		
					}
				);
			}
		}else if($("#address").length>0){
			var address = $("#address").text();
			
			if(GBrowserIsCompatible()) {

				var h2 = document.createElement("h2");
				$(h2).attr("id","accessmap").text("アクセスマップ").insertAfter(".company");
				var access = document.createElement("div");
				$(access).attr("id","access")
				$(access).insertAfter(h2);
				
				var anchor = document.createElement("a");
				$(anchor).addClass("mapLink").attr("href","#accessmap").text("アクセスマップ").insertAfter("#address");
				
				map = new GMap2(access);
				map.addControl(new GMapTypeControl());
				map.addControl(new GLargeMapControl());
							
				geocoder = new GClientGeocoder();
				moveAddress(address);
			}
		}

		var mapArea = $("#mapArea");
		if(mapArea.length>0){
			var addressTxt2 = $(mapArea).text();

			address2 = addressTxt2;
				
			if(GBrowserIsCompatible()) {
				var divMap2 = document.createElement("div");
				$(divMap2).attr("id","map2")
				$(mapArea).append(divMap2);
				
				map2 = new GMap2(divMap2);

				geocoder2 = new GClientGeocoder();
				geocoder2.getLatLng(address2,moveArea);
				
				function moveArea(LatLng){
					if (LatLng){
						map2.addControl(new GMapTypeControl());
						map2.addControl(new GLargeMapControl());

						map2.setCenter(LatLng, 14);

						marker2 = new GMarker(LatLng);

						GEvent.addListener(marker2,"click", function(){marker2.openInfoWindowHtml(address2);})
						map2.addOverlay(marker2);
					}else{
						$(mapArea).append("<p class='noteMap'>この住所は見つかりませんでした。</p>");
					}
				}
			}
		}
	}
				
	function moveAddress(address){
		geocoder.getLatLng(address, showMap);
	}

	function showMap(address){
		if (address){
			map.setCenter(address, 14);
			var marker = new GMarker(address);
			map.addOverlay(marker);
		}else{
			return false;
		}
	}
	load();

	/* プリントアウトボタンを生成する */
	function printOut() {
		if($("#displayMap").length<1) return false;
		var h1 = document.getElementsByTagName("h1")[0];
		var p = document.createElement("p");
		var img = document.createElement("img");
		$(img).attr("src","../../img/share/printout.png").attr("alt","このページを印刷する").css("cursor","pointer").click(function(){
			if($("#map").css("display")=="none") {
				$("#map").css("display","");
				$("span","#displayMap").text("[地図を表示しない]");
			}
			window.print();
		});
		$(p).append(img).css("textAlign","right").css("margin","1em 3px 0 0").attr("id","print").insertAfter(h1);
	}
	printOut();
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	/* タブ設定 */
	var tab = "#tab";
	var tabCont = ".tabCont";
	$(tabCont).not("div:first-child").hide();
	var active = "active";
	$($("a:first-child" , tab).attr("href")).fadeIn(300);
	$("a" , tab).click(function(){
		var ID = $(this).attr("href");
		$("a" , tab).parent().removeClass(active);
		$(this).parent().addClass(active);
		$(tabCont).hide();
		$(ID).fadeIn(300);
		return false;
	});
	$("a" , tab).hover(function(){
		$("img" , this).fadeOut(200);
	},function(){
		$("img" , this).fadeIn(200);
	});

	/* スムーズスクロール */
	function getScrollPosition(){
		var obj = new Object();
		obj.x = document.body.scrollLeft || document.documentElement.scrollLeft;
		obj.y = document.body.scrollTop || document.documentElement.scrollTop;
		return obj;
	}

	$("p.pagetop a").click(function(){
		var y = getScrollPosition().y;
		var x = getScrollPosition().x;
		var timer = setInterval(
			function(){
				y = y - Math.ceil(y/5);
				x = x - Math.ceil(x/5);
				window.scroll(x,y);
				if(y<1) clearInterval(timer);
			}
		,10);
		return false;
	});
	
	/* オープンハウス情報の読み込み */
	var Load = {
		id: "#loadArea",
		get: "#getArea",
		url: "../../",
		file: "openh.php"
	}	
	$(Load.id).load(Load.url+Load.file+" "+Load.get);
	
});

$(window).load(function(){
	/* フラグメント参照fix */
	function flagment(){
		var targetId = $(location.hash);
		if(location.hash && targetId.length>0){
			var offset = targetId.offset();
			window.scroll(0,offset.top);
			return false;
		}
	}
	flagment();								
});

$(window).unload(function(){
	if($("#displayMap").length>0) GUnload();
});
