// JavaScript Document

// Author: Sebastian Friedrich (i. A. RUSKA, MARTIN, ASSOCIATES)
// Mail: friedrich@ruskamartin.de
// Web: http://ruskamartin.de

$(function(){
	// SCHWERPUNKTE MENÜ - Tooltips
	var IDLE_TIMEOUT = 125;
	var STAY_TIMEOUT = 250;
	var TT_TOP_OFFSET = 24;
	var TT_LEFT_OFFSET = 12;
	var TT_OPACITY = .8;
	
	var tooltipTimer = 0;
	
	function initTooltip() {
		var TOOLTIP_LAYER = "<div id='tooltip'></div>";
		
		// Injection
		$(".topics").after(TOOLTIP_LAYER);
		$("#tooltip").hide();
		
		// Texte verwalten
		$(".topics a").each(
			function() {
				$(this)
					.data("tooltip", {
						text:$(this).attr("title"),
						style:$(this).attr("class")
					}).attr("title","");
			});
				
		$(document).mousemove(
				function(e) {
					$("#tooltip").css({
						"left":e.pageX + TT_LEFT_OFFSET,
						"top":e.pageY + TT_TOP_OFFSET
					});
				});
		
		// Bind Tooltips
		$(".topics li:has(a)").hover(
			function() { showTooltip(this); }, 
			function() { hideTooltip(); }
		);
	}

	function showTooltip(obj) {
		clearTimeout(tooltipTimer);
		tooltipTimer = setTimeout( 
			function() {
				$("#tooltip")
					.fadeTo(125, .5, function() { 
						var link = $(obj).find("a:first");
						$(this)
							.html("<p>" + link.data("tooltip").text + "</p>")
							.find("p").addClass(link.data("tooltip").style);
						})
					.animate({
						opacity:TT_OPACITY
					}, 125);
			}, IDLE_TIMEOUT);
	}
	
	function hideTooltip() {
		clearTimeout(tooltipTimer);
		tooltipTimer = setTimeout( 
			function() {
				$("#tooltip").fadeOut(500);
			}, STAY_TIMEOUT);
	}
	
	initTooltip();
	
	// HAUPTMENÜ
	var MOVING_TIME = 125;
	var HOVER_TIMEOUT = 200;
	
	var hoverTimer = 0;
	
	function menuFadeIn(element) {
		$(element).children("a")
			.css({
				//color:"#474b53",
				color:"#2cb2e2",
				opacity:".6"
			}).animate({
				opacity:"1"
			}, 500);
			
		$(element)
			.css({
				backgroundImage:"url(/images/menu-fader.png)",
				backgroundPosition:"-456px 0px",
				backgroundRepeat:"no-repeat"
			})
			.animate({ 
				backgroundPosition:"-204px 0px"
			}, 1000, function() {
				// IE cleartype bugfix
				this.firstChild.style.removeAttribute('filter');
			});
			
	}
	
	function menuFadeOut(element) {
		$(element).children("a")
			.stop(true)
			.css({
				fontStyle:"normal",
				color:"",
				opacity:"1",
				filter:""
			});
	
		$(element)
			.stop(true)
			.animate({ 
				backgroundPosition:"252px 0px"
			}, 1000);
	}
	
	$(".menu li").hover(function() {
		menuFadeIn(this);
	}, function() {
		menuFadeOut(this);
	});
});
