$(function(){
	navitargetEx = "profile"
	CallFunction.common("body")
	getHashLocation()
})

CallFunction = {}
CallFunction.common = function(baseTarget){
	setATagAction(baseTarget)
	setNaviAction()
	setMenuAction()
	$(".hoverAttribute").hoverAttribute()
	$('.gray, #sideArea, #mainArea, #menuArea').flatHeights();
	$(".email-block-data-value .label, .email-block-data-value .label .Apple-style-span").css({color: "white"})
	$(".siteentry .body table, .siteentry .body td, .favoritesentry .body table, .favoritesentry .body td").css("border", "none")
	$(".siteentry .body table, .favoritesentry .body table").css({display: "table"})
	setSharelink()
	setFBWall()
}

setATagAction = function(baseTarget){
	$(baseTarget + " a").map(function(){
		c = $(this).attr("class")
		if(c != "") c = c.substring(0, 5)
		else c = ""
		mode = getCurrentMode($.url($(this).attr("href")))
		//内部リンクのみ
		if(mode && mode.site=="inside" && c != "share") return this
	}).bind("click", pageFadeInOut)
	$(baseTarget + " a").map(function(){
		mode = getCurrentMode($.url($(this).attr("href")))
		//画像へのリンクのみ
		if(mode && mode.site=="image") return this
	}).fancybox()
}

//上部ナビゲーション
setNaviAction = function(){
	return
	$(".navi").click(function(event){
		event.preventDefault()
		if($(".navi.active").length > 0){
			navitargetEx = $(".navi.active").attr("id").substring(5)
			targetArea = "#contentArea"
			page = "page2"
		}
		else{
			navitargetEx = ""
			targetArea = "#leftArea"
			page = "page"
		}
		//ページ内読み込み
		if($(this).hasClass("inside")){
			target = $(this).attr("id").substring(5)
			if(target == navitargetEx) return
			$("#" + navitargetEx).fadeOut("slow", 
				function(){
					$("#" + target).fadeIn("slow")
				}
			)
		}
		//ページ外からの読み込み
		if($(this).hasClass("outside")){
			target = $(this).attr("href")
			if(target == navitargetEx) return
			$(targetArea).animate({"opacity": 0}, 1000,
				function(){
					$.fancybox.showActivity()
				}
			)
			$(targetArea).load(
				target,
				{ajax: page},
				function(){
					$(targetArea).animate({"opacity": 1}, 500, 
					function(){
						$.fancybox.hideActivity()
					})
					//イベントを再割当て
					CallFunction.common(targetArea)
				}
			)
		}
		navitargetEx = target
		$(".navi").removeClass("active")
		$(this).addClass("active")
	})
	$(".navi").hover(
		function(){
			$(this).addClass("hover")
		},
		function(){
			$(this).removeClass("hover")
		}
	)
}

pageFadeInOut = function(){
	if($(this).hasClass("navi")){
		$(".navi").removeClass("active")
		$(this).addClass("active")
	}
	getLocation($(this).attr("href"))
	return false
}

getLocation = function(url){
	url = $.url(url)
	mode = getCurrentMode(url)
	//外部リンクには無効
	targetArea = "#leftArea"

	$("h1").fadeOut("slow")
	$("h2").fadeOut("slow")
	//通常ブラウザ
	if(jQuery.support.opacity){
		$(targetArea).animate({"opacity": 0}, 1000,
			function(){
				$.fancybox.showActivity()
			}
		)
		$(targetArea).load(
			url.attr("source"),
			{ajax: "page"},
			function(){
				$(targetArea).animate({"opacity": 1}, 500, function(){
					$.fancybox.hideActivity()
					//if(mode.parent == "blogwork") call_jsocializer()
					//イベントを再割当て
					CallFunction.common(targetArea)
				})
			 	target = mode.child
			 	if(target == "book" && mode.parent == "shelf") target = "shelf"
				$("body").attr({"class": target})
				$(targetArea).attr({"class": target})
				if($("body").attr("class") == "top"){
					t = "とらんすぽぞん"
					$("title").text(t)
					$("h1").html("<img id='logo' src='image/title_nega.png' alt='" + t + "'>").fadeIn("slow")
					$("h2").text("知 > 横断 > 創造").fadeIn("slow")
				}
				else{
					$.ajax({
						url:"deux/xml/menu.xml",
						dataType:"xml",
						success:function(data){
							//データを加工する処理
							cur = null
							 $("menu",data).each(
								 function(){
								 	if($(this).attr("id") == target) cur = $("title", this)
								}
							)
							if(cur != null){
								if(url.param("mode").split(".")[0] == "blogwork" && $("#blogTitle").text() != "")
									$("title").text($.trim($("#blogTitle").text() + "（" + cur.text() + "）"))
								else
									$("title").text(cur.text())
								$("h1").text(cur.text()).fadeIn("slow")
								$("h2").html("<img id='logo' src='image/title_nega_s.png'>").fadeIn("slow")
							}
					}
					})
				}
			}
		)
	}
	location.hash = url.attr("query")
}

