$(document).ready(function(){
	if($.browser.msie) {
		$('#produkte').hide().find('a.mehr').removeClass('mehr');
		//$('#produkte').hide().find('a.mehr').removeClass('mehr');
	};
	
	if(($.browser.msie && $.browser.version <= 7)){
		$('div:not(#karussell) a.mehr, div:not(#karussell) .mehr a').append('&nbsp;<img src="/_img/layout/ico-weiter.png" alt="" class="link-icon icon-schwarz" />');
		$('#text a.mehr, #text .mehr a').append('&nbsp;<img src="/_img/layout/ico-weiter_blau.png" alt="" class="link-icon" />').find('.icon-schwarz').remove();
		$('.seitenpalte a.zurueck, .seitenpalte .zurueck a').prepend('<img src="/_img/layout/ico-zurueck.png" alt="" class="link-icon" />&nbsp;');
		$('#text a.zurueck, #text .zurueck a').prepend('<img src="/_img/layout/ico-zurueck_blau.png" alt="" class="link-icon" />&nbsp;');
	};
	
});

// ABBR-Tag-Workaround für IE 
document.createElement('abbr');

/*** Konfigurationen für modifizierten ImageFlow ***/
var baseID = 'produkte';	// ursprüngl. ID des Containers
var flowID = 'productFlow'; // ID zur Initilaisierung von ImageFlow
var baseHTML = 'li.element';	// jeweiliger Container für zu versteckende Ausgangs-Elemente
			
function moveFlow() {
	
	/*** Vor Initialisierung: eigene Anpassungen um ImageFlow "herumbauen" ***/
	$('#' + baseID + ' ' + baseHTML)								// Ausgangs-HTML (baseHTML) in Start-Container (baseID) aufgreifen ...
		.hide()														// ... und ausblenden.
		.find('img')												// Darin enthaltene Bilder finden ...
		.each(function() {											// ...und mit Funktion belegen.
			var imgHref = $(this).parent('a').attr('href');			// HREF-Attribut des umgebenden Links aufgreifen.
			var textLink = $(this).parents(baseHTML).html();		// HTML-Inhalt des jeweiligen Elternelement-Blocks auslesen.
			var headerTitle = $(this).parents(baseHTML).find(':first').text();	// Text-Inhalt der jeweiligen Überschrift auslesen.
			$(this).appendTo('#' + baseID)								
				.attr({imghref: imgHref, caption: textLink, title: headerTitle}); // Bilder außerhalb des Start-Containers platzieren, eigene Attribute (imghref & caption) und "title" anhängen und mit Variablen-Daten füllen.
		})
		.parent('#' + baseID).attr('id', flowID).addClass('imageflow').show();	// ID des Start-Containers in ImageFlow-ID umändern & ImageFlow-Klasse hinzufügen (-> Unobstrusiveness!)
	
	/*** ImageFlow initialisieren ***/
	var instanceOne = new ImageFlow();
	instanceOne.init({ 
		ImageFlowID:		flowID, 
		startID:			2,
		slider:				false,
		buttons:			true, 
		aspectRatio:		2.35, //2.8604, 
		//percentOther:		100, 
		startAnimation:		true, 
		reflections:		true,
		reflectionGET:		'&bgc=ffffff&fade_start=40%&height=40%', 
		reflectionP:		0.4, 
		reflectionPNG:		false,
		opacity:			true,
		opacityArray:		[10,6,4,2,1],
		imageCursor:		'pointer',
		imagesHeight:		0.69,
		//imagesM:			1,
		imagesM:			0.56,
		//imageFocusM:		1.18, 
		imageFocusM:		1.31, 
		//imageFocusMax:		2, 
		imageFocusMax:		1, 
		percentLandscape:	90,
		xStep:				80 
	});
	
	/*** nach Initialisierung: weitere eigene Anpassungen ***/
	$('#' + flowID)
		.find('.caption').hide().animate({opacity: 1.0}, 2000).fadeIn('fast', function() {			// weiche Einblendung für Bildunterschriften
			if($.browser.msie)
				$(this).get(0).style.removeAttribute('filter');
		}).end()
		.prepend($('.scrollbar .previous')).append($('.scrollbar .next')) 							// Prev- und Next-Buttons umplatzieren für richtige Reihenfolge bei Tastaturbedienung
		.find('button, img').click(function() {
			$('.imageflow .caption').hide().animate({opacity: 1.0}, 800).fadeIn('fast', function() { // Bildunterschriften aus- und wieder einblenden.//
			if($.browser.msie)
				$(this).get(0).style.removeAttribute('filter');										// ClearType-Bug in IE beheben. //
		});
	});
		
};

