function IsNull(Obj,ArgMsg,UseFocus) {
	var ret=false,Objval = LTrim(Obj.value);

	if ( Objval == "" || Objval == null ) {
		if ( ArgMsg != null && ArgMsg != "")
			alert( "入力エラー : " + ArgMsg + "を入力して下さい。");
		if ( UseFocus != false ) {
			Obj.focus();
			if( Obj.type != "select-one") Obj.select();
		}
		ret = true;
	}
	if ( ret == true) Obj.value = Objval;
	return ret;
}

function IsZero(Obj,ArgMsg,UseFocus) {
	var ret=false,Objval = LTrim(Obj.value);
	Objnum = parseInt(Objval);

	if ( Objval == "" || Objval == null || Objnum == 0) {
		if ( ArgMsg != null && ArgMsg != "")
    	    alert( "入力エラー : " + ArgMsg + "を入力して下さい。");
		if ( UseFocus != false ) {
			Obj.focus();
			Obj.select();
		}
		ret = true;
	}
	if ( ret == true && !isNaN(Objnum))  Obj.value = Objnum;

	return ret;
}

function OnlyNum(Obj,ArgMsg,EmptyOk,UseFocus) {
    var ret=true,CharAsc,Msg;
	Objval = Trim(Obj.value);
	Obj.value = Objval;

	if ( IsZero(Obj,"",false) == true && EmptyOk == false){
		Msg = "入力エラー : " + ArgMsg + "を入力して下さい。";
		ret = false;
	} else {
		for (i=0;i<Objval.length;i++) {
			CharAsc = Objval.charCodeAt(i);
			if ((CharAsc < 48) || (CharAsc > 57)) {
				Msg= "入力エラー : 数字（半角）のみ使用することが出来ます。" + ArgMsg + "を、もう一度入力して下さい。";
				ret = false;
				break;
			}
		}
	}
	if ( ret == false ) {
		if ( ArgMsg != null && ArgMsg != "") alert(Msg);
		if ( UseFocus != false ) {
			Obj.focus();
			Obj.select();
		}
	} else Obj.value = Objval;

	return ret;
}

function OnlyAlpha(Obj,ArgMsg,EmptyOk,UseFocus) {
    var ret=true,CharAsc,Msg;
	Objval = Trim(Obj.value);
	Obj.value = Objval;

	if ( IsNull(Obj,"",false) == true && EmptyOk == false){
        Msg = "入力エラー : " + ArgMsg + "を入力して下さい。";
		ret = false;
	}  else {
		for (i=0;i<Objval.length;i++) {
			CharAsc = Objval.charCodeAt(i);

			if ( (CharAsc < 65) || ((CharAsc > 90) && (CharAsc < 97)) || (CharAsc > 122)) {
                Msg= "入力エラー : 英文字（半角）のみ使用することが出来ます。" + ArgMsg + "を、もう一度入力して下さい。";
				ret = false;
				break;
			}
		}
	}

	if ( ret == false ) {
		if ( ArgMsg != null && ArgMsg != "") alert(Msg);
		if ( UseFocus != false ) {
			Obj.focus();
			Obj.select();
		}
	} else Obj.value = Objval;

	return ret;
}

function OnlyAlphaNum(Obj,ArgMsg,EmptyOk,UseFocus) {
    var ret=true,CharAsc,Msg;
	Objval = Trim(Obj.value);
	Obj.value = Objval;

	if ( (IsNull(Obj,"",false) == true || Objval == 0) && EmptyOk == false){
        Msg = "入力エラー : " + ArgMsg + "を入力して下さい。";
		ret = false;
	} else {
		for (i=0;i<Objval.length;i++) {
			CharAsc = Objval.charCodeAt(i);

			if ( (CharAsc < 48) || ((CharAsc > 57) && (CharAsc < 65)) || ((CharAsc > 90) && (CharAsc < 97)) || (CharAsc > 122)) {
                Msg= "入力エラー : 英文字（半角）と数字（半角）のみ使用することが出来ます。" + ArgMsg + "を、もう一度入力して下さい。";
				ret = false;
				break;
			}
		}
	}
	if ( ret == false ) {
		if ( ArgMsg != null && ArgMsg != "") alert(Msg);
		if ( UseFocus != false ) {
			Obj.focus();
			Obj.select();
		}
	} else Obj.value = Objval;

	return ret;
}

