/* 正規表現に関する汎用関数 */
function checkValue(val, str){
	var txt = '' + val;
	var re = new RegExp(str);
	return (txt.match(re) ? true : false);
}
/* 配列に関する汎用関数 */
function arrayPush(arr,val){
	var num = arr.length;
	arr[num] = val;
	return arr;
}
/* ページ先頭にスクロール */
function goPageTop(){
	window.scrollTo(0,0);
}
/* クエリに関する汎用関数 */
function parseQuery(qstr){
	qstr = qstr.replace(/^\?/,'');
	var query = new Array();
	var arr = qstr.split("&");
	for(var i = 0; i < arr.length; i++){
		var str = arr[i].split('=');
		var key = str[0];
		var val = str[1];
		if(key != ''){
			query[key] = val;
		}
	}
	return query;
}
/* onload処理 */
function class_onloadlib(){
	this.onloadFunc = new Array();
	this.addFunc = addFunc;
	this.exec = exec;
	this.completed = false;
	
	function addFunc(fn){
		this.onloadFunc = array_push(this.onloadFunc, fn);
	}
	function exec(){
		for(var i = 0; i < this.onloadFunc.length; i++){
			eval(this.onloadFunc[i]);
		}
		this.completed = true;
	}
}
var onload_obj = new class_onloadlib();
function onload_add(fn){
	onload_obj.addFunc(fn);
}
function onload_exec(fn){
	onload_obj.exec();
}
window.onload = onload_exec;
/* Class指定 */
function set_classname(obj, cname){
	if(document.getElementById){
		obj.className = cname;
	}
}
/* ウィンドウ&ロケーション */
function win_open(){
	if(arguments[0]){
		var url = arguments[0];
		var tgt = (arguments[1] ? arguments[1] : '_self');
		var prp = '';
		if(arguments.length > 3){
			var scroll = (arguments[2] ? 1 : 0);
			var resize = (arguments[3] ? 1 : 0);
			var width = (arguments[4] > 100 ? arguments[4] : 100);
			var height = (arguments[5] > 100 ? arguments[5] : 100);
			prp = 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=' + scroll + ',resizable=' + resize + ',width=' + width + ',height=' + height;
		}
		else if(arguments[2] != null){
			prp = arguments[2];
		}
		
		(arguments[2] ? arguments[2] : '');
		var newWin = new Object();
		if(prp) newWin = window.open(url,tgt,prp);
		else newWin = window.open(url,tgt);
		newWin.focus();
	}
}
/* イメージオブジェクト */
function class_imglib(){
	this.preloadImg = new Array();
	this.setObj = setObj;
	this.changeSrc = changeSrc;
	this.getTargetObj = getTargetObj;
	
	function setObj(pid,srcPath){
		this.preloadImg[pid] = new Image();
		this.preloadImg[pid].src = srcPath;
	}
	function getTargetObj(id){
		//return (document.getElementById(id) ? document.getElementById(id) : document.images[id]);
		return document.images[id];
	}
	function changeSrc(obj,pid){
		var id = (typeof(obj.id) != 'undefined' ? obj.id : obj);
		if(typeof(this.getTargetObj(id)) != 'undefined' && typeof(this.preloadImg[pid]) != 'undefined'){
			(this.getTargetObj(id)).src = this.preloadImg[pid].src;
		}
	}
}
var img_obj = new class_imglib();
function img_set(){
	img_obj.setObj(arguments[0],arguments[1]);
}
function img_change(){
	img_obj.changeSrc(arguments[0],arguments[1]);
}
function img_onmouseoverhandler(){
	img_obj.changeSrc(this.id,(this.id + ':mouseover'));
}
function img_onmouseouthandler(){
	img_obj.changeSrc(this.id,(this.id + ':mouseout'));
}
function img_sethandler(id,movr,mout){
	if(document.getElementById){
		if(document.getElementById(id) != null){
			img_set(id + ':mouseover', movr);
			img_set(id + ':mouseout' , mout);
			document.getElementById(id).onmouseover = img_onmouseoverhandler;
			document.getElementById(id).onmouseout  = img_onmouseouthandler;
		}
	}
}
/* クッキー */
function class_cookielib(){
	this.getCookie = getCookie;
	this.setCookie = setCookie;
	this.removeCookie = removeCookie;
	
	var expireDate = new Date();
	expireDate.setFullYear(expireDate.getFullYear()+1);
	expireStr = "expires=" + expireDate.toUTCString();

	function getCookie(name){
		var gc=name+"=";
		var Cookie=document.cookie;
		if (Cookie.length>0) {
			var start=Cookie.indexOf(gc);
			if (start!=-1) {
				start+=gc.length;
				terminus=Cookie.indexOf(";",start);
				if (terminus==-1) terminus=Cookie.length;
				return unescape(Cookie.substring(start,terminus));
			}
		}
		return '';
	}
	function setCookie() {
		var key = arguments[0];
		var val = arguments[1];
		var path = (typeof(arguments[2]) != 'undefined' ? arguments[2] : '/');
		var exp = (typeof(arguments[3]) != 'undefined' ? arguments[3] : expireStr);
		var sc = key + "=" + escape(val) + "; path=" + path + "; " + exp;
		document.cookie = sc;
	}
	function removeCookie(key,path) {
		if(!path){
			path = '/';
		}
		var rc = key + "=; path=" + path + "; expires=Thu, 1 Jan 1970 00:00:00 UTC";
		document.cookie = rc;
	}
}
var cookieObj = new class_cookielib();

