source: companies/serpro/jabberit_messenger/js/show_hidden.js @ 903

Revision 903, 2.0 KB checked in by niltonneto, 15 years ago (diff)

Importacao inicial do Expresso do Serpro

Line 
1(function()
2{
3        var _delay;
4
5        var _last_displayed;
6        var _timeout = false;
7
8        var _event_show = false;
9        var _event_hidden = false;
10
11        function _config(pObj, pEvent, pHandler)
12        {
13                if ( typeof pObj == 'object' )
14                {
15                        if ( pEvent.substring(0, 2) == 'on' )
16                                pEvent = pEvent.substring(2, pEvent.length);
17
18                        if ( pObj.addEventListener )
19                                pObj.addEventListener(pEvent, pHandler, false);
20                        else if ( pObj.attachEvent )
21                                pObj.attachEvent('on' + pEvent, pHandler);
22                }
23        }
24
25        function _hidden()
26        {
27                _show(_last_displayed);
28        }
29
30        function _wait(e)
31        {
32                var el = ( e.target ) ? e.target : e.srcElement;
33                if ( e.type.indexOf('mouseover') != -1 )
34                        clearTimeout(_timeout);
35                else
36                        _timeout = setTimeout(_hidden, _delay);
37        }
38
39        function _show(_element)
40        {
41                if ( _last_displayed )
42                        _last_displayed.style.display = 'none';
43
44                if ( _timeout )
45                        clearTimeout(_timeout);
46
47                if ( _element != _last_displayed )
48                {
49                        _last_displayed = _element;
50                        _element.style.display = 'block';
51                        _config(_element,_event_show,_wait);
52                        _config(_element,_event_hidden,_wait);
53                }
54                else
55                        _last_displayed = false;
56        }
57
58        function _view()
59        {
60                if ( arguments.length == 3 )
61                {
62                        var _event = [
63                                'onclick',
64                                'onmousedown',
65                                'onmouseout',
66                                'onmouseover',
67                                'onmouseup'
68                        ];
69
70                        _event_show = false;
71                        _event_hidden = false;
72
73                        for ( var i in _event )
74                        {
75                                if ( _event[i] == arguments[0] )
76                                        _event_show = arguments[0];
77
78                                if ( _event[i] == arguments[1] )
79                                        _event_hidden = arguments[1];
80                        }
81
82                        if ( _event_show && _event_hidden )
83                        {
84                                var _element = false;
85                                switch ( typeof arguments[2] )
86                                {
87                                        case 'object' :
88                                                _element = arguments[2];
89                                        break;
90                                        case 'string' :
91                                                _element = document.getElementById(arguments[2]);
92                                        break;
93                                }
94
95                                if ( _element )
96                                {
97                                        _show(_element);
98                                        _timeout = setTimeout(_hidden, _delay);
99                                }
100                        }
101                }
102        }
103
104        function ShowHidden()
105        {
106                _delay = ( (arguments.length > 0) && !isNaN(arguments[0]) ) ? arguments[0] : 3000;
107        }
108
109        ShowHidden.prototype.action  = _view;
110    window.ShowHidden = ShowHidden;
111}
112)();
Note: See TracBrowser for help on using the repository browser.