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

var ajaxURL='de/meta/ajax-gateway.html';
globalVars['ajaxLoaderImage']='assets/site/images/ajax-loader.gif';

$(document).ready(function() {
	
	//
	// DOM-Manipulationen
	//

	// Hintergrund Seitenleiste unten einfügen
	$('div.sidebar').append('<span class="background_bottom"></span>');
	
	// Zoom-Icon Buttons
	$('a.button.details').wrapInner('<span class="text"></span>').prepend('<span class="zoom"></span>');
	
	// Button Pfeile einfügen für ältere IE-Versionen
	if($('body').hasClass('msie6') || $('body').hasClass('msie7')) $('a.button, a.arrows').each(function() {
		if($(this).hasClass('details')==false) $(this).prepend('&gt;&gt; ');
	});
	
	// Tabellen mit Zeilenlinien
	$('table.row_lines tr:odd').addClass('odd');
	$('table.row_lines tr:even').addClass('even');
	
	// Schatten Wertcheck Startseite
	$('.tpl_17 p.wertscheck').append('<span class="inner_shadow"></span>');
	
	
	//
	// Slidebox-Toggler
	//
	
	// IE8-Bugfixing
	if($.browser.msie && $.browser.version=='8.0') $('form p.var_height').wrap('<div class="ie8_wrapper"></div>');

	$('a.slidebox_switch').each(function(index)
	{
		$(this).click(function() 
		{
			// Selektoren bestimmen
			var slidebox='#slidebox_'+(index+1);
			var slideboxSwitch='#slidebox_switch_'+(index+1);
			
			// Slidebox ein- / ausblenden
			$(slidebox).slideToggle(function() {
				
				// IE6- und IE7-Bugfixing
				if($.browser.msie && $.browser.version=='6.0' || $.browser.version=='7.0')
				{
					if($('div.main div.content').height()>710) $('div.main').css('height', $('div.main div.content').height());
					else $('div.main').css('height', 710);
				}				
			});
			
			// Slidebox-Switch-Text anpassen
			if($(slideboxSwitch).text()=='> > Info einblenden') $(slideboxSwitch).text('> > Info ausblenden');
			else $(slideboxSwitch).text('> > Info einblenden');		
		});		
	});
	
	
	//
	// Animation Startseite
	//
	
	if($('body').hasClass('tpl_17'))
	{
		// Elemente bestimmen
		var button=$('p.wertscheck a.button');
		var buttonText1=button.find('.text_1');
		var buttonText2=button.find('.text_2');
		
		// Breite des Button setzen
		//button.css('width', (button.width()+20)+'px');
		
		// Interval starten
		window.setInterval(function()
		{
			if(buttonText1.hasClass('hide')) buttonText2.fadeOut('fast', function() { buttonText1.fadeIn('fast').removeClass('hide'); }).addClass('hide');
			else buttonText1.fadeOut('fast', function() { buttonText2.fadeIn('fast').removeClass('hide'); }).addClass('hide');
			
		}, 2000);
	}
	
	
	//
	// Formular-Validierung
	//
	
	var form=$('form.validation');
	if(form.length) $.getScript('assets/site/jquery.formValidaton.js', function() {
		form.formValidation();
	});
	
	
	//
	// Overlays Einzelbilder
	//
	
	// Overlays anlegen
	$('div.content a.img_enlarge').each(function(index) {
		
		// Overlay-Container anlegen
		$('body').append('<div id="overlay_single_'+index+'" class="overlay"> <div class="image"><img src="'+globalVars['ajaxLoaderImage']+'"></div> <div class="info"><p class="caption">'+this.title+'</p></div></div>');
		
		// Overlay-Bild laden
		$(this).click(function() {
			loadOverlayImage('#overlay_single_'+index+' img', this.href, '#overlay_single_'+index);				
		});
		
		// Overlay aktivieren
		$(this).overlay({
			target: '#overlay_single_'+index,
			mask: {
				color: 'black',
				loadSpeed: 200,
				opacity: 0.7
			},
			speed: 200,
			closeOnClick: true
		});
	});
	
	// Overlay-Funktion: Bild laden
	function loadOverlayImage(overlayImage, bigImage, overlay)
	{
		// Altes Bild ausblenden
		$(overlayImage).fadeOut(200, function() {
			var loadEventCounter=1;
			
			// Neues Bild laden
			$(overlayImage).attr('src', bigImage).load(function() {
				// Mehrfach-Animationen verhindern
				if(loadEventCounter>1) return;
				
				// Größe und Position des Overlay-Containers anpassen
				$(overlay).animate({
					width: $(overlayImage).width(),
					height: $(overlayImage).height(),
					left: $(document).width()/2-$(overlayImage).width()/2
				}, 200, function() {
					// Neues Bild einblenden
					$(overlayImage).fadeIn(200);
					
					// Größe und Position des Overlay-Containers sichern
					$(overlay).css('left', $(document).width()/2-$(this).width()/2);
				});
				
				loadEventCounter++;
			});
		});
	}
	
	//
	// Overlays Infoboxen
	//
	
	var infoboxOverlayAPI=new Array();
	var infoboxOverlayArray=new Array();
	
	// Overlays anlegen
	$('.infoboxes .box a.details').each(function()
	{
		// Paramenter bestimmen
		var overlayTrigger=$(this);
		var overlayNo=overlayTrigger.attr('rel');
		var overlayClass=overlayTrigger.attr('target');
		var overlayID='overlay_'+overlayNo;
		var infoboxID='infobox_'+overlayNo;
		var infobox=$('#infobox_'+overlayNo);
		var headline=$('#'+infoboxID+' h2').html();
		var beschreibung=$('#'+infoboxID+' .beschreibung').html();
		var bildPfad=$('#'+infoboxID+' .produkt_gross').attr('longdesc');
		
		// Overlay-Container anlegen
		$('body').append('<div id="'+overlayID+'" class="overlay '+overlayClass+'"><div class="content"><h2 class="blue_background">'+headline+'</h2><div class="image"><img src="'+globalVars['ajaxLoaderImage']+'" width="300" height="380"></div><div class="infobox">'+beschreibung+'</div></div></div>');
		
		// Paramenter bestimmen
		var overlay=$('#'+overlayID);
		var imageElement=overlay.find('.image img');
		
		// Daten hinterlegen
		overlay.data('overlayNo', overlayNo);
		
		// Overlay-Bild laden
		overlayTrigger.click(function()
		{
			// Bild nur anzeigen, sobald es geladen wurde
			imageElement.attr('src', bildPfad).load(function() {
				imageElement.fadeIn();
			});
		
			// oder einer Sekunde
			imageElement.delay(1000).fadeIn();
		});
		
		// Varianten-Aktionen: Varianten-Bild anzeigen und Varianten-Formulare sychronisieren
		overlay.find('.varianten input.radio').click(function(index)
		{
			// Parameter bestimmen
			var activeRadiobutton=$(this);
			
			// Bild bei Tarifen nicht  anpassen
			if(infobox.hasClass('tarif')==false)
			{
				// Parameter bestimmen: Bild
				var radiobuttonNo=activeRadiobutton.attr('tabindex');
				var variantenBild=infobox.find('.varianten_bild_'+radiobuttonNo);
				if(variantenBild.length) var variantenBildPfad=variantenBild.attr('src');
				else var variantenBildPfad=bildPfad;
			
				// Altes Bild ausblenden
				imageElement.fadeOut(function()
				{
					// Neues Bild laden
					imageElement.attr('src', variantenBildPfad);
				
					// Neues Bild einblenden
					imageElement.fadeIn();
				});
			}
			
			// Auswahl-Formular Infobox sychronisieren
			infobox.find('.variantenbox input:radio').eq(radiobuttonNo).attr('checked', true);
		});
		
		// Klick-Aktionen: Buttons
		overlay.find('a.button').click(function(event)
		{
			// Elemente bestimmen
			var button=$(this);
			var variantenBox=infobox.find('.variantenbox');
			var buttonClose=overlay.find('a.close');
			
			// Schließen-Button ausschließen
			if(button.hasClass('close')) { button.removeAttr('href'); return; }
			else event.preventDefault();

			// Variantenbox anpassen
			if(variantenBox.length) variantenBox.addClass('disabled');

			// Clicks auf die Infobox-Buttons auslösen
			if(button.hasClass('add')) infobox.find('.buttons.infobox a.add').click();
			if(button.hasClass('remove')) infobox.find('.buttons.infobox a.remove').click();
		});
		
		// Overlay aktivieren
		overlayTrigger.overlay({
			target: '#overlay_'+overlayNo,
			mask: {
				color: 'black',
				loadSpeed: 200,
				opacity: 0.7
			},
			speed: 200,
			closeOnClick: true
		});
		
		// Overlay-API laden
		infoboxOverlayAPI[overlayNo]=overlayTrigger.data('overlay');
		infoboxOverlayArray[overlayNo]=overlay;
		
	});
	
	
	//
	// Overlay Nachrichten
	//
	
	function showMessage(overlayType, overlayContent)
	{
		// Paramenter bestimmen: allgemein
		var overlayID='overlay_'+overlayType+'_message';
		var overlay=$('#'+overlayID);
		var triggerID='trigger_'+overlayType+'_message';
		
		// Paramenter bestimmen: Typ
		if(overlayType=='error')
		{
			headline='Es ist ein Fehler aufgetreten';
			bildPfad='assets/images/messages/error.jpg';
		}
		else if(overlayType=='praemien_auswahl')
		{
			headline='Bitte wählen Sie eine Prämie!';
			bildPfad='assets/images/messages/info.jpg';
		}		
		
		// Overlay-Container aktualisieren
		if(overlay.length)
		{
			overlay.find('infobox').html(overlayContent);
		}
		// Overlay-Container anlegen und aktivieren
		else
		{
			// Trigger
			$('body').append('<a class="hide" id="'+triggerID+'"></a>')
			
			// Overlay
			$('body').append('<div id="'+overlayID+'" class="overlay message '+overlayType+'"><div class="content"><h2 class="blue_background">'+headline+'</h2><div class="image"><img src="'+globalVars['ajaxLoaderImage']+'" width="300" height="380"></div><div class="infobox strong">'+overlayContent+'</div><a class="button close big red">OK</a></div></div>');
			
			// Overlay-Bild laden
			$('#'+overlayID+' .image img').attr('src', bildPfad).load(function() {
				// Bild nach dem Laden einblenden
				$('#'+overlayID+' .image img').fadeIn();
			});
			// oder einer Sekunde
			$('#'+overlayID+' .image img').delay(1000).fadeIn();

			// Overlay aktivieren
			$('#'+triggerID).overlay({
				target: '#'+overlayID,
				mask: {
					color: 'black',
					loadSpeed: 200,
					opacity: 0.7
				},
				speed: 200,
				closeOnClick: true
			});
			
			// Overlay-API aktivieren
			globalVars['overlayAPI'+overlayType]=$('#'+triggerID).data('overlay');
		}
		
		// Overlay öffnen
		globalVars['overlayAPI'+overlayType].load();
	}
	
	
	//
	// Overlay Upgrade-Optin Übersicht-Seite
	//
	
	var overlayUpgrade=$('#upgrade_overlay');
	if(overlayUpgrade.length)
	{
		// Overlay im DOM verschieben
		$('body').append(overlayUpgrade);
	
		// Overlay aktivieren
		var overlayUpgradeTrigger=$('#Uebersicht label.UpgradeOptin2_nein');
		overlayUpgradeTrigger.overlay(
		{
			target: '#upgrade_overlay',
			mask: {
				color: '#ffffff',
				loadSpeed: 200,
				opacity: 0.5
			},
			speed: 200,
			closeOnClick: false,
			onLoad: function() {
				$('#bestellformular p.UpgradeOptin2 input').removeClass('validate[required]');
			},
			onClose: function() {
				$('#bestellformular p.UpgradeOptin2 input').addClass('validate[required]');
			}
		});
	
		// Overlay-API initialisieren
		var overlayUpgradeAPI=overlayUpgradeTrigger.data("overlay");
	
		// Klick-Handle Overlay-Buttons
		var overlayUpgradeButtons=overlayUpgrade.find('.selection a');
		var upgradeRadiobuttonJa=$('#Form_UpgradeOptin2_ja');
		var upgradeRadiobuttonNein=$('#Form_UpgradeOptin2_nein');
	
		overlayUpgradeButtons.click(function(event)
		{
			event.preventDefault();			
			var clickedButton=$(this);
		
			// Radio-Button setzen
			if(clickedButton.hasClass('ja')) upgradeRadiobuttonJa.attr('checked', true);
			else upgradeRadiobuttonNein.attr('checked', true);
		
			// Overlay Schließen
			overlayUpgradeAPI.close();		
		});
	}
	
	
	//
	// Overlay Flowplayer
	//
	
	// Parameter bestimmen
	var flowplayerTriggerArray=$('div.overlay a.flowplayer_trigger');
	var player=new Array();

	// Overlays anlegen
	flowplayerTriggerArray.each(function(index)
	{
		// Elemente bestimmen
		var flowplayerTrigger=$(this)
		var overlayTitle=flowplayerTrigger.attr('title');
		var flashSource=flowplayerTrigger.attr('href');
		var infoboxOverlay=flowplayerTrigger.parents('div.overlay');
		var overlayNo=infoboxOverlay.data('overlayNo');
		
		// Play-Parameter setzen 360°-Ansicht
		if(flowplayerTrigger.hasClass('ansicht_360_grad'))
		{
			var overlayWidth=702;
			var overlayHeight=469;
			var scaling='fit';
			var playerControls=null;
		}
		// Play-Parameter setzen Image-Film
		else
		{
			var overlayWidth=720;
			var overlayHeight=424;
			var scaling='scale';
			var playerControls=true;
		}
		
		// Overlay-Container anlegen
		$('body').append('<div id="flowplayer_overlay_'+index+'" class="video_overlay"><a id="flowplayer_'+index+'" href="'+flashSource+'"style="display: block; width: '+overlayWidth+'px; height: '+overlayHeight+'px;" >&nbsp;</a><div class="info"><p class="caption">'+overlayTitle+'</p></div></div>');
		
		// Player initialisieren
		player[index]=flowplayer('flowplayer_'+index, '/assets/media/flowplayer/flowplayer.commercial-3.2.7.swf', 
		{
			key: '#$4bbc6f14c248e44812d',
			clip:
			{
				scaling: scaling,
				onBegin: function()
				{
		        // Play-Again-Button deaktivieren
		        this.getPlugin("play").css({opacity: 0});
		      }
			},
			plugins:
			{
				controls: playerControls
			}
		});
		
		// Standard-Klick-Aktion verhindern
		flowplayerTrigger.removeAttr('href');
		
		// IE-Bugfixing: blank.gif einfügen
		flowplayerTrigger.append('<img src="/assets/site/images/blank.gif" alt="'+overlayTitle+'">');
		
		// Overlay aktivieren
		flowplayerTrigger.overlay({
			target: '#flowplayer_overlay_'+index,
			mask: {
				color: 'black',
				loadSpeed: 200,
				opacity: 0.7
			},
			speed: 200,
			closeOnClick: true,
			onLoad: function() {
				player[index].load();
				
				$('#exposeMask').show();
			},
			onClose: function() {
				player[index].unload();
				
				// Infobox Overlay wieder laden			
				infoboxOverlayAPI[overlayNo].load();
			}
		});
	});
	

	//
	// Klick-Aktionen Infoboxen
	//
	
	// Produkt hinzufügen und entfernen + Varianten
	globalVars['errorMessageAjax']='<p class="strong">Ihre Auswahl konnte nicht gesichert werden. Bitte versuchen Sies es später noch einmal.</p>'
	$('.infoboxes .box a.button.add, .infoboxes .box a.button.remove').each(function()
	{
		// Parameter bestimmen
		var button=$(this);
		var productID=button.attr('rel');
		var infobox=button.parents('.box');
		var overlay=$('#'+infobox.attr('id').replace('infobox', 'overlay'));
		var buttonOverlay=overlay.find('.buttons a.add, .buttons a.remove');
		var titel=infobox.find('h2.blue_background');
		var bildKlein=infobox.find('img.produkt_klein');
		var videoIcons=infobox.find('div.video_icons img');
		var detailButton=infobox.find('p.buttons a.details');
		var variantenBox=infobox.find('.variantenbox');
		var variantenSet=variantenBox.find('.varianten_set');
		
		// Typen bestimmen
		if(infobox.hasClass('praemie')) var infoboxTyp='praemie';
		else if(infobox.hasClass('tarif')) var infoboxTyp='tarif';
		else if(infobox.hasClass('zubehoer')) var infoboxTyp='zubehoer';
		
		// Klick-Event: Überschrift, Bild und Video-Icons
		titel.click(function(event) { detailButton.click(); });
		bildKlein.click(function(event) { detailButton.click(); });
		videoIcons.click(function(event) { detailButton.click(); });
		
		
		// Klick-Event: Add- / Remove-Button
		button.click(function(event)
		{
			event.preventDefault();
			
			// Varianten
			if(variantenBox.length && variantenBox.hasClass('disabled')==false && button.hasClass('add'))
			{
				// Varianten anzeigen
				variantenBox.fadeIn('fast');
				
				// Box „Keine Tarif-Optimierung“ ausblenden
				if(infoboxTyp=='tarif') $('#infobox_kein_tarifwechsel').fadeOut('fast');
			}
			// keine Varianten
			else toggleButton();
		});
		
		// Klick-Event: Varianten abbrechen
		variantenBox.find('.chancel').click(function(event) 
		{
			event.preventDefault();
			variantenBox.fadeOut('fast');
			
			// Box „Keine Tarif-Optimierung“ einblenden
			if(infoboxTyp=='tarif') $('#infobox_kein_tarifwechsel').fadeIn('fast');
		});
		
		// Klick-Event: Varianten sichern
		variantenBox.find('.save').click(function(event)
		{
			event.preventDefault();
			variantenBox.fadeOut('fast');
			if(button.hasClass('add')) toggleButton();
		});
		
		// Button-Status setzen und Aktionen an den Server senden
		function toggleButton()
		{
			// Button-Status setzen
			if(button.hasClass('add'))
			{
				// Warte-Cursor setzen
				button.css('cursor', 'wait');
				
				// Varianten zusammenstellen
				var variantenString='';
				variantenSet.each(function() {
					variantenString=variantenString+$(this).find('input:checked').val()+';';
				});
				
				// Menge bestimmen
				var menge=infobox.find('form.mengenauswahl').eq(1).find(' select').val();
				if(!menge) menge=1;
				
				// Artikel per Ajax hinzufügen
				$.get(ajaxURL, { cmd: 'update_cart', action: 'add', type: infoboxTyp, id: productID, menge: menge, varianten: variantenString, time: utcTimeTillNow() }, function(response)
				{
					// Bei Erfolg Button aktiv setzen
					if(response=='ok')
					{
						// Bei Prämien und Tarifen alle anderen Buttons zurücksetzen
						if(infoboxTyp=='praemie' || infoboxTyp=='tarif') $('.infoboxes .box a.remove').removeClass('remove green').addClass('add red');

						// Button aktiv setzen
						button.removeClass('add red').addClass('remove green');
						
						// Button aktiv setzen: Overlay
						buttonOverlay.removeClass('add red').addClass('remove green');
						
						// Bei den Prämien und Tarifen nächsten Schritt laden
						if(infoboxTyp=='praemie' || infoboxTyp=='tarif') setTimeout(function() { window.location.href=button.attr('href'); }, 500);
						// ansonsten Warte-Cursor entfernen
						else button.css('cursor', 'default');
						
						// Overlay schließen
						setTimeout(function() { overlay.find('a.button.close').click(); }, 500);
						
					}
					else showMessage('error', globalVars['errorMessageAjax']);
				});
			}
			else
			{
				// Warte-Cursor setzen
				button.css('cursor', 'wait');
				
				// Artikel per Ajax löschen
				$.get(ajaxURL, { cmd: 'update_cart', action: 'remove', type: infoboxTyp, id: productID, time: utcTimeTillNow() }, function(response)
				{
					// Bei Erfolg Button aktiv setzen
					if(response=='ok')
					{
						// Bei Tarifen alle anderen Buttons zurücksetzen
						if(infoboxTyp=='tarif') $('.infoboxes .box a.remove').removeClass('remove green').addClass('add red');
						
						// Button zurücksetzen
						button.removeClass('remove green').addClass('add red');
						
						// Button zurücksetzen: Overlay
						buttonOverlay.removeClass('remove green').addClass('add red');
						
						// Variantenbox zurücksetzen
						if(variantenBox.length) variantenBox.removeClass('disabled');
						
						// Bei Tarifen nächsten Schritt laden
						if(infoboxTyp=='tarif') setTimeout(function() { window.location.href=button.attr('href'); }, 500);
						// ansonsten Warte-Cursor entfernen
						else button.css('cursor', 'default');
						
						// Overlay schließen
						setTimeout(function() { overlay.find('a.button.close').click(); }, 500);
					}
				});
			}
		}
	});

	
	//
	// Klick-Aktionen Weiter-Buttons
	//
	
	// Prämien
	var praemienNextbutton=$('#weiter_praemie');
	
	praemienNextbutton.click(function(event)
	{
		event.preventDefault();
		
		// Prüfen ob bereits eine Präme gewählt wurde
		$.get(ajaxURL, { cmd: 'check_cart', type: 'praemie', time: utcTimeTillNow() }, function(response)
		{
			// Falls nicht, Meldung ausgeben
			if(response=='') showMessage('praemien_auswahl', '<p class="strong">Sie haben noch keine Prämie ausgewählt. Bitte wählen Sie zunächst eine Prämie, um zum nächsten Schritt zu gelangen.');
			// Ansonsten weiter zum nächsten Schritt
			else window.location.href='/'+praemienNextbutton.attr('href');
		});
		
	});
	
	// Weiter-Button oben
	var nextButtonTop=$('#next_top');
	
	nextButtonTop.click(function(event)
	{
		event.preventDefault();
		
		// Elemente bestimmen
		var nextButton=$('.main .step_nav a.big.red');
		
		// Klick auf den unteren Next-Button auslösen
		if(nextButton.attr('href')) window.location.href='/'+nextButton.attr('href');
		else nextButton.click();
	});
	
	
	//
	//	Change-Handle Mengenauswahl Infoboxen
	//
	
	$('.infoboxes .box form.mengenauswahl select').change(function()		
	{
		// Parameter bestimmen
		var mengenSelectbox=$(this);
		var infobox=mengenSelectbox.parents('.box');
		var overlay=$('#'+infobox.attr('id').replace('infobox', 'overlay'));
		var mengenSelectboxOverlay=overlay.find('form.mengenauswahl select');
		var productID=infobox.find('.buttons .add, .buttons .remove').attr('rel');
		
		// Typen bestimmen
		if(infobox.hasClass('praemie')) var infoboxTyp='praemie';
		else if(infobox.hasClass('tarif')) var infoboxTyp='tarif';
		else if(infobox.hasClass('zubehoer')) var infoboxTyp='zubehoer';
		
		// Parameter bestimmen
		var menge=mengenSelectbox.val()
		
		// Artikel per Ajax hinzufügen
		$.get(ajaxURL, { cmd: 'update_cart', action: 'set_amount', type: infoboxTyp, id: productID, menge: menge, time: utcTimeTillNow() }, function(response)
		{
			// Menge Overlay aktualisieren
			mengenSelectboxOverlay.val(menge);
		});
	});
	
	
	//
	//	Change-Handle Mengenauswahl Overlays
	//
	
	$('.overlay form.mengenauswahl select').change(function()		
	{
		// Parameter bestimmen
		var mengenSelectbox=$(this);
		var overlay=mengenSelectbox.parents('.overlay');
		var infobox=$('#'+overlay.attr('id').replace('overlay', 'infobox'));
		var mengenSelectboxInfobox=infobox.find('form.mengenauswahl select');
		var productID=infobox.find('.buttons .add, .buttons .remove').attr('rel');
		
		// Typen bestimmen
		if(infobox.hasClass('praemie')) var infoboxTyp='praemie';
		else if(infobox.hasClass('tarif')) var infoboxTyp='tarif';
		else if(infobox.hasClass('zubehoer')) var infoboxTyp='zubehoer';
		
		// Parameter bestimmen
		var menge=mengenSelectbox.val()
		
		// Artikel per Ajax hinzufügen
		$.get(ajaxURL, { cmd: 'update_cart', action: 'set_amount', type: infoboxTyp, id: productID, menge: menge, time: utcTimeTillNow() }, function(response)
		{
			// Menge Infobox aktualisieren
			mengenSelectboxInfobox.val(menge);
		});
	});
	
	
	//
	// Alle Prämien Selektor
	//
	
	var praemienSelektor=$('#praemien_selektor');
	var allePraemienBox=$('.infoboxes .alle_praemien');
	
	// Auswahl der aktiven Prämie per Change-Event in der Selectbox
	praemienSelektor.change(function() 
	{
		// Vorherige Prämie ausblenden
		$('.infoboxes .alle_praemien .active').removeClass('active').slideUp(function() {
			// Neue Prämie einblenden
			$('#infobox_'+praemienSelektor.val()).slideDown().addClass('active');
		});
	});
	
	// Initialisierung
	$(window).load(function() 
	{
		// Ersten Eintrag im Selektor aktiv setzen und Selektor einblenden
		praemienSelektor.fadeIn('slow').find('option:first').attr('selected', true);
		
		// Ladeanzeige entfernen
		allePraemienBox.find('.loading_indicator').remove();
		
		// Erste Prämie aktiv setzen und einblenden
		var firstPraemienBox=allePraemienBox.find('.box:first');
		var firstPraemienBoxElements=firstPraemienBox.find('h2, .produkt_klein, .kurzbeschreibung, .preis, .buttons');
		
		firstPraemienBoxElements.hide();
		firstPraemienBox.show().addClass('active');
		firstPraemienBoxElements.fadeIn('slow');

	});
	
	
	//
	// Bilderwechsel-Parameter prüfen und Bilderwechsel starten: headImages
	//
		
	if(typeof(headImages)!='undefined') startImageChange('6000');
	
	
	//
	// 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 oldLocation=window.location.href.replace(window.location.hash, '');
		var newLocation=this;
		
		// make sure it's the same location		
		if(oldLocation+newHash==newLocation)
		{
			// get target
			var target=$(this.hash+', a[name='+this.hash.slice(1)+']').offset().top;

			// adjust target for anchors near the bottom of the page
			if(target > $(document).height()-$(window).height()) target=$(document).height()-$(window).height();			
			
			// 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;
		}
	});
		
});


