// main

var leftSide = "-1024px"; // where the helpnav begins
	
// ToggleEffects for the widgetzone
function ToggleSlide (id1, id2) {
	position1 = "right";
	position2 = "left";
	
	if (id1 == "#lvb") {
		position1 = "left";
		position2 = "right";
	}
		
	if ($(id1).css("left") == leftSide) {
		if (id1=="#help" && window.navigator.userAgent.indexOf('MSIE 6.0') != -1 && document.getElementById("connection_selectbox")) document.getElementById("connection_selectbox").style.visibility="hidden";
		if (id1=="#lvb" && window.navigator.userAgent.indexOf('MSIE 6.0') != -1 && document.getElementById("connection_selectbox")) document.getElementById("connection_selectbox").style.visibility="hidden";
		if (id1=="#lvb" && window.navigator.userAgent.indexOf('MSIE 6.0') != -1 && document.getElementById("connection_selectbox2")) document.getElementById("connection_selectbox2").style.visibility="hidden";
		$(id1).animate( { left: "0" }, { queue:false, duration:1000 } );
		$(id2).animate( { left: leftSide }, { queue:false, duration:1000 } );
		setTimeout(function() {
			$(id1 + " h4").css({'background-position' : position1 + ' -285px'});
			$(id2 + " h4").css({'background-position' : position2 + ' top'});										
		}, 1000); 
		
	} else {
		$(id1).animate( { left: leftSide }, { queue:false, duration:1000 } );
		$(id2).animate( { left: leftSide }, { queue:false, duration:1000 } );
		setTimeout(function() {
			$(id1 + " h4").css({'background-position' : position1 + ' top'});
			$(id2 + " h4").css({'background-position' : position2 + ' top'});		
			if (id1=="#help" && position1=="right" && window.navigator.userAgent.indexOf('MSIE 6.0') != -1 && document.getElementById("connection_selectbox")) document.getElementById("connection_selectbox").style.visibility="visible";
			if (id1=="#lvb" && position1=="left" && window.navigator.userAgent.indexOf('MSIE 6.0') != -1 && document.getElementById("connection_selectbox")) document.getElementById("connection_selectbox").style.visibility="visible";
			if (id1=="#lvb" && position1=="left" && window.navigator.userAgent.indexOf('MSIE 6.0') != -1 && document.getElementById("connection_selectbox2")) document.getElementById("connection_selectbox2").style.visibility="visible";
		}, 1000); 	
	}
}


// fade news_showTop5
function initTicker() {
	
	if (!$('#newsticker').cycle)
		return;

	$('#newsticker').cycle({ 
    fx:    'fade', 
   	timeout: 5000,
    delay: -2000,
		pause: 1
	});	
	
}

// helpnav on the left side of the page 
function helpNav() {

	// When a link is clicked
	$("a.tab").click(function () {
		var closed = 0;
		if ($(this).hasClass("active"))
			closed = true;
		
		
		// switch all tabs off
		$(".active").removeClass("active");
		
		// slide all content up
		$(".helpnav_content").slideUp();
		

		if (!closed) {
			// switch this tab on
			$(this).addClass("active");
			if ($(this).hasClass("lnp_trigger"))
			{
				init_lnp();
			}

			// slide this content up			
			var content_show = $(this).attr("href");
			$(content_show).slideDown();
		}
		return false;
	});
	
	
	$("a.tab").hover( 
		function() {
			$(this).find("span").css({'z-index': '20'})
		}, 
		function() {
			$(this).find("span").css({'z-index': '10'})															
		}
	);
		

}

// slide for the FAQ module
function setFaqSlide() {
	$("#faq_showSlide li div.content").hide();
	
	$("#faq_showSlide li h5").click( function() {
			if ($($(this).parent().find("div.content")).hasClass('open')) {
				$($(this).parent().find("div.content")).animate({
					height: 'hide',
					opacity: 'hide'
				}, 'slow');
				
				$("#faq_showSlide li div.content").removeClass('open');

				$('#faq_showSlide li h5').removeClass('open');
				
			} else {
					$('#faq_showSlide li h5').removeClass('open');
					$(this).addClass('open');
					
					$("#faq_showSlide li div.open").animate({
						height: 'hide',
						opacity: 'hide'
					}, 'slow');
					
					$($(this).parent().find("div.content")).animate({
						height: 'show',
						opacity: 'show'
					}, 'slow');
	
					$("#faq_showSlide li div.content").removeClass('open');	
					
					$($(this).parent().find("div.content")).addClass('open');
					
			}
																						
																						
	});
	
	
}

