function checkTopic() { 
	var strChkTopic = false;
	var strCounterTopic = 0;
	for (var i=1;i<=100;i++) {
        var strChkTopic = eval("document.VoteForm.t_" + i + ".checked");
		if (strChkTopic == true) { strCounterTopic = strCounterTopic + 1; }
	}
	if (strCounterTopic > 5) { return false; }
	else { return true; }	
}

function checkMovie() {
	var strChkMovie = false;
	var strCounterMovie = 0;
	for (var j=1;j<=30;j++) {
		var strChkMovie = eval("document.VoteForm.m_" + j + ".checked");
		if (strChkMovie == true) { strCounterMovie = strCounterMovie + 1; }
	}
	if (strCounterMovie > 5) { return false; }
	else { return true; }
}

function checkGame() {
		var strChkGame = false;
		var strCounterGame = 0;
		for (var k=1;k<=30;k++) {
				var strChkGame = eval("document.VoteForm.g_" + k + ".checked");
		if (strChkGame == true) { strCounterGame = strCounterGame + 1; }
	}
	if (strCounterGame > 5) { return false; }
	else { return true; }
}

function checkName() {
	var strValidate;
	var strCounterName = true;
	//var RequireF = new Array ("name", "class", "phone", "email", "school", "fax", "schoolphone", "teacher");	// all fields
	var RequireF = new Array ("name", "phone", "email", "school"); // required fields
	for (var e=0;RequireF[e];e++) {
		var thisField = RequireF[e];
		var thisBlank = document.VoteForm[thisField].value;
		if (thisBlank == "") { strCounterName = false; }
	}
	return strCounterName;
}

function checkClass() {
	var strClass = true;
	var strClassF = document.VoteForm.classf.value;
	if (strClassF == 0) { strClass = false; }
	return strClass;
}

function checkEmail() {
	var Ctrl = document.VoteForm.email;
	var ind = Ctrl.value.indexOf ('@', 0);
	if (Ctrl.value.length==0) {
		return false;
	} else if (ind==-1) {
		return false;
	} else if (ind==0) {
		return false;
	} else if (ind==Ctrl.value.length-1) {
		return false;
	} else
		return true;
}

function checkNumber() {
	var strValid = true;
	var GoodChars = "0123456789";
	var strNumber = document.VoteForm.phone.value;
	for (var t=0;t<=(strNumber.length-1);t++) {
		if (GoodChars.indexOf(strNumber.charAt(t)) == -1) {
			strValid = false;
		} 
	}
	if (strNumber.length != 8) { strValid = false; }
	return strValid;
}

function checkAll() {

	var FailMsg = 0;
	var strFail = new Array(3);
	var returnValue = false;
	
	if (!checkTopic()) { strFail[1] = "- 不可選取多於五個專題\n"; } else { strFail[1] = 0; }
	if (!checkMovie()) { strFail[2] = "- 不可選取多於五個專題影片\n"; } else { strFail[2] = 0; }
	if (!checkGame()) { strFail[3] = "- 不可選取多於五個專題遊戲\n"; } else { strFail[3] = 0; }
	if (!checkEmail()) { strFail[4] = "- 請填上正確電子郵箱\n"; } else { strFail[4] = 0; }
	if (!checkName() || !checkClass()) { strFail[5] = "- 請填上表格第一部份有 * 項目\n"; } else { strFail[5] = 0; }
	if (!checkNumber()) { strFail[6] = "- 請填上正確電話號碼\n"; } else { strFail[6] = 0; }
	
	for (p=1;p<=6;p++)
	{
		if (strFail[p] != 0) {
			if (FailMsg == 0) { FailMsg = "對不起! 表格出現以下錯誤:\n\n" + strFail[p]; }
			else { FailMsg = FailMsg + strFail[p]; }
		}
	}
	
	if (FailMsg != 0) { alert(FailMsg); document.returnValue = false; }
	else { document.returnValue = true; }

}
