var ttp_content; ttp_content = ""; var ttp_timer; var ttp_x = -1; var ttp_y = -1; var ttp_visable = 0; var ttp_offset_x = 0; var ttp_x_start = -1; var ttp_y_start = -1; var ttp_active = 1; var ttp_inside = 0; var ie5=document.all&&document.getElementById; var ns6=document.getElementById&&!document.all; var opera =window.opera; var dom=(!opera && document.compatMode && document.compatMode!="BackCompat"); function iecompattest(){ return dom ? document.documentElement : document.body } function getScrollingPosition() { var x = 0, y = 0; if( ns6 || typeof( window.pageYOffset ) == 'number' ) { y = window.pageYOffset; x = window.pageXOffset; } else { y = iecompattest().scrollTop; x = iecompattest().scrollLeft; } return [ x, y ]; } function WindowSize () { var width = 0, height = 0; if( ns6 || typeof( window.innerWidth ) == 'number' ) { width = window.innerWidth; height = window.innerHeight; } else { width = iecompattest().clientWidth; height = iecompattest().clientHeight; } return [ width, height ]; } function ttp_update_pos(){ var Size = WindowSize(); var x = ttp_x + ttp_offset_x; var y = ttp_y; var ele = document.getElementById('TOOLTIP'); var scrPos = getScrollingPosition(); if(x + 500 > Size[0] + scrPos[0]) { x = Size[0] - 500; } if(y + 150 > Size[1] + scrPos[1]) { y = Size[1] - (y - 10); ele.style.top = ''; if(ie5&&!opera) { ele.style.removeAttribute('top'); y += scrPos[1]; } ele.style.bottom = y + "px"; } else { ele.style.bottom = ''; if(ie5&&!opera) { ele.style.removeAttribute('bottom'); } ele.style.top = (y + 20) + "px"; } ele.style.left = x + "px"; } var ttp_ie = document.all?true:false; //Netscape 4.0 only //if (!ttp_ie) document.captureEvents(Event.MOUSEMOVE) document.onmousemove = ttp_onmousemove; function ttp_onmousemove(e) { if (ttp_ie) { ttp_x = event.clientX + document.body.scrollLeft; ttp_y = event.clientY + document.body.scrollTop; } else { ttp_x = e.pageX; ttp_y = e.pageY; } if (ttp_x < 0) {ttp_x = 0;} if (ttp_y < 0) {ttp_y = 0;} if(ttp_visable) { if(Math.abs(ttp_x_start - ttp_x) > 15 || Math.abs(ttp_y_start - ttp_y) > 15) { ttp_make_invisable(); } ttp_update_pos(); } } function ttp_update_content(title, description, style){ var utitle = unescape(title); ttp_content = '

'; ttp_content += utitle.substr(0,50); if (utitle.length > 50) {ttp_content += '...';} ttp_content += '

'; if(description == 'WAIT') { ttp_content += ''; } else { ttp_content += unescape(description); } ttp_content += '

