/* ====== E-Mail Defuscate ===== */	
(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");
			a.setAttribute("href", "mailto:" + email);
			a.appendChild(document.createTextNode(settings.useTitle && this.title ? this.title : email));
			thisNode.empty().append(a);
		});
	};
})(jQuery);

/* ====== CSS3-Prefix-Handler ===== */	
// http://leaverou.github.com/prefixfree/
(function($, self){

if(!$ || !self) {
	return;
}

for(var i=0; i<self.properties.length; i++) {
	var property = self.properties[i],
		camelCased = self.camelCase(property),
		PrefixCamelCased = self.prefixProperty(property, true);
	
	$.cssProps[camelCased] = PrefixCamelCased;
}

})(window.jQuery, window.PrefixFree);


function dom_init() {

  /* See http://fancybox.net/api for all options */
  $("a.fancybox").fancybox({
    'speedIn' : 600,
    'speedOut' : 300
  });


		
  
}

/* ====== Clickable box ===== */
	$(".clickbox").each(function() {
		var thisClickbox = $(this),
			link = $("a:first", thisClickbox);
		
		// kein Link vorhanden, dann clickbox nicht aktivieren
		if (!link.length) return;
		
		thisClickbox.bind("click", function(e) {
			// Klick-Ziel herausfinden
			var target;
			if (!e) var e = window.event;
			if (e.target) target = e.target;
			else if (e.srcElement) target = e.srcElement;
			if (target.nodeType == 3) // defeat Safari bug
				target = target.parentNode;
			
			// wenn das Klick-Ziel der Link selbst (oder ein Element innerhalb des Links) ist,
			// dann abbrechen, da der click-Befehl schon getriggert wurde und es sonst eine 
			// rekursive Endlos-Schleife geben würde
			while (target) {
				if (target == link.get(0)) {
					// der Link wurde geklickt oder ein click-Event getriggert
					// im letzteren Fall MUSS manuell auf die nächste Seite weitergeleitet werden
					// eine ggf. dazwischengreifende colorbox würde einen click auf den Link nicht bubbeln lassen
					// deswegen kann man hier ruhigen Gewissens auf die neue URL weiterleiten
					window.location.href = target.href;
					return true;
				}
				
				target = target.parentNode;
				if (target == this) break;
			}

			// trigger Klick-Event auf dem eigentlichen Link
			link.trigger("click");
			
		}).hover(function() {  
			$(this).addClass("hover"); 
		}, function() {  
			$(this).removeClass("hover");
		});
	});


$(document).ready(function(){
													 
/* ====== E-Mail Defuscate ===== */	
	$('span.rewrite').defuscate().removeClass("rewrite");		
	

/* ====== Social Media adden ===== */
$('#smadd .goog').mouseenter(function() {
  $(this).addClass('hover');
}).mouseleave(function() {
  $(this).removeClass('hover');
});

$('#smadd .face').mouseenter(function() {
  $(this).addClass('hover');
}).mouseleave(function() {
  $(this).removeClass('hover');
});


/* ====== Referenzen filtern ===== */
$('#filter').show();

$('#filter li').click(function(e) {
	e.preventDefault();  
	$('#filter li.current').removeClass('current');  
	$(this).addClass('current');
	var filter = $(this).text().replace(' ','-').toLowerCase();
	if(filter == 'alle') {  
		$('ul.references li.hidden').stop().animate({ 'width': '209px', 'height': 'show', 'opacity': 1 }, 'slow').removeClass('hidden');  
	} else {  
		$('ul.references li').each(function() {  
			if(!$(this).hasClass(filter)) {  
				$(this).stop().animate({ 'width': 0, 'height': 'hide', 'opacity': 0 }, 'slow').addClass('hidden');
			} else {
				$(this).stop().animate({ 'width': '209px', 'height': 'show', 'opacity': 1 }, 'slow').removeClass('hidden');  
			} 
		});
	}
});


});  // end document.ready
