fixes, fully translated tomato, with english dictionary and Polish translation
[tomato.git] / release / src / router / www / bwm-24.asp
blobea145abc48a45ca54d96bbdff68d20b275f34f40
1 <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0//EN'>
2 <!--
3 Tomato GUI
4 Copyright (C) 2006-2010 Jonathan Zarate
5 http://www.polarcloud.com/tomato/
7 For use with Tomato Firmware only.
8 No part of this file may be used without permission.
9 -->
10 <html>
11 <head>
12 <meta http-equiv='content-type' content='text/html;charset=utf-8'>
13 <meta name='robots' content='noindex,nofollow'>
14 <title>[<% ident(); %>] <% translate("Bandwidth"); %>: <% translate("Last 24 Hours"); %></title>
15 <link rel='stylesheet' type='text/css' href='tomato.css'>
16 <link rel='stylesheet' type='text/css' href='color.css'>
17 <script type='text/javascript' src='tomato.js'></script>
19 <!-- / / / -->
21 <style type='text/css'>
22 #txt {
23 width: 550px;
24 white-space: nowrap;
26 #bwm-controls {
27 text-align: right;
28 margin-right: 5px;
29 margin-top: 5px;
30 float: right;
31 visibility: hidden;
33 </style>
35 <script type='text/javascript' src='debug.js'></script>
37 <script type='text/javascript' src='wireless.jsx?_http_id=<% nv(http_id); %>'></script>
38 <script type='text/javascript' src='bwm-common.js'></script>
40 <script type='text/javascript'>
42 // <% nvram("wan_ifname,lan_ifname,wl_ifname,wan_proto,wan_iface,web_svg,rstats_enable,rstats_colors"); %>
44 var cprefix = 'bw_24';
45 var updateInt = 120;
46 var updateDiv = updateInt;
47 var updateMaxL = 720;
48 var updateReTotal = 1;
49 var hours = 24;
50 var lastHours = 0;
51 var debugTime = 0;
53 function showHours()
55 if (hours == lastHours) return;
56 showSelectedOption('hr', lastHours, hours);
57 lastHours = hours;
60 function switchHours(h)
62 if ((!svgReady) || (updating)) return;
64 hours = h;
65 updateMaxL = (720 / 24) * hours;
66 showHours();
67 loadData();
68 cookie.set(cprefix + 'hrs', hours);
71 var ref = new TomatoRefresh('update.cgi', 'exec=bandwidth&arg0=speed');
73 ref.refresh = function(text)
75 ++updating;
76 try {
77 this.refreshTime = 1500;
78 speed_history = {};
79 try {
80 eval(text);
81 if (rstats_busy) {
82 E('rbusy').style.display = 'none';
83 rstats_busy = 0;
85 this.refreshTime = (fixInt(speed_history._next, 1, 120, 60) + 2) * 1000;
87 catch (ex) {
88 speed_history = {};
90 if (debugTime) E('dtime').innerHTML = (new Date()) + ' ' + (this.refreshTime / 1000);
91 loadData();
93 catch (ex) {
94 // alert('ex=' + ex);
96 --updating;
99 ref.showState = function()
101 E('refresh-button').value = this.running ? '<% translate("Stop"); %>' : '<% translate("Start"); %>';
104 ref.toggleX = function()
106 this.toggle();
107 this.showState();
108 cookie.set(cprefix + 'refresh', this.running ? 1 : 0);
111 ref.initX = function()
113 var a;
115 a = fixInt(cookie.get(cprefix + 'refresh'), 0, 1, 1);
116 if (a) {
117 ref.refreshTime = 100;
118 ref.toggleX();
122 function init()
124 if (nvram.rstats_enable != '1') return;
126 try {
127 // <% bandwidth("speed"); %>
129 catch (ex) {
130 speed_history = {};
132 rstats_busy = 0;
133 if (typeof(speed_history) == 'undefined') {
134 speed_history = {};
135 rstats_busy = 1;
136 E('rbusy').style.display = '';
139 hours = fixInt(cookie.get(cprefix + 'hrs'), 1, 24, 24);
140 updateMaxL = (720 / 24) * hours;
141 showHours();
143 initCommon(1, 0, 0);
144 ref.initX();
146 </script>
148 </head>
149 <body onload='init()'>
150 <form>
151 <table id='container' cellspacing=0>
152 <tr><td colspan=2 id='header'>
153 <div class='title'>Tomato</div>
154 <div class='version'><% translate("Version"); %> <% version(); %></div>
155 </td></tr>
156 <tr id='body'><td id='navi'><script type='text/javascript'>navi()</script></td>
157 <td id='content'>
158 <div id='ident'><% ident(); %></div>
160 <!-- / / / -->
162 <div id='rstats'>
163 <div id='tab-area'></div>
165 <script type='text/javascript'>
166 if ((nvram.web_svg != '0') && (nvram.rstats_enable == '1')) {
167 // without a div, Opera 9 moves svgdoc several pixels outside of <embed> (?)
168 W("<div style='border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0;visibility:hidden;padding:0;margin:0' id='graph'><embed src='bwm-graph.svg?<% version(); %>' style='width:760px;height:300px;margin:0;padding:0' type='image/svg+xml' pluginspage='http://www.adobe.com/svg/viewer/install/'></embed></div>");
170 </script>
172 <div id='bwm-controls'>
173 <small>(<% translate("2 minute interval"); %>)</small><br>
174 <br>
175 <% translate("Hours"); %>:&nbsp;
176 <a href='javascript:switchHours(1);' id='hr1'>1</a>,
177 <a href='javascript:switchHours(2);' id='hr2'>2</a>,
178 <a href='javascript:switchHours(4);' id='hr4'>4</a>,
179 <a href='javascript:switchHours(6);' id='hr6'>6</a>,
180 <a href='javascript:switchHours(12);' id='hr12'>12</a>,
181 <a href='javascript:switchHours(18);' id='hr18'>18</a>,
182 <a href='javascript:switchHours(24);' id='hr24'>24</a><br>
183 <% translate("Avg"); %>:&nbsp;
184 <a href='javascript:switchAvg(1)' id='avg1'><% translate("Off"); %></a>,
185 <a href='javascript:switchAvg(2)' id='avg2'>2x</a>,
186 <a href='javascript:switchAvg(4)' id='avg4'>4x</a>,
187 <a href='javascript:switchAvg(6)' id='avg6'>6x</a>,
188 <a href='javascript:switchAvg(8)' id='avg8'>8x</a><br>
189 <% translate("Max"); %>:&nbsp;
190 <a href='javascript:switchScale(0)' id='scale0'><% translate("Uniform"); %></a>,
191 <a href='javascript:switchScale(1)' id='scale1'><% translate("Per IF"); %></a><br>
192 <% translate("Display"); %>:&nbsp;
193 <a href='javascript:switchDraw(0)' id='draw0'><% translate("Solid"); %></a>,
194 <a href='javascript:switchDraw(1)' id='draw1'><% translate("Line"); %></a><br>
195 <% translate("Color"); %>:&nbsp; <a href='javascript:switchColor()' id='drawcolor'>-</a><br>
196 <small><a href='javascript:switchColor(1)' id='drawrev'>[<% translate("reverse"); %>]</a></small><br>
197 <br><br>
198 &nbsp; &raquo; <a href="admin-bwm.asp"><% translate("Configure"); %></a>
199 </div>
201 <br><br>
202 <table border=0 cellspacing=2 id='txt'>
203 <tr>
204 <td width='8%' align='right' valign='top'><b style='border-bottom:blue 1px solid' id='rx-name'>RX</b></td>
205 <td width='15%' align='right' valign='top'><span id='rx-current'></span></td>
206 <td width='8%' align='right' valign='top'><b><% translate("Avg"); %></b></td>
207 <td width='15%' align='right' valign='top' id='rx-avg'></td>
208 <td width='8%' align='right' valign='top'><b><% translate("Peak"); %></b></td>
209 <td width='15%' align='right' valign='top' id='rx-max'></td>
210 <td width='8%' align='right' valign='top'><b><% translate("Total"); %></b></td>
211 <td width='14%' align='right' valign='top' id='rx-total'></td>
212 <td>&nbsp;</td>
213 </tr>
214 <tr>
215 <td width='8%' align='right' valign='top'><b style='border-bottom:blue 1px solid' id='tx-name'>TX</b></td>
216 <td width='15%' align='right' valign='top'><span id='tx-current'></span></td>
217 <td width='8%' align='right' valign='top'><b><% translate("Avg"); %></b></td>
218 <td width='15%' align='right' valign='top' id='tx-avg'></td>
219 <td width='8%' align='right' valign='top'><b><% translate("Peak"); %></b></td>
220 <td width='15%' align='right' valign='top' id='tx-max'></td>
221 <td width='8%' align='right' valign='top'><b><% translate("Total"); %></b></td>
222 <td width='14%' align='right' valign='top' id='tx-total'></td>
223 <td>&nbsp;</td>
224 </tr>
225 </table>
226 </div>
227 <br>
229 <script type='text/javascript'>
230 if (nvram.rstats_enable != '1') {
231 W('<div class="note-disabled"><% translate("Bandwidth monitoring disabled"); %>.</b><br><br><a href="admin-bwm.asp"><% translate("Enable"); %> &raquo;</a><div>');
232 E('rstats').style.display = 'none';
234 else {
235 W('<div class="note-warning" style="display:none" id="rbusy"><% translate("The rstats program is not responding or is busy. Try reloading after a few seconds"); %>.</div>');
237 </script>
239 <!-- / / / -->
241 </td></tr>
242 <tr><td id='footer' colspan=2>
243 <span id='dtime'></span>
244 <img src='spin.gif' id='refresh-spinner' onclick='debugTime=1'>
245 <input type='button' value='<% translate("Refresh"); %>' id='refresh-button' onclick='ref.toggleX()'>
246 </td></tr>
247 </table>
248 </form>
249 </body>
250 </html>