Event.observe(window, 'load', init, false);

function init(){
	var f = Form.getElements("form");
	for(var i = 0;i<f.length;i++){
		if(f[i].hasClassName("must")){
			Event.observe(f[i].id,"blur",checkInput);
		}
	}
	$("form").action = "javascript:checkForm()";
}
function checkInput(event){
	var d = $(this.id).up("dd").previous("dt");
	check(this,d);
}
function checkForm(){
	var errflg = 0;
	var f = Form.getElements("form");
	for(var i = 0;i<f.length;i++){
		var e = f[i];
		if(e.hasClassName("must")){
			errflg += check(e,e.up("dd").previous("dt"));
		}
	}
	if((errflg>0) && !($("errorNotice"))){
		$("form").insert({before:"<p id='errorNotice'>入力漏れがあります。</p>"});
	} else if(errflg==false){
		if($("errorNotice")){
			$("errorNotice").remove();
		};
		if($("reset01")){
			$("reset01").remove();
		};
		errflg = 0;
		$("form").insert({before:"<p id='confirmNotice'>この内容でよろしければ送信ボタンを押してください。</p>"});
		setFormReady();
	}
}
function check(a,d){
	var count = 0;
	d.removeClassName("error");
	var er = d.getElementsBySelector(".error");

	if(er.length>0){
		for(var i = 0;i<er.length;i++){
			er[i].remove();
		}
	}
	
	if(a.value==''){
		d.down(0).insert({after:"<span class='error'>この項目は必須項目です。必ず入力してください。</span>"});
		d.addClassName("error");
		count++;
	}
	if(a.name.match("mail")){
		if(!a.value.match(/.+@.+\..+/)){
			d.addClassName("error");
			d.down(0).insert({after:"<span class='error'>メールアドレスが正しくありません。</span>"});
			count++;
		}
	}
	if(a.type=="checkbox"){
		var c = a.up('dd').getElementsBySelector('.must');
		var num = 0;
		for(var i=0;i<c.length;i++){
			if(c[i].checked){
				num++;
			}
		}
		if(num==0){
			count++;
			d.addClassName("error");
			d.down(0).insert({after:"<span class='error'>この項目は必須項目です。必ず一つ以上選択してください。</span>"});
		}
	}
	return count;
}
function setFormReady(){
	var checkbox = new Array();
	var f = Form.getElements("form");
	var form_table = $("form").down("dl",0);
	f.each(function(c){
		if(!(c.type=="submit")){
			
			if(c.type=="text"){
				var h = $$('label[for='+c.id+']')[0].innerHTML;
				c.insert({after:c.value+"<input type='hidden' name='"+c.name+"' value='"+c.value+"' id='"+c.id+"' />"});
				c.remove();
			} 
			if(c.type=="textarea"){
				var h = $$('label[for='+c.id+']')[0].innerHTML;
				c.insert({after:c.value+"<input type='hidden' name='"+c.name+"' value='"+c.value+"' id='"+c.id+"' />"});
				c.remove();
			}
			if(c.type=="select-one"){
				var d = c.ancestors();
				var h = $$('label[for='+c.id+']')[0].innerHTML;
				d[0].insert({after:c.value+"<input type='hidden' name='"+c.name+"' value='"+c.value+"' id='"+c.id+"' />"});
				d[0].remove();
			}
			if(c.type=="radio"){
				if(c.checked){
					var d = c.ancestors();
					var h = $$('label[for='+c.name+']')[0].innerHTML;
					d[0].insert({after:c.value+"<input type='hidden' name='"+c.name+"' value='"+c.value+"' id='"+c.id+"' />"});
					d[0].remove();
				}
			}
			if(c.type=="checkbox"){
				if(c.checked){
					var h = c.up('dd').previous('dt').down('label').innerHTML;
					//$$('dt label[for='+c.id+']')[0].innerHTML;
					checkbox.push(c);
				} else{
					c.next('label').remove();
					c.next('br').remove();
					c.remove();
				}
			}
			if(h){
				form_table.insert({after:"<input type='hidden' name='head_"+c.id+"' value='"+h+"' />"});
			}
		}
	});
	setCheckboxReady(checkbox);
	
	$$("span.inputExample01").each(function(c){
		c.remove();
	})
	
	$("submit01").value = "送信する";
	$("form").action = "mail.php";
}
function setCheckboxReady(a){
	a.reverse();
	a.each(function(c){
		var d = c.up('dd');
		var str = c.value+"<input type='hidden' name='"+c.name+"' value='"+c.value+"' id='"+c.id+"' /><br />";
		c.next('label').remove();
		c.next('br').remove();
		c.remove();
		d.insert({after:str});
		//d.innerHTML+=str;
	});
}
