(function(){

function observe(target, type, listener) {
    target.addEventListener
    ? target.addEventListener(type, listener, false)
    : target.attachEvent('on' + type, function() { listener.call(target, window.event); });
}

// rollover
function setup_rollover(){
	if(!document.getElementsByTagName) return;
	var menu = document.getElementById('menu');
	var images = menu.getElementsByTagName("img");
	
	for(var i=0; i < images.length; i++) {
		if(images[i].getAttribute("src").match("_off.")) {
			images[i].onmouseover = function() {
				this.setAttribute("src", this.getAttribute("src").replace("_off.", "_on."));
			}
			images[i].onmouseout = function() {
				this.setAttribute("src", this.getAttribute("src").replace("_on.", "_off."));
			}
		}
	}
}

function setFontsize(size){
	var cookie = new CookieManager();
	cookie.setCookie('fontsize', size);
	var fontsize = (90 + 15*size) + '%';
	document.body.style.fontSize = fontsize;
	
	var j=0;
	var tds = document.getElementsByTagName('TD');
	for(j=0; j<tds.length; j++) {
		if(!tds.item(j)) continue;
		tds.item(j).style.fontSize = fontsize;
	}

	var ths = document.getElementsByTagName('TH');
	for(j=0; j<ths.length; j++) {
		if(!ths.item(j)) continue;
		ths.item(j).style.fontSize = fontsize;
	}
}

function highlightButton(i){
	var div = document.getElementById('fontsizebuttons');
	if(!div) return;
	var buttons = div.getElementsByTagName('img');
	if(!buttons) return;
	for(var j=0; j<buttons.length; j++) {
		var button = buttons.item(j);
		if(i==j){
			button.setAttribute('src', button.getAttribute('src').replace('_off.', '_on.'));
		}else{
			button.setAttribute('src', button.getAttribute('src').replace('_on.', '_off.'));
		}
	}
}

// fontsize
function setup_fontsize_buttons(){
	var cookie = new CookieManager();
	var fontsize = cookie.getCookie('fontsize');
	if(!fontsize) fontsize = 0;
	setFontsize(fontsize);
	highlightButton(fontsize);

	//
	var div = document.getElementById('fontsizebuttons');
	if(!div) return;
	var buttons = div.getElementsByTagName('img');
	if(!buttons) return;
	for(var i=0; i<buttons.length; i++) {
		observe(buttons.item(i), 'click', (function(i){
			return function(){
				highlightButton(i)
				setFontsize(i);
			}
		})(i));
	}
}

observe(window, 'load', function(){
	setup_rollover();
	setup_fontsize_buttons();
});


})();
