/*

 * 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 );
