<!-- Begin
function createMarker(point, villageid) {
	var marker = new GMarker(point, {icon:Icon});
	GEvent.addListener(marker, 'click', function() {
		document.forms['Setup'].VillageID.value = villageid;
		document.forms['Setup'].submit();
	});
	return marker;
}

function updateMarkers(init) {

	if(!init){
		info_mng('show');
		document.getElementById('infostatus').innerHTML = infomsg[0];
	}
	//create the boundary for the data
	var bounds = map.getBounds();
	var southWest = bounds.getSouthWest();
	var northEast = bounds.getNorthEast();
	boundCenter = map.getCenter();
	//collect form data
	var fele = '&';
	for(var i = 0; i < document.Setup.length; i=i+1) {
		if(document.forms['Setup'].elements[i].type == 'checkbox' && document.forms['Setup'].elements[i].checked){
			fele = fele+document.forms['Setup'].elements[i].name+'='+document.forms['Setup'].elements[i].value+'&'
		}	
		if(document.forms['Setup'].elements[i].type != 'checkbox' && document.forms['Setup'].elements[i].value){
			fele = fele+document.forms['Setup'].elements[i].name+'='+document.forms['Setup'].elements[i].value+'&'
		}
    } 
	var getVars = 'ne=' + northEast.toUrlValue() + '&sw=' + southWest.toUrlValue()+ '&clat=' + boundCenter.lat() + '&clng=' + boundCenter.lng()+fele;
	//GLog.write('formele'+fele); GLog.writeUrl('map_data.php?'+getVars);
	//retrieve the points
	var request = GXmlHttp.create();
	request.open('GET', '/search/gmap_data.php?'+getVars, true);
	request.onreadystatechange = function() {
		if (request.readyState == 4) {
			var jscript = request.responseText;
			var points;
			var totalPoints;
			eval(jscript);
			
			if(!init || maxMsg){
				info_mng(totalPoints);
			}
			
			keepMarkers = new Array();
			//create each point from the list
			for (i in points) {
				var point = new GLatLng(points[i].lat,points[i].lng);
				if(!actMarkers[i]) {
					actMarkers[i] = createMarker(point,i);
					map.addOverlay(actMarkers[i]);
				}
				keepMarkers[keepMarkers.length] = i;
			}
			
			for (k in actMarkers) {
				//GLog.write('actMarkers'+k);
				treffer = 0;
				for (i = 0; i < keepMarkers.length; i++){
					//GLog.write('keepMarkers'+keepMarkers[i]);
					if(keepMarkers[i] == k){
					 treffer = 1;
					 break;
					}
				}
				if(treffer == 0){
					//GLog.write('we should delete'+k);
					map.removeOverlay(actMarkers[k]);
					delete actMarkers[k];
				}
			}
			keepMarkers;
		}
	}
	request.send(null);
}

function jump_map(){
	if(document.forms['Setup'].StateID.value > 0){
		var place_id = 's'+document.forms['Setup'].StateID.value;
		var recenterlat = state_jump[place_id].lat;
		var recenterlng = state_jump[place_id].lng;
		var recenterzoom = state_jump[place_id].z;
		
	}else{
		var place_id = 'c'+document.forms['Setup'].CountryID.value;
		var recenterlat = country_jump[place_id].lat;
		var recenterlng = country_jump[place_id].lng;
		var recenterzoom = country_jump[place_id].z;
	}
	
	var maxZoom = country_jump['c'+document.forms['Setup'].CountryID.value].z;
	set_resolution(maxZoom);

	document.forms['Setup'].VillageID.value = '';
	//oder submit form unterbinden, flag und villagetitle ebenfalls reseten
	//window.frames['VillageIF'].src = '/search/gmap_quick_show.php';
	//GLog.write('placeid:'+place_id+"lat"+recenterlat+"lng"+recenterlng+"zoom"+recenterzoom);
	document.getElementById("fnavi").innerHTML = '';
	map.setCenter(new GLatLng(recenterlat, recenterlng), recenterzoom);

}

function set_resolution(maxZoom){
	if(!maxZoom){maxZoom = 5;}
	var mt = map.getMapTypes();
	for (var i=0; i<mt.length; i++) {
		mt[i].getMinimumResolution = function() {return maxZoom;}//world
		mt[i].getMaximumResolution = function() {return 13;}
	}
}

function region(obj,jump,StateID){ 
	nr=obj.selectedIndex; 
	while(document.forms['Setup'].StateID.length>1){ 
		document.forms['Setup'].StateID.options[document.forms['Setup'].StateID.length-1]=null;
	} 
	for(i=0;i<beschriftung[nr].length-1;i=i+2){ 
		x=new Option(beschriftung[nr][i],beschriftung[nr][i+1]) ;
		document.forms['Setup'].StateID.options[document.forms['Setup'].StateID.length]=x;
	} 
	document.forms['Setup'].StateID.selectedIndex = StateID ;
	if(document.forms['Setup'].StateID.length == 1){
		document.forms['Setup'].StateID.disabled = true;
		if(document.forms['Setup'].CountryID.selectedIndex>0 && jump){
			//GLog.write('jumping');
			jump_map();
		}
	}else{
		document.forms['Setup'].StateID.disabled = false;
	}
	if(jump){
		document.getElementById("fnavi").innerHTML = '';
	}
} 

