PageSourceSearch

https://www.worldgenweb.org/components/com_proforms/js/balloontip/bubble-tooltip.js?BASIC=120

js worldgenweb.org collected 2026-10-02 07:10:20 UTC 2,719 bytes, 91 lines download raw bytes

1// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2// @license: Mad4Media Javascipt License - copyright Mad4Media - Fahrettin Kutyol - All rights reserved    ++
3// (re-) publishing or forking for any purpose of commercial or non-commercial use is not allowed.		   ++
4// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5var bubbleWrap = undefined;
6
7function showBubble(e){
8	var bW = bubbleWrap;
9	this.contentNode.innerHTML = this.bubbleInfo;
10	
11	var myBounds = _ViewportOffset(this,false);
12		
13	var bwDim = _Dimensions(bW);
14	var top = myBounds.t - bwDim.height +5; 
15	var left = (myBounds.l+Math.round((myBounds.w)/2))-104;
16	
17	if(this.special){
18		left = myBounds.l-95;
19		top += 5;
20	}
21	
22	bW.style.top = top + "px";
23	bW.style.left = left + "px";
24}	
25
26function hideBubble(e){
27	bubbleWrap.style.top = "0px";
28	bubbleWrap.style.left = "-9999em";
29	
30}
31
32dojo.addOnLoad(function(){
33	var n = document.createElement("div");
34	n.id = "bubble_tooltip";
35	document.body.appendChild(n);
36	n. innerHTML = '<div class="bubble_top"><span></span></div><div class="bubble_middle"><span id="bubble_tooltip_content"></span></div>'+
37		'<div class="bubble_bottom"></div>';	
38	bubbleWrap = n;
39	var content = dojo.byId("bubble_tooltip_content");
40	
41	if(!m4jShowTooltip) return;
42	
43	var startNode = document.getElementById("proforms_proforms");
44	if(!startNode) startNode = document.body;
45	var children = startNode.getElementsByTagName('IMG');
46	for(t=0;t<children.length;t++){
47		var isBubbleTip = (children[t].className == "m4jInfoImage");
48		var info = children[t].getAttribute("alt");
49		if(info!= undefined && isBubbleTip){
50			children[t].responsive = false;
51			children[t].special = false;
52			children[t].onmouseover = showBubble;
53			children[t].onmouseout = hideBubble;
54			if(info.trim != ""){
55				children[t].bubbleInfo = info;
56				children[t].contentNode = content;
57			}
58		}
59	}
60	
61	dojo.query("DIV.pfmInfoImage").forEach(dojo.hitch(this, function(div){
62		var info = dojo.trim( div.innerHTML );
63		div.responsive = true;
64		
65		if(info!= undefined ){
66			div.special = false;
67			div.onmouseover = showBubble;
68			div.onmouseout = hideBubble;
69			if(info.trim != ""){
70				div.bubbleInfo = info;
71				div.contentNode = content;
72			}
73		}
74	}));
75	
76	
77	
78	var ask2Confirm = dojo.byId("m4jAsk2Confirm");
79	if(ask2Confirm != undefined){
80		ask2Confirm.bubbleInfo = dojo.byId("m4jAsk2ConfirmDesc").innerHTML;
81		ask2Confirm.contentNode = content;
82		ask2Confirm.onmouseover = showBubble;
83		ask2Confirm.onmouseout = hideBubble;
84		ask2Confirm.special = true;
85	}
86	
87});
88
89
90
91

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.