/* -----------------------------------------------------------------------
|| JavaScripts burkert webdesign
|| Version: 0.8, 13-FEB-2010
||
|| 0.8     Neues Design der Startseite
||         iPhone-Version vorerst deaktiviert
|| 0.7     Bilderwechsel mit Animation
||         Benoetigt wird jQuery-Background-Animation Plug-in
||         Anzahl Bilder aus class-Attribut gelesen
||         Links werden dynamisch erzeugt
|| 0.6     Lightbox-Script integriert
|| 0.5     iPhone-Anpassungen: Moeglichkeit zur Layout-Umschaltung,
||         Inhalt der Startseite auswaehlen, Menu beim Laden erweitert,
||         Orientierung bereits beim Laden korrekt gesetzt
|| 0.4     iPhone-CSS laden und Orientierungsaenderung beruecksichtigen
|| 0.3     iPhone-spezifischer Code
|| 0.2     Hinweis fuer Internet Explorer 6
|| 0.1     Steuerung der Mouseover-Events der Spalten
|| -----------------------------------------------------------------------
*/


/* -----------------------------------------------------------------------
|| Klasse setzen je nach Orientierung des iPhone
|| -----------------------------------------------------------------------
*/
function set_orientation_class() {
	if (window.orientation == 0) {
		$('body').removeClass('landscape').addClass('portrait');
	} else if (Math.abs(window.orientation) == 90) {
		$('body').removeClass('portrait').addClass('landscape');
	}
}


/* -----------------------------------------------------------------------
|| Dateiname bestimmen
|| -----------------------------------------------------------------------
*/
function get_filename() {
	var fname = document.URL.match(/\/([a-z0-9_-]+\.[&\w\?]+)$/i);
	return (fname == null) ? 'index.html' : fname[1];
}


