﻿/// <reference path="jquery-vsdoc.js"/>
/// <reference path="master.js"/>
//画像プリロード
jQuery.preloadImages = function(){
    for(var i = 0; i<arguments.length; i++){
        jQuery("<img>").attr("src", arguments[i]);
    }
};

var masterNavData = null;


/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  メソッド
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function Master(rightControlUri, controlDirectoryUri)
{
	/// <summary>マスターページを作成します。</summary>
	/// <param name="rightControlUri" type="string" mayBeNull="true">
	/// 右側ユーザーコントロールの URI。(デフォルト null)
	/// この値は、controlDirectoryUri の値に依存しません。
	/// </param>
	/// <param name="controlDirectoryUri" type="string" mayBeNull="true">
	/// ユーザーコントロールを配置したディレクトリ URI。(デフォルト "control/")
	/// </param>
	
	//*** ユーザーコントロール読み込み *******************
	var load = function(elm, uri)
	{
		var response = function(data, type)
		{
			$(data).appendTo(elm);
		};
		$.ajax({url:uri, dataType:"html", success:response});
	};
	
	var d = (controlDirectoryUri) ? controlDirectoryUri : "control/";
	load("#header",	d + "master.header.html");
	load("#left",	d + "master.left.html");
	load("#footer",	d + "master.footer.html");
	if (rightControlUri)
		load("#right", rightControlUri);
	
	
	//*** ナビゲーション初期化 ****************************
	var createNav = function(data, root, conf)
	{
		var isActive = false;
		$(data).find('Nav').each(function(index)
		{
			var id		= $(this).attr('id'),
				href	= $(this).attr('href'),
				tip		= $(this).attr('tip'),
				img		= $(this).attr('img'),
				label	= $(this).attr('label'),
				css		= conf.PassiveNavCss;
			var file = location.pathname.split("/").pop();
			if(file == href)
			{
				css = conf.ActiveNavCss;
				isActive = true;
			}
			var html=
				'<a id="' + id + '" class="' + css +
				'" href="' + href + '" title="' + tip + '">' +
				'<img src="' + img + '" alt="' + tip + '" />' +
				label + '</a>';
			$(html).appendTo("#" + root);
		});
		return isActive;
	};
	var createTab = function(data, conf)
	{
		var activeId = null;
		$(data).find('Tab').each(function(index)
		{
			var id		= $(this).attr('id'),
				tip		= $(this).attr('tip'),
				navsId	= $(this).attr('navHolderId');
			var tab	=
				'<a id="' + id + '" class="' + conf.PassiveTabCss +
				'" title="' + tip + '" href="javascript:void(0);" ' +
				'onmouseover="GlobalNavigation(this.id);"></a>';
			var nav =
				'<div id="' + navsId + '"></div>';
			$(tab).appendTo("#" + conf.Tabs);
			$(nav).appendTo("#" + conf.Navs);
			var isActive = createNav($(this), navsId, conf);
			if(isActive)
				activeId = id;
		});
		return activeId;
	};
	var navInit = function(data, type)
	{
		var conf = getGlobalNavigationSetting(data);
		var holder =
			'<div id="' + conf.Tabs + '"></div>' +
			'<div id="' + conf.Navs + '"></div>';
		$(holder).appendTo("#" + conf.Root);
		var activeId = createTab(data, conf);
		masterNavData = data;
		GlobalNavigation(activeId);
		// 先読み画像指定
		$.preloadImages(
			"img/nav_tab_0.jpg",
			"img/nav_tab_1a.jpg",
			"img/nav_tab_2a.jpg",
			"img/nav_tab_3a.jpg",
			"img/nav_tab_4a.jpg",
			"img/nav_tab_5a.jpg",
			"img/contact_bottom1a.jpg",
			"img/contact_bottom2a.jpg",
			"img/contact_bottom3a.jpg");

	};
	$.ajax(
	{
		url:"control/navigation.global.xml",
		dataType:"xml",
		success:navInit
	});
}

function getGlobalNavigationSetting(data)
{
	var conf = {};
	conf.Root			= $(data).find('SettingDocument').attr('rootId');
	conf.Tabs			= $(data).find('SettingDocument').attr('tabsId');
	conf.Navs			= $(data).find('SettingDocument').attr('navsId');
	conf.ActiveTabCss	= $(data).find('SettingTab').attr('activeClass');
	conf.PassiveTabCss	= $(data).find('SettingTab').attr('passiveClass');
	conf.ActiveNavCss	= $(data).find('SettingNavigation').attr('activeClass');
	conf.PassiveNavCss	= $(data).find('SettingNavigation').attr('passiveClass');
	return conf;
}

function GlobalNavigation(tabid)
{
	if(!masterNavData) return;

	var d = masterNavData;
	var conf = getGlobalNavigationSetting(d);
	if (!tabid)
	{
		tabid = $(d).find('Tab').attr('id');
	}
	$(d).find('Tab').each(function(index)
	{
		var tid	= $(this).attr('id'),
			nid	= $(this).attr('navHolderId');
		if (tid == tabid)
		{
			$('#' + tid).
				removeClass(conf.PassiveTabCss).
				addClass(conf.ActiveTabCss);
			$('#' + nid).
				css("display", "block");
		}
		else
		{
			$('#' + tid).
				removeClass(conf.ActiveTabCss).
				addClass(conf.PassiveTabCss);
			$('#' + nid).
				css("display", "none");
		}
	});
}


//*** クリック表示 ****************************
//function VisibleToggle(id)
//{
//	var elm = document.getElementById(id);
//	if (elm.style.display == "block")
//	{
//		elm.style.display = "none";
//	}
//	else
//	{
//		elm.style.display = "block";
//	}
//}

///*** FAQアコーディオン jquery版**********************
$(function () {
	$(".answer").hide();
	$(".question").click(function () {
		$(this).next(".answer").slideToggle("normal");
		var $this = $(this);
		if ($this.hasClass('active')) {
			$this.removeClass('active');
		} else {
			$this.addClass('active');
		}
	});
});

///*** 施設案内アコーディオン jquery版**********************
$(function () {
	$(".shisetsu_contents").hide();
	$(".shisetsu_title").click(function () {
		//$(".shisetsu_contents").slideUp("normal");
		$(this).next(".shisetsu_contents").slideToggle("normal");
	});
});





