// JavaScript Document

$(document).ready(function() {
						   
// Preload Images

var myimages=new Array()
function preloadimages(){
	for (i=0;i<preloadimages.arguments.length;i++){
		myimages[i]=new Image()
		myimages[i].src=preloadimages.arguments[i]
	}
}
preloadimages(
			"tl_files/Layout/bt_search_over.gif",
			"tl_files/Layout/bg_button_right_over.gif",
			"tl_files/Layout/bg_button_left_over.gif",
			"tl_files/Layout/abdecker_angebote_hover.png",
			"tl_files/Layout/abdecker_angebote_big_hover.png",
			"tl_files/Layout/external-link-icon_over.png",
			"tl_files/Layout/pdf_over.gif",
			"tl_files/Layout/info_over.gif",
			"tl_files/Layout/close_over.gif"
)

if( $("a.extern").size() ){
	$("a.extern").attr("title","Öffnet die externe Seite in einem neuen Fenster");
}

/////////////////////////////////// Variable horizontale Main-Navigation /////////////////////////////////////////////

var main_anzahl_li = $("#header .mod_navigation li").length; // Anzahl li der Navigation
var main_containerbreite = 971; // Breite des Navigationscontainers
$("#header .mod_navigation li a, #header .mod_navigation li span").css('padding', '6px 0 0 0'); // Bestehendes Padding wird auf 0 gesetzt

$("#header .mod_navigation li a, #header .mod_navigation li span").each(function(){
	var main_paddingberechnung = (main_containerbreite-$("#header .mod_navigation ul").innerWidth())/(main_anzahl_li)/2; // Padding des li berechnen
	//alert(main_paddingberechnung);
	var main_tabpadding = Math.round(main_paddingberechnung); // auf Ganzzahl runden
	if(main_anzahl_li != 1) {
		$(this).css('padding', '6px '+main_tabpadding+'px 0px '+main_tabpadding+'px'); // Padding des li einstellen
	} else {
		var main_restpadding = main_containerbreite-$("#header .mod_navigation ul").innerWidth()-main_tabpadding; // vor dem setzen des Padding des letzten li Rest berechnen
		$(this).css('padding', '6px '+main_restpadding+'px 0px '+main_tabpadding+'px'); // Padding des letzten li einstellen
	}
	main_anzahl_li --;
});
$("#header .mod_navigation").css('visibility', 'visible');

/////////////////////////////////// Variable horizontale Footer Navigation /////////////////////////////////////////////

$("#footer .mod_navigation a[title=Bestellformular-Bahnangebote]").html("Bestellformular-<br />Bahnangebote");

var footer_anzahl_li = $("#footer .mod_navigation>ul>li").length; // Anzahl li der Navigation
var footer_containerbreite = 971; // Breite des Navigationscontainers

$("#footer .mod_navigation li a, #footer .mod_navigation li span").css('padding-right', '0'); // Bestehendes Padding wird auf 0 gesetzt
$("#footer .mod_navigation>ul>li").css('height', $("#footer .mod_navigation>ul").innerHeight());

$("#footer .mod_navigation>ul>li").each(function(){
	var footer_paddingberechnung = (footer_containerbreite-$("#footer .mod_navigation>ul").innerWidth())/(footer_anzahl_li); // Padding des li berechnen
	var footer_tabpadding = Math.round(footer_paddingberechnung); // auf Ganzzahl runden
	if(footer_anzahl_li != 1) {
		$(this).css('padding-right', footer_tabpadding+'px'); // Padding des li einstellen
	} else {
		var footer_restpadding = footer_containerbreite-$("#footer .mod_navigation>ul").innerWidth()-5; // vor dem setzen des Padding des letzten li Rest berechnen
		$(this).css('padding-right', footer_restpadding+'px'); // Padding des letzten li einstellen
	}
	footer_anzahl_li --;
});
$("#footer .mod_navigation").css('visibility', 'visible');

/////////////////////////////////// Suchfeld bearbeiten /////////////////////////////////////////////

$("#header input.submit").attr('value', '');
if($("#header input.text").attr('value') == "") {
	$("#header input.text").attr('value', 'Suchen...').attr('class', 'text inaktiv');
}
$("#header input.text").click( function() {
	$(this).attr('class', 'text aktiv').attr('value', '');
});

/////////////////////////////////// Slide Show /////////////////////////////////////////////


if($("#slideshow").size() != 0) {
	$('#slideshow').crossSlide({
      sleep: 4,
      fade: 2
    }, [
      	{ src: 'tl_files/slideshow/b1.jpg' },
      	{ src: 'tl_files/slideshow/b2.jpg' },
      	{ src: 'tl_files/slideshow/b3.jpg' },
	  	{ src: 'tl_files/slideshow/b4.jpg' },
		{ src: 'tl_files/slideshow/b5.jpg' },
		{ src: 'tl_files/slideshow/b6.jpg' },
		{ src: 'tl_files/slideshow/b7.jpg' }	
    ])
}
/////////////////////////////////// Hover in Home-Teasern /////////////////////////////////////////////

if($(".teaser").size() != 0) {
	$(".teaser").hover(
  		function () {
    		$(this).addClass("hover");
  		},
  		function () {
    		$(this).removeClass("hover");
  		}
	);
}

/////////////////////////////////// Padding von rechts geflotenen Bildern /////////////////////////////////////////////

if($("#main .mod_article .ce_text img").size() != 0) {
	$("#main .mod_article .ce_text").find("img").each(function(){
			if($(this).css("float") == "right") {
				$(this).css("padding-left", "10px");
			}
	});
	//$("#main .mod_article .ce_text").find("img[style]").css("padding-left", "10px");
}

/////////////////////////////////// Fahrplan /////////////////////////////////////////////

if($("#date").size() != 0) {
	
	$("#date").datepicker({dateFormat: "dd.mm.yy"});
		
		$("div.fahrplan_schnellsuche input.inaktiv").click( function() {
			$(this).attr('class', 'aktiv').attr('value', '')
        });
		
		var jetzt = new Date();
		var Jahr = jetzt.getFullYear();
		var Monat = parseFloat(jetzt.getMonth())+1;
		var Tag = jetzt.getDate();
		var Std = jetzt.getHours();
		var Min = jetzt.getMinutes();
		var MonatAusgabe = ((Monat < 10) ? "0" + Monat : Monat);
		var TagAusgabe = ((Tag < 10) ? "0" + Tag : Tag);
		var StdAusgabe = ((Std < 10) ? "0" + Std : Std);
		var MinAusgabe = ((Min < 10) ? "0" + Min : Min);

		$("div.fahrplan_schnellsuche input.hasDatepicker").attr('value', TagAusgabe+"."+MonatAusgabe+"."+Jahr);
		$("div.fahrplan_schnellsuche #time").attr('value', StdAusgabe+":"+MinAusgabe);
		$("div.fahrplan_schnellsuche #time").click( function() {
			//$(this).attr('value', '')
        });
		
		errorCheck = function(id) {
			$("div.fahrplan_schnellsuche label[for="+id+"]").addClass("error");
			$("div.fahrplan_schnellsuche ."+id).html('Bitte f&uuml;llen Sie das Feld aus.');
		}
		
		$("div.fahrplan_schnellsuche a.submit").click( function() {
			var emptyFields = false;
			$("div.fahrplan_schnellsuche label").removeClass("error");
			$("div.fahrplan_schnellsuche .error").html('');
			if( $("div.fahrplan_schnellsuche input").attr('class') == "inaktiv" ) {
				emptyFields = true;
			}
			if( $("div.fahrplan_schnellsuche #from").val() == "" || $("div.fahrplan_schnellsuche #from").val() == "Haltestelle, Ort, ..." ) {
				emptyFields = true;
				errorCheck("from");
			}
			if( $("div.fahrplan_schnellsuche #to").val() == "" || $("div.fahrplan_schnellsuche #to").val() == "Haltestelle, Ort, ..." ) {
				emptyFields = true;
				errorCheck("to");
			}
			if( $("div.fahrplan_schnellsuche #date").val() == "" ) {
				emptyFields = true;
				errorCheck("date");
			}
			if( $("div.fahrplan_schnellsuche #time").val() == "" ) {
				emptyFields = true;
				errorCheck("time");
			}
			
			
			if( !emptyFields ) {
			
				var S = $.URLEncode($("div.fahrplan_schnellsuche #from").val());
				var Z = $.URLEncode($("div.fahrplan_schnellsuche #to").val());
				var date = $("div.fahrplan_schnellsuche #date").val();
				var time = $("div.fahrplan_schnellsuche #time").val();
			
				//window.open( "http://www.zvv.ch/de/fahrplan/online-fahrplan.html?S="+S+"&Z="+Z+"&date="+date+"&time="+time );
				window.open( "http://online.fahrplan.zvv.ch?S="+S+"&Z="+Z+"&date="+date+"&time="+time+"&start=1" );
				$("div.fahrplan_schnellsuche span.error").html("");
			}
			else {
				//$("div.fahrplan_schnellsuche span.error").html("Bitte alle Felder ausf&uuml;llen!");
			}
		});
}

/////////////////////////////////// Interaktiver Streckenplan /////////////////////////////////////////////


if($("#streckenplan").size() != 0) {
	
	
	var station =new Array();
	station['Stadelhofen']={center:[683805, 246760]};
	station['Kreuzplatz']={center:[684256, 246603]};
	station['Hegibachplatz']={center:[684757, 246256]};
	station['Balgrist']={center:[685854, 245479]};
	station['Rehalp']={center:[686478, 245093]};
	station['Waldburg']={center:[687230, 244489]};
	station['SpitalZollikerberg']={center:[687512, 244698]};
	station['Zollikerberg']={center:[688013, 244564]};
	station['Waltikon']={center:[689058, 243550]};
	station['Zumikon']={center:[689579, 242990]};
	station['Maiacher']={center:[690134, 242609]};
	station['NeueForch']={center:[690650, 242354]};
	station['Forch']={center:[691416, 242314]};
	station['Scheuren']={center:[692296, 242022]};
	station['Neuhaus']={center:[693254, 241008]};
	station['Hinteregg']={center:[694200, 240176]};
	station['Egg']={center:[694606, 239713]};
	station['Langwies']={center:[694977, 239111]};
	station['Emmat']={center:[695546, 238715]};
	station['Esslingen']={center:[696150, 238220]};
	
	var stationen =new Array("Stadelhofen", "Kreuzplatz", "Hegibachplatz", "Balgrist", "Rehalp", "Waldburg", "SpitalZollikerberg", "Zollikerberg", "Waltikon", "Zumikon", "Maiacher", "NeueForch", "Forch", "Scheuren", "Neuhaus", "Hinteregg", "Egg", "Langwies", "Emmat", "Esslingen");

var stationsimages=new Array();
function preloadstationsimages(){
	for (i=0;i<preloadstationsimages.arguments.length;i++){
		stationsimages[i]=new Image();
		stationsimages[i].src="tl_files/streckenplan/"+preloadstationsimages.arguments[i]+".png";
	}
}
preloadstationsimages("Stadelhofen", "Kreuzplatz", "Hegibachplatz", "Balgrist", "Rehalp", "Waldburg", "SpitalZollikerberg", "Zollikerberg", "Waltikon", "Zumikon", "Maiacher", "NeueForch", "Forch", "Scheuren", "Neuhaus", "Hinteregg", "Egg", "Langwies", "Emmat", "Esslingen")

	
	var station_aktiv;
    var Map = new SearchChMap({ type:"street",zoom:1,poigroups:"verkehr,mobility" });
	
	
	maps_update = function() {
		$("div.map").show();
		$("table.tabelle_station").hide();
		$("#"+station_aktiv).show();
		$("#HaltenstellenDownload option[value='"+station_aktiv+"']").attr('selected',true);
		$("#infobox").hide();
		$("#streckenplan area[class=aktiv]").attr("class", "inaktiv");
		$("#streckenplan area[alt="+station_aktiv+"]").attr("class", "aktiv");
		var koordinaten = new Array();
		koordinaten = $("#streckenplan area[alt="+station_aktiv+"]").attr("coords").split(',');
		$("#pfeil").animate({
				left: Number(koordinaten[0])+1, // Pfeil horizontal verschieben
				height: 360-koordinaten[1] // Höhe Pfeil-Container einstellen
			}, 200, function() {
		});
		Map.set(station[station_aktiv]);
		//console.log(station[station_aktiv])
	};
	
	close_map = function() {
		$("div.map").hide();
		$("table.tabelle_station").hide();
		//$('#Haltestellen-Fahrplan a.submit').hide();
		//$("#Haltestellen-Fahrplan").show();
		$("#infobox").show();
		$("#pfeil").animate({
				left: -50, // Pfeil horizontal verschieben
				height: 354 // Höhe Pfeil-Container einstellen
			}, 200, function() {
		});
		$("#streckenplan img").attr("src", "tl_files/streckenplan/streckenplan.png");
	}
	close_map();
	
	$("table.tabelle_station img.close").click(
		function() {
			close_map();
		});
	$("table.tabelle_station img.close").hover(
  		function () {
    		$(this).attr("src", "tl_files/Layout/close_over.gif");
  		},
  		function () {
    		$(this).attr("src", "tl_files/Layout/close.gif");
  		}
	);
	$("#streckenplan area").click(
		function() {
			station_aktiv = ($(this).attr("alt"));
			maps_update();
		});
	$("#streckenplan area").hover(
		function () {
			$("#streckenplan img").attr("src", "tl_files/streckenplan/"+$(this).attr("alt")+".png");
		}, 
		function () {
			if($("#streckenplan area[class=aktiv]").size() == 0) {
				$("#streckenplan img").attr("src", "tl_files/streckenplan/streckenplan.png");
			} else {
				$("#streckenplan img").attr("src", "tl_files/streckenplan/"+$("#streckenplan area[class=aktiv]").attr("alt")+".png");
			}
		}
	);
	
	
	
	$("#HaltenstellenDownload a.submit").click(
		function() {
			if($("#HaltenstellenDownload option:selected").index() == 0) { 
				alert("Bitte Haltestelle auswaehlen");
			} else {
				window.open("http://www.forchbahn.ch/"+$("#"+$("#HaltenstellenDownload option:selected").attr("value")+" a[class*=haltestellenpdf]").attr("href"));
			}
		})
};

/////////////////////////////////// Select in Liste umschreiben /////////////////////////////////////////////
/*
if($("select.dropdown").size() != 0) {
	$('<ul class="dropdown" id="'+$("select").attr("id")+'_dropdown" ></ul>').insertAfter('select.dropdown');
	$('ul.dropdown').append('<li><a class="first">'+$('select.dropdown option:first').text()+'</a></li>');
	$('select.dropdown option').each(function(index) {
    	$('ul.dropdown').append('<li><a class="inaktiv">'+$(this).text()+'</a></li>');
 	 });
	$('ul.dropdown li').hide();
	$('ul.dropdown li:first').show();
	var dropdown_open = false;
	$('ul.dropdown li').click(function() {
		if(dropdown_open == false) {
  			$("ul.dropdown li").show();
			dropdown_open = true;
		} else {
			$("ul.dropdown li").hide();
			if( $(this).find("a").text() != $('select.dropdown option:first').text() ) { // Alle ausser 1. Eintrag
				$("ul.dropdown li:first a").text($(this).find("a").text()).addClass("aktiv");
			}
			$("ul.dropdown li:first").show();
			dropdown_open = false;
			if($(this).find("a").text() != $('select.dropdown option:first').text()) { // Alle ausser 1. Eintrag
				$("ul.dropdown li").find("a.aktiv").toggleClass("aktiv");
				$("ul.dropdown li:first a").addClass("aktiv");
				$(this).find("a").addClass("aktiv"); // Klasse wird auf "aktiv" gestellt
				// Hier gewünschte Funktion aufrufen
				$('#Haltestellen-Fahrplan a.submit').show();
				$('#Haltestellen-Fahrplan a.submit').attr("target", "_blank");
				$('#Haltestellen-Fahrplan a.submit').attr("href", $("#"+$(this).text()+" a[alt=Haltestellen-Fahrplan]").attr("href"));
			} else {
				if($(this).find("a").text() != $('select.dropdown option:first').text()) { // Alle ausser 1. Eintrag
					$('#Haltestellen-Fahrplan a.submit').hide();
				}
			};
		}
	});
	$("select.dropdown").hide();
}
*/

/////////////////////////////////// Teaser /////////////////////////////////////////////
/*
if($(".teaser").size() != 0) {
	$("#main .teaser").find("img").each(function(){
		$(this).css("bottom", -($(this).height()-120)/2);
    });
	
	//$("#main .teaser img").css("bottom", ($(this).height()-120)/2);
}

$("#main .teaser").find("img").load( function() {
	$(this).css("bottom", -($(this).height()-120)/2);				
});
*/


function centerteaserimg(obj){
   $(obj).removeAttr('width').css('bottom','').css('top',Math.round((obj.height-120)/2*-1) );
  }

  $('#teaser_l  img ').each(function(){  this.complete ? centerteaserimg(this): $(this).load(function(){centerteaserimg(this);}) ;});


/////////////////////////////////// Topangebote /////////////////////////////////////////////


if($("#topangebote-reisen").size() != 0) {
	$("#topangebote-reisen>div").removeClass('open').addClass("element close clearfix");
	$(this).find(".acc_titel").css("cursor", "pointer");
	$(this).find(".pdf[href=]").hide();


	
	$("#topangebote-reisen .close .acc_content").hide();	
	var myID = getUrlVars()['id'];
	if( myID != undefined && $("#"+myID).size() ){
		$("#"+myID).attr("class", "element clearfix")
		  .find(".acc_content").show();
		scrollTo( myID );	
	}
	
	hoveren($("#topangebote-reisen .element .acc_header"));
	
	$("#topangebote-reisen .acc_header").click(
		function() {
			$(this).parent().toggleClass('close').toggleClass('over');
			if($(this).parent().attr("class") == ""){
				//$(this).parent().unbind('mouseenter mouseleave');
			} else { hoveren($(this)); };
			$(this).parent().find(".acc_content").slideToggle('slow');
	});
}


/////////////////////////////////// img center /////////////////////////////////////////////


  function centerimg(obj){
    if(obj.width > 156){
      $(obj).css({height:'',width :''})
            .css({
              position:'relative',
              left: (Math.round((obj.width / (obj.height / 128)-156) /2)*-1) +'px',
              height:'128px'
            });
    } else {
      $(obj).css({width:'156px',height:''});
    }
  }
$('.acc_image img').each(function(){  this.complete ? centerimg(this): $(this).load(function(){centerimg(this);}) ;});

/////////////////////////////////// ausflugstipps /////////////////////////////////////////////


function getUrlVars() {
   	var vars = [], hash;
  	var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
   	for(var i = 0; i < hashes.length; i++) {
       	hash = hashes[i].split('=');
       	vars.push(hash[0]);
       	vars[hash[0]] = hash[1];
   	}
   	return vars;
}

function hoveren (selector) {
	selector.bind({
	 	mouseenter: function() {
	 		$(this).parent().addClass("over");
	 	},
	 	mouseleave: function() {
	 		$(this).parent().removeClass("over");
	 	}
	});
}

function scrollTo( inTargetID, inSpeed ) {
	
	var speed = inSpeed || 700;
	var selector = $("#"+inTargetID);
	var target = inTargetID.length && inTargetID || selector;
	if (target.length) {
		var targetOffset = selector.offset().top;
		$('html,body').animate({scrollTop: targetOffset}, speed);
		return false;
	}	
}




if($("#ausflugstipps").size() != 0) {
	$("#ausflugstipps>div").removeClass('open').addClass("element close clearfix");
	$(this).find(".acc_titel").css("cursor", "pointer");
	$(this).find(".pdf[href=]").hide();
	
	$("#ausflugstipps .close .acc_content").hide();	
	var myID = getUrlVars()['id'];
	if( myID != undefined && $("#"+myID).size() ){
		$("#"+myID).attr("class", "element clearfix")
		  .find(".acc_content").show();
		scrollTo( myID );	
	}
	
	hoveren($("#ausflugstipps .element .acc_header"));
	
	$("#ausflugstipps .acc_header").click(
		function(event) {
			event = jQuery.event.fix ( event || window.event );
		if($(event.target).not('.pdf').size()){
			$(this).parent().toggleClass('close').toggleClass('over');
			if($(this).parent().attr("class") == ""){
				$(this).parent().unbind('mouseenter mouseleave');
			} else { hoveren($(this)); };
			$(this).parent().find(".acc_content").slideToggle('slow');
		}
	});
	$("#ausflugstipps .close .pdf").hover(
  		function () { $("#ausflugstipps .over").addClass("pdf"); },
  		function () { $("#ausflugstipps .over").removeClass("pdf"); }
	);
}

/////////////////////////////////// Fahrzeuge /////////////////////////////////////////////


if($(".fahrzeug").size() != 0) {
	$(".fahrzeug").addClass("close");
	$(this).find("h3").css("cursor", "pointer");
	$(".ce_table table").hide();
	$(".ce_table h3").after('<p></p>');
	
	hoveren($(".fahrzeug.close>div"));
	
	$(".fahrzeug h3, .fahrzeug p").toggle(function() {
				var meineID = $(this).parent().parent();
				$(meineID).find("table").slideToggle('slow');
				$(meineID).toggleClass('close').toggleClass('over');
				if($(meineID).find("p").css("height") == "0px"){
  					$(meineID).find("p").css("height", "65px");
				} else { $(meineID).find("p").css("height", "0px"); };
			}, function() {
				var meineID = $(this).parent().parent();
				$(meineID).find("table").slideToggle('slow', function() {
					$(meineID).toggleClass('close').toggleClass('over');
					if($(meineID).find("p").css("height") == "0px"){
  					$(meineID).find("p").css("height", "65px");
				} else { $(meineID).find("p").css("height", "0px"); };
  			});
	});
}

/////////////////////////////////// Webcam /////////////////////////////////////////////

if($("#webcam").size() != 0) {
	
	$("#webcam p span").after('<span id="akt"></span>');

	function aktuallisieren() { 
	
		zufall = Math.floor(Math.random()*10000);

		var jetzt = new Date();
		var Tag = jetzt.getDate();
		var Jahresmonat = jetzt.getMonth()+1;
		var Jahr = jetzt.getFullYear();
		var Std = jetzt.getHours();
		var Minuten = jetzt.getMinutes();
		
		if(Minuten<10) {
			Min = "0"+Minuten;
		}else { Min = Minuten; };
		var Sekunden = jetzt.getSeconds();
		if(Sekunden<10) {
			Sec = "0"+Sekunden;
		}else { Sec = Sekunden; };
		$("#akt").html('Aktualisiert: '+Tag+'.'+Jahresmonat+'.'+Jahr+', '+Std+':'+Min+':'+Sec);
		
		$("#webcam img").attr('src', 'http://www.forchbahn.ch/~webcam/panorama.jpg?'+zufall);
	}
	
	aktuallisieren();
	window.setInterval(aktuallisieren, 60000);

}

/////////////////////////////////// Submit Buttons /////////////////////////////////////////////

if($(".submit_container").size() != 0) {
	$(".submit_container").hover(
  		function () {
    		$(this).addClass("over");
  		},
  		function () {
    		$(this).removeClass("over");
  		}
	);
};

/////////////////////////////////// Suchen Button Hover /////////////////////////////////////////////

$("#header .mod_search input.submit").hover(
  	function () {
    	$(this).addClass("over");
  	},
  	function () {
   		$(this).removeClass("over");
  	}
);


/////////////////////////////////// END document ready
});

