23ff91f0e718571f31d4e29850c75d3fb37f4ca1
[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.logentries = xml.getElementsByTagName('e2logentries').item(0).firstChild.data;
413         } catch (e) {
414                 this.logentries = "N/A";
415         }
416         try{
417                 this.tfilename = xml.getElementsByTagName('e2filename').item(0).firstChild.data;
418         } catch (e) {
419                 this.tfilename = "N/A";
420         }
421         try{
422                 this.backoff = xml.getElementsByTagName('e2backoff').item(0).firstChild.data;
423         } catch (e) {
424                 this.backoff = "N/A";
425         }
426         try{
427                 this.nextactivation = xml.getElementsByTagName('e2nextactivation').item(0).firstChild.data;
428         } catch (e) {
429                 this.nextactivation = "N/A";
430         }
431         try{
432                 this.firsttryprepare = xml.getElementsByTagName('e2firsttryprepare').item(0).firstChild.data;
433         } catch (e) {
434                 this.firsttryprepare = "N/A";
435         }
436         try{
437                 this.state = xml.getElementsByTagName('e2state').item(0).firstChild.data;
438         } catch (e) {
439                 this.state = "N/A";
440         }
441         try{
442                 this.repeated = xml.getElementsByTagName('e2repeated').item(0).firstChild.data;
443         } catch (e) {
444                 this.repeated = "0";
445         }
446         try{
447                 this.dontsave = xml.getElementsByTagName('e2dontsave').item(0).firstChild.data;
448         } catch (e) {
449                 this.dontsave = "N/A";
450         }
451         try{
452                 this.cancled = xml.getElementsByTagName('e2cancled').item(0).firstChild.data;
453         } catch (e) {
454                 this.cancled = "N/A";
455         }
456         try{
457                 this.color = xml.getElementsByTagName('e2color').item(0).firstChild.data;
458         } catch (e) {
459                 this.color = "N/A";
460         }
461         try{
462                 this.toggledisabled = xml.getElementsByTagName('e2toggledisabled').item(0).firstChild.data;
463         } catch (e) {
464                 this.toggledisabled = "N/A";
465         }
466         try{
467                 this.toggledisabledimg = xml.getElementsByTagName('e2toggledisabledimg').item(0).firstChild.data;
468         } catch (e) {
469                 this.toggledisabledimg = "N/A";
470         }
471
472         this.getColor = function(){
473                 return this.color;
474         };
475         
476         this.getToggleDisabled = function(){
477                 return this.toggledisabled;
478         };
479         
480         this.getToggleDisabledIMG = function(){
481                 return this.toggledisabledimg;
482         };
483         
484         this.getToggleDisabledText = function(){
485                 var retVal = this.toggledisabled == "0" ? "Enable timer" : "Disable timer";
486                 return retVal;
487         };
488         
489         this.getServiceReference = function(){
490                 return encodeURIComponent(this.servicereference);
491         };
492         
493         this.getServiceName = function(){
494                 return this.servicename.replace('&quot;', '"');
495         };
496         
497         this.getEventID = function(){
498                 return this.eventid;
499         };
500         
501         this.getName = function(){
502                 return this.name;
503         };
504         
505         this.getDescription = function(){
506                 return this.description;
507         };
508         
509         this.getDescriptionExtended = function(){
510                 return this.descriptionextended;
511         };
512         
513         this.getDisabled = function(){
514                 return this.disabled;
515         };
516         
517         this.getTimeBegin = function(){
518                 return this.timebegin;
519         };
520         
521         this.getTimeEnd = function(){
522                 return this.timeend;
523         };
524         
525         this.getDuration = function(){
526                 return parseInt(this.duration, 10);
527         };
528         
529         this.getStartPrepare = function(){
530                 return this.startprepare;
531         };
532         
533         this.getJustplay = function(){
534                 return this.justplay;
535         };
536         
537         this.getAfterevent = function(){
538                 return this.afterevent;
539         };
540         
541         this.getLogentries = function(){
542                 return this.logentries;
543         };
544         
545         this.getFilename = function(){
546                 return this.tfilename;
547         };
548         
549         this.getBackoff = function(){
550                 return this.backoff;
551         };
552         
553         this.getNextActivation = function(){
554                 return this.nextactivation;
555         };
556         
557         this.getFirsttryprepare = function(){
558                 return this.firsttryprepare;
559         };
560         
561         this.getState = function(){
562                 return this.state;
563         };
564         
565         this.getRepeated = function(){
566                 return this.repeated;
567         };
568         
569         this.getDontSave = function(){
570                 return this.dontsave;
571         };
572         
573         this.isCancled = function(){
574                 return this.cancled;
575         };      
576 }
577 // START SimpleXMLResult ehemals TimerAddResult
578 function SimpleXMLResult(xml){
579         // parsing values from xml-element
580         debug('[SimpleXMLResult] init: '+xml);
581         try{
582                 this.xmlitems = xml.getElementsByTagName("e2simplexmlresult").item(0);
583                 debug("[SimpleXMLResult] count: " + xml.getElementsByTagName("e2simplexmlresult").length);
584         } catch (e) {
585                 debug("[SimpleXMLResult] parsing e2simplexmlresult"+e);
586         }
587         try{
588                 this.state = this.xmlitems.getElementsByTagName("e2state").item(0).firstChild.data;
589         } catch (e) {
590                 debug("[SimpleXMLResult] parsing e2state"+e);
591         }
592         try{
593                 this.statetext = this.xmlitems.getElementsByTagName("e2statetext").item(0).firstChild.data;
594         } catch (e) {
595                 debug("[SimpleXMLResult] parsing e2statetext"+e);
596         }
597         
598         this.getState = function(){
599                 if(this.state == 'True'){
600                         return true;
601                 }else{
602                         return false;
603                 }
604         };
605         this.getStateText = function(){
606                         return this.statetext;
607         };
608 }
609 // END SimpleXMLResult
610
611 //START class Settings
612 function Settings(xml){
613         // parsing values from xml-element
614         //debug('init ServiceList'+xml);
615         try{
616                 this.xmlitems = xml.getElementsByTagName("e2settings").item(0).getElementsByTagName("e2setting");
617                 debug("[Settings] Number of items: " + this.xmlitems);
618         } catch (e) {
619                 //debug("Service parsing Error");
620         }
621         this.getArray = function(){
622                 var listxy = [];
623                 for (var i=0;i<this.xmlitems.length;i++){
624                         var xv = new Setting(this.xmlitems.item(i));
625                         listxy.push(xv);                        
626                 }
627                 return listxy;
628         };
629 }
630 //END class Settings
631
632 //START class Setting
633 function Setting(xml){  
634         // parsing values from xml-element
635         //debug('init ServiceReference'+xml);
636         try{
637                 this.settingvalue = xml.getElementsByTagName('e2settingvalue').item(0).firstChild.data;
638                 this.settingname = xml.getElementsByTagName('e2settingname').item(0).firstChild.data;
639                 
640         } catch (e) {
641                 //debug("Service parsing Error "+e);
642         }
643         
644         this.getSettingValue = function(){
645                 return this.settingvalue;
646         };
647                 
648         this.getSettingName = function(){
649                 return this.settingname;
650         };
651         
652 }
653 //START class FileList
654 function FileList(xml){
655         // parsing values from xml-element
656         debug('[FileList] init: ' + xml);
657         try{
658                 this.xmlitems = xml.getElementsByTagName("e2filelist").item(0).getElementsByTagName("e2file");
659         } catch (e) {
660                 debug("[FileList] parsing Error");
661         }
662         this.getArray = function(){
663                 var listxy = [];
664                 for(var i=0;i<this.xmlitems.length;i++){
665                         //debug("parsing File "+i+" of "+this.xmlitems.length);
666                         var xv = new File(this.xmlitems.item(i));
667                         listxy.push(xv);                        
668                 }
669                 return listxy;
670         };
671 }
672 //END class FileList
673
674 //START class File
675 function File(xml){     
676         // parsing values from xml-element
677         //debug('init Movie');
678         try{
679                 this.servicereference = xml.getElementsByTagName('e2servicereference').item(0).firstChild.data;
680         } catch (e) {
681                 this.servicereference = "N/A";
682         }
683         this.getServiceReference = function(){
684                 return this.servicereference;
685         };
686         
687         this.getNameOnly = function(){
688                 if(this.root == '/') {
689                         return this.servicereference;
690                 } else {
691                         return this.servicereference.replace(new RegExp('.*'+this.root, "i"), '');
692                 }
693         };
694         
695         try{
696                 this.isdirectory = xml.getElementsByTagName('e2isdirectory').item(0).firstChild.data;
697         } catch (e) {
698                 this.isdirectory = "N/A";
699         }
700         
701         this.getIsDirectory = function(){
702                 return this.isdirectory;
703         };
704         
705         try{
706                 this.root = xml.getElementsByTagName('e2root').item(0).firstChild.data;
707         } catch (e) {
708                 this.root = "N/A";
709         }
710         
711         this.getRoot = function(){
712                 return this.root;
713         };
714 }       
715 //END class File
716
717
718
719 //START class NoteList
720 function NoteList(xml){
721         // parsing values from xml-element
722         try{
723                 this.xmlitems = xml.getElementsByTagName("e2noteslist").item(0).getElementsByTagName("e2note");
724         } catch (e) {
725                 debug("[NoteList] parsing Error");
726         }
727         this.getArray = function(){
728                 var listxy = [];
729                 for(var i=0;i<this.xmlitems.length;i++){
730                         var xv = new Note(this.xmlitems.item(i));
731                         listxy.push(xv);                        
732                 }
733                 return listxy;
734         };
735 }
736 //END class NoteList
737
738 //START class Note
739 function Note(xml){     
740         try{
741                 this.filename = xml.getElementsByTagName('e2notename').item(0).firstChild.data;
742         } catch (e) {
743                 this.filename = "N/A";
744         }
745         try{
746                 this.saved = xml.getElementsByTagName('e2notesaved').item(0).firstChild.data;
747         } catch (e) {
748                 this.saved = "N/A";
749         }
750         try{
751                 this.nameold = xml.getElementsByTagName('e2notenameold').item(0).firstChild.data;
752         } catch (e) {
753                 this.nameold = "False";
754         }
755         try{
756                 this.content = xml.getElementsByTagName('e2notecontent').item(0).firstChild.data;
757         } catch (e) {
758                 this.content = " ";
759         }
760         try{
761                 this.size = xml.getElementsByTagName('e2notesize').item(0).firstChild.data;
762         } catch (e) {
763                 this.size = "N/A";
764         }
765         try{
766                 this.mtime = new Date(parseInt(xml.getElementsByTagName('e2notemtime').item(0).firstChild.data, 10)*1000);
767         } catch (e) {
768                 this.mtime = "N/A";
769         }
770         try{
771                 this.ctime = new Date(parseInt(xml.getElementsByTagName('e2notectime').item(0).firstChild.data, 10)*1000);
772         } catch (e) {
773                 this.ctime = "N/A";
774         }
775
776         this.getMTime = function(){
777                 var Wochentag = ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"];
778                 var wday = Wochentag[this.mtime.getDay()];
779                 var day = this.mtime.getDate();
780                 var month = this.mtime.getMonth()+1;
781                 var year = this.mtime.getFullYear();
782                 return wday+".&nbsp;"+day+"."+month+"."+year+" "+this.mtime.getHours()+":"+this.mtime.getMinutes();
783         };
784         
785         this.getCTime = function(){
786                 var Wochentag = ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"];
787                 var wday = Wochentag[this.ctime.getDay()];
788                 var day = this.ctime.getDate();
789                 var month = this.ctime.getMonth()+1;
790                 var year = this.ctime.getFullYear();
791                 return wday+".&nbsp;"+day+"."+month+"."+year+" "+this.ctime.getHours()+":"+this.ctime.getMinutes();
792         };
793 }
794 //END class NoteList