Made Mosaic translateable and added german translation
[enigma2-plugins.git] / webinterface / src / web-data / objects.js
1 // $Header$
2 // store all objects here
3
4 //START class EPGList
5 function EPGList(xml){
6         // parsing values from xml-element
7         //debug('init EPGList'+xml);
8         try{
9                 this.xmlitems = xml.getElementsByTagName("e2eventlist").item(0).getElementsByTagName("e2event");
10         } catch (e) { debug("EPGList parsing Error");}
11         
12         this.getArray = function(sortbytime){
13                 debug("sort EPGList by time "+sortbytime);
14                 if (sortbytime == true){
15                         var sort1 = new Array();
16                         for(var i=0;i<this.xmlitems.length;i++){
17                                 var xv = new EPGEvent(this.xmlitems.item(i));
18                                 sort1.push(new Array(xv.startTime,xv));
19                         }
20                         sort1.sort(this.sortFunction);
21                         var sort2 = new Array();
22                         for(var i=0;i<sort1.length;i++){
23                                 sort2.push(sort1[i][1]);
24                         }
25                         return sort2;
26                 }else{
27                         var listxy = new Array();
28                         for (var i=0;i<this.xmlitems.length;i++){
29                                 var xv = new EPGEvent(this.xmlitems.item(i));
30                                 listxy.push(xv);                        
31                         }
32                         return listxy;
33                 }
34         }
35         this.sortFunction = function(a,b){
36           return a[0] - b[0];
37         }
38 }
39 //END class EPGList
40
41 //START class EPGEvent
42 function EPGEvent(xml){ 
43         // parsing values from xml-element
44         try{
45                 this.eventID = xml.getElementsByTagName('e2eventid').item(0).firstChild.data;
46                 this.startTime = xml.getElementsByTagName('e2eventstart').item(0).firstChild.data;
47                 this.duration = xml.getElementsByTagName('e2eventduration').item(0).firstChild.data;
48                 this.title = xml.getElementsByTagName('e2eventtitle').item(0).firstChild.data;
49                 this.serviceRef = xml.getElementsByTagName('e2eventservicereference').item(0).firstChild.data;
50                 this.serviceName = xml.getElementsByTagName('e2eventservicename').item(0).firstChild.data;
51                 this.fileName = xml.getElementsByTagName('e2filename').item(0).firstChild.data;
52         } catch (e) {
53                 //debug("EPGEvent parsing Error");
54         }       
55         try{
56                 this.description = xml.getElementsByTagName('e2eventdescription').item(0).firstChild.data;
57         } catch (e) {   this.description= 'N/A';        }
58         
59         try{
60                 this.descriptionE = xml.getElementsByTagName('e2eventdescriptionextended').item(0).firstChild.data;
61         } catch (e) {   this.descriptionE = 'N/A';      }
62
63         this.getFilename = function ()
64         {
65                 return this.fileName;
66         }
67         this.getEventId = function ()
68         {
69                 return this.eventID;
70         }
71         this.getTimeStart = function ()
72         {
73                 var date = new Date(parseInt(this.startTime)*1000);
74                 return date;
75         }
76         this.getTimeStartString = function ()
77         {
78                 var h = this.getTimeStart().getHours();
79                 var m = this.getTimeStart().getMinutes();
80                 if (m < 10){
81                         m="0"+m;
82                 }
83                 return h+":"+m;
84         }
85         this.getTimeDay = function ()
86         {
87                 var Wochentag = new Array("So", "Mo", "Di", "Mi", "Do", "Fr", "Sa");
88                 var wday = Wochentag[this.getTimeStart().getDay()];
89                 var day = this.getTimeStart().getDate();
90                 var month = this.getTimeStart().getMonth()+1;
91                 var year = this.getTimeStart().getFullYear();
92                 
93                 return wday+".&nbsp;"+day+"."+month+"."+year;
94         }
95         this.getTimeBegin = function(){
96                 return this.getTimeStart().getTime()/1000
97         }
98         this.getTimeEnd = function ()
99         {
100                 var date = new Date((parseInt(this.startTime)+parseInt(this.duration))*1000);
101                 return date.getTime()/1000
102         }
103         this.getTimeEndString = function ()
104         {
105                 var date = new Date((parseInt(this.startTime)+parseInt(this.duration))*1000);
106                 var h = date.getHours();
107                 var m = date.getMinutes();
108                 if (m < 10){
109                         m="0"+m;
110                 }
111                 return h+":"+m;
112         }
113         this.getDuration = function ()
114         {
115                 return  new Date(parseInt(this.duration)*1000);
116         }
117         this.getTitle = function ()
118         {
119                 return this.title;
120         }
121         this.getDescription = function ()
122         {
123                 return this.description;
124         }
125         this.getDescriptionExtended = function ()
126         {
127                 return this.descriptionE;
128         }
129         this.getServiceReference = function ()
130         {
131                 return encodeURIComponent(this.serviceRef);
132         }
133         this.getServiceName = function ()
134         {
135                 return this.serviceName.replace(" ","&nbsp;");
136         }
137 }
138 //END class EPGEvent
139
140 //START class Service
141 function ServiceReference(xml){ 
142         // parsing values from xml-element
143         //debug('init ServiceReference'+xml);
144         try{
145                 this.servicereference = xml.getElementsByTagName('e2servicereference').item(0).firstChild.data;
146                 this.servicename = xml.getElementsByTagName('e2servicename').item(0).firstChild.data;
147         } catch (e) {
148                 //debug("Service parsing Error "+e);
149         }
150         
151         this.getServiceReference = function(){
152                 return encodeURIComponent(this.servicereference);
153         }
154         this.getClearServiceReference = function(){
155                 return this.servicereference;
156         }
157                 
158         this.getServiceName = function(){
159                 return this.servicename.replace('&quot;', '"');
160         }
161         this.setServiceReference = function(toInsert){
162                 this.servicereference = toInsert;
163         }
164                 
165         this.setServiceName = function(toInsert){
166                 this.servicename = toInsert.replace('&quot;', '"');
167         }
168 }       
169 //END class Service
170
171 //START class ServiceList
172 function ServiceList(xml){
173         // parsing values from xml-element
174         //debug('init ServiceList'+xml);
175         try{
176                 this.xmlitems = xml.getElementsByTagName("e2servicelist").item(0).getElementsByTagName("e2service");
177         } catch (e) {
178                 //debug("Service parsing Error");
179         }
180         this.getArray = function(){
181                 var listxy = new Array();
182                 try{
183                         for (var i=0;i<this.xmlitems.length;i++){
184                                 var xv = new ServiceReference(this.xmlitems.item(i));
185                                 listxy.push(xv);
186                         }                       
187                 }catch (e){}
188                 
189                 return listxy;
190         }
191 }
192 //END class ServiceList
193
194 //START class MovieList
195 function MovieList(xml){
196         // parsing values from xml-element
197         debug('init MovieList'+xml);
198         try{
199                 this.xmlitems = xml.getElementsByTagName("e2movielist").item(0).getElementsByTagName("e2movie");
200         } catch (e) {
201                 debug("MovieList parsing Error");
202         }
203         this.getArray = function(){
204                 var listxy = new Array();
205                 for(var i=0;i<this.xmlitems.length;i++){
206                         //debug("parsing movie "+i+" of "+this.xmlitems.length);
207                         var xv = new Movie(this.xmlitems.item(i));
208                         listxy.push(xv);                        
209                 }
210                 return listxy;
211         }
212 }
213 //END class MovieList
214
215 //START class Movie
216 function Movie(xml){
217         // parsing values from xml-element
218         //debug('init Movie');
219         try{
220                 this.servicereference = xml.getElementsByTagName('e2servicereference').item(0).firstChild.data;
221         } catch (e) {
222                 this.servicereference = "N/A";
223         }
224         try{
225                 this.servicename = xml.getElementsByTagName('e2servicename').item(0).firstChild.data;
226         } catch (e) {
227                 this.servicename = "N/A";
228         }
229         try{
230                 this.title = xml.getElementsByTagName('e2title').item(0).firstChild.data;
231         } catch (e) {
232                 this.title = "N/A";
233         }
234         try{
235                 this.descriptionextended = xml.getElementsByTagName('e2descriptionextended').item(0).firstChild.data;
236         } catch (e) {
237                 this.descriptionextended = "N/A";
238         }
239         try{
240                 this.description = xml.getElementsByTagName('e2description').item(0).firstChild.data;
241         } catch (e) {
242                 this.description = "N/A";
243         }
244         try{
245                 this.tags = xml.getElementsByTagName('e2tags').item(0).firstChild.data;
246         } catch (e) {
247                 this.tags = "no&nbsp;tags"; // no whitespaces... tags will be splittet later
248         }
249         try{
250                 this.filename = xml.getElementsByTagName('e2filename').item(0).firstChild.data;
251         } catch (e) {
252                 this.filename = "n/a";
253         }
254         try{
255                 this.filesize = xml.getElementsByTagName('e2filesize').item(0).firstChild.data;
256         } catch (e) {
257                 this.filesize = 0;
258         }
259         try{
260                 this.startTime = xml.getElementsByTagName('e2time').item(0).firstChild.data;
261         } catch (e) {
262                 this.startTime = "0";
263         }
264         try{
265                 this.length = xml.getElementsByTagName('e2length').item(0).firstChild.data;
266         } catch (e) {
267                 this.length = "0";
268         }
269         
270                 
271         
272
273         this.getLength = function ()
274         {
275                 return this.length;
276         }
277         this.getTimeStart = function ()
278         {
279                 var date = new Date(parseInt(this.startTime)*1000);
280                 return date;
281         }
282         this.getTimeStartString = function ()
283         {
284                 var h = this.getTimeStart().getHours();
285                 var m = this.getTimeStart().getMinutes();
286                 if (m < 10){
287                         m="0"+m;
288                 }
289                 return h+":"+m;
290         }
291         this.getTimeDay = function ()
292         {
293                 var Wochentag = new Array("So", "Mo", "Di", "Mi", "Do", "Fr", "Sa");
294                 var wday = Wochentag[this.getTimeStart().getDay()];
295                 var day = this.getTimeStart().getDate();
296                 var month = this.getTimeStart().getMonth()+1;
297                 var year = this.getTimeStart().getFullYear();
298                 
299                 return wday+".&nbsp;"+day+"."+month+"."+year;
300         }
301
302         this.getServiceReference = function(){
303                 return encodeURIComponent(this.servicereference);
304         }
305         this.getServiceName = function(){
306                 return this.servicename.replace('&quot;', '"');
307         }       
308         this.getTitle = function(){
309                 return this.title;
310         }       
311         this.getDescription = function(){
312                 return this.description;
313         }       
314         this.getDescriptionExtended = function(){
315                 return this.descriptionextended;
316         }       
317         this.getTags = function(){              
318                 return this.tags.split(" ");
319         }       
320         this.getFilename = function(){          
321                 return encodeURIComponent(this.filename);
322                 
323         }       
324         this.getFilesizeMB = function(){                
325                 return Math.round((parseInt(this.filesize)/1024)/1024)+"MB";
326                 
327         }       
328 }       
329 //END class Movie
330
331 //START class TimerList
332 function TimerList(xml){
333         // parsing values from xml-element
334         try{
335                 this.xmlitems = xml.getElementsByTagName("e2timerlist").item(0).getElementsByTagName("e2timer");
336         } catch (e) {
337                 debug("TimerList parsing Error");
338         }
339         this.getArray = function(){
340                 var listxy = new Array();
341                 for(var i=0;i<this.xmlitems.length;i++){
342                         //debug("parsing timer "+i+" of "+this.xmlitems.length);
343                         var xv = new Timer(this.xmlitems.item(i));
344                         listxy.push(xv);                        
345                 }
346                 return listxy;
347         }
348 }
349 //END class TimerList
350
351 //START class Timer
352 function Timer(xml){    
353         // parsing values from xml-element
354         //debug('init Timer');
355         try{
356                 this.servicereference = xml.getElementsByTagName('e2servicereference').item(0).firstChild.data;
357         } catch (e) {
358                 this.servicereference = "N/A";
359         }
360         try{
361                 this.servicename = xml.getElementsByTagName('e2servicename').item(0).firstChild.data;
362         } catch (e) {
363                 this.servicename = "N/A";
364         }
365         try{
366                 this.eventid = xml.getElementsByTagName('e2eit').item(0).firstChild.data;
367         } catch (e) {
368                 this.eventid = "N/A";
369         }
370         try{
371                 this.name = xml.getElementsByTagName('e2name').item(0).firstChild.data;
372         } catch (e) {
373                 this.name = "N/A";
374         }
375         try{
376                 this.description = xml.getElementsByTagName('e2description').item(0).firstChild.data;
377         } catch (e) {
378                 this.description = "N/A";
379         }
380         try{
381                 this.descriptionextended = xml.getElementsByTagName('e2descriptionextended').item(0).firstChild.data;
382         } catch (e) {
383                 this.descriptionextended = "N/A";
384         }
385         try{
386                 this.disabled = xml.getElementsByTagName('e2disabled').item(0).firstChild.data;
387         } catch (e) {
388                 this.disabled = "0";
389         }
390         try{
391                 this.timebegin = xml.getElementsByTagName('e2timebegin').item(0).firstChild.data;
392         } catch (e) {
393                 this.timebegin = "N/A";
394         }
395         try{
396                 this.timeend = xml.getElementsByTagName('e2timeend').item(0).firstChild.data;
397         } catch (e) {
398                 this.timeend = "N/A";
399         }
400         try{
401                 this.duration = xml.getElementsByTagName('e2duration').item(0).firstChild.data;
402         } catch (e) {           
403                 this.duration = "0";
404         }
405         try{
406                 this.startprepare = xml.getElementsByTagName('e2startprepare').item(0).firstChild.data;
407         } catch (e) {
408                 this.startprepare = "N/A";
409         }
410         try{
411                 this.justplay = xml.getElementsByTagName('e2justplay').item(0).firstChild.data;
412         } catch (e) {
413                 this.justplay = "";
414         }
415         try{
416                 this.afterevent = xml.getElementsByTagName('e2afterevent').item(0).firstChild.data;
417         } catch (e) {
418                 this.afterevent = "0";
419         }
420         try{
421                 this.logentries = xml.getElementsByTagName('e2logentries').item(0).firstChild.data;
422         } catch (e) {
423                 this.logentries = "N/A";
424         }
425         try{
426                 this.tfilename = xml.getElementsByTagName('e2filename').item(0).firstChild.data;
427         } catch (e) {
428                 this.tfilename = "N/A";
429         }
430         try{
431                 this.backoff = xml.getElementsByTagName('e2backoff').item(0).firstChild.data;
432         } catch (e) {
433                 this.backoff = "N/A";
434         }
435         try{
436                 this.nextactivation = xml.getElementsByTagName('e2nextactivation').item(0).firstChild.data;
437         } catch (e) {
438                 this.nextactivation = "N/A";
439         }
440         try{
441                 this.firsttryprepare = xml.getElementsByTagName('e2firsttryprepare').item(0).firstChild.data;
442         } catch (e) {
443                 this.firsttryprepare = "N/A";
444         }
445         try{
446                 this.state = xml.getElementsByTagName('e2state').item(0).firstChild.data;
447         } catch (e) {
448                 this.state = "N/A";
449         }
450         try{
451                 this.repeated = xml.getElementsByTagName('e2repeated').item(0).firstChild.data;
452         } catch (e) {
453                 this.repeated = "0";
454         }
455         try{
456                 this.dontsave = xml.getElementsByTagName('e2dontsave').item(0).firstChild.data;
457         } catch (e) {
458                 this.dontsave = "N/A";
459         }
460         try{
461                 this.cancled = xml.getElementsByTagName('e2cancled').item(0).firstChild.data;
462         } catch (e) {
463                 this.cancled = "N/A";
464         }
465         try{
466                 this.color = xml.getElementsByTagName('e2color').item(0).firstChild.data;
467         } catch (e) {
468                 this.color = "N/A";
469         }
470         try{
471                 this.toggledisabled = xml.getElementsByTagName('e2toggledisabled').item(0).firstChild.data;
472         } catch (e) {
473                 this.toggledisabled = "N/A";
474         }
475         try{
476                 this.toggledisabledimg = xml.getElementsByTagName('e2toggledisabledimg').item(0).firstChild.data;
477         } catch (e) {
478                 this.toggledisabledimg = "N/A";
479         }
480
481         this.getColor = function(){
482                 return this.color;
483         }
484         this.getToggleDisabled = function(){
485                 return this.toggledisabled;
486         }
487         this.getToggleDisabledIMG = function(){
488                 return this.toggledisabledimg;
489         }
490         
491         this.getServiceReference = function(){
492                 return encodeURIComponent(this.servicereference);
493         }
494         this.getServiceName = function(){
495                 return this.servicename.replace('&quot;', '"');
496         }       
497         this.getEventID = function(){
498                 return this.eventid;
499         }       
500         this.getName = function(){
501                 return this.name;
502         }       
503         this.getDescription = function(){
504                 return this.description;
505         }       
506         this.getDescriptionExtended = function(){
507                 return this.descriptionextended;
508         }       
509         this.getDisabled = function(){
510                 return this.disabled;
511         }
512         this.getTimeBegin = function(){
513                 return this.timebegin;
514         }       
515         this.getTimeEnd = function(){
516                 return this.timeend;
517         }       
518         this.getDuration = function(){
519                 return parseInt(this.duration);
520         }       
521         this.getStartPrepare = function(){
522                 return this.startprepare;
523         }       
524         this.getJustplay = function(){
525                 return this.justplay;
526         }       
527         this.getAfterevent = function(){
528                 return this.afterevent;
529         }       
530         this.getLogentries = function(){
531                 return this.logentries;
532         }       
533         this.getFilename = function(){
534                 return this.tfilename;
535         }       
536         this.getBackoff = function(){
537                 return this.backoff;
538         }       
539         this.getNextActivation = function(){
540                 return this.nextactivation;
541         }       
542         this.getFirsttryprepare = function(){
543                 return this.firsttryprepare;
544         }       
545         this.getState = function(){
546                 return this.state;
547         }       
548         this.getRepeated = function(){
549                 return this.repeated;
550         }       
551         this.getDontSave = function(){
552                 return this.dontsave;
553         }       
554         this.isCancled = function(){
555                 return this.cancled;
556         }       
557 }
558 // START SimpleXMLResult ehemals TimerAddResult
559 function SimpleXMLResult(xml){
560         // parsing values from xml-element
561         debug('init SimpleXMLResult'+xml);
562         try{
563                 this.xmlitems = xml.getElementsByTagName("e2simplexmlresult").item(0);
564                 debug(xml.getElementsByTagName("e2simplexmlresult").length);
565         } catch (e) {
566                 debug("SimpleXMLResult parsing e2simplexmlresult"+e);
567         }
568         try{
569                 this.state = this.xmlitems.getElementsByTagName("e2state").item(0).firstChild.data;
570         } catch (e) {
571                 debug("SimpleXMLResult parsing e2state"+e);
572         }
573         try{
574                 this.statetext = this.xmlitems.getElementsByTagName("e2statetext").item(0).firstChild.data;
575         } catch (e) {
576                 debug("SimpleXMLResult parsing e2statetext"+e);
577         }
578         
579         this.getState = function(){
580                 if(this.state == 'True'){
581                         return true;
582                 }else{
583                         return false;
584                 }
585         }
586         this.getStateText = function(){
587                         return this.statetext;
588         }
589 }
590 // END SimpleXMLResult
591
592 //START class Settings
593 function Settings(xml){
594         // parsing values from xml-element
595         //debug('init ServiceList'+xml);
596         try{
597                 this.xmlitems = xml.getElementsByTagName("e2settings").item(0).getElementsByTagName("e2setting");
598                 debug(this.xmlitems);
599         } catch (e) {
600                 //debug("Service parsing Error");
601         }
602         this.getArray = function(){
603                 var listxy = new Array();
604                 for (var i=0;i<this.xmlitems.length;i++){
605                         var xv = new Setting(this.xmlitems.item(i));
606                         listxy.push(xv);                        
607                 }
608                 return listxy;
609         }
610 }
611 //END class Settings
612
613 //START class Setting
614 function Setting(xml){  
615         // parsing values from xml-element
616         //debug('init ServiceReference'+xml);
617         try{
618                 this.settingvalue = xml.getElementsByTagName('e2settingvalue').item(0).firstChild.data;
619                 this.settingname = xml.getElementsByTagName('e2settingname').item(0).firstChild.data;
620                 
621         } catch (e) {
622                 //debug("Service parsing Error "+e);
623         }
624         
625         this.getSettingValue = function(){
626                 return this.settingvalue;
627         }
628                 
629         this.getSettingName = function(){
630                 return this.settingname;
631         }
632         
633 }
634 //START class FileList
635 function FileList(xml){
636         // parsing values from xml-element
637         debug('init FileList'+xml);
638         try{
639                 this.xmlitems = xml.getElementsByTagName("e2filelist").item(0).getElementsByTagName("e2file");
640         } catch (e) {
641                 debug("FileList parsing Error");
642         }
643         this.getArray = function(){
644                 var listxy = new Array();
645                 for(var i=0;i<this.xmlitems.length;i++){
646                         //debug("parsing File "+i+" of "+this.xmlitems.length);
647                         var xv = new File(this.xmlitems.item(i));
648                         listxy.push(xv);                        
649                 }
650                 return listxy;
651         }
652 }
653 //END class FileList
654
655 //START class File
656 function File(xml){     
657         // parsing values from xml-element
658         //debug('init Movie');
659         try{
660                 this.servicereference = xml.getElementsByTagName('e2servicereference').item(0).firstChild.data;
661         } catch (e) {
662                 this.servicereference = "N/A";
663         }
664         this.getServiceReference = function(){
665                 return this.servicereference;
666         }
667         this.getNameOnly = function(){
668                 if(this.root == '/') {
669                         return this.servicereference;
670                 } else {
671                         return this.servicereference.replace(new RegExp('.*'+this.root, "i"), '');
672                 }
673         }
674         try{
675                 this.isdirectory = xml.getElementsByTagName('e2isdirectory').item(0).firstChild.data;
676         } catch (e) {
677                 this.isdirectory = "N/A";
678         }
679         this.getIsDirectory = function(){
680                 return this.isdirectory;
681         }
682         try{
683                 this.root = xml.getElementsByTagName('e2root').item(0).firstChild.data;
684         } catch (e) {
685                 this.root = "N/A";
686         }
687         this.getRoot = function(){
688                 return this.root;
689         }
690 }       
691 //END class File
692
693
694
695 //START class NoteList
696 function NoteList(xml){
697         // parsing values from xml-element
698         try{
699                 this.xmlitems = xml.getElementsByTagName("e2noteslist").item(0).getElementsByTagName("e2note");
700         } catch (e) {
701                 debug("NoteList parsing Error");
702         }
703         this.getArray = function(){
704                 var listxy = new Array();
705                 for(var i=0;i<this.xmlitems.length;i++){
706                         var xv = new Note(this.xmlitems.item(i));
707                         listxy.push(xv);                        
708                 }
709                 return listxy;
710         }
711 }
712 //END class NoteList
713
714 //START class Note
715 function Note(xml){     
716         try{
717                 this.filename = xml.getElementsByTagName('e2notename').item(0).firstChild.data;
718         } catch (e) {
719                 this.filename = "N/A";
720         }
721         try{
722                 this.saved = xml.getElementsByTagName('e2notesaved').item(0).firstChild.data;
723         } catch (e) {
724                 this.saved = "N/A";
725         }
726         try{
727                 this.nameold = xml.getElementsByTagName('e2notenameold').item(0).firstChild.data;
728         } catch (e) {
729                 this.nameold = "False";
730         }
731         try{
732                 this.content = xml.getElementsByTagName('e2notecontent').item(0).firstChild.data;
733         } catch (e) {
734                 this.content = " ";
735         }
736         try{
737                 this.size = xml.getElementsByTagName('e2notesize').item(0).firstChild.data;
738         } catch (e) {
739                 this.size = "N/A";
740         }
741         try{
742                 this.mtime = new Date(parseInt(xml.getElementsByTagName('e2notemtime').item(0).firstChild.data)*1000);
743         } catch (e) {
744                 this.mtime = "N/A";
745         }
746         try{
747                 this.ctime = new Date(parseInt(xml.getElementsByTagName('e2notectime').item(0).firstChild.data)*1000);
748         } catch (e) {
749                 this.ctime = "N/A";
750         }
751
752         this.getMTime = function()
753         {
754                 var Wochentag = new Array("So", "Mo", "Di", "Mi", "Do", "Fr", "Sa");
755                 var wday = Wochentag[this.mtime.getDay()];
756                 var day = this.mtime.getDate();
757                 var month = this.mtime.getMonth()+1;
758                 var year = this.mtime.getFullYear();
759                 return wday+".&nbsp;"+day+"."+month+"."+year+" "+this.mtime.getHours()+":"+this.mtime.getMinutes();
760         }
761         this.getCTime = function()
762         {
763                 var Wochentag = new Array("So", "Mo", "Di", "Mi", "Do", "Fr", "Sa");
764                 var wday = Wochentag[this.ctime.getDay()];
765                 var day = this.ctime.getDate();
766                 var month = this.ctime.getMonth()+1;
767                 var year = this.ctime.getFullYear();
768                 return wday+".&nbsp;"+day+"."+month+"."+year+" "+this.ctime.getHours()+":"+this.ctime.getMinutes();
769         }
770 }
771 //END class NoteList
772
773 //START class AutoTimerList
774 function AutoTimerList(xml){
775         // parsing values from xml-element
776         debug('init AutoTimerList'+xml);
777         try{
778                 this.xmlitems = xml.getElementsByTagName("e2autotmerlist").item(0).getElementsByTagName("e2autotimer");
779         } catch (e) {
780                 debug("AutoTimerList parsing Error");
781         }
782         this.getArray = function(){
783                 var listxy = new Array();
784                 for(var i=0;i<this.xmlitems.length;i++){
785                         //debug("parsing movie "+i+" of "+this.xmlitems.length);
786                         var xv = new AutoTimer(this.xmlitems.item(i));
787                         listxy.push(xv);                        
788                 }
789                 return listxy;
790         }
791 }
792 //END class AutoTimerList
793 //START class AutoTimer
794 function AutoTimer(xml){
795         // parsing values from xml-element
796         //debug('init Movie');
797         try{
798                 this.name = xml.getElementsByTagName('e2name').item(0).firstChild.data;
799         } catch (e) {
800                 this.name = "N/A";
801         }
802         try{
803                 this.match = xml.getElementsByTagName('e2match').item(0).firstChild.data;
804         } catch (e) {
805                 this.match = "N/A";
806         }
807         try{
808                 this.enabled = xml.getElementsByTagName('e2enabled').item(0).firstChild.data;
809         } catch (e) {
810                 this.enabled = "N/A";
811         }
812         try{
813                 this.excludetitle = xml.getElementsByTagName('e2excludetitle').item(0).firstChild.data;
814         } catch (e) {
815                 this.excludetitle = "N/A";
816         }
817         try{
818                 this.excludeshort = xml.getElementsByTagName('e2excludeshort').item(0).firstChild.data;
819         } catch (e) {
820                 this.excludeshort = "N/A";
821         }
822         try{
823                 this.excludedescription = xml.getElementsByTagName('e2excludedescription').item(0).firstChild.data;
824         } catch (e) {
825                 this.excludedescription = "N/A";
826         }
827         try{
828                 this.excludedays = xml.getElementsByTagName('e2excludedays').item(0).firstChild.data;
829         } catch (e) {
830                 this.excludedays = "n/a";
831         }
832         try{
833                 this.includetitle = xml.getElementsByTagName('e2includetitle').item(0).firstChild.data;
834         } catch (e) {
835                 this.includetitle = "N/A";
836         }
837         try{
838                 this.includeshort = xml.getElementsByTagName('e2includeshort').item(0).firstChild.data;
839         } catch (e) {
840                 this.includeshort = "N/A";
841         }
842         try{
843                 this.includedescription = xml.getElementsByTagName('e2includedescription').item(0).firstChild.data;
844         } catch (e) {
845                 this.includedescription = "N/A";
846         }
847         try{
848                 this.includedays = xml.getElementsByTagName('e2includedays').item(0).firstChild.data;
849         } catch (e) {
850                 this.includedays = "N/A";
851         }
852         try{
853                 this.services = xml.getElementsByTagName('e2services').item(0).firstChild.data;
854         } catch (e) {
855                 this.services = "N/A";
856         }
857         try{
858                 this.bouquets = xml.getElementsByTagName('e2bouquets').item(0).firstChild.data;
859         } catch (e) {
860                 this.bouquets = "N/A";
861         }
862         try{
863                 this.timespanbegin = xml.getElementsByTagName('e2timespanbegin').item(0).firstChild.data;
864         } catch (e) {
865                 this.timespanbegin = "0";
866         }
867         try{
868                 this.timespanend = xml.getElementsByTagName('e2timespanend').item(0).firstChild.data;
869         } catch (e) {
870                 this.timespanend = "0";
871         }
872         try{
873                 this.duration = xml.getElementsByTagName('e2duration').item(0).firstChild.data;
874         } catch (e) {
875                 this.duration = "0";
876         }
877         try{
878                 this.counter = xml.getElementsByTagName('e2counter').item(0).firstChild.data;
879         } catch (e) {
880                 this.counter = "0";
881         }
882         try{
883                 this.counterleft = xml.getElementsByTagName('e2counterleft').item(0).firstChild.data;
884         } catch (e) {
885                 this.counterleft = "0";
886         }
887         try{
888                 this.counterlimit = xml.getElementsByTagName('e2counterlimit').item(0).firstChild.data;
889         } catch (e) {
890                 this.counterlimit = "0";
891         }
892         try{
893                 this.counterformatstring = xml.getElementsByTagName('e2counterformatstring').item(0).firstChild.data;
894         } catch (e) {
895                 this.counterformatstring = "0";
896         }
897         try{
898                 this.destination = xml.getElementsByTagName('e2destination').item(0).firstChild.data;
899         } catch (e) {
900                 this.destination = "N/A";
901         }
902         try{
903                 this.lastbegin = xml.getElementsByTagName('e2lastbegin').item(0).firstChild.data;
904         } catch (e) {
905                 this.lastbegin = "0";
906         }
907         try{
908                 this.justplay = xml.getElementsByTagName('e2justplay').item(0).firstChild.data;
909         } catch (e) {
910                 this.justplay = "N/A";
911         }
912         try{
913                 this.avoidduplicatedescription = xml.getElementsByTagName('e2avoidduplicatedescription').item(0).firstChild.data;
914         } catch (e) {
915                 this.avoidduplicatedescription = "N/A";
916         }
917         try{
918                 this.afterevent = xml.getElementsByTagName('e2afterevent').item(0).firstChild.data;
919                 if(this.afterevent == "None") {
920                         this.afterevent = 0;
921                 }
922                 this.afterevent = Number(this.afterevent);
923         } catch (e) {
924                 this.afterevent = 0;
925         }
926         try{
927                 this.toggledisabledimg = xml.getElementsByTagName('e2toggledisableimg').item(0).firstChild.data;
928         } catch (e) {
929                 this.toggledisabledimg = "N/A";
930         }
931         try{
932                 this.tags = xml.getElementsByTagName('e2tags').item(0).firstChild.data;
933         } catch (e) {
934                 this.tags = "no&nbsp;tags"; // no whitespaces... tags will be splittet later
935         }
936         
937         this.getName = function(){
938         return this.name;
939     }
940     this.getMatch = function(){
941         return this.match;
942     }
943     this.getEnabled = function(){
944         return this.enabled;
945     }
946     this.getExcludetitle = function(){
947         return this.excludetitle;
948     }
949     this.getExcludeshort = function(){
950         return this.excludeshort;
951     }
952     this.getExcludedescription = function(){
953         return this.excludedescription;
954     }
955     this.getExcludedays = function(){
956         return this.excludedays;
957     }
958     this.getIncludetitle = function(){
959         return this.includetitle;
960     }
961     this.getIncludeshort = function(){
962         return this.includeshort;
963     }
964     this.getIncludedescription = function(){
965         return this.includedescription;
966     }
967     this.getIncludedays = function(){
968         return this.includedays;
969     }
970     this.getServices = function(){
971         return this.services;
972     }
973     this.getBouquets = function(){
974         return this.bouquets;
975     }
976     this.getTimespanbegin = function(){
977         return this.timespanbegin;
978     }
979     this.getTimespanend = function(){
980         return this.timespanend;
981     }
982     this.getDuration = function(){
983         return this.duration;
984     }
985     this.getCounter = function(){
986         return this.counter;
987     }
988     this.getCounterleft = function(){
989         return this.counterleft;
990     }
991     this.getCounterlimit = function(){
992         return this.counterlimit;
993     }
994     this.getCounterformatstring = function(){
995         return this.counterformatstring;
996     }
997     this.getDestination = function(){
998         return this.destination;
999     }
1000     this.getLastbegin = function(){
1001         return this.lastbegin;
1002     }
1003     this.getJustplay = function(){
1004         return this.justplay;
1005     }
1006     this.getAvoidduplicatedescription = function(){
1007         return this.avoidduplicatedescription;
1008     }
1009     this.getTags = function(){
1010         return this.tags;
1011     }
1012     this.getAfterevent = function(){
1013         return this.afterevent;
1014     }
1015     this.getToggleDisabledIMG = function(){
1016                 return this.toggledisabledimg;
1017         }
1018 }       
1019 //END class AutoTimer