470e7a1584cf546d4052e4e517548d3edba2d908
[vuplus_dvbapp-plugin] / 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("[EPGList] Sort by time "+sortbytime);
14                 if (sortbytime === true){
15                         var sort1 = [];
16                         for(var i=0;i<this.xmlitems.length;i++){
17                                 var xv = new EPGEvent(this.xmlitems.item(i));
18                                 sort1.push( [xv.startTime, xv] );
19                         }
20                         sort1.sort(this.sortFunction);
21                         var sort2 = [];
22                         for(i=0;i<sort1.length;i++){
23                                 sort2.push(sort1[i][1]);
24                         }
25                         return sort2;
26                 }else{
27                         var listxy = [];
28                         for (i=0;i<this.xmlitems.length;i++){
29                                 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         }       
54         try{
55                 this.description = xml.getElementsByTagName('e2eventdescription').item(0).firstChild.data;
56         } catch (e) {   this.description= 'N/A';        }
57         
58         try{
59                 this.descriptionE = xml.getElementsByTagName('e2eventdescriptionextended').item(0).firstChild.data;
60         } catch (e) {   this.descriptionE = 'N/A';      }
61
62         this.getFilename = function (){
63                 return this.fileName;
64         };
65         this.getEventId = function (){
66                 return this.eventID;
67         };
68         this.getTimeStart = function (){
69                 var date = new Date(parseInt(this.startTime, 10)*1000);
70                 return date;
71         };
72         this.getTimeStartString = function (){
73                 var h = this.getTimeStart().getHours();
74                 var m = this.getTimeStart().getMinutes();
75                 if (m < 10){
76                         m="0"+m;
77                 }
78                 return h+":"+m;
79         };
80         this.getTimeDay = function (){
81                 var Wochentag = ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"];
82                 var wday = Wochentag[this.getTimeStart().getDay()];
83                 var day = this.getTimeStart().getDate();
84                 var month = this.getTimeStart().getMonth()+1;
85                 var year = this.getTimeStart().getFullYear();
86                 
87                 return wday+".&nbsp;"+day+"."+month+"."+year;
88         };
89         this.getTimeBegin = function(){
90                 return this.getTimeStart().getTime()/1000;
91         };
92         this.getTimeEnd = function (){
93                 var date = new Date((parseInt(this.startTime, 10)+parseInt(this.duration, 10))*1000);
94                 return date.getTime()/1000;
95         };
96         this.getTimeEndString = function (){
97                 var date = new Date((parseInt(this.startTime, 10)+parseInt(this.duration, 10))*1000);
98                 var h = date.getHours();
99                 var m = date.getMinutes();
100                 if (m < 10){
101                         m="0"+m;
102                 }
103                 return h+":"+m;
104         };
105         this.getDuration = function (){
106                 return  new Date(parseInt(this.duration, 10)*1000);
107         };
108         this.getTitle = function (){
109                 return this.title;
110         };
111         this.getDescription = function (){
112                 return this.description;
113         };
114         this.getDescriptionExtended = function (){
115                 return this.descriptionE;
116         };
117         this.getServiceReference = function (){
118                 return encodeURIComponent(this.serviceRef);
119         };
120         this.getServiceName = function (){
121                 return this.serviceName.replace(" ","&nbsp;");
122         };
123 }
124 //END class EPGEvent
125
126 //START class Service
127 function ServiceReference(xml){ 
128         // parsing values from xml-element
129         //debug('init ServiceReference'+xml);
130         try{
131                 this.servicereference = xml.getElementsByTagName('e2servicereference').item(0).firstChild.data;
132                 this.servicename = xml.getElementsByTagName('e2servicename').item(0).firstChild.data;
133         } catch (e) {
134                 //debug("Service parsing Error "+e);
135         }
136         
137         this.getServiceReference = function(){
138                 return encodeURIComponent(this.servicereference);
139         };
140         
141         this.getClearServiceReference = function(){
142                 return this.servicereference;
143         };
144                 
145         this.getServiceName = function(){
146                 return this.servicename.replace('&quot;', '"');
147         };
148         
149         this.setServiceReference = function(toInsert){
150                 this.servicereference = toInsert;
151         };
152                 
153         this.setServiceName = function(toInsert){
154                 this.servicename = toInsert.replace('&quot;', '"');
155         };
156 }       
157 //END class Service
158
159 //START class ServiceList
160 function ServiceList(xml){
161         // parsing values from xml-element
162         //debug('init ServiceList'+xml);
163         try{
164                 this.xmlitems = xml.getElementsByTagName("e2servicelist").item(0).getElementsByTagName("e2service");
165         } catch (e) {
166                 //debug("Service parsing Error");
167         }
168         this.getArray = function(){
169                 var listxy = [];
170                 try{
171                         for (var i=0;i<this.xmlitems.length;i++){
172                                 var xv = new ServiceReference(this.xmlitems.item(i));
173                                 listxy.push(xv);
174                         }                       
175                 }catch (e){}
176                 
177                 return listxy;
178         };
179 }
180 //END class ServiceList
181
182 //START class MovieList
183 function MovieList(xml){
184         // parsing values from xml-element
185         debug('[MovieList] init: ' + xml);
186         try{
187                 this.xmlitems = xml.getElementsByTagName("e2movielist").item(0).getElementsByTagName("e2movie");
188         } catch (e) {
189                 debug("[MovieList] parsing Error");
190         }
191         this.getArray = function(){
192                 var listxy = [];
193                 for(var i=0;i<this.xmlitems.length;i++){
194                         //debug("parsing movie "+i+" of "+this.xmlitems.length);
195                         var xv = new Movie(this.xmlitems.item(i));
196                         listxy.push(xv);                        
197                 }
198                 return listxy;
199         };
200 }
201 //END class MovieList
202
203 //START class Movie
204 function Movie(xml){    
205         // parsing values from xml-element
206         //debug('init Movie');
207         try{
208                 this.servicereference = xml.getElementsByTagName('e2servicereference').item(0).firstChild.data;
209         } catch (e) {
210                 this.servicereference = "N/A";
211         }
212         try{
213                 this.servicename = xml.getElementsByTagName('e2servicename').item(0).firstChild.data;
214         } catch (e) {
215                 this.servicename = "N/A";
216         }
217         try{
218                 this.title = xml.getElementsByTagName('e2title').item(0).firstChild.data;
219         } catch (e) {
220                 this.title = "N/A";
221         }
222         try{
223                 this.descriptionextended = xml.getElementsByTagName('e2descriptionextended').item(0).firstChild.data;
224         } catch (e) {
225                 this.descriptionextended = "N/A";
226         }
227         try{
228                 this.description = xml.getElementsByTagName('e2description').item(0).firstChild.data;
229         } catch (e) {
230                 this.description = "N/A";
231         }
232         try{
233                 this.tags = xml.getElementsByTagName('e2tags').item(0).firstChild.data;
234         } catch (e) {
235                 this.tags = "no&nbsp;tags"; // no whitespaces... tags will be splittet later
236         }
237         try{
238                 this.filename = xml.getElementsByTagName('e2filename').item(0).firstChild.data;
239         } catch (e) {
240                 this.filename = "n/a";
241         }
242         try{
243                 this.filesize = xml.getElementsByTagName('e2filesize').item(0).firstChild.data;
244         } catch (e) {
245                 this.filesize = 0;
246         }
247         try{
248                 this.startTime = xml.getElementsByTagName('e2time').item(0).firstChild.data;
249         } catch (e) {
250                 this.startTime = "0";
251         }
252         try{
253                 this.length = xml.getElementsByTagName('e2length').item(0).firstChild.data;
254         } catch (e) {
255                 this.length = "0";
256         }
257         
258                 
259         
260
261         this.getLength = function (){
262                 return this.length;
263         };
264         
265         this.getTimeStart = function (){
266                 var date = new Date(parseInt(this.startTime, 10)*1000);
267                 return date;
268         };
269         
270         this.getTimeStartString = function (){
271                 var h = this.getTimeStart().getHours();
272                 var m = this.getTimeStart().getMinutes();
273                 if (m < 10){
274                         m="0"+m;
275                 }
276                 return h+":"+m;
277         };
278         
279         this.getTimeDay = function (){
280                 var Wochentag = ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"];
281                 var wday = Wochentag[this.getTimeStart().getDay()];
282                 var day = this.getTimeStart().getDate();
283                 var month = this.getTimeStart().getMonth()+1;
284                 var year = this.getTimeStart().getFullYear();
285                 
286                 return wday+".&nbsp;"+day+"."+month+"."+year;
287         };
288
289         this.getServiceReference = function(){
290                 return encodeURIComponent(this.servicereference);
291         };
292         this.getServiceName = function(){
293                 return this.servicename.replace('&quot;', '"');
294         };
295         
296         this.getTitle = function(){
297                 return this.title;
298         };
299         
300         this.getDescription = function(){
301                 return this.description;
302         };
303         
304         this.getDescriptionExtended = function(){
305                 return this.descriptionextended;
306         };
307         
308         this.getTags = function(){              
309                 return this.tags.split(" ");
310         };
311         
312         this.getFilename = function(){          
313                 return encodeURIComponent(this.filename);               
314         };
315         
316         this.getFilesizeMB = function(){                
317                 return Math.round((parseInt(this.filesize, 10)/1024)/1024)+"MB";
318         };      
319 }       
320 //END class Movie
321
322 //START class TimerList
323 function TimerList(xml){
324         // parsing values from xml-element
325         try{
326                 this.xmlitems = xml.getElementsByTagName("e2timerlist").item(0).getElementsByTagName("e2timer");
327         } catch (e) {
328                 debug("[TimerList] parsing Error");
329         }
330         this.getArray = function(){
331                 var listxy = [];
332                 for(var i=0;i<this.xmlitems.length;i++){
333                         //debug("parsing timer "+i+" of "+this.xmlitems.length);
334                         var xv = new Timer(this.xmlitems.item(i));
335                         listxy.push(xv);                        
336                 }
337                 return listxy;
338         };
339 }
340 //END class TimerList
341
342 //START class Timer
343 function Timer(xml){    
344         // parsing values from xml-element
345         //debug('init Timer');
346         try{
347                 this.servicereference = xml.getElementsByTagName('e2servicereference').item(0).firstChild.data;
348         } catch (e) {
349                 this.servicereference = "N/A";
350         }
351         try{
352                 this.servicename = xml.getElementsByTagName('e2servicename').item(0).firstChild.data;
353         } catch (e) {
354                 this.servicename = "N/A";
355         }
356         try{
357                 this.eventid = xml.getElementsByTagName('e2eit').item(0).firstChild.data;
358         } catch (e) {
359                 this.eventid = "N/A";
360         }
361         try{
362                 this.name = xml.getElementsByTagName('e2name').item(0).firstChild.data;
363         } catch (e) {
364                 this.name = "N/A";
365         }
366         try{
367                 this.description = xml.getElementsByTagName('e2description').item(0).firstChild.data;
368         } catch (e) {
369                 this.description = "N/A";
370         }
371         try{
372                 this.descriptionextended = xml.getElementsByTagName('e2descriptionextended').item(0).firstChild.data;
373         } catch (e) {
374                 this.descriptionextended = "N/A";
375         }
376         try{
377                 this.disabled = xml.getElementsByTagName('e2disabled').item(0).firstChild.data;
378         } catch (e) {
379                 this.disabled = "0";
380         }
381         try{
382                 this.timebegin = xml.getElementsByTagName('e2timebegin').item(0).firstChild.data;
383         } catch (e) {
384                 this.timebegin = "N/A";
385         }
386         try{
387                 this.timeend = xml.getElementsByTagName('e2timeend').item(0).firstChild.data;
388         } catch (e) {
389                 this.timeend = "N/A";
390         }
391         try{
392                 this.duration = xml.getElementsByTagName('e2duration').item(0).firstChild.data;
393         } catch (e) {           
394                 this.duration = "0";
395         }
396         try{
397                 this.startprepare = xml.getElementsByTagName('e2startprepare').item(0).firstChild.data;
398         } catch (e) {
399                 this.startprepare = "N/A";
400         }
401         try{
402                 this.justplay = xml.getElementsByTagName('e2justplay').item(0).firstChild.data;
403         } catch (e) {
404                 this.justplay = "";
405         }
406         try{
407                 this.afterevent = xml.getElementsByTagName('e2afterevent').item(0).firstChild.data;
408         } catch (e) {
409                 this.afterevent = "0";
410         }
411         try{
412                 this.dirname = xml.getElementsByTagName('e2dirname').item(0).firstChild.data;
413         } catch (e) {
414                 this.dirname = "/hdd/movie/";
415         }
416         try{
417                 this.tags = xml.getElementsByTagName('e2tags').item(0).firstChild.data;
418         } catch (e) {
419                 this.tags = "";
420         }
421         try{
422                 this.logentries = xml.getElementsByTagName('e2logentries').item(0).firstChild.data;
423         } catch (e) {
424                 this.logentries = "N/A";
425         }
426         try{
427                 this.tfilename = xml.getElementsByTagName('e2filename').item(0).firstChild.data;
428         } catch (e) {
429                 this.tfilename = "N/A";
430         }
431         try{
432                 this.backoff = xml.getElementsByTagName('e2backoff').item(0).firstChild.data;
433         } catch (e) {
434                 this.backoff = "N/A";
435         }
436         try{
437                 this.nextactivation = xml.getElementsByTagName('e2nextactivation').item(0).firstChild.data;
438         } catch (e) {
439                 this.nextactivation = "N/A";
440         }
441         try{
442                 this.firsttryprepare = xml.getElementsByTagName('e2firsttryprepare').item(0).firstChild.data;
443         } catch (e) {
444                 this.firsttryprepare = "N/A";
445         }
446         try{
447                 this.state = xml.getElementsByTagName('e2state').item(0).firstChild.data;
448         } catch (e) {
449                 this.state = "N/A";
450         }
451         try{
452                 this.repeated = xml.getElementsByTagName('e2repeated').item(0).firstChild.data;
453         } catch (e) {
454                 this.repeated = "0";
455         }
456         try{
457                 this.dontsave = xml.getElementsByTagName('e2dontsave').item(0).firstChild.data;
458         } catch (e) {
459                 this.dontsave = "N/A";
460         }
461         try{
462                 this.cancled = xml.getElementsByTagName('e2cancled').item(0).firstChild.data;
463         } catch (e) {
464                 this.cancled = "N/A";
465         }
466         try{
467                 this.color = xml.getElementsByTagName('e2color').item(0).firstChild.data;
468         } catch (e) {
469                 this.color = "N/A";
470         }
471         try{
472                 this.toggledisabled = xml.getElementsByTagName('e2toggledisabled').item(0).firstChild.data;
473         } catch (e) {
474                 this.toggledisabled = "N/A";
475         }
476         try{
477                 this.toggledisabledimg = xml.getElementsByTagName('e2toggledisabledimg').item(0).firstChild.data;
478         } catch (e) {
479                 this.toggledisabledimg = "N/A";
480         }
481
482         this.getColor = function(){
483                 return this.color;
484         };
485         
486         this.getToggleDisabled = function(){
487                 return this.toggledisabled;
488         };
489         
490         this.getToggleDisabledIMG = function(){
491                 return this.toggledisabledimg;
492         };
493         
494         this.getToggleDisabledText = function(){
495                 var retVal = this.toggledisabled == "0" ? "Enable timer" : "Disable timer";
496                 return retVal;
497         };
498         
499         this.getServiceReference = function(){
500                 return encodeURIComponent(this.servicereference);
501         };
502         
503         this.getServiceName = function(){
504                 return this.servicename.replace('&quot;', '"');
505         };
506         
507         this.getEventID = function(){
508                 return this.eventid;
509         };
510         
511         this.getName = function(){
512                 return this.name;
513         };
514         
515         this.getDescription = function(){
516                 return this.description;
517         };
518         
519         this.getDescriptionExtended = function(){
520                 return this.descriptionextended;
521         };
522         
523         this.getDisabled = function(){
524                 return this.disabled;
525         };
526         
527         this.getTimeBegin = function(){
528                 return this.timebegin;
529         };
530         
531         this.getTimeEnd = function(){
532                 return this.timeend;
533         };
534         
535         this.getDuration = function(){
536                 return parseInt(this.duration, 10);
537         };
538         
539         this.getStartPrepare = function(){
540                 return this.startprepare;
541         };
542         
543         this.getJustplay = function(){
544                 return this.justplay;
545         };
546         
547         this.getAfterevent = function(){
548                 return this.afterevent;
549         };
550         
551         this.getDirname = function(){
552                 return this.dirname;
553         };
554
555         this.getTags = function(){
556                 return this.tags;
557         };
558
559         this.getLogentries = function(){
560                 return this.logentries;
561         };
562         
563         this.getFilename = function(){
564                 return this.tfilename;
565         };
566         
567         this.getBackoff = function(){
568                 return this.backoff;
569         };
570         
571         this.getNextActivation = function(){
572                 return this.nextactivation;
573         };
574         
575         this.getFirsttryprepare = function(){
576                 return this.firsttryprepare;
577         };
578         
579         this.getState = function(){
580                 return this.state;
581         };
582         
583         this.getRepeated = function(){
584                 return this.repeated;
585         };
586         
587         this.getDontSave = function(){
588                 return this.dontsave;
589         };
590         
591         this.isCancled = function(){
592                 return this.cancled;
593         };      
594 }
595 // START SimpleXMLResult ehemals TimerAddResult
596 function SimpleXMLResult(xml){
597         // parsing values from xml-element
598         debug('[SimpleXMLResult] init: '+xml);
599         try{
600                 this.xmlitems = xml.getElementsByTagName("e2simplexmlresult").item(0);
601                 debug("[SimpleXMLResult] count: " + xml.getElementsByTagName("e2simplexmlresult").length);
602         } catch (e) {
603                 debug("[SimpleXMLResult] parsing e2simplexmlresult"+e);
604         }
605         try{
606                 this.state = this.xmlitems.getElementsByTagName("e2state").item(0).firstChild.data;
607         } catch (e) {
608                 debug("[SimpleXMLResult] parsing e2state"+e);
609         }
610         try{
611                 this.statetext = this.xmlitems.getElementsByTagName("e2statetext").item(0).firstChild.data;
612         } catch (e) {
613                 debug("[SimpleXMLResult] parsing e2statetext"+e);
614         }
615         
616         this.getState = function(){
617                 if(this.state == 'True'){
618                         return true;
619                 }else{
620                         return false;
621                 }
622         };
623         this.getStateText = function(){
624                         return this.statetext;
625         };
626 }
627 // END SimpleXMLResult
628
629 //START class Settings
630 function Settings(xml){
631         // parsing values from xml-element
632         //debug('init ServiceList'+xml);
633         try{
634                 this.xmlitems = xml.getElementsByTagName("e2settings").item(0).getElementsByTagName("e2setting");
635                 debug("[Settings] Number of items: " + this.xmlitems);
636         } catch (e) {
637                 //debug("Service parsing Error");
638         }
639         this.getArray = function(){
640                 var listxy = [];
641                 for (var i=0;i<this.xmlitems.length;i++){
642                         var xv = new Setting(this.xmlitems.item(i));
643                         listxy.push(xv);                        
644                 }
645                 return listxy;
646         };
647 }
648 //END class Settings
649
650 //START class Setting
651 function Setting(xml){  
652         // parsing values from xml-element
653         //debug('init ServiceReference'+xml);
654         try{
655                 this.settingvalue = xml.getElementsByTagName('e2settingvalue').item(0).firstChild.data;
656                 this.settingname = xml.getElementsByTagName('e2settingname').item(0).firstChild.data;
657                 
658         } catch (e) {
659                 //debug("Service parsing Error "+e);
660         }
661         
662         this.getSettingValue = function(){
663                 return this.settingvalue;
664         };
665                 
666         this.getSettingName = function(){
667                 return this.settingname;
668         };
669         
670 }
671 //START class FileList
672 function FileList(xml){
673         // parsing values from xml-element
674         debug('[FileList] init: ' + xml);
675         try{
676                 this.xmlitems = xml.getElementsByTagName("e2filelist").item(0).getElementsByTagName("e2file");
677         } catch (e) {
678                 debug("[FileList] parsing Error");
679         }
680         this.getArray = function(){
681                 var listxy = [];
682                 for(var i=0;i<this.xmlitems.length;i++){
683                         //debug("parsing File "+i+" of "+this.xmlitems.length);
684                         var xv = new File(this.xmlitems.item(i));
685                         listxy.push(xv);                        
686                 }
687                 return listxy;
688         };
689 }
690 //END class FileList
691
692 //START class File
693 function File(xml){     
694         // parsing values from xml-element
695         //debug('init Movie');
696         try{
697                 this.servicereference = xml.getElementsByTagName('e2servicereference').item(0).firstChild.data;
698         } catch (e) {
699                 this.servicereference = "N/A";
700         }
701         this.getServiceReference = function(){
702                 return this.servicereference;
703         };
704         
705         this.getNameOnly = function(){
706                 if(this.root == '/') {
707                         return this.servicereference;
708                 } else {
709                         return this.servicereference.replace(new RegExp('.*'+this.root, "i"), '');
710                 }
711         };
712         
713         try{
714                 this.isdirectory = xml.getElementsByTagName('e2isdirectory').item(0).firstChild.data;
715         } catch (e) {
716                 this.isdirectory = "N/A";
717         }
718         
719         this.getIsDirectory = function(){
720                 return this.isdirectory;
721         };
722         
723         try{
724                 this.root = xml.getElementsByTagName('e2root').item(0).firstChild.data;
725         } catch (e) {
726                 this.root = "N/A";
727         }
728         
729         this.getRoot = function(){
730                 return this.root;
731         };
732 }       
733 //END class File
734
735
736
737 //START class NoteList
738 function NoteList(xml){
739         // parsing values from xml-element
740         try{
741                 this.xmlitems = xml.getElementsByTagName("e2noteslist").item(0).getElementsByTagName("e2note");
742         } catch (e) {
743                 debug("[NoteList] parsing Error");
744         }
745         this.getArray = function(){
746                 var listxy = [];
747                 for(var i=0;i<this.xmlitems.length;i++){
748                         var xv = new Note(this.xmlitems.item(i));
749                         listxy.push(xv);                        
750                 }
751                 return listxy;
752         };
753 }
754 //END class NoteList
755
756 //START class Note
757 function Note(xml){     
758         try{
759                 this.filename = xml.getElementsByTagName('e2notename').item(0).firstChild.data;
760         } catch (e) {
761                 this.filename = "N/A";
762         }
763         try{
764                 this.saved = xml.getElementsByTagName('e2notesaved').item(0).firstChild.data;
765         } catch (e) {
766                 this.saved = "N/A";
767         }
768         try{
769                 this.nameold = xml.getElementsByTagName('e2notenameold').item(0).firstChild.data;
770         } catch (e) {
771                 this.nameold = "False";
772         }
773         try{
774                 this.content = xml.getElementsByTagName('e2notecontent').item(0).firstChild.data;
775         } catch (e) {
776                 this.content = " ";
777         }
778         try{
779                 this.size = xml.getElementsByTagName('e2notesize').item(0).firstChild.data;
780         } catch (e) {
781                 this.size = "N/A";
782         }
783         try{
784                 this.mtime = new Date(parseInt(xml.getElementsByTagName('e2notemtime').item(0).firstChild.data, 10)*1000);
785         } catch (e) {
786                 this.mtime = "N/A";
787         }
788         try{
789                 this.ctime = new Date(parseInt(xml.getElementsByTagName('e2notectime').item(0).firstChild.data, 10)*1000);
790         } catch (e) {
791                 this.ctime = "N/A";
792         }
793
794         this.getMTime = function(){
795                 var Wochentag = ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"];
796                 var wday = Wochentag[this.mtime.getDay()];
797                 var day = this.mtime.getDate();
798                 var month = this.mtime.getMonth()+1;
799                 var year = this.mtime.getFullYear();
800                 return wday+".&nbsp;"+day+"."+month+"."+year+" "+this.mtime.getHours()+":"+this.mtime.getMinutes();
801         };
802         
803         this.getCTime = function(){
804                 var Wochentag = ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"];
805                 var wday = Wochentag[this.ctime.getDay()];
806                 var day = this.ctime.getDate();
807                 var month = this.ctime.getMonth()+1;
808                 var year = this.ctime.getFullYear();
809                 return wday+".&nbsp;"+day+"."+month+"."+year+" "+this.ctime.getHours()+":"+this.ctime.getMinutes();
810         };
811 }
812 //END class NoteList