//
// Funktionen Bildwechsel
//

// Funktion zum Start des Bildwechsels
function startImageChange(intervalTime)
{
	// Parameter bestimmen
	var container='p.head_image';
	var type='head';

	// Anzahl der Bilder feststellen
	var headImagesTotal=0;
	$.each(headImages, function() { headImagesTotal++; });

	// Bildwechselfunktion mit Intervall aufrufen
	setInterval('imageChange("'+type+'", "'+container+'", "'+headImagesTotal+'")', intervalTime);
}

// Funktion für den Bildwechsel
function imageChange(type, container, imagesTotal)
{
	// Parameter bestimmen
	if(type=='head')
	{
		var imagesArray=headImages;
		var imagePath=headImagePath;
	}
	
	// Neues Bild bestimmen
	var imageID=globalVars['imageChange'];		
	while(imageID==globalVars['imageChange'])
	{
		var imageRand=rnd(imagesTotal);
		imageID='gallery_image_'+imageRand;
	}

	// Neues Bild einfügen
	var newImage='<img src="'+imagePath+imagesArray[imageRand-1]+'" alt="" class="fade" id="'+imageID+'">';
	$(container).append(newImage);
	
	// Neues Bild einblenden	
	$('#'+imageID).load(function () {
		$('#'+imageID).fadeIn(1000, function() {
			
			// Altes Bild löschen und neues Bild merken
			$('#'+globalVars['imageChange']).remove();
			globalVars['imageChange']=imageID;				
		});
	});
}

//
// Divers
//

// Tag-Name ermitteln
$.fn.tagName=function() {
    return this.get(0).tagName.toLowerCase();
}

// Zufallswert ermitteln
function rnd(max)
{
	var rndNum = max * Math.random();
	rndNum = Math.ceil (rndNum);
	return rndNum;
}

// Millisekunen seit dem 01.01.1970 bis jetzt ermitteln
function utcTimeTillNow()
{
	var time=new Date();
	var year=time.getFullYear();
	var month=time.getMonth();
	var day=time.getDate();
	var hours=time.getHours();
	var minutes=time.getMinutes();
	var seconds=time.getSeconds();

	return Date.UTC(year, month, day, hours, minutes, seconds);
}
