// ページまでのフルパスを記述↓	
var commonPath = "/"; 

var imgArray = new Array();
setFontIcon("small", "on", "font_small_on.gif");
setFontIcon("small", "off", "font_small_off.gif");
setFontIcon("medium", "on", "font_medium_on.gif");
setFontIcon("medium", "off", "font_medium_off.gif");
setFontIcon("large", "on", "font_large_on.gif");
setFontIcon("large", "off", "font_large_off.gif");

var sizeArray = new Array();
var cookieStr = document.cookie;

var divCookie = cookieStr.split("; ")
for (var i=0; i<divCookie.length; i++) {
	var divOneCookie = divCookie[i].split("=");
	if (divOneCookie.length == 2) {

		sizeArray[divOneCookie[0]] = divOneCookie[1];
	}
}

var ieStr = "";
var obBrowser = checkBrowser();
if (obBrowser.kind == "Internet Explorer") ieStr = "_ie"

var fontSizeStr;
if (sizeArray['size']) {
	fontSizeStr = sizeArray['size'];
} else {
//デフォルトサイズ
	fontSizeStr = "medium";
}

var hrefStr = commonPath + "css/font_" + fontSizeStr + ieStr + ".css";
document.write("<link id=\"linkFont\" rel=\"stylesheet\" type=\"text/css\" href=\"" + hrefStr + "\" media=\"all\" />");

// ブラウザの種類を判別する
function checkBrowser() {
	var obBrowser = new Object();
	var getUa = navigator.userAgent;
	if (getUa.match(/Opera[\/\s](\d\.\d+)/)) {
		obBrowser.kind = "Opera";
		obBrowser.ver = RegExp.$1;
	} else if (getUa.match(/MSIE (\d\.\d+)/)) {
		obBrowser.kind = "Internet Explorer";
		obBrowser.ver = RegExp.$1;
	} else if (getUa.match(/Mozilla\/(4\.[5678]\d?)/)) {
		obBrowser.kind = "Netscape";
		obBrowser.ver = RegExp.$1;
	} else if (getUa.match(/Netscape6?\/([\.\d]+)/)) {
		obBrowser.kind = "Netscape";
		obBrowser.ver = RegExp.$1;
	} else if (getUa.match(/Safari\/([\.\d]+)/)) {
		obBrowser.kind = "Safari";
		obBrowser.ver = RegExp.$1;
	} else if (getUa.match(/Gecko/)) {
		if (getUa.match(/(Firebird|Firefox)\/([\.\d]+)/)) {
			obBrowser.kind = "Mozilla Firefox";
			obBrowser.ver = RegExp.$2;
		} else if (getUa.match(/Thunderbird\/([\.\d]+)/)) {
			obBrowser.kind = "Mozilla Thunderbird";
			obBrowser.ver = RegExp.$1;
		} else if (getUa.match(/rv:([\.\d]+)/)) {
			obBrowser.kind = "Mozilla";
			obBrowser.ver = RegExp.$1;
		} else {
			obBrowser.kind = "Mozilla";
			obBrowser.ver = null;
		}
	} else {
		obBrowser.kind = "N/A";
		obBrowser.ver = null;
	}
	return obBrowser;
}

// クッキーにフォント情報を格納する
function setCookie(){
	exp = new Date();
	exp.setTime(exp.getTime()+1000*60*60*24*365);
	document.cookie = "size=" + fontSizeStr + ";expires=" + exp.toGMTString() + ";path=/";
}

function setFontIcon(sizeStr, condition, imgName) {
	if (!imgArray[sizeStr]) {
		imgArray[sizeStr] = new Array();
	}
	imgArray[sizeStr][condition] = new Object();
	imgArray[sizeStr][condition].img = new Image();
	imgArray[sizeStr][condition].img.src = commonPath + "img/common/" + imgName;//ボタン画像までのパス
}

/** 
 * 指定された要素に対して、イベントリスナーを定義する
 **/
function addListener(el, eventType, fnc, cap) {
	if (el.addEventListener) {
		el.addEventListener(eventType, fnc, cap);
	} else if (el.attachEvent) {
		el.attachEvent("on" + eventType, fnc);
	}
}

var elSmall;
var elMedium;
var elLarge;

function init() {
	var elFontFrame = document.getElementById("fontchange");
	elFontFrame.style.display = "block";

	elSmall = document.getElementById("font_small");
	elMedium = document.getElementById("font_medium");
	elLarge = document.getElementById("font_large");

	// フォントアイコンの表示
	setFontImage();

	// フォントアイコン（小）にイベントを追加する
	elSmall.onclick = function() {
		changeFont("small");
	}
	// フォントアイコン（中）にイベントを追加する
	elMedium.onclick = function() {
		changeFont("medium");
	}
	// フォントアイコン（大）にイベントを追加する
	elLarge.onclick = function() {
		changeFont("large");
	}
}

function setFontImage() {
	switch (fontSizeStr) {
		case "small":
				elSmall.src = imgArray["small"]["on"].img.src;
				elMedium.src = imgArray["medium"]["off"].img.src;
				elLarge.src = imgArray["large"]["off"].img.src;
			break;
		case "medium":
				elSmall.src = imgArray["small"]["off"].img.src;
				elMedium.src = imgArray["medium"]["on"].img.src;
				elLarge.src = imgArray["large"]["off"].img.src;
			break;
		case "large":
				elSmall.src = imgArray["small"]["off"].img.src;
				elMedium.src = imgArray["medium"]["off"].img.src;
				elLarge.src = imgArray["large"]["on"].img.src;
			break;
	}
}

function changeFont(targetFont) {
	fontSizeStr = targetFont;

	var elCss = document.getElementById("linkFont");
	elCss.href = commonPath + "css/font_" + fontSizeStr + ieStr + ".css";

	setFontImage();
	setCookie();
}


addListener(window, "load", init, false);

