FontChanger = Class.create();
FontChanger.prototype = {
  id: null,
  cookieManager: null,
  cookieName: 'body.style.fontSize',
  initialize: function(id) {
    this.id = id || 'fontChanger';
    this.cookieManager = new CookieManager();
    this.cookieManager.cookieShelfLife = 90;
    var fontSize = this.cookieManager.getCookie(this.cookieName);
    if (fontSize) document.body.style.fontSize = fontSize;
  },
  setCookieShelfLife: function(days) {
    this.cookieManager.cookieShelfLife = days;
  },
  change: function(fontSize) {
    //alert(fontSize);
    if(fontSize == "80%")
    {
        //alert("aaaa");
        var id = this.id;
        //alert(id);
        document.getElementById('font_size').innerHTML = "";
        document.getElementById('font_change').innerHTML = '<p id="' + id + '"><img src="/images/font_size.gif" alt="文字サイズ変更" width="90" height="20" /><a href="javascript: void(0);" id="' + id + '-small" title="文字を小さくする（84％）"><img src="/images/font_size_s_on.jpg" alt="小" width="24" height="24" /></a> <a href="javascript: void(0);" id="' + id + '-medium" title="文字を標準に戻す（100％）"><img src="/images/font_size_m.jpg" alt="中" width="24" height="24"  /></a> <a href="javascript: void(0);" id="' + id + '-large" title="文字を大きくする（120％）"><img src="/images/font_size_l.jpg" alt="大" width="24" height="24" /></a></p>';
        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));
    }
    if(fontSize == "95%")
    {
        //alert("bbbb");
        document.getElementById('font_size').innerHTML = "";
        document.getElementById('font_change').innerHTML = '<p id="' + id + '"><img src="/images/font_size.gif" alt="文字サイズ変更" width="90" height="20" /><a href="javascript: void(0);" id="' + id + '-small" title="文字を小さくする（84％）"><img src="/images/font_size_s.jpg" alt="小" width="24" height="24" /></a> <a href="javascript: void(0);" id="' + id + '-medium" title="文字を標準に戻す（100％）"><img src="/images/font_size_m_on.jpg" alt="中" width="24" height="24"  /></a> <a href="javascript: void(0);" id="' + id + '-large" title="文字を大きくする（120％）"><img src="/images/font_size_l.jpg" alt="大" width="24" height="24" /></a></p>';
        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));
    }
    if(fontSize == "105%")
    {
        //alert("cccc");
        document.getElementById('font_size').innerHTML = "";
        document.getElementById('font_change').innerHTML = '<p id="' + id + '"><img src="/images/font_size.gif" alt="文字サイズ変更" width="90" height="20" /><a href="javascript: void(0);" id="' + id + '-small" title="文字を小さくする（84％）"><img src="/images/font_size_s.jpg" alt="小" width="24" height="24" /></a> <a href="javascript: void(0);" id="' + id + '-medium" title="文字を標準に戻す（100％）"><img src="/images/font_size_m.jpg" alt="中" width="24" height="24"  /></a> <a href="javascript: void(0);" id="' + id + '-large" title="文字を大きくする（120％）"><img src="/images/font_size_l_on.jpg" alt="大" width="24" height="24" /></a></p>';
        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));
    }
    document.body.style.fontSize = fontSize;
    this.cookieManager.setCookie(this.cookieName, fontSize);
  },
  reset: function() {
    document.body.style.fontSize = '';
    this.cookieManager.clearCookie(this.cookieName);
  },
  show: function() {
    var id = this.id;
    //alert(id);
//    if(document.body.style.fontSize == "80%")
//    {
//    document.writeln([
//	'<p id="' + id + '"><img src="/images/font_size.gif" alt="文字サイズ変更" width="90" height="20" /><a href="javascript: void(0);" id="' + id + '-small" title="文字を小さくする（84％）"><img src="/images/font_size_s_on.jpg" alt="小" width="24" height="24" /></a> <a href="javascript: void(0);" id="' + id + '-medium" title="文字を標準に戻す（100％）"><img src="/images/font_size_m.jpg" alt="中" /></a> <a href="javascript: void(0);" id="' + id + '-large" title="文字を大きくする（120％）"><img src="/images/font_size_l.jpg" alt="大" width="24" height="24" /></a></p>',
//	    ].join("\n"));
//    }
//    if(document.body.style.fontSize == "95%")
//    {
//    document.writeln([
//	'<p id="' + id + '"><img src="/images/font_size.gif" alt="文字サイズ変更" width="90" height="20" /><a href="javascript: void(0);" id="' + id + '-small" title="文字を小さくする（84％）"><img src="/images/font_size_s.jpg" alt="小" width="24" height="24" /></a> <a href="javascript: void(0);" id="' + id + '-medium" title="文字を標準に戻す（100％）"><img src="/images/font_size_m_on.jpg" alt="中" /></a> <a href="javascript: void(0);" id="' + id + '-large" title="文字を大きくする（120％）"><img src="/images/font_size_l.jpg" alt="大" width="24" height="24" /></a></p>',
//	    ].join("\n"));
//    }
//    if(document.body.style.fontSize == "105%")
//    {
//    document.writeln([
//	'<p id="' + id + '"><img src="/images/font_size.gif" alt="文字サイズ変更" width="90" height="20" /><a href="javascript: void(0);" id="' + id + '-small" title="文字を小さくする（84％）"><img src="/images/font_size_s.jpg" alt="小" width="24" height="24" /></a> <a href="javascript: void(0);" id="' + id + '-medium" title="文字を標準に戻す（100％）"><img src="/images/font_size_m.jpg" alt="中" /></a> <a href="javascript: void(0);" id="' + id + '-large" title="文字を大きくする（120％）"><img src="/images/font_size_l_on.jpg" alt="大" width="24" height="24" /></a></p>',
//	    ].join("\n"));
//    }
    if(document.body.style.fontSize == "80%")
    {
    document.getElementById('font').innerHTML = '<p id="' + id + '"><img src="/images/font_size.gif" alt="文字サイズ変更" width="90" height="20" /><a href="javascript: void(0);" id="' + id + '-small" title="文字を小さくする（84％）"><img src="/images/font_size_s_on.jpg" alt="小" width="24" height="24" /></a> <a href="javascript: void(0);" id="' + id + '-medium" title="文字を標準に戻す（100％）"><img src="/images/font_size_m.jpg" alt="中" width="24" height="24"  /></a> <a href="javascript: void(0);" id="' + id + '-large" title="文字を大きくする（120％）"><img src="/images/font_size_l.jpg" alt="大" width="24" height="24" /></a></p>';
    }
    if(document.body.style.fontSize == "95%")
    {
    document.getElementById('font').innerHTML = '<p id="' + id + '"><img src="/images/font_size.gif" alt="文字サイズ変更" width="90" height="20" /><a href="javascript: void(0);" id="' + id + '-small" title="文字を小さくする（84％）"><img src="/images/font_size_s.jpg" alt="小" width="24" height="24" /></a> <a href="javascript: void(0);" id="' + id + '-medium" title="文字を標準に戻す（100％）"><img src="/images/font_size_m_on.jpg" alt="中" width="24" height="24"  /></a> <a href="javascript: void(0);" id="' + id + '-large" title="文字を大きくする（120％）"><img src="/images/font_size_l.jpg" alt="大" width="24" height="24" /></a></p>';
    }
    if(document.body.style.fontSize == "105%")
    {
    document.getElementById('font').innerHTML = '<p id="' + id + '"><img src="/images/font_size.gif" alt="文字サイズ変更" width="90" height="20" /><a href="javascript: void(0);" id="' + id + '-small" title="文字を小さくする（84％）"><img src="/images/font_size_s.jpg" alt="小" width="24" height="24" /></a> <a href="javascript: void(0);" id="' + id + '-medium" title="文字を標準に戻す（100％）"><img src="/images/font_size_m.jpg" alt="中" width="24" height="24"  /></a> <a href="javascript: void(0);" id="' + id + '-large" title="文字を大きくする（120％）"><img src="/images/font_size_l_on.jpg" alt="大" width="24" height="24" /></a></p>';
    }
    if(document.body.style.fontSize == "")
    {
    document.getElementById('font').innerHTML = '<p id="' + id + '"><img src="/images/font_size.gif" alt="文字サイズ変更" width="90" height="20" /><a href="javascript: void(0);" id="' + id + '-small" title="文字を小さくする（84％）"><img src="/images/font_size_s_on.jpg" alt="小" width="24" height="24" /></a> <a href="javascript: void(0);" id="' + id + '-medium" title="文字を標準に戻す（100％）"><img src="/images/font_size_m.jpg" alt="中" width="24" height="24"  /></a> <a href="javascript: void(0);" id="' + id + '-large" title="文字を大きくする（120％）"><img src="/images/font_size_l.jpg" alt="大" width="24" height="24" /></a></p>';
    }
    
    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('80%' ); },
  onClickMedium: function(e) { this.change('95%'); },
  onClickLarge:  function(e) { this.change('105%'); }
};
// Bootstrap
FontChanger.start = function(id) {
  var fontChanger = new FontChanger(id);
  
  fontChanger.show();
};

