/*
 * font.js - フォントサイズ変更用スクリプト
 */

// フォント用CSS一覧
var font_list = new Array();
font_list['large']   = 'font-size_l.css';
font_list['regular'] = 'font-size_s.css';

// 基準パス(xmlデータ設定箇所)→移行時にはパスを変更する
var www_pass  = 'http://133.205.114.13/';
//var www_pass  = 'http://www.rkc-kochi.co.jp/';
var www_slash = www_pass.match(/\//g).length;

/*
 * フォントサイズ初期化 (Cookieより保存したフォントサイズを取得)
 * 引数： なし
 */
function fontInit(color) {
	var size = 'regular';

	// 色が設定されていない場合、デフォルトで青を設定する
	if(isEmpty(color)){ color = 'blue' };

	// Cookieの 有効/無効 判定
	if(checkCookie()) {
		// Cookieよりデータ取得
		size = getCookie('type');
		if(isEmpty(size)){ size='regular' };
	}
	// フォントサイズセット
	chengeFont(size, color);
}

/**
 * 更新情報用HTML設定用関数 chengeFont()
 */
function chengeFont(size, color){
	var str = '';

	// 色が設定されていない場合、デフォルトで青を設定する
	if(isEmpty(color)){ color = 'blue' };

	// 基準パスとの階層差のチェック
	var url_position = '';
	var filepath = location.href;
	var dir = filepath.match(/\//g);
	for(i=0;i<dir.length-www_slash;i++){ url_position += '../' };

	// 設定カラー取得
	set_font = font_list[size];

	// ブラウザ判別
	if( navigator.appVersion.indexOf("Mac") > 1 && navigator.userAgent.indexOf("7.0") > 1){
		//Mac NN7.0処理なし
	} else if (navigator.appVersion.indexOf("Mac") > 1 && navigator.appName.charAt(0)=="M" && 
			   navigator.userAgent.indexOf("5.0") > 1){
		//Mac IE5.0処理なし
	} else if (navigator.appVersion.indexOf("Mac") > 1 && navigator.appName.charAt(0)=="M" && 
			   navigator.userAgent.indexOf("5.1") > 1){
		//MacOS IE5.1 スタイルシート切り替え
		str += '<link rel="stylesheet" type="text/css" id="fontsize"  media="screen, print, tty" ';
		str += 'href="' + url_position + 'css/' + set_font + '" />';

		// HTML書き込み(div id='setfont')
		var element = document.getElementById('setfont');
		if(element){ document.getElementById('setfont').innerHTML = str };

		//Mac IE end
	} else if( navigator.appVersion.indexOf("Mac") > 1 && navigator.appName.charAt(0)=="M" && 
			   navigator.userAgent.indexOf("5.2") > 1){
		//MacOS IE5.2 スタイルシート切り替え
		str += '<link rel="stylesheet" type="text/css" id="fontsize"  media="screen, print, tty" ';
		str += 'href="' + url_position + 'css/' + set_font + '" />';

		// HTML書き込み(div id='setfont')
		var element = document.getElementById('setfont');
		if(element){ document.getElementById('setfont').innerHTML = str };

		//Mac IE end
	} else {
		//上記以外ブラウザ スタイルシート切り替え
		var style = document.getElementById('setfont');
		str += url_position + 'css/' + set_font;
		style.href= str;

		//Mac IE 以外 end
	}
	changeFontImage(size, color);

	// Cookieの 有効/無効 判定
	if(checkCookie()) {
		// Cookieへ値を書込み
		setCookie('type', size, www_pass, "", 7, 0);
	}
}

/*
 * フォントボタン画像設定用関数
 * 引数： size 画像サイズ
 */
function changeFontImage(size, color) {
	var str = '';

	// ブラウザ判別
	if( navigator.appVersion.indexOf("Mac") > 1 && navigator.userAgent.indexOf("7.0") > 1){
		//Mac NN7.0処理なし
	} else if (navigator.appVersion.indexOf("Mac") > 1 && navigator.appName.charAt(0)=="M" && 
			   navigator.userAgent.indexOf("5.0") > 1){
		//Mac IE5.0処理なし
	} else if (navigator.appVersion.indexOf("Mac") > 1 && navigator.appName.charAt(0)=="M" && 
			   navigator.userAgent.indexOf("5.1") > 1){
		//MacOS IE5.1 スタイルシート切り替え
		str = setImageHTML(size, color);
		// HTML書き込み(div id='fontSize')
		var element = document.getElementById('fontSize');
		if(element){ document.getElementById('fontSize').innerHTML = str };

		//Mac IE end
	} else if( navigator.appVersion.indexOf("Mac") > 1 && navigator.appName.charAt(0)=="M" && 
			   navigator.userAgent.indexOf("5.2") > 1){
		//MacOS IE5.2 スタイルシート切り替え
		str = setImageHTML(size, color);
		// HTML書き込み(div id='fontSize')
		var element = document.getElementById('fontSize');
		if(element){ document.getElementById('fontSize').innerHTML = str };

		//Mac IE end
	} else {
		//上記以外ブラウザ スタイルシート切り替え
		var style = document.getElementById('fontSize');
		str = setImageHTML(size, color);
		style.innerHTML = str;

		//Mac IE 以外 end
	}
}

/*
 * フォントボタンHTML設定用関数
 * 引数： size 画像サイズ
 */
function setImageHTML(size, color){
	var str = '';
	if(size == 'regular'){
		str += '<p id="fontS">';
		str += '<a href="#" onclick="chengeFont(\'regular\', \'' + color + '\');return false;">';
		str += '<img width="25" height="25" border="0" alt="並" src="/images/' + color + '/fontsize_s_on.gif"/></a>';
		str += '</p>';
		str += '<p id="fontL">';
		str += '<a href="#" onclick="chengeFont(\'large\', \'' + color + '\');return false;">';
		str += '<img width="34" height="34" border="0" alt="大" src="/images/' + color + '/fontsize_l.gif"/></a>';
		str += '</p>';
	}else if(size == 'large'){
		str += '<p id="fontS">';
		str += '<a href="#" onclick="chengeFont(\'regular\', \'' + color + '\');return false;">';
		str += '<img width="25" height="25" border="0" alt="並" src="/images/' + color + '/fontsize_s.gif"/></a>';
		str += '</p>';
		str += '<p id="fontL">';
		str += '<a href="#" onclick="chengeFont(\'large\', \'' + color + '\');return false;">';
		str += '<img width="34" height="34" border="0" alt="大" src="/images/' + color + '/fontsize_l_on.gif"/></a>';
		str += '</p>';
	}
	return str;
}

/*
 * Cookieの 有効/無効 判定
 * 引数： なし
 */
function checkCookie() {
	if (window.navigator.cookieEnabled) {
		return true;
	} else {
		return false;
	}
}

/*
 * Cookie読込
 * 引数： name Cookieのキー名称
 */
function getCookie(name) {
	if (!name || !document.cookie) {
		return;
	}
	var cookies = document.cookie.split("; ");
	for(var i=0; i<cookies.length; i++) {
		var str = cookies[i].split("=");
		if(str[0] != name) {
			continue;
		}
		return unescape(str[1]);
	}
	return;
}

/*
 * Cookie書込
 * name キー名称
 * value 値
 * domain ドメイン [1=ドメイン指定]
 * path パス [1=ドメイン指定]
 * expires 有効期限
 * secure セキュアフラグ [0=無効, 1=有効]
 */
function setCookie(name, value, domain, path, expires, secure) {
	if (!name) { return	};

	//var str = name + "=" + value;
	var str = name + "=" + escape(value);
	if(domain) {
		if(domain == 1) {
			domain = location.hostname.replace(/^[^\.]*/, "");
			str += "; domain=" + domain;
		}
	}
	path = "/";
	str += "; path=" + path;

	if(expires) {
		var nowtime = new Date().getTime();
		expires = new Date(nowtime + (60 * 60 * 24 * 1000 * expires));
		expires = expires.toGMTString();
		str += "; expires=" + expires;
	}
	if(secure && location.protocol == "https:") {
		str += "; secure";
	}
	document.cookie = str;
}

/**
 * 空判定
 */
function isEmpty(obj){ return (obj == null || obj == undefined || obj == '')? true: false; }
