$(document).ready(function() { 

	// Startseiten-Layer
	if($('body').hasClass('spdlayer')) { 
		if($.browser.msie && $.browser.version <= 7) { 	$('body').css({ position: 'static' }); };
		$('body').append('<br clear="all" /><div class="layer"></div><div class="layercontent"></div>');

		$('<a><img src="grafiken_r_st/danke.gif" /></a>')
			.prependTo('.layercontent')
			.attr({ 
				title: 'Vielen Dank für Ihre Unterstützung im Wahlkampf - Jetzt Mitglied werden!',
				href: 'http://www.spd.de/de/partei/mitmachen/mitgliedwerden/index.html',
				target: '_blank'
			});
		
		$('<a class="layerclose" title="Schließen" href="#">close</a>')
			.prependTo('.layercontent')
			.click(function() { 
				$('.layer, .layercontent').remove();
				if($.browser.msie && $.browser.version <= 7) { 	$('body').css({ position: 'relative' }); };
				return false;
			});
	};

	// IE
	if($.browser.msie && $.browser.version <= 7) { 
		$("#inhalt p a[href^=mailto:]").addClass("mail");
		$("#inhalt p a[href$=.pdf]").addClass("pdf");
		$("#inhalt p a[href*=print()]").addClass("druck");
	};

	// MooTools Gallerie
	if($('#rstgal').length) { 
		var myGallery = new gallery(Moo.$('rstgal'), {
			timed: true,
			showArrows: false,
			textShowCarousel: 'Weitere Inhalte',
			delay: 9000,
			embedLinks: false,
			fadeDuration: 800
		});
	};
	
	// Datepicker
	if ($('.datepicker').length) { 
		Date.format = 'dd.mm.yyyy';
		$(function() {
			$('.datepicker')
				.datePicker({ inline: true })
				.bind('dateSelected', function(e, selectedDate, $td) { 
						console.log('You selected ' + selectedDate);
				});
		});
	};
	
	// Rechte Spalte
	$('div.box')
		.prev('h2')
		.addClass('rtoogle')
		.click(function() { 
			$(this).next('div.box').slideToggle(500);
		});
		
		
	// Blog-Funktionen
	$('body.blog div.blogeintrag').each(function(nr) { 
		if(nr > 1) { 
			$(this).find('.eintrag').hide();
			$(this)
				.find('h2')
				.addClass('toggle')
				.attr({ title: 'Klicken' })
				.click(function() { 
					$(this).toggleClass('auf').parent().find('.eintrag').slideToggle(500);
				});
		};
	});
	
	$('div.plzr.plzrhide').hide();
	$('<a class="closeplzr" title="Schlie&szlig;en" href="#">Schlie&szlig;en</a>')
		.appendTo('div.plzr')
		.click(function() { 
			$('div.plzr').slideToggle(500);
			return false;
		});
		
	$('a.plzr_link').click(function() { 
		$('div.plzr').slideToggle(500);
		return false;
	});		
	
	// Terminanmeldung öffnen/schließen
	$('div.terminanmeldung.tahide').hide();
	$('a.toggleanmeldung').click(function() { 
		$('div.terminanmeldung').slideToggle(500);
		return false;
	});	
	
	
});

// Karte initialisieren und auf bestimmte lat/lon-Koordinaten zentrieren
function initMap(){	
	var map = null;
	//var lat = $('#koordlat').html();
	//var lon = $('#koordlon').html();
	if (document.mapposition) {
		var lat = document.mapposition.koordlat.value;
		var lon = document.mapposition.koordlon.value;
	}
	
	if (lat!='' && lon!='') {
	
		var zoom = 15;
		var proj4326 = new OpenLayers.Projection("EPSG:4326");
		var projmerc = new OpenLayers.Projection("EPSG:900913");
		
		var options = {
			projection: new OpenLayers.Projection("EPSG:900913"),
			displayProjection: new OpenLayers.Projection("EPSG:4326"),
			units: "m",
			maxResolution: 156543.0339,
			maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34,
											 20037508.34, 20037508.34)
		};
		map = new OpenLayers.Map('map', options);		
		
		//var mapnik = new OpenLayers.Layer.TMS(
		//	"OpenStreetMap (Mapnik)",
		//	"http://tile.openstreetmap.org/",
		//	{
		//		type: 'png', getURL: osm_getTileURL,
		//		displayOutsideMaxExtent: true,
		//		attribution: '<a href="http://www.openstreetmap.org/">OpenStreetMap</a>'
		//	}
		//);
		
		var tah = new OpenLayers.Layer.TMS(
			"OpenStreetMap (tah)",
			"http://tah.openstreetmap.org/Tiles/tile/",
			{
				type: 'png', getURL: osm_getTileURL,
				displayOutsideMaxExtent: true,
				attribution: '<a href="http://www.openstreetmap.org/">OpenStreetMap</a>'
			}
		);
		
		var gmap = new OpenLayers.Layer.Google("Google", {sphericalMercator:true});	
		//var gmap2 = new OpenLayers.Layer.Google("Google Hybrid", {type: G_HYBRID_MAP, sphericalMercator:true});

		//map.addLayers([gmap, gmap2, mapnik, tah]);
		map.addLayers([gmap, tah]);
		
		map.addControl(new OpenLayers.Control.LayerSwitcher());

		var lonlat = new OpenLayers.LonLat(lon, lat);
		lonlat.transform(proj4326, projmerc);
		map.setCenter(lonlat, zoom);
		map.addControl( new OpenLayers.Control.MousePosition() );
		
		/* Markierung setzen */
		var markers = new OpenLayers.Layer.Markers( "Markers" );
		map.addLayer(markers);
		var size = new OpenLayers.Size(20,34);
		var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
		var icon = new OpenLayers.Icon('grafiken/pin.png',size,offset);
		markers.addMarker(new OpenLayers.Marker(lonlat,icon));
	}

}

/* OpenStreetMap */
function osm_getTileURL(bounds) {
	var res = this.map.getResolution();
	var x = Math.round((bounds.left - this.maxExtent.left) / (res * this.tileSize.w));
	var y = Math.round((this.maxExtent.top - bounds.top) / (res * this.tileSize.h));
	var z = this.map.getZoom();
	var limit = Math.pow(2, z);
	
	if (y < 0 || y >= limit) {
		return OpenLayers.Util.getImagesLocation() + "404.png";
	} else {
		x = ((x % limit) + limit) % limit;
		return this.url + z + "/" + x + "/" + y + "." + this.type;
	}
}

/* Captcha-Bild aktualisieren */
function newCaptcha() {
	document.getElementById('captcha').src = 'func/modul_captcha/securimage/securimage_show.php?sid=' + Math.random(); 
	return false;
}

