// header.js
// Copyright (C) 2007-2009 Masayuki Iwai all rights reserved.
// ----
// 2007.02.18 ver.1.0.0.0
// 2007.05.18 ver.1.1.0.0
// 2009.04.21 ver.1.1.1.0
// 2009.04.28 ver.1.1.2.0
// 2009.05.20 ver.1.1.3.0
// 2009.12.25 ver.1.1.4.0

var g_Tabs = new Array(
	{"url":"http://windows-keitai.jp/NewsLink/"			, "id":"link_ce_03"            }, // ニュース
	{"url":"http://windows-keitai.jp/"					, "id":"link_ce_01"            }, // TOP
	{"url":"http://windows-keitai.jp/backnumber/"		, "id":"link_ce_02"            }, // What's New一覧
	{"url":"http://soft.wince.ne.jp/"					, "id":"link_ce_04"            }, // ソフトウェアライブラ
	{"url":"http://tabletpc.jp/"						, "id":"link_ce_05"            }, // タブレットPC
	{"url":"http://www.tabletpc.jp/"					, "id":"link_ce_05"            }, // タブレットPC
	{"url":"http://wiki.wince.ne.jp/vaio-ux/"			, "id":"link_ce_06"            }, // VAIO U
	{"url":"http://mylo.windows-keitai.com/"			, "id":"link_ce_07"            }, // mylo
	{"url":"http://www.wince.ne.jp/zune/"				, "id":"link_ce_08"            }, // Zune
	{"url":"http://windows-keitai.com/?%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9%E6%95%99%E3%81%88%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84", "id":"link_kt_01", "sub":"05"}, // 活用コンテスト
	{"url":"http://windows-keitai.com/scene/"			, "id":"link_kt_01", "sub":"05"}, // 活用コンテスト
	{"url":"http://windows-keitai.com/?%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9", "id":"link_kt_01", "sub":"02"}, // ニュース
	{"url":"http://windows-keitai.com/?%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88", "id":"link_kt_01", "sub":"03"}, // イベント
	{"url":"http://windows-keitai.com/?%E7%89%B9%E9%9B%86", "id":"link_kt_01", "sub":"04"}, // 特集
	{"url":"http://windows-keitai.com/"					, "id":"link_kt_01", "sub":"01"}, // 総合
	{"url":"http://www.windows-keitai.com/"				, "id":"link_kt_01", "sub":"01"}, // 総合
	{"url":"http://x01ht.windows-keitai.com/"			, "id":"link_kt_02", "sub":"01"}, // X01HT
	{"url":"http://x01t.windows-keitai.com/"			, "id":"link_kt_02", "sub":"02"}, // X01T
	{"url":"http://x02ht.windows-keitai.com/"			, "id":"link_kt_02", "sub":"03"}, // X02HT
	{"url":"http://x03ht.windows-keitai.com/"			, "id":"link_kt_02", "sub":"04"}, // X03HT
	{"url":"http://x04ht.windows-keitai.com/"			, "id":"link_kt_02", "sub":"05"}, // X04HT
	{"url":"http://x05ht.windows-keitai.com/"			, "id":"link_kt_02", "sub":"06"}, // X05HT
	{"url":"http://x02t.windows-keitai.com/"			, "id":"link_kt_02", "sub":"07"}, // X02T
	{"url":"http://x01sc.windows-keitai.com/"			, "id":"link_kt_02", "sub":"08"}, // X01SC
	{"url":"http://wiki.wince.ne.jp/W-ZERO3es/"			, "id":"link_kt_03", "sub":"01"}, // W-ZERO3[es]
	{"url":"http://wiki.wince.ne.jp/W-ZERO3/"			, "id":"link_kt_03", "sub":"02"}, // W-ZERO3
	{"url":"http://w-zero3.windows-keitai.com/"			, "id":"link_kt_03", "sub":"03"}, // Advanced/W-ZERO3[es]
	{"url":"http://03-willcom.windows-keitai.com/"		, "id":"link_kt_03", "sub":"04"}, // WILLCOM 03
	{"url":"http://willcom.windows-keitai.com/"			, "id":"link_kt_03", "sub":"05"}, // (HYBRID W-ZERO3)WILLCOM Windows Mobile 6.5
	{"url":"http://s01sh.windows-keitai.com/"			, "id":"link_kt_04", "sub":"01"}, // S01SH
	{"url":"http://emonster.windows-keitai.com/"		, "id":"link_kt_04", "sub":"03"}, // EMONSTER(S11HT)
	{"url":"http://s12ht.windows-keitai.com/"			, "id":"link_kt_04", "sub":"04"}, // EMONSTER lite(S12HT)
	{"url":"http://touch-diamond.windows-keitai.com/"	, "id":"link_kt_04", "sub":"05"}, // S21HT
	{"url":"http://dual-diamond.windows-keitai.com/"	, "id":"link_kt_04", "sub":"06"}, // Dual Diamond(S22HT)
	{"url":"http://htcz.windows-keitai.com/"			, "id":"link_kt_05", "sub":"01"}, // hTc Z
	{"url":"http://sc-01b.windows-keitai.com/"			, "id":"link_kt_05", "sub":"08"}, // SC-01B
	{"url":"http://f1100.windows-keitai.com/"			, "id":"link_kt_05", "sub":"02"}, // F1100
	{"url":"http://ht1100.windows-keitai.com/"			, "id":"link_kt_05", "sub":"03"}, // HT1100
	{"url":"http://ht-01a.windows-keitai.com/"			, "id":"link_kt_05", "sub":"04"}, // HT-01A(Touch Pro)
	{"url":"http://ht-02a.windows-keitai.com/"			, "id":"link_kt_05", "sub":"05"}, // HT-02A(Touch Diamond)
	{"url":"http://t-01a.windows-keitai.com/"			, "id":"link_kt_05", "sub":"06"}, // T-01A(東芝 TG01)
	{"url":"http://ht-03a.windows-keitai.com/"			, "id":"link_kt_05", "sub":"07"}, // HT-03A(Android HTC)
	{"url":"http://se-01b.windows-keitai.com/"			, "id":"link_kt_05", "sub":"09"}, // SE-01B(Android ソニエリ)
	{"url":"http://map.windows-keitai.com/emobile/"		, "id":"link_kt_06", "sub":"01"}, // みんなのイーモバエリア
	{"url":"http://map.windows-keitai.com/WiMAX/UQ"		, "id":"link_kt_06", "sub":"02"}, // みんなのUQ WiMAXエリア
	{"url":"http://map.windows-keitai.com/xgp/willcom/"	, "id":"link_kt_06", "sub":"03"}, // みんなのWILLCOM CORE XGPエリア
	{"url":"http://soft.wince.ne.jp/"					, "id":"link_kt_08", "sub":"01"}, // ソフトウェアライブラリ
	{"url":"http://soft.wince.ne.jp/soft/Peripherals/"	, "id":"link_kt_08", "sub":"02"}, // 周辺機器ライブラリ
	{"url":"http://blog.goo.ne.jp/cestaff"				, "id":"link_kt_07"            }, // 日記
	{"url":"http://touch-pro.windows-keitai.com"		, "id":"link_kt_09", "sub":"01"}, // HTC Touch Pro
	0 // end of data
);

