var numQuestions = "10";
var answerQ1 = "C";
var answerQ2 = "D";
var answerQ3 = "B";
var answerQ4 = "A";
var answerQ5 = "D";
var answerQ6 = "A";
var answerQ7 = "C";
var answerQ8 = "D";
var answerQ9 = "C";
var answerQ10 = "C";

var resultsArray = new Array(numQuestions + 1);

var numCorrect = 0;
var numIncorrect = 0;

function checkCreditQuiz(quizform){
	
	var valuesArray = new Array(numQuestions + 1);
	var allAnswered = true;
	
	for (i = 1; i <= numQuestions; i++) {
		question = "quizform.question" + i;
		
		for (j = 0; j < eval(question + '.length'); j++) {
			
			// Store entered value
			if (eval(question + '[j].checked')) {   
				valuesArray[i] = eval(question + '[j].value');
			} 
		}
		
		// Show inline error if no values are chosen
		if (valuesArray[i] == undefined) {
			showInline(eval('"ErrorQ' + i + '"'));
			showError(eval('"Q' + i + '"'));
			allAnswered = false;
		}
	}
	
	if (allAnswered) {
		// Store values in cookies
		for (i = 1; i < valuesArray.length; i++) {
			setcookie(eval('"cookieQ' + i + '"'),valuesArray[i],1);
		}
		
		return true;
	} else {
		showInline("Error");
		window.scrollTo(0,0);
  		return false;
	}
}

// determines quiz grade
function gradeQuiz() {
	for (i = 1; i <= numQuestions; i++) {
		if (getcookie(eval('"cookieQ' + i + '"')) == eval('answerQ' + i)) {
			resultsArray[i] = true;
			numCorrect++;
		} else {
			resultsArray[i] = false;
		}
		
		numIncorrect = numQuestions - numCorrect;
	}
}

// shows the answer response
function showAnswer(questionNum) {
	var response = null;
	
	if (resultsArray[questionNum]) {
		response = "You got it right!";
	} else {
		response = "You answered " + getcookie(eval('"cookieQ' + questionNum + '"')) + ".";
	}
	
	return response;
}

// clears all quiz cookies
function clearQuizCookies() {
	for (i = 1; i <= numQuestions; i++) {
		deletecookie(eval('"cookieQ' + i + '"'));
	}
}

// hides element given an ID
function hideInline(errorNum){
	document.getElementById(errorNum).style.display = "none";
}

// shows element given an ID
function showInline(errorNum){
	document.getElementById(errorNum).style.display = "";
}

//Function to turn element black
function hideError(errorNum){
	document.getElementById(errorNum).style.color = "#000000";
}

//Function to turn element red
function showError(errorNum){
	document.getElementById(errorNum).style.color = "#ed1c24";
}

//Function to get the expiration date for a cookie
function getexpirydate(nodays){

var UTCstring;

Today = new Date();

nomilli=Date.parse(Today);

Today.setTime(nomilli+nodays*24*60*60*1000);

UTCstring = Today.toUTCString();

return UTCstring;

}

//Function to get the cookie
function getcookie(cookiename) {

 var cookiestring=""+document.cookie;

 var index1=cookiestring.indexOf(cookiename);

 if (index1==-1 || cookiename=="") return "";

 var index2=cookiestring.indexOf(';',index1);

 if (index2==-1) index2=cookiestring.length;

 return unescape(cookiestring.substring(index1+cookiename.length+1,index2));

}

 
//Function to set the cookie
function setcookie(name,value,duration){

cookiestring=name+"="+escape(value)+";EXPIRES="+getexpirydate(duration);

document.cookie = cookiestring;

return true;
}

//Function to delete cookies
function deletecookie(name)
{ var exp = new Date();
  exp.setTime (exp.getTime() - 1);
  var cval = getcookie(name);
  document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

