Вход Регистрация
Файл: forsoc.ru/adm/style/tooltip.js
Строк: 203
<?php
/*
javascript for Bubble Tooltips by Alessandro Fulciniti
- http://pro.html.it - http://web-graphics.com
obtained from: http://web-graphics.com/mtarchive/001717.php

phpBB Development Team:
    - modified to adhere to our coding guidelines
    - integration into our design
    - added ability to perform tooltips on select elements
    - further adjustements
*/

var head_texttooltip_mode;

/**
* Enable tooltip replacements for links
*/
function enable_tooltips_link(idheadlinesub_id) {
    var 
linksihold;

    
head_text headline;

    if (!
document.getElementById || !document.getElementsByTagName) {
        return;
    }

    
hold document.createElement('span');
    
hold.id '_tooltip_container';
    
hold.setAttribute('id''_tooltip_container');
    
hold.style.position 'absolute';

    
document.getElementsByTagName('body')[0].appendChild(hold);

    if (
id === null) {
        
links document.getElementsByTagName('a');
    } else {
        
links document.getElementById(id).getElementsByTagName('a');
    }

    for (
0links.lengthi++) {
        if (
sub_id) {
            if (
links[i].id.substr(0sub_id.length) === sub_id) {
                
prepare(links[i]);
            }
        } else {
            
prepare(links[i]);
        }
    }

    
tooltip_mode 'link';
}

/**
* Enable tooltip replacements for selects
*/
function enable_tooltips_select(idheadlinesub_id) {
    var 
linksihold;

    
head_text headline;

    if (!
document.getElementById || !document.getElementsByTagName) {
        return;
    }

    
hold document.createElement('span');
    
hold.id '_tooltip_container';
    
hold.setAttribute('id''_tooltip_container');
    
hold.style.position 'absolute';

    
document.getElementsByTagName('body')[0].appendChild(hold);

    if (
id === null) {
        
links document.getElementsByTagName('option');
    } else {
        
links document.getElementById(id).getElementsByTagName('option');
    }

    for (
0links.lengthi++) {
        if (
sub_id) {
            if (
links[i].parentNode.id.substr(0sub_id.length) === sub_id) {
                
prepare(links[i]);
            }
        } else {
            
prepare(links[i]);
        }
    }

    
tooltip_mode 'select';
}

/**
* Prepare elements to replace
*/
function prepare(element) {
    var 
tooltiptextdesctitle;

    
text element.getAttribute('title');

    if (
text === null || text.length === 0) {
        return;
    }

    
element.removeAttribute('title');
    
tooltip create_element('span''tooltip');

    
title create_element('span''top');
    
title.appendChild(document.createTextNode(head_text));
    
tooltip.appendChild(title);

    
desc create_element('span''bottom');
    
desc.innerHTML text;
    
tooltip.appendChild(desc);

    
set_opacity(tooltip);

    
element.tooltip tooltip;
    
element.onmouseover show_tooltip;
    
element.onmouseout hide_tooltip;

    if (
tooltip_mode === 'link') {
        
element.onmousemove locate;
    }
}

/**
* Show tooltip
*/
function show_tooltip(e) {
    
document.getElementById('_tooltip_container').appendChild(this.tooltip);
    
locate(this);
}

/**
* Hide tooltip
*/
function hide_tooltip(e) {
    var 
document.getElementById('_tooltip_container');
    if (
d.childNodes.length 0) {
        
d.removeChild(d.firstChild);
    }
}

/**
* Set opacity on tooltip element
*/
function set_opacity(element) {
    
element.style.filter 'alpha(opacity:95)';
    
element.style.KHTMLOpacity '0.95';
    
element.style.MozOpacity '0.95';
    
element.style.opacity '0.95';
}

/**
* Create new element
*/
function create_element(tagc) {
    var 
document.createElement(tag);
    
x.className c;
    
x.style.display 'block';
    return 
x;
}

/**
* Correct positioning of tooltip container
*/
function locate(e) {
    var 
posx 0;
    var 
posy 0;

    
e.parentNode;

    if (
e.offsetParent) {
        for (
posx 0posy 0e.offsetParente.offsetParent) {
            
posx += e.offsetLeft;
            
posy += e.offsetTop;
        }
    } else {
        
posx e.offsetLeft;
        
posy e.offsetTop;
    }

    if (
tooltip_mode === 'link') {
        
document.getElementById('_tooltip_container').style.top=(posy+20) + 'px';
        
document.getElementById('_tooltip_container').style.left=(posx-20) + 'px';
    } else {
        
document.getElementById('_tooltip_container').style.top=(posy+30) + 'px';
        
document.getElementById('_tooltip_container').style.left=(posx-205) + 'px';
    }

/*
    if (e == null)
    {
        e = window.event;
    }

    if (e.pageX || e.pageY)
    {
        posx = e.pageX;
        posy = e.pageY;
    }
    else if (e.clientX || e.clientY)
    {
        if (document.documentElement.scrollTop)
        {
            posx = e.clientX+document.documentElement.scrollLeft;
            posy = e.clientY+document.documentElement.scrollTop;
        }
        else
        {
            posx = e.clientX+document.body.scrollLeft;
            posy = e.clientY+document.body.scrollTop;
        }
    }
*/
}
?>
Онлайн: 1
Реклама