// FontChanger
// Copyright (c) 2007 Hirotaka Ogawa
// REQUIRES: prototype.js, cookiemanager.js
FontChanger = Class.create();
FontChanger.prototype = {
  id: null,
  cookieManager: null,
  cookieName: 'body.style.fontSize',
  initialize: function(id) {
    this.id = id || 'fontChanger';
    this.cookieManager = new CookieManager();
    var fontSize = this.cookieManager.getCookie(this.cookieName);
    if (fontSize) document.body.style.fontSize = fontSize;
  },
  setCookieShelfLife: function(days) {
    this.cookieManager.cookieShelfLife = days;
  },
  change: function(fontSize) {
    document.body.style.fontSize = fontSize;
    this.cookieManager.setCookie(this.cookieName, fontSize);
    
    if(fontSize == "x-small"){
	    var objs = document.getElementById("fontChanger-small");
	    var objm = document.getElementById("fontChanger-medium");
	    var objl = document.getElementById("fontChanger-large");
	    
	    objs.className = "text2-2";
	    objm.className = "text3";
	    objl.className = "text4";     
    }else if(fontSize == "small"){
	    var objs = document.getElementById("fontChanger-small");
	    var objm = document.getElementById("fontChanger-medium");
	    var objl = document.getElementById("fontChanger-large");
	    
	    objs.className = "text2";
	    objm.className = "text3-2";
	    objl.className = "text4";    
    }else if(fontSize == "medium"){
	    var objs = document.getElementById("fontChanger-small");
	    var objm = document.getElementById("fontChanger-medium");
	    var objl = document.getElementById("fontChanger-large");
	    
	    objs.className = "text2";
	    objm.className = "text3";
	    objl.className = "text4-2";   
    }
    
  },
  reset: function() {
    document.body.style.fontSize = '';
    this.cookieManager.clearCookie(this.cookieName);
  },
  show: function() {
    var id = this.id;
    var cookiefontSize = this.cookieManager.getCookie(this.cookieName);
    //クッキーが登録されている場合
    if(cookiefontSize == "x-small"){
	    document.writeln([
	'<div class="text2-2" id="' + id + '-small">小</div>',
	'<div class="text3" id="' + id + '-medium">中</div>',
	'<div class="text4" id="' + id + '-large">大</div>',
	    ].join("\n"));      
    }else if(cookiefontSize == "small"){
    
	    document.writeln([
	'<div class="text2" id="' + id + '-small">小</div>',
	'<div class="text3-2" id="' + id + '-medium">中</div>',
	'<div class="text4" id="' + id + '-large">大</div>',
	    ].join("\n"));      
    }else if(cookiefontSize == "medium"){
 	    document.writeln([
	'<div class="text2" id="' + id + '-small">小</div>',
	'<div class="text3" id="' + id + '-medium">中</div>',
	'<div class="text4-2" id="' + id + '-large">大</div>',
	    ].join("\n"));    
    }else{
	    document.writeln([
	'<div class="text2" id="' + id + '-small">小</div>',
	'<div class="text3-2" id="' + id + '-medium">中</div>',
	'<div class="text4" id="' + id + '-large">大</div>',
	    ].join("\n"));    
    }
    

    
    
    
    Event.observe($(id + '-small' ), 'click', this.onClickSmall.bind(this));
    Event.observe($(id + '-medium'), 'click', this.onClickMedium.bind(this));
    Event.observe($(id + '-large' ), 'click', this.onClickLarge.bind(this));
  },
  onClickSmall:  function(e) { this.change('x-small' ); },
  onClickMedium: function(e) { this.change('small'); },
  onClickLarge:  function(e) { this.change('medium'); }
};
// Bootstrap
FontChanger.start = function(id) {
  var fontChanger = new FontChanger(id);
  fontChanger.setCookieShelfLife(90);
  fontChanger.show();
};

