//
// Hilfe:
//		<span class="rewrite" title="Welt">richard&lt;at&gt;wiffbi&lt;punkt&gt;de</span>
//		$('span.rewrite').defuscate();
//		Standardmäßig wird das Title-Attribut als Text benutzt. Dies lässt sich aber umgehen,
//		indem man es weglässt oder die Option setzt, es nicht zu beachten.
//		$('span.rewrite').defuscate({useTitle: false});
//		
// Es ist auch möglich Reguläre Ausdrücke zur Ersetzung von @ und Punkt zu Hilfe zu nehmen.
//		<span class="rewrite-regexp">richard (hier bitte den Klammeraffen einfügen) wiffbi.de</span>
//		$('span.rewrite-regexp').defuscate({at: /\s*\([^\)]+\)\s*/});
//
(function($) {
	$.fn.defuscate = function (settings) {
		settings = jQuery.extend({
			at: "[at]", // falls vorhanden, ersetze mit @
			dot: "[punkt]", // falls vorhanden, ersetze mit .
			useTitle: true // falls vorhanden, nutze das title-Attribut als Text anstatt der Emailadresse
		}, settings);
		
		return this.each(function() {
			var thisNode = $(this),
				email = thisNode.text().replace(settings.at, "@").replace(settings.dot, "."),
				a = document.createElement("a"),
				text = settings.useTitle && this.title /*&& this.hasAttribute("title")*/ ? this.title : email;
			
			if (!text) {
				thisNode.remove();
				return;
			}
			
			a.setAttribute("href", "mailto:" + email);
			a.appendChild(document.createTextNode(text));
			thisNode.empty().append(a);
		});
	};
})(jQuery);




jQuery(function($) {
	// prüfe, ob in iframe
	if (window.top.location != window.location) {
		window.top.location = window.location;
	}
	
	// hCard-email entsprechend umschreiben
	$(".email").defuscate();
	
	$(".fold-it").each(function() {
		var more = $("<span> &raquo; <a href=\"#\" class=\"more\">mehr</a></span>"),
			$this = $(this).hide();
		
		more.find("a").bind("click", function() {
			more.hide();
			$this.slideDown();
			return false;
		});
		
		if ($this.prev().hasClass("fold-it-more")) {
			$this.prev().append(more);
		}
		else {
			$this.hide().before($(document.createElement("p")).append(more));
		}
		
	})
});


jQuery(function($) {
	var player = document.createElement('audio');
	if (!player || !player.canPlayType || (player.canPlayType('audio/mpeg') == "" && player.canPlayType('audio/ogg; codecs="vorbis"') == "")) {
		return;
	}
	document.body.appendChild(player);
	var playsOgg = !player.canPlayType('audio/mpeg') && player.canPlayType('audio/ogg; codecs="vorbis"'),
		curPlaying = null;
	
	$(".cd-hoeren a").addClass("player").each(function() {
		if (playsOgg) {
			this.href = this.href.substring(0, this.href.length-3) + "oga";
		}
		var 
		url = playsOgg ? this.href.substring(0, this.href.length-3) + "oga" : this.href,
		$this = $(this).bind("click", function() {
			this.blur();
			
			if ($this.hasClass("playing")) {
				$this.removeClass("playing");
				curPlaying = null;
				player.pause();
				return false;
			}
			
			if (curPlaying) {
				player.pause();
				curPlaying.removeClass("playing");
			}
			
			$this.addClass("playing");
			if (player.src != url) {
				player.src = url;
			}
			player.play();
			curPlaying = $this;
			return false;
		});
	});
	
	/*
	if (player.canPlayType('audio/ogg; codecs="vorbis"')) {
		url = url.substring(0, url.length-3) + "ogg";
	}
	player.src = url;
	document.body.appendChild(player);
	
	player.addEventListener("ended", function() {
		links.trigger("click");
	}, false);
	
	links.toggle(function() {
		this.blur();
		spot.addClass("playing");
		//if (!player) console.log(player);
		player.currentTime = 0;
		player.play();
		return false;
	}, function() {	
		this.blur();
		spot.removeClass("playing");
		player.pause();
		return false;
	});
	*/
});
