1 | // Author: Dustin Diaz | http://www.dustindiaz.com |
---|
2 | Array.prototype.inArray = function (value){var i;for (i=0;i < this.length;i++){ if (this[i] === value){return true;} } return false;}; |
---|
3 | function 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 | |
---|
18 | var 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();} |
---|
52 | addEvent2(window,'load',pageLoader); |
---|