function getCheckboxes(destination_url)
{
	var inputs = document.getElementsByTagName("input");
	var datasetids = "";
	for (var i = 0; i < inputs.length; i++)
	{
		if (inputs[i].name.substr(0,11) == "markdataset" && inputs[i].checked)
		{
			datasetids += inputs[i].value+",";
		}
	}
	if (datasetids.length > 0) datasetids = datasetids.substr(0,datasetids.length - 1);
	document.location.href=destination_url + "&datasetids="+datasetids;
}

var Marker = new Array(false,false);

function CheckboxenAktivieren(field,obj)
{
    if(obj.checked)
    {
        if (!field.length)
		{
			field.checked = true;
		}
		else
		{
			for(i = 0; i < field.length; i++)
			{
				field[i].checked = true;
			}
		}
        return "1";
    }
    else
    {
        if (!field.length)
		{
			field.checked = false;
		}
		else
		{
			for(i = 0; i < field.length; i++)
			{
				field[i].checked = false;
			}
		}
        return "0";
    }
}

function openlatlngcalculator(field_name, field_street, field_hnr, field_postalcode, field_city, field_district, field_lat, field_lng, popupurl)
{
	// liefert lat und lng aufgrund manueller suche in der karte
	if (field_street) {
		var street = document.getElementById(field_street).value + ' ' + document.getElementById(field_hnr).value;
	} else {
		var street = '';	
	}
	if (field_postalcode && field_city) {
		var postalcode = document.getElementById(field_postalcode).value;
		var city = document.getElementById(field_city).value;
	} else {
		var postalcode = '';
		var city = '';
	}
	if (field_city) {
		var city = document.getElementById(field_city).value;
		if (document.getElementById(field_city).options) {
			var city_tmp=document.getElementById(field_city).options[document.getElementById(field_city).selectedIndex];
			if (city_tmp.innerText) city=city_tmp.innerText;
			else if (city_tmp.text) city = city_tmp.text;
			else city = "";
			city_tmp = city.split(" ");
			if (city_tmp.length > 1 && !isNaN(city_tmp[0]))
			{
				postalcode = city_tmp.shift();
				city = city_tmp.join(" ");
			}
		}
	}
	if (field_district)
	{
		var district = document.getElementById(field_district).value;
		if (!district)
		{
			if (document.getElementById(field_district).options)
			{
				var district_tmp=document.getElementById(field_district).options[document.getElementById(field_district).selectedIndex];
				if (district_tmp.innerText)
					district=district_tmp.innerText;
				else if (district_tmp.text)
					district = district_tmp.text;
			}
			if (!isNaN(district.split(" ")[0]))
			{
				var postalcode = district.split(" ")[0];
				if (district.split(" ").length > 1)
				{
					var city = district.split(" ")[district.split(" ").length - 1];
				}
			}
		}
	}
	if (document.getElementById(field_postalcode).value > 0)
	{
		postalcode = document.getElementById(field_postalcode).value;
	}

	if (field_name) {
		var name = document.getElementById(field_name).value;
	}
	if (name) {
		var address = name;
	}
	if (city) {
		var address = city;
	}
	if (street && city) {
		
		var address = street + " " + city;
	}
	if (street && postalcode && city) {
		
		var address = street + " " + postalcode + " " + city;
	}
	address = address.replace(" SG", "");
	url = popupurl + "?address="+address+"&returnlat="+field_lat+"&returnlng="+field_lng;
	win = window.open(url, "latlngcalc", "width=400px,height=450px");
}

function getlatlng(field_name, field_street, field_hnr, field_postalcode, field_city, field_lat, field_lng, formname)
{
	var geocoder = new GClientGeocoder();
	window.field_lat = field_lat;
	window.field_lng = field_lng;
	window.field_formname = formname;

	if (field_street) {
		var street = document.getElementById(field_street).value + ' ' + document.getElementById(field_hnr).value;
	} else {
		var street = '';	
	}

	if (field_postalcode && field_city) {
		var postalcode = document.getElementById(field_postalcode).value;
		var city = document.getElementById(field_city).value;
	} else {
		var postalcode = '';
		var city = '';
	}
	if (field_city) {
		var city = document.getElementById(field_city).value;
	}
	if (field_city) {
		if (document.getElementById(field_city).options) {
			var city_tmp=document.getElementById(field_city).options[document.getElementById(field_city).selectedIndex];
			if (city_tmp.innerText)
				city=city_tmp.innerText;
			else if (city_tmp.text)
				city = city_tmp.text;
		}
	}
	if (field_name) {
		var name = document.getElementById(field_name).value;
	}
	if (name) {
		var address = name;
	}
	if (city) {
		var address = city;
	}
	if (street && city) {
		
		var address = street + " " + city;
	}
	if (street && postalcode && city) {
		
		var address = street + " " + postalcode + " " + city;
	}

	geocoder.getLatLng(address,
	function(LatLng)
	{
		
		if (LatLng)
		{
			var form = document[window.field_formname];
			form[window.field_lat].value = LatLng.lat();
			form[window.field_lng].value = LatLng.lng();
		}
		else
		{
			alert("Adresse nicht gefunden!");
		}
	});
	
	return false;
}

function checkform(names, frm, msg)
{
	for (i = 0; i < frm.length; i++)
	{
		for (j = 0; j < names.length; j++)
		{
			if (frm[i].name == names[j] && frm[i].checked)
			{
				names.splice(j,1);
				break;
			}
		}
		if (names.length == 0) break;
	}
	if (names.length == 0) frm.submit();
	else alert(msg);
}

function UnCryptMail(s) {
	shift = (s.charCodeAt(0) - 96);
	s = s.substr(1, s.length - 1);
	var n=0;
	var r="";
	for(var i=0;i<s.length;i++) { 
		n=s.charCodeAt(i); 
		if (n>=8364) {n = 128;}
		r += String.fromCharCode(n-(shift)); 
	}
	return r;
}
function link_UnCryptMail(s)	{
	location.href=UnCryptMail(s);
}

function opwin(url, name, width, height, scrollbars)
{
	window.open(url, name, "width="+width+", height="+height+", scrollbars="+scrollbars);
}
