3 var tplUpdateStreamReaderIE = '<iframe id="UpdateStreamReaderIEFixIFrame" src="%(url_updates)" height="0" width="0" scrolling="none" frameborder="0">no iframe support!</iframe>';
4 var tplEPGListHeader = '<table width="100%" border="0" cellspacing="1" cellpadding="0">';
6 var tplEPGListItem = '<tr style="background-color: #DDDDDD;">';
7 tplEPGListItem += '<td width="10%">%(date)</td>';
8 tplEPGListItem += '<td width="30%">%(servicename)</td>';
9 tplEPGListItem += '<td>%(title)</td>';
10 tplEPGListItem += '</tr>';
12 tplEPGListItem += '<tr style="background-color: #DDDDDD;">';
13 tplEPGListItem += '<td>%(starttime)</td>';
14 tplEPGListItem += '<td>%(duration) min.</td>';
15 tplEPGListItem += '<td>%(description)</td>';
16 tplEPGListItem += '</tr>';
18 tplEPGListItem += '<tr style="background-color: #DDDDDD;">';
19 tplEPGListItem += '<td valign="top">%(endtime)</td>';
20 tplEPGListItem += '<td colspan="2"rowspan="2" id="extdescription%(number)">%(extdescriptionSmall)</td>';
21 tplEPGListItem += '</tr>';
23 tplEPGListItem +='<tr style="background-color: #DDDDDD;"><td>';
24 tplEPGListItem +='<a target="_blank" ><img src="/webdata/gfx/timer.png" title="add to Timers" border="0" onclick="addTimerByID(\'%(servicereference)\',\'%(eventid)\',\'0\');"></a> ';
25 tplEPGListItem +='<a target="_blank" ><img src="/webdata/gfx/zap.png" title="add zap to Timers" border="0" onclick="addTimerByID(\'%(servicereference)\',\'%(eventid)\',\'1\');"></a> ';
26 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,\'%(eventid)\');"></a><br/>';
27 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/>';
28 tplEPGListItem +='<a target="_blank" href="http://www.imdb.com/find?s=all&q=%(titleESC)" ><img src="/webdata/gfx/world.png" title="search IMDb" border="0"></a><br/>';
29 tplEPGListItem +='</td></tr>';
30 tplEPGListItem += '<tr style="background-color: #AAAAAA;">';
31 tplEPGListItem += '<td colspan="3"> </td>';
32 tplEPGListItem += '</tr>';
34 var tplEPGListItemExtend = '%(shortTxt) ...<a nohref onclick="setComplete(\'extdescription%(number)\',\'%(txt)\');">more</a>';
36 var tplEPGListFooter = "</table>";
38 // ServiceList Templates
39 var tplServiceListHeader = '<div class="BodyContentChannellist">\n';
40 tplServiceListHeader += '<table border="0" cellpadding="0" cellspacing="0" class="BodyContentChannellist">\n';
41 tplServiceListHeader += '<thead class="fixedHeader">\n';
42 tplServiceListHeader += '<tr>\n';
43 tplServiceListHeader += '<th><div class="sListHeader">ServiceList</div>\n';
44 tplServiceListHeader += '<div class="sListSearch">';
45 tplServiceListHeader += '<form onSubmit="loadEPGBySearchString(document.getElementById(\'searchText\').value); return false;">';
46 tplServiceListHeader += '<input type="text" id="searchText" onfocus="this.value=\'\'" value="Search EPG"/>';
47 tplServiceListHeader += '<input style="vertical-align:middle" type="image" src="/webdata/gfx/search.png" alt="search...">';
48 tplServiceListHeader += '</form></div></th>';
49 tplServiceListHeader += '</tr>\n';
50 tplServiceListHeader += '</thead>\n';
51 tplServiceListHeader += '<tbody class="scrollContent">\n';
52 tplServiceListHeader += '<input type="hidden" id="mainServiceRef" name="mainServiceRef" value="%(mainServiceRef)">\n';
54 var tplServiceListItem = '<tr id="%(servicereference)extend">\n';
55 tplServiceListItem += '<td style="border-top: 2px solid #AAA;" ><div class="sListSName"><span id="%(servicereference)" onclick="zap(this.id);" class="sListSLink">%(servicename)</span></div>';
56 tplServiceListItem += '<div class="sListExt"><a onclick="loadEPGByServiceReference(this.id)" id="%(servicereference)"><img src="/webdata/gfx/epg.png" border="0"/></a>\n';
57 tplServiceListItem += '<a target="_blank" href="/web/stream.m3u?ref=%(servicereference)"><img src="/webdata/gfx/screen.png" title="stream Service" border="0"></a></div>\n';
58 tplServiceListItem += '</tr>\n';
59 tplServiceListItem += '<tr>\n';
60 tplServiceListItem += '<td colspan="2"><div id="%(servicereference)EPGNOW"></div></td>\n';
61 tplServiceListItem += '</tr>\n';
63 var tplServiceListFooter = "</tbody>\n</table>\n</div>\n";
65 var tplServiceListEPGItem = '<div class="sListEPGTime">%(starttime)</div>\n';
66 tplServiceListEPGItem += '<div class="sListEPGTitle">%(title)</div>\n';
67 tplServiceListEPGItem += '<div class="sListEPGDuration">%(length) Min.</div>\n';
69 // MovieList Templates
70 var tplMovieListHeader = '<div class="BodyContentChannellist">\n';
71 tplMovieListHeader += '<table border="0" cellpadding="0" cellspacing="0" class="BodyContentChannellist">\n';
72 tplMovieListHeader += '<thead class="fixedHeader">\n';
73 tplMovieListHeader += '<tr>\n';
74 tplMovieListHeader += '<th colspan="2"><div class="sListHeader">MovieList</div>\n';
75 tplMovieListHeader += '<div class="sListSearch">';
76 tplMovieListHeader += '<form onSubmit="loadMovieList(document.getElementById(\'filterMovietag\').value); return false;">';
77 tplMovieListHeader += '<input type="text" id="filterMovietag" onfocus="this.value=\'\'" value="filter by Tag"/>';
78 tplMovieListHeader += '<input style="vertical-align:middle" type="image" src="/webdata/gfx/search.png" alt="search...">';
79 tplMovieListHeader += '</form></div></th>';
80 tplMovieListHeader += '</tr>\n';
81 tplMovieListHeader += '</thead>\n';
82 tplMovieListHeader += '<tbody class="scrollContent">\n';
84 var tplMovieListItem = '<tr>\n';
85 tplMovieListItem += '<td><div class="movieListName" title="%(description), %(descriptionextended)" onClick="$(\'moviedetails_%(servicereference)\').toggle();">%(title) (%(servicename))</div>';
86 tplMovieListItem += '<div class="movieListExt">\n';
87 tplMovieListItem += '<a target="_blank" href="/web/ts.m3u?file=%(filelink)"><img src="/webdata/gfx/screen.png" title="play file" border="0"></a>\n';
88 tplMovieListItem += ' <a target="_blank" href="/file/?file=%(filelink)&root=/hdd/movie/"><img src="/webdata/gfx/save.png" title="download Movie" border="0"></a>\n';
89 tplMovieListItem += ' <a target="_blank" ><img src="/webdata/gfx/trash.gif" title="delete files" border="0" onclick="delMovieFile(\'%(filename)\',\'%(servicename)\',\'%(title)\',\'%(description)\');"></a>\n';
90 tplMovieListItem += '</div>\n';
91 tplMovieListItem += '<div id="moviedetails_%(servicereference)" style="display:none;">\n';
92 tplMovieListItem += '<table class="movieDetails">\n';
93 tplMovieListItem += '<tr>\n';
94 tplMovieListItem += '<td class="movieElementLeft">Details:</td>\n';
95 tplMovieListItem += '<td class="movieElementRight">%(description) </td>\n';
96 tplMovieListItem += '</tr>\n';
97 tplMovieListItem += '<tr>\n';
98 tplMovieListItem += '<td class="movieElementLeft">Extended:</td>\n';
99 tplMovieListItem += '<td class="movieElementRight">%(descriptionextended) </td>\n';
100 tplMovieListItem += '</tr>\n';
101 tplMovieListItem += '<tr>\n';
102 tplMovieListItem += '<td class="movieElementLeft">Date/Time:</td>\n';
103 tplMovieListItem += '<td class="movieElementRight">%(time) </td>\n';
104 tplMovieListItem += '</tr>\n';
105 tplMovieListItem += '<tr>\n';
106 tplMovieListItem += '<td class="movieElementLeft">Length:</td>\n';
107 tplMovieListItem += '<td class="movieElementRight">%(length) </td>\n';
108 tplMovieListItem += '</tr>\n';
109 tplMovieListItem += '<tr>\n';
110 tplMovieListItem += '<td class="movieElementLeft">Tags:</td>\n';
111 tplMovieListItem += '<td class="movieElementRight">%(tags) </td>\n';
112 tplMovieListItem += '</tr>\n';
113 tplMovieListItem += '</table>\n';
114 tplMovieListItem += '</div>\n';
115 tplMovieListItem += '</tr>\n';
117 var tplMovieListFooter = "</tbody></table>\n</div>\n";
119 // TimerList Templates
120 var tplTimerListHeader = '<div class="BodyContentChannellist">\n';
121 tplTimerListHeader += '<table border="0" cellpadding="0" cellspacing="0" class="BodyContentChannellist">\n';
122 tplTimerListHeader += '<thead class="fixedHeader">\n';
123 tplTimerListHeader += '<tr>\n';
124 tplTimerListHeader += '<th colspan="7"><div class="sListHeader">TimerList</div>\n';
125 tplTimerListHeader += '<div class="sListSearch">';
126 tplTimerListHeader += '<form onSubmit="loadEPGBySearchString(document.getElementById(\'searchText\').value); return false;">';
127 tplTimerListHeader += '<input type="text" id="searchText" onfocus="this.value=\'\'" value="Search EPG"/>';
128 tplTimerListHeader += '<input style="vertical-align:middle" type="image" src="/webdata/gfx/search.png" alt="search...">';
129 tplTimerListHeader += '</form></div></th>';
130 tplTimerListHeader += '</tr>\n';
131 tplTimerListHeader += '</thead>\n';
132 tplTimerListHeader += '<tbody class="scrollContent" height="100%">\n';
133 tplTimerListHeader += '<tr>';
134 tplTimerListHeader += '<td><div style="color: #00BCBC;" class="tListSName"><b>Channel</b><br/>Name</div></td>';
135 /* tplTimerListHeader += '<td><div style="color: #00BCBC;" class="tListTitle"><b>Name</b></div></td>';*/
136 /* tplTimerListHeader += '<td><div style="color: #00BCBC;" class="tListDescr"><b>Description</b></div></td>';*/
137 tplTimerListHeader += '<td><div style="color: #00BCBC;" class="tListRepeat"><b>Repeated</b></div></td>';
138 tplTimerListHeader += '<td><div style="color: #00BCBC;" class="tListDuration"><b>Time running</b></div></td>';
139 tplTimerListHeader += '<td><div style="color: #00BCBC;" class="tListBegin"><b>Start time</b></div></td>';
140 tplTimerListHeader += '<td><div style="color: #00BCBC;" class="tListEnd"><b>End time</b></div></td>';
141 tplTimerListHeader += '<td><div style="color: #00BCBC;" class="tListAfter"><b>Event</b><br/>After event</div></td>';
142 tplTimerListHeader += '<td><div style="color: #00BCBC;" class="tListOption"><b>Options</b></div></td></tr>\n';
144 var tplTimerListItem = '<tr width="99%">\n';
145 tplTimerListItem += '<td><div style="color: #%(color);" class="tListSName" title="%(description), %(descriptionextended)"><b>%(servicename)</b> <br/><br/> %(title)</div></td>\n';
146 tplTimerListItem += '<td><div style="color: #%(color);" class="tListRepeat">%(repeatedReadable)</div></td>\n';
147 tplTimerListItem += '<td><div style="color: #%(color);" class="tListDuration">%(duration) Min</div></td>\n';
148 tplTimerListItem += '<td><div style="color: #%(color);" class="tListBegin">%(beginDate)</div></td>\n';
149 tplTimerListItem += '<td><div style="color: #%(color);" class="tListEnd">%(endDate)</div></td>\n';
150 tplTimerListItem += '<td><div style="color: #%(color);" class="tListAfter"><b>%(justplayReadable)</b> <br/><br/> %(aftereventReadable)</div></td>\n';
151 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)\',\'%(servicename)\',\'%(title)\',\'%(description)\',incomingTimerDelResult);"></a>\n';
152 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';
153 tplTimerListItem += '<a target="_blank" ><img src="/webdata/gfx/edit.gif" title="edit timer entry" border="0" onclick="loadTimerFormSeconds(\'%(justplay)\',\'%(begin)\',\'%(end)\',\'%(repeated)\',\'%(servicereference)\',\'%(servicename)\',\'%(title)\',\'%(description)\',\'%(afterevent)\',1);"></a></div></td>\n';
154 tplTimerListItem += '</tr>\n';
156 var tplTimerListFooter = '<tr><td colspan="7"><button onclick="writeTimerListNow()">Write To Memory</button></td></tr>\n';
157 tplTimerListFooter += '<tr><td colspan="7"><button onclick="cleanTimerListNow()">Cleanup</button></td></tr>\n';
158 tplTimerListFooter += '</tbody></table>\n</div>\n';
160 var tplRecordingFooter = '<hr><br><table style="text-align: left; width: 100%; height: 178px;" border="0" cellpadding="2" cellspacing="2"><tbody>';
161 tplRecordingFooter += '<tr><td style="vertical-align: top;">';
162 tplRecordingFooter += '<input type="radio" id="recordNowNothing" name="recordNow" value="nothing" checked>';
163 tplRecordingFooter += '</td><td style="vertical-align: top;">';
164 tplRecordingFooter += 'Do nothing';
165 tplRecordingFooter += '</td></tr>';
166 tplRecordingFooter += '<tr><td style="vertical-align: top;">';
167 tplRecordingFooter += '<input type="radio" id="recordNowUndefinitely" name="recordNow" value="undefinitely">';
168 tplRecordingFooter += '</td><td style="vertical-align: top;">';
169 tplRecordingFooter += 'record current playing undefinitely';
170 tplRecordingFooter += '</td></tr>';
171 tplRecordingFooter += '<tr><td style="vertical-align: top;">';
172 tplRecordingFooter += '<input type="radio" id="recordNowCurrent" name="recordNow" value="recordCurrentEvent">';
173 tplRecordingFooter += '</td><td style="vertical-align: top;">';
174 tplRecordingFooter += 'record current event';
175 tplRecordingFooter += '</td></tr>';
176 tplRecordingFooter += '<tr><td style="vertical-align: top;">';
177 tplRecordingFooter += ' ';
178 tplRecordingFooter += '</td><td style="vertical-align: top;">';
179 tplRecordingFooter += '<img src="/webdata/gfx/ok.jpg" title="OK" border="0" onclick="recordingPushedDecision(ifChecked($(\'recordNowNothing\')), ifChecked($(\'recordNowUndefinitely\')), ifChecked($(\'recordNowCurrent\')) );window.close()">';
180 tplRecordingFooter += '</td></tr>';
181 tplRecordingFooter += '</tbody></table>';
183 // Bouquetlist Template
184 var tplBouquetListHeader = '<table id="BouquetList" width="100%" border="0" cellspacing="1" cellpadding="0" border="0">';
186 var tplBouquetListItem = '<tr>\n';
187 tplBouquetListItem += '<td><div class="navMenuItem" id="%(servicereference)" onclick="loadBouquet(this.id);">%(bouquetname)</div></td>';
188 tplBouquetListItem += '</tr>\n';
190 var tplBouquetListFooter = "</table>";
193 var tplVolumePanel = "<img onclick='volumeUp()' src='/webdata/gfx/arrow_up.png'>";
194 tplVolumePanel += "<img onclick='volumeDown()' src='/webdata/gfx/arrow_down.png'>";
195 tplVolumePanel += "<img id='volume1' onclick='volumeSet(10)' src='/webdata/gfx/led_off.png'>";
196 tplVolumePanel += "<img id='volume2' onclick='volumeSet(20)' src='/webdata/gfx/led_off.png'>";
197 tplVolumePanel += "<img id='volume3' onclick='volumeSet(30)' src='/webdata/gfx/led_off.png'>";
198 tplVolumePanel += "<img id='volume4' onclick='volumeSet(40)' src='/webdata/gfx/led_off.png'>";
199 tplVolumePanel += "<img id='volume5' onclick='volumeSet(50)' src='/webdata/gfx/led_off.png'>";
200 tplVolumePanel += "<img id='volume6' onclick='volumeSet(60)' src='/webdata/gfx/led_off.png'>";
201 tplVolumePanel += "<img id='volume7' onclick='volumeSet(70)' src='/webdata/gfx/led_off.png'>";
202 tplVolumePanel += "<img id='volume8' onclick='volumeSet(80)' src='/webdata/gfx/led_off.png'>";
203 tplVolumePanel += "<img id='volume9' onclick='volumeSet(90)' src='/webdata/gfx/led_off.png'>";
204 tplVolumePanel += "<img id='volume10' onclick='volumeSet(100)' src='/webdata/gfx/led_off.png'>";
205 tplVolumePanel += "<img id='speaker' onclick='volumeMute()' src='/webdata/gfx/speak_on.png'>";
208 var tplSignalPanel = '<table width="100%" id="SignalPanelTable">';
209 tplSignalPanel += '<tr><td style="background-color: #DDDDDD;">SNR</td><td width="50" style="background-color: #DDDDDD;"><div id="SNR">N/A</div></td></tr>';
210 tplSignalPanel += '<tr><td style="background-color: #DDDDDD;">AGC</td><td width="50" style="background-color: #DDDDDD;"><div id="AGC">N/A</div></td></tr>';
211 tplSignalPanel += '<tr><td style="background-color: #DDDDDD;">BER</td><td width="50" style="background-color: #DDDDDD;"><div id="BER">N/A</div></td></tr>';
212 tplSignalPanel += '</table>';
216 var tplMessageSendForm = '<table cellspacing="0" cellpadding="0" class="aboutSection">\n';
217 tplMessageSendForm += '<tr>\n';
218 tplMessageSendForm += '<th class="pageHeader">Send Message</th>\n';
219 tplMessageSendForm += '</tr>\n';
220 tplMessageSendForm += '<tr><td>\n';
221 tplMessageSendForm += '<table style="width: 100%;">\n';
222 tplMessageSendForm += '<tr><td>Text</td><td><input type="text" id="MessageSendFormText" value=""></td></tr>\n';
223 tplMessageSendForm += '<tr><td>Timeout</td><td><input type="text" id="MessageSendFormTimeout" value=""></td></tr>\n';
224 tplMessageSendForm += '<tr><td>Typ</td><td><select id="MessageSendFormType">';
225 tplMessageSendForm += '<option value="1">Info</option>';
226 tplMessageSendForm += '<option value="0">YesNo</option>';
227 tplMessageSendForm += '<option value="2">Warning</option>';
228 tplMessageSendForm += '<option value="3">Error</option>';
229 tplMessageSendForm += '</select></td></tr>\n';
230 tplMessageSendForm += '<tr><td colspan="2"><button onclick="sendMessage()">Send Message</button></td></tr>\n';
231 tplMessageSendForm += "</tr></td></table></form>\n";
233 var tplPowerStateSendForm = '<table cellspacing="0" cellpadding="0" class="aboutSection">\n';
234 tplPowerStateSendForm += '<tr>\n';
235 tplPowerStateSendForm += '<th class="pageHeader">Powercontrol</th>\n';
236 tplPowerStateSendForm += '</tr>\n';
237 tplPowerStateSendForm += '<tr><td>\n';
238 tplPowerStateSendForm += '<table style="width: 100%; text-align: center">\n';
239 tplPowerStateSendForm += '<tr><td><center><button onclick="sendRemoteControlRequest(116)">Toggle Standby</button></center></td></tr>\n';
240 tplPowerStateSendForm += '<tr><td><center><button onclick="sendPowerState(0)">Standby</button></center></td></tr>\n';
241 tplPowerStateSendForm += '<tr><td><center><button onclick="sendPowerState(1)">Deepstandby</button></center></td></tr>\n';
242 tplPowerStateSendForm += '<tr><td><center><button onclick="sendPowerState(2)">Reboot</button></center></td></tr>\n';
243 tplPowerStateSendForm += '<tr><td><center><button onclick="sendPowerState(3)">Restart Enigma2</button></center></td></tr>\n';
244 tplPowerStateSendForm += '</tr></td></table>\n</table>\n';
246 // Template for the RemoteControl Window
247 var tplRemoteControlForm = '<center><input type="checkbox" id="getScreen" name="getScreen" checked> get Screen</center><br>';
248 tplRemoteControlForm += '<map name="remotecontrol">';
249 tplRemoteControlForm += '<area shape="circle" coords="129, 54, 10" nohref onclick="sendRemoteControlRequest(116)" alt="Power">';
250 // tplRemoteControlForm += '<area shape="circle" coords="72, 95, 15" nohref alt="Dream message">';
251 tplRemoteControlForm += '<area shape="circle" coords="130, 95, 15" nohref onclick="openGrabPicture()" alt="TV Screenshot">';
252 tplRemoteControlForm += '<area shape="circle" coords="63, 123, 10" nohref onclick="sendRemoteControlRequest(2)" alt="1">';
253 tplRemoteControlForm += '<area shape="circle" coords="109, 123, 10" nohref onclick="sendRemoteControlRequest(3)" alt="2">';
254 tplRemoteControlForm += '<area shape="circle" coords="153, 123, 10" nohref onclick="sendRemoteControlRequest(4)" alt="3">';
255 tplRemoteControlForm += '<area shape="circle" coords="63, 148, 10" nohref onclick="sendRemoteControlRequest(5)" alt="4">';
256 tplRemoteControlForm += '<area shape="circle" coords="109, 148, 10" nohref onclick="sendRemoteControlRequest(6)" alt="5">';
257 tplRemoteControlForm += '<area shape="circle" coords="153, 148, 10" nohref onclick="sendRemoteControlRequest(7)" alt="6">';
258 tplRemoteControlForm += '<area shape="circle" coords="63, 173, 10" nohref onclick="sendRemoteControlRequest(8)" alt="7">';
259 tplRemoteControlForm += '<area shape="circle" coords="109, 173, 10" nohref onclick="sendRemoteControlRequest(9)" alt="8">';
260 tplRemoteControlForm += '<area shape="circle" coords="153, 173, 10" nohref onclick="sendRemoteControlRequest(10)" alt="9">';
261 tplRemoteControlForm += '<area shape="circle" coords="63, 197, 10" nohref onclick="sendRemoteControlRequest(412)" alt="previous">';
262 tplRemoteControlForm += '<area shape="circle" coords="109, 197, 10" nohref onclick="sendRemoteControlRequest(11)" alt="0">';
263 tplRemoteControlForm += '<area shape="circle" coords="153, 197, 10" nohref onclick="sendRemoteControlRequest(407)" alt="next">';
264 tplRemoteControlForm += '<area shape="circle" coords="54, 243, 15" nohref onclick="sendRemoteControlRequest(115)" alt="volume up">';
265 tplRemoteControlForm += '<area shape="circle" coords="107, 233, 10" nohref onclick="sendRemoteControlRequest(113)" alt="mute">';
266 tplRemoteControlForm += '<area shape="circle" coords="159, 243, 15" nohref onclick="sendRemoteControlRequest(402)" alt="bouquet up">';
267 tplRemoteControlForm += '<area shape="circle" coords="66, 274, 15" nohref onclick="sendRemoteControlRequest(114)" alt="volume down">';
268 tplRemoteControlForm += '<area shape="circle" coords="107, 258, 10" nohref onclick="sendRemoteControlRequest(174)" alt="lame">';
269 tplRemoteControlForm += '<area shape="circle" coords="147, 274, 15" nohref onclick="sendRemoteControlRequest(403)" alt="bouquet down">';
270 tplRemoteControlForm += '<area shape="circle" coords="48, 306, 10" nohref onclick="sendRemoteControlRequest(358)" alt="info">';
271 tplRemoteControlForm += '<area shape="circle" coords="106, 310, 15" nohref onclick="sendRemoteControlRequest(103)" alt="up">';
272 tplRemoteControlForm += '<area shape="circle" coords="167, 306, 10" nohref onclick="sendRemoteControlRequest(139)" alt="menu">';
273 tplRemoteControlForm += '<area shape="circle" coords="70, 343, 15" nohref onclick="sendRemoteControlRequest(105)" alt="left">';
274 tplRemoteControlForm += '<area shape="circle" coords="108, 340, 15" nohref onclick="sendRemoteControlRequest(352)" alt="OK">';
275 tplRemoteControlForm += '<area shape="circle" coords="146, 343, 15" nohref onclick="sendRemoteControlRequest(106)" alt="right">';
276 tplRemoteControlForm += '<area shape="circle" coords="53, 381, 10" nohref onclick="sendRemoteControlRequest(392)" alt="audio">';
277 tplRemoteControlForm += '<area shape="circle" coords="106, 374, 15" nohref onclick="sendRemoteControlRequest(108)" alt="down">';
278 tplRemoteControlForm += '<area shape="circle" coords="162, 381, 10" nohref onclick="sendRemoteControlRequest(393)" alt="video">';
279 tplRemoteControlForm += '<area shape="circle" coords="56, 421, 10" nohref onclick="sendRemoteControlRequest(398)" alt="red">';
280 tplRemoteControlForm += '<area shape="circle" coords="90, 422, 10" nohref onclick="sendRemoteControlRequest(399)" alt="green">';
281 tplRemoteControlForm += '<area shape="circle" coords="123, 422, 10" nohref onclick="sendRemoteControlRequest(400)" alt="yellow">';
282 tplRemoteControlForm += '<area shape="circle" coords="158, 421, 10" nohref onclick="sendRemoteControlRequest(401)" alt="blue">';
283 tplRemoteControlForm += '<area shape="circle" coords="61, 460, 10" nohref onclick="sendRemoteControlRequest(377)" alt="tv">';
284 tplRemoteControlForm += '<area shape="circle" coords="90, 461, 10" nohref onclick="sendRemoteControlRequest(385)" alt="radio">';
285 tplRemoteControlForm += '<area shape="circle" coords="123, 461, 10" nohref onclick="sendRemoteControlRequest(388)" alt="text">';
286 tplRemoteControlForm += '<area shape="circle" coords="153, 460, 10" nohref onclick="sendRemoteControlRequest(138)" alt="help">';
287 tplRemoteControlForm += '</map>';
288 tplRemoteControlForm += '<img src="/webdata/gfx/remotecontrol.jpg" height="607" width="220" border="0)" alt="Remote Control" usemap="#remotecontrol">';
290 var tplAddTimerForm = '<table border=0 cellpadding=0 cellspacing=10>';
291 tplAddTimerForm += '<tr><td colspan="3">Action:</td>';
292 tplAddTimerForm += '<td colspan="3">';
293 tplAddTimerForm += '<select name="justplay" id="justplay" size="1">';
294 tplAddTimerForm += '%(justplay)';
295 tplAddTimerForm += '</select></td></tr>';
296 tplAddTimerForm += '<tr><td colspan="3"> </td>';
297 tplAddTimerForm += '<td colspan="3">Note: For recurring events start/end day/month are not required.</td></tr>';
298 tplAddTimerForm += '<tr><td colspan="3">Start:</td>';
299 tplAddTimerForm += '<td colspan="3"><select name="syear" size="1" id="syear" onchange="javascript:addTimerFormChangeTime(\'syear\');">%(syear)</select>.';
300 tplAddTimerForm += '<select name="smonth" id="smonth" size="1" onchange="javascript:addTimerFormChangeTime(\'smonth\');">%(smonth)</select>.';
301 tplAddTimerForm += '<select name="sday" id="sday" size="1" onchange="javascript:addTimerFormChangeTime(\'sday\');">%(sday)</select>';
302 tplAddTimerForm += ' - <select name="shour" id="shour" size="1" onchange="javascript:addTimerFormChangeTime(\'shour\');">%(shour)</select>';
303 tplAddTimerForm += ':<select name="smin" id="smin" size="1" onchange="javascript:addTimerFormChangeTime(\'smin\');">%(smin)</select></td></tr>';
304 tplAddTimerForm += '<tr><td colspan="3">End:</td>';
305 tplAddTimerForm += '<td colspan="3"><select name="eyear" id="eyear" size="1" onchange="javascript:addTimerFormChangeTime(\'eyear\');">%(eyear)</select>.';
306 tplAddTimerForm += '<select name="emonth" id="emonth" size="1" onchange="javascript:addTimerFormChangeTime(\'emonth\');">%(emonth)</select>.';
307 tplAddTimerForm += '<select name="eday" id="eday" size="1" onchange="javascript:addTimerFormChangeTime(\'eday\');">%(eday)</select>';
308 tplAddTimerForm += ' - <select name="ehour" id="ehour" size="1" onchange="javascript:addTimerFormChangeTime(\'ehour\');">%(ehour)</select>';
309 tplAddTimerForm += ':<select name="emin" id="emin" size="1" onchange="javascript:addTimerFormChangeTime(\'emin\');">%(emin)</select></td></tr>';
310 tplAddTimerForm += '<tr><td colspan="3"> </td><td colspan="3">Note: For one-time events the "days" field doesn\'t have to be specified.</td></tr>';
311 tplAddTimerForm += '<tr><td colspan="3">Days:</td><td colspan="3">%(repeated)';
312 tplAddTimerForm += '<tr><td colspan="3">Channel:</td><td>';
313 tplAddTimerForm += '<p><input type="radio" id="tvradio" name="tvradio" value="tv" checked onchange="javascript:addTimerFormChangeType();"">TV</p>';
314 tplAddTimerForm += '<p><input type="radio" name="tvradio" value="radio" onchange="javascript:addTimerFormChangeType();">Radio</p><td>';
315 tplAddTimerForm += '<p>Channel:</p>';
316 tplAddTimerForm += '<select name="channel" id="channel" size="1" onchange="timerFormExtendChannellist($(\'channel\').options[$(\'channel\').selectedIndex].value)">%(channel)</select></td></tr>';
317 tplAddTimerForm += '<tr><td colspan="3">Name:</td>';
318 tplAddTimerForm += '<td colspan="3"><input name="name" id="name" type="text" size="100" maxlength="100" style="color: #000000;" value="%(name)"></td></tr>';
319 tplAddTimerForm += '<tr><td colspan="3">Description:</td>';
320 tplAddTimerForm += '<td colspan="3"><input name="descr" id="descr" type="text" size="100" maxlength="100" style="color: #000000;" value="%(description)"></td></tr>';
321 tplAddTimerForm += '<tr><td colspan="3">After event do:</td>';
322 tplAddTimerForm += '<td colspan="3"><select id="after_event" name="after_event" size="1">%(afterEvent)</select></td></tr>';
323 tplAddTimerForm += '<tr> </tr>';
324 tplAddTimerForm += '<tr><td colspan="3"> </td><td colspan="3">';
325 tplAddTimerForm += '<input name="deleteOldOnSave" id="deleteOldOnSave" type="hidden" value="%(deleteOldOnSave)">';
326 tplAddTimerForm += '<input name="channelOld" id="channelOld" type="hidden" value="%(channelOld)">';
327 tplAddTimerForm += '<input name="beginOld" id="beginOld" type="hidden" value="%(beginOld)">';
328 tplAddTimerForm += '<input name="endOld" id="endOld" type="hidden" value="%(endOld)">';
329 tplAddTimerForm += '<input name="eventID" id="eventID" type="hidden" value="%(eventID)">';
330 tplAddTimerForm += '<button onclick="sendAddTimer()">Add/Save</button></td></tr></table>';
332 var tplAddTimerFormOptions = '<option value="%(value)" %(selected)>%(txt)</option>';
334 var tplAddTimerFormCheckbox = '<input type="checkbox" id="%(id)" name="%(name)" value="%(value)" %(checked)> %(txt) ';
336 var tplAbout = '<table cellspacing="0" cellpadding="0" class="aboutSection">\n';
337 tplAbout += '<tr>\n';
338 tplAbout += '<th colspan="2" class="pageHeader">About</th>\n';
339 tplAbout += '</tr>\n';
340 tplAbout += '<tr>\n';
341 tplAbout += '<td class="aboutSectionLeft">\n';
342 tplAbout += '<table class="fullwidth">\n';
343 tplAbout += '<tr>\n';
344 tplAbout += '<td class="fullwidth">\n';
345 tplAbout += '<table cellspacing="0" class="about">\n';
346 tplAbout += '<tr>\n';
347 tplAbout += '<th colspan="2" class="aboutHeader">Software</th>\n';
348 tplAbout += '</tr>\n';
349 tplAbout += '<tr>\n';
350 tplAbout += '<td class="aboutElementLeft">Enigma Version:</td>\n';
351 tplAbout += '<td class="aboutElementRight">%(enigmaVersion)</td>\n';
352 tplAbout += '</tr>\n';
353 tplAbout += '<tr>\n';
354 tplAbout += '<td class="aboutElementLeft">Frontprozessor Version:</td>\n';
355 tplAbout += '<td class="aboutElementRight">%(fpVersion)</td>\n';
356 tplAbout += '</tr>\n';
357 tplAbout += '<tr>\n';
358 tplAbout += '<td class="aboutElementLeft">Webinterface Version:</td>\n';
359 tplAbout += '<td class="aboutElementRight">%(webifversion)</td>\n';
360 tplAbout += '</tr>\n';
361 tplAbout += '</table>\n';
362 tplAbout += '</td>\n';
363 tplAbout += '</tr>\n';
364 tplAbout += '<tr>\n';
365 tplAbout += '<td class="fullwidth">\n';
366 tplAbout += '<table cellspacing="0" class="about">\n';
367 tplAbout += '<tr>\n';
368 tplAbout += '<th colspan="2" class="aboutHeader">Detected Tuners</th>\n';
369 tplAbout += '</tr>\n';
370 tplAbout += '%(tunerInfo)';
371 tplAbout += '</table>\n';
372 tplAbout += '</td>\n';
373 tplAbout += '</tr>\n';
374 tplAbout += '<tr>\n';
375 tplAbout += '<td class="fullwidth">\n';
376 tplAbout += '<table cellspacing="0" class="about">\n';
377 tplAbout += '<tr>\n';
378 tplAbout += '<th colspan="2" class="aboutHeader">Harddisk</th>\n';
379 tplAbout += '</tr>\n';
380 tplAbout += '<tr>\n';
381 tplAbout += '<td class="aboutElementLeft">Model</td>\n';
382 tplAbout += '<td class="aboutElementRight">%(hddmodel)</td>\n';
383 tplAbout += '</tr>\n';
384 tplAbout += '<tr>\n';
385 tplAbout += '<td class="aboutElementLeft">Capacity</td>\n';
386 tplAbout += '<td class="aboutElementRight">%(hddcapacity)</td>\n';
387 tplAbout += '</tr>\n';
388 tplAbout += '<tr>\n';
389 tplAbout += '<td class="aboutElementLeft">Free</td>\n';
390 tplAbout += '<td class="aboutElementRight">%(hddfree)</td>\n';
391 tplAbout += '</tr>\n';
392 tplAbout += '</table>\n';
393 tplAbout += '</td>\n';
394 tplAbout += '</tr>\n';
395 tplAbout += '</table>\n';
396 tplAbout += '</td>\n';
397 tplAbout += '<td class="aboutSectionRight">\n';
398 tplAbout += '<table class="fullwidth">\n';
399 tplAbout += '<tr>\n';
400 tplAbout += '<td class="fullwidth">\n';
401 tplAbout += '<table cellspacing="0" class="about">\n';
402 tplAbout += '<tr>\n';
403 tplAbout += '<th colspan="2" class="aboutHeader">Serviceinfo</th>\n';
404 tplAbout += '</tr>\n';
405 tplAbout += '<tr>\n';
406 tplAbout += '<td class="aboutElementLeft">Name:</td>\n';
407 tplAbout += '<td class="aboutElementRight">%(serviceName)</td>\n';
408 tplAbout += '</tr>\n';
409 tplAbout += '<tr>\n';
410 tplAbout += '<td class="aboutElementLeft">Provider:</td>\n';
411 tplAbout += '<td class="aboutElementRight">%(serviceProvider)</td>\n';
412 tplAbout += '</tr>\n';
413 tplAbout += '<tr>\n';
414 tplAbout += '<td class="aboutElementLeft">Videoformat:</td>\n';
415 tplAbout += '<td class="aboutElementRight">%(serviceAspect)</td>\n';
416 tplAbout += '</tr>\n';
417 tplAbout += '<tr>\n';
418 tplAbout += '<td class="aboutElementLeft">Namespace:</td>\n';
419 tplAbout += '<td class="aboutElementRight">%(serviceNamespace)</td>\n';
420 tplAbout += '</tr>\n';
421 tplAbout += '</table>\n';
422 tplAbout += '</td>\n';
423 tplAbout += '</tr>\n';
424 tplAbout += '<tr>\n';
425 tplAbout += '<td class="fullwidth">\n';
426 tplAbout += '<table cellspacing="0" class="about">\n';
427 tplAbout += '<tr>\n';
428 tplAbout += '<th colspan="2" class="aboutHeader">PIDs</th>\n';
429 tplAbout += '</tr>\n';
430 tplAbout += '<tr>\n';
431 tplAbout += '<td class="aboutElementLeft">VideoPID:</td>\n';
432 tplAbout += '<td class="aboutElementRight">%(vPIDh) (%(vPID))</td>\n';
433 tplAbout += '</tr>\n';
434 tplAbout += '<tr>\n';
435 tplAbout += '<td class="aboutElementLeft">AudioPID:</td>\n';
436 tplAbout += '<td class="aboutElementRight">%(aPIDh) (%(aPID))</td>\n';
437 tplAbout += '</tr>\n';
438 tplAbout += '<tr>\n';
439 tplAbout += '<td class="aboutElementLeft">PCRID:</td>\n';
440 tplAbout += '<td class="aboutElementRight">%(pcrIDh) (%(pcrID))</td>\n';
441 tplAbout += '</tr>\n';
442 tplAbout += '<tr>\n';
443 tplAbout += '<td class="aboutElementLeft">PMTPID:</td>\n';
444 tplAbout += '<td class="aboutElementRight">%(pmtPIDh) (%(pmtPID))</td>\n';
445 tplAbout += '</tr>\n';
446 tplAbout += '<tr>\n';
447 tplAbout += '<td class="aboutElementLeft">TXTPID:</td>\n';
448 tplAbout += '<td class="aboutElementRight">%(txtPIDh) (%(txtPID))</td>\n';
449 tplAbout += '</tr>\n';
450 tplAbout += '<tr>\n';
451 tplAbout += '<td class="aboutElementLeft">TSID:</td>\n';
452 tplAbout += '<td class="aboutElementRight">%(tsIDh) (%(tsID))</td>\n';
453 tplAbout += '</tr>\n';
454 tplAbout += '<tr>\n';
455 tplAbout += '<td class="aboutElementLeft">ONID:</td>\n';
456 tplAbout += '<td class="aboutElementRight">%(onIDh) (%(onID))</td>\n';
457 tplAbout += '</tr>\n';
458 tplAbout += '<tr>\n';
459 tplAbout += '<td class="aboutElementLeft">SID:</td>\n';
460 tplAbout += '<td class="aboutElementRight">%(sidh) (%(sid))</td>\n';
461 tplAbout += '</tr>\n';
462 tplAbout += '</table>\n';
463 tplAbout += '</td>\n';
464 tplAbout += '</tr>\n';
465 tplAbout += '</table>\n';
466 tplAbout += '</td>\n';
467 tplAbout += '</tr>\n';
468 tplAbout += '</table>\n';
470 var tplAboutTuner = '<tr>\n';
471 tplAboutTuner += '<td class="aboutElementLeft">%(name)</td>\n';
472 tplAboutTuner += '<td class="aboutElementRight">%(type)</td>\n';
473 tplAboutTuner += '</tr>\n';
476 var tplExtraHiddenFunctions = '<ul style="list-style-type:disc">';
477 tplExtraHiddenFunctions += '<li><div onclick="restartTwisted()">Restart Twisted</div></li>';
478 tplExtraHiddenFunctions += '<li><div onclick="clearInterval(UpdateStreamReaderPollTimer);">Stop Time/Signal/Current-Channel -Updates</div></li>';
479 tplExtraHiddenFunctions += '<li><div onclick="restartUpdateStream();">Restart Time/Signal/Current-Channel -Updates</div></li>';
480 tplExtraHiddenFunctions += '<li><div onclick="startDebugWindow();">Start Debug-Window</div></li>';
481 tplExtraHiddenFunctions += '</ul>'
483 var tplRCGrab = '<IMG id="grabPageIMG" src=""/ height="400" alt="loading image">';
485 var tplMediaPlayerHeader = '<div class="BodyContentChannellist">\n<table border="0" cellpadding="0" cellspacing="0" class="BodyContentChannellist">\n';
486 tplMediaPlayerHeader += '<thead class="fixedHeader">\n';
487 tplMediaPlayerHeader += '<tr>\n';
488 tplMediaPlayerHeader += '<th><div class="sListHeader">MediaPlayer %(root)';
489 tplMediaPlayerHeader += '<map name="mpcontrols">';
490 tplMediaPlayerHeader += '<area shape="circle" coords="17, 17, 14" nohref onclick="sendMediaPlayer(0)" alt="jump back">';
491 tplMediaPlayerHeader += '<area shape="circle" coords="54, 17, 14" nohref onclick="sendMediaPlayer(1)" alt="play">';
492 tplMediaPlayerHeader += '<area shape="circle" coords="88, 17, 14" nohref onclick="sendMediaPlayer(2)" alt="pause">';
493 tplMediaPlayerHeader += '<area shape="circle" coords="125, 17, 14" nohref onclick="sendMediaPlayer(3)" alt="jump forward">';
494 tplMediaPlayerHeader += '<area shape="circle" coords="161, 17, 14" nohref onclick="sendMediaPlayer(4)" alt="stop">';
495 tplMediaPlayerHeader += '</map><img src="/webdata/gfx/dvr-buttons-small-fs8.png" align="top" title="Control MediaPlayer" border="0" usemap="#mpcontrols"></div>\n';
496 tplMediaPlayerHeader += '<div class="sListSearch">';
497 tplMediaPlayerHeader += '<img src="/webdata/gfx/nok.png" align="top" title="close MediaPlayer" border="0" onclick="sendMediaPlayer(5)"></div></th>';
498 tplMediaPlayerHeader += '</tr>\n';
499 tplMediaPlayerHeader += '</thead>\n';
500 tplMediaPlayerHeader += '<tbody class="scrollContent">\n';
502 var tplMediaPlayerItemHead = '<tr>\n';
503 var tplMediaPlayerItemBody = '<td><div style="color: #%(color);" onclick="%(exec)(\'%(servicereference)\',\'%(root)\');" class="sListSName" title="%(servicereference)">%(name)</div>';
504 var tplMediaPlayerItemIMG = '<div class="sListExt">\n';
505 tplMediaPlayerItemIMG += '<img src="/webdata/gfx/play.png" onclick="%(exec)(\'%(servicereference)\',\'%(root)\');" title="%(exec_description)" border="0">\n';
506 tplMediaPlayerItemIMG += '<a target="_blank" href="/file/?file=%(name)&root=%(root)"><img src="/webdata/gfx/save.png" title="download File" border="0"></a>\n';
507 tplMediaPlayerItemIMG += '</div>\n';
508 var tplMediaPlayerItemFooter = '</tr>\n';
510 var tplMediaPlayerFooter = "</tbody></table>\n";
514 var tplNotesListHeader = '<table cellspacing="0" cellpadding="0" class="aboutSection">\n';
515 tplNotesListHeader += '<tr>\n';
516 tplNotesListHeader += '<th class="pageHeader">Notes</th>\n';
517 tplNotesListHeader += '<tbody class="scrollContent">\n';
518 tplNotesListHeader += '<button onclick="createNote()">create new Note</button>\n';
520 var tplNotesListFooter = '</tbody></table>\n';
522 var tplNotesListItem = '<tr><td onclick="showNote(\'%(name)\');">%(name)</td><td>%(ctime)</td><td>%(size)</td></tr>';
524 var tplNote = '<form id="note_%(name)"><input type="hidden" id="note_%(name)_name" value="%(name)">';
525 tplNote += '<table width="100%">';
526 tplNote += '<tr style="background-color: #DDDDDD;">';
527 tplNote += '<td>Name:</td>';
528 tplNote += '<td><input type="text" value="%(name)" id="note_%(name)_namenew" size="30"></td>';
530 tplNote += '<tr style="background-color: #DDDDDD;">';
531 tplNote += '<td>Creationdate:</td>';
532 tplNote += '<td id="note_%(name)_ctime">%(ctime)</td>';
534 tplNote += '<tr style="background-color: #DDDDDD;">';
535 tplNote += '<td>Modified</td>';
536 tplNote += '<td id="note_%(name)_mtime">%(mtime)</td>';
538 tplNote += '<tr style="background-color: #DDDDDD;">';
539 tplNote += '<td>Size:</td>';
540 tplNote += '<td>%(size)</td>';
542 tplNote += '<tr style="background-color: #DDDDDD;">';
543 tplNote += '<td colspan="2"><textarea cols="50" rows="10" id="note_%(name)_content">%(content)</textarea></td>';
545 tplNote += '<tr style="background-color: #DDDDDD;">';
546 tplNote += '<td colspan="2"><input type="button" onclick="saveNote(\'note_%(name)\');" value="save"><input type="button" onclick="$(\'note_%(name)\').reset();" value="reset"></td>';
548 tplNote += '</table></form>';
551 var tplFileBrowserHeader = '<div class="BodyContentChannellist">\n<table border="0" cellpadding="0" cellspacing="0" class="BodyContentChannellist">\n';
552 tplFileBrowserHeader += '<thead class="fixedHeader">\n';
553 tplFileBrowserHeader += '<tr>\n';
554 tplFileBrowserHeader += '<th><div class="sListHeader">FileBrowser %(root)</div></th>\n';
555 tplFileBrowserHeader += '<th><div class="sListSearch">';
556 tplFileBrowserHeader += '<form onSubmit="loadFileBrowser(\'%(root)\', document.getElementById(\'searchText\').value); return false;">';
557 tplFileBrowserHeader += '<input type="text" id="searchText" onfocus="this.value=\'\'" value="Search Pattern"/>';
558 tplFileBrowserHeader += '<input style="vertical-align:middle" type="image" src="/webdata/gfx/search.png" alt="search...">';
559 tplFileBrowserHeader += '</form></div></th>';
560 tplFileBrowserHeader += '</tr>\n';
561 tplFileBrowserHeader += '</thead>\n';
562 tplFileBrowserHeader += '<tbody class="scrollContent">\n';
563 tplFileBrowserHeader += '<tr width="80%"><td>File/Directory</td>\n';
564 tplFileBrowserHeader += '<td>Action</td>\n</tr>\n';
566 var tplFileBrowserItemHead = '<tr width="80%">\n';
567 var tplFileBrowserItemBody = '<td><div style="color: #%(color);" onclick="%(exec)(\'%(servicereference)\',\'%(root)\');" class="sListSName" title="%(servicereference)">%(name)</div></td>';
568 var tplFileBrowserItemIMG = '<td><div class="sListExt">\n';
569 tplFileBrowserItemIMG += '<img src="/webdata/gfx/trash.gif" onclick="delFile(\'%(name)\',\'%(root)\');" title="delete File" border="0">\n';
570 tplFileBrowserItemIMG += '<a target="_blank" href="/file/?file=%(name)&root=%(root)"><img src="/webdata/gfx/save.png" title="download File" border="0"></a>\n';
571 tplFileBrowserItemIMG += '</div></td>\n';
572 var tplFileBrowserItemFooter = '</tr>\n';
574 var tplFileBrowserFooter = '</tbody></table>\n';
575 tplFileBrowserFooter += '<form action="/upload" method="POST" target="_blank" enctype="multipart/form-data">';
576 tplFileBrowserFooter += '<input type="hidden" id="path" value="%(root)" name="path">';
577 tplFileBrowserFooter += '<input name="file" type="file">';
578 tplFileBrowserFooter += '<input type="image" style="vertical-align:middle" src="/webdata/gfx/save.png" alt="upload">';