document.oncontextmenu = OnRightButton;
function OnRightButton() {
	return false;
}

//--------------------------------------
function gfgetForm(n){
//	for(var i=0;i<document.forms.length;i++){
	for(var i=document.forms.length-1;0<=i;i--){
		if(n){
			if(document.forms[i].name==n){
				return(document.forms[i]);
			}
		}else{
			if(document.forms[i].name){
				return(document.forms[i]);
			}
		}
	}
	for(var l=0;document.layers&&l<document.layers.length;l++){
		for(var i=0;i<document.layers[l].document.forms.length;i++){
			if(n){
				if(document.layers[l].document.forms[i].name==n){
					return(document.layers[l].document.forms[i]);
				}
			}else{
				if(document.layers[l].document.forms[i].name){
					return(document.layers[l].document.forms[i]);
				}
			}
		}
	}
	return null;
}

//--------------------------------------
function gfFocus(target){
	var f=gfgetForm();
	if(target){
		var o=gffindObj(target);
		if(o){
			o.focus();
		}
	}else if(f){
		for(var i=0;i<f.length;i++){
			var o=f.elements[i];
			if(o.type=="text"){
				if(!o.disabled && !o.readOnly){
					o.focus();
					break;
				}
			}
		}
	}
}
//--------------------------------------
function gfSort(k){
	var f=gfgetForm();
	var v=f.sort.value;
	if(v==k){
		f.sort.value=k+"-desc";
	}else{
		f.sort.value=k;
	}
	f.submit();
}
//--------------------------------------
var gPageSubmit=false;					//2008.02.05
function gfPageSubmitReset(){			//2008.02.05
	gPageSubmit=false;					//2008.02.05
}										//2008.02.05
function gfPage(p){
	if(gPageSubmit){					//2008.02.05
		setTimeout("gfPageSubmitReset()",5000);//2008.02.05
		return;							//2008.02.05
	}									//2008.02.05
	gPageSubmit=true;					//2008.02.05
	var f=gfgetForm();
	var v=eval(f.page.value);
	v+=p;
	if(v<0){
		v=1;
	}
	f.page.value=v;
	f.submit();
}

//--------------------------------------
function gfopenWindow(url,width,height){
	var t=2;
	var l=0;
	var w=650;
	var h=600;
	if(width){
		w=width;
	}
	if(height){
		h=height;
	}
	if(screen.width){
		l=(screen.width - w)/2;
	}
	if(screen.availWidth){
		l=(screen.availWidth - w)/2;
	}
	if(screen.height){
		t=(screen.height - h)/2;
	}
	if(screen.availHeight){
		t=(screen.availHeight - h)/2;
	}

	var win=window.open(url,"subwindow","top="+t+",left="+l+",width="+w+",height="+h+",scrollbars=yes,resizable=yes");
	win.focus();
}

//--------------------------------------
function gfImp(tt,ll){
	var f=gfgetForm();
	var t=tt.split(",");
	if(ll){
		var l=ll.split(",");
	}
	for(var i=0;i<t.length;i++){
		var e=gffindObj(t[i]);
		if(e.type=="text"){
			var v=e.value;
			if(v==""){
				if(l){
					alert(l[i]+" を入力してください");
				}else{
					alert("未入力項目があります");
				}
				e.focus();
				return(false);
			}
		}
	}
	return(true);
}
//--------------------------------------
function gfInt(tt,ll){
	var f=gfgetForm();
	var t=tt.split(",");
	if(ll){
		var l=ll.split(",");
	}
	for(var i=0;i<t.length;i++){
		var e=gffindObj(t[i]);
		if(e.type=="text"){
			var v=e.value;
			if(!gfisInt(v)){
				if(l){
					alert(l[i]+" を確認してください");
				}
				e.focus();
				return(false);
			}
		}
	}
	return(true);
}
//--------------------------------------
function gfIntDate(tt,ll){
	var f=gfgetForm();
	var t=tt.split(",");
	if(ll){
		var l=ll.split(",");
	}
	for(var i=0;i<t.length;i++){
		var e=gffindObj(t[i]);
		if(e.type=="text"){
			var v=e.value;
			if(!gfisInt(v)){
				if(l){
					alert(l[i]+" を確認してください");
				}
				e.focus();
				return(false);
			}
			if(v.length!=0 && v.length!=8){
				if(l){
					alert(l[i]+" を確認してください");
				}
				e.focus();
				return(false);
			}
		}
	}
	return(true);
}
//--------------------------------------
function gfIntDateTime(tt,ll){
	var f=gfgetForm();
	var t=tt.split(",");
	if(ll){
		var l=ll.split(",");
	}
	for(var i=0;i<t.length;i++){
		var e=gffindObj(t[i]);
		if(e.type=="text"){
			var v=e.value;
			if(!gfisInt(v)){
				if(l){
					alert(l[i]+" を確認してください");
				}
				e.focus();
				return(false);
			}
			if(v.length!=0 && v.length!=14){
				if(l){
					alert(l[i]+" を確認してください");
				}
				e.focus();
				return(false);
			}
		}
	}
	return(true);
}
//--------------------------------------
function gfLengthCheck(){
	var f=gfgetForm();
	for(var i=0;i<f.length;i++){
		var e=f.elements[i];
		if(e.type=="text"){
			if(e.maxLength){
				if(e.maxLength<gfStrLen(e.value+"")){
					alert("文字数を確認してください [ "+gfStrLen(e.value+"")+" / "+e.maxLength+" ]");
					e.focus();
					return(false);
				}
			}
			var v=e.value;
			if(v.indexOf("\"")>=0){
				alert("「\"」は使用できません。");
				e.focus();
				return(false);
			}
		}
	}
	return(true);
}
//--------------------------------------
function gfLengthCheck2(obj, len){
	if(obj){
		if(len<gfStrLen(obj.value+"")){
			alert("文字数を確認してください [ "+gfStrLen(obj.value+"")+" / "+len+" ]");
			obj.focus();
			return(false);
		}
		var v=obj.value;
		if(v.indexOf("\"")>=0){
			alert("「\"」は使用できません。");
			obj.focus();
			return(false);
		}
	}
	return(true);
}

