mattlv / automatizzazione eni

// ==UserScript==
// @name         automatizzazione eni
// @namespace    http://tampermonkey.net/
// @version     1.0
// @description  automatizzazione eni learning...
// @license      MIT
// @copyright     none
// @match        http://eni-learning.com/*
// @grant GM_setValue
// @grant GM_getValue
// ==/UserScript==
if (window.location.href == "http://eni-learning.com/corso/") { //se siamo sulla prima pagina che si apre accedendo al sito
  document.addEventListener("DOMContentLoaded", gestorePaginaPrincipale());
} // quando la pagina e stata caricata chiama la funzione gestorePaginaPrincipale
else { // se abbiamo aperto qualche viseo
  window.addEventListener("load", function () { //quando la pagina e stata caricata completamente e gli scrpt presenti sulla pagina sono stati eseguiti(altriment questo script verrebbe seseguito prima degli script che fanno parte della pagina) esegue le seguenti operazioni
    if (GM_getValue("test") == null)
      window.open('http://eni-learning.com/corso', '_self');

    var test_fine_modulo = document.getElementById("unit-2");
    var bottone_inizia_test = document.getElementById("unit-popup-btn"); //individua il bottone che appare alla fine del video(e lo stesso che appare anche alla fine del questionario ed un sacco di altre occasioni)
    var nome_a_cazzo = true;
    if (test_fine_modulo !== null)
      if (test_fine_modulo.style.display == "block") {
        daiRisposte(GM_getValue("test"));
        setTimeout(function () {
          bottone_inizia_test.click();
        }, 5000);
        nome_a_cazzo = false;
      }

    if (nome_a_cazzo) {
      var contenitore_bottone = document.getElementById('unit-popup'); //individua il contenitore del bottone di prima
      var visibile = "block"; //i pulsanti non vengono eliminati e creati, ma solo nascosti e mostrati... quando sono visibili il loro
      console.log(bottone_inizia_test);
      var vid = document.getElementById("unit-1-video");
      if (vid !== null) {
        vid.muted = true;
        var intervallo = setInterval(function () {
          console.log("fired");
          if (vid.readyState == 4) {
            clearInterval(intervallo);
            var durata = vid.duration;
            var posizione = vid.currentTime;
            if (posizione + 1, 5 >= durata) {
              var culo = setInterval(function () {
                if (contenitore_bottone.style.display == visibile) {
                  bottone_inizia_test.click();
                  clearInterval(culo);
                  daiRisposte(GM_getValue("test"));
                  setTimeout(function () {
                    bottone_inizia_test.click();
                  }, 5000);
                }
              }, 1000);
            }
            else {
              var timer = Math.round(((durata - posizione) - 1) * 1000);
              setTimeout(function () {
                var lala = setInterval(function () {
                  if (contenitore_bottone.style.display == visibile) {
                    bottone_inizia_test.click();
                    clearInterval(lala);
                    daiRisposte(GM_getValue("test"));
                    setTimeout(function () {
                      bottone_inizia_test.click();
                    }, 5000);
                  }
                }, 5000);
              }, timer);
            }
          }
        }, 1500);
      }
    }
  }, false);
}

function gestorePaginaPrincipale() {
  var bottoni = document.querySelectorAll("input.button.medium.alt-button.primary");
  var bottone = bottoni[(bottoni.length - 1)];
  var test = bottone.parentNode.parentNode.rowIndex;
  GM_setValue("test", test);
  setTimeout(function () {
    bottone.click();
  }, 1000);
}

/// completa il quiz
function daiRisposte(quiz) {
  var A = "A";
  var B = "B";
  var C = "C";
  var risposte = [
    [], //SPAZIO VUOTO PER IL NOME DEL MODULO
    [], //1
    [A, C, A, B, B], //2
    [A, B, B, A, C], //3
    [C, B, A, B, C], //4
    [A, B, B, C, A], //5
    [C, B, C, B, A], //6
    [B, C, A, C, C], //7
    [], //8
    [], //9
    [], //10
    [C, B, A, C, A], //11 TEST DI FINE MODULO
    [], //DUE SPAZI VUOTI PER
    [], //FINE MODULO,ECC. ECC.
    [], //m.2 1 (14)
    [], //m.2 2 (15)
    [A, B, C], //m.2 3 (16)
    [A, C, A], //m.2 4 (17)
    [A, A, C], //m.2 5 (18)
    [B, B, A], //m.2 6 (19)
    [B, B, B], //m.2 7 (20)
    [], //m.2 8 (21)
    [], //SPAZIO VUOTO PER LA SCRITTA
    [], //m.2 9 (23)
    [B, A, A], //m.2 10 (24)
    [], //SPAZIO VUOTO PER LA SCRITTA
    [], //m.2 11 (26)
    [A, A, B], //m.2 12 (27)
    [B, C, B], //m.2 13 (28)
    [], //m.2 14 (29)
    [], //m.2 15 (30)
    [C, A, C, B, A], //m.2 16 (31)
    [], //SPAZIO VUOTO PER LA SCRITTA
    [A, C, A, B, B], //m.3 1 (33)
    [A, B, C, C, B], //m.3 2 (34)
    [A, B, B, C, A], //m.3 3 (35)
    [B, A, A, C, B], //m.3 4 (36)
    [A, A, C, B, B], //m.3 5 (37)
    [B, C, B, B, A], //m.3 6 (38)
    [B, A, B, A, A], //m.3 7 (39)
    [A, C, A], //m.3 8 (40)
    [B, C, C, B, C], //m.3 9 (41)
    [], //SPAZIO VUOTO PER LA SCRITTA
    [B, A, C], //m.4 1 (43)
    [A, C, B], //m.4 2 (44)
    [A, B, A], //m.4 3 (45)
    [], //m.4 4 (46)
    [B, B, C], //m.4 5 (47)
    [B, C, A, B, C], //m.4 6 (48)
    [C, A, B, B, A], //m.4 7 (49)
    [], //SPAZIO VUOTO PER LA SCRITTA
    [], //m.5 1 (51)
    [], //m.5 2 (52)
    [], //m.5 3 (53)
    [], //m.5 4 (54)
    [], //spazio per linea del cazzo
    [C, C, B, A, B], //m.5 5 (56)
  ];
  var avanti = document.getElementById("unit-2-test-avanti");
  var lunghezza = risposte[quiz].length;
  if (avanti !== null)
    for (var i = 0; i < lunghezza; i++) {
      document.getElementById("unit-2-test-" + (i + 1) + "-" + risposte[quiz][i]).click();
      avanti.click();
    }
}