<%#
Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
This is free software, licensed under the Apache License, Version 2.0
-%>

<style type="text/css">
	.runtime
	{
		color: #37c;
		font-weight: bold;
		display: inline-block;
		width: 100%;
		padding-top: 0.5rem;
	}
</style>

<script type="text/javascript">
//<![CDATA[
	function status_update(json)
	{
			var btn1  = document.getElementById("btn1");
			var view  = document.getElementById("value_1");
			var input = json.data.travelmate_status;

			btn1.value = "<%:Restart%>";
			btn1.name  = "do_restart";
			view.innerHTML = input || "-";
			view = document.getElementById("value_2");
			input = json.data.travelmate_version;
			view.innerHTML = input || "-";
			view = document.getElementById("value_3");
			input = json.data.station_id;
			view.innerHTML = input || "-";
			view = document.getElementById("value_4");
			input = json.data.station_interface;
			view.innerHTML = input || "-";
			view = document.getElementById("value_5");
			input = json.data.faulty_stations;
			view.innerHTML = input || "-";
			view = document.getElementById("value_6");
			input = json.data.last_rundate;
			view.innerHTML = input || "-";
	}

	function btn_action(action)
	{
		var btn1 = document.getElementById("btn1");
		var btn1_running = document.getElementById("btn1_running");

		btn1.disabled = true;
		running(btn1_running, 1);

		new XHR.get('<%=luci.dispatcher.build_url("admin", "services", "travelmate")%>/action/' + action.name, null,
		function(x)
		{
			if (!x)
			{
				return;
			}
			btn1.disabled = false;
			running(btn1_running, 0);
		});
	}

	function running(element, state)
	{
		if (state === 1)
		{
			var running_html = '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" width="16" height="16" style="vertical-align:middle" />';
			element.innerHTML = running_html;
		}
		else
		{
			element.innerHTML = '';
		}
	}

	XHR.get('<%=luci.dispatcher.build_url("admin", "services", "travelmate", "status")%>', null,
	function(x, json_info)
	{
		if (!x || !json_info)
		{
			return;
		}
		status_update(json_info)
	});

	XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "services", "travelmate", "status")%>', null,
	function(x, json_info)
	{
		if (!x || !json_info)
		{
			return;
		}
		status_update(json_info)
	});
//]]>
</script>

<h3><%:Runtime Information%></h3>
<div class="cbi-value" id="status_1">
	<label class="cbi-value-title" for="status_1"><%:Travelmate Status (Quality)%></label>
	<div class="cbi-value-field">
		<span class="runtime" id="value_1">-</span>
	</div>
</div>
<div class="cbi-value" id="status_2">
	<label class="cbi-value-title" for="status_2"><%:Travelmate Version%></label>
	<div class="cbi-value-field">
		<span class="runtime" id="value_2">-</span>
	</div>
</div>
<div class="cbi-value" id="status_3">
	<label class="cbi-value-title" for="status_3"><%:Station ID (RADIO/SSID/BSSID)%></label>
	<div class="cbi-value-field">
		<span class="runtime" id="value_3">-</span>
	</div>
</div>
<div class="cbi-value" id="status_4">
	<label class="cbi-value-title" for="status_4"><%:Station Interface%></label>
	<div class="cbi-value-field">
		<span class="runtime" id="value_4">-</span>
	</div>
</div>
<div class="cbi-value" id="status_5">
	<label class="cbi-value-title" for="status_5"><%:Faulty Stations%></label>
	<div class="cbi-value-field">
		<span class="runtime" id="value_5">-</span>
	</div>
</div>
<div class="cbi-value" id="status_6">
	<label class="cbi-value-title" for="status_6"><%:Last Run%></label>
	<div class="cbi-value-field">
		<span class="runtime" id="value_6">-</span>
	</div>
</div>
<hr />
<div class="cbi-value" id="button_1">
	<label class="cbi-value-title" for="button_1"><%:Restart Travelmate%></label>
	<div class="cbi-value-field">
		<input class="cbi-button cbi-button-reset" id="btn1" type="button" name="do_restart" value="<%:Restart%>" onclick="btn_action(this)" />
		<span id="btn1_running" style="display:inline-block; width:16px; height:16px; margin:0 5px"></span>
	</div>
</div>