var g_PrevTab = "";

function GetElement(id)
{
	return (
		document.getElementById? document.getElementById(id):
		document.all? document.all.item(id):
		document.layers? document.layers[id]: null
	);
}

function InitializeHeader()
{
	var url = location.href;
	var pattern;

	for(var i in g_Tabs)
	{
		pattern = new RegExp("^" + QuoteMeta(g_Tabs[i].url), "i");
		if(g_Tabs[i] && (url.match(pattern) || decodeURIComponent(url).match(pattern)))
		{
			ActivateTab(g_Tabs[i].id, g_Tabs[i].sub);
			break;
		}
	}
}

function ShowElement(id, flag)
{
	var obj = GetElement(id);
	if(obj)
		obj.style.display = (flag? "block": "none");
}

function ActivateTab(id, sub)
{
	var obj;

	if(g_PrevTab)
	{
		obj = GetElement(g_PrevTab);
		if(obj)
		{
			obj.className = obj.className.replace(/ ?active( sub)?$/, "");
		}
	}

	obj = GetElement(id);
	if(obj)
		obj.className += " active" + (sub? " sub": "");

	if(sub)
	{
		if(parseInt(sub, 10) > 0)
		{
			obj = GetElement(id + "_" + sub);
			if(obj)
				obj.className += " active";
		}

		ShowSubTabs(id);
	}

	g_PrevTab = id;
}

function ShowSubTabs(id)
{
	var i;
	ShowElement("tabs_sub", true);

	for(i in g_Tabs)
	{
		if(g_Tabs[i] && g_Tabs[i].sub)
		{
			ShowElement(g_Tabs[i].id + "_" + g_Tabs[i].sub, (g_Tabs[i].id == id));
		}
	}
}

function ChangeContainerTab(id)
{
	ActivateTab(id, -1);
}

function QuoteMeta(str)
{
	if(!str)
		return "";
	else
		return str.replace(/([.\\+*?\[^\]($)])/g, "\\$1");
}
