// 背景色とポインタを変更
function ov(obj, col) {
		obj.style.backgroundColor = col;
		obj.style.cursor = "pointer";
}

// 戻す
function ou(obj, col) {
		obj.style.backgroundColor = col;
		obj.style.cursor = "default";
}

function isPer(a) {
		if(a.value != "" && (isNaN(parseInt(a.value)) || parseInt(a.value) != a.value || parseInt(a.value) < 0)) {
				alert("0から100までの数字を入力してください。");
				a.value = "";
				a.focus();
		} else if(a.value < 0 || 100 < a.value) {
				alert("0から100までの数字を入力してください。");
				a.value = "";
				a.focus();
		}
}

function isPlus(a) {
		if(a.value != "" && (isNaN(parseInt(a.value)) || parseInt(a.value) != a.value || parseInt(a.value) < 0)) {
				alert("正の整数を半角で入力してください。");
				a.value = "";
				a.focus();
		}
}

function isInt(a) {
		if(a.value != "" && (isNaN(parseInt(a.value)) || parseInt(a.value) != a.value)) {
				alert("整数を半角で入力してください。");
				a.value = "";
				a.focus();
		}
}

function isReal(a) {
		if(a.value != "" && (isNaN(parseFloat(a.value)) || parseFloat(a.value) != a.value)) {
				alert("実数を半角で入力してください。");
				a.value = "";
				a.focus();
		}
}

function isMin(a) {
		if(a.value != "" && (isNaN(parseInt(a.value)) || parseInt(a.value) != a.value)) {
				alert("整数を半角で入力してください。");
				a.value = "";
				a.focus();
		} else if(a.value < 0 || 59 < a.value) {
				alert("0以上59以下の整数を半角で入力してください。");
				a.value = "";
				a.focus();
		}
}

function isHou(a) {
		if(a.value != "" && (isNaN(parseInt(a.value)) || parseInt(a.value) != a.value)) {
				alert("整数を半角で入力してください。");
				a.value = "";
				a.focus();
		} else if(a.value < 0 || 23 < a.value) {
				alert("0以上23以下の整数を半角で入力してください。");
				a.value = "";
				a.focus();
		}
}

// 英数字
function isRoman(a){
	var i,msg2;
	var checkStr = new String ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_");

	msg2 = a.value.replace(/ /g,"");
	for(i=0;i<msg2.length;i++){
		if(checkStr.indexOf(msg2.charAt(i),0) == -1){
			alert("半角英数字で入力してください。");
			a.focus();
			return;
		}
	}
}
	
// 電話番号
function isTel(a){
		var i,msg2;
		var checkStr = new String ("0123456789-");

		msg2 = a.value.replace(/ /g,"");
		for(i = 0; i < msg2.length; i++){
				if(checkStr.indexOf(msg2.charAt(i), 0) == -1){
						alert("半角数字と-で入力してください。");
						a.focus();
						return;
				}
		}
}

// メールアドレス
function isEmail(param){
    if(param.match(/[!#-9A-~]+@+[a-z0-9]+.+[^.]$/)){
        return true;
    }
    return false;
}

// 空白チェック
function spchk(a) {
		var str = a.value;
		str = str.replace("　", " ");
		str = str.replace(/^\s+|\s+$/g, "");
		if(str == "") return false;
		return true;
}

// 正規表現trim
function trim(str) {
		return (str.replace(/^\s+|\s+$/g, ""));
}

// 日付チェック完璧版
function isDat(a) {
		if(trim(a.value) == "") {
				a.value = "";
				return;
		} else if(!isNaN(a.value)) {
				if(1753 <= parseInt(a.value) && parseInt(a.value) <= 9999) {
						a.value = trim(a.value) + "/01/01";
						return;
				}
		} 

		d = new Array();
		d = a.value.split("/");

		if(d.length == 3 && !isNaN(d[0]) && !isNaN(d[1]) && !isNaN(d[2])) {
				// 年チェック
				if(d[0].length == 4 && 1753 <= d[0]) {
						// 月チェック
						if(1 <= d[1].length && 1 <= d[1] && d[1] <= 12) {
								// 日チェック
								if(1 <= d[2].length && 1 <= d[2]) {
										if(d[1] == 2) {
												if((d[0] % 4 != 0) || (d[0] % 100 == 0 && d[0] % 400 != 0)) {
														if(d[2] <= 28) return; // 平年
												} else {
														if(d[2] <= 29) return; // 閏年
												}
										} else if(d[1] == 4 || d[1] == 6 || d[1] == 9 || d[1] == 11) {
												if(d[2] <= 30) return;
										} else if(d[2] <= 31) {
												if(d[2] <= 31) return;
										}
								}
						}
				}
		}

		alert("日付を YYYY/MM/DD 形式で入力してください。");
		a.focus();
}


// YYYY/MM 形式かどうか
function isYYYYMM(a) {
		if(trim(a.value) == "") {
				a.value = "";
				return;
		} else if(!isNaN(a.value)) {
				if(1753 <= parseInt(a.value) && parseInt(a.value) <= 9999) {
						a.value = trim(a.value) + "/01";
						return;
				}
		} 

		d = new Array();
		d = a.value.split("/");

		if(d.length == 2 && !isNaN(d[0]) && !isNaN(d[1])) {
				// 年チェック
				if(d[0].length == 4 && 1753 <= d[0]) {
						// 月チェック
						if(1 <= d[1].length && 1 <= d[1] && d[1] <= 12) {
								return;
						}
				}
		}

		alert("年月を YYYY/MM 形式で入力してください。");
		a.focus();
}


// textarea 文字数チェック
function lenChk(a, len) {
		if(len < a.value.length) {
				alert("文字数が多すぎます。" + len + "文字以下にして下さい。\n現在 " + a.value.length + " 文字です。")
				return;
		}
}
