1window.onerror = null; 2 3tooltip = { 4 5/* ÍÀ×ÀËÎ ÍÀÑÒÐÎÅÊ */ 6 7attr_name: "tooltip", // íàèìåíîâàíèå ñîçäàâàåìîãî tooltip'îãî àòðèáóòà 8blank_text: "(ññûëêà îòêðîåòñÿ â íîâîì îêíå)", // òåêñò äëÿ ññûëîê ñ target="_blank" 9newline_entity: "~", // óêàæèòå ïóñòóþ ñòðîêó (""), åñëè íå õîòèòå èñïîëüçîâàòü â tooltip'àõ ìíîãîñòðî÷íîñòü; åæåëè õîòèòå, òî óêàæèòå òîò ñèìâîë èëè ñèìâîëû, êîòîðûå áóäóò çàìåíÿòüñÿ íà ïåðåâîä ñòðîêè 10max_width: 0, // ìàêñèìàëüíàÿ øèðèíà tooltip'à â ïèêñåëàõ; îáíóëèòå ýòî çíà÷åíèå, åñëè øèðèíà äîëæíà áûòü íåëèìèòèðîâàíà 11delay: 0, // çàäåðæêà ïðè ïîêàçå tooltip'à â ìèëëèñåêóíäàõ 12 13/* ÊÎÍÅÖ ÍÀÑÒÐÎÅÊ */ 14 15t: document.createElement("DIV"), 16c: null, 17g: false, 18 19m: function(e){ 20if (tooltip.g){ 21oCanvas = document.getElementsByTagName( 22(document.compatMode && document.compatMode == "CSS1Compat") ? "HTML" : "BODY" 23)[0]; 24x = window.event ? event.clientX + oCanvas.scrollLeft : e.pageX; 25y = window.event ? event.clientY + oCanvas.scrollTop : e.pageY; 26tooltip.a(x, y); 27} 28}, 29 30d: function(){ 31tooltip.t.setAttribute("id", "tooltip"); 32//tooltip.t.style.filter = "alpha(opacity=85)"; // buggy in ie5.0 33document.body.appendChild(tooltip.t); 34a = document.all ? document.all : document.getElementsByTagName("*"); 35aLength = a.length; 36for (var i = 0; i < aLength; i++){ 37 38//if (a[i].tagName == "A" || a[i].tagName == "BUTTON" || (a[i].tagName == "INPUT" && (a[i].type == "submit" || a[i].type == "button" || a[i].type == "reset"))) a[i].onclick = self.focus; 39 40if (!a[i]) continue; 41 42tooltip_title = a[i].getAttribute("title"); // returns form object if IE & name="title"; then IE crashes; so... 43if (tooltip_title && typeof tooltip_title != "string") tooltip_title = ""; 44 45tooltip_alt = a[i].getAttribute("alt"); 46tooltip_blank = a[i].getAttribute("target") && a[i].getAttribute("target") == "_blank" && tooltip.blank_text; 47if (tooltip_title || tooltip_blank){ 48a[i].setAttribute(tooltip.attr_name, tooltip_blank ? (tooltip_title ? tooltip_title + " " + tooltip.blank_text : tooltip.blank_text) : tooltip_title); 49if (a[i].getAttribute(tooltip.attr_name)){ 50a[i].removeAttribute("title"); 51if (tooltip_alt && a[i].complete) a[i].removeAttribute("alt"); 52tooltip.l(a[i], "mouseover", tooltip.s); 53tooltip.l(a[i], "mouseout", tooltip.h); 54} 55}else if (tooltip_alt && a[i].complete){ 56a[i].setAttribute(tooltip.attr_name, tooltip_alt); 57if (a[i].getAttribute(tooltip.attr_name)){ 58a[i].removeAttribute("alt"); 59tooltip.l(a[i], "mouseover", tooltip.s); 60tooltip.l(a[i], "mouseout", tooltip.h); 61} 62} 63if (!a[i].getAttribute(tooltip.attr_name) && tooltip_blank){ 64// 65} 66} 67document.onmousemove = tooltip.m; 68window.onscroll = tooltip.h; 69tooltip.a(-99, -99); 70}, 71 72s: function(e){ 73d = window.event ? window.event.srcElement : e.target; 74if (!d.getAttribute(tooltip.attr_name)) return; 75s = d.getAttribute(tooltip.attr_name); 76if (tooltip.newline_entity){ 77s = s.replace(/\&/g,"&"); 78s = s.replace(/\</g,"<"); 79s = s.replace(/\>/g,">"); 80s = s.replace(eval("./" + tooltip.newline_entity + "/g"), "<br />"); 81tooltip.t.innerHTML = s; 82}else{ 83if (tooltip.t.firstChild) tooltip.t.removeChild(tooltip.t.firstChild); 84tooltip.t.appendChild(document.createTextNode(s)); 85//tooltip.t.innerText = s; 86} 87tooltip.c = setTimeout("tooltip.t.style.visibility = 'visible';", tooltip.delay); 88tooltip.g = true; 89}, 90 91h: function(e){ 92tooltip.t.style.visibility = "hidden"; 93if (!tooltip.newline_entity && tooltip.t.firstChild) tooltip.t.removeChild(tooltip.t.firstChild); 94clearTimeout(tooltip.c); 95tooltip.g = false;
96tooltip.a(-99, -99); 97}, 98 99l: function(o, e, a){ 100if (o.addEventListener) o.addEventListener(e, a, false); // was true--Opera 7b workaround! 101else if (o.attachEvent) o.attachEvent("on" + e, a); 102else return null; 103}, 104 105a: function(x, y){ 106oCanvas = document.getElementsByTagName( 107(document.compatMode && document.compatMode == "CSS1Compat") ? "HTML" : "BODY" 108)[0]; 109 110w_width = oCanvas.clientWidth ? oCanvas.clientWidth + oCanvas.scrollLeft : window.innerWidth + window.pageXOffset; 111w_height = window.innerHeight ? window.innerHeight + window.pageYOffset : oCanvas.clientHeight + oCanvas.scrollTop; // should be vice verca since Opera 7 is crazy! 112 113tooltip.t.style.width = ((tooltip.max_width) && (tooltip.t.offsetWidth > tooltip.max_width)) ? tooltip.max_width + "px" : "auto"; 114 115t_width = tooltip.t.offsetWidth; 116t_height = tooltip.t.offsetHeight; 117 118tooltip.t.style.left = x + 6 + "px"; 119tooltip.t.style.top = y + 16 + "px"; 120 121if (x + t_width > w_width-8) tooltip.t.style.left = w_width - t_width + "px"; 122if (y + t_height > w_height-8) tooltip.t.style.top = w_height - t_height + "px"; 123} 124} 125 126var root = window.addEventListener || window.attachEvent ? window : document.addEventListener ? document : null; 127if (root){ 128if (root.addEventListener) root.addEventListener("load", tooltip.d, false); 129else if (root.attachEvent) root.attachEvent("onload", tooltip.d); 130}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.