// Quiz
var QuizFormHandler =
{
  handleSubmit: function()
  {
    $('form.question-form .error_list').remove();
    $('form.question-form .btn-check-answer').hide();
    $('form.question-form .loading-indicator').show();
  },

  handleSuccess: function(response)
  {
    $('form.question-form .loading-indicator').hide();

    switch (response.status)
    {
      case  "required":
        $('form.question-form').prepend("<ul class=\"error_list\"><li>Please select an answer</li></ul>");
        $('form.question-form .btn-check-answer').show();
        break;
      case  0:
        // Disable checkboxes
        $("form.question-form input[name='quiz_question_answer[quiz_question_option_id]']").attr("disabled", "disabled");
        var selectedOption = $("form.question-form input[name='quiz_question_answer[quiz_question_option_id]']:checked").val();
        var correctOption = response.data.correctOptionId;

        // Show next question link
        $('#question-answer').show();
        if (response.data.isCompetitive)
        {
          if (selectedOption == correctOption)
          {
            $(".next-question .result-text").prepend("Correct!");
          }
          else
          {
            $(".next-question .result-text").prepend("Incorrect");  
          }
          
          // Highlight the correct answer
	        var correctInputLi = $("form.question-form input[value='" + correctOption + "']").parent();
	        correctInputLi.addClass("correct");  
	        // Highlight the selected answer
	        var selectedInputLi = $("form.question-form input[value='" + selectedOption + "']").parent();
	        selectedInputLi.addClass("users-answer"); 
        }
        else
        {
          $(".next-question .result-text").prepend("Thanks!");
        }
        break;
    }
  },

  handleNextSubmit: function()
  {
    QuizFormHandler.handleSubmit();
    $('#question-answer').hide();
  },

  handleNextSuccess: function(response)
  {
    $(".quiz-question-box").replaceWith(response);
  }
}

// Global Search Box
var PromptTextField = function(fieldSelector, prompt)
{
  this.prompt = prompt;
  this.fieldSelector = fieldSelector;
  
  this.init = function()
  {
    var form = jQuery(jQuery(this.fieldSelector).attr("form"));
    form.submit(function(){
      if ($(fieldSelector).attr("value") == prompt || $(fieldSelector).attr("value") == "")
      {
        return false;
      }
      else
      {
        return true;
      }
    });

    jQuery(fieldSelector).attr("value", prompt);
    jQuery(fieldSelector).focus(function(){
      if(jQuery(this).attr("value") == prompt) {
        jQuery(this).attr("value", "");
      }
    });
    jQuery(fieldSelector).blur(function(){
      if(jQuery(this).attr("value") == "") {
        jQuery(this).attr("value", prompt);
      }
    });
  }

  this.init();
}
