/*
 * class版
 */

var fontProperty = {
	"Font-Small" : '70%',
	"Font-Medium" : '83%',
	"Font-Large" : '100%'
};

var activeFontSize = "Font-Medium";

var buttonTagName = 'IMG';


function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function setFontSize( size ){
	var el = document.getElementsByTagName('BODY')[0];
	setStyle( el, { fontSize : fontProperty[size] } );
	activeFontSize = size;
	createCookie("fontSize", size, 365);
}


function setStyle( element, styles ){
	if(!element) return;
	for( var key in styles ){
		element.style[key] = styles[key];
	}
}


function isFontProperty( p ){
	for( var fp in fontProperty ){
		if(fp==p) return true;
	}
	return false;
}



var buttons = [];
function registButton( element ){
	var btn = new Object();
	btn.src = element.src;
	btn.filetype = btn.src.substring(btn.src.lastIndexOf('.'));
	btn.basename = btn.src.substring(0, btn.src.length-btn.filetype.length);
	btn.onsrc = btn.basename + "_on" + btn.filetype;
	
	element.offsrc = btn.src;
	element.onsrc  = btn.onsrc;
	//buttons.push( element );
	buttons[buttons.length] = element;
}
function buttonOff(){
	var className = ( document.all && !window.opera  )? 'className' : 'class';
	for( var i=0; i<buttons.length; i++ ){
		if( buttons[i].getAttribute(className) != activeFontSize )
			buttons[i].src = buttons[i].offsrc;
	}
}
function setActiveButton( size ){
	var className = ( document.all && !window.opera  )? 'className' : 'class';
	for( var i=0; i<buttons.length; i++ ){
		if( buttons[i].getAttribute(className) == size ){
			buttons[i].src = buttons[i].onsrc;
		}
	}
}
function preloadImages(){
	if(!document.images) return;
	var ret = [];
	for( var i=0; i<buttons.length; i++ ){
		(new Image()).src = buttons[i].onsrc;
		ret[ret.length] = buttons[i].onsrc;
	}
}
function swapImage( obj, status ){
	if( !obj || !obj[status+"src"] ) return;
	obj.src = obj[status+"src"];
}



function init(){
	if(!document.getElementById) return;
	
	var fs = readCookie("fontSize");
	if(fs) setFontSize(fs);
	else setFontSize(activeFontSize);
	
	var className = ( document.all && !window.opera  )? 'className' : 'class';
	var sw = document.getElementsByTagName(buttonTagName);
	for( var i=0; i<sw.length; i++ ){
		if(!sw[i].getAttribute(className)) continue;
		var cns = sw[i].getAttribute(className).split(/ /);
		for(var j=0; j<cns.length; j++){
			if( isFontProperty(cns[j]) ){
				
				registButton( sw[i] );
				
				var num = j;
				sw[i].onclick = function(){
					var fs = this.getAttribute(className).split(/ /)[num];
					setFontSize( fs );
					setActiveButton( fs );
					buttonOff();
				};
				sw[i].onmouseover = function(){
					swapImage( this, "on" );
				};
				sw[i].onmouseout = function(){
					//swapImage( this, "off" );
					buttonOff();
					if( this.getAttribute(className) != activeFontSize ){
						// 他のボタンも一旦全てoffにする
						this.src = this.offsrc;
					}
				};
			}
		}
	}
	preloadImages();
	setActiveButton( activeFontSize );
}




evt.addEvent( window, 'load', init, false );
evt.addEvent( window, 'unload', function(){
	createCookie("fontSize", activeFontSize, 365);
}, false );

