/* Bubble tooltip - need mootools to work */
function Bubble(parent_id) {
  this.initBubble = function(parent_id, title, text) { // Constructor
    var parent = $(parent_id);
    
    if ( !parent )
        return;

    /* Bug fix for select items with ie */

    if (Browser.Engine.trident) {
      var iframe = new Element('iframe', {
           'id':parent_id+'-frame',
           'class':'bulle-iframe',
           'src':"javascript:'<html></html>';",
           'scrolling':'no',
           'frameborder':'0'
        }).inject(document.body); // .injectAfter(parent);
    }

    var outer_div = new Element('div',
      {'id':parent_id+'-bubble', 'class':'bulle'
      }).inject(document.body); // .injectAfter(parent);
      
    var bulle_mouth = new Element('div', {'class':'bulle-mouth'
      }).injectInside(outer_div);
      
    var bulle_top_left = new Element('div', {'class':'bulle-top-left'
      }).injectInside(outer_div);
    var bulle_top_right = new Element('div', {'class':'bulle-top-right'
      }).injectInside(bulle_top_left);
    var bulle_top = new Element('div', {'class':'bulle-top'
      }).injectInside(bulle_top_right);

    var bulle_left = new Element('div', {'class':'bulle-left'
      }).injectInside(outer_div);
    var bulle_right = new Element('div', {'class':'bulle-right'
      }).injectInside(bulle_left);
    var bulle_inner = new Element('div', {'class':'bulle-inner'
      }).injectInside(bulle_right);

    var bulle_bottom_left = new Element('div', {'class':'bulle-bottom-left'
      }).injectInside(outer_div);
    var bulle_bottom_right = new Element('div', {'class':'bulle-bottom-right'
      }).injectInside(bulle_bottom_left);
    var bulle_bottom = new Element('div', {'class':'bulle-bottom'
      }).injectInside(bulle_bottom_right);

		if (parent.title){
			var dual = parent.title.split('::');
			if (dual.length > 1){
				var title = dual[0].trim();
				var text = dual[1].trim();
			} else {
				var title = parent.title;
			}
			parent.removeAttribute('title');
		}
    bulle_inner.set({'html' :'<span class="bulle-title">'+title+'</span><br />'+text});
 
    if (Browser.Engine.trident) {
      iframe.style.height = outer_div.offsetHeight; // Set good height for the iframe
    }

    $(parent_id+'-bubble').setStyle('opacity', 0);
    
    parent.bubble_visible = false;
    parent.addEvent('click', function(evt) {
      var evt = new Event(evt);
      var op = this.bubble_visible ? 0 : 1;
      if (!this.bubble_visible) {
        $(this.id + '-bubble').style.left = parseInt(evt.page.x)+30+'px';
        $(this.id + '-bubble').style.top = parseInt(evt.page.y)-30+'px';
      }
      if (Browser.Engine.trident) {
        if (this.bubble_visible)
          $(this.id + '-frame').style.display = 'none';
        else {
          $(this.id + '-frame').style.left = parseInt(evt.page.x)+30+'px';
          $(this.id + '-frame').style.top = parseInt(evt.page.y)-30+'px';
          $(this.id + '-frame').style.display = 'block';
        }
      }

      this.bubble_visible = !this.bubble_visible;
      $(parent_id+'-bubble').fade(op);
      return false;
    });
  }
  this.element = this.initBubble(parent_id);
}