function init_lnp() {
	
	if (window.map_lnp)
	{
		return;
	}
	
	function mapsLoaded() {
		var that = this;

		var width_day  = 7057;
		var height_day = 4985;
		this.tiles_day = {
			"2": [3,2],
			"3": [6,4],
			"4": [13,9],
			"5": [27,19]
		}
		this.tiles_night = {
			"2": [3,2],
			"3": [7,5],
			"4": [15,10],
			"5": [31,20]
		}

		var lnp_min_zoom = 2;
		var lnp_max_zoom = 5;

		var lnp_layer_day = new google.maps.TileLayer(
			new google.maps.CopyrightCollection("(c) LVB 2009"), lnp_min_zoom, lnp_max_zoom);
		var lnp_layer_night = new google.maps.TileLayer(
			new google.maps.CopyrightCollection("(c) LVB 2009"), lnp_min_zoom, lnp_max_zoom);

		lnp_layer_day.getCopyright   = function(a,b) {
			return {prefix:"(c) LVB", copyrightTexts:["Copyrighted"]};
		};
		lnp_layer_night.getCopyright = function(a,b) {
			return {prefix:"(c) LVB", copyrightTexts:["Copyrighted"]};
		};

		lnp_layer_day.isPng   = function() {return false;};
		lnp_layer_night.isPng = function() {return false;};

		lnp_layer_day.getOpacity   = function() {return 1.0;};
		lnp_layer_night.getOpacity = function() {return 1.0;};

		lnp_layer_day.getTileUrl = function(point, zoom)
		{
			return that.asset_url + "/images/lnp/day/" + zoom + "/" + point.x + "/" + (that.tiles_day[zoom][1]-point.y) + ".jpg";
		};

		lnp_layer_night.getTileUrl = function(point, zoom)
		{
			return that.asset_url + "/images/lnp/night/" + zoom + "/" + point.x + "/" + (that.tiles_night[zoom][1]-point.y) + ".jpg";
		};

		var projection_day = {
			fromLatLngToPixel: function (latlng, zoom)
			{
				var factor = 1/Math.pow(2, lnp_max_zoom - zoom);
				return new google.maps.Point(latlng.lat()*100*factor, latlng.lng()*100*factor);
			},
			fromPixelToLatLng: function(pixel, zoom, unbounded)
			{
				var factor = 1/Math.pow(2, lnp_max_zoom - zoom);
				return new google.maps.LatLng(pixel.x/100/factor, pixel.y/100/factor);
			},
			tileCheckRange: function(tile, zoom, tilesize)
			{
				return tile.y >= 0 && tile.x >= 0 && tile.x <= that.tiles_day[zoom][0] && tile.y <= that.tiles_day[zoom][1];
			}
		};
		var projection_night = {
			fromLatLngToPixel: function (latlng, zoom)
			{
				var factor = 1/Math.pow(2, lnp_max_zoom - zoom);
				return new google.maps.Point(latlng.lat()*100*factor, latlng.lng()*100*factor);
			},
			fromPixelToLatLng: function(pixel, zoom, unbounded)
			{
				var factor = 1/Math.pow(2, lnp_max_zoom - zoom);
				return new google.maps.LatLng(pixel.x/100/factor, pixel.y/100/factor);
			},
			tileCheckRange: function(tile, zoom, tilesize)
			{
				return tile.y >= 0 && tile.x >= 0 && tile.x <= that.tiles_night[zoom][0] && tile.y <= that.tiles_night[zoom][1];
			}
		};
		var map_type_lnp_day = new google.maps.MapType(
			[lnp_layer_day],
			projection_day,
			"Tag",
			{maxResolution:lnp_max_zoom, minResolution:lnp_min_zoom, errorMessage:"Keine Daten"}) ;

		var map_type_lnp_night = new google.maps.MapType(
			[lnp_layer_night],
			projection_night,
			"Nacht",
			{maxResolution:lnp_max_zoom, minResolution:lnp_min_zoom, errorMessage:"Keine Daten"}) ;

		window.map_lnp = new google.maps.Map2(document.getElementById("map_lnp_sidebar"), {backgroundColor: "#FFFFFF", mapTypes: [map_type_lnp_day, map_type_lnp_night]});
		window.map_lnp.addControl(new google.maps.MapTypeControl(true)); // Standard-Controller der Kartentypen
		window.map_lnp.addControl(new google.maps.LargeMapControl());    // erweiterte Zoom-Anzeige

		var lat = (width_day+350)  / (2*100);
		var lng = (height_day+2800) / (2*100);
		window.map_lnp.setCenter(new google.maps.LatLng(lat, lng), lnp_min_zoom);
		window.map_lnp.setMapType(map_type_lnp_day);
		
		GEvent.addListener(window.map_lnp, "movestart", function() {
			return false;
		});
	}

	google.load("maps", "2", {"callback" : mapsLoaded});
}

//onload
jQuery(document).ready(function() {
	
	$("#lvb h4").click( function () {
		ToggleSlide('#lvb', '#help');	
	});
	
	$("#help h4").click( function () {
		ToggleSlide('#help', '#lvb');	
	});
	
	if ($('#newsticker'))
		initTicker();
	
	if ($('.helpnav'))
		helpNav();
		
	if ($('#faq_showSlide'))
		setFaqSlide();

	if ($('#lvb_login_form') && document.getElementById('lvb') != null)
		$('#lvb_login_form').css({'height': document.getElementById('lvb').offsetHeight }); // have to take document.... because of IE
	
	if ($('.navigation_showLevel2')) {
		$('.navigation_showLevel2 li').hover(
			function() {
				$(this).find("span.description").css('display', 'block');
				$(this).find("span.title").css('display', 'block');
			},
			function() {
				$(this).find("span.description").css('display', 'none');
				$(this).find("span.title").css('display', 'none'); 
			}
		)
	}
	
	if ($('body.third_navigation'))
	{
		$(window).resize(
			function() 
			{
				setContentHeight();
			}
		);
	
		setContentHeight();
	}
	
});

function setContentHeight() {
	var contentHeight = $(window).height() - $('#footer').height() - $('#navigation').height() - $('#headline').height() - $('.short_navigation_show').height() - $('.page_title').height() - 132;
	var navigationHeight = contentHeight + $('.page_title').height()  + 34;
	
	$('#main_content').css('height', contentHeight + "px");
	$('#third_navigation').css('height', navigationHeight + "px");
}