'; } function ttp_make_visable(title, description, style){ ttp_update_pos(); ttp_update_content(title, description, style); var ele = document.getElementById('TOOLTIP'); ele.innerHTML = ttp_content; ele.style.visibility = "visible"; } function ttp_make_invisable(){ var ele = document.getElementById('TOOLTIP'); if(ttp_visable || ele.style.visibility == "visible") { clearTimeout(ttp_timer); ele.style.visibility = "hidden"; } ttp_visable = 0; ttp_inside = 0; } function ttp_enable(enable){ ttp_make_invisable(); ttp_active = enable } function ttp_make_req_visable(title, eventid, x, y){ if(!eventid || eventid<=0 || ttp_inside==0 || Math.abs(x - ttp_x) > 15 || Math.abs(y - ttp_y) > 15) { clearTimeout(ttp_timer); ttp_inside = 0; return false; } ttp_x_start = ttp_x; ttp_y_start = ttp_y; ttp_make_visable(title,'WAIT','description'); var fnWhenDone = function (oXML, sData) { var description = eval('(' + oXML.responseText + ')'); var content; if(description && description.data && typeof(description.data) == 'string'){ content = description.data.replace(/\r\n/g,'
'); } else { content = '...'; } ttp_make_visable(title,content,'description'); }; var url = "?cmd=edescription&data=" + eventid + "&ajax=json"; var aconn = new XHRequest(); if(!aconn) return false; return aconn.connect(url, fnWhenDone, eventid); } function ttpreq(self, title, eventid, offset_x){ if(ttp_active) { self.onmouseout=function(){ ttp_make_invisable(); }; if(eventid && ttp_x != -1 && ttp_y != -1){ ttp_offset_x = offset_x; ttp_inside = 1; ttp_timer = setTimeout("ttp_make_req_visable('"+escape(title)+"', '"+eventid+"', '"+ttp_x+"', '"+ttp_y+"')", 750); } } } function ttp_make_tlist_visable(title, tlist, x, y){ if(!tlist || ttp_inside==0 || Math.abs(x - ttp_x) > 15 || Math.abs(y - ttp_y) > 15) { clearTimeout(ttp_timer); ttp_inside = 0; return false; } ttp_x_start = ttp_x; ttp_y_start = ttp_y; ttp_make_visable(title,'WAIT','title'); var fnWhenDone = function (oAnswer, sData) { var content = ""; var values = eval('(' + oAnswer.responseText + ')'); if(values && values.data && typeof(values.data) == 'object'){ for (var i = 0; i < values.data.length; i++) { var x = values.data[i]; var len = 23; if ((x[1] & 1) == 0) { //Status content += ''; } //var d = new Date(x[9] * 1000); var d = new Date(x[4] * 1000); if(0) { content += d.getDate() + "/" + (d.getMonth()+1) + "/" + (d.getYear() + 1900); //Day } else { content += d.getDate() + "." + (d.getMonth()+1) + "." + (d.getYear() + 1900); //Day } content += " - "; content += x[5]; //Start content += "-"; content += x[6]; //Stop content += " - "; if (x[2].length > 15) {//Channel content += x[2].substring(0, 13); content += '...'; } else { content += x[2]; } if ((x[2].length + x[7].length) > 30) { content += "
     "; len = 50; } else { content += " - "; } if (x[7].length > len) { content += x[7].substring(0, len-2); content += '...'; } else { content += x[7]; //File } if ((x[1] & 1) == 0) { //Status content += "
"; } content += "
"; } } else { content = '...'; } ttp_make_visable(title,content,'title'); }; var url = "?cmd=tlist&data=" + tlist + "&ajax=json"; var aconn = new XHRequest(); if(!aconn) return false; return aconn.connect(url, fnWhenDone, tlist); } function ttptlist(self, title, tlist, offset_x){ if(ttp_active) { self.onmouseout=function(){ ttp_make_invisable(); }; if(tlist && ttp_x != -1 && ttp_y != -1){ ttp_offset_x = offset_x; ttp_inside = 1; ttp_timer = setTimeout("ttp_make_tlist_visable('"+escape(title)+"', '"+tlist+"', '"+ttp_x+"', '"+ttp_y+"')", 750); } } } function ttp_make_direct_visable(title, description, x, y){ if(ttp_inside==0 || Math.abs(x - ttp_x) > 15 || Math.abs(y - ttp_y) > 15) { clearTimeout(ttp_timer); ttp_inside = 0; return false; } ttp_x_start = ttp_x; ttp_y_start = ttp_y; ttp_make_visable(title,description,'description'); } function ttp(self, title, description, offset_x){ if(ttp_active) { self.onmouseout=function(){ ttp_make_invisable(); }; if(description && ttp_x != -1 && ttp_y != -1){ ttp_offset_x = offset_x; ttp_inside = 1; ttp_timer = setTimeout("ttp_make_direct_visable('"+escape(title)+"', '"+escape(description)+"')", 750); } } } /** XHRequest based on ** ** XHConn - Simple XMLHTTP Interface - bfults@gmail.com - 2005-04-08 ** ** Code licensed under Creative Commons Attribution-ShareAlike License ** ** http://creativecommons.org/licenses/by-sa/2.0/ **/ function XHRequest() { var xmlhttp, bComplete = false; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp = false; }}} if (!xmlhttp) return null; this.connect = function(sRequest, fnDone, sData) { if (!xmlhttp) return false; bComplete = false; try { xmlhttp.open("GET", sRequest, true); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && !bComplete) { bComplete = true; fnDone(xmlhttp, sData); } }; xmlhttp.send(null); } catch(z) { alert(z); return false; } return true; }; return this; }