/**
* @author christian.beckmann
*/

var faktorX = 0;
var faktorY = 350;
var class_name = 'info_blase';

var IEproblem = false;

function showPosition(e) {
	//var els = $$('.info_blase');
	
	//variablen Für die Suchseite im IE
	var IExAbstand = 10; // Abstabd zum Mauszeiger, reicht einmal da es sich nachher nach dem Mauszeger richtet
	var IEyAbstand = -20; 
	IEpositionX = (document.all) ? window.event.x + document.body.scrollLeft : e.pageX; //Position des Mauszeigers bestimmen im IE
    IEpositionY = (document.all) ? window.event.y + document.body.scrollTop : e.pageY;
	//Ende
	
	var elementList = document.getElementsByClassName(class_name);
		
	var dw = (window.innerWidth - 880 - faktorX) / 2;
	//IE
	if (isNaN(dw)) {
		dw = (document.documentElement.clientWidth - 880 - faktorX) / 2;
		//$('status').innerHTML = document.documentElement.clientWidth;
	}
	if (dw < 0) dw = 0;
	
	if (elementList.length > 0) {
		for (var i = 0; i < elementList.length; i++) {
			if (elementList[i].style.display == 'block') {
				if (IEproblem == true) { //ueberpruefen ob IEproblem true ist, das kommt aus der Html
					elementList[i].style.left = (IEpositionX + IExAbstand) + "px";
					elementList[i].style.top  = (IEpositionY + IEyAbstand) + "px";
				}
				else { // alle anderen
					elementList[i].style.left = parseInt(Event.pointerX(e) - dw) + "px";
					elementList[i].style.top = parseInt(Event.pointerY(e)- faktorY) + "px";
				}
			}
			//elementList[i].style.display = 'block';
			//$('status').innerHTML = Event.pointerX(e) + ' ' + Event.pointerY(e) + ' ' + String(elementList[i].style.left) + ' ' + dw + ' ' + window.document.width;
		}
	}
}

window.onload = function() {
	Event.observe(document, "mousemove", showPosition, false);
}

/*
 * Zeigt den Teaser vollständig an 
 */
function showTeaser(teaserid,obj) {
	var teaser = document.getElementById(teaserid);
	teaser.style.display='block'

	if (obj) {
		if (navigator.appName.toLowerCase() == 'netscape' || navigator.appName.toLowerCase() == 'opera') {
			obj.style.top = '-2px';
			obj.style.paddingTop = '2px';
			obj.style.display = "block";
			teaser.style.paddingLeft = '8px';
		}
		if (navigator.appName.toLowerCase() == 'microsoft internet explorer') {
			setTimeout("hideTeaser",5000);
			obj.style.top = '-1px';
			obj.style.paddingTop = '3px';
			obj.style.display = "block";
		}
		//Alle anderen Tooltips schließen falls geöffnet
		//var els = document.getElementsByClassName('teaser_headline_hauptseite');

		//Anzahl der Teaser über neue Methode herausfinden statt starr hereinzusetzen
	
		$(obj).childElements().each(function(el) {
			if ($(el).hasClassName = 'teaser_open_hauptseite') {
				t_open = el;
			}
		})

		$$('.teaser_open_hauptseite').each(function(t) {
			if (t != t_open) {
				var t_parents = $(t).ancestors()[0];
				if ($(t_parents).hasClassName = 'teaser_headline_hauptseite') {
					els = t_parents;
				}
				hideTeaser($(t).id, els);
			}
		})		

		/*for (i = 0; i < teasers.length; i++) {
			if (teasers[i] != teaserid) {
				hideTeaser(teasers[i], els[i]);
			}
		}*/
	}

}

function hideTeaser(teaserid,obj) {
	var teaser = document.getElementById(teaserid);
	if (teaser) {
		teaser.style.display = 'block'
		teaser.style.display = 'none';
	}
	
	if (obj) {
		if (navigator.appName.toLowerCase() == 'netscape' || navigator.appName.toLowerCase() == 'opera') {
			obj.style.top='0px';
			obj.style.paddingTop = '1px';
			obj.style.display = "inline";
		}
		if (navigator.appName.toLowerCase() == 'microsoft internet explorer') {
			setTimeout("showTeaser",5000);
			obj.style.top='2px';
			obj.style.paddingTop = '1px';
			obj.style.display = "inline";
		}
	}
}

function hideallTeaser() {
		//var els = document.getElementsByClassName('teaser_headline_hauptseite');
		$$('.teaser_open_hauptseite').each(function(t) {
			var t_parents = $(t).ancestors()[0];
			if ($(t_parents).hasClassName = 'teaser_headline_hauptseite') {
				els = t_parents;
			}
			hideTeaser($(t).id, els);
		})		
		/*for (i = 0; i < teasers.length; i++) {
			hideTeaser(teasers[i], els[i]);
		}*/
}

function showTooltip(id, cname) {
	if (document.getElementById(id)) {
    document.getElementById(id).style.display='block';
  	class_name = cname; //Klassenname des Tooltips überschreiben
  } 
}

function hideTooltip(id) {
	if (document.getElementById(id)) {
    document.getElementById(id).style.display='none';
  }
}

/* Baunetzwoche Auflistung der Tooltips */
var bwelement = null;

/**
 * Zeigt den Tooltip der BW an, es wird ein Mouseover-Event an document angesetzt,
 * welches solange ausgeführt wird bis der Mauszeiger außerhalb der Zeile ist,
 * dann wird der Tooltip wieder versteckt 
 * @param {Object} nr
 * @param {Object} obj
 */
function showBWTooltip(nr,obj) {
	var el = document.getElementById('bw_tooltip'+nr); //Tooltip holen 
	if (el) {
		el.style.display = 'block';

		function BWOserver(e) {
			bwelement = Event.element(e);
		
			var attr = $(obj).cumulativeOffset();
			var attr_left = attr[0];

			var hoehe = parseInt($(el).getStyle('height'));
			var breite = parseInt($(el).getStyle('width'));

			var dw = window.innerWidth;
			//IE
			if (isNaN(dw)) {
				dw = document.documentElement.clientWidth;
			}

			var x = Event.pointerX(e)+breite;

			if (x <= dw) {
				$(el).setStyle({
					top: (Event.pointerY(e) - hoehe - 125) + 'px',
					left: (Event.pointerX(e) - attr_left) + 'px'
				});
			} else {
				$(el).setStyle({
					top: (Event.pointerY(e) - hoehe - 125) + 'px',
					left: dw-attr_left-breite + 'px'
				});
			}

			if (!$(bwelement).descendantOf(obj)) {
				el.style.display = 'none';
				Event.stopObserving(document.body,'mousemove', BWOserver);
			}
		}

		Event.observe(document.body,'mousemove', BWOserver);
	}
}