//
//	WebShopping Ver.5用JavaScript外部ファイル 電話番号・電子メールの妥当性チェック関数群
//	■tel_mail.js■
//	2000/09/05	Ver 0.05
//
//------------------------------------------------------------------
// Hissu_Tel_chk
// 電話番号／ＦＡＸ番号必須＆妥当性チェック
// 引数　：argFormName		（I）チェックするフォームの名前
// 　　　：argFormIndex		（I）チェックするフォームのインデックス（配列でないときはnullか0）
// 　　　：argTargetName	（I）チェックするテキストの名前
// 　　　：argTargetIndex	（I）チェックするテキストのインデックス（配列でないときはnullか0）
// 　　　：hyouji_name		（I）メッセージに表示する項目の名称（"電話番号"など）
// 戻り値：true チェックＯＫ　false チェックＮＧ
//------------------------------------------------------------------
function Hissu_Tel_chk(argFormName, argFormIndex, argTargetName, argTargetIndex, hyouji_name){
	
	var chk_flg = true;
	var chkTarget = makeEvalStr(argFormName, argFormIndex, argTargetName, argTargetIndex);
	var str = eval(chkTarget + ".value");
    var str2 = ""

	//----数値必須項目
	for (i=0; i<str.length; i++){
		if(str.charAt(i) != "-"){str2 += str.charAt(i)}
	}
	if (!Num_chk(str2,"")){
		window.alert (hyouji_name + "は必須項目です。\n数値と−のみで入力してください。");
		chk_flg = false;
		str = chkTarget + ".focus()";
		str = eval(str);
		str = chkTarget + ".select()";
		str = eval(str);
	}
	return chk_flg;
}
//------------------------------------------------------------------
// Ninni_Tel_chk
// 電話番号／ＦＡＸ番号妥当性チェック
// 引数　：argFormName		（I）チェックするフォームの名前
// 　　　：argFormIndex		（I）チェックするフォームのインデックス（配列でないときはnullか0）
// 　　　：argTargetName	（I）チェックするテキストの名前
// 　　　：argTargetIndex	（I）チェックするテキストのインデックス（配列でないときはnullか0）
// 　　　：hyouji_name		（I）メッセージに表示する項目の名称（"電話番号"など）
// 戻り値：true チェックＯＫ　false チェックＮＧ
//------------------------------------------------------------------
function Ninni_Tel_chk(argFormName, argFormIndex, argTargetName, argTargetIndex, hyouji_name){
	
	var chk_flg = true;
	var chkTarget = makeEvalStr(argFormName, argFormIndex, argTargetName, argTargetIndex);
	var str = eval(chkTarget + ".value");
    var str2 = ""

	if (!Null_chk(str)) {
	}
	else{
		//----数値必須項目
		for (i=0; i<str.length; i++){
			if(str.charAt(i) != "-"){str2 += str.charAt(i)}
		}
		if (!Num_chk(str2,"")){
			window.alert (hyouji_name + "は\n数値と−のみで入力してください。");
			chk_flg = false;
			str = chkTarget + ".focus()";
			str = eval(str);
			str = chkTarget + ".select()";
			str = eval(str);
		}
	}
	return chk_flg;
}
//------------------------------------------------------------------
// Email_chk
// 電子メールアドレスの妥当性チェック
// 引数　：argFormName		（I）チェックするフォームの名前
// 　　　：argFormIndex		（I）チェックするフォームのインデックス（配列でないときはnullか0）
// 　　　：argTargetName	（I）チェックするテキストの名前
// 　　　：argTargetIndex	（I）チェックするテキストのインデックス（配列でないときはnullか0）
// 　　　：hyouji_name		（I）メッセージに表示する項目の名称（"電子メールアドレス"など）
// 戻り値：true チェックＯＫ　false チェックＮＧ
//------------------------------------------------------------------
function Email_chk(argFormName, argFormIndex, argTargetName, argTargetIndex, hyouji_name){
	var chk_flg = true;
	var chkTarget = makeEvalStr(argFormName, argFormIndex, argTargetName, argTargetIndex);
	var str = eval(chkTarget + ".value");

	if (!checkEmail(str)){
		window.alert (hyouji_name + "には\n電子メールアドレスとして誤っている文字が含まれています。");
		str = chkTarget + ".focus()";
		str = eval(str);
		str = chkTarget + ".select()";
		str = eval(str);
		chk_flg = false;
	}
	return chk_flg;
}

//------------------------------------------------------------------
// Email_chk_dom
// 電子メールアドレスの妥当性チェック
// Email_chkと違い、＠とピリオドがないとエラーとみなします
//
// 引数　：argFormName		（I）チェックするフォームの名前
// 　　　：argFormIndex		（I）チェックするフォームのインデックス（配列でないときはnullか0）
// 　　　：argTargetName	（I）チェックするテキストの名前
// 　　　：argTargetIndex	（I）チェックするテキストのインデックス（配列でないときはnullか0）
// 　　　：hyouji_name		（I）メッセージに表示する項目の名称（"電子メールアドレス"など）
// 戻り値：true チェックＯＫ　false チェックＮＧ
//------------------------------------------------------------------
function Email_chk_dom(argFormName, argFormIndex, argTargetName, argTargetIndex, hyouji_name){
	var chk_flg = true;
	var chkTarget = makeEvalStr(argFormName, argFormIndex, argTargetName, argTargetIndex);
	var str = eval(chkTarget + ".value");

	if (!checkEmail(str)){
		window.alert (hyouji_name + "には\n電子メールアドレスとして誤っている文字が含まれています。");
		chk_flg = false;
	}
	//@が含まれていなかったらエラー
	else if (str.indexOf("@",0) < 0){
		window.alert (hyouji_name + "には\n電子メールアドレスとして「@」が必要です。");
		chk_flg = false;
	}
	//ピリオドが含まれていなかったらエラー
	else if (str.indexOf(".",0) < 0){
		window.alert (hyouji_name + "には\n電子メールアドレスとして「.」が必要です。");
		chk_flg = false;
	}
	if (chk_flg == false){
		str = chkTarget + ".focus()";
		str = eval(str);
		str = chkTarget + ".select()";
		str = eval(str);
	}
	return chk_flg;
}

//--------------------------------------------------------
// checkEmail（メッセージなし）■ Emailチェック
//--------------------------------------------------------
function checkEmail(checkString){
	var newstr = "";
	var at = false;
	var dot = false;
	for (var i = 0; i < checkString.length; i++) {
		ch = checkString.substring(i, i + 1)
		if ((ch >= "A" && ch <= "Z") || (ch >= "a" && ch <= "z")
			|| (ch == "@") || (ch == ".") || (ch == "_")
			|| (ch == "-") || (ch >= "0" && ch <= "9")) {
		}else{
		    return false;
		}
	}
	return true;
}