getHashLocation = function(){
	url = $.url()
	if(url.attr("fragment") != ""){
		getLocation("deux.cfm?" + url.attr("fragment"))
	}
}

getCurrentMode = function(url){
	m = {
		site: 0,
		parent: "cover",
		child: "",
		navi: ""
	}
	if(url.attr("source").indexOf(".jpg")>=0){
		m.site = "image"
	}
	else{
		if(url.attr("source").indexOf("deux.cfm") >= 0) m.site = "inside"
		else m.site = "outside"
		//シェアボタンは外部サイトと判別
		if(!url.attr("source") || url.attr("source").indexOf("=http") >= 0) m.site = "outside"

		//IE6 or 7 or 8は通常読み込みへ
		if(!jQuery.support.opacity) m.site = "outside"
	}
	if(m.site == "inside"){
		if(!url.param("mode") || url.param("mode") == "top"){
 			m.parent = "top"
 			m.child = "top"
 			m.navi = ""
		}
		else{
			mode = url.param("mode")
			m.parent = mode
			m.child = mode
			m.navi = url.param("navi")
			if(mode.indexOf(".")>0){
				m.parent = mode.split(".")[0]
				m.child = mode.split(".")[1]
			}
		}
	}
	return m
}

//右サイドナビゲーション
setMenuAction = function(){
	$(".menu1").hover(
		function(){
			//背景色を変えるのはトップページの時のみ
			if($("#leftArea").attr("class") == "top"){
				currentClass = $(this).attr("class").split(" ")[1]
				$("#summary").addClass(currentClass)
			}
			$(this).addClass("hover")
		},
		function(){
			//背景色を変えるのはトップページの時のみ
			if($("#leftArea").attr("class") == "top"){
				currentClass = $(this).attr("class").split(" ")[1]
				$("#summary").removeClass(currentClass)
			}
			$(this).removeClass("hover")
		}
	)
}

setFBWall = function(){
	$('#FBWall').fbWall({
		id:'wolf1216',
		accessToken:'AAAC7gAoWDQ0BANiBKINODzdKZBoJ2HURiGFRVp0QTNRry1EW7ZCYjnZAurlH2GefYG24P4vyw9B289DZB1AnEnKWbMzZAli5WuSZCzJ63ahwZDZD',
		showGuestEntries:true,
		showComments:true,
		max:10,
		timeConversion:24
	});
}

setSharelink = function(){
	base_url = "http://www.transposon-jp.com/deux.cfm?"
	if($.url().attr("fragment") == "")
		share_url = base_url + encodeURIComponent($.url().attr("query"))
	else
		share_url = base_url + encodeURIComponent($.url().attr("fragment"))
	share_title = encodeURIComponent($("title").text())	
	
	$(".share-twitter").sharelink("twitter", {
		url: share_url,
		title: share_title
	});
	$(".share-facebook").sharelink("facebook", {
		url: share_url,
		title: share_title
	});
	$(".share-delicious").sharelink("delicious", {
		url: share_url,
		title: share_title
	});
	$(".share-google").sharelink("google", {
		url: share_url,
		title: share_title
	});
	$(".share-yahoo").sharelink("yahoo", {
		url: share_url,
		title: share_title
	});
}



