try { 
document.execCommand('BackgroundImageCache', false, true); 
} catch(e) {}

//  小窓を開くjavascript
//  書式例<a href="./window.html" onclick="openwin(this.href, 400, 200, 0, 0, 1, 1, 1, 1, 0); return false;">400x200</a>
function openwin(url, w, h, t, l, s, st, r, m) {
window.open(url, "", "width=" + w + ",height=" + h + ",top=" + t + ",left=" + l + ",scrollbars=" + s + ",status=" + st + ",resizable=" + r + ",menubar=" + m);
}

var eventTimer;	//タイマー変数
var restScroll=0;	//スクロール残量

function Scroll(base,move){

	//移動元(base)要素＆オブジェクトを取得
	var obj_base  = getElemPosition(base);

	//移動先(move)要素＆オブジェクトを取得
	var elem_move = document.getElementById(move);
	var obj_move  = getElemPosition(elem_move);

	restScroll = obj_move.y-obj_base.y+50;
	eventTimer = setInterval(setScrollPosition,2);
}
//スクロール処理をする
function setScrollPosition() {

	var moveValue=0;

	//スクロール残量が80以上の場合、スクロール量を変える
	//Math.abs()では値の絶対値を取得
	if(Math.abs(restScroll)>80){
		moveValue = (restScroll>0)?130:-130;
	}else{
		moveValue = Math.round(restScroll/4);
	}
	//スクロールを処理
	parent.scrollBy(0,moveValue);

	//スクロール残量を計算して、残りが無ければタイマー解除
	restScroll = (restScroll>0)?restScroll-moveValue:restScroll-moveValue;

	if(moveValue==0){
		clearInterval(eventTimer);
		restScroll=0;
	}
}

//要素の位置を取得し、オブジェクトとして返す
function getElemPosition(elem) {
	var obj = new Object();
	obj.x = elem.offsetLeft;
	obj.y = elem.offsetTop;

	//親要素を取得して位置情報を修正する
	while(elem.offsetParent) {
		elem = elem.offsetParent;
		obj.x += elem.offsetLeft;
		obj.y += elem.offsetTop;
	}
	return obj;
}









/*
  フォームチェック
*/

//
//未入力チェック
//
function chNull(obj,msg) { 
if(!obj) return true; 
 
if(obj.value=="") { 
window.alert(msg+'が入力されていません'); 
obj.focus(); 
obj.className = "err";
return false; 
} 
obj.className = "";
return true; 
}

//
//文字数チェック
//
function chNum(obj,min,max,msg) { 
if(!obj) return true; 
  
var num = obj.value.length; 
var brw = navigator.appName; 
  
if(num < min) { 
window.alert(msg + 'は' + min + '文字以上で入力してください') 
obj.focus(); 
obj.className = "err";
return false; 
} 
if(num > max) { 
window.alert(msg + 'は' + max + '文字以下で入力してください') 
obj.focus(); 
obj.className = "err";
return false; 
} 
obj.className = "";
return true; 
}



//
//郵便番号入力規則
//

function chZip(obj,msg) { 
if(!obj) return true; 

if(!obj.value.match(/^\d+\-\d+$/)) { 
window.alert(msg+'が正しくありません。\r\n半角数字（ハイフンを含む）で入力してください。'); 
obj.focus();
obj.className = "err";
return false; 
} 
obj.className = "";
return true; 
}


//
//電話番号、ＦＡＸ入力規則
//

function chTelFax(obj,msg) { 
if(!obj) return true;
if(!obj.value.match(/^\d+\-\d+\-\d+$/)) { 
window.alert(msg+'が正しくありません。\r\n半角数字（ハイフンを含む）で入力してください。'); 
obj.focus();
obj.className = "err";
return false; 
}
obj.className = "";
return true; 
}

//
//URLチェック
//
function chURL(obj,msg) { 
if(!obj) return true; 
if(!obj.value.match(/(http|ftp):\/\/.+/)) { 
window.alert(msg+'が正しくありません。'); 
obj.focus();
obj.className = "err";
return false; 
}
obj.className = "";
return true; 
}

//
//MAILチェック
//
function chMail(obj,msg) { 
if(!obj) return true; 
if(!obj.value.match(/^\S+@\S+\.\S+$/)) { 
window.alert(msg+'が正しくありません。'); 
obj.focus();
obj.className = "err";
return false; 
}
obj.className = "";
return true; 
}


//
//全角チェック
//
function chHalf(obj,msg){
	if(!obj) return true; 
	var str = obj.value; 
		for (var i=0; i<str.length; i++) { 

			/* 1文字ずつ文字コードをエスケープし、その長さが4文字未満なら半角 */ 
			var len = escape(str.charAt(i)).length;
			if (len >= 4){
			window.alert(msg + 'に全角文字が含まれています'); 
			obj.focus();
			obj.className = "err";
			return false; 
			}
		}
obj.className = "";
return true; 
}

//
//全角チェック
//
function chHalf(obj,msg){
	if(!obj) return true; 
	var str = obj.value; 
		for (var i=0; i<str.length; i++) { 

			/* 1文字ずつ文字コードをエスケープし、その長さが4文字未満なら半角 */ 
			var len = escape(str.charAt(i)).length;
			if (len >= 4){
			window.alert(msg + 'に全角文字が含まれています'); 
			obj.focus();
			obj.className = "err";
			return false; 
			}
		}
obj.className = "";
return true; 
}

//
//半角英数字-_チェック
//
function chaz09haiun(obj,msg) { 
if(!obj) return true; 
if(!obj.value.match(/[a-zA-Z0-9\-\_]|^$/)) { 
window.alert(msg+'に半角英数字、-_ 以外が含まれています。'); 
obj.focus();
obj.className = "err";
return false; 
}
obj.className = "";
return true; 
}


//
//半角英数字チェック
//
function chaz09(obj,msg) { 
if(!obj) return true; 
if(!obj.value.match(/[a-zA-Z0-9]|^$/)) { 
window.alert(msg+'に半角英数字以外が含まれています。'); 
obj.focus();
obj.className = "err";
return false; 
}
obj.className = "";
return true; 
}


//
//半角整数チェック
//
function chint(obj,msg) { 
if(!obj) return true; 
if(!obj.value.match(/^[1-9][0-9]*$|^[0]$/)) { 
window.alert(msg+'は整数で入力してください。'); 
obj.focus();
obj.className = "err";
return false; 
}
obj.className = "";
return true; 
}



/********************************************************************
  Scroll
*********************************************************************/
function scroller(i){
		scroller_up(i,1000);
}
	
function scroller_up(i,y){
	y = y + (i - y)*.1;
	window.scroll(0,y);
	if (((i - y) <= .6)&&((i - y) >= -.6))
	{					
		y = i;
	}else{
		setTimeout("scroller_up("+i+","+y+")",1);
	}
}

function scroller_e(i){
	y = 1;
	kyoukai = i*.6;
	while(y <= kyoukai)
	{
		window.scroll(0,y);
		y = y + (y*.08);
    }
	while(y != i)
	{
		window.scroll(0,y);
		y = y + (i-y)*.08;
		if (((i - y) <= .6)&&((i - y) >= -.6))
		{					
			y = i;
		}		
	}
}


