Supreme7 / PH! lapcsalád nyereményjáték - helyes válasz ellenőrző

// ==UserScript==
// @name         PH! lapcsalád nyereményjáték - helyes válasz ellenőrző
// @namespace    https://prohardver.hu
// @version      0.6
// @description  PH! lapcsalád nyereményjáték - helyes válasz ellenőrző
// @author       SUPREME7

// @include        *prohardver.hu/nyeremenyjatek/*
// @include        *gamepod.hu/nyeremenyjatek/*
// @include        *itcafe.hu/nyeremenyjatek/*
// @include        *mobilarena.hu/nyeremenyjatek/*

// @updateURL https://openuserjs.org/meta/Supreme7/PH!_lapcsalád_nyereményjáték_-_helyes_válasz_ellenőrző.meta.js
// @copyright 2018, Supreme7 (https://openuserjs.org//users/Supreme7)
// @license MIT

// @grant       GM_xmlhttpRequest
// ==/UserScript==

(function () {
  'use strict';

  $("#center h1:first").after("<input type='button' class='check_answers' value='Gyerünk a kérdésekhez és a válaszok ellenőrzése' style='padding: 10px; margin: 10px;'>");

  var checkAnswersButton = "<input type='button' class='check_answers' value='Válaszok ellenőrzése' style='padding: 10px; margin: 10px;'>";
  var questionsElement = $("div.content-body:contains('A játék kérdései:')");

  $(questionsElement).prepend(checkAnswersButton);
  $(questionsElement).append(checkAnswersButton);



  $(".check_answers").click(function () {

    checkAnswers();

  });

  function checkAnswers() {

      $([document.documentElement, document.body]).animate({
        scrollTop: $(questionsElement).offset().top
    }, 500);

    var endDate = new Date($("p:contains('A játék lezárásának időpontja:')").find("b").text());
    var now = new Date();

    if (now < endDate) {

      alert("A játék még nem ért véget!");

    }
    else {

      $(".check_answers").prop("value", "A válaszok ellenőrzése folyamatban ....");

      $(questionsElement).find('.off').each(function () {

        var element = $(this);
        var url = element.find("a").attr("href");
        var answer = element.find("li").text();

        if (answer == "") {

          element.after("<li style='color: blue;'>Nem válaszoltál</li>");

        }
        else {

          GM_xmlhttpRequest({
            method: "GET",
            url: url,
            onload: function (response) {

              var yourAnswer = $(response.responseText).find('input[name=qchid]:checked').attr("id");
              var correctAnswers = new Array();

              $(response.responseText).find(".correct").each(function () {
                var correctAnswer = $(this).attr("for");
                correctAnswers.push(correctAnswer);

              });

              if (correctAnswers.length != 0) {

                if (jQuery.inArray(yourAnswer, correctAnswers) !== -1) {
                  element.find("ul li").css("list-style-image", "url('https://prohardver.hu/dl/upc/2018-11/117454_yes.png')");
                }
                else {
                  element.find("ul li").css("list-style-image", "url('https://prohardver.hu/dl/upc/2018-11/117454_cancel.png')");
                }

              }

            }
          });

        }

      });

      $(".check_answers").prop("value", "Válaszok újraellenőrzése");

    }
  }
})();