$('html').addClass('js'); // Header ausgeblendet solange die Seite lädt, die css Anweisung ist in der cssJs.css
	$(document).ready(function() {

		// Header wieder einblenden
		$('html').removeClass('js');

		// externe Links
		$("a[href^=http]").each(function(){
			if(this.href.indexOf(location.hostname) == -1) {
				$(this).attr({
					target: "_blank",
					title: "öffnet die Seite in einem neuen Fenster"
				}).addClass("external");
			}
		})

		// Wechselbilder
		$('#wechselbilder').cycle({
			timeout: 8000,
			speed:  2000,
			pause: true,
			pager: '#wechselbilder_nav',
			pagerEvent: 'click',
			pauseOnPagerHover: true
			//delay: -5000
		})
		// Zebra Tabellen
		if($('tbody').length) {
			$('tbody tr:nth-child(even)').addClass('even');
			//$('tbody tr:nth-child(odd)').addClass('odd');
			$('tbody tr').mouseover(function() {
				$(this).addClass("over");}).mouseout(function() {
					$(this).removeClass("over");
				}
			);
		}
		
		// Icons
		$('a[href$=pdf]').addClass('pdf');
		$('a[href$=zip]').addClass('zip');
		$('a[href$=doc]').addClass('doc');
		$('a[href$=xls]').addClass('xls');
		$('a[href^="mailto:"]').addClass('mailto');
		$('a[href^="javascript:linkTo_UnCryptMailto"]').addClass('mailto');

		// Zebra Tabellen
		if($('tbody').length) {
			$('tbody tr:nth-child(even)').addClass('even');
			//$('tbody tr:nth-child(odd)').addClass('odd');
			$('tbody tr').mouseover(function() {
				$(this).addClass("over");}).mouseout(function() {
					$(this).removeClass("over");
				}
			);
		}
		
		
		// Bildergalerie
		// We only want these styles applied when javascript is enabled
		if($('#thumbs').length) {
			$('div.navigation').css({'width' : '100%'});
			$('div.galcont').css('display', 'block');

			// Initially set opacity on thumbs and add
			// additional styling for hover effect on thumbs
			var onMouseOutOpacity = 0.67;
			if($('#thumbs').length) {
				$('#thumbs ul.thumbs li').opacityrollover({
					mouseOutOpacity:	onMouseOutOpacity,
					mouseOverOpacity:	1.0,
					fadeSpeed:			'fast',
					exemptionSelector:	'.selected'
				});
			}

			// Enable toggling of the caption
			var captionOpacity = 0.0;
			$('#captionToggle a').click(function(e) {
				var link = $(this);
				var isOff = link.hasClass('off');
				var removeClass = isOff ? 'off' : 'on';
				var addClass = isOff ? 'on' : 'off';
				var linkText = isOff ? 'verstecke Bildinfos' : 'zeige Bildinfos';
				captionOpacity = isOff ? 0.7 : 0.0;
				link.removeClass(removeClass).addClass(addClass).text(linkText).attr('title', linkText);
				$('#caption span.image-caption').fadeTo(1000, captionOpacity);
				e.preventDefault();
			});

			// Initialize Advanced Galleriffic Gallery
			var gallery = $('#thumbs').galleriffic({
				delay:                     5000,
				numThumbs:                 24,
				preloadAhead:              12,
				enableTopPager:            true,
				enableBottomPager:         false,
				maxPagesToShow:            7,
				imageContainerSel:         '#slideshow',
				controlsContainerSel:      '#controls',
				captionContainerSel:       '#caption',
				loadingContainerSel:       '#loading',
				renderSSControls:          true,
				renderNavControls:         true,
				playLinkText:              'Diashow starten',
				pauseLinkText:             'Diashow stoppen',
				prevLinkText:              '&laquo; zurück',
				nextLinkText:              'vorwärts &raquo;',
				nextPageLinkText:          '&raquo;',
				prevPageLinkText:          '&laquo;',
				enableHistory:             true,
				autoStart:                 false,
				syncTransitions:           true,
				defaultTransitionDuration: 900,
				onSlideChange:             function(prevIndex, nextIndex) {
					// 'this' refers to the gallery, which is an extension of $('#thumbs')
					this.find('ul.thumbs').children()
						.eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()
						.eq(nextIndex).fadeTo('fast', 1.0);

					// Update the photo index display
					this.$captionContainer.find('div.photo-index')
						.html('Foto '+ (nextIndex+1) +' von '+ this.data.length);
				},
				onTransitionOut: function(slide, caption, isSync, callback) {
					slide.fadeTo(this.getDefaultTransitionDuration(isSync), 0.0, callback);
					caption.fadeTo(this.getDefaultTransitionDuration(isSync), 0.0);
				},
				onTransitionIn: function(slide, caption, isSync) {
					var duration = this.getDefaultTransitionDuration(isSync);
					slide.fadeTo(duration, 1.0);

					// Position the caption at the bottom of the image and set its opacity
					var slideImage = slide.find('img');
					caption.width(slideImage.width())
						.css({
							'bottom' : Math.floor((slide.height() - slideImage.outerHeight()) / 2),
							'left' : Math.floor((slide.width() - slideImage.width()) / 2) + slideImage.outerWidth() - slideImage.width()
						})
						.fadeTo(duration, captionOpacity);
				},
				onPageTransitionOut: function(callback) {
					this.fadeTo('fast', 0.0, callback);
				},
				onPageTransitionIn: function() {
					this.fadeTo('fast', 1.0);
				},
				onImageAdded: function(imageData, $li) {
					$li.opacityrollover({
						mouseOutOpacity:	onMouseOutOpacity,
						mouseOverOpacity:	1.0,
						fadeSpeed:			'fast',
						exemptionSelector:	'.selected'
					});
				}
			});
			/**** Functions to support integration of galleriffic with the jquery.history plugin ****/

			/**** Functions to support integration of galleriffic with the jquery.history plugin ****/

			// PageLoad function
			// This function is called when:
			// 1. after calling $.historyInit();
			// 2. after calling $.historyLoad();
			// 3. after pushing "Go Back" button of a browser
			function pageload(hash) {
				// alert("pageload: " + hash);
				// hash doesn't contain the first # character.
				if(hash) {
					$.galleriffic.gotoImage(hash);
				} else {
					gallery.gotoIndex(0);
				}
			}

		// Initialize history plugin.
		// The callback is called at once by present location.hash.
		$.historyInit(pageload, "advanced.html");

		// set onlick event for buttons using the jQuery 1.3 live method
		$("a[rel='history']").live('click', function(e) {
			if (e.button != 0) return true;

			var hash = this.href;
			hash = hash.replace(/^.*#/, '');

			// moves to a new page.
			// pageload is called at once.
			// hash don't contain "#", "?"
			$.historyLoad(hash);

			return false;
		});

		$("div.ss-controls").prepend('<img src="./files/gfx/galleriffic/diashow.gif" alt="li" style="float:left;" /> '); 

		// Listen Grafiken
		//$("#cont li").prepend(' <img src="./files/gfx/liste.gif" alt="li"/> ');
		}
	});


	// E-Mail Verschlüsselung http://jumk.de/nospam/
	function UnCryptMailto(s) {
		var n = 0;
		var r = "";
		for(var i = 0; i < s.length; i++) {
			n = s.charCodeAt(i);
			if(n >= 8364) {
				n = 128;
			}
			r += String.fromCharCode(n - 1);
		}
		return r;
	}

	function linkTo_UnCryptMailto(s)
	{
		location.href=UnCryptMailto(s);
	}

