/* 
   informedia javascript functions
   'Externe Funktionen' - 08.11.2011 11:30:56
*/

//Kompatibilität zu anderen Libs!
var $j = jQuery.noConflict();

$j(document).ready(function($){
	
	
	//JS-Zurückbutton
	$('#tp_footer > p').prepend('<a href="javascript:history.back();" class="button icon arrow_left"><span class="label">zurück<\/span><\/a> ');
	
	//Externe Links mit Target versehen
	$('a[rel="external"],a[href$=".pdf"]').each(function(){ $(this).attr('target','_blank'); });
	
	
	//Siteselector
	$('#siteselector:has(ul)').addClass('enabled');
	$('#siteselector:has(ul) p').click(function() {
		if ($('#siteselector').hasClass('dropdown')) {
			$('#siteselector').removeClass('dropdown');
		} else {
			$('#siteselector').addClass('dropdown');
		}
	});
	$('#siteselector:has(ul) p, #siteselector ul').mouseenter(function() {
		$('#siteselector').addClass('dropdown');
	});
	$('#siteselector:has(ul) p, #siteselector ul').mouseleave(function() {
		$('#siteselector').removeClass('dropdown');
	});
	
	//Z-Index Hauptmenü je Element definieren
	$($('#nav_content .navigation li').get().reverse()).each(function(i){
		var z=(i*10)+1000000000;
		$(this).find('a').css('z-index', z+1);
		$(this).find('ul').css('z-index', z);
	});
	
	//Werbungslinks
	$('.teaser').each(function(){
		var l = $.trim($('.ttext a:last', this).attr('href'));
		$(this).attr('title', $.trim($(this).children('.ttext').text().replace(/\[…mehr\]/i, "")) );
		if (l.length > 0) {
			$(this).css('cursor', 'pointer');
			$(this).click(function() { window.location.href=l; });
		}
	});
	
	//Flash nicht installiert
	if ($.flash.available == false) {
		if (is_mobile()) {
			$('.flash_only').remove();
		} else {
			$('.flash_content').replaceWith('<div class="flash_install">Sie benötigen für das Abspielen des Videos bzw. zum Anzeigen dieser Inhalte den Adobe® Flash Player. Sie haben den Adobe® Flash Player nicht installiert oder deaktiviert. Den aktuellen Adobe® Flash Player können Sie <a href="http://get.adobe.com/de/flashplayer/" target="_blank">hier<\/a> kostenlos von der Webseite des Herstellers herunterladen.<\/div>');
			$('.flash_only').css('visibility', 'visible');
		}
	} else {
		$('.flash_only').css('visibility', 'visible');
	}
	
	
	//Slideboxnachrüstung für "normale" Inhaltsboxen
	if ($('#col1_content div.box.content').hasClass('show-in-slide')) {
		$('#col1_content div.show-in-slide').first().before('<div class="box no-padding slide-box"><div class="slide-content"><\/div><div class="plakatwand"><div class="wall"><div class="wall_button left"><a href="#prev" class="button icon arrow_left wall_prev"><span><span class="hideme">vorheriger Block<\/span><\/span><\/a><\/div><div class="wall_scrollable"><div class="wall_items movieshows"><\/div><\/div><div class="wall_button right"><a href="#next" class="button icon arrow_right wall_next"><span><span class="hideme">nächster Block<\/span><\/span><\/a><\/div><\/div><\/div><\/div>');
		$('#col1_content div.show-in-slide').has('.subcolumns .image img').appendTo($('#col1_content .slide-box .slide-content')).removeClass('show-in-slide').addClass('inner');
		var ima = $('#col1_content div.slide-content .inner').length; //Gesamtanzahl der Elemente
		var imb = 0; //Block-Zähler
		var imc = 0; //Element-Zähler = ID
		var mxh = 0; //maximale Höhe der verwendeten Boxen
		$('#col1_content .slide-box div.slide-content .inner').each(function(){
			imc++;
			if (imc % 4 == 1) {
				imb++;
				$('#col1_content .slide-box .wall_scrollable .wall_items').append('<div class="wall_itemblock image itemblock_'+imb+'"><\/div>');
			}
			var id_name = imb+'_'+imc;
			$(this).addClass('wallcontent_'+id_name);
			$('#col1_content .slide-box .wall_scrollable .wall_items .itemblock_'+imb).append('<a href="#select" class="no_decoration wallselector_'+id_name+'"><img \/><\/a>');
			var img = $(this).find('.subcolumns .image img');
			var w = 136;
			var h = 88;
			$('.wallselector_'+id_name+' img')
				.attr('src', img.attr('src'))
				.attr('width', w)
				.attr('height', h); //img.attr('height')/img.attr('width')*w);
			$('.wallselector_'+id_name).click(function() {
				$('#col1_content .slide-box div.slide-content .inner:visible').hide();
				$('#col1_content .slide-box div.slide-content .inner.wallcontent_'+id_name).show();
			});
			if (mxh < $(this).outerHeight()) mxh = $(this).outerHeight();
		});
		if (mxh > 470) mxh = 470;
		$('#col1_content .slide-box div.slide-content .inner').hide().first().show();
		$('#col1_content div.slide-content').height(mxh);
	}
	
	/* Homepage Plakatwand */
	$(".wall_scrollable").scrollable({
		items: '.wall_items',
		next: '.wall_next',
		prev: '.wall_prev'
	});
	$(".pw_tabs_container").tabs(".pw_view > div", {
		current: 'pw_tab_active',
		rotate: true
	}).slideshow({
		autoplay: true,
		interval: 10000,
		clickable: false
	});
	for (i=1;i<=3;i++) {
		var apiP = $("#pwv_content_"+i+" .wall_scrollable").data("scrollable");
		if (apiP != null) {
			if (apiP.getSize() <= 1) {
				var arrButtons = apiP.getNaviButtons();
				$(arrButtons).each(function(){ $(this).remove(); });
			}
		}
	}
	
	/* Homepage Spezial */
	$(".spezial ul.tabs").tabs("div.panes > div.pane", {
		current: 'orange',
		effect: 'fade',
		fadeInSpeed: 600,
		fadeOutSpeed: 600,
		rotate: true
	}).slideshow({
		autoplay: false,
		interval: 8000,
		clickable: false
	});
	var apiHT = $(".spezial ul.tabs").data("tabs");
	if ((apiHT != null) && (apiHT.getTabs().size() <= 1)) $(".spezial ul.tabs").addClass('hideme');
	var apiHD = $(".spezial ul.tabs").data("slideshow");
	$('.spezial ul.tabs .button').click(function() {
		if (apiHD != null) apiHD.stop();
	});
	setTimeout(function(){
		if (apiHD != null) apiHD.play();
	}, 7000);
	/* Anpassung "zu großer" Vorstellungslisten (breite Tabellen) */
	var iMaxCols = 6;
	$('.spezial .pane .text.movieshows table tbody').each(function(){
		do {
			$(this).find('tr').eq(-2).find('th').slice(iMaxCols).appendTo(this).wrapAll('<tr />');
			$(this).find('tr').eq(-2).find('td').slice(iMaxCols).appendTo(this).wrapAll('<tr />');
		}
		while($(this).find('tr:last td').size() > iMaxCols)
	});
	
	/* Kategorieauswahl (Emotional, Spezial) */
	$(".cs_slide_container").scrollable({
		items: '.cs_tabs',
		next: '.cs_tabs_container .cs_next',
		prev: '.cs_tabs_container .cs_prev',
		vertical: true
	});
	$(".cs_slide_container").tabs(".cs_view > div", {
		current: 'cs_tab_active',
		effect: 'fade',
		fadeInSpeed: 600,
		fadeOutSpeed: 600,
		rotate: true
	}).slideshow({
		autoplay: false,
		interval: 8000,
		clickable: false,
		next: '.tabswitcher .cs_next',
		prev: '.tabswitcher .cs_prev'
	});
	var apiT = $(".cs_slide_container").data("tabs");
	var apiS = $(".cs_slide_container").data("scrollable");
	var apiD = $(".cs_slide_container").data("slideshow");
	if ((apiT != null) && (apiS != null)) {
		if (apiT.getTabs().size() <= 6) $(".cs_tabs_container .cs_next, .cs_tabs_container .cs_prev").addClass('hideme');
		if (apiT.getTabs().size() <= 1) $(".tabswitcher .cs_next, .tabswitcher .cs_prev").addClass('hideme');
		apiT.onBeforeClick(function(e, index) { apiS.seekTo(Math.floor(index/6)); });
		$('.tabswitcher .cs_next').click(function() {
			apiT.next();
			if (apiD != null) apiD.stop();
		});
		$('.tabswitcher .cs_prev').click(function() {
			apiT.prev();
			if (apiD != null) apiD.stop();
		});
	}
	$('.cs_slide_container .cs_tabs a.cs_tab_element').unbind();
	setTimeout(function(){
		if (apiD != null) apiD.play();
	}, 7000);
	
	
	//Höhe der Boxen außen und innen korrigieren
	$('.equalboxes').each(function(){
		var h1 = $(this).find('.halfsize:first').height();
		var h2 = $(this).find('.halfsize:last').height();
		if (h1>0 && h2>0 && h1!=h2) {
			if (h1>h2) $(this).find('.halfsize:last').height(h1);
			if (h2>h1) $(this).find('.halfsize:first').height(h2);
		}
	});
	$('.equalboxes .halfsize .imgtxt').each(function(){
		var h1 = $(this).find('.image').height();
		var h2 = $(this).find('.text').height();
		var h3 = $(this).find('.image img').height();
		if (h1>0 && h2>0 && h3>0 && h2>h1) $(this).find('.image').css('top', Math.floor((h2-h3)/2)+'px');
	});
	
	//Tooltips
	$('.movieshows table td a, .movieshows table td span.out').tooltip({
		position: "top right",
		// a little tweaking of the position
		offset: [14, 3],
		effect: "fade",
		
		onBeforeShow: function() {
			var tip = this.getTip();
			if (!tip.hasClass('ttok')) {
				tip.addClass('ttok');
				tip.html(
					tip.html()
						.replace(/»/, "<h5>")
						.replace(/« -/, "</h5>")
						.replace(/\"([^\"]+)\"/, "<em>$1</em>")
				);
			}
		}
	});
	
	
	//Ticket-Anpassung
	$('.ticket .ftb2012').addClass('button orange');
	$('.ticket table.tickettable td.text a[href="/ticketweb.php?sign=24"]').addClass('button orange').html('Kinokarten umbuchen');
	//$('.ticket input:image').hide();
	$('.ticket input.ftb2012[name$="kauf.gif"]').val('Kreditkarten-Kauf');
	$('.ticket input.ftb2012[name$="reservierung.gif"]').val('Reservierung');
	$('.ticket input.ftb2012[name="anmelden"]').val('Anmelden');
	$('.ticket input.ftb2012[name="registrieren"]').val('Registrieren');
	$('.ticket input.ftb2012[name="weiter"]').val('Weiter');
	$('.ticket input.ftb2012[name="zusenden"]').val('Zugangsdaten zusenden');
	$('.ticket input:image[class!="ftb2008"][src$="anmelden.gif"]').hide().after('<input type="submit" value="Anmelden" class="ftb2012 button orange" />');
	$('.ticket input:image[class!="ftb2008"][src$="plaetze.gif"]').hide().after('<input type="submit" value="Plätze anfordern" class="ftb2012 button orange" />');
	$('.ticket input:image[class!="ftb2008"][src$="speichern.gif"]').hide().after('<input type="submit" value="Änderungen speichern" class="ftb2012 button orange" />');
	$('.ticket input:image[class!="ftb2008"][name="btnreservierung"]').hide();
	$('.ticket form[id!="frmreservierung"]:has(.button)').addClass('yform box');
});


/* other functions */
function popup(newin,x,y,breite,hoehe) {
	einstellungen = "menubar=yes,status=no,resizable=no,scrollbars=yes,width="+breite+",height="+hoehe+",top="+y+",left="+x;
	flyout=window.open(newin,"flyout",einstellungen);
    flyout.window.focus();
}

function is_mobile() {
    if (navigator.userAgent.match(/(android|webos|iphone|ipod|ipad|blackberry)/i)) {
		return true;
	}
	return false;
}