//--------------------------------------
function gffindObj(n, d) {
	var p,i,x;

	if(!d)
		d=document;
	if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document;
		n=n.substring(0,p);
	}
	if(!(x=d[n])&&d.all)
		x=d.all[n];
	for (i=0;!x&&i<d.forms.length;i++){
		if(d.forms[i])
			x=d.forms[i][n];
	}
	for(i=0;!x&&d.layers&&i<d.layers.length;i++){
		x=gffindObj(n,d.layers[i].document);
	}

	if(!x && document.getElementById)
		x=document.getElementById(n);
	return x;
}
//----------------------------
// in s : str
function gfStrLen(s) {
	var r = 0;
	for (var i = 0; i < s.length; i++) {
		var c = s.charCodeAt(i);
		// Shift_JIS: 0x0 〜 0x80, 0xa0  , 0xa1   〜 0xdf  , 0xfd   〜 0xff
		// Unicode  : 0x0 〜 0x80, 0xf8f0, 0xff61 〜 0xff9f, 0xf8f1 〜 0xf8f3
		if ( (c >= 0x0 && c < 0x81) || (c == 0xf8f0) || (c >= 0xff61 && c < 0xffa0) || (c >= 0xf8f1 && c < 0xf8f4)) {
			r += 1;
		} else {
			r += 2;
		}
	}
	return r;
}

//--------------------------------------
function gfselRadio(n,i){
	var o=gffindObj(n);
	if(o){
		if(o[i]){
			if(!o[i].disabled){
				o[i].checked=true;
			}
		}
	}
}
//--------------------------------------
function gfselCheckbox(n){
	var o=gffindObj(n);
	if(o){
		if(!o.disabled){
			if(o.checked){
				o.checked=false;
			}else{
				o.checked=true;
			}
		}
	}
}

//--------------------------------------
function gfselCheckbox2(n,i){
	var o=gffindObj(n);
	if(o){
		if(o[i]){
			if(!o[i].disabled){
				if(o[i].checked){
					o[i].checked=false;
				}else{
					o[i].checked=true;
				}
			}
		}
	}
}

//----------------------------
function gfformatDate(o){
	var v=o.value;
	if(v.length==10){
		return;
	}
	if(v.length==3){
		if(v.substring(1,2)=="/"){
			var ymd=new Date();
			var y=ymd.getFullYear();
			o.value=y+"/0"+v.substring(0,1)+"/0"+v.substring(2,3);
			return;
		}
	}
	if(v.length==4 && !isNaN(v)){
		var ymd=new Date();
		var y=ymd.getFullYear();
		o.value=y+"/"+v.substring(0,2)+"/"+v.substring(2,4);
		return;
	}
	if(v.length==4){
		if(v.substring(1,2)=="/"){
			var ymd=new Date();
			var y=ymd.getFullYear();
			o.value=y+"/0"+v.substring(0,1)+"/"+v.substring(2,4);
			return;
		}
	}
	if(v.length==5){
		if(v.substring(2,3)=="/"){
			var ymd=new Date();
			var y=ymd.getFullYear();
			o.value=y+"/"+v;
			return;
		}
	}
	if(v.length==6 && !isNaN(v)){
		o.value="20"+v.substring(0,2)+"/"+v.substring(2,4)+"/"+v.substring(4,6);
		return;
	}
	if(v.length==8 && !isNaN(v)){
		o.value=v.substring(0,4)+"/"+v.substring(4,6)+"/"+v.substring(6,8);
		return;
	}
}

