    jQuery(document).ready(function() {
	
		jQuery("#showFilterLink").hide();
		jQuery("#loadingMarkersDisplay").hide();
		jQuery("#hideSearchLink").hide();
		jQuery(".search").hide();
		jQuery("#hideFilterLink").click(function() {
			jQuery(".mapControl").slideUp("slow", function() {
				jQuery("#hideFilterLink").hide(function() {
					jQuery("#showFilterLink").show();
				});
			});
			return false;
        });
		
		jQuery("#showFilterLink").click(function() {
			jQuery(".mapControl").slideDown("slow", function() {
				jQuery("#showFilterLink").hide(function() {
					jQuery("#hideFilterLink").show();
				});
			});
			return false;
        });
		
		jQuery("#showSearchLink").click(function() {
			jQuery(".search").slideDown("slow", function() {
				jQuery("#showSearchLink").hide(function() {
					jQuery("#hideSearchLink").show();
				});
			});
			return false;
        });
		
		jQuery("#hideSearchLink").click(function() {
			jQuery(".search").slideUp("slow", function() {
				jQuery("#hideSearchLink").hide(function() {
					jQuery("#showSearchLink").show();
				});
			});
			return false;
        });
    });


function addMarkers(lc, maxLat, maxLng, minLat, minLng, markerFilter){
	
	if (typeof markerFilter == 'undefined' ) markerFilter = 'true';
	dates = [];
	markers = [];
	visibleMarkers = [];
	markerIDs = [];
	visibleMarkerIDs = [];
	centralMarkerIDs = [];
	try {

		ajaxCall = jQuery.post("sendMarkersDEV.php",
			{
				maxLat:maxLat,
				maxLng:maxLng, 
				minLat:minLat, 
				minLng:minLng
				
			},function(markerText){
				if (markerText != ""){
					var markerFullArray = markerText.split("%%");
					for(i=0; i<markerFullArray.length; i++){
						var curMarker = markerFullArray[i].split("||");
						placeMarker(curMarker[0], curMarker[1], curMarker[2], curMarker[3], curMarker[4], lc, curMarker[5], curMarker[6],  markerFilter);

					}
				}
				
				var customIcon = new GIcon(baseIcon);
				customIcon.image = "images/ico/blandat.gif";
					
				 // Set up our GMarkerOptions object
				var markerOptions = { icon:customIcon };
				
				var marker = new GMarker(lc, markerOptions);
				map.addOverlay(marker);
				var newEvent = new GEvent.addListener(marker, "click", function() {
					var idString = "";
						for ( i=0; i < centralMarkerIDs.length; i++ )
						{
								idString += centralMarkerIDs[i]+",";
						}
						idString = idString.substr(0, idString.length-1);
						jQuery.post("sendMarkersDEV.php",
							{
								getCentralInfo:1, 
								id:idString
									
							},function(markerText){
								var infoArray = markerText.split("||");
								if (infoArray[0]==5){
									marker.openInfoWindowHtml(infoArray[1]);
									showingInfo = true;
								}
						});
				});
				if(markerFilter) { 
					toggleMarkers(true);
					jQuery("#loadingMarkersDisplay").hide();
				}else{
					toggleMarkers(false);
				}
				
				//markerClusterer = new MarkerClusterer(map, visibleMarkers, {gridSize: 50, maxZoom: 14});
			});
				
				
		}
	catch (err)
	{
		alert("addMarkers Error:"+err.description);
	}


}

function addMarkersFull(lc, kommun, lan, markerFilter){
	if (typeof markerFilter == 'undefined' ) markerFilter = 'true';
	datesFull = [];
	markersFull = [];
	visibleMarkersFull = [];
	markerIDsFull = [];
	visibleMarkerIDsFull = [];
	centralMarkerIDsFull = [];
	try {

		ajaxCallFull = jQuery.post("sendMarkersDEV.php",
			{
				kommunID:kommun,
				lanID:lan
				
			},function(markerText){
				if (markerText != ""){
					var markerFullArray = markerText.split("%%");
					for(i=0; i<markerFullArray.length; i++){
						var curMarker = markerFullArray[i].split("||");
						placeMarkerFull(curMarker[0], curMarker[1], curMarker[2], curMarker[3], curMarker[4], lc, curMarker[5], curMarker[6], markerFilter);
		
					}
				}
				
				var customIcon = new GIcon(baseIcon);
				customIcon.image = "images/ico/blandat.gif";
					
				 // Set up our GMarkerOptions object
				var markerOptions = { icon:customIcon };
				
				var marker = new GMarker(lc, markerOptions);
				map.addOverlay(marker);
				var newEvent = new GEvent.addListener(marker, "click", function() {
					var idString = "";
						for ( i=0; i < centralMarkerIDsFull.length; i++ )
						{
								idString += centralMarkerIDsFull[i]+",";
						}
						idString = idString.substr(0, idString.length-1);
						jQuery.post("sendMarkersDEV.php",
							{
								getCentralInfo:1, 
								id:idString
									
							},function(markerText){
								var infoArray = markerText.split("||");
								if (infoArray[0]==5){
									marker.openInfoWindowHtml(infoArray[1]);
									showingInfo = true;
								}
						});
				});

				downloadDone = true;
			});
				
				
		}
	catch (err)
	{
		alert("addMarkers Error:"+err.description);
	}

}



