Source for "TEM La Firme - Weather"

By Gillou
Has 4 other scripts.


/* TEM LA FIRME - Meteo

Creation (MM/JJ/AAAA): 03/22/2007
Gillou
http://lggillou.free.fr/script/temweather.user.js

Teste sous GreaseMonkey 0,7.20080121.0

Script sous license Creative Commons (http://creativecommons.org/licenses/by-nc-nd/2.0/fr/)

*/




// ==UserScript==
// @name           TEM La Firme - Weather
// @namespace      V0.1
// @description    Rempli automatiquement le panneau des sorties programmées en fonction du niveau du scaphandre
// @include        http://www.tem-la-firme.com/bunker_survie-logistique.html*
// ==/UserScript==






/* RELEASE
   -------------------------------------------------- */

var ScriptName = 'TEM La Firme - Weather';                            // Nom du script
var ScriptVersion = '0.1';                                            // Version du script pour les mises a jour majeures
var ScriptBuild = '005';                                              // Sous-version du script pour les mises a jour mineures
var ScriptDate = '17/09/2008';                                        // Date de la publication (MM/JJ/AAAA)

/* SCRIPT
   -------------------------------------------------- */
   
function Prototype() {
  this.name = '';
  this.level = 1;
}

function GMsetValue(Name, Value) {
  window.setTimeout(GM_setValue, 0, Name, Value);
}
unsafeWindow.GMsetValue = GMsetValue;

var NBWeather = 24

var A_Weather = new Array();
for (var k = 0;k < NBWeather; k++) {
  A_Weather[k] = new Prototype();
}

var k = 0;
A_Weather[k].name = 'Aucun vent signal\351';
A_Weather[k].level = 1; k++;
A_Weather[k].name = 'Le flux de Thunupa';
A_Weather[k].level = 4; k++;
A_Weather[k].name = 'Le porteur d\'Espoir';
A_Weather[k].level = 1; k++;
A_Weather[k].name = 'La m\351lancolie de Thorn';
A_Weather[k].level = 1; k++;
A_Weather[k].name = 'Arcadia Planitia';
A_Weather[k].level = 1; k++;
A_Weather[k].name = 'L\'haleine terreuse';
A_Weather[k].level = 1; k++;
A_Weather[k].name = 'Le Bouclier Noir';
A_Weather[k].level = 8; k++;
A_Weather[k].name = 'La vague Viking';
A_Weather[k].level = 8; k++;
A_Weather[k].name = 'La Turbine';
A_Weather[k].level = 13; k++;
A_Weather[k].name = 'Intihuatana';
A_Weather[k].level = 1; k++;
A_Weather[k].name = 'L\'Avalanche';
A_Weather[k].level = 18; k++;
A_Weather[k].name = 'La t\352te de fer';
A_Weather[k].level = 4; k++; // 4
A_Weather[k].name = 'L\'esprit de Pilia l\'ancien';
A_Weather[k].level = 18; k++;
A_Weather[k].name = 'La Force du Woukhataa';
A_Weather[k].level = 1; k++;
A_Weather[k].name = 'La parole sableuse';
A_Weather[k].level = 1; k++; // 14
A_Weather[k].name = 'L\'abstrus Corpus';
A_Weather[k].level = 1; k++;
A_Weather[k].name = 'Big Quake breath';
A_Weather[k].level = 20; k++;
A_Weather[k].name = 'Les Corridors de N\351cropolia';
A_Weather[k].level = 1; k++;
A_Weather[k].name = 'Le Hululeur';
A_Weather[k].level = 1; k++;
A_Weather[k].name = 'La Pouss\351e Chaude';
A_Weather[k].level = 1; k++;
A_Weather[k].name = 'Terres lugubres';
A_Weather[k].level = 14; k++;
A_Weather[k].name = 'Brouillard de pierre';
A_Weather[k].level = 17; k++;
A_Weather[k].name = 'Le Souffle de Grave Digger';
A_Weather[k].level = 19; k++;
A_Weather[k].name = 'Mort froide';
A_Weather[k].level = 20; k++;

function SetWeather() {
  var Div = document.getElementById('centre');
  var DivSub = Div.getElementsByTagName('div')[0].getElementsByTagName('div');
  var inc = 0;
  
  for (var k = 1; k < DivSub.length; k++) {
    var Divs = DivSub[k].getElementsByTagName('div');
    
    if (DivSub[k].getElementsByTagName('input').length == 2) {
      var InputName = DivSub[k].getElementsByTagName('input')[0].name;
      
      for (var j = 0; j < Divs.length; j++) {
        for (var i = 0; i < NBWeather; i++) {
          if (Divs[j].innerHTML.match(A_Weather[i].name)) {
            inc++;
            if ((document.getElementsByName('ScaphandreLevel')[0].value < A_Weather[i].level) || (inc == 24)) {
              document.getElementsByName(InputName)[0].checked = true;
              document.getElementsByName(InputName)[1].checked = false;
            }
            else if (document.getElementsByName('ScaphandreLevel')[0].value >= A_Weather[i].level) {
              document.getElementsByName(InputName)[0].checked = false;
              document.getElementsByName(InputName)[1].checked = true;
            }
          }
        }
      }
    }
  }
}
unsafeWindow.SetWeather = SetWeather;

var ScaphandreLevel = GM_getValue('ScaphandreLevel', 1);

if (document.getElementById('centre') && document.getElementsByName('submit')) {
  var Div = document.getElementById('centre');
  if (document.getElementsByName('submit').length > 0) {
    if (document.getElementsByName('submit')[0].value == 'Valider cette programmation') {
      var DivSub = Div.getElementsByTagName('div')[0].getElementsByTagName('div');
      
      var ScaphandreDiv = document.createElement('div');
      ScaphandreDiv.setAttribute('style','position:absolute;top:0px;left:170px;text-align:center');
      
      var Span = document.createElement('span');
      Span.setAttribute('style','color:#ead896;');
      Span.textContent = 'Niveau du scaphandre ('+ScaphandreLevel+'):';
      
      var InputValue = document.createElement('input');
      InputValue.setAttribute('type','text');
      InputValue.setAttribute('id','ScaphandreLevel');      
      InputValue.setAttribute('maxLength','2');
      InputValue.setAttribute('size','2');
      InputValue.setAttribute('style','border:1px solid #180404;background-color:#310808;color:#ead896;text-align:center;');
      InputValue.setAttribute('name','ScaphandreLevel');
      InputValue.setAttribute('value',ScaphandreLevel);
      
      var InputButton = document.createElement('input');
      InputButton.setAttribute('value','Appliquer');
      InputButton.setAttribute('type','button');
      InputButton.setAttribute('style','border:1px solid #180404;background-color:#310808;color:#ead896;');
      InputButton.setAttribute('onclick','GMsetValue(\'ScaphandreLevel\',document.getElementsByName(\'ScaphandreLevel\')[0].value);SetWeather()');
      
      ScaphandreDiv.appendChild(Span);
      ScaphandreDiv.appendChild(InputValue);
      ScaphandreDiv.appendChild(InputButton);
      
      DivSub[0].getElementsByTagName('div')[0].appendChild(ScaphandreDiv);
      
      var Input = document.getElementById('ScaphandreLevel');
      
      if (Input) {
        Input.selectionStart = Input.value.length;
        Input.selectionEnd = Input.selectionStart;
        SetWeather();
      }
    }
  }
}