/* 正規表現に関する汎用関数 */
function checkValue(val, str){
	var txt = '' + val;
	var re = new RegExp(str);
	return (txt.match(re) ? true : false);
}
/* 配列に関する汎用関数 */
function array_push(arr,val){
	var num = arr.length;
	arr[num] = val;
	return arr;
}
/* クエリに関する汎用関数 */
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(key,val,path) {
		if(!path){
			path = '/bizit/';
		}
		var sc = key + "=" + escape(val) + "; path=" + path + "; " + expireStr;
		document.cookie = sc;
	}
	function removeCookie(key,path) {
		if(!path){
			path = '/bizit/';
		}
		var rc = key + "=; path=" + path + "; expires=Thu, 1 Jan 1970 00:00:00 UTC";
		document.cookie = rc;
	}
}
/* CSSの振り分け */
var common_css_loc = new Array();
common_css_loc['default'] = '/resource/stylesheet/common/default.css';
common_css_loc['safari']  = '/resource/stylesheet/common/for_safari.css';
function css_setlink(){
	var cls = 'default';
	if(navigator.userAgent.match(/applewebkit/i) != null){
		cls = 'safari';
	}
	document.write('<link rel="stylesheet" type="text/css" href="' + common_css_loc[cls] + '" />');
}
/* NN4対策 */
function css_setlink(){
	var cls = 'default';
	if(navigator.userAgent.match(/applewebkit/i) != null){
		cls = 'safari';
	}
	document.write('<link rel="stylesheet" type="text/css" href="' + common_css_loc[cls] + '" />');
}
function onresize_handler(){
	if(document.layers){
		window.location.reload();
	}
}
window.onresize = onresize_handler;