/*** dynamisch eingeblendeter Top-Link (nach oben) ***/
function nachOben() {
	var viewportHeight = $(window).height();
	//var documentHeight = $(document).height()-4;
	var documentHeight = $('#rahmen').height()-4;
	var topLink = $('p.nachoben');
	
	if(viewportHeight < documentHeight){
		topLink.removeClass('aus').find('> a').click(function(){
			$.scrollTo( '#top', 500 );
			return false;
		});
	}
	else {
		topLink.addClass('aus');
	}
};

	
function abbruch() {
	//$(this).find('strong.bitte-warten').html(cancelling).end().css('visibility', 'hidden');
	$('form[id*=suche]').submit(function () {
		e.preventDefault();
	alert('die');
		return false;
	}); 
	return;
	//location.reload = true;
	//window.location.href = 'http://bi.lanx.de';
};


$(document).ready(function(){
	
	/*** Funktionen initialisieren ***/
	moveFlow();
	nachOben(); 
	$(window).resize(nachOben);
	
	/*** IE6-Hacks ***/
	if($.browser.msie && $.browser.version <= 6){
		/* PNG-Transaprenz-Hack für IE6 via jquery.supersleight.js */
		$('body').supersleight({shim: '/_img/layout/clear.gif'});
	};
	/*** IE6- und IE-Hacks ***/
	if($.browser.msie && $.browser.version <= 7){
		/* Dyn. KLassen als Attribut-Selektor-Ersatz */
		$('input[type=text]').addClass('text');
		$('input[type=checkbox]').addClass('checkbox');
		$('input[type=radio]').addClass('radio');
		$('input[type=password]').addClass('password');
		$('input[type=submit]').addClass('button');
		$('input[type=file]').addClass('file');
	};
	
	/*** Dyn. Klassen als Fallback für Browser ohne last:child-Unterstützung ***/
	$('#menuespalte > ul > li > ul.submenue:last-child > li:last-child > a:only-child').addClass('last-child-e2');
	$('#menuespalte > ul > li > ul.submenue:last-child > li:last-child > ul.submenue:last-child > li:last-child > a').addClass('last-child-e3');
	/*$('html[lang=de] #servicemenue ul > li + li + li').addClass('netabstand');*/
	
	/*** Bildwechsel in Kopfleiste ***/
	$('#kopfbilder')
	//.after('<div id="prev"></div><div id="next"></div>')
	.cycle({
		fx: 'fade', // transition type (fade, scrollUp, shuffle, etc...)
		speed:  2500, 
    	timeout:  18000,
		//next:   '#next', 
		//prev:   '#prev',
		random:  1
		//pause:  1
	});

	/*** Value-Vorgabe für Suchfeld ***/
	if($('html[lang=de]').length) {
		var searchTerm = 'Suchbegriff';
	}
	else {
		var searchTerm = 'Search Term';
	};
	$('#schnellsuche')
	.attr('value', searchTerm)
	.focus(function() {
		if(this.value==searchTerm)this.value='';
	})
	.blur(function() {
		if(this.value=='')this.value=searchTerm;
	});
	
	/*** Lesefreundliche E-Mail-Adressausgabe, s. TypoScript-E-Mail-Config ***/
	$('span.at').replaceWith('&#64;');
	$('span.dot').replaceWith('&#46;');
	
	/*** E-Mail-Schutz für statisch (nicht über Typo3) erstellte Adressen ***/
	$('.epost').yasp();


	//$('p.map').addClass('map-js').find('iframe').attr('allowtransparency', '1');
		
	//$('a.neues-fenster, a.externer-link').attr('target', '_blank');
	
	$('a.neues-fenster, a.externer-link, #veranstaltungen-details td.links a').click(function(){
		window.open(this.href);
		return false;
	});
	
	/*$("a:not([href*='yourdomainnamehere.com'])").click(function(){
		window.open(this.href);
		return false;
	}).attr("title", "Opens in a new window");*/
	
	/*$('a.highslide').each(function() {
		$(this).attr('onclick', 'return hs.expand(this)');
	});
	$('.highslide-gallery a').each(function() {
		$(this).attr('onclick', 'return hs.expand(this, config1 )');
	});*/
	
	var href = $('#kartenbox-mini p.geoframe a').attr('href');
	$('#kartenbox-mini p.geoframe a').wrap('<iframe width="180" height="180" name="minimap" id="minimap" scrolling="no" frameborder="0" allowtransparency="true" src="' + href + '"></iframe>');
	
	var href = $('#kartenbox-liste p.geoframe a').attr('href');
	$('#kartenbox-liste p.geoframe a').wrap('<iframe width="100%" height="300" name="listmap" id="listmap" scrolling="no" frameborder="0" allowtransparency="true" src="' + href + '"></iframe>');

	
	/*$('.adressdaten-partner:nth-child(odd)').css({'width': '48%', 'float': 'left', 'clear': 'both'});
	$('.adressdaten-partner:nth-child(even)').css({'width': '48%', 'float': 'right'});*/
	
	if(!($.browser.msie && $.browser.version <= 6)){
		$('.adressdaten-partner:nth-child(odd)').addClass('linkespalte');
		$('.adressdaten-partner:nth-child(even)').addClass('rechtespalte');
	};
	if(($.browser.msie && $.browser.version == 7)){
		$('.adressdaten-partner:nth-child(even)').addClass('rechtespalte').after('<div style="clear:both;border-top:1px solid red;"></div>');
	};
	
	$('.menue span[lang]').removeAttr('title');
	
	 
	/*** Drucken-Link in rechter Seitenspalte ***/
	if($('html[lang=de]').length) {
		var printLabel = 'Seite drucken';
	}
	else {
		var printLabel = 'Print Page';
	};
	$('body:not(.net) #funktionslinks ul.funktionen').find('li:eq(0)').before('<li class="drucken"><a href="javascript:window.print()">' + printLabel + '</a></li>');
	$('body.net #funktionslinks').append('<ul class="box linkbutton funktionen"><li class="drucken"><a href="javascript:window.print()">' + printLabel + '</a></li></ul>');
	
	/*** Formulare ***/
		
	var statusClass = 'zeichenanzahl';
	var notificationClass = 'zeichenende';
	/** Textvariablen de/en **/
	if($('html[lang=de]').length) {
		/* Warteanzeige während Formularvorgängen */
		var searching = '<strong>Suche läuft, </strong>';
		var loading = '<strong>Optionen werden geladen, </strong>';
		var resetting = '<strong>Formular wird zurückgesetzt, </strong>';
		var loadingSearching = '<strong>Optionen und Suchergebnisse werden geladen, </strong>';
		var cancelling = '<strong>Vorgang wird abbgebrochen, </strong>';
		var waiting = '<strong class="bitte-warten">bitte&nbsp;warten&nbsp;&hellip;</strong>';
		var cancel = 'Abbrechen';
		/* Formularaktions-Bestätigungen */
		var resetInput = 'Möchten Sie Ihre Eingaben wirklich löschen?';
		var deleteEntry = 'Möchten Sie den Eintrag wirklich löschen?';
		/* maxlength für TEXTAREAS: Zeichenzähler */
		var charsLeft = '<span>Zeichen &uuml;brig</span>';
		var alertText = 'Sie haben die zulässige Zeichenanzahl überschritten!';
		var alertTooShort = 'Bitte geben Sie mindestens 3 Zeichen in die Freitextsuche ein!';
	}
	else {
		var searching = '<strong>Searching, </strong>';
		var loading = '<strong>Loading options, </strong>';
		var resetting = '<strong>Resetting form, </strong>';
		var loadingSearching = '<strong>Loading options and searching, </strong>';
		var cancelling = '<strong>Action will be cancelled, </strong>';
		var waiting = '<strong class="bitte-warten">please&nbsp;wait&nbsp;&hellip;</strong>';
		var cancel = 'Cancel';
		/* Formularaktions-Bestätigungen */
		var resetInput = 'Do you really want to delete your input?';
		var deleteEntry = 'Do you really want to delete this entry?';
		/* maxlength für TEXTAREAS: Zeichenzähler */
		var charsLeft = '<span>character(s) left</span>';
		var alertText = 'You have exceeded the allowed number of characters!';
		var alertTooShort = 'Please enter at least 3 characters in the quick text search!';
	};
	
	/** Warteanzeige während Formularvorgängen **/
	$('form[id*=suche]')
		.append('<div class="warten-aus"><div class="warteanzeige"><div class="ladeanzeige"></div><p class="text"></p><p class="abbrechen" style="display:none;"><button type="submit" class="abbrechen aktions-button" onclick="abbruch();"></button></p></div></div>');
	
	var searchField = $('#kt-suchfeld, #veranstaltungs-suchfeld');
	
	$('input.suche-starten').click(function() {
		if(searchField.length && (searchField.val().length == 1 || searchField.val().length == 2)) {
		//if(document.getElementById('kt-suchfeld').value.length == 1 || document.getElementById('kt-suchfeld').value.length == 2) {
			alert(alertTooShort);
			return false;
		} 
		else {
			$(this).parents('form')
				.find('div.warten-aus')
				.addClass('warten')
				.find('p.text')
				.html(searching + waiting);
				/*.next('p.abbrechen')
				.show()
				.find('button')
				.text(cancel)*/
		}
	});
	$('input.nachladen').click(function() {
		if(searchField.length && (searchField.val().length == 1 || searchField.val().length == 2)) {
		//if(document.getElementById('kt-suchfeld').value.length == 1 || document.getElementById('kt-suchfeld').value.length == 2) {
			alert(alertTooShort);
			return false;
		} 
		else {
			$(this).parents('form')
				.find('div.warten-aus')
				.addClass('warten')
				.find('p.text')
				.html(loading + waiting);
				/*.next('p.abbrechen')
				.show()
				.find('button')
				.text(cancel)*/
		}
	});
	$('body:not(.home) input.loeschen').click(function() {
		$(this).parents('form')
			.find('div.warten-aus')
			.addClass('warten')
			.find('p.text')
			.html(resetting + waiting);
				/*.next('p.abbrechen')
				.show()
				.find('button')
				.text(cancel)*/
	});
	$('input.suche-nachladen').click(function() {
		if(searchField.length && (searchField.val().length == 1 || searchField.val().length == 2)) {
		//if(document.getElementById('kt-suchfeld').value.length == 1 || document.getElementById('kt-suchfeld').value.length == 2) {
			alert(alertTooShort);
			return false;
		} 
		else {
			$(this).parents('form')
				.find('div.warten-aus')
				.addClass('warten')
				.find('p.text')
				.html(loadingSearching + waiting);
				/*.next('p.abbrechen')
				.show()
				.find('button')
				.text(cancel)*/
		}
	});
	
	/** Formularaktions-Bestätigungen **/
	$('body:not(.home) input[type=reset]').click(function () {
		var answer = confirm('resetInput');
		return answer;
	}); 
	
	$('input.eintrag-loeschen').click(function () {
		var answer = confirm(deleteEntry);
		return answer;
	});
	
	/** maxlength für TEXTAREAS inkl. Zeichenzähler **/
	$('.maxlength-1000').maxlength( {
		maxCharacters: 1000,
		status: true,
		statusClass: statusClass,
		statusText: charsLeft,
		notificationClass: notificationClass,
		showAlert: true,
		slider: true,
		alertText: alertText
	} );
	$('.maxlength-800').maxlength( {
		maxCharacters: 800,
		status: true,
		statusClass: statusClass,
		statusText: charsLeft,
		notificationClass: notificationClass,
		showAlert: true,
		slider: true,
		alertText: alertText
	} );
	$('.maxlength-750').maxlength( {
		maxCharacters: 750,
		status: true,
		statusClass: statusClass,
		statusText: charsLeft,
		notificationClass: notificationClass,
		showAlert: true,
		slider: true,
		alertText: alertText
	} );
	$('.maxlength-550').maxlength( {
		maxCharacters: 550,
		status: true,
		statusClass: statusClass,
		statusText: charsLeft,
		notificationClass: notificationClass,
		showAlert: true,
		slider: true,
		alertText: alertText
	} );
	$('.maxlength-500').maxlength( {
		maxCharacters: 500,
		status: true,
		statusClass: statusClass,
		statusText: charsLeft,
		notificationClass: notificationClass,
		showAlert: true,
		slider: true,
		alertText: alertText
	} );
	$('.maxlength-300').maxlength( {
		maxCharacters: 300,
		status: true,
		statusClass: statusClass,
		statusText: charsLeft,
		notificationClass: notificationClass,
		showAlert: true,
		slider: true,
		alertText: alertText
	} );
	$('.maxlength-250').maxlength( {
		maxCharacters: 250,
		status: true,
		statusClass: statusClass,
		statusText: charsLeft,
		notificationClass: notificationClass,
		showAlert: true,
		slider: true,
		alertText: alertText
	} );
	$('.maxlength-150').maxlength( {
		maxCharacters: 150,
		status: true,
		statusClass: statusClass,
		statusText: charsLeft,
		notificationClass: notificationClass,
		showAlert: true,
		slider: true,
		alertText: alertText
	} );
	
	
	/*** temp. Fix für tt_news Pagebrowser ***/
	$('.blaettern a:has(img)').css({'border-bottom':'none', 'text-decoration':'none'}).addClass('');
	
	$('#veranstaltungen-bearbeiten td.sp-aktion form').show();
	

});	

