/* 正規表現に関する汎用関数 */

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 txtsize_val = 0; // default値

var txtsize_css_size = new Array();

txtsize_css_size[0] = '85%';

txtsize_css_size[1] = '100%';



/* 

 * suzuki追加分 

 * 1. Cookieオブジェクトを新規追加

 * 2. Cookieの「txtsize」という変数から前回のテキストサイズをget

 * 3. HTMLページのテキストサイズとしてセットする

 */

var cookieObj = new class_cookielib();

setTextSize();



function onresize_handler(){

	if(document.layers){

		window.location.reload();

	}

}

window.onresize = onresize_handler;



function setTextSize(){

	if(cookieObj.getCookie('txtsize') != ''){

		txtsize_val = 1 * cookieObj.getCookie('txtsize');

	}

	document.write('<style type="text/css">');

	document.write('* body, * th, * td { font-size:' + txtsize_css_size[txtsize_val] + ';line-height:150% }');

	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>');

	document.write('<table border="0" cellspacing="0" cellpadding="0">');

	document.write('<tr>');

	document.write('<td><img src="http://w-osaka.jp/commonimages/text-size.gif" border="0" alt="文字サイズ"></td>');

	if(txtsize_val != 0){

		document.write('<td><a href="#" onclick="changeTextSize(-1);return false;" onkeypress="changeTextSize(-1);return false;"><img src="http://w-osaka.jp/commonimages/text-size_n_o.gif" border="0" alt="標準"></a></td>');

	} else {

		document.write('<td><img src="http://w-osaka.jp/commonimages/text-size_n.gif" border="0" alt="標準"></td>');

	}

	if(txtsize_val < txtsize_css_size.length - 1){

		document.write('<td><a href="#" onclick="changeTextSize(1);return false;" onkeypress="changeTextSize(1);return false;"><img src="http://w-osaka.jp/commonimages/text-size_l_o.gif" border="0" alt="大"></a></td>');

	} else {

		document.write('<td><img src="http://w-osaka.jp/commonimages/text-size_l.gif" border="0" alt="大"></td>');

	}

	document.write('</tr>');

	document.write('</table>');

	document.write('</td>');

	document.write('</tr>');

	document.write('</table>');

	/*

	 *  suzuki追加分

	 *　テキストサイズを変えるボタンの押下時に現在のテキストサイズをCookieに書き込む

	 */

	cookieObj.setCookie('txtsize', txtsize_val);

}



/* お気に入りに追加*/
function addBookmark(title,url) { 
if (window.sidebar) { 
window.sidebar.addPanel(title, url,""); 
} else if( document.all ) { 
window.external.AddFavorite( url, title); 
} else if( window.opera && window.print ) { 
return true; 
} 
} 


