// ==UserScript==
// @name           Sokker Scheduler
// @namespace      http://www.mkvale.it/mk/sokker/
// @author         Mkcerusky (162594) (with multilanguage code taken from scripts by Naonis)
// @description    Version 0.1.ml (Multi Language) - This script allows to keep memory of friendlies which you have informally fixed but that cannot be fixed yet on sokker because they are too far. For the moment it works only with one friendly, if people think it is usefull I can add more friendlies.
// @include        http://online.sokker.org/*
// ==/UserScript==

var version = "0.1.ml";


// Language variables

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ""); };

array_cookie = parse_variabili(unescape(document.cookie), ";");
var lingua = array_cookie["lang"];
var parola_check = lingua;
var vocaboli = selezionaArrayLinguaggio(parola_check);


// Recalll match variable

var match = GM_getValue("sokker_scheduler_match",vocaboli[0]);
GM_registerMenuCommand(vocaboli[1]+" 1", scheduler_match_picker);

var match1 = GM_getValue("sokker_scheduler_match_1",vocaboli[0]);
GM_registerMenuCommand(vocaboli[1]+" 2", scheduler_match_picker_1);

var match2 = GM_getValue("sokker_scheduler_match_2",vocaboli[0]);
GM_registerMenuCommand(vocaboli[1]+" 3", scheduler_match_picker_2);



// Main body of the script

if (document.URL.indexOf("friendlies.php")!=-1 || document.URL.indexOf("matches.php")!=-1) {

tables = document.getElementsByTagName('table');

if (tables) {
  newElement = document.createElement("div");    
  newElement.innerHTML = '<div><p>' +
    "<b>Sokker Scheduler "+ version + "</b> powered by <a href='http:\/\/www.mkvale.it\/mk\/sokker'>Mkcerusky's Sokker Page</a><br>" + 
    "1) "+ match + " 1<br>" + 
    "2) "+ match1 + " 2<br>" + 
    "3) "+ match2 + " 3" +
    '</p></div>';
  tables[0].parentNode.insertBefore(newElement, tables[0].nextSibling);
 }

 }

function scheduler_match_picker() {
  var time = window.prompt(vocaboli[2]+"\n", "");
  var team = window.prompt(vocaboli[3]+"\n", "");
  var text = window.prompt(vocaboli[4]+"\n", "");
  if ((time != "" && time != null) || (text != "" && text != null)) {
    if (team != "" && team != null)
      match = vocaboli[5]+": "+time+" - "+vocaboli[6]+": <a href='http://online.sokker.org/glowna.php?teamID="+team+"'>"+text+"</a>";
    else
      match =  vocaboli[5]+": "+time+" - "+vocaboli[6]+": "+text; 
  }
  else match = vocaboli[0];
  GM_setValue("sokker_scheduler_match", match);
}

function scheduler_match_picker_1() {
  var time = window.prompt(vocaboli[2]+"\n", "");
  var team = window.prompt(vocaboli[3]+"\n", "");
  var text = window.prompt(vocaboli[4]+"\n", "");
  if ((time != "" && time != null) || (text != "" && text != null)) {
    if (team != "" && team != null)
      match1 = vocaboli[5]+": "+time+" - "+vocaboli[6]+": <a href='http://online.sokker.org/glowna.php?teamID="+team+"'>"+text+"</a>";
    else
      match1 =  vocaboli[5]+": "+time+" - "+vocaboli[6]+": "+text; 
  }
  else match1 = vocaboli[0];
  GM_setValue("sokker_scheduler_match_1", match1);
}

function scheduler_match_picker_2() {
  var time = window.prompt(vocaboli[2]+"\n", "");
  var team = window.prompt(vocaboli[3]+"\n", "");
  var text = window.prompt(vocaboli[4]+"\n", "");
  if ((time != "" && time != null) || (text != "" && text != null)) {
    if (team != "" && team != null)
      match2 = vocaboli[5]+": "+time+" - "+vocaboli[6]+": <a href='http://online.sokker.org/glowna.php?teamID="+team+"'>"+text+"</a>";
    else
      match2 =  vocaboli[5]+": "+time+" - "+vocaboli[6]+": "+text; 
  }
  else match2 = vocaboli[0];
  GM_setValue("sokker_scheduler_match_2", match2);
}


// Language functions: what is below has been adapted from scripts Powered by Sokkerstats.com (Naonis et al.)

//Carica Lingua
function selezionaArrayLinguaggio(parola_check) {

  var arrayLinguaggio;
  if (parola_check == "it")
    arrayLinguaggio = selezionaArrayItaliano();
  else if (parola_check == "en")
    arrayLinguaggio = selezionaArrayEnglish();
  else if (parola_check == "fy")
    arrayLinguaggio = selezionaArrayFrysk();
  else if (parola_check == "nl")
    arrayLinguaggio = selezionaArrayDutch();
  else if (parola_check == "pl")
    arrayLinguaggio = selezionaArrayPolish();
  else if (parola_check == "pt")
    arrayLinguaggio = selezionaArrayPortuguese();
  else if (parola_check == "br")
    arrayLinguaggio = selezionaArrayPortuguese();
  else if (parola_check == "ro")
    arrayLinguaggio = selezionaArrayRomanian();
  else if (parola_check == "es")
    arrayLinguaggio = selezionaArraySpanish();
  else
    arrayLinguaggio = selezionaArrayEnglish();
  return arrayLinguaggio;
}


