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