﻿		var HH;
		var MM;
		var SS;
		
		function Start () {		
			document.getElementById("time").value = "";
			document.getElementById("start").value = "";
			document.getElementById("countdown").value = "";
			
			Change_Mode();
		}

		function Calc () {
			document.getElementById("time").value = "";
			document.getElementById("start").value = "";
			document.getElementById("countdown").value = "";
			//break countdown(); 
		
			if (document.getElementById("chk_hunter").checked) {
				Hunter();
			}
			else {
				Standard();
			}
						
			CopyPaste();
			WriteTitle();
		}
		
		function Standard () {
			// Berechnung der Marschdauer
			time = Waytime(0);
				
			ConvertSecToHHMMSS(time,1);
			document.getElementById("time").value = HH + ":" + MM + ":" + SS;
			
			// Einschlagzeit
			if (document.getElementById("arrivalHH").value != "") {
				if (document.getElementById("arrivalMM").value != "") {
					if (document.getElementById("arrivalSS").value != "") {
			
				arrival = Number(document.getElementById("arrivalHH").value) * 3600 + Number(document.getElementById("arrivalMM").value) * 60 + Number(document.getElementById("arrivalSS").value);
				input = Number(arrival) - Number(time);
			
				ConvertSecToHHMMSS(input,1);
				document.getElementById("start").value = HH + ":" + MM + ":" + SS;

				if (document.getElementById("chk_countdown").checked == true) {
					Counter();
				}
					}
				}
			}
		}
		
		function Hunter () {		
			// Marschdauer Angreifer
			time = Waytime(0);
			
			// Marschdauer Abfaenger
			hunter = Waytime(1);
			
			ConvertSecToHHMMSS(hunter,1);
			document.getElementById("time").value = HH + ":" + MM + ":" + SS;

			// Start Abfang
			arrival = Number(document.getElementById("arrivalHH").value) * 3600 + Number(document.getElementById("arrivalMM").value) * 60 + Number(document.getElementById("arrivalSS").value);
			input = Number(time) + Number(arrival) - Number(hunter);
			
			ConvertSecToHHMMSS(input,1);
			document.getElementById("start").value = HH + ":" + MM + ":" + SS;

			if (document.getElementById("chk_countdown").checked == true) {
				Counter();
			}
		}
		
		function Counter () {				// wird jede sek ausgefuehrt
			
			now = new Date();
			clock = now.getHours() * 3600 + now.getMinutes()* 60 + now.getSeconds();
			countdown = Number(input) - Number(clock);
			ConvertSecToHHMMSS(countdown,0);
			document.getElementById("countdown").value = HH + ":" + MM + ":" + SS;
			
			setTimeout("Counter()", 1000);
		}

		function Waytime (hunt) {
			var x_abs;
			var y_abs;
			var tourplace = 0;
			var speed;
			var dist;
				
			// Berechnungen fuer Abfang [Atter-Hunter]
			if (hunt == 1) {	
				x_abs = Math.abs(parseInt(document.getElementById("atterXX").value) - parseInt(document.getElementById("hunterXX").value));
				y_abs = Math.abs(parseInt(document.getElementById("atterYY").value) - parseInt(document.getElementById("hunterYY").value));
				speed = document.getElementById("speed2").value;
			
				if (document.getElementById("tourplace2").value != "") {
					tourplace = document.getElementById("tourplace2").value;
				}
			}
			// Berechnungen fuer normalen Angriff  [Atter-Opfer]
			else {
				x_abs = Math.abs(parseInt(document.getElementById("atterXX").value) - parseInt(document.getElementById("targetXX").value));
				y_abs = Math.abs(parseInt(document.getElementById("atterYY").value) - parseInt(document.getElementById("targetYY").value));
				speed = document.getElementById("speed").value;
			
				if (document.getElementById("tourplace").value != "") {
					tourplace = document.getElementById("tourplace").value;
				}
			}

			// Kartenumbruch
			if (x_abs > 400)
				x_abs = 801 - x_abs;
			if (y_abs > 400)
				y_abs = 801 - y_abs;

			// Wegberechnung + Turnierplatz
			dist = Math.sqrt(x_abs * x_abs + y_abs * y_abs);
			
			if (dist > 30) {
				dist = 30 + (dist - 30) / (1 + tourplace / 10);
			}

			// Zeitberechnung
			waytime = Math.round(dist / speed * 3600);
			return waytime;
		}

		function ConvertSecToHHMMSS (input, bigger24) {			
		// Konvertiert input zu HH:MM:SS
			HH = 0;
			MM = 0;
			SS = 0;

				HH = (input - input % 3600) / 3600;
				MM = (input % 3600 - input % 3600 % 60) / 60;
				SS = (input - HH * 3600 - MM * 60);
			
			// Formatierungen (<0, >24h, fuehrende Null)
			if (SS < 0) {
				SS = SS + 60;
				MM--;
			}

			if (MM < 0) {
				MM = MM + 60;
				HH--;
			}

			if (HH < 0) {
				HH = HH  + 24 * Math.ceil(Math.abs(HH) / 24);
			}

			if (bigger24 == 0) {
				if (HH > 23) {
					HH = HH % 24;
				}
			}
			
			if (HH < 10) 
				HH = "0" + HH;			
			if (MM < 10) 
				MM = "0" + MM;
			if (SS < 10) 
				SS = "0" + SS;
		}
		
		function CopyPaste () {
			if (document.getElementById("chk_hunter").checked) {
				document.getElementById("copypaste").value = " Angreifer\t(" + document.getElementById("atterXX").value + "|" + document.getElementById("atterYY").value + ")\tSpeed " + document.getElementById("speed").value + "/" + document.getElementById("tourplace").value + "\n Opfer\t\t(" + document.getElementById("targetXX").value + "|" + document.getElementById("targetYY").value + ")\n Abfänger\t(" + document.getElementById("hunterXX").value + "|" + document.getElementById("hunterYY").value + ")\tSpeed " + document.getElementById("speed2").value + "/" + document.getElementById("tourplace2").value + "\n Ankunft \t"  + document.getElementById("arrivalHH").value + ":" + document.getElementById("arrivalMM").value + ":" + document.getElementById("arrivalSS").value + "\n -> Start\t" + document.getElementById("start").value;
			}
			else {
				
				if (document.getElementById("start").value != "") {
					document.getElementById("copypaste").value = " Angreifer\t(" + document.getElementById("atterXX").value + "|" + document.getElementById("atterYY").value + ")\tSpeed " + document.getElementById("speed").value + "/" + document.getElementById("tourplace").value + "\n Opfer \t\t(" + document.getElementById("targetXX").value + "|" + document.getElementById("targetYY").value + ")\n Ankunft \t"  + document.getElementById("arrivalHH").value + ":" + document.getElementById("arrivalMM").value + ":" + document.getElementById("arrivalSS").value  + "\n -> Start\t" + document.getElementById("start").value;
				}
				else {
					document.getElementById("copypaste").value = " Angreifer\t(" + document.getElementById("atterXX").value + "|" + document.getElementById("atterYY").value + ")\tSpeed " + document.getElementById("speed").value + "/" + document.getElementById("tourplace").value + "\n Opfer \t\t(" + document.getElementById("targetXX").value + "|" + document.getElementById("targetYY").value+ ")\n -> Dauer\t" + document.getElementById("time").value;
				}
				
			}
		}

		function Change_Mode () {
		// Versteckt/Zeigt Felder für Abfang
			if (document.getElementById("chk_hunter").checked) {
				document.getElementById("div_hunter").style.visibility = "visible";
				document.getElementById("div_hunter_text").style.visibility = "visible";
				document.getElementById("div_speed2_tourplace2").style.visibility = "visible";
				document.getElementById("div_speed2_tourplace2_text").style.visibility = "visible";
			}
			else {
				document.getElementById("div_hunter").style.visibility = "hidden";
				document.getElementById("div_hunter_text").style.visibility = "hidden";
				document.getElementById("div_speed2_tourplace2").style.visibility = "hidden";
				document.getElementById("div_speed2_tourplace2_text").style.visibility = "hidden";
			}
			
		// Versteckt/Zeigt Felder für Countdown
			if (document.getElementById("chk_countdown").checked) {
				document.getElementById("div_countdown").style.visibility = "visible";
				document.getElementById("div_countdown_text").style.visibility = "visible";
			}
			else {
				document.getElementById("div_countdown").style.visibility = "hidden";
				document.getElementById("div_countdown_text").style.visibility = "hidden";
			}
		}

		function WriteTitle () {
			if (document.getElementById("new_title").value != "") {
				document.title = document.getElementById("new_title").value;
			}
		}
		
		function Help () {
			if (document.getElementById("chk_hunter").checked) {
				document.getElementById("div_atter_text").title = "Koordinaten des Angreifers, der abgefangen werden soll";
				document.getElementById("div_target_text").title = "Koordinaten des Opfers, welches angegriffen wird";
				document.getElementById("div_speed_tourplace_text").title = "Geschwindigkeit und Turnierplatz des Angreifers";
				document.getElementById("div_arrival_text").title = "Zeitpunkt, bei dem der Angreifer beim Opfer ankommt";
				document.getElementById("div_time_text").title = "Marschdauer des Abfängers";
			}
			else {
				document.getElementById("div_atter_text").title = "Koordinaten Dorf 1";
				document.getElementById("div_target_text").title = "Koordinaten Dorf 2";
				document.getElementById("div_speed_tourplace_text").title = "Geschwindigkeit und Turnierplatz";
				document.getElementById("div_arrival_text").title = "Zeitpunkt, bei dem die Truppen ankommen sollen";
				document.getElementById("div_time_text").title = "Marschdauer des Angreifers";
			}
			
				document.getElementById("div_hunter_text").title = "Koordinaten des Abfängers";
				document.getElementById("div_speed2_tourplace2_text").title = "Geschwindigkeit und Turnierplatz des Abfängers";
				
				document.getElementById("div_chk_hunter_text").title = "Schaltet zwischen normalem und Abfangmodus um";
				document.getElementById("div_chk_countdown_text").title = "Blendet den Countdown ein";
				document.getElementById("div_new_title_text").title = "Verändert den Titel des Fensters. Hilfreich bei mehreren offenen Tabs, z Bsp in Firefox";
				
				document.getElementById("div_countdown_text").title = "Zählt bis zum Start der Truppen herunter";
				document.getElementById("div_start_text").title = "Zu dieser Uhrzeit müssen die Truppen abgeschickt werden";
				
				document.getElementById("div_copypaste").title = "Fasst alle wichtigen Informationen in einem Text zusammen. Ideal zum Einfügen in IRC, ...";
		}