function ExceptKor(Obj,ArgMsg,EmptyOk,UseFocus) {
    var ret=true,CharAsc,Msg;
	Objval = RTrim(Obj.value);
	Obj.value = Objval;

	if ( IsNull(Obj,"",false) == true && EmptyOk == false){
        Msg = "入力エラー : " + ArgMsg + "を入力して下さい。";
		ret = false;
	}  else {
		for (i=0;i<Objval.length;i++) {
			CharAsc = Objval.charCodeAt(i);
			if (!(((CharAsc > 96) && (CharAsc < 124)) || ((CharAsc > 64) && (CharAsc < 91)) || ((CharAsc > 31) && (CharAsc < 58)))) {
				if ( CheckNotKor(Objval.charAt(i)) == true ) {
                    Msg = "入力エラー : 日本語を使用することが出来ません。" + ArgMsg + "を、もう一度入力して下さい。";
					ret = false;
					break;
				}
			}
		}
	}

	if ( ret == false ) {
		if ( ArgMsg != null && ArgMsg != "") alert(Msg);
		if ( UseFocus != false ) {
			Obj.focus();
			Obj.select();
		}
	} else Obj.value = Objval;

	return ret;
}
function OnlyChar(Obj,ArgMsg,EmptyOk,UseFocus) {
    var ret=true,CharAsc,Msg;
	Objval = Trim(Obj.value);
	Obj.value = Objval;

	if ( (IsNull(Obj,"",false) == true || Objval == 0) && EmptyOk == false){
        Msg = "入力エラー : " + ArgMsg + "を入力して下さい。";
		ret = false;
	} else {
		for (i=0;i<Objval.length;i++) {
			CharAsc = Objval.charCodeAt(i);

			if ((CharAsc >= 48) && (CharAsc <= 57)) {
                Msg= "入力エラー : 文字のみ使用することが出来ます。" + ArgMsg + "を、もう一度入力して下さい。";
				ret = false;
				break;
			}
		}
	}

	if ( ret == false ) {
		if ( ArgMsg != null && ArgMsg != "") alert(Msg);
		if ( UseFocus != false ) {
			Obj.focus();
			Obj.select();
		}
	} else Obj.value = Objval;

	return ret;
}
function OnlyNumFloat(Obj,ArgMsg,EmptyOk,UseFocus) {
    var ret=true,CharAsc,Msg;
	Objval = Trim(Obj.value);
	Obj.value = Objval;

	if ( IsNull(Obj,"",false) == true && EmptyOk == false){
        Msg = "入力エラー : " + ArgMsg + "を入力して下さい。";
		ret = false;
	}  else {
		for (i=0;i<Objval.length;i++) {
			CharAsc = Objval.charCodeAt(i);

			if (((CharAsc < 48) && (CharAsc != 46)) || (CharAsc > 57)) {
                Msg= "入力エラー : 数字と小数点のみ使用することが出来ます。" + ArgMsg + "を、もう一度入力して下さい。";
				ret = false;
				break;
			}
		}
	}
	if ( ret == false ) {
		if ( ArgMsg != null && ArgMsg != "") alert(Msg);
		if ( UseFocus != false ) {
			Obj.focus();
			Obj.select();
		}
	} else Obj.value = Objval;

	return ret;
}

function CheckNotSpec(Obj,ArgMsg,EmptyOk,UseFocus) {
    var ret=true,CharAsc,Msg;
	Objval = Trim(Obj.value);
	Obj.value = Objval;

	if ( IsNull(Obj,"",false) == true && EmptyOk == false){
        Msg = "入力エラー : " + ArgMsg + "を入力して下さい。";
		ret = false;
	} else {
		for (i=0;i<Objval.length;i++) {
			CharAsc = Objval.charCodeAt(i);

			if (((CharAsc >= 33) && (CharAsc <= 47)) || ((CharAsc >= 58) && (CharAsc <= 64)) || ((CharAsc >= 91) && (CharAsc <= 96))) {
                Msg = "入力エラー : 特殊文字は使用することが出来ません。" + ArgMsg + "を、もう一度入力して下さい。";
				ret = false;
				break;
			}
		}
	}

	if ( ret == false ) {
		if ( ArgMsg != null && ArgMsg != "") alert(Msg);
		if ( UseFocus != false ) {
			Obj.focus();
			Obj.select();
		}
	} else Obj.value = Objval;

	return ret;
}

function CheckExceptPar(Obj,ArgMsg,EmptyOk,UseFocus) {
    var ret=true,CharAsc,Msg;
	Objval = Trim(Obj.value);
	Obj.value = Objval;

	if ( IsNull(Obj,"",false) == true && EmptyOk == false){
        Msg = "入力エラー : " + ArgMsg + "を入力して下さい。";
		ret = false;
	} else {
		for (i=0;i<Objval.length;i++) {
			CharAsc = Objval.charCodeAt(i);

			if (((CharAsc >= 33) && (CharAsc <= 47)) || ((CharAsc >= 58) && (CharAsc <= 64)) || ((CharAsc >= 91) && (CharAsc <= 96))) {
				if ( CharAsc != 40 && CharAsc != 41 && CharAsc != 45 && CharAsc != 47 &&CharAsc !=95){
                    Msg = "入力エラー : ()-_/を除く特殊文字を含んでいます。" + ArgMsg + "を、もう一度入力して下さい。";
					ret = false;
					break;
				}
			}
		}
	}

	if ( ret == false ) {
		if ( ArgMsg != null && ArgMsg != "") alert(Msg);
		if ( UseFocus != false ) {
			Obj.focus();
			Obj.select();
		}
	} else Obj.value = Objval;

	return ret;
}