//id="infoif" style="height:375px; margin:5px;"
//id="VillageIF" name="VillageIF" scrolling="auto" style="border:0px; margin:0px; height:0px; width:198px;"

function info_mng(totalPoints){
	//document.getElementById("VillageIF").style.visibility = "hidden";
	if(totalPoints == 'show'){
		document.getElementById("VillageIF").style.height = "0px";
		document.getElementById("VillageIF").src = "";
		document.getElementById("infoif").style.height = "355px";
		document.getElementById("infoif").style.margin = "5px";
		document.getElementById("infoif").style.visibility = "visible";
	
		document.getElementById("infostatus").style.height = "15px";
		document.getElementById("infostatus").style.margin = "5px 5px 0px 5px";
		document.getElementById("infostatus").style.visibility = "visible";
	}else{
		if(typeof keepMarkers != 'undefined'){
			//document.getElementById('infoif').innerHTML += infomsg[0];
			document.getElementById('infostatus').innerHTML = '';
		}
		
		if(totalPoints > 200){
			document.getElementById('infoif').innerHTML = infomsg[2].replace(/\TOTAL\b/, totalPoints)+'<br>'+infomsg[4];
			var infomsg_rewrite = 0;
			//variable setzen
		}else if(totalPoints == 0){
			document.getElementById('infoif').innerHTML = infomsg[3]+'<br>'+infomsg[4];
			var infomsg_rewrite = 0;
			//über obige variable sehen ob zurückgesetzt werden muss oder evt über infotitel
		}else{
			if(infomsg_rewrite != 1){
			document.getElementById('infoif').innerHTML = infomsg[1]+'<br>'+infomsg[4];
			var infomsg_rewrite = 1;
			}
		}
	}
	document.getElementById('villageflag').innerHTML = '';
	document.getElementById('villagetitle').innerHTML = 'Unterkünfte - Info';
	
}
function iframe_mng(flag,title){
	//parent.document.getElementById("VillageIF").style.visibility = "show";
	parent.document.getElementById("VillageIF").style.height = "385px";
	parent.document.getElementById("villageflag").innerHTML = '<img src="/img/flag/'+flag+'.gif" width="16" height="11">';
	parent.document.getElementById("villagetitle").innerHTML = title;
	
	parent.document.getElementById("infoif").style.height = "0px";
	parent.document.getElementById("infoif").style.margin = "0px";
	parent.document.getElementById("infoif").style.visibility = "hidden";
	
	parent.document.getElementById("infostatus").style.height = "0px";
	parent.document.getElementById("infostatus").style.margin = "0px";
	parent.document.getElementById("infostatus").style.visibility = "hidden";
	
}

function radio_smoking(abc){
	if(abc == 'Yes' && document.getElementById('SmokingYes').checked == true){
		document.getElementById('SmokingNo').checked = false;
	}
	if(abc == 'No'  && document.getElementById('SmokingNo').checked == true){
		document.getElementById('SmokingYes').checked = false;
	}
	updateMarkers();
}

// Geocoding
function show_geocode(lat,lng) {
	var point = new GLatLng(lat,lng);
	map.setCenter(point,10); 
	//document.getElementById("message").innerHTML = "";
}

// Geocoding
function showAddress() {
	document.getElementById("message").innerHTML = '';
	if(!geo){
		geo = new GClientGeocoder();
	}

	var search = document.getElementById("input_geocode").value;
	// Perform the Geocoding        
	geo.getLocations(search, function (result){
		if (result.Status.code == G_GEO_SUCCESS) {
		// If there was more than one result, "did you mean"
		if (result.Placemark.length > 1) { 
			document.getElementById("message").innerHTML = '<br><i class="red">'+infomsg[5]+'<\/i>';
			// Loop through the results
			for (var i=0; i<result.Placemark.length; i++) {
				var p = result.Placemark[i].Point.coordinates;
				document.getElementById("message").innerHTML += "<br>"+(i+1)+": <a href='javascript:show_geocode(" +p[1]+","+p[0]+")'>"+ result.Placemark[i].address+"<\/a>";
			}
		}
        // If there was a single marker
 		else {
			//document.getElementById("message").innerHTML = 'Karte erfolgreich auf "'+search+ '" zentriert';
			var p = result.Placemark[0].Point.coordinates;
			show_geocode(p[1],p[0]);
		}
	}
	// Decode the error status
	else {
		var reason="Code "+result.Status.code;
		if (reasons[result.Status.code]) {
			reason = reasons[result.Status.code]
		} 
		//document.getElementById("message").innerHTML = '<br><i class="red">Kein Resultat für <b>"'+search+ '"<\/b> gefunden!<\/i> ('+reason+')';
		document.getElementById("message").innerHTML = '<br><i class="red">Kein Resultat für<br><b>"'+search+ '"<\/b><br>gefunden!<\/i>';
	}
    });
}
// End -->
