$.noConflict();

jQuery(document).ready(function($){

	/* temp tidying of old content */
	$('.content_text p').add('.content_text h3').each(function(){
		var tag = $(this);var tagHtml = tag.html();
		if($.trim(tagHtml)=='&nbsp;'||tagHtml==' '||$.trim(tagHtml)==''){tag.remove();}
	});
	$('a img[src*="typo3/ext/rtehtmlarea/htmlarea/"]').add('a img[alt="Link für Dateidownload folgt"]').add('.content_text p:empty').remove();

	$('.content_text a').each(function(){
		var a = $(this);
		var txt = a.html();
		a.html(txt.replace('&gt;&gt;',''));
	});

	//$('.container').each(function(){
	//	if($(this).html()=='<div class="content_text"><div class="clear"></div></div>'){$(this).remove();}
	//});
	/* END temp tidying of old content */

	var slideDuration = 200;
	var gallerySlideDuration = 600;
	var regFormButtonText = "Anmeldeformular";
	var regFormButtonText_en = "Registration Form";
	
	
	var commentStartHt; /* stores default comment height */

	$('.select_wrapper').addClass('active_select').filter('.calendar_select').addClass('sliding_calendar_select').end().children('.select_list').hide().end().children('.select_control').click( 
		function(){
			var selHead = $(this);
			selHead.toggleClass('open_select');
			selHead.next('.select_list').addClass('animating').toggle('blind', {}, slideDuration, function(){$(this).removeClass('animating');});
			return false;
		}
	).each(function(){
		if(window.opera){$(this).addClass('select_control_opera');}
	}).hover(function(){$(this).addClass('hovered');}, function(){$(this).removeClass('hovered');});


	$('.comment').addClass('sliding_comment').children('.comment_text').each(function(i){
		var comment = $(this);
		
		if(i==0){
			commentStartHt = comment.height();
		}
		if(comment.children('p').height()>commentStartHt+5){	
			comment.children('p:first-child').prepend('<span class="slider_toggle" title="Kommentar ein-/ausblenden">Kommentar ein-/ausblenden</span>').children('.slider_toggle').click( 
				function(){
					var ht = commentStartHt;
					if(!comment.hasClass('open_comment')){ht=comment.children('p').height();}
					comment.animate({height:ht},slideDuration,function(){$(this).toggleClass('open_comment');});
					return false;
				}
			);		
		}

	});


	/* pre-process RTE tabs */
	$('.content_text ul.tab_navigation').closest('.content_text').identify().each(function(){
		var container = $(this);
		var cID = container.attr('id');
		
		/* clean out RTE garbage classes */
		var tabEls = $('.tab_1').add('.tab_2').add('.tab_3').add('.tab_4').add('.tab_5');
		tabEls = $.unique(tabEls);
		tabEls.each(function(){ 
			var c = $(this);
			var classArr = c.attr('class').split(' ');
			c.attr('class',classArr[classArr.length-1]);
		});
		
		$.each(['.tab_1','.tab_2','.tab_3','.tab_4','.tab_5'],function(i,v){
			var tabID = 'tab_'+(i+1)+'_'+cID;
			container.find(v).not('li').wrapAll('<div class="tab"></div>').closest('div.tab').attr('id',tabID);
			container.find('ul.tab_navigation li'+v).wrapInner('<a href="#"></a>')
			.find('a:first').attr('href','#'+tabID);
			//tabGroup.push($('#'+tabID));
		});
		container.find('ul.tab_navigation').addClass('tab_nav').after('<div class="clear clear_tabnav"></div>').siblings('.tab, .clear_tabnav').andSelf().wrapAll('<div class="tab_group"></div>');

	});


	/* pre-process veranstaltungen tabs */ 
	$('.tx-cal-controller .no_events').each(function(){
		$(this).closest('div.container').remove();
/*
		var ptag = $(this);
		var ptag_type = ptag.closest('.tx-cal-controller').prev('h2').html();
		if(ptag_type=='Veranstaltungen'){
			ptag.addClass('grey_box').wrap('<div id="cal_list_tab_1" class="tab"></div>');
		}else if(ptag_type=='Veranstaltungsdokumentation'){
			ptag.closest('div.container').remove();
		}
*/
	});
	
	$('.tx-cal-controller #cal_list_tab_1').each(function(){
		if($('#cal_list_tab_2').length>0){
			var tab1 = $(this);
			var h21 = tab1.closest('.tx-cal-controller').prev('h2');
			var h21_text = 'Veranstaltungen'; if(h21.length>0){ h21_text = h21.text();}
			h21.remove();
			var link2 = '';
		
			var tab2 = $('#cal_list_tab_2');
			var h22 = tab1.closest('.tx-cal-controller').prev('h2');
			var h22_text = 'Veranstaltungsdokumentation'; if(h22.length>0){ h22_text = h22.text();}
			tab2.clone().insertAfter(tab1);
			tab2.closest('.container').remove();
			link2 = '<li><a href="#cal_list_tab_2">'+h22_text+'</a></li>';

			tab1.before('<ul class="tab_nav"></ul><div class="clear"></div>').prevAll('ul.tab_nav').prepend('<li><a href="#cal_list_tab_1">'+h21_text+'</a></li>'+link2);
		}else{
			$(this).closest('.tab_group').removeClass('tab_group');
		}
	});
	$('.tx-cal-controller #cal_list_tab_2').each(function(){
		if($('.tx-cal-controller #cal_list_tab_1').length<1){
			$(this).closest('.tab_group').removeClass('tab_group');
		}
	});
	
	/* process tabs */
	$('.tab_group').addClass('tabified').each(function(){
		$(this).children('.tab').hide().filter(':first').show()
	}).children('ul.tab_nav').each(function(){
		$(this).children('li').each(function(i){
			var li = $(this);
			if(i==0){li.addClass('current');}
			li.children('a:first-child').click(function(){
				var a=$(this);

				a.closest('.tab_group').css('padding-bottom',20).css('padding-bottom',0).children('.tab').hide().end().children('ul.tab_nav').children('li').removeClass('current');
				a.parent('li').addClass('current'); /* add/remove padding stops ie8 bug */
				var atrg = a.attr('href').split('#');
				$('#'+atrg[1]).show();

				return false;	
			});
		});
	});


	$('.form_slider_header').each(function(){
		var button_text = regFormButtonText;
		if($('body').hasClass('english')){button_text = regFormButtonText_en;}
		$(this).after('<div class="form_slider_control"><a href="#" class="icon">'+button_text+'</a></div>')
		.next('.form_slider_control').next('.form_slider').hide().end().find('a.icon').click(function(){
			$(this).closest('.form_slider_control').toggleClass('open_form_slider_control').next('.form_slider').toggle('blind',{},slideDuration,function(){
				/* ie8 bugfix */
				$(this).prev('.form_slider_control').find('a.icon').css('paddingBottom','10px').css('paddingBottom','0');
			});
			return false;
		}).parent().prev('.start_open').next().find('a.icon').trigger('click')
		.end().end().end().next('.form_slider').find('ul.form_error').parent().prev().find('a.icon').trigger('click');
		
	});

	/* pre-process address sliders */
	$('.sliding_contact_list').each(function(){
		var alist = $(this);
		var brownClass = '';
		if(alist.hasClass('slider_brown')){brownClass='slider_header_alt';}
		alist.closest('.tx-ttaddress-pi1').prev('h2').attr('class','slider_header').attr('style','').addClass(brownClass).insertBefore(alist);
	});

	$('.slider_header').each(function(){ 		
		var slider_header = $(this);
		slider_header.addClass('parsingSlider').nextAll('.slider_content').not('.parsingSlider ~ .slider_content ~ .slider_header ~ .slider_content')
		.wrapAll('<div class="slider_body"></div>').filter('.contact_list').parent('.slider_body').addClass('slider_body_contact_list').end().end().end().end().removeClass('parsingSlider');
		
		if(slider_header.next().hasClass('slider_body')){
			slider_header.addClass('active_slider').filter('.slider_header_alt').addClass('active_slider_alt').end()
			.next('.slider_body').hide().end().click(function(){
				if(!slider_header.hasClass('animating')){
					slider_header.addClass('animating').toggleClass('active_slider_open').
					next('.slider_body').toggle('blind',{}, slideDuration, function(){slider_header.removeClass('animating');});
				}
			}).hover(function(){slider_header.addClass('hovered');}, function(){slider_header.removeClass('hovered');});
		}
	});
	

	/* Gallery - show/hide needed for setup */
	$('#main_content .image_gallery').removeClass('inactive_gallery').closest('.tab:hidden').show().addClass('re_hide').end().find('ul').jcarousel({
		visible: 8,
		scroll: 8,
		easing: 'easeOutQuint',
		animation: gallerySlideDuration
	}).find('li a:first').each(function(){
		hs.numberPosition = 'caption';
		hs.addSlideshow({
			slideshowGroup: $(this).closest('div.image_gallery').attr('id'),
			useControls: false,
			overlayOptions: {
				opacity: .6,
				position: 'top center',
				hideOnMouseOut: true,
				transitions: ['expand', 'crossfade']
			}
		});
	}).closest('.re_hide').hide();

	
	/* zebra RTE / Organigramm tables */
	$('.content_text table').add('table.contact_list').each(function(){$(this).find('tr').removeClass('even').filter('tr:odd').addClass('even');});

	/* zebra search results */
	$('#tx-solr-search .search_results .search_result').removeClass('even').filter(':odd').addClass('even');

	$('#searchForm #txtSearchterm').each(function(){
		var sBox = $(this);
		var sVal = $(this).val();
		sBox.data('initVal',sVal).bind('sformcheck',function(){
			if(sBox.val()==sBox.data('initVal')){sBox.val('');}
		}).focus(function(){sBox.trigger('sformcheck')});
		
		$('#searchForm').submit(function(){
			sBox.trigger('sformcheck');
			return true;
		});
	});
	
	$('#breadcrumb').prepend('<span><a href="#" class="back">Zurück</a></span>').find('span a.back').click(function(){
		history.back();
		return false;
	});
	
	
	
	/* JS-only footer links */
	$('#meta_footer .footer_col4 .footer_sub ul').find('li.recommend')
	.before(function(){
		var printWd = 'Drucken';
		if($('#wrapper_site').hasClass('english_page')){printWd = 'Print';}
		return '<li><a href="#" title="'+printWd+'" class="print">'+printWd+'</a></li>';
	})
	.next('.rss').after('<li><a href="#" title="Bookmark" class="bookmark">Bookmark</a></li>').end().end().find('a.print').click(function(){
		window.print();
		return false;
	}).end().find('a.bookmark').click(function(){
		var pageTitle = document.title;
		var pageUrl = document.location.href;
		if(window.opera){
			$(this).attr({'href':pageUrl,'title':pageTitle,'rel':'sidebar'});
			return true;
		}else if(window.external && document.all){// ie 
			window.external.AddFavorite(pageUrl, pageTitle);
		}else{
			var mess='Ihr Browser unterstützt diese Funktion nicht. Bitte fügen Sie diese Seite manuell ihren Bookmarks hinzu.';
			if($('#wrapper_site').hasClass('english_page')){var mess='Your browser does not support this feature. Please add this page to your Bookmarks manually.';}
			alert(mess);
		}
		return false;
	});


	/* datepicker */
	$('.calendar_wrapper input:text').datepicker({
		showOn: 'both', 
		buttonImageOnly: true, 
		buttonImage: '/fileadmin/sys/js/lib/css/images/calendar.gif',
		dateFormat: 'dd.mm.yy',
		dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
		dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
		dayNamesShort: ['Son','Mon','Die','Mit','Don','Fre','Sam'],
		gotoCurrent: true,
		monthNames: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'],
		monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'],
		nextText: 'Nächste',
		prevText: 'Vorherige',
		buttonText: 'Kalender'
	});
	
	
	$('.with_check_all').each(function(){
		$(this).find('label:first input:checkbox').click(function(){
		
			var chk = false;
			var flag = false;
			var allchk = $(this);
			var allcheckboxes = allchk.closest('.multi').find('label :checkbox').not(allchk);

			if(!flag){
				if($(this).attr('checked')){chk = true;}else{chk = false;}
				allcheckboxes.each(function(){
					if(chk){
						$(this).attr('checked','checked');
					}else{
						$(this).removeAttr('checked');
					}
					$(this).click(function(){
						if(!$(this).attr('checked')){
							flag=true;
							allchk.removeAttr('checked');
						}
					});
				});
			}else{
				flag=false;
			}
		}).trigger('click').attr('checked','checked');
	});


	$('.tx-indexedsearch-res').find('a[href$=.pdf]').attr('target','_blank');


	/* zebra linklist */
	$('.tx-ablinklist-pi1 .slider_body .slider_content').removeClass('even').filter(':odd').addClass('even');
	$('.tx-ablinklist-pi1 .active_slider:eq(0)').click();
});


