var FChk = {
	/*設定1 フォームのID */
	id:'contact',
	/*設定2 送信ボタンのID (submitと言う名前は使わない事) */
	btn:'sendbtn',
	/*設定3 最初にフォーカスをあてるフォームエレメントの name。不要なら '' に */
	first:'fname',
	/*設定4 送信先(フォームのactionに設定するURI) */
	action:'cgi/mail.cgi',
	/*設定5 空欄を禁止する input や textareaの selectの nameと表示上の名前を 『 'name':'名前' 』と言うセットで記入。カンマで区切る */
	names:{
'inq':'お問い合わせ内容', 
'name':'お名前', 
'email1':'メールアドレス', 
'email2':'メールアドレス', 
'tel':'電話番号', 
'body':'内容', 
'':'',
'':''}	/*この最終行 は このまま使わない */
,
	/*設定6 エラー表示の色 */
	errcol:'#eeeeff'

,
	/*設定7 本来の表示の色 '' でも良い */
	defcol:''

,
	/*設定8 エラーメッセージ msg1、msg2はエラー項目名の前後に来る文。片方だけでも良い  */
	msg1:''
,
	msg2:'が必要です'
,
	msg3:'メールアドレスが同一ではありません'
,	addEv:function(obj, type, func){ if(obj.addEventListener){ obj.addEventListener(type, func, true); }else{ if(obj.attachEvent) obj.attachEvent('on' + type, func); } },
	by:function(id){ if(document.getElementById) return document.getElementById(id); },
	set:function(O){
		if(!document.getElementById){ return false; }
		if(self.addEventListener || self.attachEvent){ O.addEv(window,'load',Loadset); }else{ var preOnload = window.onload; window.onload = function(e){ if(preOnload){ preOnload(e);} Loadset(); }; }
		function Loadset(){ O.by(O.id).onsubmit = function(){ return false; }; O.by(O.id).onreset = DoReset; O.by(O.btn).onclick = ChkForm; if(O.first){ O.by(O.id)[O.first].focus(); } }
		function DoReset(){ for(var key in O.names){ if(key != '' && this[key]){ this[key].style.backgroundColor = O.defcol; if(O.by(key + '_msg')){ O.by(key +'_msg').innerHTML = ''; } } } }
		function ChkForm(){
			var frm = this.form, bln = true; frm.action = O.action;
			for(var key in O.names){
				if(key == '' || !frm[key]){ continue; }
				if(frm[key].value == ''){ 
					frm[key].style.backgroundColor = O.errcol; 
					if(bln && frm[key].focus){ frm[key].focus(); } bln = false; 
					if( O.by(key +'_msg') ){ O.by(key +'_msg').innerHTML = O.msg1 + O.names[key] + O.msg2; } 
				}else{ 
					frm[key].style.backgroundColor = O.defcol; 
					if( O.by(key + '_msg') ){ O.by(key +'_msg').innerHTML = ''; } 
				}
			}
			if(frm['email1'].value != frm['email2'].value){ 
				frm['email2'].style.backgroundColor = O.errcol; 
				if(bln && frm['email2'].focus){ frm['email2'].focus(); } bln = false; 
				if( O.by('email2' +'_msg') ){ O.by('email2' +'_msg').innerHTML = O.msg3; } 
			}
			if(bln){ frm.submit(); }
		}
	}
};
FChk.set(FChk);