function placeMarker(type, id, icoImage, lat, lng, mainMarkerLoc, date, headline, markerFilter) {
		
			if (icoImage != null && id > 0){
				try {	
					var pos = new GLatLng(Number(lat),Number(lng));
					if (mainMarkerLoc.distanceFrom(pos)<5 && type == 2){
						centralMarkerIDs.push(id);
					}else{
							
						
						var customIcon = new GIcon(baseIcon);
						  customIcon.image = "images/ico/"+icoImage;

						  // Set up our GMarkerOptions object
						var markerOptions = { icon:customIcon, title:headline};
						var marker = new GMarker(pos, markerOptions);

						GEvent.addListener(marker, "click", function() {
							if(markerFilter){
								var idString = "";
								var obsIdString = "";
								for ( i=0; i < visibleMarkers.length; i++ )
								{
									var curMarker = visibleMarkers[i];
									if (pos.distanceFrom(curMarker.getLatLng())<5){
										if (curMarker.getIcon().image == "images/ico/observation.gif"){
											obsIdString += visibleMarkerIDs[i]+",";
										}else{
											idString += visibleMarkerIDs[i]+",";
										}
									}	
									
								}
								
								if (idString.length > 0){
												idString = idString.substr(0, idString.length-1);
											}
											if (obsIdString.length > 0){
												obsIdString = obsIdString.substr(0, obsIdString.length-1);
											}
								jQuery.post("sendMarkersDEV.php",
									{
										getINFO:1,
										obs:obsIdString,
										id:idString
											
									},function(markerText){
										var infoArray = markerText.split("||");
										if (infoArray[0]==5){
											marker.openInfoWindowHtml(infoArray[1]);
											showingInfo = true;
										}
								});
							}else{
								window.open("index.php?curPage=4&menu=1&crimeID="+id);
							}
							
						});
						
						var show = true;
						/*if (kommunID == <?=$fKommun?>){ 
							bounds.extend(pos);
						}*/
						markerIDs.push(id);
						visibleMarkerIDs.push(id);
						markers.push(marker);
						visibleMarkers.push(marker);
						dates.push(date);
					}
				}
				catch (err)
				{
					alert("placeMarker error: "+err);
				}
			}


}


function placeMarkerFull(type, id, icoImage, lat, lng, mainMarkerLoc, date, headline, markerFilter) {
		
	if (icoImage != null && id > 0){
		try {	
			var pos = new GLatLng(Number(lat),Number(lng));
			if (lat == 0 || (mainMarkerLoc.distanceFrom(pos)<5 && type == 2)){
				centralMarkerIDsFull.push(id);
			}else{
				var customIcon = new GIcon(baseIcon);
				  customIcon.image = "images/ico/"+icoImage;

				  // Set up our GMarkerOptions object
				var markerOptions = { icon:customIcon, title:headline };
				var marker = new GMarker(pos, markerOptions);

				GEvent.addListener(marker, "click", function() {
					
					if (markerFilter){
						var idString = "";
						var obsIdString = "";
						for ( i=0; i < visibleMarkersFull.length; i++ )
						{
							var curMarker = visibleMarkersFull[i];
							if (pos.distanceFrom(curMarker.getLatLng())<5){
								if (curMarker.getIcon().image == "images/ico/observation.gif"){
									obsIdString += visibleMarkerIDsFull[i]+",";
								}else{
									idString += visibleMarkerIDsFull[i]+",";
								}
							}	
							
						}
						if (idString.length > 0){
										idString = idString.substr(0, idString.length-1);
						}
						if (obsIdString.length > 0){
										obsIdString = obsIdString.substr(0, obsIdString.length-1);
						}
						
						jQuery.post("sendMarkersDEV.php",
							{
								getINFO:1,
								obs:obsIdString,
								id:idString
									
							},function(markerText){
								var infoArray = markerText.split("||");
								if (infoArray[0]==5){
									marker.openInfoWindowHtml(infoArray[1]);
									showingInfo = true;
								}
							});
						}else{
						window.open("index.php?curPage=4&menu=1&crimeID="+id);
						}
					});
					
						
					markerIDsFull.push(id);
					visibleMarkerIDsFull.push(id);
					markersFull.push(marker);
					visibleMarkersFull.push(marker);
					datesFull.push(date);
				}
				
				var show = true;
				/*if (kommunID == <?=$fKommun?>){ 
					bounds.extend(pos);
				}*/
				
		}catch (err){
			alert("placeMarker error: "+id);
		}
	}

}


