/*
===========================================================
フォントサイズ筝スクリプト┘織ぅB

Last Updated:08/21/2001
　　　10/23/2001恷K厚仟井より和のURIのみ筝

insomnia!
http://insomnia.jp/
http://insomnia.jp/workshop/
===========================================================
*/


/*
========== ::: ブラウザ登erに聞喘する篳 ::: ==========
*/
uaName = navigator.userAgent;
appName = navigator.appVersion;


/*
========== ::: 兜豚O協 ::: ==========
*/

// ､g了をO協┗悗坤瀬屮襯オ`トかクオ`トで凄る
var fontSizeUnit = "%";

// 匯指の荷恬で篁させる､鰓O協┘瀬屮襯オ`トやクオ`トで凄らない
var perOrder = 20;

// 兜豚彜Bの､鰓O協┘瀬屮襯オ`トやクオ`トで凄らない
var defaultSize = 100;

// クッキ`の兆念┗悗坤瀬屮襯オ`トかクオ`トで凄る
var ckName = "FSCb";

// クッキ`の嗤親斛泯晩┘瀬屮襯オ`トやクオ`トで凄らない
var ckDays = 2;

// クッキ`のパス┗悗坤瀬屮襯オ`トかクオ`トで凄る。峺協がいらない栽は"/"にする
var ckPath = "/"


/*
========== :::ペ`ジiみzみrの､鰓O協::: ==========
*/

// クッキ`iみ竃し
var fsCK = GetCookie(ckName);

if ( fsCK == null ) {
  currentSize = defaultSize;      //クッキ`がoければF壓の､魍豚彜Bの､穆O協
}
else{
  currentSize = Number(fsCK);      //クッキ`があればF壓の､鬟ッキ`の､穆O協
}


/*===================================
  [v方 fscRef]
  BODY勣殆のイベントハンドラ"onload"ならびにv方fscから柵び竃される。
  篳"currentSize"の､惄辰
  オブジェクトのfontStyleプロパティを筝する
====================================*/

function fscRef(){

  // === ::: 筝を紗えるオブジェクトの登協 ::: ===
  //
  //  NN4もしくはMacIE4.0の栽、エラ`メッセ`ジを指閲
  if (( document.layers )||(( appName.indexOf("Mac",0) != -1 ) && ( uaName.indexOf("MSIE 4.0",0) != -1 ))){
    return false;
  }

  else if( document.body ){
  
  // オブジェクトのfontSizeプロパティをきQえる
    document.body.style.fontSize = currentSize + fontSizeUnit;
  }
  
}

// _______________________________________ end of function fscRef() ___ 


/*===================================
  [v方 fsc]
  哈方CMDに局される､鬉犬
  筝瘁の､鯔祿しクッキ`にきzむ。
====================================*/

function fsc( CMD ){

  // 寄根Fr泣の､牧算悗硫掀で篁させる､鮗咾┐堂掀瘁の"newSize"に旗秘
  if( CMD == "larger" ){
    var newSize = Number( currentSize + perOrder );
    SetCookie( ckName , newSize );      //クッキ`きzみ
  }

  // s弌根Fr泣の､ら匯指の荷恬で篁させる､鰔き荷恬瘁の､亡秘
  // Fr泣のサイズの､匯指の荷恬で篁させる､藩じならそのまま荷恬瘁の､亡秘
  if( CMD == "smaller" ){
    if ( currentSize != perOrder ){
      var newSize = Number( currentSize - perOrder );
      SetCookie( ckName , newSize );      //クッキ`きzみ
    }
    else{
      var newSize=Number(currentSize);
    }
  }

  // 圷にす魂掀瘁の､魍豚､砲垢
  if( CMD == "default" ){
    var newSize = defaultSize;
    DeleteCookie( ckName );      //クッキ`茅
  }


  // NN4もしくはMacIE4.0の栽、エラ`メッセ`ジを指閲しダイアログを燕幣する
  // NN4喘ダイアログ
  if( document.layers ){
    window.alert( "このスクリプトはNetscape Communicator4.xでは嘛しません" );
    return false;
  }

  // MacIE4喘ダイアログ
  else if(( appName.indexOf("Mac",0) != -1 ) && ( uaName.indexOf("MSIE 4.0",0) != -1)){
    window.alert( "Sorry! MacIE4.0 is not supported." );
    return false;
  }

  else{
  // F壓の､魏掀瘁の､筝
  currentSize = newSize;

  // サイズ筝v方を柵び竃す
  fscRef();
  }
}

// _______________________________________ end of function fsc() ___ 


/*===================================
  [v方 SetCookie]
  クッキ`に､きzむ
====================================*/

function SetCookie(name,value){
  var dobj = new Date();
  dobj.setTime( dobj.getTime() + 24 * 60 * 60 * ckDays * 1000);
  var expiryDate = dobj.toGMTString();
  document.cookie = name + '=' + escape(value)+ ';expires=' + expiryDate + ';path=' + ckPath;
}


/*===================================
  [v方 GetCookie]
  クッキ`を函誼する
====================================*/
function GetCookie (name){
  var arg  = name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i = 0;
  while (i < clen){
    var j = i + alen;
    if (document.cookie.substring(i, j) == arg)
    return getCookieVal (j);
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) break;
  }
   return null;
}

/*===================================
  [v方 getCookieVal]
  クッキ`の､魍薐する
====================================*/
function getCookieVal (offset){
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
  endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset,endstr));
}

/*===================================
  [v方 DeleteCookie]
  クッキ`を茅する
====================================*/
function DeleteCookie(name){
  if (GetCookie(name)) {
    document.cookie = name + '=' +
    '; expires=Thu, 01-Jan-70 00:00:01 GMT;path='+ckPath;
  }
}

//EOF