function CheckNotKor(Char) {
    var ret=true;

	if (Char==":" || Char==";" || Char=="<" || Char=="=" || Char==">" || Char=="?" || Char=="@" || Char=="[" || Char=="]" || Char=="\\" || Char=="^" || Char=="_" || Char=="`" || Char=="{" || Char=="|" || Char=="}" || Char=="~"){
		ret = false;
    }
	return ret;
}

function CheckSearch(Obj,ArgMsg,EmptyOk,UseFocus) {
	var Msg,ret=true,Objval = Trim(Obj.value);

	if ( ArgMsg == null || ArgMsg == "" ) ArgMsg = "検索値";

	if ( IsNull(Obj,"",false) == true && EmptyOk == false){
        Msg = "入力エラー : " + ArgMsg + "を入力して下さい。";
		ret = false;
	}

     if( IsNull(Obj) != true && CheckAbove(Obj,"",2,false) == false ) {
          Msg = "入力エラー : " + ArgMsg + "を、2桁以上入力して下さい。";
         ret = false;
     }
	pos = Objval.search(/\%/g);
	if ( pos != -1 ) {
           Msg = "入力エラー : 使用することが出来ない"+ ArgMsg + "です。もう一度入力して下さい。";
			ret = false;
	}
	if ( ret == false ) {
		alert(Msg);
		if ( UseFocus != false ) {
			Obj.focus();
			Obj.select();
		}
	} else Obj.value = Objval;

   	return ret;
}

function CheckLen(Obj,ArgMsg,ChkNum,UseFocus) {
    var ret=true;
	Objval = Trim(Obj.value);
	Obj.value = Objval;

	if ( Objval.length != ChkNum ) {
		if ( ArgMsg != null && ArgMsg != "")
			alert("入力エラー : " + ArgMsg + " " + ChkNum + "桁を入力して下さい。");
		if ( UseFocus != false ) {
			Obj.focus();
			Obj.select();
		}
		ret = false;
	} else Obj.value = Objval;

	return ret;
}

function CheckAbove(Obj,ArgMsg,ChkNum,UseFocus) {
    var ret=true;
	Objval = Trim(Obj.value);
	Obj.value = Objval;


	if ( Objval.length < ChkNum ) {
		if ( ArgMsg != null && ArgMsg != "")
           alert("入力エラー : " + ArgMsg + "は、" + ChkNum + "桁以上です。");
		if ( UseFocus != false ) {
			Obj.focus();
			Obj.select();
		}
		ret = false;
	} else Obj.value = Objval;

	return ret;
}

function CheckBelow(Obj,ArgMsg,ChkNum,UseFocus) {
    var ret=true;
	Objval = Trim(Obj.value);
	Obj.value = Objval;

	if ( Objval.length > ChkNum ) {
		if ( ArgMsg != null && ArgMsg != "")
			alert("入力エラー : " + ArgMsg + "は、" + ChkNum + "桁以下です。");
		if ( UseFocus != false ) {
			Obj.focus();
			Obj.select();
		}
		ret = false;
	} else Obj.value = Objval;

	return ret;
}

function CheckPwdDiff(ObjA,ObjB,ArgMsg) {
    var ret=true;
	ObjAval = ObjA.value;
	ObjBval = ObjB.value;

	if ( ArgMsg == "" || ArgMsg == null ) ArgMsg = "パスワード";

	if ( ObjAval != ObjBval ) {
       alert("入力エラー : " + ArgMsg + "確認が一致しませんでした。");
		ObjB.focus();
		ObjB.select();
		ret = false;
	}
	return ret;
}

function CheckNumDiff(ObjA,ObjB,ArgMsgA,ArgMsgB,UseFocus) {
    var ret=true;
	ObjAval = ObjA.value.replace(/\,/g,"");
	ObjBval = ObjB.value.replace(/\,/g,"");

	if ( ObjAval > ObjBval ) {
		if (ArgMsgA!=null && ArgMsgA!="" && ArgMsgB!=null && ArgMsgB!="")
            alert("入力エラー : " + ArgMsgA + "が、" + ArgMsgB +"より大きく出来ません。");
		if ( UseFocus != false ) {
			ObjA.focus();
			ObjA.select();
		}
		ret = false;
	}
	return ret;
}

