var map={};
var funcs=[];
var markers=[];
var messages=[];
var activeMarker = 0; // Der Marker, der gerade dargestellt wird
var activeMarkerTimeout = null; // Der Timer fürs verschieben des Markers
var baseIcon = null;

function mapInit() {
	map = new GMap2(document.getElementById("map"));
	map.setCenter(new GLatLng(52.52348,13.411494), 5);
	baseIcon = new GIcon();
	baseIcon.image = "/images/pinflame.png";
	baseIcon.shadow = "/images/pinflameshadow.png";
	baseIcon.iconSize = new GSize(22, 34);
	baseIcon.shadowSize = new GSize(35, 34);
	baseIcon.iconAnchor = new GPoint(10, 33);
	baseIcon.infoWindowAnchor = new GPoint(10, 1);

}
function smallMapInit() {
	if (GBrowserIsCompatible()) {
		mapInit();
		map.addControl(new GSmallMapControl(true));
		map.addControl(new GMenuMapTypeControl());
	}
}

function largeMapInit() {
	if (GBrowserIsCompatible()) {
		mapInit();
		map.addControl(new GLargeMapControl(true));
		map.addControl(new GMenuMapTypeControl());
	}
}

function toggleMarker() {
	activeMarker++;
	if(activeMarker>=markers.length){
		activeMarker = 0;
	}
	if(typeof markers[activeMarker] == 'object'){
		markers[activeMarker].openInfoWindow(messages[activeMarker]);
		activeMarkerTimeout = window.setTimeout("toggleMarker()", 9000);
	}
}

function createMarker(point,html) {
  var marker = new GMarker(point,baseIcon);
  GEvent.addListener(marker, "click", function(){marker.openInfoWindow(html)});
  return marker;
}

function fillMap(){
	for(var i=0; i<markers.length; i++){
		map.addOverlay(markers[i]);
	}
}

function setTimer() {timer=setTimeout("refresh()", 1000);}

function refresh() {
	now=new Date();
	var diff = differenz(now.getTime(), then.getTime());

	var d = document.getElementById('d').firstChild;
	var h = document.getElementById('h').firstChild;
	var m = document.getElementById('m').firstChild;
	var s = document.getElementById('s').firstChild;

	s.nodeValue=diff.s;
	if(s.nodeValue.length<2){s.nodeValue="0"+s.nodeValue;}

	m.nodeValue=diff.m;
	if(m.nodeValue.length<2){m.nodeValue="0"+m.nodeValue;}

	h.nodeValue=diff.h;
	if(h.nodeValue.length<2){h.nodeValue="0"+h.nodeValue;}

	d.nodeValue=diff.d;
	setTimer();
}

/**
 * Für counter der Startseite
 */
function setDigits(prefix, num) {
	num = new String(Math.round(num));

	var i=1;
	var l=num.length;

	while(l>0) {
		var c = num.slice(l-1);
		document.getElementById(prefix+i).innerHTML = c;
		num = num.slice(0,l-1);
		l--;
		i++;
	}
}

/**
 * Führt Längenprüfungen durch, für "add"-Seite um Begrenzung der Textarea zu realisieren
 */
function checkLength(obj, length) {
	if(obj.value.length>length){
		obj.value = obj.value.substring(0,length);
	}
}

/**
 * Callback-Funktion fürs Voting
 */
function voteCallback(success, message) {

	if(success) {
		alert(message);
	} else {
		alert(message);
	}
}
function call(url){
	var b=document.getElementsByTagName('head')[0];
	var s=document.createElement('script');
	s.charset="utf-8";
	s.type='text/javascript';
	s.src=url;
	b.appendChild(s)
}

function differenz (d1, d2) {
  var d = Math.floor  ((d1 - d2) / (24 * 60 * 60 * 1000));
  var h = Math.floor (((d1 - d2) - (d * 24 * 60 * 60 * 1000)) / (60 * 60 * 1000));
  var m = Math.floor (((d1 - d2) - (d * 24 * 60 * 60 * 1000) - (h * 60 * 60 * 1000)) / (60 * 1000));
  var s = Math.floor (((d1 - d2) - (d * 24 * 60 * 60 * 1000) - (h * 60 * 60 * 1000) - (m * 60 * 1000)) / 1000);
  return { 'd': (d), 'h': h, 'm': m, 's': s };
}
function onEvent(ev,f){if(window.attachEvent){window.attachEvent("on"+ev,f);}else{window.addEventListener(ev,f,false)}};