// Lade jQuery
document.write('<script type="text/javascript" src="/javascript/jquery.js"><\/script>');

// Lade Timeline
document.write('<link rel="stylesheet" type="text/css" href="/css/jquery.timeline.css" />');
document.write('<script type="text/javascript" src="/javascript/jquery.timeline.js"><\/script>');

// Lade Fancybox
document.write('<script type="text/javascript" src="/javascript/jquery.fancybox.js"><\/script>');
document.write('<link rel="stylesheet" href="/css/jquery.fancybox.css" type="text/css" media="screen">');

// Lade AD-Gallery
document.write('<link rel="stylesheet" type="text/css" href="/css/jquery.ad-gallery.css" />');
document.write('<script type="text/javascript" src="/javascript/jquery.ad-gallery.js"></script>');

// Lade Flowplayer
document.write('<link rel="stylesheet" href="/css/jquery.flowplayer.css" type="text/css" media="screen">');
document.write('<script type="text/javascript" src="/javascript/flowplayer.js"></script>');
document.write('<script type="text/javascript" src="/javascript/flowplayer.playlist.js"></script>');

// Aktualisierung der Seite
window.onload = function() {

/*
	Stand: 04.03.2010
	Skript zur Aktualisierung der Web-Site:
	- Site: Service-Links hinzufügen
	- Site: Timeline hinzufügen
	- Content: Bei Terminen Links zur Anreise hinzufügen
	- Content: Link zum Extranet aufbereiten
	- Content: Link zu YouTube-Videos als PopUp-Content ausführen
	- Content: Bilder als Bilder-Gallerie darstellen
	- Content: Flash-Videos in Seite einbinden

*/

//
// Service-Links hinzufügen (Drucken, per E-Mail weiterempfehlen)
//
var $subnavContainer = $('div.subnav');
if ($subnavContainer.length > 0) {

	// Container für Service-Links erstellen
	var $serviceContainer = $('<div class="text topic service"></div>');
	$serviceContainer.append('<h1>Service</h1>');
	$serviceContainer.append('<p></p>');

	// Link für "Diese Seite drucken" hinzufügen
	$('<a class="print" href="javascript:window.print()">Diese Seite drucken</a>').appendTo($serviceContainer.find('p'));

	// Link für "Diese Seite weiterempfehlen" hinzufügen
	$('<br /><a class="email" href="#" target="_blank" title="Diese Seite per E-Mail weiterempfehlen">Diese Seite weiterempfehlen</a>').appendTo($serviceContainer.find('p'));
	$serviceContainer.find('a.email').attr('href', function() {
		return 'mailto:?subject=' + encodeURIComponent('Hinweis auf WWW-Seite')
		+ '&body=' + encodeURIComponent('Ich habe eine interessante Internet-Seite gefunden.\nDer Titel und die Adresse lautet:\n\n')
		+ encodeURIComponent(document.title)
		+ encodeURIComponent('\n(' + window.location.href + ')\n');
	});

	// Service-Container in Seite einhängen
	$serviceContainer.insertAfter($subnavContainer);

}

//
// Timeline mit Terminen hinzufügen
//

// Hole Termine
$.get('/api/termine.xml', function(data) {

	function formatDatum(datum) {
		var namen = ['So.','Mo.','Di.','Mi.','Do.','Fr.','Sa.']
		var monat=datum.getMonth()+1;
		var jahr=datum.getFullYear();
		var tag=datum.getDate();
		var stunde=datum.getHours();
		var minute=datum.getMinutes();
		monat=monat+'';
		tag=tag+'';
		stunde=stunde+'';
		minute=minute+'';
		if (monat.length==1)
			monat='0'+monat;
		if (tag.length==1)
			tag='0'+tag;
		if (stunde.length==1)
			stunde='0'+stunde;
		if (minute.length==1)
			minute='0'+minute;
		return namen[datum.getDay()] + ' ' +  tag +'.' + monat + '. ' + stunde + ':' + minute+'&nbsp;Uhr';
	}

	var timelineDates = [];
	// Daten für die Termine aufbereiten
	$(data).find('item').each(function() {
		var item = $(this);
		var start = new Date(item.children('date_start').text());
		var end = new Date(item.children('date_end').text());
		var title = item.children('title').text();
		var html = '<p>' + formatDatum(start) + '</p>';
		html += '<p><a href="';
		html += item.children('url').text();
		html += '" class="intern">Weitere Informationen</a></p>';
		var classname = 'red';
		timelineDates.push([start,end,title,html,classname])
	});

	var $timelineContainer = $('<div id="timeline"></div>');
	$timelineContainer.timeline({
		'dates' : timelineDates
	});
	$timelineContainer.insertAfter($('div#menu'));

});

//
// Bei Terminen Links zum Anreise einfügen
//

var $dateContainer = $('div#main > div.date > dl');
if ($dateContainer.length > 0) {

	// Hole Infos zum Veranstaltungsort
	var dateLocation = [];
	dateLocation = $dateContainer.find('address').html().split(/<br>|<br\/>|<br \/>/i);

	// Zeilenumbrüche, Leerstellen, etc. entfernen
	$(dateLocation).each(function(index,value) {
		dateLocation[index] = jQuery.trim(value.toString());
	});

	// Erstelle die Links
	var $locationLinks = $('<dd class="noprint"></dd>').html(
		'<p>' +
		// Reiseauskunft Bahn
		'<a href="http://reiseauskunft.bahn.de/bin/query.exe/dn?searchMode=ADVANCED&start=1&S=&Z='
		+ encodeURIComponent(dateLocation[2]) +
		'%2C%20'
		+ encodeURIComponent(dateLocation[1]) +
		'&ZADR=1" target="_blank" title="Externer Link: Fahrplanauskunft der Deutschen Bahn" class="extern">Fahrplanauskunft der Deutschen Bahn</a>'
		+ '<br />' + 
		// Reiseauskunft EFA-BW
		'<a href="http://www.efa-bw.de/nvbw/XSLT_TRIP_REQUEST2?language=de&amp;sessionID=0&amp;place_destination='
		+ encodeURIComponent(dateLocation[2]) +
		'&amp;name_destination='
		+ encodeURIComponent(dateLocation[1]) +
		'&amp;value=1&amp;type_destination=address" target="_blank" title="Externer Link: Elektronische Fahrplanauskunft Baden-Württemberg (EFA)" class="extern">Elektronische Fahrplanauskunft Baden-Württemberg (EFA)</a>'
		+ '<br />' + 
		// Routenplaner Google
		'<a href="http://maps.google.de/maps?f=d&daddr='
		+ encodeURIComponent(dateLocation[1]) +
		'%2C%20'
		+ encodeURIComponent(dateLocation[2]) +
		'" target="_blank" title="Externer Link: Google Maps" class="extern">Routenplaner bei Google Maps</a>'
		+ '</p>'
	);

	// Container in Seite einhängen
	$('<dt class="noprint">Anreise:</dt>').appendTo($dateContainer);
	$locationLinks.appendTo($dateContainer);

}

//
// Link zum Extranet und YouTube aufbereiten
//

var $linkContainer = $('div#main > div.links');
if ($linkContainer.length > 0) {

	//
	// Links zum Extranet mit zusätzlichem class-Wert versehen
	//

	$linkContainer.find('p > a[href^="http://extranet.igmetall.de"]').addClass('lock');

	//
	// Link zu YouTube-Videos als PopUp-Content ausführen
	//

	// Hole bestimmte YouTupe-Links
	var $ytLinks = $linkContainer.find('p > a[href*="youtube.com/watch"]');

	// YouTube-Links aufbereiten und Fancybox initislisieren
	$ytLinks.each(function(index) {
		var $this = $(this);
		var link = this.href;
		// Extrahiere die YouTube-ID
		var id = link.match(/youtube\.com\/watch\?v=([^&]+)/i)[1];
		$this.fancybox({
			// Lade nicht Link sondern Flash-URL
			'href' : 'http://youtube.com/v/' + id + '?hl=de&autoplay=1',
			// Fancybox auf Type Flash setzen
			'type' : 'swf',
			'titleShow' : false,
			'transitionIn' : 'elastic',
			'speedIn' : '500',
			'transitionOut' : 'fade',
			'speedIn' : '250'
		});
	});

}

//
// Bilder-Gallerie erstellen und Flash-Videos einbinden
//
var $attachmentContainer = $('div#main > div.attachments');
if ($attachmentContainer.length > 0) {

	// Hole alle Anhänge
	var $attachments = $attachmentContainer.find('div.entry');

	//
	// Flash-Videos einbinden
	//

	// Alle Anhänge (DIV-Container) mit Flash-Filmen finden
	var $videos = $attachments.find('h2 > a')
		.filter(function() {
			return (/\.(flv|f4v|f4p)(.*)?$/i).test($(this).attr('href'));
		}).parent().parent('div.entry');

	// Flash-Filme in Player einbinden und zu Text verschieben
	if ($videos.length > 0) {

		// Container für Flash-Filme erstellen
		var $containerVideo = $('<div class="text topic video noprint"></div>');
		var $containerPlayer = $('<div class="player"></div>')
		var $containerPlaylist = $('<div class="playlist"></div>').appendTo($containerVideo);
		$containerPlayer.appendTo($containerVideo);
		$containerPlaylist.appendTo($containerVideo);
		$('<div class="clear"></div>').appendTo($containerVideo);

		// Fehler in Flowplayer
		// Kann Playlist leider nicht später per player.setPlaylist() einfügen

		// Interne Playlist schreiben und Videos in den Anhängen ausblenden
		var playlist = [];
		playlist[0] = {url: '/images/flowplayer/splash.png', title: 'Campverein', autoPlay: true};

		$videos.each(function(index) {
			playlist[index+1] = {};
			playlist[index+1].title = $(this).find('h2').text();
			playlist[index+1].url = $(this).find('h2 > a').attr('href');
			if (index == 0) {
				playlist[index+1].autoPlay = false;
			}
		})
		.addClass('noscreen');

		// Player einhängen
		$containerPlayer.flowplayer('/javascript/flowplayer.swf', {
			clip: {
				baseUrl: 'http://www.campverein.de/',
				subTitle: 'Campverein',
				scaling: 'orig',
				autoPlay: true,
				autoBuffering: false
			},
			plugins: {
				controls: {
					url: '/javascript/flowplayer.controls.swf',
					height: '25',
					stop: true,
					fullscreen: false
				}
			},
			playlist: playlist
		});

		// Get Flowplayer-Object
		var player = $f();

		// Playliste schreiben
		player.playlist($containerPlaylist, {
			loop : true,
			playingClass: 'playing',
			pausedClass: 'paused',
			progressClass:'progress',
			playOnClick: true
		});

		// Video-Container in Seite einhängen
		$containerVideo.insertBefore($attachmentContainer);

	}

	//
	// Bilder-Gallerie erstellen
	//

	// Alle Anhänge (DIV-Container) mit Bildern finden
	var $images = $attachments.find('h2 > a')
		.filter(function() {
			return (/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i).test($(this).attr('href'));
		}).parent().parent('div.entry');

	// Bilder-Gallerie erstellen
	if ($images.length > 0) {

		// Container für Bilder-Gallerie erstellen
		var $imageContainer = $('<div class="text ad-gallery topic noprint"></div>');

		// DIV-Struktur für die Bilder-Gallerie erstellen
		$('<div class="ad-image-wrapper"></div>').appendTo($imageContainer);
		$('<div class="ad-controls"></div>').appendTo($imageContainer);
		$('<div class="ad-nav"></div>').prepend('<div class="ad-thumbs"></div>').appendTo($imageContainer);

		// Container für Vorschaubilder erstellen
		var $thumbContainer = $('<ul class="ad-thumb-list"></ul>');

		// Struktur mit Vorschaubild für AD-Gallery erstellen
		$images.find('div.preview > p > a > img').each(function() {
			var item = $(this).parent().clone();
			item.find('img')
			.attr('longdesc', function () {
				return 'Bild im Original laden: <a href="' + $(this).parent('a').attr('href') + '" target="blank" class="extern">Download</a>';
			});
			item.appendTo($thumbContainer).wrap($('<li></li>'));

		});

		// Vorschaubilder in Conatainer der Bilder-Gallerie einhängen
		$thumbContainer.appendTo($imageContainer.find('.ad-thumbs'));

		// Container der Bilder-Gallerie in Seite einhängen
		$imageContainer.insertBefore($attachmentContainer);

		// Bilder in den Anhängen ausblenden
		$images.addClass('noscreen');

		// AD Gallery initalisieren
		var galleries = $('.ad-gallery').adGallery({
			loader_image: '/images/ad-gallery/loader.gif',
			width: 560,
			height: 420,
			animate_first_image: false,
			display_next_and_prev: true,
			display_back_and_forward: true,
			slideshow: false,
			cycle: false
		});
	}

	//
	// Aufräumen
	//

	// Anzahl der verbleibenden sichtbaren Anhänge überprüfen
	// und evtl. gesamten Block ausblenden
	$attachments = $attachmentContainer.find('div.entry:not(.noscreen)');
	if ($attachments.length == 0) {
		$attachmentContainer.addClass('noscreen');
	}

}

// IE6 Bug-fix - Float-Problem
$('div#column').css('position','relative');
$('div#main').css('position','relative');

// window.onload - ENDE
}