function onresize_handler(){
	if(document.layers){
		window.location.reload();
	}
}
window.onresize = onresize_handler;

/* テキストサイズの変更 */
var txtsize_val = 2;
var txtsize_css_size = new Array();
txtsize_css_size[0] = '90%';
txtsize_css_size[1] = '95%';
txtsize_css_size[2] = '100%';
txtsize_css_size[3] = '105%';
txtsize_css_size[4] = '110%';
function setTextSize(){
	if(cookieObj.getCookie('txtsize') != ''){
		txtsize_val = 1 * cookieObj.getCookie('txtsize');
	}
	document.write('<style type="text/css">');
	document.write('* body, * td { font-size:' + txtsize_css_size[txtsize_val] + '; }');
	document.write('</style>');
}
function changeTextSize(num){
	var fl_update = false;
	var tmp_val = txtsize_val + num;
	if(tmp_val >= 0 && tmp_val < txtsize_css_size.length){
		txtsize_val = tmp_val;
		fl_update = true;
	}
	if(fl_update){
		cookieObj.setCookie('txtsize',txtsize_val,'/','');
		window.location.reload();
	}
}
function outputTextSizeCtrl(){
	if(document.layers){
		return;
	}
	document.write('<table border="0" cellspacing="0" cellpadding="0">');
	document.write('<tr>');
	document.write('<td width="1" height="34" class="txtsize-bg1"><spacer type="block" width="1" height="1"></td>');
	document.write('<td width="6"></td>');
	document.write('<td width="177">');
	document.write('<table border="0" cellspacing="5" cellpadding="0">');
	document.write('<tr>');
	document.write('<td width="68"><img src="resource/images/common/txtsize_txt1.gif" border="0" alt="FontSize"></td>');
	if(txtsize_val < txtsize_css_size.length - 1){
		document.write('<td width="15"><a href="#" onclick="changeTextSize(1);return false;" onkeypress="changeTextSize(1);return false;"><img src="resource/images/common/txtsize_arrow1.gif" border="0" alt="Bigger"></a></td>');
	}
	else{
		document.write('<td width="15"><img src="resource/images/common/txtsize_arrow1_2.gif" border="0" alt="Biggest"></td>');
	}
	if(txtsize_val != 0){
		document.write('<td width="15"><a href="#" onclick="changeTextSize(-1);return false;" onkeypress="changeTextSize(-1);return false;"><img src="resource/images/common/txtsize_arrow2.gif" border="0" alt="smaller"></a></td>');
	}
	else{
		document.write('<td width="15"><img src="resource/images/common/txtsize_arrow2_2.gif" border="0" alt="Smallest"></td>');
	}
	document.write('</tr>');
	document.write('</table>');
	document.write('</td>');
	document.write('<td width="6"></td>');
	document.write('<td width="1" class="txtsize-bg1"><spacer type="block" width="1" height="1"></td>');
	document.write('</tr>');
	document.write('</table>');
}