//----------------------------
function gfformatNumber(o,fmt){
	if(o.value==""){
		return;
	}
	var w=fmt+""+o.value;
	var v=w.substring(w.length-fmt.length);
	o.value=v;
	return;
}

//--------------------------------------
function gfisMailAddr(a){
	if(a==""){
		return(true);
	}
//	var b=a.replace(/[a-zA-Z0-9_@\.\-]/g,'');
//	if(b.length!=0){
//		return(false);
//	}
	var p1=a.indexOf("@");
	var p2=a.lastIndexOf("@");
	var p3=a.lastIndexOf(".");
	if(0<p1 && p1==p2 && p1<p3 && p3<a.length-1 ){
		return(true);
	}
	return(false);
}

//----------------------------
// empty:ok, <0:ng
function gfisInt(v){
	if(v.length==0){
		return true;
	}
	var w=v.replace(/[0-9]/g,'');
	if(w.length!=0){
		return(false);
	}
	return true;
}

//----------------------------
// empty:ok, <0:ng
function gfisInt2(v){
	var chk=true;
	if(v.length==0){
		return true;
	}
	if(isNaN(v)){
		chk=false;
	}
	if(v.indexOf(".",0)>=0||v.indexOf("e",0)>=0||v.indexOf("E",0)>=0){
		chk=false;
	}
	if(v.indexOf(".",0)>=0||v.indexOf("x",0)>=0||v.indexOf("X",0)>=0){
		chk=false;
	}
	if(v!=parseInt(v)+""){
		chk=false;
	}
	if(chk){
		if(parseInt(v)<0){
			chk=false;
		}
	}
	return chk;
}
//----------------------------
// empty:ok, <0:ng
function gfisDbl(v){
	var chk=true;
	if(v.length==0){
		return true;
	}
	if(isNaN(v)){
		chk=false;
	}
	if(v.indexOf("e",0)>=0||v.indexOf("E",0)>=0){
		chk=false;
	}
	if(v.indexOf("x",0)>=0||v.indexOf("X",0)>=0){
		chk=false;
	}
	if(chk){
		if(parseInt(v)<0){
			chk=false;
		}
	}
	return chk;
}

//----------------------------
function gfisZip(v1,v2,m){
	if(!m){	//任意
		if(v1=="" && v2==""){
			return true;
		}
	}
	if(v1.length!=3 || v2.length!=4){
		return false;
	}
	if(!(gfisInt(v1) && gfisInt(v2))){
		return false;
	}
	return true;
}
//----------------------------
function gfisZip2(o,m){
	var v=o.value;
	var v1="";
	var v2="";
	if(v.length==7){
		v1=v.substring(0,3);
		v2=v.substring(3,7);
		o.value=v1+"-"+v2;
	}
	if(v.length==8){
		if(v.substring(3,4)=="-"){
			v1=v.substring(0,3);
			v2=v.substring(4,8);
		}
	}

	if(v==""&&!m){
		return true;
	}
	if(gfisZip(v1,v2,1)){
		return true;
	}else{
		alert("郵便番号を確認してください");
		o.focus();
		return false;
	}
}
//----------------------------
function gfisTel(t1,t2,t3,m){
	if(!m){	//任意
		if(t1=="" && t2=="" && t3==""){
			return true;
		}
	}
	if(t2.length==4 && t3.length==0){
		t3=t2;
		t2="";
	}
	if(t1.length==0 || t3.length!=4){
		return false;
	}
	if(!(gfisInt(t1) && gfisInt(t2) && gfisInt(t3))){
		return false;
	}
	if(t1.charAt(0)!="0"){
		return false;
	}
	var tel=t1+""+t2+""+t3;
	if(tel.length>11 || tel.length<9){
		return false;
	}
	return true;
}
//----------------------------
function gfisIntDate(dd,c){
	var w=dd+"";
	if(w.length==8){
		var y=w.substring(0,4)
		var m=w.substring(4,6)
		var d=w.substring(6)
		return gfisDate(y,m,d,c)
	}else{
		return(false);
	}
}
//----------------------------
function gfisIntFuture(dd,i,c){
	var w=dd+"";
	if(w.length==8){
		var y=w.substring(0,4)
		var m=w.substring(4,6)
		var d=w.substring(6)
		return gfisFuture(y,m,d,i,c)
	}else{
		return(false);
	}
}
//----------------------------
//c: 0:未入力OK ,1:必須
function gfisDate2(o,c,m){
	var chk=0;
	var ymd=o.value;
	if(c){
		chk=c;
	}
	if(ymd=="" && chk==0){
		return(true);
	}
	if(ymd=="" && chk==1){
		if(!m){
			alert("日付を入力してください");
			o.focus();
		}
		return(false);
	}
	var w=ymd.split("/");
	if(w.length==3){
		if(gfisDate(w[0],w[1],w[2],chk)){
			return(true);
		}else{
			if(!m){
				alert("日付を確認してください");
				o.focus();
			}
			return(false);
		}
	}
	if(gfisIntDate(ymd,chk)){
		return(true);
	}else{
		if(!m){
			alert("日付を確認してください");
			o.focus();
		}
		return(false);
	}
}
//----------------------------
//y:year,m:month,d:day,
//c: 0:未入力OK ,1:必須
function gfisDate(y,m,d,c){
	if(y=="" && m=="" && d=="" && c==0){
		return(true);
	}
	if(isNaN(y) || isNaN(m) || isNaN(d)){
		return(false);
	}
	if(eval(y)==0||eval(m)==0||eval(d)==0){
		return(false);
	}
	var dt=new Date();
	dt.setDate(1);
	dt.setFullYear(eval(y));
	dt.setMonth(eval(m)-1);
	dt.setDate(eval(d));
	if(eval(y)!=dt.getFullYear()){
		return(false);
	}
	if(eval(m)!=dt.getMonth()+1){
		return(false);
	}
	if(eval(d)!=dt.getDate()){
		return(false);
	}
	if(eval(y)<1900){
		return(false);
	}
	return(true);
}

