/*================================
ファイル名：share.js
エンコーディング : utf-8
=================================*/

$(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").addClass("last-child");
	
	/* Rollover Effect for Global Navigation */
	$("img[src*='_off']").each(function(){
		var imgSrc = $(this).attr("src");
		var rollOverSrc = imgSrc.replace("_off","_on");
		var preload = new Image();
		preload.src = rollOverSrc;
		$(this).hover(function(){
			$(this).attr("src",rollOverSrc);
		},function(){
			$(this).attr("src",imgSrc);
		});
	});
	
	$(function(){
		$("input,textarea").hover(function(){
			$(this).addClass("hover");
		},function(){
			$(this).removeClass("hover");
		}).focus(function(){$(this).addClass("focus");})
		.blur(function(){$(this).removeClass("focus");});
	});	
	
	/* スムーズスクロール */
	function getScrollPosition(){
		var obj = {};
		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;
	});
	
	/* ストライプテーブル（奇数行のテーブルまたは偶数行のddに色を付ける） */
	$("table#AssIntro tr:even,div.IntroList dl dd:odd").addClass("Stripe");
		
	/* Google Mapを表示する */
	var map, address;
	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");
				$(".branchInfo").append(divMap);
				map = new GMap2(divMap);
				map.addControl(new GMapTypeControl());
				map.addControl(new GLargeMapControl());
				geocoder = new GClientGeocoder();
				moveAddress(address);
				var mapLink = document.createElement("p");
				var mapAnchor = document.createElement("a");
				$(mapAnchor).attr("href","http://maps.google.co.jp/maps?f=q&hl=ja&geocode=&q="+encodeURI(address))
				.text("大きな地図はこちらから");
				$(mapLink).addClass("mapLink").append(mapAnchor);
				$(".branchInfo").append(mapLink);
			}
		}
	}
	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();	
});

$(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();								
});