/*** Typo3 E-Mail En-/Decription ***/
var browserName=navigator.appName;var browserVer=parseInt(navigator.appVersion);var version="";var msie4=(browserName=="Microsoft Internet Explorer"&&browserVer>=4);if((browserName=="Netscape"&&browserVer>=3)||msie4||browserName=="Konqueror"||browserName=="Opera"){version="n3";}else{version="n2";}
function blurLink(theObject){if(msie4){theObject.blur();}}
function decryptCharcode(n,start,end,offset){n=n+offset;if(offset>0&&n>end){n=start+(n-end-1);}else if(offset<0&&n<start){n=end-(start-n-1);}
return String.fromCharCode(n);}
function decryptString(enc,offset){var dec="";var len=enc.length;for(var i=0;i<len;i++){var n=enc.charCodeAt(i);if(n>=0x2B&&n<=0x3A){dec+=decryptCharcode(n,0x2B,0x3A,offset);}else if(n>=0x40&&n<=0x5A){dec+=decryptCharcode(n,0x40,0x5A,offset);}else if(n>=0x61&&n<=0x7A){dec+=decryptCharcode(n,0x61,0x7A,offset);}else{dec+=enc.charAt(i);}}
return dec;}
function linkTo_UnCryptMailto(s){location.href=decryptString(s,3);}
