/*##########################################################################*/ /* Browser independent size detection */ /*##########################################################################*/ function GetWindowW() { if (window.innerWidth) { return window.innerWidth; } else if (document.body && document.body.offsetWidth) { return document.body.offsetWidth; } else { return 0; } } function GetWindowH() { if (window.innerHeight) { return window.innerHeight; } else if (document.body && document.body.offsetHeight) { return document.body.offsetHeight; } else { return 0; } } /*##########################################################################*/ /* Utility functions */ /*##########################################################################*/ function W(s) { document.write(s); } function Div(x, y) { return (x - x % y) / y; } function Translation(_now, _o_clock, _to) { this.now = _now; this.o_clock = _o_clock; this.to = _to; } function ChannelInfo(vdr_id, name, url, events) { this.vdr_id = vdr_id; this.name = name; this.url = url; this.events = events; } function EPGEvent(epg_id, start_sec, stop_sec, title, timer, summary) { this.epg_id = epg_id; this.start_sec = start_sec; this.stop_sec = stop_sec; this.start_str = format_date('%H:%M', start_sec); this.stop_str = format_date('%H:%M', stop_sec); this.title = title; this.timer = timer; this.summary = summary; } function format_date(fmt, time) { var date = new Date(time * 1000); switch (fmt) { case "%H:%M": { var h = '0' + date.getHours(); var m = '0' + date.getMinutes(); return h.substr(h.length-2, 2) + ':' + m.substr(m.length-2, 2); } } return "[WRONG_FMT:" + fmt + "]"; } function SetTimeLine(_this, _table_w, _px_per_min, _end_min) { _this.name_w = 100; _this.table_w = _table_w; _this.px_per_min = _px_per_min; _this.end_min = Div(_this.table_w - _this.name_w, _this.px_per_min); if (_this.end_min > _end_min) { _this.px_per_min = Div(_this.table_w - _this.name_w, _end_min); _this.end_min = _end_min; } _this.end_min -= _this.end_min % 30; _this.event_w = _this.end_min * _this.px_per_min; _this.name_w = _this.table_w - _this.event_w; _this.end_sec = _this.start_sec + _this.end_min * 60; _this.first_sec = _this.now_sec + 1799 - _this.end_min * 60; _this.first_sec -= _this.first_sec % 1800; _this.last_sec = _this.first_sec + 86400; } function TimeLine(_req_sec, _now_url, _px_per_min, _end_min) { this.now_url = _now_url; this.org_px_per_min = _px_per_min; this.org_end_min = _end_min; this.req_sec = _req_sec; this.start_sec = _req_sec - _req_sec % 1800; this.min5_h = 10; var d = new Date(); this.now_sec = Div(d.getTime(), 1000); var table_w = GetWindowW(); if (!document.all) { table_w -= 8; } SetTimeLine(this, table_w, _px_per_min, _end_min); } /*##########################################################################*/ /* Build the HTML code */ /*##########################################################################*/ function BuildOption(time, selected, text) { W(''); } function BuildHiddenFrameInput() { W(''); } function BuildContent() { /* Write content div */ BuildContentDiv(); /* Check if the width has changed due to vertical scrollbar */ var tab = document.getElementById("heading"); var table_w; if (tab) { table_w = tab.clientWidth; } else { table_w = this.innerWidth; } if (tl.table_w > table_w) { /* Recalculate all data for new table width */ SetTimeLine(tl, table_w, tl.org_px_per_min, tl.org_end_min); /* Delete first content div */ tab = document.getElementById("content"); tab.innerHTML = null; /* Write second content div */ BuildContentDiv(); } } function BuildContentDiv() { W('
![]() | ');
for (var min = 0; min < tl.end_min; min += 30)
{
var c = min % 60 ? 'color1' : 'color2';
var w = tl.px_per_min * (tl.end_min - min < 30) ? tl.end_min - min : 30;
var t = tl.start_sec + min * 60;
W('');
W('![]() '); W('' + format_date('%H:%M', t) + ''); W(' | ');
}
W('|||||
![]() | ');
for (var min = 0; min < tl.end_min; min += 5)
{
var c = min % 10 ? 'color1' : 'color2';
var w = tl.px_per_min * 5;
W('');
W('![]() '); W(' | ');
}
W('
');
W('![]() '); W(' ![]() | ');
W('
');
W('![]() '); W(' | ');
W('