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)
    {
        for(i = 0; i < field.length; i++)
        {
            field[i].checked = true;
        }
        return "1";
    }
    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_lat, field_lng, popupurl)
{
	//alert (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 (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;
	}
	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 MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

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 ajax(url)
{
	d = new Date();
	t = d.getTime();
	var headNode = document.getElementsByTagName("head").item(0);
	var script = document.createElement("script");
	script.type = "text/javascript";
	script.language = "javascript";
	script.src = url+"&t="+t;
	headNode.appendChild(script);
}

function opwin(url, win,width, height, scrollbar)
{
	var opt = "width="+width+"px, height="+height+"px"
	if (scrollbar) opt = opt + ", scrollbars=yes";
	window.open(url, win, opt);
}

function showquerverweis(url, objid)
{
	var obj = document.getElementById(objid);
	if (obj.options.length) url += "&wch_pid="+obj.options[obj.selectedIndex].value;
	opwin(url, "_blank", 990, 600, true );
}

function clearSelect(obj)
{
	while (obj.childNodes.length > 0)
	{
		obj.removeChild(obj.childNodes[0]);
	}
}

function createOption(value, id, selected)
{
	var DOM_option = top.opener.document.createElement("option");
	if (id)	DOM_option.value = id;
	if (selected) DOM_option.selected = true;
	var txtNode = top.opener.document.createTextNode(value);
	DOM_option.appendChild(txtNode);
	return DOM_option;
}

function changeselect(objid, id, value)
{
	obj = top.opener.document.getElementById(objid);
	var nullValue = false;
	if(obj.options.length && !obj.options[0].value) nullValue = true;
	clearSelect(obj);
	if (nullValue) obj.appendChild(createOption("-Keine Auswahl-"));
	obj.appendChild(createOption(value, id, true));
	this.close();
}

function checkallradio(form, id)
{
	for (var i = 0; i < form.elements.length; i++)
	{
		if (form.elements[i].getAttribute("id"))
		{
			if (form.elements[i].getAttribute("id").substr(0, id.length) == id)
			{
				form.elements[i].checked = true;
			}
		}
	}
}

function opencalendar(form, element, path)
{
	var cal = new calendar1(document.forms[form].elements[element]);
	cal.year_scroll = true;
	cal.time_comp = false;
	cal.popup(path);
}