var FontSize = {
	
	conf : {
		fontSize    : ["120%","100%","90%"],
		switchId    : ["fs_big", "fs_medium", "fs_small"],
		defoSizeId  : "fs_medium",
		targetAreaId: "body",              //�t�H���g�T�C�Y��K�p����G���A��ID
		cookieName  : "FontSizeCookie",      //�N�b�L�[�̖��O
		cookieLimit : 30,                     //�L������(���ɂ�)
		switchWriteArea : "fontsize",          //�w�肵��ID�̃G���A�̈�ԍŌ�ɃX�C�b�`��HTML���������܂��
		switchHTML      : '<ul><li id="fs_small">小</li><li id="fs_medium">中</li><li id="fs_big">大</li></ul>'

// switchHTML�̎Q�l�p�f�t�H���g�l
//
//  <ul>
//  <li id="fs_big">��</li>
//  <li id="fs_medium">��</li>
//  <li id="fs_small">��</li>
//  </ul>

	},
	
	main : function(){
		FontSize.setHTML();
		FontSize.defo();
		var i, j, switchItem = FontSize.conf.switchId;
		
		for(i=0;i<switchItem.length;i++){
			document.getElementById(switchItem[i]).onclick = FontSize.action;
		}
	},
	
	setHTML : function(){
		var fontsizeSwitch = document.createElement('div'); 
		fontsizeSwitch.id  = "fontsizeControl";
		fontsizeSwitch.innerHTML = FontSize.conf.switchHTML; 
		
		document.getElementById(FontSize.conf.switchWriteArea).appendChild(fontsizeSwitch);
	},
	
	defo : function(){
		var i;
		var switchId = FontSize.conf.switchId;
		var targetAreaId = FontSize.conf.targetAreaId;
		var fontSize = FontSize.conf.fontSize;
		
		cookieValue = this.getCookie() || FontSize.conf.defoSizeId;
		for(i = 0; i < switchId.length; i++){
			if(cookieValue == switchId[i]){
				document.getElementById(targetAreaId).style.fontSize = fontSize[i];
			}
		}
		document.getElementById(cookieValue).className ="active";
	},
	
	action : function(){
		var i;
		var switchId = FontSize.conf.switchId;
		var targetAreaId = FontSize.conf.targetAreaId
		var fontSize = FontSize.conf.fontSize
		
		for(i=0;i<switchId.length;i++){
			var switchItem = document.getElementById(switchId[i]);
			switchItem.className="";
			if(this.id == switchId[i]){
				document.getElementById(targetAreaId).style.fontSize = fontSize[i];
			}
		}
		this.className ="active";
		
		FontSize.setCookie(this.id);
	},
	
	setCookie: function(data) {
		var today = new Date();
		today.setTime(today.getTime() + (1000 * 60 * 60 * 24 * Number(this.conf.cookieLimit)));
		document.cookie = this.conf.cookieName + '=' + encodeURIComponent(data) + '; path=/; expires=' + today.toGMTString();
	},
	
	getCookie: function(m) {
		return (m = ('; ' + document.cookie + ';').match('; ' + this.conf.cookieName + '=(.*?);')) ? decodeURIComponent(m[1]) : null;
	},
	
	addEvent : function(){
		if(window.addEventListener) {
			window.addEventListener("load", this.main, false);
		}
		else if(window.attachEvent) {
			window.attachEvent("onload", this.main);
		}
	}
	
}

FontSize.addEvent();

