$(document).ready(function(){
	$('.card').hide();
	$('#question-1').show();

	window.quizAnswers = {};

	function showHideCard(showId,hideId){
		$(hideId).slideUp();
		$(hideId).trigger('cardHide');
		$(showId).slideDown();
		$(showId).trigger('cardShow');
	}

	$('.quiz .question .submit-button input').click(function(evt){
		evt.preventDefault();
		var name = $(this).attr("name");
		var idRe = new RegExp("submit\\[(\\d+)\\]");

		var matches = idRe.exec(name);

		var questionId = matches[1];

		var questionAnswer = $("input:radio[@name='question[" + questionId + "]']:checked").val();

		window.quizAnswers[questionId] = questionAnswer;

		if(questionAnswer == '1'){
			$('#answer-' + questionId + ' .answer-correct').show();
			$('#answer-' + questionId + ' .answer-incorrect').hide();
		}else{
			$('#answer-' + questionId + ' .answer-correct').hide();
			$('#answer-' + questionId + ' .answer-incorrect').show();
		}

		showHideCard('#answer-' + questionId,'#question-' + questionId);
	});

	$('.quiz .answer .continue-button a').click(function(){
		var name = $(this).attr("name");
		
		var idRe = new RegExp("answer\\[(\\d+)\\]");

		var matches = idRe.exec(name);

		var questionId = matches[1];

		var nextQuestionId = parseInt(questionId) + 1;

		var el = $('#question-' + nextQuestionId).get(0);

		if(el){
			showHideCard('#question-' + nextQuestionId,'#answer-' + questionId);
		}else{
			showHideCard('#end','#answer-' + questionId);
		}
	});

	$('#end').bind('cardShow',function(){
		var urls = new Array();
		var score = 0;
		var incorrect = 0;
		
		for(index in window.quizAnswers){
			var correct = window.quizAnswers[index];
			if(correct == '1'){
				score++;
				$('#end-incorrect-question-' + index).hide();
				$('#end-incorrect-result-link-' + index).hide();
			}else{
				incorrect++;
				$('#end-incorrect-question-' + index).show();

				var url = $('#end-incorrect-result-link-' + index + ' a').attr("href");

				if($.inArray(url,urls) == -1){
					urls.push(url);
					$('#end-incorrect-result-link-' + index).show();
				}
			}

		}

		if(incorrect == 0){
			$('#end-incorrect-result-link').hide();
			$('#end-incorrect-result-faq').hide();
		}else{
			$('#end-incorrect-result-faq').show();
		}


		$('#end-score').text(score);
		$('#end-incorrect-questions').text(incorrect);

		$('#end-full').hide();
		$('#end-one-incorrect').hide();
		$('#end-incorrect').hide();

		if(incorrect == 0){
			$('#end-full').show();
		}else if(incorrect == 1){
			$('#end-one-incorrect').show();
		}else{
			$('#end-incorrect').show();
		}
	});
});

