//reset forms
function reset() {
	document.calc.reset();
}

//disable questions
function hide(){
	if (document.calc.checkbox1.checked){
		document.getElementById("Question3").disabled = true;
		document.getElementById("Q3").disabled = true;
		document.calc.Q3.selectedIndex = 0;
		document.getElementById("QH3").style.color = "#cccccc";
		document.getElementById("Question3").style.color = "#cccccc";
		if (document.getElementById("resultbox").value != ""){
			score();
		}
	}
	else {
		document.getElementById("Question3").disabled = false;
		document.getElementById("Answer3").disabled = false;
		document.getElementById("Q3").disabled = false;
		document.getElementById("QH3").style.color = "";
		document.getElementById("Question3").style.color = "";
		if (document.getElementById("resultbox").value != ""){
			score();
		}
	}
	if (document.calc.checkbox2.checked){
		document.getElementById("Question4").disabled = true;
		document.getElementById("Q4").disabled = true;
		document.calc.Q4.selectedIndex = 0;
		document.getElementById("QH4").style.color = "#cccccc";
		document.getElementById("Question4").style.color = "#cccccc";
		if (document.getElementById("resultbox").value != ""){
			score();
		}
	}
	else {
		document.getElementById("Question4").disabled = false;
		document.getElementById("Answer4").disabled = false;
		document.getElementById("Q4").disabled = false;
		document.getElementById("QH4").style.color = "";
		document.getElementById("Question4").style.color = "";
		if (document.getElementById("resultbox").value != ""){
			score();
		}
	} 
}

//check and calculate
function score(){
	//Declare variables
	var q1 = document.calc.Q1.options[document.calc.Q1.selectedIndex].value;
	var q2 = document.calc.Q2.options[document.calc.Q2.selectedIndex].value;
	var q3 = document.calc.Q3.options[document.calc.Q3.selectedIndex].value;
	var q4 = document.calc.Q4.options[document.calc.Q4.selectedIndex].value;
	var q5 = document.calc.Q5.options[document.calc.Q5.selectedIndex].value;
	var q6 = document.calc.Q6.options[document.calc.Q6.selectedIndex].value;
	var q7 = document.calc.Q7.options[document.calc.Q7.selectedIndex].value;
	var result = 0;
	var total = 0;
	var error = "Please answer:";
	
	//error checking
	if (q1 == "") {
		error += "\nQuestion 1";
	}
	if (q2 == "") {
		error += "\nQuestion 2";
	}
	if ((!document.calc.checkbox1.checked) && (q3 == "")) {
		error += "\nQuestion 3";
	}
	if ((!document.calc.checkbox2.checked) && (q4 == "")) {
		error += "\nQuestion 4";
	}
	if (q5 == "") {
		error += "\nQuestion 5";
	}
	if (q6 == "") {
		error += "\nQuestion 6";
	}
	if (q7 == "") {
		error += "\nQuestion 7";
	}
	
	//Calculate answer
	if (error == "Please answer:") {
		total = parseInt(q1) + parseInt(q2) + parseInt(q5) + parseInt(q6) + parseInt(q7);
		if (!document.calc.checkbox1.checked){
			total += parseInt(q3);
		}
		if (!document.calc.checkbox2.checked){
			total += parseInt(q4);
		}
		outof = 900;
		if (document.calc.checkbox1.checked){
			outof -= 100;
		}
		if (document.calc.checkbox2.checked){
			outof -= 100;
		}
		result = (total / outof) * 100;

		//set result styles
		document.getElementById("resultbox").style.fontSize = "3em";
		document.getElementById("resultbox").style.height = "90px";
		document.getElementById("resultbox").style.paddingTop = "30px";
		document.getElementById("resultbox").style.textAlign = "center";

		//show compare link
		document.getElementById("compare").style.visibility = "visible";
		document.getElementById("compare").style.paddingBottom = "30px";

		//display result
		document.getElementById("resultbox").value = result.toFixed(0) + "  ";

	}
	else {
		//clear styles
		document.getElementById("resultbox").style.fontSize = "";
		document.getElementById("resultbox").style.height = "";
		document.getElementById("resultbox").style.paddingTop = "";
		document.getElementById("resultbox").style.textAlign = "";
		
		document.getElementById("compare").style.visibility = "hidden";
		document.getElementById("compare").style.paddingBottom = "";
		
		//display errors
		document.getElementById("resultbox").value = error;
	}
}