//----------------------------
// y:year,m:month,d:day,
// c: 0:未入力OK ,1:必須
// today <= ymd : ok
function gfisFuture(y,m,d,i,c){
	if(y=="" && m=="" && d=="" && c==0){
		return(true);
	}
	if(!gfisDate(y,m,d,1)){
		return(false);
	}
	var now=new Date();
	now.setDate(now.getDate()+i);
	if((y*10000) + (m*100) + (d*1) < now.getYear()*10000 + (now.getMonth()+1)*100 + now.getDate()*1){
		return(false);
	}
	return(true);
}

//----------------------------
function gfEditDate(o){
	var w=o.name;
	var n=w.substring(0, w.length-1);
	var t=w.substring(w.length-1);

	var o1=gffindObj(n+"y");
	var o2=gffindObj(n+"m");
	var o3=gffindObj(n+"d");

	var s1=o1.selectedIndex;
	var s2=o2.selectedIndex;
	var s3=o3.selectedIndex;

	if(t=="y" && s1==0){
		o2.options[0].selected=true;
		o3.options[0].selected=true;
	}

	var dt=new Date();
	if(t=="y" && s1==2){
		o2.options[dt.getMonth()+1].selected=true;
		o3.options[dt.getDate()].selected=true;
	}
	if(t=="m"){
		o3.options[1].selected=true;
	}

}

//----------------------------
function gfchkKana(tword) {
	if(tword.length<=0){
		return true;
	}
	
//	data = tword.match(/[^あ-ん,"ー","ぁ","ぃ","ぅ","ぇ","ぉ","ゃ","ゅ","ょ","ゎ","ゐ","ゑ"]/g);
	data = tword.match(/[^ア-ン,"ー","ァ","ィ","ゥ","ェ","ォ","ャ","ュ","ョ","ヮ","ヲ","ヱ"]/g);
	if (data || !tword) {
		return false;
	}
	return true;
}


//----------------------------
function gfchkUnique(target,cnt) {
	var chk=true;
	var v1;
	var v2;
	for(var i=1;i<=cnt;i++){
		var o1=gffindObj(target+""+i);
		if(o1){
			v1=o1.value;
			for(var j=i+1;j<=cnt;j++){
				var o2=gffindObj(target+""+j);
				v2=o2.value;
				if(v1.toUpperCase()==v2.toUpperCase() && v1!=""){
					alert("コードに重複した値が指定されています");
					gfFocus(target+""+j)
					return false;
				}
			}
		}
	}
	return(true);
}
function gfZipToAddr(n,f){
	var o=gffindObj(n);
	var zip=o.value;
	if(zip.length==7 ||(zip.length==8 && zip.substring(3,4)=="-")){
		gfopenWindow('ziptoaddr.asp?zip='+zip+'&frm='+f,1,1);
	}
}