/* Highslide config */
hs.Expander.prototype.onAfterExpand= function(sender){
	var imgNr = this.getAnchorIndex();
	var totalImgs = hs.anchors.all.length;
	var nextBtn = jQuery(this.content.parentNode).find('.highslide_next');
	var prevBtn = jQuery(this.content.parentNode).find('.highslide_prev');
	
	if(imgNr+1==totalImgs && imgNr==0){
		nextBtn.addClass('faded_control');prevBtn.addClass('faded_control');
	}else if(imgNr+1==totalImgs){
		nextBtn.addClass('faded_control');prevBtn.removeClass('faded_control');
	}else if(imgNr==0){
		nextBtn.removeClass('faded_control');prevBtn.addClass('faded_control');
	}else{
		nextBtn.removeClass('faded_control');prevBtn.removeClass('faded_control');	
	}

};


hs.Expander.prototype.onBeforeGetCaption = function (sender) {

	var atag = jQuery(sender.a);
	var cap = atag.next('p.caption'); 
	var capNews = atag.next('div.caption_wrap').find('p.caption');
	var txt = "";
	var makesafe = function(t){
		txt = t.replace(/\"/g,"&quot;");
	}	
	if(cap.length>0){
		makesafe(cap.text());
	}else if(capNews.length>0){
		makesafe(capNews.text());
	}
	sender.captionText = txt;
};

hs.graphicsDir = '/fileadmin/sys/js/lib/highslide/graphics/'
//hs.captionEval = 'this.a.title';
hs.autoplay = false;
hs.showCredits = false;
hs.align = 'center';
hs.allowMultipleInstances = false;
hs.dimmingOpacity = 0.4;
hs.align = 'center';
hs.transitions = ['expand', 'crossfade'];
hs.registerOverlay({
	html: '<div class="highslide_close" onclick="return hs.close(this)" title="Schließen">Schließen</div>',
	position: 'top right',
	fade: 2
});
hs.registerOverlay({
	html: '<div class="highslide_prev" onclick="return hs.previous(this)" title="Vorherige">Vorherige</div>',
	position: 'middle left',
	fade: 2,
	hideOnMouseOut: 1
});
hs.registerOverlay({
	html: '<div class="highslide_next" onclick="return hs.next(this)" title="Nächste">Nächste</div>',
	position: 'middle right',
	fade: 2,
	hideOnMouseOut: 1
});
//hs.expandDuration = 400;
hs.lang = {
	cssDirection: 'ltr',
	loadingText : 'Lade...',
	loadingTitle : 'Klick zum Abbrechen',
	focusTitle :   'Klick um nach vorn zu bringen',
	fullExpandTitle : 'Zur Originalgröße erweitern',
	fullExpandText :  'Vollbild',
	creditsText : '',
	creditsTitle : '',
	previousText : 'Voriges',
	previousTitle : 'Voriges (Pfeiltaste links)',
	nextText :  'Nächstes',
	nextTitle :  'Nächstes (Pfeiltaste rechts)',
	moveTitle :  'Verschieben',
	moveText :  'Verschieben',
	closeText :  'Schließen',
	closeTitle : 'Schließen (Esc)',
	resizeTitle : 'Größe wiederherstellen',
	playText :  'Abspielen',
	playTitle : 'Slideshow abspielen (Leertaste)',
	pauseText : 'Pause',
	pauseTitle : 'Pausiere Slideshow (Leertaste)',
	fullExpandText : '1:1',
	number: 'Bild %1 von %2',
	restoreTitle : 'Klick um das Bild zu schließen, klick und ziehe um zu verschieben. Benutze Pfeiltasten für vor und zurück.'
};



