/* JavaScript /imode form_checker */
var unreserved_domain = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-.";
var unreserved_uid = unreserved_domain + "_";

function check_pat(str, pat) {
	for (i = 0; i < str.length; i++) {
		if (pat.indexOf(str.charAt(i)) < 0) {
			return false;
		}
	}
	return true;
}

function check_userid_val(uid) {
	if (! check_pat(uid, unreserved_uid)) {
		alert('メールアドレスの"@"の左の部分は半角の英数字、"-"、"_"、"." のみしか入力できません。');
		return false;
	}
	return true;
}

function check_domain_val(domain) {
	if (! check_pat(domain, unreserved_domain)) {
		alert('メールアドレスの"@"の右の部分は半角の英数字、"-"、"." のみしか入力できません。');
		return false;
	}
	return true;
}

function check_mailaddr_val(addr) {
	var atmark;
	atmark = addr.indexOf('@');
	if (atmark < 0) {
		alert('メールアドレスに"@"が入っていません。');
		return false;
	}
	if (addr.indexOf('@', atmark + 1) >= 0) {
		alert('メールアドレスに"@"が2個以上あります。');
		return false;
	}
	if (! check_userid_val(addr.substring(0,atmark-1))) {
		return false;
	}
	if (! check_domain_val(addr.substring(atmark+1))) {
		return false;
	}
	return true;
}

function check_userid(uid_obj) {
	if (! check_userid_val(uid_obj.value)) {
		uid_obj.focus();
		return false;
	}
	return true;
}

function check_domain(domain_obj) {
	if (! check_domain_val(domain_obj.value)) {
		domain_obj.focus();
		return false;
	}
	return true;
}

function check_mailaddr(addr_obj) {
	if (! check_mailaddr_val(addr_obj.value)) {
		addr_obj.focus();
		return false;
	}
	return true;
}
