	function getEjendomstyper() {
		var result = "";
		var singleHouseType = document.getElementById('radioejendomstype').style.display == 'block';
		var singleArea = document.getElementById('singlearea').style.display == 'block';

		var groupId = singleHouseType ? "ejendomstype" : "ejendomstyper";
		var group = document.getElementsByName(groupId);
		var checkId = 0;
		
		for (i=0; i<group.length; i++) {
			if (group[i].checked) {
				result += group[i].value;
				document.getElementById('heading2').innerHTML = ejendoms_type_heading[i]+" i ";
				checkId++;
				if (!singleHouseType) {
					result += ",";
				}
				
			}
		}
		result = "&ejendomstyper="+result;
		return result;
	}
	
	function updateLegend() {
		
		
	}
	
	function getArea() {
		if (document.getElementById('singlearea').style.display == 'block') {
			var res = document.getElementById('area').value;
			if (res=='LAND;0') {
				document.getElementById('heading3').innerHTML = 'Danmark';
			} else {
				document.getElementById('heading3').innerHTML = document.getElementById('areatext').value;
			}  
			return "&area="+res;
		} else {
			var select = document.getElementById("areas");
			var result = "";
			for(i=select.options.length-1;i>=0;i--){
				result += select.options[i].value;
				result += ",";
			}
			result = result.substring(0,result.length-1); 
			result = areatype+';'+result;
			return "&area="+result;
		}
		return "&area=LAND;0";
	}

	function getYear() {
		return "&years="+years;
	}

	function getGraphType(includeParamName) {
		var group = document.getElementsByName("graphtype");
		for (i=0; i<group.length; i++) {
			if (group[i].checked) {
				if (includeParamName)  {
					document.getElementById('yunits').innerHTML = graph_type_legend[i];
					document.getElementById('heading1').innerHTML = graph_type_heading[i]+' for ';

					for (j=0; j<graph_legends[i].length;j++) {
						var s = graph_legends[i][j];
						document.getElementById('legend_'+j).innerHTML = s; 
						if (s != "") {
							document.getElementById('legend_div_'+j).style.display = 'block';
						} else {
							document.getElementById('legend_div_'+j).style.display = 'none';
						}
					}
					if (group[i].value == 'KVMPRIS') {
						document.getElementById('explanation').style.display = 'block';
					} else {
						document.getElementById('explanation').style.display = 'none';
					}
					
					return "&graphtype="+group[i].value;
				} else {
					return group[i].value;
				}
			}
		}
	}

	function changeYears(year) {
		years = year;
		for (i=1; i<6; i++) {
			var a = document.getElementById('year_'+i);
			a.className = i == years+1 ? 'reportYearSelected' : '';
		}
		drawGraph();
	}
	
	function drawGraph() {
		if (areaselected) {
			document.getElementById("thegraph").src = def.src;
			var request = '/marketinfographprovider?infotype=report';
			request += getArea();	
			request += getEjendomstyper();
			request += getGraphType(true);
			request += getYear();
			var d = new Date();
			request += "&timehack="+d.getTime();
			updateLegend();
			document.getElementById("thegraph").src = request;
		} else {
			alert('Vælg venligst et område');
		}
	}


	function switchType(radio) {
		radio.className = 'reporttype_selected';
		
		if (radio.value==0) {
			document.getElementById('radioejendomstype').style.display = 'block';			
			document.getElementById('singlearea').style.display = 'block';			
			document.getElementById('multiplearea').style.display = 'none';			
			document.getElementById('checkejendomstype').style.display = 'none';			
		} else if (radio.value==1) {
			document.getElementById('radioejendomstype').style.display = 'none';			
			document.getElementById('singlearea').style.display = 'block';			
			document.getElementById('multiplearea').style.display = 'none';			
			document.getElementById('checkejendomstype').style.display = 'block';			
		} else if (radio.value==2) {
			document.getElementById('radioejendomstype').style.display = 'block';			
			document.getElementById('singlearea').style.display = 'none';			
			document.getElementById('multiplearea').style.display = 'block';			
			document.getElementById('checkejendomstype').style.display = 'none';			
		} else {
			alert('Illegal option. Please contact Itera');
		}
	}
	
	function getReportType(includeParamName) {
		var group = document.getElementsByName("reporttype");
		for (i=0; i<group.length; i++) {
			if (group[i].checked) {
				if (includeParamName) {
					return "&reporttype="+group[i].value;
				} else {
					return group[i].value;
				}
			}
		}
		return "";		 
	}
	
	
	function getAreasNamesForTipEnVen() {
		var res = "Danmark";
		if (document.getElementById('singlearea').style.display == 'block') {
			res = escape(document.getElementById('areatext').value);
		} else {
			var select = document.getElementById("areas");
			res = "";
			for(i=select.options.length-1;i>=0;i--){
				res += escape(select.options[i].text);
				res += ";";
			}
			res = res.substring(0,res.length-1); 
		}
			return "areaname="+res;
	}
	
	function setParams() {
		var request = '?';
		request += getAreasNamesForTipEnVen();
		request += getArea();	
		request += getEjendomstyper();
		request += getGraphType(true);
		request += getYear();
		request += getReportType(true);
		document.getElementById('params').value = request;
	}
	
	
	function toggleLayerByid(id) {
		var elem = document.getElementById(id);
		if (elem.style.display=='block') {
			elem.style.display='none';
		} else {
			setParams();
			elem.style.display='block';
			
		}
	}

	function handleAutomaticSelection(select) {
		if (select.children.length > 0 && select.selectedIndex < 0 && select.options.length > 0) {
			var single = document.getElementById('singlearea').style.display == 'block';
			if (single) {
				document.getElementById('areatext').value = select.options[0].text;
				document.getElementById('area').value = select.options[0].value;
				closeLayerById('pickerdiv');
				areaselected = true;
			} else {
				var val = select.options[0].value.split(";");
				var selected = document.getElementById("areas");
				if (!selected.options || selected.options.length <5) {
					areatype = val[0];
					addOption(selected,select.options[0].text,val[1]);
					var input = document.getElementById("areapicker");
					input.value = input.defaultValue;
					areaselected = true;
					closeLayerById('pickersdiv');
					
				} else {
					alert('Du kan højst vælge fem områder');
				}
				document.getElementById('areapicker').focus();
				document.getElementById('areas').value = select.options[0].value;
				closeLayerById('pickersdiv');
				
			}
			closeLayerById('pickerdiv');
		} 
	}

	
	function findLocation(evt,input,select) {
		var val = input.value;
		theselect = document.getElementById(select);
		if (evt.keyCode==13 || evt.keyCode == 9) { //enter or tab
			handleAutomaticSelection(theselect);
		} else if (evt.keyCode==40) { // key down
			theselect.focus();
			if (theselect.options.length>0) {
				theselect.options[0].selected = true;
			}
		} else {
			if (val.length > 1) {
				removeAllOptions(theselect);
				closeLayerById('pickerdiv');
	  			postString = 'where='+encodeIt(val);
				var single = document.getElementById('singlearea').style.display == 'block';
				if (!single && document.getElementById('areas').options.length > 0) {	  			
					postString += "&areatype=";
		  			postString += areatype;
		  		}
	  			xmlPost("/locationsearch",postString,gotIt);
			} else {
				document.getElementById("area").value = 'LAND;0';
				closeLayerById('pickerdiv');
				areaselected = false;
			}
		}
	}

	function encodeIt(text) {
		var nVer = navigator.appVersion;
		var nAgt = navigator.userAgent;

		if (nAgt.indexOf('MSIE')>-1) {
			return escape(text);
		 } else if (nAgt.indexOf('Firefox')>-1) {		 			 
			 return encodeURI(text);	
		 } else if (nAgt.indexOf('Safari')>-1) {
			return escape(text);
		 }				 
	}
	
	function gotIt() {
		if (req.readyState == 4) {
			if (req.status == 200) {	
				var result = req.responseText;
				parseXML(result);
			} else {
				alert("There was a problem retrieving the XML data:\n" + req.statusText);
			}
		}
    }
	
	function parseXML(xml) {
		//alert(xml);
		try { //Internet Explorer
			xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
			xmlDoc.async="false";
			xmlDoc.loadXML(xml);
		}
		catch(e) {
			try { //Firefox, Mozilla, Opera, etc.
				parser=new DOMParser();
				xmlDoc=parser.parseFromString(xml,"text/xml");
		  	}
		  	catch(e) {
		  		alert('3:'+e.message);
		  		return;
		  	}
		}
		var i = 0
		 
		var	root = xmlDoc.getElementsByTagName('locations')[0];
		if (root) {
			try {
				var items = root.getElementsByTagName('location');
				var single = document.getElementById('singlearea').style.display == 'block';		
				var html = ""; 
				for ( i  ; i < items.length ; i++) {
					var item = items[i];
					var areatype = item.getElementsByTagName('areatype')[0].firstChild.nodeValue;
					var areaid = item.getElementsByTagName('areaid')[0].firstChild.nodeValue;
					var areaname = item.getElementsByTagName("areaname")[0].firstChild.nodeValue;
					areaname = urldecodeing(areaname);
					if (single) {
						addOption(document.getElementById('locationpicker'),areaname,areatype+";"+areaid);
					} else {
						addOption(document.getElementById('locationspicker'),areaname,areatype+";"+areaid);
					}
				}
				if (single) {
					openLayerById('pickerdiv');
				} else {
					openLayerById('pickersdiv');
				}
			}
			catch(e) {
				alert('5: '+e.description);
			}
		}
	}

	function selectSingleArea(at,aid,name) {
		removeArea(true);
		areatype = at;
		document.getElementById("area").value = at+';'+aid;
		document.getElementById("areatext").value = name
		areaselected = true;
		closeLayerById('dropdownlayer');
	}

	function selectLocation(evt,sel,inputtext,inputvalue) {
		var single = document.getElementById('singlearea').style.display == 'block';
		if (evt.type == 'click' || evt.keyCode==13) { // enter
			areaselected = true;
			if (single)	{
				document.getElementById(inputtext).value = sel.options[sel.selectedIndex].text;
				document.getElementById(inputvalue).value = sel.value;
				closeLayerById('pickerdiv');
			} else {
				var val = sel.value.split(";");
				var select = document.getElementById("areas");
				if (!select.options || select.options.length <5) {
					areatype = val[0];
					addOption(select,sel.options[sel.selectedIndex].text,val[1]);
					var input = document.getElementById("areapicker");
					input.value = input.defaultValue;
					areaselected = true;
					closeLayerById('pickersdiv');
					
				} else {
					alert('Du kan højst vælge fem områder');
				}
				//document.getElementById(inputtext).value = sel.options[sel.selectedIndex].text;
				document.getElementById(inputtext).focus();
				document.getElementById(inputvalue).value = sel.value;
				closeLayerById('pickersdiv');
			}
		} else if (evt.keyCode==27) { // escape
			//includeLocation = false;
			if (single) {
				closeLayerById('pickerdiv');
			} else {
				closeLayerById('pickersdiv');
			}
			//closeLocationPicker();
			var where = document.getElementById(inputtext);
			where.focus();
			where.value = where.defaultValue;
		} 
	}


	
	
	function removeArea(all,atLand) {
		var select = document.getElementById("areas");
		if (all) {
			areaselected = false;
			areatype = atLand;
			removeAllOptions(select);
		} else {
			removeOptions(select);
			if (select.options.length == 0) {
				areaselected = false;
				areatype = atLand;
			}
		}
	}

	function selectejendom(radiobutton,testval, kvmpris, udbud, liggetid) {
		var isAndel = radiobutton.value == testval; 
		var radio = document.getElementById(kvmpris);
		radio.disabled = isAndel;
		radio = document.getElementById(udbud);
		if (isAndel && !radio.checked) {
			document.getElementById(liggetid).checked = true;
		} 
		
	}
		
	function clearAll(id) {
		document.location = '/get/'+id+'.html';
	}
	
	
