function chkNotNull (str) {
	if(!str) {
		return "は必須入力項目です。";
	}
	return "";
}


function chkMaxLen (str, maxlen) {
	if (str.length > maxlen) {
		return "は" + maxlen + "文字以内で入力してください。";
	}
	return "";
}


function chkWords (str) {
	if (str.match(/[\"\\]/)) {
		return "に使用できない文字が含まれています。";
	}
	return "";
}


function chkWordsHan (str) {
	if (getLenB(str) != str.length) {
		return "は半角で入力してください。";
	}
	return "";
}


function chkWordsTel (str) {
	if (str.match(/[^0-9-]/)) {
		return "は半角数値と「-（ハイフン）」で入力してください。";
	}
	return "";
}

function chkMoth (str) {
	if (str.match(/[^0-9]/)) {
		//return "は半角数値で入力してください。";
		return "は半角数字で入力してください。";
	}
	return "";
}

function chkWordsURL (str) {
//	reg2 = new RegExp("^s?https?:\/\/[-_.!~*'()a-zA-Z0-9;\/?:@&=+$,%#]+$","g");
//	if (!reg2.test(str)){
//		return "は半角英数と、以下の記号を入力して下さい。\n「-_.!~*'();/?:@&=+$,%#」";
//	}
//	return "";
	var han_words_msg = chkWordsHan(str);
	if (han_words_msg) {
		return han_words_msg;
	}
	var words_msg = chkWords(str);
	if (words_msg) {
		return words_msg;
	}
	return "";
}


function chkWordsLID (str) {
	var han_words_msg = chkWordsHan(str);
	if (han_words_msg) {
		return han_words_msg;
	}
	
	if (str.match(/[^a-zA-Z0-9_]/)) {
		return "は半角英数字と「_」で入力してください。";
	}
	return "";
}


function chkWordsPass (str) {
	var han_words_msg = chkWordsHan(str);
	if (han_words_msg) {
		return han_words_msg;
	}
	
	if (str.match(/[^a-zA-Z0-9_]/)) {
		return "は半角英数字と「_」で入力してください。";
	}
	return "";
}


function chkWordsEmail (str) {
	var han_words_msg = chkWordsHan(str);
	if (han_words_msg) {
		return han_words_msg;
	}
	
	var emailArr = str.split("@");
	//if (!(emailArr.length == 2 && emailArr[1] != "")) {
	if (!(emailArr.length == 2 && emailArr[1] != "" && emailArr[0] != "")) {
		return "は「xxx@xxx」の形式で入力してください。";
	}
	
	var words_msg = chkWords(str);
	if (words_msg) {
		return words_msg;
	}
	return "";
}


function getLenB (str) {
	var i, cnt = 0;
	for (i = 0; i < str.length; i++) {
		if (escape(str.charAt(i)).length >= 4) {
			cnt+=2;
		} else {
			cnt++;
		}
	}
	return cnt;
}


function chkZen (str, maxlen, notnullFlg) {
	if (notnullFlg) {
		var notnull_msg = chkNotNull(str);
		if (notnull_msg) {
			return notnull_msg;
		}
	}
	if (str) {
		var maxlen_msg = chkMaxLen(str, maxlen);
		if (maxlen_msg) {
			return maxlen_msg;
		}
		var words_msg = chkWords(str);
		if (words_msg) {
			return words_msg;
		}
	}
	return "";
}


function chkHan (str, maxlen, notnullFlg) {
	if (notnullFlg) {
		var notnull_msg = chkNotNull(str);
		if (notnull_msg) {
			return notnull_msg;
		}
	}
	if (str) {
		var maxlen_msg = chkMaxLen(str, maxlen);
		if (maxlen_msg) {
			return maxlen_msg;
		}
		var han_words_msg = chkWordsHan(str);
		if (han_words_msg) {
			return han_words_msg;
		}
		var words_msg = chkWords(str);
		if (words_msg) {
			return words_msg;
		}
	}
	return "";
}


function chkTel (str, maxlen, notnullFlg) {
	if (notnullFlg) {
		var notnull_msg = chkNotNull(str);
		if (notnull_msg) {
			return notnull_msg;
		}
	}
	if (str) {
		var maxlen_msg = chkMaxLen(str, maxlen);
		if (maxlen_msg) {
			return maxlen_msg;
		}
		var tel_words_msg = chkWordsTel(str);
		if (tel_words_msg) {
			return tel_words_msg;
		}
	}
	return "";
}


function chkURL (str, maxlen, notnullFlg) {
	if (notnullFlg) {
		var notnull_msg = chkNotNull(str);
		if (notnull_msg) {
			return notnull_msg;
		}
	}
	if (str) {
		var maxlen_msg = chkMaxLen(str, maxlen);
		if (maxlen_msg) {
			return maxlen_msg;
		}
		var url_words_msg = chkWordsURL(str);
		if (url_words_msg) {
			return url_words_msg;
		}
	}
	return "";
}


function chkLID (str, maxlen, notnullFlg) {
	if (notnullFlg) {
		var notnull_msg = chkNotNull(str);
		if (notnull_msg) {
			return notnull_msg;
		}
	}
	if (str) {
		var maxlen_msg = chkMaxLen(str, maxlen);;
		if (maxlen_msg) {
			return maxlen_msg;
		}
		var lid_words_msg = chkWordsLID(str);
		if (lid_words_msg) {
			return lid_words_msg;
		}
	}
	return "";
}


function chkPass(str, maxlen, notnullFlg) {
	if (notnullFlg) {
		var notnull_msg = chkNotNull(str);
		if (notnull_msg) {
			return notnull_msg;
		}
	}
	if (str) {
		var maxlen_msg = chkMaxLen(str, maxlen);
		if (maxlen_msg) {
			return maxlen_msg;
		}
		var pass_words_msg = chkWordsPass(str);
		if (pass_words_msg) {
			return pass_words_msg;
		}
	}
	return "";
}

function chkPasswd(str, minlen, maxlen, notnullFlg) {
	if (notnullFlg) {
		var notnull_msg = chkNotNull(str);
		if (notnull_msg) {
			return notnull_msg;
		}
	}
	if (str) {
		var pass_words_msg = chkWordsPass(str);
		if (pass_words_msg) {
			return pass_words_msg;
		}
		var behind_msg = chkBehind(str, minlen, maxlen);
		if (behind_msg) {
			return behind_msg;
		}
	}
	return "";
}

function chkBehind(str, minlen , maxlen){
	if (str.length > maxlen || str.length < minlen) {
		return "は" + minlen + "～" + maxlen + "文字で入力してください。";
	}
	return "";
}

function chkEmail(str, maxlen, notnullFlg) {
	if (notnullFlg) {
		var notnull_msg = chkNotNull(str);
		if (notnull_msg) {
			return notnull_msg;
		}
	}
	if (str) {
		var maxlen_msg = chkMaxLen(str, maxlen);
		if (maxlen_msg) {
			return maxlen_msg;
		}
		var email_words_msg = chkWordsEmail(str);
		if (email_words_msg) {
			return email_words_msg;
		}
	}
	return "";
}


function checkDate(year, month, day) {
	// 日付チェック
	yy = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 29);

	wMChk = month;
	
	// 全て入力されているか
	if (year == "" || month == "" || day == "") {
		return "年月日を入力してください。";
	}

	// 月の範囲検証
	if (!(month >= 1 && month <= 12)) {
		return "月の指定が正しくありません。";
	}

	// 閏年の判定
	if (!(year % 4) && month == 2) {
		wMChk = 12;		// 閏年テーブル
		if (!(year % 100)) {
			if (year % 400) {
				wMChk = 1;      // non閏年テーブル
			}
		}
	} else {
		wMChk--;
	}

	// 日の範囲検証
	if (!(1 <= day && yy[wMChk] >= day)) {
		return "日付を正しく指定してください。";
	}
	return "";
}


function dateDiffToday (y, mo, d, h, mi, s) {

	nowObj = new Date();
	dateObj = new Date(y + "/" + mo + "/" + d + " " + h + ":" + mi + ":" + s);
	
	nowMS = nowObj.getTime();
	dateMS = dateObj.getTime();
	
	return dateDiff2(nowMS, dateMS);

}	


function dateDiff1 (y1, mo1, d1, h1, mi1, s1, y2, mo2, d2, h2, mi2, s2) {
	
	dateObj1 = new Date(y1 + "/" + mo1 + "/" + d1 + " " + h1 + ":" + mi1 + ":" + s1);
	dateObj2 = new Date(y2 + "/" + mo2 + "/" + d2 + " " + h2 + ":" + mi2 + ":" + s2);
	
	dateMS1 = dateObj1.getTime();
	dateMS2 = dateObj2.getTime();

	return dateDiff2(dateMS1, dateMS2);
}


function dateDiff2 (dateMS1, dateMS2) {
	if (dateMS1 < dateMS2) {
		return true;
	} else {
		return false;
	}
}


function chkSelectMulti(obj) {
	
	var multiMax = obj.length;
	for (i = 0; i < multiMax; i++) {
		if (obj[i].selected) {
			return "";
		}
	}
	
	return "を選択してください。";
	
}


function changeActionTarget(frmObj, action, target) {
	frmObj.action = action;
	frmObj.target = target;
	return true;
}


function confirmDel() {
	if (confirm("削除して宜しいですか？")) {
		return true;
	} else {
		return false;
	}
}


function chkDoublePost(chkObj) {
	if (chkObj.value == "") {
		chkObj.value = "y";
		return true;
	} else {
//		alert("二重投稿は禁止されています。");
		alert("処理中です。");
		return false;
	}
}
