Вход Регистрация
Файл: vsime.com/js/tooltip_1.js
Строк: 189
<?php
var tooltip = {

    
/* НАЧАЛО НАСТРОЕК */
    
options: {
        
attr_name"tooltip"// наименование создаваемого tooltip'ого атрибута
        
blank_text"(откроется в новом окне)"// текст для ссылок с target="_blank"
        
newline_entity"<>"// укажите пустую строку (""), если не хотите использовать в tooltip'ах многострочность; ежели хотите, то укажите тот символ или символы, которые будут заменяться на перевод строки
        
max_width250// максимальная ширина tooltip'а в пикселах; обнулите это значение, если ширина должна быть нелимитирована
        
delay100// задержка при показе tooltip'а в миллисекундах
        
skip_tags: ["link""style"// теги, у которых не обрабатываем атрибуты alt и title
    
},
    
/* КОНЕЦ НАСТРОЕК */

    
tdocument.createElement("DIV"),
    
cnull,
    
gfalse,
    
canvasnull,

    
m: function(e){
        if (
tooltip.g){
            var 
window.event event.clientX + (tooltip.canvas.scrollLeft || document.body.scrollLeft) : e.pageX;
            var 
window.event event.clientY + (tooltip.canvas.scrollTop || document.body.scrollTop) : e.pageY;
            
tooltip.a(xy);
        }
    },

    
d: function(){
        
tooltip.canvas document.getElementsByTagName(document.compatMode && document.compatMode == "CSS1Compat" "HTML" "BODY")[0];
        
tooltip.t.setAttribute("id""tooltip");
        
document.body.appendChild(tooltip.t);
        if (
tooltip.options.max_widthtooltip.t.style.maxWidth tooltip.options.max_width "px"// all but ie
        
var document.all && !window.opera document.all document.getElementsByTagName("*"); // in opera 9 document.all produces type mismatch error
        
var a.length;
        for (var 
0li++){

            if (!
a[i] || tooltip.options.skip_tags.in_array(a[i].tagName.toLowerCase())) continue;

            var 
tooltip_title a[i].getAttribute("title"); // returns form object if IE & name="title"; then IE crashes; so...
            
if (tooltip_title && typeof tooltip_title != "string"tooltip_title "";

            var 
tooltip_alt a[i].getAttribute("alt");
            var 
tooltip_blank a[i].getAttribute("target") && a[i].getAttribute("target") == "_blank" && tooltip.options.blank_text;
            if (
tooltip_title || tooltip_blank){
                
a[i].setAttribute(tooltip.options.attr_nametooltip_blank ? (tooltip_title tooltip_title " " tooltip.options.blank_text tooltip.options.blank_text) : tooltip_title);
                if (
a[i].getAttribute(tooltip.options.attr_name)){
                    
a[i].removeAttribute("title");
                    if (
tooltip_alt && a[i].completea[i].removeAttribute("alt");
                    
tooltip.l(a[i], "mouseover"tooltip.s);
                    
tooltip.l(a[i], "mouseout"tooltip.h);
                }
            }else if (
tooltip_alt && a[i].complete){
                
a[i].setAttribute(tooltip.options.attr_nametooltip_alt);
                if (
a[i].getAttribute(tooltip.options.attr_name)){
                    
a[i].removeAttribute("alt");
                    
tooltip.l(a[i], "mouseover"tooltip.s);
                    
tooltip.l(a[i], "mouseout"tooltip.h);
                }
            }
            if (!
a[i].getAttribute(tooltip.options.attr_name) && tooltip_blank){
                
//
            
}
        }
        
document.onmousemove tooltip.m;
        
window.onscroll tooltip.h;
        
tooltip.a(-99, -99);
    },
    
    
_: function(s){
        
s.replace(/&/g,"&amp;");
        
s.replace(/</g,"&lt;");
        
s.replace(/>/g,"&gt;");
        return 
s;
    },

    
s: function(e){
        if (
typeof tooltip == "undefined") return;
        var 
window.event window.event.srcElement e.target;
        if (!
d.getAttribute(tooltip.options.attr_name)) return;
        var 
d.getAttribute(tooltip.options.attr_name);
        if (
tooltip.options.newline_entity){
            var 
tooltip._(s);
            
s.replace(eval("/" tooltip._(tooltip.options.newline_entity) + "/g"), "<br />");
            
tooltip.t.innerHTML s;
        }else{
            if (
tooltip.t.firstChildtooltip.t.removeChild(tooltip.t.firstChild);
            
tooltip.t.appendChild(document.createTextNode(s));
        }
        
tooltip.setTimeout(function(){
            
tooltip.t.style.visibility 'visible';
        }, 
tooltip.options.delay);
        
tooltip.true;
    },

    
h: function(e){
        if (
typeof tooltip == "undefined") return;
        
tooltip.t.style.visibility "hidden";
        if (!
tooltip.options.newline_entity && tooltip.t.firstChildtooltip.t.removeChild(tooltip.t.firstChild);
        
clearTimeout(tooltip.c);
        
tooltip.false;
        
tooltip.a(-99, -99);
    },

    
l: function(oea){
        if (
o.addEventListenero.addEventListener(eafalse); // was true--Opera 7b workaround!
        
else if (o.attachEvento.attachEvent("on" ea);
            else return 
null;
    },

    
a: function(xy){
        var 
w_width tooltip.canvas.clientWidth tooltip.canvas.clientWidth + (tooltip.canvas.scrollLeft || document.body.scrollLeft) : window.innerWidth window.pageXOffset;
        var 
w_height window.innerHeight window.innerHeight window.pageYOffset tooltip.canvas.clientHeight + (tooltip.canvas.scrollTop || document.body.scrollTop); // should be vice verca since Opera 7 is crazy!

        
if (document.all && document.all.item && !window.operatooltip.t.style.width tooltip.options.max_width && tooltip.t.offsetWidth tooltip.options.max_width tooltip.options.max_width "px" "auto";
        
        var 
t_width tooltip.t.offsetWidth;
        var 
t_height tooltip.t.offsetHeight;

        
tooltip.t.style.left "px";
        
tooltip.t.style.top "px";
        
        if (
t_width w_widthtooltip.t.style.left w_width t_width "px";
        if (
t_height w_heighttooltip.t.style.top w_height t_height "px";
    }
}

Array.
prototype.in_array = function(value){
    var 
this.length;
    for (var 
0li++)
        if (
this[i] === value) return true;
    return 
false;
};

var 
root window.addEventListener || window.attachEvent window document.addEventListener document null;
if (
root){
    if (
root.addEventListenerroot.addEventListener("load"tooltip.dfalse);
    else if (
root.attachEventroot.attachEvent("onload"tooltip.d);
}
?>
Онлайн: 4
Реклама