var QUIZ_DONE = -1;
var currentQuestion;
var numberOfQuestions = 17;
var errString = "-- Sorry, please try again later.";
var quizType = "rom"; 
var questionImage = "ROMquiz_";
	
function askQuestion() {
	refreshAds();

	var lastCompletedQuestion = -1;

	for(i = 1; i <= numberOfQuestions; i++) {
		radioButtonForm = eval('document.QuizForm.q' + i);
		for (j = 0; j < radioButtonForm.length; j++){ 
			if (radioButtonForm[j].checked){
				lastCompletedQuestion = i;
			}
		}
	} 

	if ( lastCompletedQuestion == -1 ) {
		currentQuestion = 1;
		showProgress( currentQuestion );
		showQuestion( currentQuestion );
	} else if( lastCompletedQuestion<numberOfQuestions ) {
		currentQuestion = lastCompletedQuestion + 1;
		showProgress( currentQuestion );
		showQuestion( currentQuestion );
	} else if( lastCompletedQuestion==numberOfQuestions ) {
		currentQuestion = lastCompletedQuestion + 1;
		showForm();
	}
}

function askQuestionV2(aQuestionNumber) {
	radioButtonForm = eval('document.QuizForm.q' + aQuestionNumber);
	for (i = 0; i < radioButtonForm.length; i++){ 
		if (radioButtonForm[i].checked){
			radioButtonForm[i].checked = true;
		}
	}
	document.QuizForm.currentQuestion.value = aQuestionNumber + 1;
	document.QuizForm.submit();
}

function showProgress( qq ) {
	var colorA = "#cc6699";
	var colorB = "#ff99cc";
	
	var startp = 1;
	var meterSize = 17;
	if (quizType == "com") { 
		colorA = "#916CC6";
		colorB = "#BDADD4";
		meterSize = 13;
	} else if (quizType == "wor") {
		colorA = "#75d0a2";
		colorB = "#a7e1c5";
		meterSize = 13;
	}
	var endp = startp + meterSize;
	
	
	
	var c = 1;
//numberOfQuestions
	if ( qq > endp ) { 
		endp = qq;
		startp = endp - meterSize;
	} 

	// progressBar
	for ( i=startp; i<=endp; i++ ) {
		var myString = i;
		if ( i == numberOfQuestions ) {
			myString = "&nbsp;LAST&nbsp;";
		}

		if( i==qq ) {
			if( document.getElementById( "progressBar"+c ) ) { document.getElementById( "progressBar"+c ).innerHTML = "<table width=100% cellspacing=0 cellpadding=0 border=0><tr><td style='text-align:center;' height=20 bgcolor=" + colorA + " class=standard12><b>" + myString + "</b></td></tr></table>"; }
		} else {
			if( document.getElementById( "progressBar"+c ) ) { document.getElementById( "progressBar"+c ).innerHTML = "<table width=100% cellspacing=0 cellpadding=0 border=0><tr><td style='text-align:center;' height=20 bgcolor=" + colorB + " class=standard12>" + myString + "</td></tr></table>"; }
		}
		c++;
	}
}
function showQuestion( qq ) {
	if (quizType == "com")  
		questionImage = "COMMITquiz_";
	else if (quizType == "wor")  
		questionImage = "WORKquiz_";
	
	for ( i=1; i<=numberOfQuestions; i++ ) {
		if( i==qq ) {
			if( document.getElementById( "question"+i ) ) { document.getElementById( "question"+i ).style.display = "block"; }
			else { alert( "Sorry, question"+i+" not found " + errString ); }
		} else {
			if( document.getElementById( "question"+i ) ) { document.getElementById( "question"+i ).style.display = "none"; }
			else { alert( "Sorry, question"+i+" not found " + errString ); }
		}
	}

	document.getElementById( "goContinueButton" ).style.display = "block";
	document.getElementById( "goContinueButton" ).blur();
	document.getElementById( "goSubmitButton" ).style.display = "none";

	if( document.getElementById( "questionArea" ) ) {
		document.getElementById( "questionArea" ).style.display = "block"; 
		document.getElementById( "questionArea" ).style.backgroundImage="url( images/quiz/" + questionImage + currentQuestion + ".gif )"; 
		document.getElementById( "questionArea" ).style.backgroundPosition="bottom right"; // for ie
		document.getElementById( "questionArea" ).style.backgroundRepeat="no-repeat";
	}
}
function showForm() {
	// Hide background change / progress bar / all questions
	if( document.getElementById( "questionArea" ) ) { 
		document.getElementById( "questionArea" ).style.backgroundImage="url( images/quiz/" + questionImage + "Response4.gif )";  
		document.getElementById( "questionArea" ).style.backgroundPosition="bottom right"; // for ie
		document.getElementById( "questionArea" ).style.backgroundRepeat="no-repeat";
	}
	if( document.getElementById( "progressTable" ) ) { document.getElementById( "progressTable" ).style.display = "none"; }
	for ( i=1; i<=numberOfQuestions; i++ ) {
		if( document.getElementById( "question"+i ) ) { document.getElementById( "question"+i ).style.display = "none"; }
	}

	if( document.getElementById( "finalForm" ) ) { document.getElementById( "finalForm" ).style.display = "block"; }
	getResult(quizType);

	// reveal form
	if( document.getElementById( "question"+numberOfQuestions ) ) { document.getElementById( "question"+numberOfQuestions ).style.display = "none"; }
	document.getElementById( "goContinueButton" ).style.display = "none";
	document.getElementById( "goSubmitButton" ).style.display = "block";
	document.getElementById( "goSubmitButton" ).blur();
}
function goSubmit() {
	var answerComplete = true;	
	var singleAnswerComplete = false;
	var radioButtonForm;
	
	document.QuizForm.answer.value = "";
	
	for(i = 1; i <= numberOfQuestions; i++) {
		radioButtonForm = eval('document.QuizForm.q' + i);
		singleAnswerComplete = false;
		for (j = 0; j < radioButtonForm.length; j++){ 
			if (radioButtonForm[j].checked){
				//alert(radioButtonForm[j].value);
				if (document.QuizForm.answer.value.length <= 0)
					document.QuizForm.answer.value = radioButtonForm[j].value;
				else
					document.QuizForm.answer.value = document.QuizForm.answer.value + "-" + radioButtonForm[j].value; 
				singleAnswerComplete = true;
				j = radioButtonForm.length; 
			}
		}
		
		if (!singleAnswerComplete) {
			alert("Please answer question " + i);
			answerComplete = false;
			i = numberOfQuestions + 1;		
		}
			
	} 

	var formComplete = validateForm();

	if (answerComplete && formComplete) 
		document.QuizForm.submit();
}

