<%#
 Copyright 2014 Aedan Renner <chipdankly@gmail.com>
 Copyright 2018 Florian Eckert <fe@dev.tdt.de>
 Licensed to the public under the GNU General Public License v2.
-%>

<script type="text/javascript">//<![CDATA[

function secondsToString(time) {
	var seconds = parseInt(time, 10);

	var hrs   = Math.floor(seconds / 3600);
	seconds  -= hrs*3600;
	var mnts = Math.floor(seconds / 60);
	seconds  -= mnts*60;
	return String.format("%sh:%sm:%ss", hrs, mnts, seconds);
}

XHR.poll(-1, '<%=luci.dispatcher.build_url("admin", "status", "mwan", "interface_status")%>', null,
		function(x, status)
		{
			var statusDiv = document.getElementById('mwan_status_text');
			if (status.interfaces)
			{
				var statusview = '';
				for ( var iface in status.interfaces)
				{
					var state = '';
					var css = '';
					var time = '';
					switch (status.interfaces[iface].status)
					{
						case 'online':
							state = '<%:Online%>';
							time = String.format(
								'<div><strong>Uptime: </strong>%s</div>',
								secondsToString(status.interfaces[iface].online)
							);
							css = 'success';
							break;
						case 'offline':
							state = '<%:Offline%>';
							time = String.format(
								'<div><strong>Downtime: </strong>%s</div>',
								secondsToString(status.interfaces[iface].offline)
							);
							css = 'danger';
							break;
						default:
							state = '<%:Disabled%>';
							css = 'warning';
							break;
					}
					statusview += String.format(
						'<div class="alert-message %s">',
						css
					);
					statusview += String.format(
						'<div><strong>Interface: </strong>%s</div>',
						iface
					);
					statusview += String.format(
						'<div><strong>Status: </strong>%s</div>',
						state
					);
					if (time)
					{
						statusview += time;
					}
					statusview += '</div>'
				}
				statusDiv.innerHTML = statusview;
			}
			else
			{
				statusDiv.innerHTML = '<strong><%:No MWAN interfaces found%></strong>';
			}
		}
	);
//]]></script>

<style type="text/css">
	#mwan_status_text > div {
		display: inline-block;
		margin: 1rem;
		padding: 1rem;
		width: 10rem;
		float: left;
		line-height: 125%;
	}
</style>

<fieldset id="interface_field" class="cbi-section">
	<legend><%:MWAN Interfaces%></legend>
	<div id="mwan_status_text">
		<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" />
		<%:Collecting data...%>
	</div>
</fieldset>