
/**
 * Init function to set up the tooltips
 *
 */
var initNaviTooltips = function(){
	// Init vars
	var toolElements = $$('.tooltipnavi');
	var toolText = '';
	if(toolElements.length > 0) {
		toolElements.each(
			function(ele,index){
				var tooltipName;
				var tooltipID;
				if(ele.rel) {
					tooltipName = ele.rel;
				} else {
					tooltipName = ele.id;
				}
				var eleAncs = ele.ancestors();
				var tooltipEle = new Element('div', {'id' : tooltipName + '_div', 'class' : 'tooltip-wrap', 'style' : 'display:none;position:absolute;'});
				var myAjax = new Ajax.Request(
					"index.php?eID=tx_wmdblbbooking_pi1_tooltip_eid",
					{
						method: 'POST',
						parameters : '&tooltip=' + tooltipName + '&type=stuff' + '&L=' + globalLangId,
						onComplete: function(transport) {
							var text = transport.responseText.evalJSON();
							tooltipEle.update(text['tooltip']);
							eleAncs[(eleAncs.length - 1)].appendChild(tooltipEle);
							Event.observe(ele,'mouseover',showNaviTooltip);
						}
					}
				);
			}
		);
	}
};

var showNaviTooltip = function(event) {
	if(this.rel) {
		id = this.rel;
	} else {
		id = this.id;
	}
	var mouse_x = Event.pointerX(event);
	var mouse_y = Event.pointerY(event);
	var dimensions = $(id+'_div').getDimensions();
	var element_width = dimensions.width;
	var element_height = dimensions.height;
	if ( (element_width + mouse_x) >= ( getWindowWidth() - 15) ){ // too big for X
		mouse_x = mouse_x - element_width;
		// apply delta to make sure that the mouse is not on the tool-tip
		mouse_x = mouse_x - 15;
	} else {
		mouse_x = mouse_x + 15;
	}
	if ( (element_height + mouse_y) >= ( getWindowHeight() - 15) ){ // too big for Y
		mouse_y = mouse_y - element_height;
	    // apply delta to make sure that the mouse is not on the tool-tip
		mouse_y = mouse_y - 15;
	} else {
		mouse_y = mouse_y + 15;
	}
	$(id+'_div').setStyle({'left' : mouse_x + 'px', 'top' : mouse_y+'px'});
	$(id+'_div').show();
	this.stopObserving();
	Event.observe(this,'mouseout',fadeNaviTooltip);
};

var fadeNaviTooltip = function(event) {
	if(this.rel) {
		id = this.rel + '_div';
	} else {
		id = this.id + '_div';
	}
	$(id).hide();
	this.stopObserving();
	Event.observe(this,'mouseover',showTooltip);
};

var getWindowHeight = function(){
    var innerHeight;
	if (navigator.appVersion.indexOf('MSIE')>0) {
		innerHeight = document.body.clientHeight;
    } else {
		innerHeight = window.innerHeight;
    }
    return innerHeight;
 };

var getWindowWidth = function(){
    var innerWidth;
	if (navigator.appVersion.indexOf('MSIE')>0) {
		innerWidth = document.body.clientWidth;
    } else {
		innerWidth = window.innerWidth;
    }
    return innerWidth;
 };

var hideAllEmptyDivs = function() {
	var allDivs = $$('#content div.leftbox');
	if(allDivs.length > 0) {
		allDivs.each(
	        function(ele,index) {
	            if(ele.innerHTML.blank()) {
	                ele.hide();
	            }
	        }
	    );
	}
	allDivs = $$('div.tx-wmdblbsearch-pi3');
	if(allDivs.length > 0) {
		allDivs.each(
				function(ele,index) {
					if(ele.innerHTML.blank()) {
						ele.up().hide();
					}
				}
		);
	}
};

FastInit.addOnLoad(initNaviTooltips,hideAllEmptyDivs);
