<%#
 Copyright 2008 Steven Barth <steven@midlink.org>
 Copyright 2008-2009 Jo-Philipp Wich <jow@openwrt.org>
 Licensed to the public under the Apache License 2.0.
-%>

<%+header%>

<h2 name="content"><%:System%></h2>
<h3><%:Flash Firmware%></h3>

<% if step == 1 then %>
	<% if supported then %>
	<form method="post" action="<%=REQUEST_URI%>" enctype="multipart/form-data">
	<p>
		<%:Upload a sysupgrade-compatible image file to reflash the device.%>
		<% if bad_image then %>
			<br /><br />
			<div class="error"><%:The uploaded image file does not
				contain a supported format. Make sure that you choose the generic
				image format for your platform. %></div>
		<% end %>
	</p>
	<div>
		<%:Firmware image%>:<br />
		<input type="hidden" name="step" value="2" />
		<input type="file" size="30" name="image" />
		<br />
		<br />
		<% if keepavail then -%>
		<input type="checkbox" name="keepcfg" value="1" checked="checked" />
		<span class="bold"><%:Keep configuration files%></span>
		<% end -%>

		<br />
		<input class="cbi-button cbi-button-apply" type="submit" value="<%:Upload image%>" />
	</div>
	</form>
	<% else %>
		<div class="error"><%_ Sorry.
			A system upgrade is not supported on this platform.<br />
			You need to manually flash your device. %></div>
	<% end %>
<% elseif step == 2 then %>
	<p>
		<%_ The flash image was uploaded.
			Below is the checksum and file size listed,
			compare them with the original file to ensure data integrity.<br />
			Click "Proceed" below to start the flash procedure. %>

		<% if flashsize > 0 and filesize > flashsize then %>
			<br /><br />
			<div class="error"><%:It appears that you are trying to
				flash an image that does not fit into the flash memory, please verify
				the image file! %></div>
		<% end %>

		<br />
		<ul>
			<li><%:Checksum%>: <code><%=checksum%></code></li>
			<li><%:Size%>: <%
				local w = require "luci.tools.webadmin"
				write(w.byte_format(filesize))
	
				if flashsize > 0 then
					write(luci.i18n.translatef(
						" (%s available)",
						w.byte_format(flashsize)
					))
				end
			%></li>
		</ul>
	</p>
	<div class="cbi-page-actions right">
		<form style="display:inline">
			<input type="hidden" name="step" value="3" />
			<input type="hidden" name="keepcfg" value="<%=keepconfig and "1" or "0"%>" />
			<input class="cbi-button cbi-button-apply" type="submit" value="<%:Proceed%>" />	
		</form>
		<form style="display:inline">
			<input type="hidden" name="step" value="1" />
			<input type="hidden" name="keepcfg" value="<%=keepconfig and "1" or "0"%>" />
			<input class="cbi-button cbi-button-reset" type="submit" value="<%:Cancel%>" />
		</form>
	</div>
<% elseif step == 3 then %>
	<p><%_ The system is flashing now.<br />
		DO NOT POWER OFF THE DEVICE!<br />
		Wait a few minutes before you try to reconnect.
		It might be necessary to renew the address of your computer to reach the device
		again, depending on your settings. %></p>
		
	<iframe src="<%=REQUEST_URI%>?step=4&#38;keepcfg=<%=keepconfig and "1" or "0"%>" style="border:1px solid black; width:100%; height:150px"></iframe>
<% end %>
<%+footer%>

