alice

compute the weighted average in the alice portal of the university of Pisa

// ==UserScript==
// @name        alice
// @namespace   https://www.studenti.unipi.it/
// @include     https://www.studenti.unipi.it/auth/studente/Libretto/*
// @version     1.1
// @grant       none
// @description compute the weighted average in the alice portal of the university of Pisa
//Developper Roberto Zanaboni
// ==/UserScript==


var input=document.createElement("input");
input.type="button";
input.value="Media Pesata";
input.onclick = apri;
input.setAttribute("style", "font-size:18px;position:absolute;top:120px;right:250px;");

document.body.appendChild(input); 
var blocco1=document.createElement("div");
blocco1.setAttribute("style", "position:absolute;top:100px;right:500px;");
var text1= document.createTextNode("TEST NUOVO VOTO");
document.body.appendChild(blocco1);
blocco1.appendChild(text1); 
var input1=document.createElement("input");
input1.type="text";
input1.value="0";
input1.setAttribute("id", "voto");
input1.setAttribute("style", "font-size:16px;position:absolute;left:140px; width:20px");
blocco1.appendChild(input1); 

var blocco2=document.createElement("div");
blocco2.setAttribute("style", "position:absolute;top:130px;right:500px;");
var text2= document.createTextNode("CREDITI");
blocco2.appendChild(text2); 
document.body.appendChild(blocco2);
var input2=document.createElement("input");
input2.type="text";
input2.value="0";
input2.setAttribute("id", "crediti");
input2.setAttribute("style", "font-size:16px;position:absolute;left:60px; width:20px");
blocco2.appendChild(input2); 
function apri()
{
  var credtot=0; 
   var vottot=0;
   var as = document.getElementsByTagName("tr");
    for(var i=0;i<as.length;i++)  {
     var as1=as[i].getElementsByClassName("detail_table");
       var j=13;
       while(j<as1.length){
  
   var voto  = as1[j].textContent || as1[j].innerText;
   var crediti=  as1[j-3].textContent || as1[j-3].innerText;
          crediti=crediti.slice(0, 2); 
          voto=voto.slice(0, 2); 
          var numero= parseInt(crediti);
           var numero1= parseInt(voto);
          if(!isNaN(numero1)){
          credtot+=numero;
          vottot+=numero1*numero;
          }
        
          j+=8;
    
  }
   }
 
   var nuovo = document.getElementById("crediti");
    var nuovo1 = document.getElementById("voto");
    if(nuovo.value>1 && nuovo.value<30 && nuovo1.value>17 && nuovo.value<35){
    credtot+=parseInt(nuovo.value);
    vottot+=parseInt(nuovo1.value)*nuovo.value;
    }
          window.alert("Media: " + vottot/credtot);
    
    
}