// ***********************************************************
// 
//  Since:			2007-10-16
//  Modified:		2007-10-16
//  Guideline:		Ver.1.00
//  Editor:			Shinji Namura(SONAR.Inc)
//  Last Modified:	Shinji Namura(SONAR.Inc)
// 
// ***********************************************************
// 

//  javascript Document

//  文字サイズ変更　第二階層からの呼び出し用

b = navigator.appName.charAt(0);
if (b == "M") { 
document.write('<link rel="alternate stylesheet" type="text/css" title="size_small" href="../css/ie_text_small.css" />');
document.write('<link rel="stylesheet" type="text/css" title="size_default" href="../css/ie_text_middle.css" />');
document.write('<link rel="alternate stylesheet" type="text/css" title="size_large" href="../css/ie_text_large.css" />');
} else {
document.write('<link rel="alternate stylesheet" type="text/css" title="size_small" href="../css/text_small.css" />');
document.write('<link rel="stylesheet" type="text/css" title="size_default" href="../css/text_middle.css" />');
document.write('<link rel="alternate stylesheet" type="text/css" title="size_large" href="../css/text_large.css" />');
}

// 指定されたタイプ、タイトルのスタイルシートを有効にする
// 同じタイプのほかのタイトルのスタイルシートは無効にする
function changeStyleSheet(inType,inTitle) {
	var i, main;
	main = document.getElementsByTagName("link");
	for(i=0; i<main.length; i++) {
		if(main[i].getAttribute("rel").indexOf("stylesheet") != -1 && main[i].getAttribute("title")) {
			title = main[i].getAttribute("title");
			if(title.indexOf(inType + '_')!=-1){
				main[i].disabled = true;
				if(title == inType + "_" + inTitle){
					main[i].disabled = false;
				}
			}
		}
	}
	setCookie(inType, inTitle, 90);
}

// 各タイプのデフォルトスタイルシート名を返す。
function getPreferredStyleSheet(inType) {

	var links = document.getElementsByTagName("link");

	for(var i=0; i<links.length; i++) {
		var a = links[i];
		if(a.getAttribute("rel") == 'stylesheet' && a.getAttribute("title") && a.getAttribute("title").indexOf(inType + '_')==0){
			var title = a.getAttribute("title");
			return title.substring((inType + '_').length,title.length);
		}
	}
	return null;
}

function setCookie(name,value,days) {
	var expires = '';
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}

	document.cookie = name+"="+value+expires+"; path=/;";
}

function getCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

// 大中小などを押さないでの文字サイズ変更
// ページロード時などにクッキーの中身を取得して
// スタイルシートを適応する。
// クッキーがなければデフォルトのを使用する。
// :inType = スタイルシートタイプ（size,color）
function defaultStyleLoad(inType){
	var cookie = getCookie(inType);
	var title = cookie ? cookie : getPreferredStyleSheet(inType);
	changeStyleSheet(inType,title);
}

// 念のためオンロード時にも実行
window.onload = function(e) {
	defaultStyleLoad('size');
	defaultStyleLoad('color');
}
