// Using AJAX on tps-chemnitz.de by Wagner, Michael 2009-4-11
var tim = null;
// PageLoad Funktion für Zurück Buton und Direktlinks
// Wird aufgerufen wenn:
// 1. $.historyInit() aufgerufen wird;
// 2. $.historyLoad() aufgerufen wird;
// 3. der Zurückbutten im Browser gedrückt wurde
function pageload(hash) {
	// hash beinhaltet nicht den ersten Char #.
	if(hash) {
		// aktuelle URL wird geladen
		loadcontent(hash);
	} else {
		// Startseite wird angezeigt
		loadcontent("page=home");
	}
}


// Wenn die Seite bereit ist manipuliert zu werden, code ausführen
$(document).ready(function(){
	// Popmenü für untermenüs in der Navigation für IE
	$("ul.navi li,ul.navi li").hover(
		function() {
			$(this).addClass("iehover");
		}
	,
		function() {
			$(this).removeClass("iehover");
		}
	);

	//Höhe des InhaltsContainers anpassen
	setcontentheight();

	// Starte Timescript
	goforit();

	// History initiieren
	$.historyInit(pageload);

	//PartnerLogos auf der Hauptseite für den InternetExplorer austauschen (Wegen Alphakanal)
	if($.browser.msie && parseFloat($.browser.version.substr(0,3))<"7"){
		jQuery.each($("#plogos img"), function(i,img) {
			var imgsrc = img.src
			img.src = imgsrc.substr(0,imgsrc.length-4) + "_ie" + imgsrc.substr(imgsrc.length-4,4);
		});

	}

	//kleine slider-kästchen herstellen
	kurs_anz = $('.class_kurs').length;
	for(i=1; i <= kurs_anz; i++){
		new_li = document.createElement('li');
		$(new_li).addClass('kurs_li');
        $(new_li).html("&nbsp;<span id='tt" + i + "' class='tt'>" + $('#kurs'+i).find('h3').text() + "</span>");
		$(new_li).attr('id', 'li'+i);
		$("#kurse_li").append(new_li);
	}
	
	//hinten noch mal die 1
	new_div = document.createElement('div');
	$(new_div).html($('#kurs1').html());
	$(new_div).addClass('class_kurs');
	$('div#kurs_slider').append(new_div);
	
	ajaxLink();

    $('div#kurs_slider').css('width',(kurs_anz+1) * 690 + 'px');
//    $('div#kurs_slider').css('width', '2140px');
	//slider starten
    tim = setTimeout("slideNext()" , 6000);
});

// Wechsel der Kurse-Vorschau
function slideNext(){
	var nr=0;
	var anz = $('.class_kurs').length;
	var schub  = 690; //parseInt($("div#kurs1").css('width'));
	var breite = parseInt($("div#kurs_slider").css('width'));
	var xpos = parseInt($("div#kurs_slider").css('left'));
	//tooltip entfernen
	$('.kurs_weiter').html("&nbsp;");
	
	nr   = -((xpos / schub)-1);
	$('#li'+nr).css("background-image", "url('styles/li.png')");
    nr++;
	//alert("xpos: " + xpos + " breite: " + breite + " schub: " + schub);
    $("div#kurs_slider").animate({'left': '-=' + schub + 'px'}, 3000, function(){
		   xpos = parseInt($("div#kurs_slider").css('left'));
		   breite = parseInt($("div#kurs_slider").css('width'));
		   schub  = 690;
		   if((xpos - schub) <= -breite){
		      $("div#kurs_slider").css('left', '0px');
			  $('#li1').css("background-image", "url('styles/li_r.png')");
		   }
		   tim = setTimeout("slideNext()" , 6000);	
    });
	nr = (--nr % (breite-1)) + 1;
   $('#li'+nr).css("background-image", "url('styles/li_r.png')");
}

