/*********************************************************
* Javascript-Funktionalität in der Seite aktivieren
**********************************************************/
jQuery.noConflict();
jQuery(document).ready(function(){ initJavascript(); });

function initJavascript() {
	initMedienzone();
	initBoard();
	if (jQuery('form.jsform').length > 0) {
		jQuery('input').checkBox();
		jQuery.datepicker.setDefaults(jQuery.datepicker.regional['de']);
		jQuery('input.datepicker').datepicker({ minDate: 1, yearRange: '2011:2021', showOn: "button", buttonImage: "/gif/css/calendar.gif", buttonImageOnly: true, changeMonth: true, changeYear: true });
		jQuery('select').selectmenu();
	}

}

function initMedienzone() {
	var container = jQuery('#medienzone');
	var elements = jQuery('#medienzone img');
	var listItems = jQuery('#medienzone div.box_inner > ul > li');
	//if (elements.length <= 1) { return; }
	// Elemente ausblenden
	if (container.hasClass('single')) {
		jQuery('div.switcher').css('width', jQuery('div.mediennav h1').innerWidth() - 16);
		return;
	}
	jQuery('span.medienzone_imgtext').hide();
	for (var i = 0; i < elements.length; i++) {
		jQuery(elements[i]).css('z-index', String(elements.length-i)).hide();
	}

	if (container.hasClass('nonews')) {
		if (elements.length > 1) {
			var switcher = jQuery('div.switcher');
			var bulletContainer = jQuery('div.switcher div.bullets');
			var linkItem = jQuery(document.createElement('a'));
			linkItem.addClass('mediennav_next');
			linkItem.append(jQuery(document.createElement('span')).addClass('replacement').html('Nächstes Bild'));
			linkItem.click(function() {
				show((current + 1 < elements.length ? current + 1 : 0));
			});
			switcher.append(linkItem);

			for (var i = elements.length; i > 0; i--) {
				linkItem = jQuery(document.createElement('a'));
				linkItem.addClass('mediennav_bullet');
				linkItem.append(jQuery(document.createElement('span')).addClass('replacement').html('Bild ' + i));
				linkItem.click(function() {
					show(jQuery('div.switcher a.mediennav_bullet').index(jQuery(this)));
				});
				bulletContainer.prepend(linkItem);
			}

			linkItem = jQuery(document.createElement('a'));
			linkItem.addClass('mediennav_previous');
			linkItem.append(jQuery(document.createElement('span')).addClass('replacement').html('Vorheriges Bild'));
			linkItem.click(function() {
				show((current - 1 < 0 ? elements.length - 1 : current - 1));
			});
			switcher.prepend(linkItem);
			var totalWidth = Math.max(jQuery('div.mediennav h1').innerWidth() - 16, elements.length * 12 + 18);
			jQuery('div.switcher').css('width', totalWidth);
			jQuery('div.switcher div.bullets').css('left', ((totalWidth / 2) - (elements.length * 6) - 8) + 'px');
		}
	}
	if (container.hasClass('gallery')) {
		var firstImageShown = false;
		var imagesLoaded = 0;
		var thumbs = jQuery('div.gallery_thumb a img');
		jQuery('div.gallery_thumb').hide();

		var loadImage = function(index) {
			if (index == (thumbs.length)) return;

			var img = new Image();
			jQuery(img).attr('src', jQuery(thumbs[index]).attr('rel'));
			jQuery(img).load(function() {
				jQuery('#medienzone div.gallery_image').append(this);
				jQuery(this).css('left', jQuery('#medienzone').innerWidth() / 2 - jQuery(this).innerWidth() / 2);
				jQuery(this).hide();
				elements.push(jQuery(this));
				jQuery(jQuery('div.gallery_thumb')[index]).show();
				jQuery(jQuery('div.gallery_thumb a')[index]).click(function() {
					window.scrollTo(0, jQuery('#medienzone').position().top);
					show(index);
					return false;
				});
				if (!firstImageShown && ((thumbs.length > 1 && index >= 1) || (thumbs.length == 1 && index == 0))) {
					jQuery('div.switcher a').show();
					show(0);
					firstImageShown = true;
				}
				loadImage(index + 1);
			});
		};

		jQuery('div.switcher').css('width', jQuery('div.mediennav h1').innerWidth() - 16);
		if (thumbs.length > 1) {
			var switcher = jQuery('div.switcher');
			var linkItem = jQuery(document.createElement('a'));
			linkItem.addClass('mediennav_next');
			linkItem.append(jQuery(document.createElement('span')).addClass('replacement').html('Nächstes Bild'));
			linkItem.click(function() {
				show((current + 1 < elements.length ? current + 1 : 0));
			});
			switcher.prepend(linkItem);

			linkItem = jQuery(document.createElement('a'));
			linkItem.addClass('mediennav_previous');
			linkItem.append(jQuery(document.createElement('span')).addClass('replacement').html('Vorheriges Bild'));
			linkItem.click(function() {
				show((current - 1 < 0 ? elements.length - 1 : current - 1));
			});
			switcher.prepend(linkItem);

			jQuery('div.switcher a').hide();
		}
		loadImage(0);
	}
	var current = null;
	var timeoutID = null;
	var show = function(num) {
		if (timeoutID != null) {
			clearTimeout(timeoutID);
			timeoutID = null;
		}
		old = current;
		current = num;
		var next = (current + 1 < elements.length ? current + 1 : 0);
		jQuery(listItems[old]).removeClass('active');
		jQuery(listItems[current]).addClass('active');
		if (container.hasClass('nonews')) {
			jQuery(jQuery('div.switcher a')[old + 1]).removeClass('mediennav_bullet_active');
			jQuery(jQuery('div.switcher a')[current + 1]).addClass('mediennav_bullet_active');
		}
		jQuery(jQuery('span.medienzone_imgtext')[old]).hide();
		jQuery(jQuery('span.medienzone_imgtext')[current]).show();
		jQuery('#medienzone').css('height', jQuery(elements[current]).innerHeight());

		//jQuery('#content_breadcrumb a').removeClass('active');
		//jQuery('#content_breadcrumb #slidecontrol' + current).addClass('active');
		timeoutID = setTimeout(function() { show(next); }, 6000);
		if (old != null) {
			jQuery(elements[old]).fadeOut('slow');
			jQuery(elements[current]).fadeIn('slow');
		} else {
			jQuery(elements[current]).show()
		}
	}
	container.data('show', show);

	show(0);
}

function initBoard() {
	var container = jQuery('#board ul.boardnav');
	var showBoardItem = function(num) {
		var content = jQuery('#board ul.boarditems');
		content.hide();
		jQuery(content[num]).show();
		var navItems = jQuery('#board ul.boardnav li');
		navItems.removeClass('active');
		jQuery(navItems[num + 1]).addClass('active')
	};
	container.delegate('a', 'click', function() {
		var currentIndex = jQuery('#board ul.boardnav li a').index(jQuery(this));
		showBoardItem(currentIndex);
		return false;
	});
	showBoardItem(0);
}
