source: extensions/LLGBO2/js/sweettitlesn.js @ 7249

Last change on this file since 7249 was 4713, checked in by EXFTB, 14 years ago

Avoid problems with Gally

  • Property svn:eol-style set to LF
File size: 3.9 KB
Line 
1// Author: Dustin Diaz | http://www.dustindiaz.com
2Array.prototype.inArray = function (value){var i;for (i=0;i < this.length;i++){ if (this[i] === value){return true;} }  return false;};
3function addEvent2(obj,type,fn ){ if (obj.addEventListener){ obj.addEventListener( type,fn,false );EC.add(obj,type,fn);}
4 else if (obj.attachEvent){
5 obj["e"+type+fn] = fn;obj[type+fn] = function(){ obj["e"+type+fn]( window.event );}
6 obj.attachEvent( "on"+type,obj[type+fn] );EC.add(obj,type,fn);}
7 else{obj["on"+type] = obj["e"+type+fn];}}
8 var EC = function(){
9 var LE = [];return{
10 LE : LE,
11 add : function(node,sEventName,fHandler){
12 LE.push(arguments);},
13 flush : function(){
14 var i,it;for(i = LE.length - 1;i >= 0;i = i - 1){
15 it = LE[i];if(it[0].removeEventListener){
16  it[0].removeEventListener(it[1],it[2],it[3]);};if(it[1].substring(0,2) != "on"){it[1] = "on" + it[1];};if(it[0].detachEvent){it[0].detachEvent(it[1],it[2]);};it[0][it[1]] = null;};} };}();addEvent2(window,'unload',EC.flush);
17
18var S ={xCord : 0,yCord : 0,tipElements : ['a','span','area'],obj : Object,x : Object,
19 init : function(){if ( !document.getElementById || !document.createElement || !document.getElementsByTagName ){return;}
20 var i,j,Over;this.x = document.createElement('div');
21 this.x.id = 'toolTip';document.getElementsByTagName('body')[0].appendChild(this.x);this.x.style.top = '0';this.x.style.visibility = 'hidden';var tipLen = this.tipElements.length;for ( i=0;i<tipLen;i++ ){
22 var Elms = document.getElementsByTagName(this.tipElements[i]);
23
24 var curLen = Elms.length;for ( j=0;j<curLen;j++ ){
25 var el= Elms[j];var tv = el.getAttribute('title')
26   if (el.className  != 'navThumb')
27 { 
28 if (tv != "null" && tv !=null && tv !="") //chrome
29{addEvent2(el,'mouseover',this.tipOver); addEvent2(el,'mousemove',this.tipMouseMove); addEvent2(el,'mouseout',this.tipOut); var sv = el.getAttribute('swttips'); el.setAttribute('Stitle',tv); el.setAttribute('Stip',sv ); el.removeAttribute('title');
30 el.removeAttribute('swttips');} el.removeAttribute('alt');} }
31 } },
32 updateXY : function(e){ if (document.captureEvents){S.xCord = e.pageX;S.yCord = e.pageY;} else if (window.event.clientX){S.xCord = window.event.clientX+document.documentElement.scrollLeft;S.yCord = window.event.clientY+document.documentElement.scrollTop;}},
33 tipOut: function(){
34 if ( window.tID ){clearTimeout(tID);}
35 if ( window.opacityID ){clearTimeout(opacityID);}
36 S.x.style.visibility = 'hidden';},
37 checkNode : function(){ var trueObj = this.obj;if ( this.tipElements.inArray(trueObj.nodeName.toLowerCase()) ){ return trueObj;} else{return trueObj.parentNode;}},
38 tipOver : function(e){S.obj = this;tID = window.setTimeout("S.tipShow()",100); S.updateXY(e);},
39 tipMouseMove : function(e){S.updateXY(e);S.tipMove();},
40 tipShow : function(){ 
41 var Z = this.checkNode(); h1 = "<p class='title'>" + Z.getAttribute('Stitle') + "</p>";
42 var St = Z.getAttribute('Stip'); 
43 if ((St != null) && (St != "null") && (St !="") ){h1 = h1 +"<p>"+St+"</p>";} 
44 this.x.innerHTML = h1;
45 S.Move;var T = this.x.style;T.visibility = 'visible';T.opacity = '.1';this.tipFade(10);},
46 tipMove: function()
47{var scrX = Number(this.xCord);var scrY = Number(this.yCord);var tp = parseInt(scrY+8);var lt = parseInt(scrX+8);var D = document.documentElement;var T = this.x.style;if ( parseInt(D.clientWidth+D.scrollLeft) < parseInt(this.x.offsetWidth+lt) ){
48 T.left = parseInt(lt-(this.x.offsetWidth+3))+'px';} else{T.left = lt+'px';}
49 if ( parseInt(D.clientHeight+D.scrollTop) < parseInt(this.x.offsetHeight+tp) ){T.top = parseInt(tp-(this.x.offsetHeight+3))+'px';} else{T.top = tp+'px';}},
50 tipFade: function(opac){var passed = parseInt(opac);var newOpac = parseInt(passed+10); T = this.x.style;if ( newOpac < 92 ){T.opacity = '.'+newOpac;T.filter = "alpha(opacity:"+newOpac+")";opacityID = window.setTimeout("S.tipFade('"+newOpac+"')",20);} else{ T.opacity = '.92';T.filter = "alpha(opacity:92)";}}
51};function pageLoader(){ S.init();}
52addEvent2(window,'load',pageLoader);
Note: See TracBrowser for help on using the repository browser.