
var mdl = {};

/**
 * @deprecated Aktuelleste Spry-Version hat eine eigene Klasse!
 * DataTooltip
 * Ben�tigt: SpryTooltip, SpryHTMLPanel, SpryUtils
 */
mdl.DataTooltip = function(url, trigger, element, options) {
	
	var self = this;
	
	this.element = element;
	this.trigger = trigger;
	this.showEmpty = false;
	if (!options) options={};
	//this.options = options;
	this.showDelay = options.showDelay;
	this.loaded = false;
	this.url = url;
	this.HTMLPanel = new Spry.Widget.HTMLPanel(this.element);
	
	this.tt1 = new Spry.Widget.Tooltip(element, '#'+trigger, options);
	this.tt1.hideDelay=200;
	this.tt1.useEffect=''; // Effect abgeschaltet lassen, da sonst zu viel geflackers entsteht!
	
	Spry.Utils.addEventListener(this.trigger, 'mouseover', function(e) {self.onMouseOverTrigger(e || event); return true;}, false);		

};

mdl.DataTooltip.prototype.flashObjects = function(show) {
	// Idee: alle Flashobjekte bei Tooltips unsichtbar schalten?
	
	/*
	if (!this.options.flashObjects) {
		return;
	}
	
	var display = (show) ? 'block':'none';
	
	fo = this.options.flashObjects;
	for (var i in fo) {
		
		   var obj = Utils.getElementById(fo[i]);
		   
		   Spry.Effect.setStyleProp(obj, "display", display);
		 
	}

	*/
}


mdl.DataTooltip.prototype.showTooltip = function() {
	this.flashObjects(false);
	this.tt1.showTooltip();
};

mdl.DataTooltip.prototype.hideTooltip = function() {
	this.flashObjects(true);
	this.tt1.hideTooltip();
};

mdl.DataTooltip.prototype.onMouseOverTrigger = function(e) {
	this.flashObjects(false);
	if (!this.loaded) {
		this.HTMLPanel.loadContent(this.url);
		this.loaded=true;
	}
};