/*
 * Styleswitcher クラス
 *
 * 文字サイズ変更時など、スタイルシートを切り替えるためのクラスです。。
 * このクラスを使用する場合は、先に jQuery.js（ver 1.2.X 以上） 、jquery.cookie.js を読み込む必要があります。
 *
 * jQuery：     http://jquery.com/
 *
 * @author      Hiroaki Wakamatsu
 * @copyright  ZYYX Inc. <http://www.zyyx.jp/>
 * @version     1.0
 *
 */

var isWebKit = (navigator.userAgent.match(/AppleWebKit/)) ? true : false;

/**
 * Styleswitcher class のコンストラクタ
 */
var Styleswitcher = {};

(function() {
	Styleswitcher.cookieName = "orange_styles";		// クッキーの名前
	Styleswitcher.cookieExpDays = 30;							// クッキーの有効期限（日数）
	Styleswitcher.fontVal = null;


	/*
	 * Styleswitcher class ： switchStyle メソッド
	 * 
	 * 指定値に該当する代替スタイルシートを有効にし、その情報（指定値）をCookieにセットする。
	 */
	Styleswitcher.switchStyle = function(name) {
		if (isWebKit) {
			$("link").each(function() {
				var el = $(this);
				if (el.attr("title") != "") {
					if (el.attr("title") == name) {
						el.attr("rel", "stylesheet");
						el.removeAttr("disabled");
					} else {
						el.attr("rel", "alternate stylesheet");
						el.attr("disabled", "disabled");
					}
				}
			});
		} else {
			var sheets = document.styleSheets;
			for (var i = 0; i < sheets.length; i++) {
				if (sheets[i].title != "") {
					if (sheets[i].title == name) {
						sheets[i].disabled = false;
					} else {
						sheets[i].disabled = true;
					}
				}
			}
		}

		// Cookie をセット
		$.cookie(Styleswitcher.cookieName, name, {path:"/"});
	};


	/*
	 * Styleswitcher class ： changeFocus メソッド
	 * 
	 * 指定値に該当するイメージをフォーカスタイプに変更し、それ以外のをデフォルト状態に戻す。
	 */
	Styleswitcher.changeFocus = function(name) {
		$("a", "#fontSwitcher").each(function() {
			var el = $(this);
			if (el.html() == name) {
				if (name == "文字サイズ小") {
					el.addClass("focusSmall");
				} else if (name == "文字サイズ中") {
					el.addClass("focusMedium");
				} else {
					el.addClass("focusLarge");
				}
			} else {
				el.removeClass("focusSmall");
				el.removeClass("focusMedium");
				el.removeClass("focusLarge");
			}
		});
	};


	/*
	 * Styleswitcher class ： initialize メソッド
	 * 
	 * ページの初期化を行なう。
	 */
	Styleswitcher.initialize = function() {

		// Cookie を取り出す（取り出せなかった場合はデフォルト値をセット）
		Styleswitcher.fontVal = $.cookie(Styleswitcher.cookieName);
		if (!Styleswitcher.fontVal) Styleswitcher.fontVal = "文字サイズ中";

		// 初期スタイルシートを有効にする
		Styleswitcher.switchStyle(Styleswitcher.fontVal);

/*
		// Cookie を取り出す（取り出せなかった場合はデフォルト値をセット）
		var val = $.cookie(Styleswitcher.cookieName);
		if (!val) val = "文字サイズ中";

		// 初期スタイルシートを有効にする
		Styleswitcher.switchStyle(val);
		Styleswitcher.changeFocus(val);

		// フォント切り替えイベントを付加する
		$("#fontSmall").click(function() {
			Styleswitcher.switchStyle("文字サイズ小");
			Styleswitcher.changeFocus("文字サイズ小");
		});
		$("#fontMedium").click(function() {
			Styleswitcher.switchStyle("文字サイズ中");
			Styleswitcher.changeFocus("文字サイズ中");
		});
		$("#fontLarge").click(function() {
			Styleswitcher.switchStyle("文字サイズ大");
			Styleswitcher.changeFocus("文字サイズ大");
		});
*/
	};

})();

$(function() {
//	Styleswitcher.initialize();

		Styleswitcher.changeFocus(Styleswitcher.fontVal);

		// フォント切り替えイベントを付加する
		$("#fontSmall").click(function() {
			Styleswitcher.switchStyle("文字サイズ小");
			Styleswitcher.changeFocus("文字サイズ小");
		});
		$("#fontMedium").click(function() {
			Styleswitcher.switchStyle("文字サイズ中");
			Styleswitcher.changeFocus("文字サイズ中");
		});
		$("#fontLarge").click(function() {
			Styleswitcher.switchStyle("文字サイズ大");
			Styleswitcher.changeFocus("文字サイズ大");
		});

});

Styleswitcher.initialize();
