/* ----------------------------------------------------------- */
/* スイッチャーの初期化（このjsが読み込まれたらすぐに実行） */
/* ----------------------------------------------------------- */
fontSizeWitch();

/* ----------------------------------------------------------- */
/* HTML文書が読み込まれたときに実行させる処理 */
/* ----------------------------------------------------------- */
dom2.event.addEventListener(window, 'load', initDocument);
dom2.event.addEventListener(window, 'load', changeButtonImage);
function initDocument() {
  var ary = new Array('l', 'm', 's');
  for( var i=0; i<3; i++ ) {
    var elm = document.getElementById('fontsizeswitcher_' + ary[i]);

    if( ! elm ) { continue; }
    dom2.event.addEventListener(elm, 'click', fontSizeWitch);
  }
}

/* ----------------------------------------------------------- */
/* フォントサイズ切り替え処理 */
/* ----------------------------------------------------------- */
function fontSizeWitch(evt) {
  /* サイズ初期値 */
  var selector = 'm';
  /* Cookieの値を取得 */
  var cookie_value = getCookie('fontsizeswitcher');
  /* サイズを決定 */
  if( evt ) {
    /* クリックイベント発生時の指定サイズ取得 */
    var target = dom2.event.target(evt);
    var m;
    if( m = target.id.match(/^fontsizeswitcher_(l|m|s)$/) ) {
      selector = m[1];
    }
    dom2.event.preventDefault(evt);
  } else if( cookie_value ) {
    /* ページロード時の指定サイズ取得 */
    var m;
    if( m = cookie_value.match(/^(l|m|s)$/) ) {
      selector = m[1];
    }
  }
  /* LINKタグのリスト */
  var list = document.getElementsByTagName('LINK');
  /* LINKタグの切り替え */
  for( var i=0; i<list.length; i++ ) {
    var rel = list.item(i).rel;
    var title = list.item(i).title;
    if( rel.match(/alternate/) && title.match(/^(l|m|s)\ssize$/) ) {
      list.item(i).disabled = true;
      if(title == selector + " size") {
        list.item(i).disabled = false;
      }
    }
  }
  
  //alert(selector);
  /* ボタン画像の切り替え */
  changeImage(selector);
  
  /* Cookieセット（有効期限を30日後） */
  var expires = new Date();
  var msec = expires.getTime() + (3600 * 24 * 30 * 1000);
  expires.setTime(msec);
  setCookie('fontsizeswitcher', selector, expires);
}

/* ----------------------------------------------------------- */
/* ボタン画像の切り替え */
/* ----------------------------------------------------------- */
function changeImage(size){
    //文字サイズ
	var sel = new Array("s","m","l");
    //画像ファイル
	var img = new Array("/fontsize_js/small.gif","/fontsize_js/small_over.gif",
						"/fontsize_js/regular.gif","/fontsize_js/regular_over.gif",
						"/fontsize_js/big.gif","/fontsize_js/big_over.gif");
	//ボタン名
	var btn = new Array("font_s","font_m","font_l");

	var id = 0;

	for (i = 0; i < 3; i++) {
		if (sel[i] == size){
			id = i;
		}
	}
    //ボタン画像の置き換え
	for (i = 0; i < 3; i++) {
		if (id == i) {
			MM_swapImage(btn[i],'',img[i * 2 + 1],1);
		} else {
			MM_swapImage(btn[i],'',img[i * 2],1);
		}
	}
}

/* ----------------------------------------------------------- */
/* Cookieセット */
/* ----------------------------------------------------------- */
function setCookie(name, value, expires) {
  var cookie = name + "=" + encodeURIComponent(value);
  cookie += "; path=/";
  if(expires) {
    cookie += "; expires=" + expires.toGMTString();
  }
  document.cookie = cookie;
}

/* ----------------------------------------------------------- */
/* Cookie読み取り */
/* ----------------------------------------------------------- */
function getCookie(name) {
  var sRegExp = "(?:; )?" + name + "=([^;]*);?";
  var oRegExp = new RegExp(sRegExp);
  if(oRegExp.test(document.cookie)) {
    return decodeURIComponent(RegExp["$1"]);
  } else {
    return '';
  }
}
/* ----------------------------------------------------------- */
/* ボタン画像初期設定処理 */
/* ----------------------------------------------------------- */
function changeButtonImage() {
  /* サイズ初期値 */
  var selector = 'm';
  /* Cookieの値を取得 */
  var cookie_value = getCookie('fontsizeswitcher');
  /* サイズを決定 */
    /* ページロード時の指定サイズ取得 */
  var m;

  if( m = cookie_value.match(/^(l|m|s)$/) ) {
      selector = m[1];
  }
  
  //alert(selector);
  /* ボタン画像の切り替え */
  changeImage(selector);
  
}


