/*-----------------フォーム値チェック----------------------
「フォーム値チェックスクリプト」
　PRESENTED BY ASHIKAGA

参考にしたスクリプト
http://www.din.or.jp/~hagi3/JavaScript/JSTips/Form.htm

■解説
[ 1 ] ヘッダにこのファイルへのリンクを書きます。
(例)
<script type="text/javascript" language="JavaScript" src="formCheck.js"></script>
[ 2 ] ヘッダに値チェックのためのスクリプトを書きます。
(例)
<script language="JavaScript"><!--
var NormalColor="#ffffff"
var SelectColor="#ffccff"
function totalCheck(card){
	if(!checkNull(card.name, 'お名前')) return false;
	if(!checkEMail(card.email, true )) return false;
	if(!checkSelect(card.todofuken, '都道府県')) return false;
	if(!checkRadio(card.oshirase, 'お知らせメール希望', 2)) return false;
	return true;
}
// -->
</script>
○○上記スクリプトについて○○
・checkNullで空欄チェック
・checkEMailでE-mailアドレスの形式チェック
・checkSelectでセレクトメニューチェック
・checkRadioでラジオボタンチェック
・NormalColorは通常時のフィールド色、
　SelectColorはフォーカス時のフィールド色。
・(card.name, 'お名前')の部分の
　nameはフォームのname属性の値、
　'お名前'はアラートで表示される文字列です。
・checkRadio(card.oshirase, 'お知らせメール希望', 2)
　の最後の数字はラジオボタンの数です。

[ 3 ] フォームタグにスクリプト実行の指示を書きます。
(例)
<form name="form1" action="XXX" method="post" onSubmit="return totalCheck(this);">
---------------------------------------------------------*/

//ブラウザチェック
aName   = navigator.appName.toUpperCase();
appVer  = navigator.appVersion;
if (aName.indexOf("NETSCAPE") >= 0)
{
	s = appVer.indexOf(" ",0);
	version = eval(appVer.substring(0,s));
	if (version >= 5) version++;
}
if (aName.indexOf("MICROSOFT") >= 0)
{
	appVer  = navigator.userAgent;
	s = appVer.indexOf("MSIE ",0) + 5;
	e = appVer.indexOf(";",s);
	version = eval(appVer.substring(s,e));
}
mac = (navigator.appVersion.indexOf("Mac") !=-1)?true:false;
ie = (navigator.appName.charAt(0) == "M")?true:false;
ns = (navigator.appName.charAt(0) == "N")?true:false;
ColorChange = false;
if (ie){
	if (version >=5) {
	ColorChange=true;
	}
}
else if (ns) {
	if (version >=6) {
	ColorChange=true;
	}
	else{
	ColorChange=false;
	}
}
//色の設定
var NormalColor="#ffffff"
var SelectColor="#ffccff"
// 空白チェック
function checkNull(obj,msg){
	if(obj.value==''){
	alert(msg+'の入力は必須です');
	if (ColorChange) {obj.style.backgroundColor = SelectColor;}
	obj.focus();
	obj.select();
	return false;
	}
	else{
	if (ColorChange) {obj.style.backgroundColor = NormalColor;}
	}
return true;
}
// セレクトメニューチェック
function checkSelect(obj,msg){
	if(obj.selectedIndex < 1){
	alert(msg+'の選択は必須です');
	if (ColorChange) {obj.style.backgroundColor = SelectColor;}
	obj.focus();
	return false;
	}
	else{
	if (ColorChange) {obj.style.backgroundColor = NormalColor;}
	}
return true;
}
// ラジオボタンチェック
function checkRadio(obj,msg,radionum){
	var RCheckV = true;
	for (i=0; i<radionum; i++)
	{
		if (obj[i].checked){
		var RCheckV = false;
		}
	}
	if(RCheckV){
	alert(msg+'の選択は必須です');
	return false;
	}
return true;
}
// フォーマットエラーメッセージ
function alertMsg(msg,obj){
	alert(msg+'を正しく入力してください');
	if (ColorChange) {obj.style.backgroundColor = SelectColor;}
	obj.focus();
	obj.select();
}
// メールアドレスチェック
function checkEMail(obj,retnull){
	var retval=true;
	var value =obj.value;
	if (value=='') retval=retnull;
	else {
	var del=value.indexOf('@');
	retval = (del>0 && (value.length-del)>1
	&& value.substring(del+1).indexOf('@')==-1);
	}
	if(retval==false)
	alertMsg('E-mailアドレス',obj);
	else{
	if (ColorChange) {obj.style.backgroundColor = NormalColor;}
	}
	return retval;
}
