var tvDir = "../tv/"; var currentTime; var startTime; var endTime; // Set width (seconds per pixel) var widthPx = 15; var dragTV; function xmlvalue(content) { if (content.textContent) return content.textContent; else { // document.getElementById("tvinfo").innerHTML += content.childNodes[0].nodeValue + "
"; return content.childNodes[0].nodeValue; } } function unixtime() { var ut=new Date(); var h,m,s,ms; today = new Date(); unixborn = new Date(70,0,1); unixborn.setHours(15); diff = today.getTime(); diff /= 1000; diff = parseInt(diff); return diff; } function loadtv(s) { if (s > 0) unixtime = s; else unixtime = unixtime() - 900; var start = parseInt(unixtime) - parseInt(60 * 60 * 3); endTime = parseInt(unixtime) + parseInt(60 * 60 * 5); var url = tvDir+"listings.php?s=" + start + "&e=" + endTime; if (window.XMLHttpRequest) { var tvrequest = new XMLHttpRequest(); } else if (window.ActiveXObject) { try { var tvrequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { var tvrequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { return 0; } } } else { return 0; } tvrequest.open("GET",url); // tvrequest.onload = function() { tvrequest.onreadystatechange = function() { if (tvrequest.readyState == 4) { var xmlDoc = tvrequest.responseXML; var feedlist = ''; var markers = xmlDoc.documentElement.getElementsByTagName("item"); startTime = 0; var currentChannel; var currentChannelNo = 0; var channels = Array(); for (var i = 0; i < markers.length; i++) { if (xmlvalue(xmlDoc.documentElement.getElementsByTagName("channel")[i]) != currentChannel) { currentChannel = xmlvalue(xmlDoc.documentElement.getElementsByTagName("channel")[i]); currentChannelNo += 1; if (feedlist) feedlist += ''; channels[currentChannelNo] = currentChannel; /* Padding for: Firefox = *20 -6 IE = *14 Opera = ? */ feedlist += ''; if (s > 0) var startmod = 0; else var startmod = +50; document.getElementById('tv').scrollLeft = ((unixtime - startTime) / widthPx) + startmod; currentTime = parseInt(startTime) + parseInt((unixtime - startTime) + (startmod * widthPx)); //document.getElementById('tvinfo').innerHTML = ''; } } tvrequest.send(null); } function updateTime() { currentTime = Number(startTime) + Number(document.getElementById('tv').scrollLeft * widthPx); dragTV = 0; if ((currentTime + (document.getElementById('tv').offsetWidth * widthPx)) > (endTime - 7200)) { // update listings loadtv(currentTime); } if (currentTime < (parseInt(startTime) + 7200)) { loadtv(currentTime); } // document.getElementById('tvinfo').innerHTML = currentTime + " - "+ (startTime + 360); } function startDrag(e) { if (!e) e = window.event; dragTV = parseInt(e.screenX) + 1; } function doDrag(e) { if (dragTV > 0) { if (!e) e = window.event; // document.getElementById('tvinfo').innerHTML = e.screenX; // document.getElementById('tv').scrollLeft = parseInt(document.getElementById('tv').scrollLeft) + ((parseInt(e.screenX) - (dragTV - 1)) * (((endTime - startTime) / widthPx) / document.getElementById('tv').offsetWidth)); document.getElementById('tv').scrollLeft = parseInt(document.getElementById('tv').scrollLeft) - ((parseInt(e.screenX) - (dragTV - 1))); dragTV = parseInt(e.screenX) + 1; } } function startEvent() { // alert('hi'); document.getElementById('tv').onmousedown = startDrag; document.getElementById('tv').onmousemove = doDrag; document.getElementById('tv').onmouseup = updateTime; document.getElementById('tv').onmouseout = updateTime; // tv.attachEvent('onmousedown',startDrag); // tv.addEventListener('mousedown',startDrag,false); } function tvinfo(crid) { var url = tvDir+'tvinfo.php?crid=' + crid; if (window.XMLHttpRequest) { var tvrequest = new XMLHttpRequest(); } else if (window.ActiveXObject) { try { var tvrequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { var tvrequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { return 0; } } } else { return 0; } tvrequest.open("GET",url); tvrequest.onreadystatechange = function() { if (tvrequest.readyState == 4) { var xmlDoc = tvrequest.responseXML; document.getElementById('tvinfo').innerHTML = "
" + xmlvalue(xmlDoc.documentElement.getElementsByTagName("tvinfo")[0]) + "
"; } } tvrequest.send(null); } function addfav(title) { var url = tvDir+'fav.php?t=1&add=1&title=' + title; if (window.XMLHttpRequest) { var tvfav = new XMLHttpRequest(); } else if (window.ActiveXObject) { try { var tvfav = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { var tvfav = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { return 0; } } } else { return 0; } tvfav.open("GET",url); tvfav.onreadystatechange = function() { if (tvfav.readyState == 4) { if (tvfav.responseText > 2) alert("Programme added to favourites"); else alert("Failed to add programme to favourites (Response: " + tvfav.responseText + ")"); loadtv(currentTime); } } tvfav.send(null); } function tvsearch(type,search) { var url = tvDir+'search.php?' + type + '=' + search; if (window.XMLHttpRequest) { var tvrequest = new XMLHttpRequest(); } else if (window.ActiveXObject) { try { var tvrequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { var tvrequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { return 0; } } } else { return 0; } tvrequest.open("GET",url); tvrequest.onreadystatechange = function() { if (tvrequest.readyState == 4) { var xmlDoc = tvrequest.responseXML; document.getElementById('tvinfo').innerHTML = "
" + xmlvalue(xmlDoc.documentElement.getElementsByTagName("tvinfo")[0]) + "
"; } } tvrequest.send(null); } function viewfav() { var url = tvDir+'viewfav.php'; if (window.XMLHttpRequest) { var tvrequest = new XMLHttpRequest(); } else if (window.ActiveXObject) { try { var tvrequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { var tvrequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { return 0; } } } else { return 0; } tvrequest.open("GET",url); tvrequest.onreadystatechange = function() { if (tvrequest.readyState == 4) { var xmlDoc = tvrequest.responseXML; document.getElementById('tvinfo').innerHTML = "
" + xmlvalue(xmlDoc.documentElement.getElementsByTagName("tvinfo")[0]) + "
"; } } tvrequest.send(null); } function editfav() { var url = tvDir+'fav.php'; if (window.XMLHttpRequest) { var tvrequest = new XMLHttpRequest(); } else if (window.ActiveXObject) { try { var tvrequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { var tvrequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { return 0; } } } else { return 0; } tvrequest.open("GET",url); tvrequest.onreadystatechange = function() { if (tvrequest.readyState == 4) { var xmlDoc = tvrequest.responseXML; var favs = xmlvalue(xmlDoc.documentElement.getElementsByTagName("tvinfo")[0]); //while (favs.indexOf("\\r\\n")) { // favs = favs.replace("/\\r\\n/gi","\r\n"); //} document.getElementById('tvinfo').innerHTML = "
" + favs.replace(/\\r\\n/g,"\r\n"); + "
"; } } tvrequest.send(null); } function c2ht(ut) { var ut = ut * 1000; var d = new Date(); var hmdt = new String(); d.setTime(ut); if (arguments[1] == 1) { hmdt = lz(d.getHours()) + ":" + lz(d.getMinutes()) + ":" + lz(d.getSeconds()); } else if (arguments[1] == 2) { if (arguments[2] == undefined) { hmdt = lz(d.getDate()) + "/" + lz(d.getMonth()+1) + "/" + d.getFullYear(); } else { format = String(arguments[2]); for (i=0;i <= format.length;i++) { charac = format.substr(i,1); switch (charac) { case "d": hmdt = hmdt + String(lz(d.getDate())); break; case "m": hmdt = hmdt + String(lz(d.getMonth())); break; case "y": hmdt = hmdt + String(lz(d.getFullYear())); break; case "h": hmdt = hmdt + String(lz(d.getHours())); break; case "n": hmdt = hmdt + String(lz(d.getMinutes())); break; case "s": hmdt = hmdt + String(lz(d.getSeconds())); break; case "l": switch(d.getDay()) { case 0: dn = "Sunday"; break; case 1: dn = "Monday"; break; case 2: dn = "Tuesday"; break; case 3: dn = "Wednesday"; break; case 4: dn = "Thursday"; break; case 5: dn = "Friday"; break; case 6: dn = "Saturday"; break; } hmdt = hmdt + String(dn); break; default: hmdt = hmdt + String(charac); break; } } } } else { hmdt = lz(d.getHours()) + ":" + lz(d.getMinutes()) + ":" + lz(d.getSeconds()); } return hmdt; } function lz(a) { a = String(a); a.length; if (a.length < 2) { a = "0" + a; } return a; } function toggle() { if (document.getElementById('tvmenucontent').style.display == 'block') { document.getElementById('tvmenucontent').style.display = 'none'; document.getElementById('tvmenutitle').innerHTML = '
[+]
Menu'; } else { document.getElementById('tvmenucontent').style.display = 'block'; document.getElementById('tvmenutitle').innerHTML = '
[-]
Menu'; } }