/*日本無線用：文字サイズ変更機能*/

/*定数群*/
COOKIE_NAME = "jrc_style";
COOKIE_EXPIRE_DAYS = 30;
CSS_FILENAME_LARGE = "large.css";
CSS_FILENAME_NORMAL = "normal.css";
CSS_FILENAME_SMALL = "small.css";

/*グローバル変数*/
var selectedCSS = "";
var cssPathLarge = "";
var cssPathNormal = "";
var cssPathsmall = "";

/*CSSファイルパスの生成*/
function makeCSSPath(){
	//デフォルトのパスを取得
	var cssDir = "";
	var defaultPath = document.getElementById( "jrc_stylesheet" ).getAttribute("href");
	//ファイル名の開始文字数を取得
	var startNum = defaultPath.indexOf( "normal" );
	//ファイル名の前のディレクトリ部分を取得
	cssDir = defaultPath.substring(0, startNum);
	//大中小のパスを生成
	cssPathLarge = cssDir + CSS_FILENAME_LARGE;
	cssPathNormal = cssDir + CSS_FILENAME_NORMAL;
	cssPathsmall = cssDir + CSS_FILENAME_SMALL;
}

/*クッキーを参照*/
function confirmCookie(){
	if( document.cookie ){
		var nameEQ = COOKIE_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 ){
				selectedCSS = c.substring( nameEQ.length, c.length );
			}
		}
	} else {
		writeCookie( "normal" );
	}
	setStyle( selectedCSS );
}

/*クッキー作成*/
function writeCookie( styleValue ) {
	if (COOKIE_EXPIRE_DAYS) {
		var date = new Date();
		date.setTime(date.getTime()+(COOKIE_EXPIRE_DAYS*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	} else {
		expires = "";
	}
	document.cookie = COOKIE_NAME + "=" + styleValue + expires + "; path=/";
	setStyle( styleValue );
}

/*クッキーの値によってスタイルを変更*/
function setStyle(selectStyle){
	var cssPath = "";
	switch(selectStyle){
		case "large":
			cssPath = cssPathLarge;
			break;
		case "normal":
			cssPath = cssPathNormal;
			break;
		case "small":
			cssPath = cssPathsmall;
			break;
		default:
			cssPath = cssPathNormal;
	}
	document.getElementById("jrc_stylesheet").href = cssPath;
	selectedCSS = selectStyle;
	
	//フロントの大中小ボタンを変更
	changeCurrentImage(selectStyle);
}

/*フロントの大中小ボタン操作用グローバル変数*/
//ボタン画像のsrc要素取得用変数
var largeSrc;
var normalSrc;
var smallSrc;
//「*.gif」の前の文字列取得用変数
var largePathNum;
var normalPathNum;
var smallPathNum;
var largeFrontPath;
var normalFrontPath;
var smallFrontPath;
//スタック用、カレント用、ロールオーバ用のsrc変数
var largeStackImage;
var normalStackImage;
var smallStackImage;
var largeCurrentImage;
var normalCurrentImage;
var smallCurrentImage;
var largeRolloverImage;
var normalRolloverImage;
var smallRolloverImage;

/*ページロード時に必ず通るボタン画像初期化ルーチン*/
function initImage(){
	//ボタン画像のsrc要素を取得
	largeSrc = document.getElementById("largeButton").src;
	normalSrc = document.getElementById("normalButton").src;
	smallSrc = document.getElementById("smallButton").src;
	//src要素から「*.gif」の前の文字列を取得
	largePathNum = largeSrc.indexOf(".gif");
	normalPathNum = normalSrc.indexOf(".gif");
	smallPathNum = smallSrc.indexOf(".gif");
	largeFrontPath = largeSrc.substring(0, largePathNum-1);
	normalFrontPath = normalSrc.substring(0, normalPathNum-1);
	smallFrontPath = smallSrc.substring(0, smallPathNum-1);
	//スタック用、カレント用、ロールオーバ用のsrcを生成
	largeStackImage = largeFrontPath + "s.gif";
	normalStackImage = normalFrontPath + "s.gif";
	smallStackImage = smallFrontPath + "s.gif";
	largeCurrentImage = largeFrontPath + "c.gif";
	normalCurrentImage = normalFrontPath + "c.gif";
	smallCurrentImage = smallFrontPath + "c.gif";
	largeRolloverImage = largeFrontPath + "v.gif";
	normalRolloverImage = normalFrontPath + "v.gif";
	smallRolloverImage = smallFrontPath + "v.gif";
	
	//ボタン画像の表示をスタック画像で初期化
	document.getElementById("largeButton").src = largeStackImage;
	document.getElementById("normalButton").src = normalStackImage;
	document.getElementById("smallButton").src = smallStackImage;
	
	//ボタン画像のカーソルをポインターで初期化
	document.getElementById("largeButton").style.cursor = "pointer";
	document.getElementById("normalButton").style.cursor = "pointer";
	document.getElementById("smallButton").style.cursor = "pointer";

	return null;
}

/*フロントの大中小ボタン：選択サイズのカレント化*/
function changeCurrentImage(selectStyle){
	initImage();
	
	//現在選択されているサイズのボタン画像にカレント画像を出力
	switch(selectStyle){
		case "large":
			document.getElementById("largeButton").src = largeCurrentImage;
			document.getElementById("largeButton").style.cursor = "default";
			break;
		case "normal":
			document.getElementById("normalButton").src = normalCurrentImage;
			document.getElementById("normalButton").style.cursor = "default";
			break;
		case "small":
			document.getElementById("smallButton").src = smallCurrentImage;
			document.getElementById("smallButton").style.cursor = "default";
			break;
		default:
	}
}

/*フロントの大中小ボタン：ロールオーバ*/
function changeRolloverImage(rolloverButton){
	//ロールオーバしたボタン画像がカレントサイズでなければロールオーバ画像を出力
	if(rolloverButton != selectedCSS){
		switch(rolloverButton){
			case "large":
				document.getElementById("largeButton").src = largeRolloverImage;
				break;
			case "normal":
				document.getElementById("normalButton").src = normalRolloverImage;
				break;
			case "small":
				document.getElementById("smallButton").src = smallRolloverImage;
				break;
			default:
		}
	}
}

/*フロントの大中小ボタン：ロールアウト*/
function changeRolloutImage(rolloutButton){
	//ロールアウトしたボタン画像がカレントサイズでなければスタック画像を出力
	if(rolloutButton != selectedCSS){
		switch(rolloutButton){
			case "large":
				document.getElementById("largeButton").src = largeStackImage;
				break;
			case "normal":
				document.getElementById("normalButton").src = normalStackImage;
				break;
			case "small":
				document.getElementById("smallButton").src = smallStackImage;
				break;
			default:
		}
	}
}

/*リロードが起きた時*/
window.onload = function(e) {
	confirmCookie();
}

/*ページを抜ける時の処理*/
window.onunload = function(e) {
	writeCookie( selectedCSS );
}

makeCSSPath();