function toggleMarkers(markerFilter){
	visibleMarkers = [];
	visibleMarkersFull = [];
	visibleMarkerIDs = [];
	visibleMarkerIDsFull = [];
	var mLength = 0;
	if (!markerFilter){
		
		if (showingMarkers){
			mLength = markersFull.length;
		}else{
			mLength = markers.length;
		}
		
		try{
	
		for ( i=0; i < mLength; i++ )
		{
			errorID = i;
			if (showingMarkers){
				var marker = markersFull[i];
				visibleMarkersFull.push(marker);
				visibleMarkerIDsFull.push(markerIDsFull[i]);
			}else{
				var marker = markers[i];
				visibleMarkers.push(marker);
				visibleMarkerIDs.push(markerIDs[i]);
			}
		}
		}catch (err){
			alert(err+"| ID: "+markerIDsFull[errorID]);
		}
		
	}else{
		var chkb1 = document.getElementById("chk1").checked;
		var chkb2 = document.getElementById("chk2").checked;
		var chkb3 = document.getElementById("chk3").checked;
		var chkb4 = document.getElementById("chk4").checked;
		var chkb5 = document.getElementById("chk5").checked;
		var chkb6 = document.getElementById("chk6").checked;
		var chkb7 = document.getElementById("chk7").checked;
		var chkb8 = document.getElementById("chk8").checked;
		var chkb9 = document.getElementById("chk9").checked;
		var chkb10 = document.getElementById("chk10").checked;
		var chkb11 = document.getElementById("chk11").checked;
		
		var fromDate = document.getElementById("startYear").value+""+document.getElementById("startMonth").value+
				""+document.getElementById("startDay").value;
		var toDate = document.getElementById("endYear").value+""+document.getElementById("endMonth").value+
				""+document.getElementById("endDay").value;
				
		if (showingMarkers){
			mLength = markersFull.length;
		}else{
			mLength = markers.length;
		}
		var errorID = "";
		try{
		
			for ( i=0; i < mLength; i++ )
			{
				errorID = i;
				if (showingMarkers){
					var marker = markersFull[i];
				}else{
					var marker = markers[i];
				}
				
				switch (marker.getIcon().image){
					case "images/ico/stold.gif":
						if (chkb1){
							if (showingMarkers){
								if((datesFull[i] >= fromDate) && (datesFull[i]<= toDate)){
										visibleMarkersFull.push(marker);
										visibleMarkerIDsFull.push(markerIDsFull[i]);
								}
							}else{
								if((dates[i] >= fromDate) && (dates[i]<= toDate)){
									visibleMarkers.push(marker);
									visibleMarkerIDs.push(markerIDs[i]);
								}
							}
						}
					break;
					case "images/ico/skadegorelse.gif":
						if (chkb2){
							if (showingMarkers){
								if((datesFull[i] >= fromDate) && (datesFull[i]<= toDate)){
										visibleMarkersFull.push(marker);
										visibleMarkerIDsFull.push(markerIDsFull[i]);
								}
							}else{
								if((dates[i] >= fromDate) && (dates[i]<= toDate)){
									visibleMarkers.push(marker);
									visibleMarkerIDs.push(markerIDs[i]);
								}
							}
						}
					break;
					case "images/ico/vald.gif":
						if (chkb3){
							if (showingMarkers){
								if((datesFull[i] >= fromDate) && (datesFull[i]<= toDate)){
										visibleMarkersFull.push(marker);
										visibleMarkerIDsFull.push(markerIDsFull[i]);
								}
							}else{
								if((dates[i] >= fromDate) && (dates[i]<= toDate)){
									visibleMarkers.push(marker);
									visibleMarkerIDs.push(markerIDs[i]);
								}
							}
						}
					break;
					case "images/ico/inbrott.gif":
						if (chkb4){
							if (showingMarkers){
								if((datesFull[i] >= fromDate) && (datesFull[i]<= toDate)){
										visibleMarkersFull.push(marker);
										visibleMarkerIDsFull.push(markerIDsFull[i]);
								}
							}else{
								if((dates[i] >= fromDate) && (dates[i]<= toDate)){
									visibleMarkers.push(marker);
									visibleMarkerIDs.push(markerIDs[i]);
								}
							}
						}
					break;
					case "images/ico/ran.gif":
						if (chkb5){
							if (showingMarkers){
								if((datesFull[i] >= fromDate) && (datesFull[i]<= toDate)){
										visibleMarkersFull.push(marker);
										visibleMarkerIDsFull.push(markerIDsFull[i]);
								}
							}else{
								if((dates[i] >= fromDate) && (dates[i]<= toDate)){
									visibleMarkers.push(marker);
									visibleMarkerIDs.push(markerIDs[i]);
								}
							}
						}
					break;
					case "images/ico/forsvunna.gif":
						if (chkb6){
							if (showingMarkers){
								if((datesFull[i] >= fromDate) && (datesFull[i]<= toDate)){
										visibleMarkersFull.push(marker);
										visibleMarkerIDsFull.push(markerIDsFull[i]);
								}
							}else{
								if((dates[i] >= fromDate) && (dates[i]<= toDate)){
									visibleMarkers.push(marker);
									visibleMarkerIDs.push(markerIDs[i]);
								}
							}
						}
					break;
					case "images/ico/trafik.gif":
						if (chkb7){
							if (showingMarkers){
								if((datesFull[i] >= fromDate) && (datesFull[i]<= toDate)){
										visibleMarkersFull.push(marker);
										visibleMarkerIDsFull.push(markerIDsFull[i]);
								}
							}else{
								if((dates[i] >= fromDate) && (dates[i]<= toDate)){
									visibleMarkers.push(marker);
									visibleMarkerIDs.push(markerIDs[i]);
								}
							}
						}
					break;
					case "images/ico/bedrageri.gif":
						if (chkb8){
							if (showingMarkers){
								if((datesFull[i] >= fromDate) && (datesFull[i]<= toDate)){
										visibleMarkersFull.push(marker);
										visibleMarkerIDsFull.push(markerIDsFull[i]);
								}
							}else{
								if((dates[i] >= fromDate) && (dates[i]<= toDate)){
									visibleMarkers.push(marker);
									visibleMarkerIDs.push(markerIDs[i]);
								}
							}
						}
					break;
					case "images/ico/observation.gif":
						if (chkb9){
							if (showingMarkers){
								if((datesFull[i] >= fromDate) && (datesFull[i]<= toDate)){
										visibleMarkersFull.push(marker);
										visibleMarkerIDsFull.push(markerIDsFull[i]);
								}
							}else{
								if((dates[i] >= fromDate) && (dates[i]<= toDate)){
									visibleMarkers.push(marker);
									visibleMarkerIDs.push(markerIDs[i]);
								}
							}
						}
					break;
					case "images/ico/narkotika.gif":
						if (chkb10){
							if (showingMarkers){
								if((datesFull[i] >= fromDate) && (datesFull[i]<= toDate)){
										visibleMarkersFull.push(marker);
										visibleMarkerIDsFull.push(markerIDsFull[i]);
								}
							}else{
								if((dates[i] >= fromDate) && (dates[i]<= toDate)){
									visibleMarkers.push(marker);
									visibleMarkerIDs.push(markerIDs[i]);
								}
							}
						}
					break;
					case "images/ico/ovrigt.gif":
						if (chkb11){
							if (showingMarkers){
								if((datesFull[i] >= fromDate) && (datesFull[i]<= toDate)){
										visibleMarkersFull.push(marker);
										visibleMarkerIDsFull.push(markerIDsFull[i]);
								}
							}else{
								if((dates[i] >= fromDate) && (dates[i]<= toDate)){
									visibleMarkers.push(marker);
									visibleMarkerIDs.push(markerIDs[i]);
								}
							}
						}
					break;
					case "images/ico/blandat.gif":

					break;
					default:
					//alert(marker.getIcon().image);
				}
			
			}
		}
		catch (err){
			alert(err+"| ID: "+markerIDsFull[errorID]);
		}
	}
	if (showingMarkers){
		if (markerClustererFull != null && markerClustererFull != "") {
			markerClustererFull.clearMarkers();
		}
		markerClustererFull = new MarkerClusterer(map, visibleMarkersFull, {gridSize: 50, maxZoom: 14});
	}else{
		
		if (markerClusterer != null && markerClusterer != "") {
			markerClusterer.clearMarkers();
		}
		markerClusterer = new MarkerClusterer(map, visibleMarkers, {gridSize: 50, maxZoom: 14});
	}
	
	
}


