var fontSizeSwitcher = {
 str: '',
	config: {
		area:        ['#contents','#TB2_window'],
		id:          ['', 'fontSizeSmall', 'fontSizeNormal', 'fontSizeLarge'],
		label:       ['', '<a href="javascript:;"><img src="/jp/common/images/font-size_btn_small_n.gif" alt="フォントサイズ：小" width="24" height="23" /></a>', '<a href="javascript:;"><img src="/jp/common/images/font-size_btn_normal_n.gif" alt="フォントサイズ：中" width="25" height="23" /></a>', '<a href="javascript:;"><img src="/jp/common/images/font-size_btn_large_n.gif" alt="フォントサイズ：大" width="23" height="23" /></a>'],
//		label:       ['', '<a href="javascript:;"><img src="/test/nezu/jp/common/images/font-size_btn_small_n.gif" alt="フォントサイズ：小" width="24" height="23" /></a>', '<a href="javascript:;"><img src="/test/nezu/jp/common/images/font-size_btn_normal_n.gif" alt="フォントサイズ：中" width="25" height="23" /></a>', '<a href="javascript:;"><img src="/test/nezu/jp/common/images/font-size_btn_large_n.gif" alt="フォントサイズ：大" width="23" height="23" /></a>'],
		size:        ['', '87.5%', '100%', '117%'],
		description: '<img src="/jp/common/images/font-size_txt_01.gif" alt="文字サイズ変更" width="61" height="12" />',
//		description: '<img src="/test/nezu/jp/common/images/font-size_txt_01.gif" alt="文字サイズ変更" width="61" height="12" />',
		cookieName:  'The Nezu Museum:fontSize',
		cookieDate:  90
	},

	changeFontSize: function(size) {
		var config = this.config;
		var items  = document.getElementById('fontSizeChange').childNodes;
		var ss     = document.styleSheets[0];

		for (var i = 0, l = items.length; i < l ; i++) {
			if (size == i) {
				this.setClassName(items[i], 'current');
			}
			else {
				this.setClassName(items[i]);
			}
		}
				
		for (var i = 0, l = config.area.length; i < l; i++) {
			if (window.attachEvent && !window.opera) {
				ss.addRule(config.area[i], 'font-size: ' + config.size[size]  + ';');
			}
			else {
				ss.insertRule(config.area[i] + '{ font-size: ' + config.size[size]  + '; }', ss.cssRules.length);
			}
		}
		
		this.setCookie(size);
	},

	setCookie: function(data) {
		var t = new Date();
		t.setTime(t.getTime() + (1000 * 60 * 60 * 24 * Number(this.config.cookieDate)));
		document.cookie = this.config.cookieName + '=' + encodeURIComponent(data) + '; path=/; expires=' + t.toGMTString();
	},

	getCookie: function(m) {
		return (m = ('; ' + document.cookie + ';').match('; ' + this.config.cookieName + '=(.*?);')) ? decodeURIComponent(m[1]) : null;
 	},

	setClassName: function(elem, str) {
		(window.attachEvent && !window.opera) ? elem.className = str : elem.setAttribute('class', str);
	},

	removeClassName: function(elem) {
		(window.attachEvent && !window.opera) ? elem.removeAttribute('className') : elem.removeAttribute('class');
	},

	start: function() {
		var config = this.config;
		var size   = this.getCookie('s');
		var str    = '';

		for (var i = 1, l = config.id.length; i < l ; i++) {
			str += '<dd id="' + config.id[i] + '" onclick="fontSizeSwitcher.changeFontSize(' + i + ')">' + config.label[i] + '</dd>';
		}

		document.write('<dl id="fontSizeChange"><dt>' + config.description + '</dt>' + str + '</dl>');

		if (size == null) {
			size = 2;
		}

		this.changeFontSize(size);
	}
}

fontSizeSwitcher.start();