<%#
 Copyright 2008 Steven Barth <steven@midlink.org>
 Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
 Copyright 2011 Manuel Munz <freifunk at somakoma dot de>
 Licensed to the public under the Apache License 2.0.
-%>

<%
local i = 1

if luci.http.formvalue("status") == "1" then
	local rv = {}
	for k, hna in ipairs(hna) do
		rv[#rv+1] = {
			proto = hna["proto"],
			destination = hna["destination"],
			genmask = hna["genmask"],
			gateway = hna["gateway"],
			hostname = hna["hostname"],
			validityTime = hna["validityTime"]
			}
	end
	luci.http.prepare_content("application/json")
	luci.http.write_json(rv)
	return
end
%>

<%+header%>

<script type="text/javascript" src="<%=resource%>/cbi.js?v=git-17.309.31241-676ce11"></script>
<script type="text/javascript">//<![CDATA[
XHR.poll(10, '<%=REQUEST_URI%>', { status: 1 },
	function(x, info)
	{
	var hnadiv = document.getElementById('olsrd_hna');
	if (hnadiv)
	{
		var s = '';
		for (var idx = 0; idx < info.length; idx++)
		{
			var hna = info[idx];
			var linkgw = ''
			s += '<tr class="cbi-section-table-row cbi-rowstyle-'+(1 + (idx % 2))+' proto-' + hna.proto + '">'
			if (hna.proto == '6') {
				linkgw = '<a href="http://[' + hna.gateway + ']/cgi-bin-status.html">' + hna.gateway + '</a>'
			} else {
				linkgw = '<a href="http://' + hna.gateway + '/cgi-bin-status.html">' + hna.gateway + '</a>'
			}

			if (hna.validityTime != undefined) {
				validity = hna.validityTime + 's'
			} else {
				validity = '-'
			}

			if (hna.hostname != undefined) {
				hostname = ' / <a href="http://' + hna.hostname + '/cgi-bin-status.html">' + hna.hostname + '</a>'
			} else {
				hostname = ''
			}

			s += String.format(
                                '<td class="cbi-section-table-cell">%s</td>' +
                                '<td class="cbi-section-table-cell">%s</td>' +
                                '<td class="cbi-section-table-cell">%s</td>', hna.destination + '/' + hna.genmask, linkgw + hostname, validity
                                )
			s += '</tr>'
		}
		hnadiv.innerHTML = s;
	}
}
);
//]]></script>

<h2 name="content"><%:Active host net announcements%></h2>

<div id="togglebuttons"></div>
<fieldset class="cbi-section">

	<legend><%:Overview of currently active OLSR host net announcements%></legend>
	<table class="cbi-section-table">
		<thead>
		<tr class="cbi-section-table-titles">
			<th class="cbi-section-table-cell"><%:Announced network%></th>
			<th class="cbi-section-table-cell"><%:OLSR gateway%></th>
			<th class="cbi-section-table-cell"><%:Validity Time%></th>
		</tr>

		</thead>
		<tbody id="olsrd_hna">
		<% for k, route in ipairs(hna) do %>

		<tr class="cbi-section-table-row cbi-rowstyle-<%=i%> proto-<%=hna[k].proto%>">
			<td class="cbi-section-table-cell"><%=hna[k].destination%>/<%=hna[k].genmask%> </td>
			<td class="cbi-section-table-cell">
				<% if hna[k].proto == '6' then %>
				<a href="http://[<%=hna[k].gateway%>]/cgi-bin-status.html"><%=hna[k].gateway%></a>
				<% else %>
				<a href="http://<%=hna[k].gateway%>/cgi-bin-status.html"><%=hna[k].gateway%></a>
				<% end %>
				<% if hna[k].hostname then %>
				 / <a href="http://<%=hna[k].hostname%>/cgi-bin-status.html"><%=hna[k].hostname%></a>
				<% end %>
			</td>
			<% if hna[k].validityTime then
				validity = hna[k].validityTime .. 's'
			else
				validity = '-'
			end %>

			<td class="cbi-section-table-cell"><%=validity%></td>
		</tr>

		<% i = ((i % 2) + 1)
		end %>
		</tbody>
	</table>
</fieldset>

<%+status-olsr/common_js%>
<%+footer%>
