/* 文字コードはUTF-8 */

/* 正規表現に関する汎用関数 */
function checkValue(val, str){
	var txt = '' + val;
	var re = new RegExp(str);
	return (txt.match(re) ? true : false);
}

/* onload処理 */
function class_onloadlib(){
	this.onloadFunc = new Array();
	this.addFunc = addFunc;
	this.exec = exec;
	this.completed = false;
	
	function addFunc(fn){
		this.onloadFunc = arrayPush(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;

/* ウィンドウ&ロケーション */
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_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();

window.goPageTop = function(){
	window.scrollTo(0,0);
}

var scrollToPageTopTimer = null;
var scrollToPageTopPos = 0;
function _scrollToPageTop(){
	if(scrollToPageTopPos > 0){
		scrollToPageTopPos = Math.floor(scrollToPageTopPos * 0.5);
		window.scrollTo(0, scrollToPageTopPos);
		scrollToPageTopTimer = setTimeout('_scrollToPageTop();',30);
	}
	else{
		//window.location.hash = "PAGETOP";
		clearTimeout(scrollToPageTopTimer);
	}
}
function scrollToPageTop(){
	if(typeof(window.pageYOffset) != 'undefined'){
		scrollToPageTopPos = window.pageYOffset;
	}
	else if(typeof(document.documentElement) != 'undefined'){
		if(typeof(document.documentElement.scrollTop) != 'undefined'){
			scrollToPageTopPos = document.documentElement.scrollTop;
		}
	}
	if(scrollToPageTopPos > 0){
		_scrollToPageTop();
	}
	else{
		window.scrollTo(0, 0);
	}
}

/* イメージオブジェクト */
function class_imglib(){
	this.preloadImg = new Array();
	this.setObj = setObj;
	this.changeSrc = changeSrc;
	
	function setObj(pid,srcPath){
		this.preloadImg[pid] = new Image();
		this.preloadImg[pid].src = srcPath;
	}
	function changeSrc(obj,pid){
		if(typeof(this.preloadImg[pid]) != 'undefined'){
			obj.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]);
}