// Wechsel der Kurse-Vorschau
function slideTo(nr){
	var schub  = 690; parseInt($("div#kurs1").css('width'));
	var xpos = parseInt($("div#kurs_slider").css('left'));
	$("div#kurs_slider").stop();
	kurs_anz = $('.class_kurs').length;
	for(i=1;i <= kurs_anz; i++)
		$('#li'+i).css("background-image", "url('styles/li.png')");

	$('#li'+nr).css("background-image", "url('styles/li_r.png')");
	xpos = -(nr-1)*schub;
	//alert("xpos: " + xpos + " breite: " + breite + " schub: " + schub);
	clearTimeout(tim);
		//ein tooltip für play
	$('.kurs_weiter').html("&nbsp;<span class='tt'>Weiter</span>");

	$("div#kurs_slider").animate({'left': xpos + 'px'}, 3000, function(){ });
}

// Wenn Fenster in der Größe verändert wird, code ausführen
$(window).resize(function(){
	//Höhe des InhaltsContainers anpassen
	setcontentheight()
});
// Wenn Fenster gescrollt wird, code ausführen
$(window).scroll(function () {
	//Höhe des InhaltsContainers anpassen
	setcontentheight()
});

 function ajaxLink() {

	/*   ---   Ale Links mit AJAX öffnen   ---   */
	//Vorherige Binds entfernen
	$("a").unbind("click");
	// Klicks auf einen Link abfangen
	$("a").click(function(){
		var nURL = $(this).attr('href');
		//um rücksprung aus jobcenter zu ermöglichen
		var name = $(this).attr('name');
		if(name == "home") return true;
		if(nURL.indexOf("?")!=0){
		  var aURL = nURL.split("?");
		  nURL = "?" + aURL[1];
		}
		//alert(nURL);
		//Wenn mailto, Link zuslassen
		if ( this.href.substr(0,7)=="mailto:") {
			return true;
		//Links mit Ankern sind zurzeit nicht möglich.
		} else if ( nURL.substr(0,1) == '#') {
			return false;
		//Wenn Javascript im Link, zulassen!
		} else if ( nURL.substr(0,10) == 'javascript') {
			return true;
		} else if (isLinkIntern(this.href)) {
			if (nURL == "") { nURL = "?page=default" }

			// Fragezeichen abtrennen
			nURL = nURL.substring(1,nURL.length);

			//History eintrag hinzufügen
			$.historyLoad(nURL);

			//loadcontent(nURL);

			// Verhindern, das der angeklickte Link geöffnet wird
			return false;
		} else {
			//Wenn Link auf eine Externe Seite verweist, Browseraktion zulassen und in einem neuen Fenster/Tab öffnen
			this.target = "_blank";
			return true;
		}
	});

	$("#lageplan").unbind("click");
	//Lageplan Zoomen
	$("#lageplan").click().toggle(
		function(){
			$("#lp1").fadeOut(400,function(){
				//$("#lageplan").css("background-image", "url('images/lagepland.png')");
				//$("#lageplan").attr("class", "lagepland");
				$("#lp2").fadeIn(500);
			});
		}
	,
		function(){
			$("#lp2").fadeOut(400,function(){
				//$("#lageplan").css("background-image", "url('images/lageplan.png')");
				//$("#lageplan").attr("class", "lageplan");
				$("#lp1").fadeIn(500);
			});
		}
	);

	$("#pertnerh").unbind("click");
	//Ein und Ausblenden der Partnerlogos
	$("#pertnerh").click().toggle(
		function(){
			$(this).attr("title", "");
			$("#partner").css("height", "10px");
			$("#plogos").hide();
			$(this).html("Partner einblenden");
			setcontentheight();
		}
	,
		function(){
			$(this).attr("title", "Partner Ausblenden");
			$(this).html("X");
			$("#plogos").show()
			$("#partner").css("height", "65px");
			setcontentheight();
		}
	);

	/*   ---   Kontaktformular mit AJAX absenden   ---   */
	//Vorherige Binds entfernen
	$("input.kontaktformularsubmit").unbind("click");
	$("input.kontaktformularsubmit").click(function(){
		var foobart = $("#kontaktform").serialize();
		$("#tpstempdiv").html($("div#caption").html());
		//Caption ausblenden
		$("div#caption").fadeOut(100,function(){
			//Ladeinformation ausgeben
			$("div#caption").html("Übertrage Daten ... ");
			//Ladeinformation einblenden
			$("div#caption").fadeIn(200);
			//Daten an server Übergeben
			//$.post("content/kontakt.php", foobart, function(data){
			$.post("index.php?page=kontakt&ajax=inhalt", foobart, function(data){
				//aktuellen Inhalt leicht ausblenden
				$("div#inhalt").fadeTo(200,0.25,function() {
					//Antwort in div schreiben
					$("div#inhalt").html(data);
					//Inhalt einblenden
					$("div#inhalt").fadeTo(500,1);
					//Neu Initialisieren, damit auch Links im neu geladenem Inhalt Funktionieren.
					ajaxLink();
					//Caption turückschreiben
					$("div#caption").fadeOut(200,function(){
						//Caption in div schreiben
						$("div#caption").html($("#tpstempdiv").html());
						//Caption einblenden
						$("div#caption").fadeIn(400);
					});
				});
			 });
		});
		  return false;
	});

	/*   ---   Vor dem Zurücksetzen des Kontaktformulars nachfragen   ---   */
	//Vorherige Binds entfernen
	$("input.kontaktformularreset").unbind("click");
	$("input.kontaktformularreset").click(function(){
		if (confirm("Alle bisher gemachten Angaben und Änderungen werden nun Unwiderruflich gelöscht.")) {
			return true;
		} else {
			return false;
		}
	});

	/*   ---   Zeile unter der Maus mit jquery farbig darstellen   ---   */
	//Vorherige Binds entfernen
	$("table.modul").find("tr").unbind("mouseenter mouseleave");
	$("table.modul").find("tr").hover(
		function(){
			//$(this).fadeOut(100);
			$(this).css( "backgroundColor","#a3c9f0" );  //c1dcf6, d3e9ff

		}
	,
		function(){
			//$(this).fadeIn(500);
			$(this).css( "backgroundColor","transparent" );
		}
	);
	/*   ---   racingteam fotos überrollen   ---   */
	//Vorherige Binds entfernen
	$("#is").find("#ii").unbind("mouseenter mouseleave");
	$("#is").find("#ii").hover(
		function(){
			$(this).css( "backgroundColor","#a3c9f0" );  //c1dcf6, d3e9ff
			tmp = $(this).html();
			//alert(tmp);
			tmp = tmp.replace(/=/g, "&");
			tmp = tmp.replace(/"/g, "");
			//eventuell server ausschneiden
			tmp = tmp.substr(tmp.indexOf("images"));
			//alert(tmp);
			teile = tmp.split("&");
			//alert(teile[0] + "\n" + teile[1]+ "\n" + teile[2] + "\n" + teile[3] + "\n" + teile[4]);
			apath = teile[0].split("/");
			path = (apath.length > 3)?apath[0] + "/" + apath[1]+ "/" + apath[2]+ "/":apath[0] + "/" + apath[1]+ "/";
			//alert(apath[0] + "/" + apath[1]+ "/" + apath[2]+ "/");
            tmp = $("#ig").html();
            if(tmp.indexOf(teile[3]) < 0){
				$("#ig").fadeOut(300, function(){
					$("#ig").html("<img src='" + path + teile[3] + "'>");
					$("#ig").fadeIn(300);
					//Neu Initialisieren, damit auch Links im neu geladenem Inhalt Funktionieren.
					ajaxLink();
			    });
			}
		}
	,
		function(){
			//$(this).fadeIn(500);
			$(this).css( "backgroundColor","transparent" );
			//$("#ig").fadeIn(300);
		}
	);
    /*   ---  sliderlinks ---  */
	//Vorherige Binds entfernen
	$(".kurs_li").unbind("click");
	$(".kurs_li").click(function (){
		var x = this.id.substr(2,2);
		//alert($('#kurs'+x).find('h3').html());	
		slideTo(x);
	});
	/*   ---   sliderlinks überrollen   ---   */
	//Vorherige Binds entfernen
	$(".kurs_li").unbind("mouseenter mouseleave");
	$(".kurs_li").hover(
	   function(){
		   var x = this.id.substr(2,2);
		   //alert($('#kurs'+x).find('h3').html());	
	   },
	   function(){
			
	   }
	);

	
};

function isLinkIntern(slink) {
	if (slink.match(".pdf")) {
		return false;
	} else if (!slink.match("tps-chemnitz.de") && !slink.match("localhost/web/tps-chemnit") && !slink.match("10.3.202.179") && (slink.match("http://") || slink.match("https://"))) {
		return false;
	}
	return true;
};

function loadcontent(nURL) {

	//Caption ausblenden
	$("div#caption").fadeOut(100,function(){
		//Ladeinformation ausgeben
		$("div#caption").html("Seite wird geladen ... ");
		//Ladeinformation einblenden
		$("div#caption").fadeIn(200);
		// aktuellen Inhalt ausblenden
		$("div#inhalt").fadeOut(200,function() {
			// neuen Inhalt auslesen
			$.get("index.php",nURL+"&ajax=inhalt",function(inhalt){
				// Inhalt in div schreiben
				$("div#inhalt").html(inhalt);
				// Inhalt einblenden
				$("div#inhalt").fadeIn(500);
				//Neu Initialisieren, damit auch Links im neu geladenem Inhalt Funktionieren.
				ajaxLink();
				// neue Caption auslesen
				$.get("index.php",nURL+"&ajax=caption",function(caption){
					//Caption ausblenden
					$("div#caption").fadeOut(200,function(){
						// Caption in div schreiben
						$("div#caption").html(caption);
						// Caption einblenden
						$("div#caption").fadeIn(400);
					});
				});
			});
		});
	});
};
// Die Höhe der scrollbox mit dem enthaltenem Inhalt dynamisch anpassen
function setcontentheight() {
	//Abstand des Contents nach oben in Pixeln
	var ctop = 378;
	//Partner in der Höhe mit berechnen (Höhe des DIVs + Padding (8px)
	var pheight = $("#partner").height(); //$("#partner").height();
	if ($("#partner").css("display")!="none") { ctop = ctop + pheight + 8}
	//Höhe des Browserfensters auslesen.
	var wh = $(window).height();
	//Scrollposition des Hauptfensters auslesen
	var st = getscrollpos();
	//Neue höhe des containers berechnen.
	//ergibt sich aus der Höhe des Browserfensters
	//Plus die Scrollposition des Browserfensters bei geringeren Auflösungen oder kleinem Browserfenster
	//Minus die höhe des Banners, caption, etc..
	var nh = wh + st - ctop;
	//Mindesthöhe des Inhaltfensters
	if ( nh < 200 ) { nh = 200; }
	//Neue Höhe in Pixeln setzen
//	$("#scrollbox").animate({height: nh+'px'}, 500);
	$("#scrollbox").css( "height", nh+"px" );
//	$("#scrollbox").animate({height:nh+"px"},{duration:500,queue:false});
}

//Funktion um die Scrollposition des Hauptfenster auszulesen
function getscrollpos()
{
	var scrollPos;
	if (typeof window.pageYOffset != 'undefined') {
	   scrollPos = window.pageYOffset;
	}
	else if (typeof document.compatMode != 'undefined' &&
		 document.compatMode != 'BackCompat') {
	   scrollPos = document.documentElement.scrollTop;
	}
	else if (typeof document.body != 'undefined') {
	   scrollPos = document.body.scrollTop;
	}
    return scrollPos;
}