function IsValidPwd(ObjA,ObjB,ArgMsg){
    var ret=true,Msg;
	ObjAval = ObjA.value;
	if( ObjB.value != null ) ObjBval = ObjB.value;
	if ( ArgMsg == "" || ArgMsg == null ) ArgMsg = "パスワード";

    if ( IsNull(ObjA,"",false) == true) {
        Msg="入力エラー : " + ArgMsg + "を入力して下さい。";
        ret = false;
    } else if ( ObjB.value != null && ObjBval == ObjAval) {
        Msg="入力エラー : 保全の為、"+ ArgMsg +"（に）IDと同じ単語を使用することが出来ません。";
        ret = false;
    } else if (ObjAval.length < 4) {
        Msg="入力エラー : "+ ArgMsg +"は、最低４文字以上でなくてはなりません。";
        ret = false;
    } else  if (ObjAval.indexOf(" ") != -1) {
        Msg="入力エラー : "+ ArgMsg +"には、空白を入れることが出来ません。";
        ret = false;
    } else if (OnlyAlphaNum(ObjA) == false) {        
        Msg="入力エラー : "+ ArgMsg +"には、英数字のみ入れることが出来ます。";
        ret = false;
    }
	if ( ret == false ) {
		alert(Msg);
		ObjA.focus();
		ObjA.select();
	}
	return ret;
}

function CheckEmail(Obj,ArgMsg,EmptyOk,UseFocus) {
	var Msg,ret=true,Objval = Trim(Obj.value);	
	intId=0; intDomain1=0; intDomain2=0; intDomain3=0; intAt=0; intDot=0; intError=0;

	if ( ArgMsg == null || ArgMsg == "" ) ArgMsg = "E-mail形式";

	if ( IsNull(Obj,"",false) == true && EmptyOk == false){
        Msg = "入力エラー : " + ArgMsg + "を入力して下さい。";
		ret = false;
	} else if ( IsNull(Obj,"",false) == true && EmptyOk == true){
		ret = true;
	} else {
        for(var i=0; i < Objval.length; i++ ) {
            if( Objval.charAt(i)=="@" ) intAt++;
            else if( Objval.charAt(i)==".") intDot++;
            else if( Objval.charAt(i)==" ") intError++;
            else if( intAt==0 ) intId ++;
            else if( intDot==0 ) intDomain1++;
            else if( intDot>=1 ) intDomain2++;
            else intError++;
        };

        if ( !(intError==0 && intId > 0 && intAt==1 && intDomain1>0 && intDomain2>0)) {
			// "id@domain1.domain2"
		Msg = "入力エラー : " + ArgMsg + "の形式が間違っています。";
			ret = false;
		}
	}
	if ( ret == false ) {
		if ( ArgMsg != null && ArgMsg != "") alert(Msg);
		if ( UseFocus != false ) {
			Obj.focus();
			Obj.select();
		}
	} else {
		Obj.value = Objval;
	}
	return ret;
}
function PressNum()
{
	if (event.keyCode != 13) {
		if((event.keyCode<48) || (event.keyCode>57)) {
            alert("入力エラー : 数字のみ入力することが出来ます。");
			event.returnValue = false;
		}
	}
}
function PressFloat()
{
	if (event.keyCode != 13) {
		if((event.keyCode<46) || (event.keyCode>57) || (event.keyCode==47)) {
            alert("入力エラー : 数字と小数点のみ入力することが出来ます。");
			event.returnValue = false;
		}
	}
}

function NotPressSpec()
{
	if((event.keyCode>32 && event.keyCode<48) ||
       (event.keyCode>57 && event.keyCode<65) ||
       (event.keyCode>90 && event.keyCode<97) ||
       (event.keyCode>122 && event.keyCode<127)) {
            alert("入力エラー : 特殊文字は使用することが出来ません。");
			event.returnValue = false;
	}
}

function PressAlpha()
{
	if((event.keyCode>32 && event.keyCode<65) ||
		(event.keyCode>90 && event.keyCode<97) ||
       	(event.keyCode>122 && event.keyCode<127)) {
            alert("入力エラー : 英字のみ入力することが出来ます。");
			event.returnValue = false;
	}
}
function PressAlphaNum()
{
	if((event.keyCode>32 && event.keyCode<48) ||
		(event.keyCode>57 && event.keyCode<65) ||
		(event.keyCode>90 && event.keyCode<97) ||
       	(event.keyCode>122 && event.keyCode<127)) {
			alert("入力エラー : 英数字のみ入力することが出来ます。");
			event.returnValue = false;
	}
}

function PressNumSpace()
{
	if (event.keyCode != 13) {
		if(( event.keyCode >32 && event.keyCode<48) || (event.keyCode>57)) {
			alert("入力エラー : 数字とスペースのみ入力することが出来ます。");
			event.returnValue = false;
		}
	}
}