function CheckForm() {
	if(!radioNullCheck("present", "応募するプレゼントを選択してください。")) return false;
	if(!radioNullCheck("quest_1", "Q1が選択されておりません。")) return false;
	if(document.theform.quest_1[4].checked) if(!textNullCheck("fa_1", "その他をチェックした場合は、内容を入力して下さい。", 40, "その他欄には全角20文字/半角40文字以内で入力してください。")) return false;
	if(!radioNullCheck("quest_2", "Q2が選択されておりません。")) return false;
	if(document.theform.quest_2[4].checked) if(!textNullCheck("fa_2", "その他をチェックした場合は、内容を入力して下さい。", 40, "その他欄には全角20文字/半角40文字以内で入力してください。")) return false;
	if(!radioNullCheck("quest_3", "Q3が選択されておりません。")) return false;
	if(document.theform.quest_3[4].checked) if(!textNullCheck("fa_3", "その他をチェックした場合は、内容を入力して下さい。", 40, "その他欄には全角20文字/半角40文字以内で入力してください。")) return false;
	if(!radioNullCheck("quest_4", "Q4が選択されておりません。")) return false;
	if(document.theform.quest_4[4].checked) if(!textNullCheck("fa_4", "その他をチェックした場合は、内容を入力して下さい。", 40, "その他欄には全角20文字/半角40文字以内で入力してください。")) return false;
	if(!radioNullCheck("quest_5", "Q5が選択されておりません。")) return false;
	if(document.theform.quest_5[4].checked) if(!textNullCheck("fa_5", "その他をチェックした場合は、内容を入力して下さい。", 40, "その他欄には全角20文字/半角40文字以内で入力してください。")) return false;
	if(!radioNullCheck("quest_6", "Q6が選択されておりません。")) return false;
	if(document.theform.quest_6[4].checked) if(!textNullCheck("fa_6", "その他をチェックした場合は、内容を入力して下さい。", 40, "その他欄には全角20文字/半角40文字以内で入力してください。")) return false;
	if(!radioNullCheck("quest_7", "Q7が選択されておりません。")) return false;
	if(document.theform.quest_7[4].checked) if(!textNullCheck("fa_7", "その他をチェックした場合は、内容を入力して下さい。", 40, "その他欄には全角20文字/半角40文字以内で入力してください。")) return false;
	if(!radioNullCheck("quest_8", "Q8が選択されておりません。")) return false;
	if(document.theform.quest_8[4].checked) if(!textNullCheck("fa_8", "カーネーション以外のお花をチェックした場合は、フリーワードを入力して下さい。", 40, "カーネーション以外の欄には20文字以内で入力してください。")) return false;
	if(!radioNullCheck("quest_9", "Q9が選択されておりません。")) return false;
	if(document.theform.quest_9[4].checked) if(!textNullCheck("fa_9", "10,000円以上をチェックした場合は、内容を入力して下さい。", 40, "10,000円以上欄には全角20文字/半角40文字以内で入力してください。")) return false;
	if(!radioNullCheck("quest_10", "Q10が選択されておりません。")) return false;
	if(document.theform.quest_10[4].checked) if(!textNullCheck("fa_10", "一ヶ月以上前をチェックした場合は、内容を入力して下さい。", 40, "一ヶ月以上前の欄には全角20文字/半角40文字以内で入力してください。")) return false;
	if(!radioNullCheck("quest_11", "Q11が選択されておりません。")) return false;
	if(document.theform.quest_11[4].checked) if(!textNullCheck("fa_11", "その他をチェックした場合は、内容を入力して下さい。", 40, "その他欄には全角20文字/半角40文字以内で入力してください。")) return false;
	if(!radioNullCheck("quest_12", "Q12が選択されておりません。")) return false;
	if(document.theform.quest_12[4].checked) if(!textNullCheck("fa_12", "その他をチェックした場合は、内容を入力して下さい。", 40, "その他欄には全角20文字/半角40文字以内で入力してください。")) return false;
	if(!radioNullCheck("quest_13", "Q13が選択されておりません。")) return false;
	if(document.theform.quest_13[4].checked) if(!textNullCheck("fa_13", "その他をチェックした場合は、内容を入力して下さい。", 40, "その他欄には全角20文字/半角40文字以内で入力してください。")) return false;
	
	if(!document.theform.agree.checked) {
		alert("「個人情報保護方針」に同意してください。");
		document.theform.agree.focus();
		return false;
	}
	if(!textNullCheck("name_1", "お名前(姓)が入力されておりません。", 20, "お名前(姓)には全角10文字/半角20文字以内で入力してください。")) return false;
	if(!textNullCheck("name_2", "お名前(名)が入力されておりません。", 20, "お名前(名)には全角10文字/半角20文字以内で入力してください。")) return false;
	if(!textNullCheck("email_address1", "メールアドレスが入力されておりません。")) return false;
	if(!mailNullCheck("email_address1", "メールアドレスの形式が不正です。", 50, "メールアドレスには50文字以内で入力してください。")) return false;
	if(!textNullCheck("email_address2", "確認用メールアドレスが入力されておりません。")) return false;
	if(document.theform.email_address1.value != document.theform.email_address2.value) {
		alert("入力されたメールアドレスが確認用メールアドレスと一致しておりません。");
		document.theform.email_address1.focus();
		return false;
	}
	if(!radioNullCheck("email_type", "メルマガ配信形式を選択してください。")) return false;
	if(!radioNullCheck("age", "年齢を選択してください。")) return false;
	if(!radioNullCheck("gender", "性別を選択してください。")) return false;
	
	document.theform.action.value="present_child_conf.html";
	document.theform.submit();

	
}

