var config = {
	font_size_m : '62.5%',
	font_size_l : '75%',
	img_roll_over : '#nav li:not(.current) img,#nav_login li:not(.current) img,#utility_menu li:not(.current) img,#font_menu img,#HEADER_MENU img,#aside_registration ul.horizontal img',
	btn_scroll_top : 'p.scroll_top,#footer p.scroll_top',
	table_stripe : ' table.bbs_list tr:even',
	table_stripe_class : 'row_even'
}

var getExpireGMT = function (num) {
	var expire = new Date();
	expire.setTime(expire.getTime()+(num*24*60*60*1000));
	var expires = expire.toGMTString();
	return expires;
}

var setCookie = function (name,value,date,path) {
	expires = getExpireGMT(date);
	document.cookie = name + '=' + escape(value) + '; expires=' + expires + '; path=' + path;
}

var getCookie = function (c_index) {
	var cookies = [], tmp = [];
	var my_cookie = document.cookie;

	if (my_cookie.length !== 0) {
		cookies = my_cookie.split(';');
		for (var i = 0; i<cookies.length; i++) {
			tmp = cookies[i].split('=');
			t_index = tmp[0].replace(/^\s/,'');
			t_value = tmp[1];
			if (t_index === c_index) {
				return unescape(t_value);
				break;
			} else {
				continue;
			}
		} 
	} else {
		return false;
	}
}

var imgRollOver = function (tgt_img) {
	var preLoadImg = new Object();
	$(tgt_img).each( function () {
		var off_src = this.src;
		var on_src = off_src.replace(/_off/,'_on');
		preLoadImg[off_src] = new Image();
		preLoadImg[off_src].src = on_src;
		$(this).mouseover( function () {
			this.src = on_src;
		});
		$(this).mouseout( function () {
			if ($(this).attr('class') !== 'selected') {
				this.src = off_src;
			}
		});
	});
}

var scrollTop = function (tgt) {
	$(tgt).each( function () {
			$(this).click( function (e) {
				(window.event) ? window.event.returnValue = false : e.preventDefault();
				$('html,body').animate({scrollTop : 0},'slow','swing');
			});
	});
}

var fontMenuSelected = function () {
	var font_size = getCookie('@font_size');
	if (font_size === config.font_size_l) {
		$('#font_zoom img:first').attr({ src: '/img/fm_big_on.gif' }).addClass('selected');
		$('#font_reset img:first').attr({ src: '/img/fm_normal_off.gif' }).removeClass('selected');
	} else {
		$('#font_reset img:first').attr({ src: '/img/fm_normal_on.gif' }).addClass('selected');
		$('#font_zoom img:first').attr({ src: '/img/fm_big_off.gif' }).removeClass('selected');
	}
}

var fontSizeInitialize = function () {
	var font_size = getCookie('@font_size');
	if (font_size) {
		document.write('<style type="text/css">body { font-size:' + font_size + ' }</style>');
	} else {
		document.write('<style type="text/css">body { font-size:' + config.font_size_m + ' }</style>');
	}
}

var stripeTable = function (tgt) {
	$(tgt).each( function () {
		$(this).addClass(config.table_stripe_class);
	});
}

$(document).ready( function () {
	var iro = imgRollOver(config.img_roll_over);
	var sc = scrollTop(config.btn_scroll_top);
	var fm = fontMenuSelected();
	var st = stripeTable(config.table_stripe);
	$('#font_zoom').click( function (e) {
		(window.event) ? window.event.returnValue = false : e.preventDefault();
		$('body').css('font-size',config.font_size_l);
		setCookie('@font_size',config.font_size_l,31,'/');
		fontMenuSelected();
	});
	$('#font_reset').click( function (e) {
		(window.event) ? window.event.returnValue = false : e.preventDefault();
		$('body').css('font-size',config.font_size_m);
		setCookie('@font_size',config.font_size_m,31,'/');
		fontMenuSelected();
	});
});

var fs = fontSizeInitialize();
