2 // store all objects here
6 // parsing values from xml-element
7 //debug('init EPGList'+xml);
9 this.xmlitems = xml.getElementsByTagName("e2eventlist").item(0).getElementsByTagName("e2event");
10 } catch (e) { debug("EPGList parsing Error");}
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));
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]);
27 var listxy = new Array();
28 for (var i=0;i<this.xmlitems.length;i++){
29 var xv = new EPGEvent(this.xmlitems.item(i));
35 this.sortFunction = function(a,b){
41 //START class EPGEvent
42 function EPGEvent(xml){
43 // parsing values from xml-element
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;
53 //debug("EPGEvent parsing Error");
56 this.description = xml.getElementsByTagName('e2eventdescription').item(0).firstChild.data;
57 } catch (e) { this.description= 'N/A'; }
60 this.descriptionE = xml.getElementsByTagName('e2eventdescriptionextended').item(0).firstChild.data;
61 } catch (e) { this.descriptionE = 'N/A'; }
63 this.getFilename = function ()
67 this.getEventId = function ()
71 this.getTimeStart = function ()
73 var date = new Date(parseInt(this.startTime)*1000);
76 this.getTimeStartString = function ()
78 var h = this.getTimeStart().getHours();
79 var m = this.getTimeStart().getMinutes();
85 this.getTimeDay = function ()
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();
93 return wday+". "+day+"."+month+"."+year;
95 this.getTimeBegin = function(){
96 return this.getTimeStart().getTime()/1000
98 this.getTimeEnd = function ()
100 var date = new Date((parseInt(this.startTime)+parseInt(this.duration))*1000);
101 return date.getTime()/1000
103 this.getTimeEndString = function ()
105 var date = new Date((parseInt(this.startTime)+parseInt(this.duration))*1000);
106 var h = date.getHours();
107 var m = date.getMinutes();
113 this.getDuration = function ()
115 return new Date(parseInt(this.duration)*1000);
117 this.getTitle = function ()
121 this.getDescription = function ()
123 return this.description;
125 this.getDescriptionExtended = function ()
127 return this.descriptionE;
129 this.getServiceReference = function ()
131 return encodeURIComponent(this.serviceRef);
133 this.getServiceName = function ()
135 return this.serviceName.replace(" "," ");
140 //START class Service
141 function ServiceReference(xml){
142 // parsing values from xml-element
143 //debug('init ServiceReference'+xml);
145 this.servicereference = xml.getElementsByTagName('e2servicereference').item(0).firstChild.data;
146 this.servicename = xml.getElementsByTagName('e2servicename').item(0).firstChild.data;
148 //debug("Service parsing Error "+e);
151 this.getServiceReference = function(){
152 return encodeURIComponent(this.servicereference);
154 this.getClearServiceReference = function(){
155 return this.servicereference;
158 this.getServiceName = function(){
159 return this.servicename.replace('"', '"');
161 this.setServiceReference = function(toInsert){
162 this.servicereference = toInsert;
165 this.setServiceName = function(toInsert){
166 this.servicename = toInsert.replace('"', '"');
171 //START class ServiceList
172 function ServiceList(xml){
173 // parsing values from xml-element
174 //debug('init ServiceList'+xml);
176 this.xmlitems = xml.getElementsByTagName("e2servicelist").item(0).getElementsByTagName("e2service");
178 //debug("Service parsing Error");
180 this.getArray = function(){
181 var listxy = new Array();
182 for (var i=0;i<this.xmlitems.length;i++){
183 var xv = new ServiceReference(this.xmlitems.item(i));
189 //END class ServiceList
191 //START class MovieList
192 function MovieList(xml){
193 // parsing values from xml-element
194 debug('init MovieList'+xml);
196 this.xmlitems = xml.getElementsByTagName("e2movielist").item(0).getElementsByTagName("e2movie");
198 debug("MovieList parsing Error");
200 this.getArray = function(){
201 var listxy = new Array();
202 for(var i=0;i<this.xmlitems.length;i++){
203 //debug("parsing movie "+i+" of "+this.xmlitems.length);
204 var xv = new Movie(this.xmlitems.item(i));
210 //END class MovieList
214 // parsing values from xml-element
215 //debug('init Movie');
217 this.servicereference = xml.getElementsByTagName('e2servicereference').item(0).firstChild.data;
219 this.servicereference = "N/A";
222 this.servicename = xml.getElementsByTagName('e2servicename').item(0).firstChild.data;
224 this.servicename = "N/A";
227 this.title = xml.getElementsByTagName('e2title').item(0).firstChild.data;
232 this.descriptionextended = xml.getElementsByTagName('e2descriptionextended').item(0).firstChild.data;
234 this.descriptionextended = "N/A";
237 this.description = xml.getElementsByTagName('e2description').item(0).firstChild.data;
239 this.description = "N/A";
242 this.tags = xml.getElementsByTagName('e2tags').item(0).firstChild.data;
244 this.tags = "no tags"; // no whitespaces... tags will be splittet later
247 this.filename = xml.getElementsByTagName('e2filename').item(0).firstChild.data;
249 this.filename = "n/a";
251 this.getServiceReference = function(){
252 return encodeURIComponent(this.servicereference);
254 this.getServiceName = function(){
255 return this.servicename.replace('"', '"');
257 this.getTitle = function(){
260 this.getDescription = function(){
261 return this.description;
263 this.getDescriptionExtended = function(){
264 return this.descriptionextended;
266 this.getTags = function(){
267 return this.tags.split(" ");
269 this.getFilename = function(){
270 return encodeURIComponent(this.filename);
276 //START class TimerList
277 function TimerList(xml){
278 // parsing values from xml-element
280 this.xmlitems = xml.getElementsByTagName("e2timerlist").item(0).getElementsByTagName("e2timer");
282 debug("TimerList parsing Error");
284 this.getArray = function(){
285 var listxy = new Array();
286 for(var i=0;i<this.xmlitems.length;i++){
287 //debug("parsing timer "+i+" of "+this.xmlitems.length);
288 var xv = new Timer(this.xmlitems.item(i));
294 //END class TimerList
298 // parsing values from xml-element
299 //debug('init Timer');
301 this.servicereference = xml.getElementsByTagName('e2servicereference').item(0).firstChild.data;
303 this.servicereference = "N/A";
306 this.servicename = xml.getElementsByTagName('e2servicename').item(0).firstChild.data;
308 this.servicename = "N/A";
311 this.eventid = xml.getElementsByTagName('e2eit').item(0).firstChild.data;
313 this.eventid = "N/A";
316 this.name = xml.getElementsByTagName('e2name').item(0).firstChild.data;
321 this.description = xml.getElementsByTagName('e2description').item(0).firstChild.data;
323 this.description = "N/A";
326 this.descriptionextended = xml.getElementsByTagName('e2descriptionextended').item(0).firstChild.data;
328 this.descriptionextended = "N/A";
331 this.disabled = xml.getElementsByTagName('e2disabled').item(0).firstChild.data;
336 this.timebegin = xml.getElementsByTagName('e2timebegin').item(0).firstChild.data;
338 this.timebegin = "N/A";
341 this.timeend = xml.getElementsByTagName('e2timeend').item(0).firstChild.data;
343 this.timeend = "N/A";
346 this.duration = xml.getElementsByTagName('e2duration').item(0).firstChild.data;
351 this.startprepare = xml.getElementsByTagName('e2startprepare').item(0).firstChild.data;
353 this.startprepare = "N/A";
356 this.justplay = xml.getElementsByTagName('e2justplay').item(0).firstChild.data;
361 this.afterevent = xml.getElementsByTagName('e2afterevent').item(0).firstChild.data;
363 this.afterevent = "0";
366 this.logentries = xml.getElementsByTagName('e2logentries').item(0).firstChild.data;
368 this.logentries = "N/A";
371 this.tfilename = xml.getElementsByTagName('e2filename').item(0).firstChild.data;
373 this.tfilename = "N/A";
376 this.backoff = xml.getElementsByTagName('e2backoff').item(0).firstChild.data;
378 this.backoff = "N/A";
381 this.nextactivation = xml.getElementsByTagName('e2nextactivation').item(0).firstChild.data;
383 this.nextactivation = "N/A";
386 this.firsttryprepare = xml.getElementsByTagName('e2firsttryprepare').item(0).firstChild.data;
388 this.firsttryprepare = "N/A";
391 this.state = xml.getElementsByTagName('e2state').item(0).firstChild.data;
396 this.repeated = xml.getElementsByTagName('e2repeated').item(0).firstChild.data;
401 this.dontsave = xml.getElementsByTagName('e2dontsave').item(0).firstChild.data;
403 this.dontsave = "N/A";
406 this.cancled = xml.getElementsByTagName('e2cancled').item(0).firstChild.data;
408 this.cancled = "N/A";
411 this.getServiceReference = function(){
412 return encodeURIComponent(this.servicereference);
414 this.getServiceName = function(){
415 return this.servicename.replace('"', '"');
417 this.getEventID = function(){
420 this.getName = function(){
423 this.getDescription = function(){
424 return this.description;
426 this.getDescriptionExtended = function(){
427 return this.descriptionextended;
429 this.getDisabled = function(){
430 return this.disabled;
432 this.getTimeBegin = function(){
433 return this.timebegin;
435 this.getTimeEnd = function(){
438 this.getDuration = function(){
439 return parseInt(this.duration);
441 this.getStartPrepare = function(){
442 return this.startprepare;
444 this.getJustplay = function(){
445 return this.justplay;
447 this.getAfterevent = function(){
448 return this.afterevent;
450 this.getLogentries = function(){
451 return this.logentries;
453 this.getFilename = function(){
454 return this.tfilename;
456 this.getBackoff = function(){
459 this.getNextActivation = function(){
460 return this.nextactivation;
462 this.getFirsttryprepare = function(){
463 return this.firsttryprepare;
465 this.getState = function(){
468 this.getRepeated = function(){
469 return this.repeated;
471 this.getDontSave = function(){
472 return this.dontsave;
474 this.isCancled = function(){
478 // START SimpleXMLResult ehemals TimerAddResult
479 function SimpleXMLResult(xml){
480 // parsing values from xml-element
481 debug('init SimpleXMLResult'+xml);
483 this.xmlitems = xml.getElementsByTagName("e2simplexmlresult").item(0);
485 debug("SimpleXMLResult parsing e2simplexmlresult"+e);
488 this.state = this.xmlitems.getElementsByTagName("e2state").item(0).firstChild.data;
490 debug("SimpleXMLResult parsing e2state"+e);
493 this.statetext = this.xmlitems.getElementsByTagName("e2statetext").item(0).firstChild.data;
495 debug("SimpleXMLResult parsing e2statetext"+e);
498 this.getState = function(){
499 if(this.state == 'True'){
505 this.getStateText = function(){
506 return this.statetext;
509 // END SimpleXMLResult
511 //START class Settings
512 function Settings(xml){
513 // parsing values from xml-element
514 //debug('init ServiceList'+xml);
516 this.xmlitems = xml.getElementsByTagName("e2settings").item(0).getElementsByTagName("e2setting");
517 debug(this.xmlitems);
519 //debug("Service parsing Error");
521 this.getArray = function(){
522 var listxy = new Array();
523 for (var i=0;i<this.xmlitems.length;i++){
524 var xv = new Setting(this.xmlitems.item(i));
532 //START class Setting
533 function Setting(xml){
534 // parsing values from xml-element
535 //debug('init ServiceReference'+xml);
537 this.settingvalue = xml.getElementsByTagName('e2settingvalue').item(0).firstChild.data;
538 this.settingname = xml.getElementsByTagName('e2settingname').item(0).firstChild.data;
541 //debug("Service parsing Error "+e);
544 this.getSettingValue = function(){
545 return this.settingvalue;
548 this.getSettingName = function(){
549 return this.settingname;
553 //START class EMUList
554 function EMUList(xml){
555 // parsing values from xml-element
556 debug('init EMUList'+xml);
558 this.xmlitems = xml.getElementsByTagName("e2emulist").item(0).getElementsByTagName("e2emu");
560 debug("EMUList parsing Error" + e);
562 this.getArray = function(){
563 var listxy = new Array();
564 for(var i=0;i<this.xmlitems.length;i++){
565 //debug("parsing movie "+i+" of "+this.xmlitems.length);
566 var xv = new EMU(this.xmlitems.item(i));
576 // parsing values from xml-element
577 //debug('init Movie');
579 this.file = xml.getElementsByTagName('e2file').item(0).firstChild.data;
584 this.name = xml.getElementsByTagName('e2name').item(0).firstChild.data;
589 this.status = xml.getElementsByTagName('e2status').item(0).firstChild.data;
591 this.status = "not running";
594 this.link = xml.getElementsByTagName('e2link').item(0).firstChild.data;
598 this.getFile = function(){
601 this.getName = function(){
604 this.getStatus = function(){
607 this.getLink = function(){