// 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();
    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) {
    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;    
    document.writeln([
    '<div>' +
    	'<ul style="list-style:none; margin-left:0px;">' +
    		'<li style="float:left; margin:0px;"><img src="http://city-hp.or.jp/mark/rogo.jpg" alt="新南陽市民病院"></li>' +
    		'<li style="float:right; margin-top:15px; padding:2px; width:20px; background-color:#666666; "><a href="javascript: location.reload();" id="' + id + '-large" title="文字サイズ:大"><span style="color:#FFFFFF;">大</span></a></li>' +
    		'<li style="float:right; margin-top:15px; padding:2px; width:20px; background-color:#777777; "><a href="javascript: location.reload();" id="' + id + '-medium" title="文字サイズ:標準"><span style="color:#FFFFFF;">中</span></a></li>' +
    		'<li style="float:right; margin-top:15px; padding:2px; width:20px; background-color:#888888;"><a href="javascript: location.reload();" id="' + id + '-small" title="文字サイズ:小"><span style="color:#FFFFFF;">小</span></a></li>' +
    		'<li style="float:right; margin-top:15px; padding:2px; width:120px; border-bottom:1px solid #888888;">文字サイズ：</li>' +
    		'<li class="FloatEnd"></li>' +
    	'</ul>' +
    '</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('84%' ); },
  onClickMedium: function(e) { this.change('100%'); },
  onClickLarge:  function(e) { this.change('120%'); }
};


// Bootstrap
FontChanger.start = function(id) {
  var fontChanger = new FontChanger(id);
  fontChanger.setCookieShelfLife(90);
  fontChanger.show();
};

// メニューを表示させない（文字サイズだけ反映）
FontChanger.start_nv = function(id) {
  var fontChanger = new FontChanger(id);
  fontChanger.setCookieShelfLife(90);
};
