/*
 * フォントサイズ変更
 *
 * HTML
 * <a href="#" id="small">小さく</a>
 * <a href="#" id="medium">標準</a>
 * <a href="#" id="large">大きく</a>
 */

/* イベント・リスナのセット関数オブジェクトを定義 */
var addListener = function(elm, type, func) {
  if(! elm) { return false; }
  if(elm.addEventListener) { /* W3C準拠ブラウザ用 */
    elm.addEventListener(type, func, false);
  } else if(elm.attachEvent) { /* Internet Explorer用 */
    elm.attachEvent('on'+type, func);
  } else {
    return false;
  }
  return true;
};



/* HTMLがブラウザにロードされたときに実行する処理 */
var init = function() {

  /*
   * クッキーが保存されているか確認
   * 既にクッキーがある場合は、クッキーの値をアラート表示 */
  function checkCookie(){
    /* クッキーの値を取得 */
    var f_size=getCookie('f_size');
    if (f_size!=""){
      changeSize(f_size);
    }
  }
  
  
  /* 保存されているクッキーから、指定したクッキー名の値を取得
   * getCookie(クッキー名)
  */
  function getCookie(c_name){
    var st="";
    var ed="";
    if (document.cookie.length>0){
      st=document.cookie.indexOf(c_name + "=");
      if (st!=-1){ 
        st=st+c_name.length+1;
        ed=document.cookie.indexOf(";",st);
        if (ed==-1) ed=document.cookie.length;
          return unescape(document.cookie.substring(st,ed));
        }
      }
    return "";
  }


  
  /* 
   * クッキー保存
   * setCookie(クッキー名, クッキーの値, クッキーの有効日数);
  */
  function setCookie(c_name,value,expiredays){

    // 有効期限の日付
    var exdate=new Date();
    exdate.setDate(expiredays);
    // クッキーに保存する文字列を生成
    var s="";
    s+=c_name+"="+escape(value);
    s+=(expiredays==null)?"":"; expires="+exdate;
      //    s+="; domain=komatuya.net";
    s+="; path=/; ";
    // クッキーに保存
    document.cookie=s;
  }


  var elm = document.getElementById("main");
  
  function changeSize(size){
      //    elm.style.fontSize = size;
      document.getElementsByTagName('body')[0].style.fontSize = size;
  }

  var btn_s = document.getElementById("small");
  var btn_m = document.getElementById("medium");
  var btn_l = document.getElementById("large");
  
  var changeStyle_s = function(){
    changeSize("small");
    setCookie('f_size','small',30);
  }
  var changeStyle_m = function(){
    changeSize("medium");
    setCookie('f_size','medium',30);
  }
  var changeStyle_l = function(){
    changeSize("large");
    setCookie('f_size','large',30);
  }

  checkCookie();    
  
  addListener(btn_s, "click", changeStyle_s);
  addListener(btn_m, "click", changeStyle_m);
  addListener(btn_l, "click", changeStyle_l);


}; // init


/* windowオブジェクトにloadイベントが発生したらinit関数を実行 */
addListener(window, "load", init);