// Globale Parameter definieren
var globalVars=new Array();
var selector=new String();

$(document).ready(function() {
	
	// Browser
	if(($.browser.msie && $.browser.version=='7.0') || ($.browser.msie && $.browser.version=='8.0') || ($.browser.msie && $.browser.version=='9.0')) globalVars['IE']=true;
	
	
	//
	// DOM-Manipulationen
	//

	// Schatten Hauptbereich
	$('div.main').append('<span class="shadow_top"></span><span class="shadow_bottom"></span>');
	
	// Hintergrund und Schatten Seite
	$('body').append('<span class="shadow_bottom"></span>').css('background', 'url(/assets/site/images/body_background.jpg)');
	
	// Blauer Streifen: Bugfixing Schatten IE
	if(globalVars['IE']) $('div.topstripe blockquote').clone().appendTo('div.topstripe div.content').addClass('shadow').width($('div.topstripe blockquote').width());	
	
	// Referenzen
	$('div.referenzen div.entry:first').addClass('first');
	$('div.referenzen div.entry:last').addClass('last');
	
	// Teaser: Link-Titel entfernen
	$('div.teaser div.entry a').each(function(index) {
		$(this).attr('title', '');
	});
	
	// Teaser: Reflect-Initialisierung
	if(!globalVars['IE']) $('div.teaser div.entry img').reflect({
		height: 0.5,
		opacity: 0.3
	});
	
	// Portraits: Reflect-Initialisierung
	$('div.portrait img').reflect({
		height: 0.15,
		opacity: 0.3
	});
	
	
	//
	// Tooltips
	//
	
	// Für Touch-Geräte überspringen
	if(!$('body.iPad').length && !$('body.iPhone').length)
	{
		// Tooltips vorbereiten
		selector='a[title!=""]';
		$(selector).each(function(index) {
		
			// Alle Links anpassen
			if(this.href)
			{
				// href-Attribut entfernen ...
				$(this).data('href', this.href).removeAttr('href').addClass('link');
			
				// ... und bei Klick wieder einfügen
				$(this).click(function() {
					$(this).attr('href', $(this).data('href'));
				});
			
				// Title-Attribut sichern
				$(this).data('title', $(this).attr('title'));
			}
		});
	
		// Positionierung des Tooltips neben dem Mauszeiger
		$(document).mousemove(function(e) {
			globalVars['mousePosX']=e.pageX+13;
			globalVars['mousePosY']=e.pageY+17;
			if(globalVars['activeTooltip']) globalVars['activeTooltip'].offset({ left: globalVars['mousePosX'], top: globalVars['mousePosY'] });
		});
	
		// Tooltip-Layout bestimmen
		globalVars['tooltipHTML']='<div><span class="img"><img src="/assets/site/images/icon_info.png" width="16" height="16" alt=""></span></div>';
	
		// Tooltip Initialisieren: Navigation oben
		$(selector).tooltip({
			tipClass: 'tooltip',
			position: 'bottom right',
			effect: 'toggle',
			predelay: 500,
			delay: 0,
			layout: globalVars['tooltipHTML'],
			onBeforeShow: function() {
				// Aktiven Tooltip merken
				globalVars['activeTooltip']=this.getTip();
			
				// Tooltip anpassen: Span-Tag einfügen
				if(globalVars['activeTooltip'].children('p').length==0) globalVars['activeTooltip'].wrapInner('<p></p>');
			
				// Tooltip anpassen: Reflect-Initialisierung
				if(globalVars['activeTooltip'].find('img.reflected').length==0  && globalVars['IE']!=true) globalVars['activeTooltip'].find('img').reflect({
					height: 0.5,
					opacity: 0.3
				});
			},
			onShow: function() {
				// Positionierung neben dem Mauszeiger
				globalVars['activeTooltip'].offset({ left: globalVars['mousePosX'], top: globalVars['mousePosY'] });
			
				// Tooltip nur anzeigen, wenn der Titel und der Linkinhalt unterschiedlich sind
				if(this.getTrigger().data('title')==this.getTrigger().children('span').html()) this.hide();
				else {
					globalVars['activeTooltip'].fadeOut(0);
					globalVars['activeTooltip'].fadeIn(500);
				}
			
				// Automatisches Ausblenden außer im Inhaltsbereich
				if(this.getTrigger().parents('div.main div.content').length==0) 
				{
					if(globalVars['IE']) globalVars['activeTooltip'].delay(4000).fadeOut(0);
					else globalVars['activeTooltip'].delay(4000).fadeOut(1000);
				}
			},
			onHide: function() {
				// Ausblenden mit Fade-Effekt
				if(globalVars['IE']) globalVars['activeTooltip'].fadeOut(0);
				else globalVars['activeTooltip'].fadeOut(1000);

				// Positionierung neben dem Mauszeiger beenden
				globalVars['activeTooltip']=false;
			}
		});
	}
	
	//
	// Scrollable Referenzen
	//
	
	$(window).load(function() {
		
		$('div.scrollable_box').each(function(index) {
			
			// Falls nur ein Slide vorhanden ist abbrechen
			if($('#scrollable_navigation_'+index+' a').length==0) return;
			
			// Cursor setzen
			$('#scrollable_box_'+index+' div.slides').css('cursor', 'pointer');
			
			// Scrollable Bilder nachladen
			var imageContainer='#slides_'+index;
			$('#scrollable_navigation_'+index+' a').each(function(index) {
				if(index>0) $(imageContainer).append('<div class="slide" id="'+$(this).attr('rel')+'_'+(index+1)+'"><img src="assets/images/referenzen/'+$(this).attr('rel')+'/'+(index+1)+'.jpg" width="460" height="279" alt=""></div>\n');
			});
			
			// Scroll-Geschwindigkeit setzen
			if($('.current_startseite').length) var speed=800;
			else var speed=400;
			
			// Scrollable-Initialisierung
			$('#scrollable_'+index).scrollable({
				speed: speed,
				items: 'div#slides_'+index,
				circular: true,
				keyboard: false
			}).navigator({
				navi: 'div#scrollable_navigation_'+index
			}).click(function() {
				$(this).data("scrollable").next();		
			});
			
			// Scrollable-Navigation positionieren und einblenden
			$('#scrollable_navigation_'+index).each(function(index) {
				$(this).css('margin-left', $(this).width()/-2);
			});
			$('.scrollable_navigation').fadeIn('slow');

		});

		// Reflect-Initialisierung
		$('div.slide img').reflect({
			height: 0.15,
			opacity: 0.3
		});
		
		// Autoscroll auf der Startseite
		$('.current_startseite #scrollable_0').autoscroll({
			interval: 5000
		});
		
	});
	
	
	//
	// E-Mails entschlüsseln
	//
	
	// Expression erweitern
	$.extend($.expr[':'], {
		mailToLink: function (obj) {
			return obj.href.match(/^mailto\:/);
		}
	});
	
	// Mailto-Links anpassen
	$('a:mailToLink').each(function() {
		this.href=this.href.split("?")[0].replace("ANTI[at]SPAMBOT", "@");
		$(this).html($(this).html().replace("TOBMAPS]ta[ITNA", "@"));
	});


	//
	// SmoothScroll
	//
	
	$('a[href*=#]').click(function() {
		
		// skip SmoothScroll on links inside sliders or scroll boxes also using anchors or if there is a javascript call
		if($(this).parent().attr('class')=='scrollable_navigation' || $(this).attr('href').indexOf('javascript')>-1) return;

		// duration in ms
		var duration=1000;

		// easing values: swing | linear
		var easing='swing';

		// get / set parameters
		var newHash=this.hash;
		var target=$(newHash).offset().top;
		var oldLocation=window.location.href.replace(window.location.hash, '');
		var newLocation=this;

		// make sure it's the same location		
		if(oldLocation+newHash==newLocation)
		{
			// set selector
			if($.browser.safari) var animationSelector='body:not(:animated)';
			else var animationSelector='html:not(:animated)';
			
			// animate to target and set the hash to the window.location after the animation
			$(animationSelector).animate({ scrollTop: target }, duration, easing, function() {

				// add new hash to the browser location
				window.location.href=newLocation;
			});

			// cancel default click action
			return false;
		}
	});
	
	
	//
	//	Formular Kundenbereich Enter-Submit
	//
	
	$('#Form_Passwort').keypress(function(event) {
		if(event.which==13) $(this).parents('form').submit();
	});
		
});