function IDDisp(objId, flg) {
	var val = document.getElementById(objId);
	if(val.style.visibility) {
		if(flg) {
			val.style.visibility = "hidden";
		} else if(!flg) {
			val.style.visibility = "visible";
		}
	} else {
		return;
	}
}

function textNullCheck(textId, alt, limitNum, altLimit) {
	var val = document.getElementById(textId);
	if(val.style.visibility == "visible" || !val.style.visibility) {
		if(val.value == "") {
			alert(alt);
			val.focus();
			return false;
		}
	}else if(val.style.visibility == "hidden") {
		return true;
	}
	if(limitNum) {
		if(CountLength(val.value) > limitNum) {
			alert(altLimit);
			val.focus();
			return false;
		}
	}
	return true;
}

function radioNullCheck(radioName, alt) {
	var arg = document.getElementsByName(radioName);
	
	var chkFlg = false;
	for( i = 0 ; i < arg.length; i++) {
		if(arg[i].style.visibility == "visible"|| !arg[i].style.visibility) {
			if(arg[i].checked) chkFlg = true;
		}
	}
	if(!chkFlg) {
		alert(alt);
		arg[0].focus();
		return false;
	}
	return true;
}

function mailNullCheck(objId, alt, limitNum, altLimit) {
	var val = document.getElementById(objId);
	if(!chkRegEmail(val.value)) {
		alert(alt);
		val.focus();
		return false;
	}
	if(limitNum) {
		if(CountLength(val.value) > limitNum) {
			alert(altLimit);
			val.focus();
			return false;
		}
	}
	return true;
}


function chkRegEmail(str){
        /* E-mail形式の正規表現パターン */
        /* @が含まれていて、最後が .(ドット)でないなら正しいとする */
          var Seiki=/[!#-9A-~]+@+[a-z0-9]+.+[^.]$/i;
        /* 入力された値がパターンにマッチするか調べる */
        if(str!=""){
            if(str.match(Seiki)){
                //alert(str.match(Seiki)+"\n\nメールアドレスの形式は正しいです");
                return true;
            }else{
                //alert("メールアドレスの形式が不正です");
                return false;
            }
        }else{
            /* 何も入力されていない場合はアラート表示 */
            //alert("メールアドレスを入力してください");
            return false;
        }
}


function CountLength(str) { 
    var r = 0; 
    for (var i = 0; i < str.length; i++) { 
        var c = str.charCodeAt(i); 
        // Shift_JIS: 0x0 ～ 0x80, 0xa0 , 0xa1 ～ 0xdf , 0xfd ～ 0xff 
        // Unicode : 0x0 ～ 0x80, 0xf8f0, 0xff61 ～ 0xff9f, 0xf8f1 ～ 0xf8f3 
        if ( (c >= 0x0 && c < 0x81) || (c == 0xf8f0) || (c >= 0xff61 && c < 0xffa0) || (c >= 0xf8f1 && c < 0xf8f4)) { 
            r += 1; 
        } else { 
            r += 2; 
        } 
    } 
    return r; 
} 
/*
function IMECheck(objId, alt) {
	var val = document.getElementById(objId);
	if(val.attributes["IME"]) {
		if(val.attributes["IME"] == "off") {
			
		}else if(val.attributes["IME"] == "on") {
			
		}
	}
}
*/

