+The balloon.js package is written in object-oriented JavaScript and allows you to add configurable balloon tooltips
+(AKA popup balloons, bubbles, rollover tooltips etc., etc.) to your website. It is generic and is portable to most web sites.
+
+The balloons are dynamically sized in both the vertical and horizontal dimensions and the left/right/up/down orientation
+is calculated automatically based on the position of the cursor. Balloon contents can be provided locally in your own HTML or remotely via AJAX.
+This package is open source and free to all as long as the copyright notice is retained. See below for demonstrations and documentation.
+
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum iaculis,
+ligula quis fringilla volutpat, metus mi molestie lorem, quis accumsan pede
+turpis nec metus. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.'
+
+
+
+What is Lorem ipsum...?
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum iaculis
+, ligula quis fringilla volutpat, metus mi molestie lorem, quis accumsan pede
+turpis nec metus. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
+
+
+
+This is an example of a simple balloon message
+
+
+ <span onmouseover="balloon.showTooltip(event,'I am a simple message...')">message</span>
+
+
+This is an example of the same message with a different balloon style
+
+
+ onmouseover="tooltip.showTooltip(event,'I am a simple message...')">message</span>
+
+
+This is an example of the same message with a box style
+
+
+ onmouseover="box.showTooltip(event,'I am a simple message...')">message</span>
+
+
+
+
+
+Roll over
+this text for an example of HTML-formatted text loaded from a hidden <div> element.
+
+ onmouseover="balloon.showTooltip(event,'load:lorem1')"
+ ...
+ <div id="lorem1" style="display:none">
+ Lorem ipsum dolor sit amet, <b><i>consectetuer adipiscing elit</b></i>. Vestibulum iaculis,
+ ligula quis fringilla volutpat, metus mi molestie lorem, <span style="color:red">quis accumsan pede
+ turpis nec metus.</span> Lorem ipsum dolor sit amet, consectetuer adipiscing elit.'
+ </div>
+
+
+
+
+Adding a third argument makes the tooltip sticky.
+
+
+
+If the balloon contents are too large for the specified dimensions, you will scrollbars for sticky balloons
+and clipping for non-sticky balloons.
+
+
+This creates a sticky balloon whose contents are from an external website.
+',1)">
+What's new at the NY Post?
+
+Note: This requires an embedded iframe because it is an external website.
+
+<span onmouseover="balloon.showTooltip(event,'<iframe style=\'width:300;height:290\' frameborder=0 src=\'http://m.nypost.com\'></iframe>',1)">
+What's new at the NY Post?</span>
+
+
+Ajax methods are also available.
+
+
+
diff --git a/pacotes/balloon-tooltips/htdocs/images/GBubble/balloon.png b/pacotes/balloon-tooltips/htdocs/images/GBubble/balloon.png
new file mode 100644
index 0000000..6f3d80f
Binary files /dev/null and b/pacotes/balloon-tooltips/htdocs/images/GBubble/balloon.png differ
diff --git a/pacotes/balloon-tooltips/htdocs/images/GBubble/balloon_ie.png b/pacotes/balloon-tooltips/htdocs/images/GBubble/balloon_ie.png
new file mode 100644
index 0000000..b31b08c
Binary files /dev/null and b/pacotes/balloon-tooltips/htdocs/images/GBubble/balloon_ie.png differ
diff --git a/pacotes/balloon-tooltips/htdocs/images/GBubble/close.png b/pacotes/balloon-tooltips/htdocs/images/GBubble/close.png
new file mode 100644
index 0000000..5c70f8f
Binary files /dev/null and b/pacotes/balloon-tooltips/htdocs/images/GBubble/close.png differ
diff --git a/pacotes/balloon-tooltips/htdocs/images/GBubble/down_left.png b/pacotes/balloon-tooltips/htdocs/images/GBubble/down_left.png
new file mode 100644
index 0000000..3da4f37
Binary files /dev/null and b/pacotes/balloon-tooltips/htdocs/images/GBubble/down_left.png differ
diff --git a/pacotes/balloon-tooltips/htdocs/images/GBubble/down_right.png b/pacotes/balloon-tooltips/htdocs/images/GBubble/down_right.png
new file mode 100644
index 0000000..37cce24
Binary files /dev/null and b/pacotes/balloon-tooltips/htdocs/images/GBubble/down_right.png differ
diff --git a/pacotes/balloon-tooltips/htdocs/images/GBubble/up_left.png b/pacotes/balloon-tooltips/htdocs/images/GBubble/up_left.png
new file mode 100644
index 0000000..e0a15a7
Binary files /dev/null and b/pacotes/balloon-tooltips/htdocs/images/GBubble/up_left.png differ
diff --git a/pacotes/balloon-tooltips/htdocs/images/GBubble/up_right.png b/pacotes/balloon-tooltips/htdocs/images/GBubble/up_right.png
new file mode 100644
index 0000000..6afa80b
Binary files /dev/null and b/pacotes/balloon-tooltips/htdocs/images/GBubble/up_right.png differ
diff --git a/pacotes/balloon-tooltips/htdocs/images/GPlain/balloon.png b/pacotes/balloon-tooltips/htdocs/images/GPlain/balloon.png
new file mode 100644
index 0000000..86e2fb3
Binary files /dev/null and b/pacotes/balloon-tooltips/htdocs/images/GPlain/balloon.png differ
diff --git a/pacotes/balloon-tooltips/htdocs/images/GPlain/close.png b/pacotes/balloon-tooltips/htdocs/images/GPlain/close.png
new file mode 100644
index 0000000..5c70f8f
Binary files /dev/null and b/pacotes/balloon-tooltips/htdocs/images/GPlain/close.png differ
diff --git a/pacotes/balloon-tooltips/htdocs/images/GPlain/down_left.png b/pacotes/balloon-tooltips/htdocs/images/GPlain/down_left.png
new file mode 100644
index 0000000..37dd43d
Binary files /dev/null and b/pacotes/balloon-tooltips/htdocs/images/GPlain/down_left.png differ
diff --git a/pacotes/balloon-tooltips/htdocs/images/GPlain/down_right.png b/pacotes/balloon-tooltips/htdocs/images/GPlain/down_right.png
new file mode 100644
index 0000000..77252ea
Binary files /dev/null and b/pacotes/balloon-tooltips/htdocs/images/GPlain/down_right.png differ
diff --git a/pacotes/balloon-tooltips/htdocs/images/GPlain/up_left.png b/pacotes/balloon-tooltips/htdocs/images/GPlain/up_left.png
new file mode 100644
index 0000000..4f9aeb6
Binary files /dev/null and b/pacotes/balloon-tooltips/htdocs/images/GPlain/up_left.png differ
diff --git a/pacotes/balloon-tooltips/htdocs/images/GPlain/up_right.png b/pacotes/balloon-tooltips/htdocs/images/GPlain/up_right.png
new file mode 100644
index 0000000..1e60833
Binary files /dev/null and b/pacotes/balloon-tooltips/htdocs/images/GPlain/up_right.png differ
diff --git a/pacotes/balloon-tooltips/htdocs/images/balloons.png b/pacotes/balloon-tooltips/htdocs/images/balloons.png
new file mode 100644
index 0000000..9f5a767
Binary files /dev/null and b/pacotes/balloon-tooltips/htdocs/images/balloons.png differ
diff --git a/pacotes/balloon-tooltips/htdocs/js/balloon.config.js b/pacotes/balloon-tooltips/htdocs/js/balloon.config.js
new file mode 100644
index 0000000..1c53fd4
--- /dev/null
+++ b/pacotes/balloon-tooltips/htdocs/js/balloon.config.js
@@ -0,0 +1,100 @@
+/*
+
+This file contains the default configuration options for balloon tooltips.
+Default options can be edited in this file or changed after the Balloon object is
+initiliazed as follows:
+
+ var balloon = new Balloon;
+ balloon.fontColor = 'black';
+ balloon.fontFamily = 'Arial, sans-serif';
+ balloon.fontSize = '12pt';
+ etc...
+
+*/
+
+// This function adds the default configuration and also custom
+// configuration sets, specified in 'case' stanzas
+BalloonConfig = function(balloon, set) {
+ set = set || '';
+
+ ////////////////////////////////////////////////////////////////
+ // The default "base" config applied to all balloon objects. //
+ // See http://gmod.org/wiki/Popup_Balloons#Customization for //
+ // details about config options //
+ // //
+ // values can be overriden in custom config cases (see below) //
+ ////////////////////////////////////////////////////////////////
+ if (!balloon.configured || set == 'GBubble' || set == 'GBox') { //
+ balloon.fontColor = 'black'; //
+ balloon.fontFamily = 'Arial, sans-serif'; //
+ balloon.fontSize = '12pt'; //
+ balloon.minWidth = 100; //
+ balloon.maxWidth = 400; //
+ balloon.delayTime = 750; //
+ balloon.vOffset = 10; //
+ balloon.hOffset = 10; //
+ balloon.stem = true; //
+ balloon.images = i3GEO.configura.locaplic+'/pacotes/balloon-tooltips/htdocs/images/GBubble'; //
+ balloon.ieImage = 'balloon_ie.png'; //
+ balloon.balloonImage = 'balloon.png'; //
+ balloon.upLeftStem = 'up_left.png'; //
+ balloon.downLeftStem = 'down_left.png'; //
+ balloon.upRightStem = 'up_right.png'; //
+ balloon.downRightStem = 'down_right.png'; //
+ balloon.closeButton = 'close.png'; //
+ balloon.closeButtonWidth = 16; //
+ balloon.allowAJAX = false; //
+ balloon.allowIframes = false; //
+ balloon.trackCursor = true; //
+ balloon.shadow = 20; //
+ balloon.padding = 10; //
+ balloon.stemHeight = 32; //
+ balloon.stemOverlap = 3; //
+ balloon.vOffset = 1; //
+ balloon.hOffset = 1; //
+ balloon.opacity = 0.9; //
+ balloon.configured = set || true; //
+ } //
+ ////////////////////////////////////////////////////////////////
+
+
+ ////////////////////////////////////////////////////////////////
+ // Custom configuration options -- Add a case below for your //
+ // config set (default sets: GBox, GPlain, and GFade) //
+ ////////////////////////////////////////////////////////////////
+ switch(set) {
+
+ // A formatted box (no background image)
+ case('GBoxxxx') :
+ balloon.bgColor = 'whitesmoke';
+ balloon.borderStyle = '2px solid gray';
+ //balloon.images = i3GEO.configura.locaplic+'/pacotes/balloon-tooltips/htdocs/images/GPlain';
+ balloon.padding = 5;
+ balloon.shadow = 0;
+ balloon.stem = true; //original é false edmar
+ balloon.opacity = 0.8;
+ balloon.hOffset = 1;
+ balloon.vOffset = 1;
+ balloon.allowFade = false;
+ break;
+
+ // A simpler balloon
+ case('GPlain') :
+ balloon.padding = 5;
+ balloon.images = i3GEO.configura.locaplic+'/pacotes/balloon-tooltips/htdocs/images/GPlain';
+ balloon.ieImage = null;
+ balloon.shadow = 0;
+ balloon.stemHeight = 15;
+ balloon.stemOverlap = 1;
+ balloon.opacity = 0.85;
+ break;
+
+ // The default cartoon bubble with a fade-in effect
+ case('GFade') :
+ balloon.allowFade = true;
+ balloon.fadeIn = 1000;
+ balloon.faedOut = 200;
+ break;
+ }
+}
+
diff --git a/pacotes/balloon-tooltips/htdocs/js/balloon.config.js~ b/pacotes/balloon-tooltips/htdocs/js/balloon.config.js~
new file mode 100644
index 0000000..e53ab2d
--- /dev/null
+++ b/pacotes/balloon-tooltips/htdocs/js/balloon.config.js~
@@ -0,0 +1,100 @@
+/*
+
+This file contains the default configuration options for balloon tooltips.
+Default options can be edited in this file or changed after the Balloon object is
+initiliazed as follows:
+
+ var balloon = new Balloon;
+ balloon.fontColor = 'black';
+ balloon.fontFamily = 'Arial, sans-serif';
+ balloon.fontSize = '12pt';
+ etc...
+
+*/
+
+// This function adds the default configuration and also custom
+// configuration sets, specified in 'case' stanzas
+BalloonConfig = function(balloon, set) {
+ set = set || '';
+
+ ////////////////////////////////////////////////////////////////
+ // The default "base" config applied to all balloon objects. //
+ // See http://gmod.org/wiki/Popup_Balloons#Customization for //
+ // details about config options //
+ // //
+ // values can be overriden in custom config cases (see below) //
+ ////////////////////////////////////////////////////////////////
+ if (!balloon.configured || set == 'GBubble' || set == 'GBox') { //
+ balloon.fontColor = 'black'; //
+ balloon.fontFamily = 'Arial, sans-serif'; //
+ balloon.fontSize = '12pt'; //
+ balloon.minWidth = 100; //
+ balloon.maxWidth = 400; //
+ balloon.delayTime = 750; //
+ balloon.vOffset = 10; //
+ balloon.hOffset = 10; //
+ balloon.stem = true; //
+ balloon.images = i3GEO.configura.locaplic+'/pacotes/balloon-tooltips/htdocs/images/GBubble'; //
+ balloon.ieImage = 'balloon_ie.png'; //
+ balloon.balloonImage = 'balloon.png'; //
+ balloon.upLeftStem = 'up_left.png'; //
+ balloon.downLeftStem = 'down_left.png'; //
+ balloon.upRightStem = 'up_right.png'; //
+ balloon.downRightStem = 'down_right.png'; //
+ balloon.closeButton = 'close.png'; //
+ balloon.closeButtonWidth = 16; //
+ balloon.allowAJAX = false; //
+ balloon.allowIframes = false; //
+ balloon.trackCursor = false; //
+ balloon.shadow = 20; //
+ balloon.padding = 10; //
+ balloon.stemHeight = 32; //
+ balloon.stemOverlap = 3; //
+ balloon.vOffset = 1; //
+ balloon.hOffset = 1; //
+ balloon.opacity = 0.9; //
+ balloon.configured = set || true; //
+ } //
+ ////////////////////////////////////////////////////////////////
+
+
+ ////////////////////////////////////////////////////////////////
+ // Custom configuration options -- Add a case below for your //
+ // config set (default sets: GBox, GPlain, and GFade) //
+ ////////////////////////////////////////////////////////////////
+ switch(set) {
+
+ // A formatted box (no background image)
+ case('GBoxxxx') :
+ balloon.bgColor = 'whitesmoke';
+ balloon.borderStyle = '2px solid gray';
+ //balloon.images = i3GEO.configura.locaplic+'/pacotes/balloon-tooltips/htdocs/images/GPlain';
+ balloon.padding = 5;
+ balloon.shadow = 0;
+ balloon.stem = true; //original é false edmar
+ balloon.opacity = 0.8;
+ balloon.hOffset = 1;
+ balloon.vOffset = 1;
+ balloon.allowFade = false;
+ break;
+
+ // A simpler balloon
+ case('GPlain') :
+ balloon.padding = 5;
+ balloon.images = i3GEO.configura.locaplic+'/pacotes/balloon-tooltips/htdocs/images/GPlain';
+ balloon.ieImage = null;
+ balloon.shadow = 0;
+ balloon.stemHeight = 15;
+ balloon.stemOverlap = 1;
+ balloon.opacity = 0.85;
+ break;
+
+ // The default cartoon bubble with a fade-in effect
+ case('GFade') :
+ balloon.allowFade = true;
+ balloon.fadeIn = 1000;
+ balloon.faedOut = 200;
+ break;
+ }
+}
+
diff --git a/pacotes/balloon-tooltips/htdocs/js/balloon.js b/pacotes/balloon-tooltips/htdocs/js/balloon.js
new file mode 100644
index 0000000..24f9e4d
--- /dev/null
+++ b/pacotes/balloon-tooltips/htdocs/js/balloon.js
@@ -0,0 +1,1166 @@
+/*
+ * balloon.js -- a DHTML library for balloon tooltips
+ *
+ * $Id: balloon.js 22300 2009-12-01 09:40:39Z sheldon_mckay $
+ *
+ * See http://www.gmod.org/wiki/index.php/Popup_Balloons
+ * for documentation.
+ *
+ * Copyright (c) 2007-2009 Sheldon McKay, Cold Spring Harbor Laboratory
+ *
+ * This balloon tooltip package and associated files not otherwise copyrighted are
+ * distributed under the MIT-style license:
+ *
+ * http://opensource.org/licenses/mit-license.php
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+// These global variables are necessary to avoid losing scope when
+// setting the balloon timeout and for inter-object communication
+var currentBalloonClass;
+var balloonIsVisible;
+var balloonIsSticky;
+var balloonInvisibleSelects;
+var balloonIsSuppressed;
+var tooltipIsSuppressed;
+
+
+//////////////////////////////////////////////////////////////////////////
+// This is constructor that is called to initialize the Balloon object //
+//////////////////////////////////////////////////////////////////////////
+var Balloon = function () {
+ // Cursor tracking enabled by default
+ this.trackCursor = true;
+
+ // Track the cursor every time the mouse moves
+ document.onmousemove = this.setActiveCoordinates;
+
+ // scrolling aborts visible balloons
+ var myObject = this.isIE() ? window : document;
+ myObject.onscroll = function(){Balloon.prototype.nukeTooltip()};
+
+ // make balloons go away if the page is unloading or waiting
+ // to unload.
+ window.onbeforeunload = function(){
+ Balloon.prototype.nukeTooltip();
+ balloonIsSuppressed = true;
+ };
+
+ // for IE, the balloons can't start until the page is finished loading
+ // set a flag that will get toggled when loading is finished
+ if (this.isIE()) {
+ this.suppress = true;
+ }
+
+ return this;
+}
+
+//////////////////////////////////////////////////////////////////////////
+// This is the method that is called on mouseover. It has a built-in //
+// delay time to avoid balloons popping up on rapid mouseover events //
+//////////////////////////////////////////////////////////////////////////
+Balloon.prototype.showTooltip = function(evt,caption,sticky,width,height) {
+ // If the objext is not configured by now, fall back to default
+ if (!this.configured) {
+ BalloonConfig(this,'GBubble');
+ }
+
+ // Cursor tracking halts after one of these vertical
+ // or horizontal thresholds are reached
+ this.stopTrackingX = this.trackCursor ? 100 : 10;
+ this.stopTrackingY = this.trackCursor ? 50 : 10;
+
+ // Awful IE bug, page load aborts if the balloon is fired
+ // before the page is fully loaded.
+ if (this.isIE() && document.readyState.match(/complete/i)) {
+ this.suppress = false;
+ }
+
+ // All balloons have been suppressed, go no further
+ if (this.suppress || balloonIsSuppressed) {
+ return false;
+ }
+
+ // Non-sticky balloons suppressed
+ if (tooltipIsSuppressed && !sticky) {
+ return false;
+ }
+
+ // We use 1-100 scale for opacity internally
+ if (this.opacity && this.opacity < 1) {
+ this.opacity = parseInt(parseFloat(this.opacity) * 100);
+ }
+ else if (this.opacity && this.opacity == 1) {
+ this.opacity = 100;
+ }
+ else if (!this.opacity) {
+ this.opacity == 100;
+ }
+
+ // Sorry Konqueror, no fade-in or translucency for you!
+ if (this.isKonqueror()) {
+ this.allowFade = false;
+ this.opacity = 100;
+ }
+
+ // With IE, fading and translucency are not very compatible
+ // use opaque balloons if fadein is enabled
+ if (this.isIE() && this.allowFade) {
+ this.opacity = 100;
+ }
+
+ // Check for mouseover (vs. mousedown or click)
+ var mouseOver = true;
+ try{
+ var mouseOver = evt.type.match('mouseover','i');
+ }catch(e){}
+
+ // if the firing event is a click, fade-in and a non-sticky balloon make no sense
+ if (!mouseOver) {
+ sticky = true;
+ this.fadeOK = false;
+ // case where hover and click events both trigger balloons
+ if (balloonIsVisible) {
+ this.hideTooltip();
+ }
+ }
+ else {
+ this.fadeOK = this.allowFade;
+ }
+
+ // Don't fire on mouseover if a non-sticky balloon is visible
+ if (balloonIsVisible && !balloonIsSticky && mouseOver) {
+ return false;
+ }
+
+ // Don't start a non-sticky balloon if a sticky one is visible
+ if (balloonIsVisible && balloonIsSticky && !sticky) {
+ return false;
+ }
+
+ // Ignore repeated firing of mouseover->mouseout events on
+ // the same element (Safari)
+
+ try{
+ var el = this.getEventTarget(evt);
+ }catch(e){var el = evt;}
+
+ if (sticky && mouseOver && this.isSameElement(el,this.currentElement)) {
+ return false;
+ }
+ this.currentElement = el;
+
+ // remember the coordinates of the element
+ this.elCoords = this.getLoc(el,'region');
+
+ // attach a mouseout event handler to the target element
+ if (!sticky) {
+ var mouseoutFunc = el.onmouseout;
+ var closeBalloon = function() {
+ Balloon.prototype.hideTooltip();
+ // fall through to any onmouseout event specified elsewhere
+ if (mouseoutFunc) {
+ mouseoutFunc();
+ }
+ }
+ if (!mouseOver) {
+ el.onmouseup = function() {return false};
+ }
+ //el.onmouseout = closeBalloon;
+ }
+
+ balloonIsSticky = sticky;
+
+ this.hideTooltip();
+
+ // request the contents synchronously (ie wait for result)
+ this.currentHelpText = this.getAndCheckContents(caption);
+
+ // no contents? abort.
+ if (!this.currentHelpText) {
+ return false;
+ }
+
+ this.width = width;
+ this.height = height;
+ this.actualWidth = null;
+
+ // make sure old balloons are removed
+ this.hideTooltip();
+
+ // Put the balloon contents and images into a visible (but offscreen)
+ // element so they will be preloaded and have a layout to
+ // calculate the balloon dimensions
+ this.container = document.createElement('div');
+ this.container.id = 'balloonPreloadContainer';
+ document.body.appendChild(this.container);
+ this.setStyle(this.container,'position','absolute');
+ this.setStyle(this.container,'top',-8888);
+ this.setStyle(this.container,'font-family',this.fontFamily);
+ this.setStyle(this.container,'font-size',this.fontSize);
+
+ // protect escaped '&'
+ this.currentHelpText = this.currentHelpText.replace(/\&/g, '&');
+ this.container.innerHTML = unescape(this.currentHelpText);
+
+ // make sure balloon image path is complete
+ if (this.images) {
+
+ // main background image
+ this.balloonImage = this.balloonImage ? this.images +'/'+ this.balloonImage : false;
+ this.ieImage = this.ieImage ? this.images +'/'+ this.ieImage : false;
+
+ // optional stems
+ this.upLeftStem = this.upLeftStem ? this.images +'/'+ this.upLeftStem : false;
+ this.upRightStem = this.upRightStem ? this.images +'/'+ this.upRightStem : false;
+ this.downLeftStem = this.downLeftStem ? this.images +'/'+ this.downLeftStem : false;
+ this.downRightStem = this.downRightStem ? this.images +'/'+ this.downRightStem : false;
+
+ this.closeButton = this.closeButton ? this.images +'/'+ this.closeButton : false;
+
+ this.images = false;
+ }
+
+ // The PNG alpha channels (shadow transparency) are not
+ // handled properly by IE < 6. Also, if opacity is set to
+ // < 1 (translucent balloons), any version of IE does not
+ // handle the image properly.
+ // Google chrome is a bit dodgey too
+ // If there is an IE image provided, use that instead.
+ if (this.ieImage && (this.isIE() || this.isChrome())) {
+ if (this.isOldIE() || this.opacity || this.allowFade) {
+ this.balloonImage = this.ieImage;
+ }
+ }
+
+ // preload balloon images
+ if (!this.preloadedImages) {
+ var images = new Array(this.balloonImage, this.closeButton);
+ if (this.ieImage) {
+ images.push(this.ieImage);
+ }
+ if (this.stem) {
+ images.push(this.upLeftStem,this.upRightStem,this.downLeftStem,this.downRightStem);
+ }
+ var len = images.length;
+ for (var i=0;i pageMid ? 'up' : 'down';
+ var hOrient = self.activeRight > pageCen ? 'left' : 'right';
+
+ // get the preloaded balloon contents
+ var helpText = self.container.innerHTML;
+ self.actualWidth = self.getLoc(self.container,'width');
+ if (!isNaN(self.actualWidth)) {
+ self.actualWidth += 10;
+ }
+ self.parent.removeChild(self.container);
+ var wrapper = document.createElement('div');
+ wrapper.id = 'contentWrapper';
+ self.contents.appendChild(wrapper);
+ wrapper.innerHTML = helpText;
+
+ // how and where to draw the balloon
+ self.setBalloonStyle(vOrient,hOrient,pageWidth,pageLeft);
+
+ // close control for balloon or box
+ if (balloonIsSticky) {
+ self.addCloseButton();
+ }
+
+ balloonIsVisible = true;
+ self.pending = false;
+
+ // in IE < 7, hide