added a About window
[enigma2-plugins.git] / webinterface / src / web-data / templates.js
1 // EPG Templates
2 var tplUpdateStreamReaderIE = '<iframe id="UpdateStreamReaderIEFixIFrame" src="%(url_updates)" height="0" width="0" scrolling="none" frameborder="0">no iframe support!</iframe>';
3 var tplEPGListHeader = '<table width="100%" border="0" cellspacing="1" cellpadding="0">';
4
5 var tplEPGListItem  = '<tr style="background-color: #DDDDDD;">';
6         tplEPGListItem += '<td width="10%">%(date)</td>';
7         tplEPGListItem += '<td width="30%">%(servicename)</td>';
8         tplEPGListItem += '<td>%(title)</td>';
9         tplEPGListItem += '</tr>';
10         
11         tplEPGListItem += '<tr style="background-color: #DDDDDD;">';
12         tplEPGListItem += '<td>%(starttime)</td>';
13         tplEPGListItem += '<td>%(duration) min.</td>';
14         tplEPGListItem += '<td>%(description)</td>';
15         tplEPGListItem += '</tr>';
16         
17         tplEPGListItem += '<tr style="background-color: #DDDDDD;">';
18         tplEPGListItem += '<td valign="top">%(endtime)</td>';
19         tplEPGListItem += '<td colspan="2"rowspan="2" id="extdescription%(number)">%(extdescriptionSmall)</td>';
20         tplEPGListItem += '</tr>';
21         
22         tplEPGListItem +='<tr style="background-color: #DDDDDD;"><td>';
23         tplEPGListItem +='<a target="_blank" ><img src="/webdata/gfx/timer.png" title="add to Timers" border="0" onclick="addTimerByID(\'%(servicereference)\',\'%(eventid)\',\'False\');"></a>&nbsp;&nbsp;';
24         tplEPGListItem +='<a target="_blank" ><img src="/webdata/gfx/zap.png" title="add zap to Timers" border="0" onclick="addTimerByID(\'%(servicereference)\',\'%(servicename)\',\'%(eventid)\',\'True\');"></a>&nbsp;&nbsp;';
25         tplEPGListItem +='<a target="_blank" ><img src="/webdata/gfx/edit.gif" title="edit and add timer" border="0" onclick="loadTimerFormSeconds(0,\'%(start)\',\'%(end)\',0,\'%(servicereference)\',\'%(servicename)\',\'%(title)\',\'%(description)\',\'0\',0);"></a><br/>';
26         tplEPGListItem +='<a target="_blank" href="/web/epgsearch.rss?search=%(title)" ><img src="/webdata/gfx/feed.png" title="RSS-Feed for this Title" border="0"></a><br/>';
27         tplEPGListItem +='<a target="_blank" href="http://www.imdb.com/find?s=all&amp;q=%(titleESC)" ><img src="/webdata/gfx/world.png" title="search IMDb" border="0"></a><br/>';
28         tplEPGListItem +='</td></tr>';
29         
30         tplEPGListItem += '<tr style="background-color: #AAAAAA;">';
31         tplEPGListItem += '<td colspan="3">&nbsp;</td>';
32         tplEPGListItem += '</tr>';
33
34 var tplEPGListItemExtend  = '%(shortTxt) ...<a href="#" onclick="setComplete(\'extdescription%(number)\',\'%(txt)\');">more</a>';
35
36 var tplEPGListFooter = "</table>";
37         
38 // ServiceList Templates
39 var tplServiceListHeader  = '<table border="0" cellpadding="0" cellspacing="0" class="BodyContentChannellist">\n';
40         tplServiceListHeader += '<thead class="fixedHeader">\n';
41         tplServiceListHeader += '<tr>\n';
42         tplServiceListHeader += '<th><div class="sListHeader" style="color: #000000;">ServiceList</div>\n';
43         tplServiceListHeader += '<div class="sListSearch">';
44         tplServiceListHeader += '<form onSubmit="loadEPGBySearchString(document.getElementById(\'searchText\').value); return false;">';
45         tplServiceListHeader += '<input type="text" id="searchText" onfocus="this.value=\'\'" value="Search EPG"/>';
46         tplServiceListHeader += '<input style="vertical-align:middle" type="image" src="/webdata/gfx/search.png" alt="search...">';
47         tplServiceListHeader += '</form></div></th>';
48         tplServiceListHeader += '</tr>\n';
49         tplServiceListHeader += '</thead>\n';
50         tplServiceListHeader += '<tbody class="scrollContent">\n';
51
52 var tplServiceListItem  = '<tr id="%(servicereference)extend">\n';
53         tplServiceListItem += '<td style="border-top: 2px solid #AAA;" ><div class="sListSName"><a id="%(servicereference)" onclick="zap(this.id);" class="sListSLink">%(servicename)</a></div>';
54         tplServiceListItem += '<div class="sListExt"><a onclick="loadEPGByServiceReference(this.id)" id="%(servicereference)"><img src="/webdata/gfx/epg.png" border="0"/></a>\n';
55         tplServiceListItem += '<a target="_blank" href="/web/stream.m3u?ref=%(servicereference)"><img src="/webdata/gfx/screen.png" title="stream Service" border="0"></a></div>\n';
56         tplServiceListItem += '</tr>\n';
57     tplServiceListItem += '<tr>\n';
58         tplServiceListItem += '<td colspan="2"><div id="%(servicereference)EPGNOW"></div></td>\n';
59         tplServiceListItem += '</tr>\n';
60         
61 var tplServiceListFooter = "</tbody></table>\n";
62 //
63
64 var     tplServiceListEPGItem  = '<div class="sListEPGTime">%(starttime)</div>\n';
65         tplServiceListEPGItem += '<div class="sListEPGTitle">%(title)</div>\n';
66         tplServiceListEPGItem += '<div class="sListEPGDuration">%(length) Min.</div>\n';
67
68 // MovieList Templates
69 var tplMovieListHeader  = '<table border="0" cellpadding="0" cellspacing="0" class="BodyContentChannellist">\n';
70         tplMovieListHeader += '<thead class="fixedHeader">\n';
71         tplMovieListHeader += '<tr>\n';
72         tplMovieListHeader += '<th><div class="sListHeader" style="color: #000000;">MovieList</div>\n';
73         tplMovieListHeader += '<div class="sListSearch">';
74         tplMovieListHeader += '<form onSubmit="loadEPGBySearchString(document.getElementById(\'searchText\').value); return false;">';
75         tplMovieListHeader += '<input type="text" id="searchText" onfocus="this.value=\'\'" value="Search EPG"/>';
76         tplMovieListHeader += '<input style="vertical-align:middle" type="image" src="/webdata/gfx/search.png" alt="search...">';
77         tplMovieListHeader += '</form></div></th>';
78         tplMovieListHeader += '</tr>\n';
79         tplMovieListHeader += '</thead>\n';
80         tplMovieListHeader += '<tbody class="scrollContent">\n';
81
82 var tplMovieListItem  = '<tr>\n';
83         tplMovieListItem += '<td><div class="sListSName" title="%(description), %(descriptionextended)">%(title) (%(servicename))</div>';
84         tplMovieListItem += '<div class="sListExt">\n';
85         tplMovieListItem += '%(tags)\n';
86         tplMovieListItem += '<a target="_blank" href="/web/ts.m3u?file=%(filelink)"><img src="/webdata/gfx/screen.png" title="play file" border="0"></a>\n';
87         tplMovieListItem += '&nbsp;&nbsp;<a target="_blank" ><img src="/webdata/gfx/trash.gif" title="delete files" border="0" onclick="delMovieFile(\'%(filename)\');"></a>\n';
88         tplMovieListItem += '</div>\n';
89         tplMovieListItem += '</tr>\n';
90         
91 var tplMovieListFooter = "</tbody></table>\n";
92
93 // TimerList Templates
94 var tplTimerListHeader  = '<table border="0" height="100%" cellpadding="0" cellspacing="0" class="BodyContentChannellist">\n';
95         tplTimerListHeader += '<thead class="fixedHeader">\n';
96         tplTimerListHeader += '<tr>\n';
97         tplTimerListHeader += '<th><div class="sListHeader" style="color: #000000;">TimerList</div>\n';
98         tplTimerListHeader += '<div class="sListSearch">';
99         tplTimerListHeader += '<form onSubmit="loadEPGBySearchString(document.getElementById(\'searchText\').value); return false;">';
100         tplTimerListHeader += '<input type="text" id="searchText" onfocus="this.value=\'\'" value="Search EPG"/>';
101         tplTimerListHeader += '<input style="vertical-align:middle" type="image" src="/webdata/gfx/search.png" alt="search...">';
102         tplTimerListHeader += '</form></div></th>';
103         tplTimerListHeader += '</tr>\n';
104         tplTimerListHeader += '</thead>\n';
105         tplTimerListHeader += '<tbody class="scrollContent" height="100%">\n';
106         tplTimerListHeader += '<tr>';
107         tplTimerListHeader += '<td><div style="color: #%(color);" class="tListSName"><b>Channel</b><br/>Name</div></td>';
108 /*      tplTimerListHeader += '<td><div style="color: #%(color);" class="tListTitle"><b>Name</b></div></td>';*/
109 /*      tplTimerListHeader += '<td><div style="color: #%(color);" class="tListDescr"><b>Description</b></div></td>';*/
110         tplTimerListHeader += '<td><div style="color: #%(color);" class="tListRepeat"><b>Repeated</b></div></td>';
111         tplTimerListHeader += '<td><div style="color: #%(color);" class="tListDuration"><b>Time running</b></div></td>';
112         tplTimerListHeader += '<td><div style="color: #%(color);" class="tListBegin"><b>Start time</b></div></td>';
113         tplTimerListHeader += '<td><div style="color: #%(color);" class="tListEnd"><b>End time</b></div></td>';
114         tplTimerListHeader += '<td><div style="color: #%(color);" class="tListAfter"><b>Event</b><br/>After event</div></td>';
115         tplTimerListHeader += '<td><div style="color: #%(color);" class="tListOption"><b>Options</b></div></td></tr>\n';
116
117 var tplTimerListItem  = '<tr width="99%">\n';
118         tplTimerListItem += '<td><div style="color: #%(color);" class="tListSName" title="%(description), %(descriptionextended)"><b>%(servicename)</b> <br/><br/> %(title)</div></td>\n';
119         tplTimerListItem += '<td><div style="color: #%(color);" class="tListRepeat">%(repeatedReadable)</div></td>\n';
120         tplTimerListItem += '<td><div style="color: #%(color);" class="tListDuration">%(duration)&nbsp;Min</div></td>\n';
121         tplTimerListItem += '<td><div style="color: #%(color);" class="tListBegin">%(beginDate)</div></td>\n';
122         tplTimerListItem += '<td><div style="color: #%(color);" class="tListEnd">%(endDate)</div></td>\n';
123         tplTimerListItem += '<td><div style="color: #%(color);" class="tListAfter"><b>%(justplayReadable)</b> <br/><br/> %(aftereventReadable)</div></td>\n';
124         tplTimerListItem += '<td><div style="color: #%(color);" class="tListOption"><a target="_blank" ><img src="/webdata/gfx/trash.gif" title="delete timer entry" border="0" onclick="delTimer(\'%(servicereference)\',\'%(begin)\',\'%(end)\');"></a>\n';
125         tplTimerListItem += '<a target="_blank" ><img src="/webdata/gfx/%(onOff).png" title="toggle On/Off" border="0" onclick="sendToggleTimerDisable(\'%(justplay)\',\'%(begin)\',\'%(end)\',\'%(repeated)\',\'%(servicereference)\',\'%(title)\',\'%(description)\',\'%(afterevent)\',\'%(disabled)\' );"></a>\n';
126         tplTimerListItem += '<a target="_blank" ><img src="/webdata/gfx/edit.gif" title="edit timer entry" border="0" onclick="loadTimerFormSeconds(\'%(justplay)\',\'%(begin)\',\'%(end)\',\'%(repeated)\',\'%(servicereference)\',\'%(title)\',\'%(description)\',\'%(afterevent)\',1);"></a></div></td>\n';
127         tplTimerListItem += '</tr>\n';
128
129 var tplTimerListFooter  = '<tr><button onclick="writeTimerListNow()">write TimerList to memory now</button></tr>\n';
130     tplTimerListFooter += '</tbody></table>\n';
131
132 var tplRecordingFooter   = '<hr><br><table style="text-align: left; width: 100%; height: 178px;" border="0" cellpadding="2" cellspacing="2"><tbody>';
133     tplRecordingFooter  += '<tr><td style="vertical-align: top;">';
134     tplRecordingFooter  += '<input type="radio" id="recordNowNothing" name="recordNow" value="nothing" checked>';
135     tplRecordingFooter  += '</td><td style="vertical-align: top;">';
136     tplRecordingFooter  += 'Do nothing';
137     tplRecordingFooter  += '</td></tr>';
138     tplRecordingFooter  += '<tr><td style="vertical-align: top;">';
139     tplRecordingFooter  += '<input type="radio" id="recordNowUndefinitely" name="recordNow" value="undefinitely">';
140     tplRecordingFooter  += '</td><td style="vertical-align: top;">';
141     tplRecordingFooter  += 'record current playing undefinitely';
142     tplRecordingFooter  += '</td></tr>';
143     tplRecordingFooter  += '<tr><td style="vertical-align: top;">';
144     tplRecordingFooter  += '<input type="radio" id="recordNowCurrent" name="recordNow" value="recordCurrentEvent">';
145     tplRecordingFooter  += '</td><td style="vertical-align: top;">';
146     tplRecordingFooter  += 'record current event';
147     tplRecordingFooter  += '</td></tr>';
148         tplRecordingFooter  += '<tr><td style="vertical-align: top;">';
149         tplRecordingFooter  += '&nbsp;';
150     tplRecordingFooter  += '</td><td style="vertical-align: top;">';
151     tplRecordingFooter  += '<img src="/webdata/gfx/ok.jpg" title="OK" border="0" onclick="recordingPushedDecision(ifChecked($(\'recordNowNothing\')), ifChecked($(\'recordNowUndefinitely\')), ifChecked($(\'recordNowCurrent\')) );window.close()">';
152     tplRecordingFooter  += '</td></tr>';
153     tplRecordingFooter  += '</tbody></table>';
154
155 // Bouquetlist Template
156 var tplBouquetListHeader = '<table id="BouquetList" width="100%" border="0" cellspacing="1" cellpadding="0" border="0">';
157
158 var tplBouquetListItem  = '<tr>\n';
159         tplBouquetListItem += '<td><div class="navMenuItem" id="%(servicereference)" onclick="loadBouquet(this.id);">%(bouquetname)</div></td>';
160         tplBouquetListItem += '</tr>\n';
161
162 var tplBouquetListFooter = "</table>";
163
164 //Volume Template
165 var tplVolumePanel  = "<img onclick='volumeUp()' src='/webdata/gfx/arrow_up.png'>"; 
166         tplVolumePanel += "<img onclick='volumeDown()' src='/webdata/gfx/arrow_down.png'>"; 
167         tplVolumePanel += "<img id='volume1' onclick='volumeSet(10)' src='/webdata/gfx/led_off.png'>"; 
168         tplVolumePanel += "<img id='volume2' onclick='volumeSet(20)' src='/webdata/gfx/led_off.png'>"; 
169         tplVolumePanel += "<img id='volume3' onclick='volumeSet(30)' src='/webdata/gfx/led_off.png'>"; 
170         tplVolumePanel += "<img id='volume4' onclick='volumeSet(40)' src='/webdata/gfx/led_off.png'>"; 
171         tplVolumePanel += "<img id='volume5' onclick='volumeSet(50)' src='/webdata/gfx/led_off.png'>"; 
172         tplVolumePanel += "<img id='volume6' onclick='volumeSet(60)' src='/webdata/gfx/led_off.png'>"; 
173         tplVolumePanel += "<img id='volume7' onclick='volumeSet(70)' src='/webdata/gfx/led_off.png'>"; 
174         tplVolumePanel += "<img id='volume8' onclick='volumeSet(80)' src='/webdata/gfx/led_off.png'>"; 
175         tplVolumePanel += "<img id='volume9' onclick='volumeSet(90)' src='/webdata/gfx/led_off.png'>"; 
176         tplVolumePanel += "<img id='volume10' onclick='volumeSet(100)' src='/webdata/gfx/led_off.png'>"; 
177         tplVolumePanel += "<img id='speaker' onclick='volumeMute()' src='/webdata/gfx/speak_on.png'>";
178         
179 //Signal Template
180 var tplSignalPanel  = '<table width="100%" id="SignalPanelTable">';
181         tplSignalPanel += '<tr><td style="background-color: #DDDDDD;">SNR</td><td width="50" style="background-color: #DDDDDD;"><div id="SNR">N/A</div></td></tr>';
182         tplSignalPanel += '<tr><td style="background-color: #DDDDDD;">AGC</td><td width="50" style="background-color: #DDDDDD;"><div id="AGC">N/A</div></td></tr>';
183         tplSignalPanel += '<tr><td style="background-color: #DDDDDD;">BER</td><td width="50" style="background-color: #DDDDDD;"><div id="BER">N/A</div></td></tr>';
184         tplSignalPanel += '</table>';
185         
186 var tplSignalPanelButton = '<img src="/webdata/gfx/signal.png" title="show SignalInfoPanel" onclick="openSignalDialog();" title="view Signal Info">';
187
188 // Message send
189 var tplMessageSendForm = ""
190         tplMessageSendForm += '<table id="MessageSendForm" width="100%" border="0" cellspacing="1" cellpadding="0" border="0">';
191         tplMessageSendForm += '<tr><td>Text</td><td><input type="text" id="MessageSendFormText" value=""></td></tr>\n';
192         tplMessageSendForm += '<tr><td>Timeout</td><td><input type="text" id="MessageSendFormTimeout" value=""></td></tr>\n';
193         tplMessageSendForm += '<tr><td>Typ</td><td><select id="MessageSendFormType">';
194         tplMessageSendForm += '<option value="1">Info</option>';
195         tplMessageSendForm += '<option value="0">YesNo</option>';
196         tplMessageSendForm += '<option value="2">Warning</option>';
197         tplMessageSendForm += '<option value="3">Error</option>';
198         tplMessageSendForm += '</select></td></tr>\n';
199         tplMessageSendForm += '<tr><td colspan="2"><button onclick="sendMessage()">send Message</button></td></tr>\n';
200         tplMessageSendForm += "</table></form>\n";
201
202 var tplPowerStateSendForm = '';
203     tplPowerStateSendForm += '<hr>';
204     tplPowerStateSendForm += '<p><center><button onclick="sendPowerState(1)">deepstandby Dreambox</button></center></p>';
205     tplPowerStateSendForm += '<p><center><button onclick="sendPowerState(2)">reboot Dreambox</button></center></p>';
206     tplPowerStateSendForm += '<hr>';
207     tplPowerStateSendForm += '<p><center><button onclick="sendPowerState(3)">restart Enigma2</button></center></p>';
208 //Something is not working here, so I will do a quickhack
209 //    tplPowerStateSendForm += '<p><center><button onclick="sendPowerState(4)">standby Enigma2</button></center></p>';
210         tplPowerStateSendForm += '<p><center><button onclick="sendRemoteControlRequest(116)">toggle standby Enigma2</button></center></p>';
211
212 // Template for the RemoteControl Window
213 var tplRemoteControlForm = '';
214         tplRemoteControlForm += '<map name="remotecontrol">';
215         tplRemoteControlForm += '<area shape="circle" coords="129, 54, 10" href="#" onclick="sendRemoteControlRequest(116)" alt="Power">';
216 //      tplRemoteControlForm += '<area shape="circle" coords="72, 95, 15" href="#" alt="Dream message">';
217 //      tplRemoteControlForm += '<area shape="circle" coords="130, 95, 15" href="#" alt="TV Screenshot">';
218         tplRemoteControlForm += '<area shape="circle" coords="63, 123, 10" href="#" onclick="sendRemoteControlRequest(2)" alt="1">';
219         tplRemoteControlForm += '<area shape="circle" coords="109, 123, 10" href="#" onclick="sendRemoteControlRequest(3)" alt="2">';
220         tplRemoteControlForm += '<area shape="circle" coords="153, 123, 10" href="#" onclick="sendRemoteControlRequest(4)" alt="3">';
221         tplRemoteControlForm += '<area shape="circle" coords="63, 148, 10" href="#" onclick="sendRemoteControlRequest(5)" alt="4">';
222         tplRemoteControlForm += '<area shape="circle" coords="109, 148, 10" href="#" onclick="sendRemoteControlRequest(6)" alt="5">';
223         tplRemoteControlForm += '<area shape="circle" coords="153, 148, 10" href="#" onclick="sendRemoteControlRequest(7)" alt="6">';
224         tplRemoteControlForm += '<area shape="circle" coords="63, 173, 10" href="#" onclick="sendRemoteControlRequest(8)" alt="7">';
225         tplRemoteControlForm += '<area shape="circle" coords="109, 173, 10" href="#" onclick="sendRemoteControlRequest(9)" alt="8">';
226         tplRemoteControlForm += '<area shape="circle" coords="153, 173, 10" href="#" onclick="sendRemoteControlRequest(10)" alt="9">';
227         tplRemoteControlForm += '<area shape="circle" coords="63, 197, 10" href="#" onclick="sendRemoteControlRequest(412)" alt="previous">';
228         tplRemoteControlForm += '<area shape="circle" coords="109, 197, 10" href="#" onclick="sendRemoteControlRequest(11)" alt="0">';
229         tplRemoteControlForm += '<area shape="circle" coords="153, 197, 10" href="#" onclick="sendRemoteControlRequest(407)" alt="next">';
230         tplRemoteControlForm += '<area shape="circle" coords="54, 243, 15" href="#" onclick="sendRemoteControlRequest(115)" alt="volume up">';
231         tplRemoteControlForm += '<area shape="circle" coords="107, 233, 10" href="#" onclick="sendRemoteControlRequest(113)" alt="mute">';
232         tplRemoteControlForm += '<area shape="circle" coords="159, 243, 15" href="#" onclick="sendRemoteControlRequest(402)" alt="bouquet up">';
233         tplRemoteControlForm += '<area shape="circle" coords="66, 274, 15" href="#" onclick="sendRemoteControlRequest(114)" alt="volume down">';
234         tplRemoteControlForm += '<area shape="circle" coords="107, 258, 10" href="#" onclick="sendRemoteControlRequest(174)" alt="lame">';
235         tplRemoteControlForm += '<area shape="circle" coords="147, 274, 15" href="#" onclick="sendRemoteControlRequest(403)" alt="bouquet down">';
236         tplRemoteControlForm += '<area shape="circle" coords="48, 306, 10" href="#" onclick="sendRemoteControlRequest(358)" alt="info">';
237         tplRemoteControlForm += '<area shape="circle" coords="106, 310, 15" href="#" onclick="sendRemoteControlRequest(103)" alt="up">';
238         tplRemoteControlForm += '<area shape="circle" coords="167, 306, 10" href="#" onclick="sendRemoteControlRequest(139)" alt="menu">';
239         tplRemoteControlForm += '<area shape="circle" coords="70, 343, 15" href="#" onclick="sendRemoteControlRequest(105)" alt="left">';
240     tplRemoteControlForm += '<area shape="circle" coords="108, 340, 15" href="#" onclick="sendRemoteControlRequest(352)" alt="OK">';
241         tplRemoteControlForm += '<area shape="circle" coords="146, 343, 15" href="#" onclick="sendRemoteControlRequest(106)" alt="right">';
242         tplRemoteControlForm += '<area shape="circle" coords="53, 381, 10" href="#" onclick="sendRemoteControlRequest(392)" alt="audio">';
243         tplRemoteControlForm += '<area shape="circle" coords="106, 374, 15" href="#" onclick="sendRemoteControlRequest(108)" alt="down">';
244         tplRemoteControlForm += '<area shape="circle" coords="162, 381, 10" href="#" onclick="sendRemoteControlRequest(393)" alt="video">';
245         tplRemoteControlForm += '<area shape="circle" coords="56, 421, 10" href="#" onclick="sendRemoteControlRequest(398)" alt="red">';
246         tplRemoteControlForm += '<area shape="circle" coords="90, 422, 10" href="#" onclick="sendRemoteControlRequest(399)" alt="green">';
247         tplRemoteControlForm += '<area shape="circle" coords="123, 422, 10" href="#" onclick="sendRemoteControlRequest(400)" alt="yellow">';
248         tplRemoteControlForm += '<area shape="circle" coords="158, 421, 10" href="#" onclick="sendRemoteControlRequest(401)" alt="blue">';
249         tplRemoteControlForm += '<area shape="circle" coords="61, 460, 10" href="#" onclick="sendRemoteControlRequest(377)" alt="tv">';
250         tplRemoteControlForm += '<area shape="circle" coords="90, 461, 10" href="#" onclick="sendRemoteControlRequest(385)" alt="radio">';
251         tplRemoteControlForm += '<area shape="circle" coords="123, 461, 10" href="#" onclick="sendRemoteControlRequest(388)" alt="text">';
252         tplRemoteControlForm += '<area shape="circle" coords="153, 460, 10" href="#" onclick="sendRemoteControlRequest(138)" alt="help">';
253     tplRemoteControlForm += '</map>';
254         tplRemoteControlForm += '<img src="/webdata/gfx/remotecontrol.jpg" height="607" width="220" border="0)" alt="Remote Control" usemap="#remotecontrol">';
255         
256 var tplAddTimerForm = '';
257         tplAddTimerForm += '<table border=0 cellpadding=0 cellspacing=10>';
258         tplAddTimerForm += '<tr><td colspan="3">Action:</td>';
259         tplAddTimerForm += '<td colspan="3">';
260         tplAddTimerForm += '<select name="justplay" id="justplay" size="1">';
261         tplAddTimerForm += '%(justplay)';
262         tplAddTimerForm += '</select></td></tr>';
263         tplAddTimerForm += '<tr><td colspan="3">&nbsp;</td>';
264         tplAddTimerForm += '<td colspan="3">Note: For recurring events start/end day/month are not required.</td></tr>';
265         tplAddTimerForm += '<tr><td colspan="3">Start:</td>';
266         tplAddTimerForm += '<td colspan="3"><select name="syear" size="1" id="syear" onchange="javascript:addTimerFormChangeTime(\'syear\');">%(syear)</select>.';
267         tplAddTimerForm += '<select name="smonth" id="smonth" size="1" onchange="javascript:addTimerFormChangeTime(\'smonth\');">%(smonth)</select>.';
268         tplAddTimerForm += '<select name="sday" id="sday" size="1" onchange="javascript:addTimerFormChangeTime(\'sday\');">%(sday)</select>';
269         tplAddTimerForm += '&nbsp;-&nbsp;<select name="shour" id="shour" size="1" onchange="javascript:addTimerFormChangeTime(\'shour\');">%(shour)</select>';
270         tplAddTimerForm += ':<select name="smin" id="smin" size="1" onchange="javascript:addTimerFormChangeTime(\'smin\');">%(smin)</select></td></tr>';
271         tplAddTimerForm += '<tr><td colspan="3">End:</td>';
272         tplAddTimerForm += '<td colspan="3"><select name="eyear" id="eyear" size="1" onchange="javascript:addTimerFormChangeTime(\'eyear\');">%(eyear)</select>.';
273         tplAddTimerForm += '<select name="emonth" id="emonth" size="1" onchange="javascript:addTimerFormChangeTime(\'emonth\');">%(emonth)</select>.';
274         tplAddTimerForm += '<select name="eday" id="eday" size="1" onchange="javascript:addTimerFormChangeTime(\'eday\');">%(eday)</select>';
275         tplAddTimerForm += '&nbsp;-&nbsp;<select name="ehour" id="ehour" size="1" onchange="javascript:addTimerFormChangeTime(\'ehour\');">%(ehour)</select>';
276         tplAddTimerForm += ':<select name="emin" id="emin" size="1" onchange="javascript:addTimerFormChangeTime(\'emin\');">%(emin)</select></td></tr>';
277         tplAddTimerForm += '<tr><td colspan="3">&nbsp;</td><td colspan="3">Note: For one-time events the "days" field doesn\'t have to be specified.</td></tr>';
278         tplAddTimerForm += '<tr><td colspan="3">Days:</td><td colspan="3">%(repeated)';
279         tplAddTimerForm += '<tr><td colspan="3">Channel:</td><td>';
280         tplAddTimerForm += '<p><input type="radio" id="tvradio" name="tvradio" value="tv" checked onchange="javascript:addTimerFormChangeType();"">TV</p>';
281         tplAddTimerForm += '<p><input type="radio" name="tvradio" value="radio" onchange="javascript:addTimerFormChangeType();">Radio</p><td>';
282         tplAddTimerForm += '<p>Channel:</p>';
283         tplAddTimerForm += '<select name="channel" id="channel" size="1" onchange="timerFormExtendChannellist($(\'channel\').options[$(\'channel\').selectedIndex].value)">%(channel)</select></td></tr>';
284         tplAddTimerForm += '<tr><td colspan="3">Name:</td>';
285         tplAddTimerForm += '<td colspan="3"><input name="name" id="name" type="text" size="100" maxlength="100" style="color: #000000;" value="%(name)"></td></tr>';
286         tplAddTimerForm += '<tr><td colspan="3">Description:</td>';
287         tplAddTimerForm += '<td colspan="3"><input name="descr" id="descr" type="text" size="100" maxlength="100" style="color: #000000;" value="%(description)"></td></tr>';
288         tplAddTimerForm += '<tr><td colspan="3">After event do:</td>';
289         tplAddTimerForm += '<td colspan="3"><select id="after_event" name="after_event" size="1">%(afterEvent)</select></td></tr>';
290         tplAddTimerForm += '<tr>&nbsp;&nbsp;</tr>';
291         tplAddTimerForm += '<tr><td colspan="3">&nbsp;</td><td colspan="3">';
292         tplAddTimerForm += '<input name="deleteOldOnSave" id="deleteOldOnSave" type="hidden" value="%(deleteOldOnSave)">';
293         tplAddTimerForm += '<input name="channelOld" id="channelOld" type="hidden" value="%(channelOld)">';
294         tplAddTimerForm += '<input name="beginOld" id="beginOld" type="hidden" value="%(beginOld)">';
295         tplAddTimerForm += '<input name="endOld" id="endOld" type="hidden" value="%(endOld)">';
296         tplAddTimerForm +=      '<button onclick="sendAddTimer()">Add/Save</button></td></tr></table>';
297
298 var tplAddTimerFormOptions = '';
299         tplAddTimerFormOptions += '<option value="%(value)" %(selected)>%(txt)</option>';
300         
301 var tplAddTimerFormCheckbox = '';
302         tplAddTimerFormCheckbox += '<input type="checkbox" id="%(id)" name="%(name)" value="%(value)" %(checked)>&nbsp;%(txt)&nbsp;&nbsp;';
303
304 //      <input type="checkbox" id="'+ Repeated[String(list[i])] +'" name="'+ Repeated[String(list[i])] +'" value="'+ list[i] +'" checked>&nbsp;'+ txt +'&nbsp;&nbsp;' + html2;
305
306 var tplEMUPageHeader  = '<table border="0" cellpadding="0" cellspacing="0" class="BodyContentChannellist">\n';
307         tplEMUPageHeader += '<thead class="fixedHeader">\n';
308         tplEMUPageHeader += '<tr>\n';
309         tplEMUPageHeader += '<th><div class="sListHeader" style="color: #000000;">EMU Overview</div>\n';
310         tplEMUPageHeader += '<div class="sListSearch">';
311         tplEMUPageHeader += '<form onSubmit="loadEPGBySearchString(document.getElementById(\'searchText\').value); return false;">';
312         tplEMUPageHeader += '<input type="text" id="searchText" onfocus="this.value=\'\'" value="Search EPG"/>';
313         tplEMUPageHeader += '<input style="vertical-align:middle" type="image" src="/webdata/gfx/search.png" alt="search...">';
314         tplEMUPageHeader += '</form></div></th>';
315         tplEMUPageHeader += '</tr>\n';
316         tplEMUPageHeader += '</thead>\n';
317         tplEMUPageHeader += '<tbody class="scrollContent">\n';
318
319 var tplEMUPageItem  = '<tr width="99%">\n';
320         tplEMUPageItem += '<td><divclass="tListSName" title="%(status), %(file)"><b>%(name)</b></div></td>\n';
321         tplEMUPageItem += '<td><div class="tListAfter"></div>%(action)</td>\n';
322         tplEMUPageItem += '<td><div class="tListOption"></div></td>\n';
323         tplEMUPageItem += '</tr>\n';
324
325 var tplEMUPageOnOff = '<img src="/webdata/gfx/%(onOff).png" title="toggle On/Off" border="0" onclick="emuChangeStatus(\'%(onOff)\',\'%(file)\');"> / <a onclick="emuChangeStatus(\'restart\',\'%(file)\');">Restart</a>\n';
326 var tplEMUPageNameLink = '<a target="_blank" href="%(link)">%(name)</a>\n';
327
328 var tplEMUPageFooter = "</tbody></table>\n";
329
330 var tplAbout  = '<table align="center" border="0" width="80%">';
331     tplAbout += '<tr><td align="left" width="50%" valign="top">';
332     tplAbout += '<table align="center" border="0" width="100%">';
333     tplAbout += '<tr><td align="left"></br></td></tr>';
334     tplAbout += '<tr><td align="left"><b>Box Info:</b></td></tr>';
335     tplAbout += '<tr><td align="left">%(enigmaVersion)</td></tr>';
336     tplAbout += '<tr><td align="left">%(fpVersion)</td></tr>';
337     tplAbout += '<tr><td align="left"></br></td></tr>';
338     tplAbout += '<tr><td align="left">%(tunerInfo)</td></tr>';
339     tplAbout += '<tr><td align="left"></br></td></tr>';
340     tplAbout += '<tr><td align="left">%(hddInfo)</td></tr>';
341     tplAbout += '<tr><td align="left"></br></td></tr>';
342     tplAbout += '<tr><td align="left"><b>LAN Info:</b></td></tr>';
343     tplAbout += '<tr><td align="left">%(lanDHCP)</td></tr>';
344     tplAbout += '<tr><td align="left">%(lanIP)</td></tr>';
345     tplAbout += '<tr><td align="left">%(lanMask)</td></tr>';
346     tplAbout += '<tr><td align="left">%(lanGW)</td></tr>';
347     tplAbout += '<tr><td align="left">%(lanDNS)</td></tr>\n';
348     tplAbout += '</table></td>\n';
349     tplAbout += '<td align="left" width="50%" valign="top">';
350     tplAbout += '<table align="center" border="0" width="100%">';
351     tplAbout += '<tr><td align="left"></br></td></tr>\n';
352     tplAbout += '<tr><td align="left"><b>Service Info:</b></td></tr>\n';
353     tplAbout += '<tr><td align="left">Name: %(serviceName)</td></tr>\n';
354     tplAbout += '<tr><td align="left">Provider: %(serviceProvider)</td></tr>\n';
355     tplAbout += '<tr><td align="left">Videoformat: %(serviceAspect)</td></tr>\n';
356     tplAbout += '<tr><td align="left">Namespace: %(serviceNamespace)</td></tr>\n';
357     tplAbout += '<tr><td align="left"></br></td></tr>\n';
358     tplAbout += '<tr><td align="left"><b>PIDs:</b></td></tr>\n';
359     tplAbout += '<tr><td align="left">VideoPID: %(vPIDh) (%(vPID)d)</td></tr>\n';
360     tplAbout += '<tr><td align="left">AudioPID: %(aPIDh) (%(aPID)d)</td></tr>\n';
361     tplAbout += '<tr><td align="left">PCRPID: %(pcrIDh) (%(pcrID)d)</td></tr>\n';
362     tplAbout += '<tr><td align="left">PMTPID: %(pmtPIDh) (%(pmtPID)d)</td></tr>\n';
363     tplAbout += '<tr><td align="left">TXTPID: %(txtPIDh) (%(txtPID)d)</td></tr>\n';
364     tplAbout += '<tr><td align="left">TSID: %(tsIDh) (%(tsID)d)</td></tr>\n';
365     tplAbout += '<tr><td align="left">ONID: %(onIDh) (%(onID)d)</td></tr>\n';
366     tplAbout += '<tr><td align="left">SID: %(sidh) (%(sid)d)</td></tr>\n';
367     tplAbout += '</table>'