/*
 * メールアドレスかどうかをチェックする
 * @が含まれた場合True、ない場合False
 * 
 */
function CheckMailAdd(sValue) {
	var pattern = /[@]+/g;
	var tmp;
	tmp = sValue.match(pattern);
	return tmp != "@";
}
/*
 * 英数字入力チェック
 * Mode=1：英数字のみ
 * Mode=2：メールアドレス文字含める英数字のみ
 * Mode=3：スペースを含める英数字のみ
 * Mode=4：数字のみ
 */
function CheckAlphabet(sValue, mode) {
	var pattern;
	var tmp;
	if (mode == 1) {
		//チェック英数字（a-zA-Z0-9)
		pattern = /[\w]+/g;
	} else if (mode == 2) {
		//チェック英数字（a-zA-Z0-9.@_）
		pattern = /[\w\.\@\_\-]+/g;
	} else if (mode == 3) {
		//チェック英数字（スペースとa-zA-Z0-9）
		pattern = /[\s\w]+/g;
	} else if (mode == 4) {
		//チェック数字（0-9)
		pattern = /[\d]+/g;
	}

	tmp = sValue.match(pattern);
	return tmp != sValue;
}
/*
* URL入力チェック
*/
function CheckHpbAdd(sValue) {
	//HPアドレスのチェック
	var httppattern = /[http]+/;
	var pattern = /[\w\/\:\.\~\-]+/g;
	var tmp;
	if (sValue.toLowerCase().match(httppattern) != "http") return false;
	tmp = sValue.match(pattern);
	return tmp != sValue;
}
/*
* カタカナ入力チェック
*/
function kanaCheck(sValue) {
	if (sValue == "") return false;
	var pattern = /[\B\sァ-ヶｱ-ﾝﾞﾟー]+/g;
	return sValue.match(pattern) != sValue;
}
/*
* 漢字・ひらがな入力チェック
*/
function kanjiCheck(sValue) {
	if (sValue == "") return false;
	var pattern = /[\B\s一-龠々ぁ-ん]+/g;
	return sValue.match(pattern) != sValue;
}
/*
* 西暦入力チェック
*/
function checkYear(dValue) {
	if (dValue.length != 4)	{
		return false;
	}
	if (CheckAlphabet(dValue, 4)){
		return false;
	}
	if (dValue < 1900 || dValue > 2100){
		return false;
	}
	return true;
}
/*
* 日付フォーマット入力チェック
*/
function checkDateFormat(year, mon, day,eleName) {
	//平年・閏年チェック
	var chkLeapYear = function() {
		if (year % 100 == 0) {
			if (year % 400 == 0) {
				return 1;
			} else {
				return 0;
			}
		} else {
			if (year % 4 == 0) {
				return 1;
			} else {
				return 0;
			}
		}
	};
	// 月の日数チェック
	var chkMonthDay = function(maxDay) {
		if (day < 1 || day > maxDay) {
			alert(eleName + "に" + EMSG0006);
			return false;
		}
		return true;
	};
	// 月分別チェック
	var chkBigMonth = function() {
		var big = /01|03|05|07|08|10|12/;
		if (mon.match(big) == mon)
			return 31;
		return 30;
	};
	if (!checkYear(year)){
		alert(eleName + "に" + EMSG0007);
		return false;
	}
	if (mon == "02") {
		//2月の場合、平年と閏年で日数チェック
		return chkMonthDay(28 + chkLeapYear());
	} else {
		//2月以外の場合、月の分別に日数チェック
		return chkMonthDay(chkBigMonth());
	}
}

/*
* 入力パターンチェック
* 全項目が入力されていない場合True
* 全項目が入力された場合True
* 上記以外False
*/
function checkInputPattern(len){
	var ret = 0;
	for(i=1; i<=len;i++){
		if (arguments[i].nodeType == 1){
			if (arguments[i].value == ""){
				ret += 0;
			}else{
				ret += 1;
			}
		}else{
			if (arguments[i] == ""){
				ret += 0;
			}else{
				ret += 1;
			}
		}
	}
	if (ret == 0){
		return true;
	}else if(ret == len){
		return true;
	}else{
		return false;
	}
}
/*
* チェックボックスまたはラジオボタンのチェック状態チェック
* 一個以上チェックされた場合、True
* 一個もチェックされていない場合、False
*/
function checkedPattern(){
	for(i=0;i<arguments.length;i++){
		if (arguments[i].length){
			for(j=0; j<arguments[i].length;j++){
				if(arguments[i][j].checked)return true;
			}
		}else{
			if(arguments[i].checked)return true;
		}
	}
	return false;
}