/* -----------------------------------------------------------------------
|| Weitere Initialisierungen
|| -----------------------------------------------------------------------
*/
function dom_init(page) {


	/* -----------------------------------------------------------------------
	|| Lightbox Initialisierung
	|| -----------------------------------------------------------------------
	*/
	// $('a.lightbox').lightBox();
	SexyLightbox.initialize({imagesdir: '../js/slb/imgs/', find: 'lightbox'});


	/* -----------------------------------------------------------------------
	|| Falls iPhone: spezielles CSS und andere Einstellungen
	|| -----------------------------------------------------------------------
	*/
	
	var isiphone = false;

	/* Im Moment nicht unterstützt ...
	
	if ((navigator.userAgent.indexOf('iPhone') != -1) 
			|| (navigator.userAgent.indexOf('iPod') != -1)) {
		isiphone = true;

		if (document.URL.indexOf('layout=std') == -1) {
		
			// Spezielle iPhone-Darstellung
			var fname = get_filename();
			if (fname.indexOf('index.html')!=-1) {
				if ((document.URL.indexOf('col=')==-1) || (document.URL.indexOf('col=1')!=-1)) {
					$('#col2,#col3').hide();
				} else if (document.URL.indexOf('col=2')!=-1) {
					$('#col1,#col3').hide();
				} else if (document.URL.indexOf('col=3')!=-1) {
					$('#col1,#col2').hide();
				}
			}
			
			// Button fuer Menu einfuegen
			$('#navi')
				.after('<div id="menu"><img alt="menu" src="../css/img/iphone/menu.jpg" /></div>')
				.after('<div id="menuov"><img alt="menu" src="../css/img/iphone/menu_ov.jpg" /></div>');
			$('#menuov').hide();
			
			// Hauptnavigation anpassen
			var menuext = '<li><a href="index.html?col=1">aktuelles</a></li>'
						+ '<li><a href="index.html?col=2">spezielles</a></li>'
						+ '<li><a href="index.html?col=3">kommentare</a></li>';
			$('#navi').prepend(menuext);
			
			// Link zu Standardlayout einfuegen
			$('#navi').append('<li><a href="'+fname+'?layout=std">standardlayout</a></li>');
			
			// Linkpfeile einfuegen
			$('#navi a').append('<span>&gt;</span>');
			
			// Anpassung bei Orientierungsaenderung
			set_orientation_class();
			window.onorientationchange = function() {
				$('#header,.logo,#menu').hide();
				set_orientation_class();
				$('#header,.logo,#menu').show();
			};
			
			// Hoehe des Navigationsmenues; etwas umstaendlich, aber so
			// klappt's mit der Animation
			$('#navi').hide();
			var naviheight = $('#navi').height();
			var naviminhight = (window.orientation == 0) ? 550 : 220;
			if (naviheight < naviminhight) $('#navi').height(naviminhight);
			
			// Menu ein-/ausblenden
			$('#menu,#menuov').click(function() {
				$('#navi').slideToggle('normal');
				$('#menu,#menuov').toggle();
			});
			
			// Toolbar ausblenden
			window.scrollTo(0, 1);
			
		} else {
		
			// Darstellung mit Standard-Layout
			
			// Links entsprechend ergaenzen
			// !! Achtung, wenn weitere GET-Parameter verwendet werden !!
			$("a:not(a[href^='http'])").attr("href", function() {
				return this.href + '?layout=std';
				}); 
		}
	}
	
	*/


	/* -----------------------------------------------------------------------
	|| Mouseover-Events der Spalten
	|| -----------------------------------------------------------------------
	*/
	if (!isiphone && (page=='start')) {
	
		// Zunaechst durchsichtig
	    $('div.col').css('opacity',0.6).removeClass('activecol');
	    
	    // Noch keine Spalte ausgewaehlt
	    var active = false;
	    
	    // Events anhaengen
	    $('div.col')
	
			// mouseenter: weniger durchsichtig, falls nicht aktiv
	        .mouseenter(function(){
	            if (!($(this).hasClass('activecol'))) {
	                $(this).fadeTo("fast", 0.8);
	            }
	        })
	
			// mouseleave: durchsichtig, falls nicht aktiv
	        .mouseleave(function(){
	            if (!($(this).hasClass('activecol'))) {
	        	    $(this).fadeTo("fast", 0.6);
	            }
	        })
	
			// click: Spalte auswaehlen
	        .click(function(){
	        	// falls Spalte bereits aktiv: nichts machen
	        	if (!($(this).hasClass('activecol'))) {
	        		// falls andere Spalte aktiv: erst alle durchsichtig machen
	            	if (active) {
	            		$('.col').css('opacity',0.6).removeClass('activecol');
	            	}
	            	// aktuelle Spalte undurchsichtig
	        	    $(this).fadeTo("fast", 1).addClass('activecol');
	        	    active = true;
	        	}
	        });
	}


	/* -----------------------------------------------------------------------
	|| Ausklappen der News auf der Startseite
	|| -----------------------------------------------------------------------
	*/
	if (!isiphone && (page=='start')) {
	    var maxlines = 6;
	    var lineheight = 15; // line height in 'px'
	    // var maxheight = (maxlines * lineheight);
	    var maxheight = (maxlines * lineheight - 1);
	    var allowedExtraLines = 0;
	    var showText = "...mehr";
	    var hideText = "↑ verkleinern";
	
	    $('.homeitemtext').each(function () {
	        var text = $(this);
	        if (text.height() > maxheight + allowedExtraLines * lineheight) {
	            text.css({ 'overflow': 'hidden', 'line-height': lineheight + 'px', 'height': maxheight + 'px' });
	
	            var link = $('<a href="#">' + showText + '</a>');
	            link.click(function (event) {
	                event.preventDefault();
	
	                if (text.css('height') == 'auto') {
	                    $(this).html(showText);
	                    text.css('height', maxheight + 'px');
	                } else {
	                    //$(this).remove();
	                    $(this).html(hideText);
	                    text.css('height', 'auto');
	                }
	            });
	
	            var linkDiv = $('<div></div>');
	            linkDiv.append(link);
	
	            $(this).after(linkDiv);
	        }
	    });
	}


	/* -----------------------------------------------------------------------
	|| Bilderwechsel auf Bilderseiten
	|| -----------------------------------------------------------------------
	*/
	if (!isiphone && (page=='imgpage')) {
		
		// Vordergrundbild ausblenden
		$('#col2 img').hide();
		
		// Hintergrundbild einblenden
		var imgpath = $('#col2 img').attr('src');
		$('#col2').css('background-image', 'url(' + imgpath + ')');
		
		// Anzahl Bilder auslesen
		var imgcount = parseInt($('#col2 img').attr('class').substr(3));
		
		// Links und Events einbinden
		for (i=0; i<imgcount; i++) {
			if (i == 0) {
				$('#col1 ul.footer').append('<li class="active"><a href="#">'+(i+1)+'</a></li>');
			} else {
				$('#col1 ul.footer').append('<li><a href="#">'+(i+1)+'</a></li>');			
			}
			$('ul.footer li:nth-child('+(i+1)+') a').click(function() {
				var m=i;
				return function() {
					$('#col2').animate({'backgroundPosition': '0 ' + (-360*m) + 'px'}, { duration: 700 } );
					$('#col1 ul.footer li').removeClass('active');
					$('#col1 ul.footer li:nth-child('+(m+1)+')').addClass('active');
					return false;
			}}());
		}
	}
	

	/* -----------------------------------------------------------------------
	|| Hinweis fuer Internet Explorer 6
	|| -----------------------------------------------------------------------
	*/
	if ($("body").hasClass("ie6") && (page=='start')) {
		var msg = '<div class="homeitem">';
		msg += '<p class="monthyear">hinweis</p>';
		msg += "<h3>Sie benutzen den Internet Explorer&nbsp;6</h3>";
		msg += "<p>Dieser Browser unterstützt nur einen kleinen Teil der ";
		msg += "Möglichkeiten moderner Browser. Aus diesem Grund werden ";
		msg += "diese Seiten in Ihrem Browser in etwas eingeschränkter Form ";
		msg += "dargestellt.</p></div>";
		$("#col1 h2:first").after(msg);
	}
	
	
}