function updateKommunDDL(dropDown, curSelectedValue){
	var selectedIndex = dropDown.selectedIndex;
	var selectedValue = dropDown.options[selectedIndex].value;
	
	// HTML-objects
	var kommunDropDown = document.getElementById("kommunDDL");
	
	// Empty kommunDropDown
	removeOptions(kommunDropDown);
	
	var HTTPRequest = makeHTTPRequestWait("getKommuner=1" + "&action=AGeneral", 	"lanID=" + selectedValue);
	
	// Get kommuner
	var kommuner = String("" + HTTPRequest.responseText);
	kommunerArray = kommuner.split("*");

	// Add "standard" text to kommun dropdown
	addOption(kommunDropDown, "Välj kommun", "");
	
	// Loop through and add kommuner to kommunDropDown
	var curSelectedIndex;
	for(var i = 0; i < kommunerArray.length - 1; i++)
	{
		var values = kommunerArray[i].split(",");
		addOption(kommunDropDown, values[1], values[0]);

		if(values[0] == curSelectedValue)
		{
			curSelectedIndex = i + 1; // + 1 because a standardvalue is shown "välj kommun"
		}
	}
	
	// If curSelectedIndex is set
	if(curSelectedIndex)
	{
		kommunDropDown.selectedIndex = curSelectedIndex;
	}
}

