CCR/CCD reporting module: added option to see the raw xml
[openemr.git] / library / js / ajtooltip.js
blob4c6c77d2fcb835d0cf3600b73baeaa8f75185c4a
1 // Copyright (C) 2009 Rod Roark <rod@sunsetsystems.com>
2 //
3 // This program is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU General Public License
5 // as published by the Free Software Foundation; either version 2
6 // of the License, or (at your option) any later version.
8 // See interface/reports/players_report.php for an example of
9 // implementing tooltips with this module.
11 // Helper functions.
12 function ttGetX(elem) {
13  var x = 0;
14  while(elem != null) {
15   x += elem.offsetLeft;
16   elem = elem.offsetParent;
17  }
18  return x;
20 function ttGetY(elem) {
21  var y = 0;
22  while(elem != null) {
23   y += elem.offsetTop;
24   elem = elem.offsetParent;
25  }
26  return y;
29 var ttTimerId = 0;
30 var ttElem = null;
31 var ttobject = null;
32 var ttUrl = '';
34 function ttClearTimer() {
35  if (ttTimerId) {
36   clearTimeout(ttTimerId);
37   ttTimerId = 0;
38   ttElem = null;
39   ttUrl = '';
40  }
43 // timer completion handler
44 function ttMake() {
45  ttobject = document.getElementById("tooltipdiv");
46  // ttobject.innerHTML = (ttTitle.length > 0) ? ttTitle : 'Loading...';
47  ttobject.innerHTML = '&nbsp;';
48  var x = ttGetX(ttElem);
49  var dw = window.innerWidth ? window.innerWidth - 20 : document.body.clientWidth;
50  if (dw && dw < (x + ttobject.offsetWidth)) {
51   x = dw - ttobject.offsetWidth;
52   if (x < 0) x = 0;
53  }
54  // var y = ttGetY(ttElem) - ttobject.offsetHeight - 10;
55  // if (y < 0) y = ttGetY(ttElem) + ttElem.offsetHeight + 10;
56  var dh = window.innerHeight ? window.innerHeight : document.body.clientHeight;
57  var y = ttGetY(ttElem) + ttobject.offsetHeight + 10;
58  if (y + 40 > dh) y = 0;
59  ttobject.style.left = x;
60  ttobject.style.top  = y;
61  ttobject.style.visibility='visible';
62  // if (!ttElem.ttTitle) {
63   myUrl = ttUrl;
64   $.getScript(ttUrl);
65  // }
66  ttTimerId = 0;
67  ttElem = null;
70 // onmouseover handler
71 function ttMouseOver(elem, url) {
72  ttClearTimer();
73  ttElem = elem;
74  ttUrl = url;
75  ttTimerId = setTimeout("ttMake()", 250);
76  return false;
79 // onmouseout handler.
80 function ttMouseOut() {
81  ttClearTimer();
82  var ttobject = document.getElementById("tooltipdiv");
83  ttobject.style.visibility='hidden';
84  ttobject.style.left = '-1000px';