
// Mailmask

$.fn.noSpam = function() {
	at = '@';
	return this.each(function(){
		e = null;
		$(this).find('span').replaceWith(at);
		e = $(this).text();
		$(this).attr('href', 'mailto:' + e);
	});
};


$.fn.topLink = function(settings) {
	settings = jQuery.extend({fadeSpeed: 200}, settings);
		var scroll_timer;
		var displayed = false;
		var $message = $(this);
		var $window = $(window);
		var top = $(document.body).children(0).position().top;
		$window.scroll(function () {
			window.clearTimeout(scroll_timer);
			scroll_timer = window.setTimeout(function () {
				if($window.scrollTop() <= top)
				{
					displayed = false;
					$message.fadeOut(settings.fadeSpeed);
				}
					else if(displayed == false) 
				{
					displayed = true;
					$message.stop(true, true).fadeIn(settings.fadeSpeed).click(function () { $message.fadeOut(settings.fadeSpeed); });
				}
			}, 100);
		});
};

// NAVIGATION

var naviTriggers = new Array();
var trigger;

// Hier die IDs der Buttons eintragen, die zum Auf- und Zuklappen dienen sollen.
// Wenn es nur ein einziges aufklappbares Menü gibt, muß auch nur eine ID angegeben werden.

naviTriggers[0] = 'referenzen';

// ------------ Initialisierung der Event-Handler
function initNavi() {

	var trigger;
	
	/* ------------------------------------------------- */

	for (var i = 0; i < naviTriggers.length; i++) {
		var element = naviTriggers[i];
		trigger = document.getElementById(element);
		
		// Die folgende Zeile läßt das Menü per Klick öffnen und schließen:
		//trigger.onclick = triggerNavi;

		// Diese beiden Zeilen lassen das Menü auf Mouseover reagieren:
		trigger.onmouseover = openNavi;
		trigger.onmouseout = closeNavi;
 	}

}

// ------------ Funktion für automatisches Schließen aller geöffneten Navigationen

function naviClose(triggers) {

	for (var i = 0; i < triggers.length; i++) {
		var element = triggers[i];
		var elem = document.getElementById(element);
					
			var child = elem.childNodes[2];
		
			if (child.tagName == 'UL') {

				if (child.style.display == "block") {
					child.style.display = "none";
				}
		
			}
 	}
	
}

// ------------ Funktion für das Öffnen und Schließen der Navigation (onclick)
function triggerNavi(event) {
	
	naviClose(naviTriggers);
	
	var child = this.childNodes[2];

	if (child.tagName == 'UL') {

		if (child.style.display == "block") {
			child.style.display = "none";
		} else {
			child.style.display = "block";
		}

	}

}


// ------------ Funktionen für das Öffnen und Schließen der Navigation (onmouseover)
function openNavi(event) {
	
	var child = this.childNodes[2];
	
	if (child.tagName == 'UL') {
		child.style.display = "block";
	} 
	
}

function closeNavi(event) {

	var child = this.childNodes[2];

	if (child.tagName == 'UL') {
		child.style.display = "none";
	}

}


window.onload = function() {initNavi();noSpam();}



// CUFON

$(function(){
	Cufon.replace('h2')('h3');
    $('a[href*=#]').click(function() {
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') 
        && location.hostname == this.hostname) {
            var $target = $(this.hash);
            $target = $target.length && $target || $('[name=' + this.hash.slice(1) +']');
            if ($target.length) {
                var targetOffset = $target.offset().top;
                $('html,body').animate({scrollTop: targetOffset}, 1000);
                return false;
            }
        }
    });
	$('a.escape').noSpam();
	$('.gototop').topLink({fadeSpeed: 500});
	$("a[rel='lightbox']").colorbox();
});