function parse_variabili(stringa_variabili, parse_separatore) {
	var array_variabili = new Array();
	var secondo_split = stringa_variabili.split(parse_separatore);
	i = 0;
	while (i < secondo_split.length) 
	{
		var terzo_split = secondo_split[i].split("=");
		array_variabili[terzo_split[0].trim()]=unescape(terzo_split[1].trim());
		i++;
	}
	return array_variabili;
}


// Lingue


//Dutch
function selezionaArrayDutch() {
	var langArray = new Array();
	langArray[0] = "Er is nog geen wedstrijd gepland: Rechterklik op het Greasemonkey icoon en druk op 'Stel wedstrijd in'";
	langArray[1] = "Stel wedstrijd in";
	langArray[2] = "Voer de week van de wedstrijd in";
	langArray[3] = "Voer het team ID van de tegenstander in";
	langArray[4] = "Voer hier de teamnaam van de tegenstander in of gewoon een notitie";
	langArray[5] = "Week";
	langArray[6] = "Wedstrijd";
	return langArray;
}	

//English
function selezionaArrayEnglish() {
	var langArray = new Array();
	langArray[0] = "Match not scheduled: right click on the Grease monkey icon and click on Set Match";
	langArray[1] = "Set Match";
	langArray[2] = "Enter week of the match";
	langArray[3] = "Enter opponent's team ID";
	langArray[4] = "Enter opponent's team name or some comment text";
	langArray[5] = "Week";
	langArray[6] = "Match";
	return langArray;
}	

//Frysk
function selezionaArrayFrysk() {
	var langArray = new Array();
	langArray[0] = "Noch gjin wedstriid ynstelt. Klik op it Greasemonkey ikoantsje en klik op 'Stel wedstriid yn'";
	langArray[1] = "Stel in wedstriid yn";
	langArray[2] = "Wike foar de wedstriid";
	langArray[3] = "Tiim ID tsjinstanner";
	langArray[4] = "Namme tsjinstanner of wat oars";
	langArray[5] = "Wike";
	langArray[6] = "Wedstriid";
	return langArray;
}	

//Italiano
function selezionaArrayItaliano() {
	var langArray = new Array();
	langArray[0] = "Clicca col destro sull'icona di GreaseMonkey e seleziona la voce 'Pianifica amichevole'";
	langArray[1] = "Pianifica amichevole";
	langArray[2] = "Indica la settimana in cui intendi giocare la partita";
	langArray[3] = "Inserisci ID della squadra avversaria";
	langArray[4] = "Nome della squadra avversaria?";
	langArray[5] = "Settimana";
	langArray[6] = "Partita";
	return langArray;
}

//Polish
function selezionaArrayPolish() {
	var langArray = new Array();
	langArray[0] = "Mecz nie zostal jeszcze zaplanowany: Kliknij prawym myszy na malpke w prawym dolnym rogu nastepnie polecenia scryptu i Ustal Mecz";
	langArray[1] = "Ustal Mecz";
	langArray[2] = "Wprowadz tydzien";
	langArray[3] = "Wprowadz ID druzyny z ktora chcesz grac";
	langArray[4] = "Wprowadz nazwe druzyny lub jakikolwiek komentarz";
	langArray[5] = "Tydzien";
	langArray[6] = "Mecz";
	return langArray;
}	

//Portuguese
function selezionaArrayPortuguese() {
	var langArray = new Array();
	langArray[0] = "Jogo n&atilde;o agendado: click no bot&atilde;o direito do rato em cima do macaco Grease e escolhe a op&ccedil;&atilde;o de agendar jogo";
	langArray[1] = "Agendar jogo";
	langArray[2] = "Semana do jogo";
	langArray[3] = "Equipa adversária";
	langArray[4] = "Nome da equipa adversária ou algum comentário";
	langArray[5] = "Semana";
	langArray[6] = "Jogo";
	return langArray;
}	

//Romanian
function selezionaArrayRomanian() {
	var langArray = new Array();
	langArray[0] = "Meciul nu a fost planificat:click dreapta pe iconi&#355;a Grease monkey &#x219;i apas&#259; pe Seteaz&#259; Meciul";
	langArray[1] = "Seteaza meciul";
	langArray[2] = "Scrie saptamana meciului";
	langArray[3] = "Scrie ID-ul echipei adverse";
	langArray[4] = "Scrie numele echipei adverse sau un comentariu";
	langArray[5] = "Saptamana";
	langArray[6] = "Meci";
	return langArray;
}	

//Spanish
function selezionaArraySpanish() {
	var langArray = new Array();
	langArray[0] = "Partido no programado: Has click con el boton derecho del raton en el icono del Grease monkey y haga click en Programar partido";
	langArray[1] = "Programar partido";
	langArray[2] = "Introdusca la semana del partido";
	langArray[3] = "Introdusca la ID del equipo rival";
	langArray[4] = "Introdusca el nombre del equipo rival o algun comentario";
	langArray[5] = "Semana";
	langArray[6] = "Partido";
	return langArray;
}	

