ickehier / LSS Easy-AAO

// ==UserScript==
// @name         LSS Easy-AAO
// @namespace    http://tampermonkey.net/
// @version      1.2.8
// @description  Beim Klicken eines AOO-Buttons wird der Alarmierenbutton ebenfalls geklickt. Dies kann durch Halten der Shift-Taste (Umschalttaste) unterbunden werden. Einsatznamen werden ins Suchfeld eingetragen (Script "AAO-Suche" erforderlich).
// @author       Dens030
// @licence      MIT
// @include      *://www.leitstellenspiel.de/
// @include      *://www.leitstellenspiel.de/*
// @exclude      *://www.leitstellenspiel.de/aaos*
// @exclude      *://www.leitstellenspiel.de/buildings*
// @downloadURL  https://openuserjs.org/install/ickehier/LSS_Easy-AAO.user.js
// @updateURL    https://openuserjs.org/meta/ickehier/LSS_Easy-AAO.meta.js
// @grant        none
// ==/UserScript==

// Prüfung ob AAO vollständig erfüllbar
var danger_check = false;

$("a.aao_btn").mouseover(function () {
  console.log("Mouseover");
  if ($(this).find("span.label-danger").length) {
    danger_check = true;
  }
  else {
    danger_check = false;
  }
});

//  Alarmieren-und-weiter bei erfüllbarer AAO, Nur Alarmieren wenn nicht erfüllbar
$("a.aao_btn").on("click", function (e) {
  console.log(danger_check);
  if (e.shiftKey) {
    // Tue nichts
  }
  else {
    if (danger_check) {
      document.getElementById("mission_alarm_btn").click();
    }
    else {
      document.getElementsByClassName("btn alert_next")[0].click();

    }
  }
  return false;
});

//Warte auf Suchfeld
var counter = 0;
waitForElementToDisplay("#lssm_aao_search", 100);

function waitForElementToDisplay(selector, time) {
  if (document.querySelector(selector) != null) {
    // Suchfeld gefunden
    var einsatz_name = document.getElementById("missionH1").textContent.trim();
    var exclude_name = "Verband";
    var already_handled = false;

    // Prüfe ob Einsätze bereits angefahren oder Verbandsätze sind
    if ($('#h2_vehicle_driving').length > 0 || $('#h2_vehicles_at_mission').length > 0) {
      already_handled = true;
    }

    console.log(einsatz_name);
    if (einsatz_name.includes(exclude_name) || already_handled) {
      // Tue nichts
    }
    else {
      // Fülle Suchfeld aus
      einsatz_name = einsatz_name.replace('[Verband]', '').replace('(Brandmeldeanlage)', '').replace('(Event)', '').trim();
      document.getElementById("lssm_aao_search").value = einsatz_name;
      $("#lssm_aao_search").keyup(); // Trigger für AAO-Suche
    }

    //  Lösche Suchfeldinhalt bei Klick auf "Zurücksetzen"
    $("#lssm_aao_reset").on("click", function () {
      document.getElementById("lssm_aao_search").value = "";
      $("#lssm_aao_search").keyup();
    });
    return;
  }
  else {
    if (counter > 40) {
      // console.log("Stoppe Skript.");
      return false;
    }
    setTimeout(function () {
      waitForElementToDisplay(selector, time);
      counter++;
      // console.log("Warte " + counter + " mal");
    }, time);
  }
};