function validateForm() {
	var userName = document.QuizForm.name.value;
	var email1 = document.QuizForm.email1.value;
	var email2 = document.QuizForm.email2.value;

	if( userName.length <= 0 ) {
		alert( "Please enter your name." );
		return false;
	}
	if( email1 != email2 ) {
		alert( "Please verify your email address." );
		return false;
	}
	if( email1.indexOf("@")<=0 && email1.indexOf(".")<=0 ) {
		alert( "Your email address doesn't seem valid.  Please check." );
		return false;
	}
	return true;
}
function init() {
	askQuestion();
}

var xmlHttp

function getResult(type)
{ 
	for(i = 1; i <= numberOfQuestions; i++) {
		radioButtonForm = eval('document.QuizForm.q' + i);
		singleAnswerComplete = false;
		for (j = 0; j < radioButtonForm.length; j++){ 
			if (radioButtonForm[j].checked){
				//alert(radioButtonForm[j].value);
				if (document.QuizForm.answer.value.length <= 0)
					document.QuizForm.answer.value = radioButtonForm[j].value;
				else
					document.QuizForm.answer.value = document.QuizForm.answer.value + radioButtonForm[j].value; 
				j = radioButtonForm.length; 
			}
		}
	}	
		
	if ("com" == type) type = 1;
	else if("wor" == type) type = 2;
	else type = 0;
	
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null) {
		alert ("Browser does not support HTTP Request")
		return
	} 
	var url="getQuizResult.aspx"
	url=url+"?type="+ type + "&answer=" + document.QuizForm.answer.value + "&random=" + Math.floor(Math.random()*1000); ;
	xmlHttp.onreadystatechange=stateChanged 
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
}

function stateChanged() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
		document.getElementById("finalForm").innerHTML=xmlHttp.responseText;	
	} 
} 

function GetXmlHttpObject()
{ 
	var objXMLHttp=null
	if (window.XMLHttpRequest) { 
		objXMLHttp=new XMLHttpRequest()
	} else if (window.ActiveXObject) {
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
	return objXMLHttp
}
