
/**
 * Erweiterung der Mootools-Tips.
 * Ermöglicht Anzeige von Bildern im ToolTip
 * 
 * Erfordert zwigend einen spezifizierten Title:
 * Title::Text::Image
 * 
 * @author Guradia
 * @extends Tips
 */
var TipsImg = Tips.extend({
	build: function(el)
	{
	    if (el.myTitle)
	    {
	        return;
	    }
		el.myTitle = (el.href && el.getTag() == 'a') ? el.href.replace('http://', '') : (el.rel || false);
		if (el.title){
			var dual = el.title.split('::');
			if (dual.length > 1) {
			    /* Statt wie im Original, [0] und [1] zu verwenden,
			     * wird hier das erste Element abgeknappst und der Rest wieder
			     * als Gesamttext zusammengefügt
			     */
				el.myTitle = dual.shift().trim();
				el.myText = dual.join('::').trim();
			} else {
				el.myText = el.title;
			}
			
			// Splittet den Text erneut, um ggf. Das Bild zu finden.
			var tripplet = el.myText.split('::');
			if (tripplet.length > 1)
			{
			    // Erneutes Zusammensetzen des Textes mit Bild
			    el.myText = tripplet[0] + '<br /><img src="' + tripplet[1] + '" />';
			}
			el.removeAttribute('title');
		} else {
			el.myText = false;
		}
		if (el.myTitle && el.myTitle.length > this.options.maxTitleChars) el.myTitle = el.myTitle.substr(0, this.options.maxTitleChars - 1) + "&hellip;";
		el.addEvent('mouseenter', function(event){
			this.start(el);
			if (!this.options.fixed) this.locate(event);
			else this.position(el);
		}.bind(this));
		if (!this.options.fixed) el.addEvent('mousemove', this.locate.bindWithEvent(this));
		var end = this.end.bind(this);
		el.addEvent('mouseleave', end);
		el.addEvent('trash', end);
	}
});