function changeMap(dropDown){
	
	var selectedIndex = dropDown.selectedIndex;
	var selectedValue = dropDown.options[selectedIndex].value;
	
	window.location="index.php?curPage=27&kommun="+selectedValue;


}

function addComment(label){
	if (label.innerHTML == "Har du gjort en iakttagelse?"){
		label.innerHTML="Markera på kartan var det hände.";
		
		var contentString = "<div id='addObservationContainer'>"+
							"<form name='addObsForm' method='POST' action='http://www.brottsportalen.se/index.php?curPage=5' onSubmit='return sendObs(this);'>"+
							"<b>Ny observation</b><br /><br /><br />"+
							"Rubrik:<br />"+
							"<input type='text' AUTOCOMPLETE=OFF class='textfieldFloat' style='width:150px;' name='observationTitle' />"+
							"<br /><br />"+
							"<br />Observerat:<br />"+
							"<textarea rows='10' AUTOCOMPLETE=OFF cols='30' name='observationText' id='observationText'></textarea><br />"+
							"<input type='hidden' name='obsLat' value='3' id='obsLat' />"+
							"<input type='hidden' name='obsLng' value='4' id='obsLng' />"+
							"<input type='hidden' name='obsKommun' value='' id='obsKommun' />"+
							"<input type='Submit' name='sendObsButton' id='sendObsButton' value='Gå vidare >>' />"+
							"</form></div>";
		
	
		obsListener = GEvent.addDomListener(map, 'click', function(overlay, point) {
				try{
				isObsWindow = true;
				// Set up our GMarkerOptions object
				var customIcon = new GIcon(baseIcon);
				customIcon.image = "images/ico/observation.gif";
				var markerOptions = { icon:customIcon, title:"Ny observation"};
				obsMarker = new GMarker(point, markerOptions);
				map.addOverlay(obsMarker);
				obsMarker.openInfoWindowHtml(contentString);
				var myLatLngShort = point.toUrlValue().split(",");

				obsLat = myLatLngShort[0];
				obsLng =  myLatLngShort[1];
				
				}catch(err){
					alert(err);
				}
			});
	}
}

function sendObs(form){
	var rubrik = form.observationTitle.value;
	var text = form.observationText.value;
	form.obsLat.value = obsLat;
	form.obsLng.value = obsLng;
	if (rubrik == ""){
		alert("Rubrik ej ifylld.");
		return false;
	}
	if (text == ""){
		alert("Observationstext ej ifylld.");
		return false;
	}
	return true;
	

}

