// JavaScript Document

//Ikoner
var dkCamp0 = new GIcon();
dkCamp0.image = "http://www.dk-camp.dk/images/icons/90LAnchorX25y6.png";
dkCamp0.iconSize = new GSize(26, 14);
dkCamp0.iconAnchor = new GPoint(25, 6);
dkCamp0.infoWindowAnchor = new GPoint(5, 1);
dkCamp0.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";	
dkCamp0.shadowSize = new GSize(22, 20);

var dkCamp1 = new GIcon();
dkCamp1.image = "http://www.dk-camp.dk/images/icons/45LAnchorX21y22.png";
dkCamp1.iconSize = new GSize(23, 23);
dkCamp1.iconAnchor = new GPoint(21, 22);
dkCamp1.infoWindowAnchor = new GPoint(5, 1);
dkCamp1.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";	
dkCamp1.shadowSize = new GSize(22, 20);

var dkCamp2 = new GIcon();
dkCamp2.image = "http://www.dk-camp.dk/images/icons/x6y22.png";
dkCamp2.iconSize = new GSize(14, 23);
dkCamp2.iconAnchor = new GPoint(6, 22);
dkCamp2.infoWindowAnchor = new GPoint(5, 1);
dkCamp2.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";	
dkCamp2.shadowSize = new GSize(22, 20);

var dkCamp3 = new GIcon();
dkCamp3.image = "http://www.dk-camp.dk/images/icons/45RAnchorX1y22.png";
dkCamp3.iconSize = new GSize(23, 23);
dkCamp3.iconAnchor = new GPoint(1, 22);
dkCamp3.infoWindowAnchor = new GPoint(5, 1);
dkCamp3.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";	
dkCamp3.shadowSize = new GSize(22, 20);

var dkCamp4 = new GIcon();
dkCamp4.image = "http://www.dk-camp.dk/images/icons/90RAnchorX0y6.png";
dkCamp4.iconSize = new GSize(26, 14);
dkCamp4.iconAnchor = new GPoint(0, 6);
dkCamp4.infoWindowAnchor = new GPoint(5, 1);
dkCamp4.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";	
dkCamp4.shadowSize = new GSize(22, 20);

var dkCamp5 = new GIcon();
dkCamp5.image = "http://www.dk-camp.dk/images/icons/sneX29Y11.png";
dkCamp5.iconSize = new GSize(21, 31);
dkCamp5.iconAnchor = new GPoint(11, 29);
dkCamp5.infoWindowAnchor = new GPoint(5, 1);
dkCamp5.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";	
dkCamp5.shadowSize = new GSize(22, 20);

var dkCamp6 = new GIcon();
dkCamp6.image = "http://www.dk-camp.dk/images/icons/snetlfX29Y11.png";
dkCamp6.iconSize = new GSize(21, 31);
dkCamp6.iconAnchor = new GPoint(11, 29);
dkCamp6.infoWindowAnchor = new GPoint(5, 1);
dkCamp6.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";	
dkCamp6.shadowSize = new GSize(22, 20);

function showSearchPane(){
var mapContainer = $('map')
var mapPosition = Element.positionedOffset(mapContainer); 
$('mapSearchPane').style.left = mapPosition.left+548 + 'px';
$('mapSearchPane').style.top = mapPosition.top + 'px';
$('mapSearchPane').style.display = 'block';
}

function updateMapFromSearch(){
if (ajaxChanges == false){
	setTimeout("updateMapFromSearch()",500)
} else {
	//alert(ajaxChanges)
	searchResultVisible = true;
	mgr.clearMarkers();
	//Punkter fra søgeresultat vises på kortet.
	mgr.addMarkers(lightmarkers,0,8);
	mgr.addMarkers(largeMarkers,9,17);
	mgr.refresh();
	if (searchCount > 0){
		//Udvider bounds med 10%, så der ikke ligger nogen punkter under controlpanelerne i toppen af kortet
		var degreeAmount = (searchBoundsOfData.getNorthEast().lat()-searchBoundsOfData.getSouthWest().lat()) * 0.1;
		if( (searchBoundsOfData.getNorthEast().lat()+degreeAmount) <= 90){
			searchBoundsOfData.extend(new GLatLng(searchBoundsOfData.getNorthEast().lat()+degreeAmount,searchBoundsOfData.getNorthEast().lng()));
		};
		map.setCenter(searchBoundsOfData.getCenter(),map.getBoundsZoomLevel(searchBoundsOfData));
	}
	$('searchCount').innerHTML = searchCount;
	$('ajaxLoader').hide();
	if (hideSearchSum == false){
		$('searchCountContainer').show()
		$('searchInfo').show();
	} else {
		hideSearchSum = false;
	}
	ajaxChanges = false;
	
}
}

function clearSearch(){							
mgr.clearMarkers();
mgr.addMarkers(lightmarkersAll,0,8);
mgr.addMarkers(largeMarkersAll,9,17);
mgr.refresh();
searchResultVisible = false;
$('searchCountContainer').hide();
$('searchInfo').hide();
$('ajaxLoader').show();
map.setCenter(boundsOfData.getCenter(),map.getBoundsZoomLevel(boundsOfData));
ajaxUpdateCampSite(map.getBounds(),map.getZoom())

var form = $('gmapSearchForm')
checkBoxArray = form.getInputs('checkbox');
for (i=0;i<checkBoxArray.length;i++)
checkBoxArray[i].checked = false;

$('starCount').value = 0;
$('annLandKortNr').value = 0;
}

function serializeSettigsForm(){
	if (searchResultVisible == true){
		//alert("asd")
		$('searchInfo').hide();
		$('ajaxLoader').show();
	} else {
		$('searchCountContainer').show();
	}
	new Ajax.Updater('campSiteContainer', '/pages/searchResult.asp', {
	  method:'get',
	  evalScripts:true,
	  parameters: $('gmapSearchForm').serialize(),
	  onComplete: function() { 
		setTimeout("updateMapFromSearch()",500) 								  										
	  }
	});
}

var searchPaneOpen = false;
var paneTweenInprogres = false;

function toggleSearchPane(language){
if (searchPaneOpen == true){
	if(paneTweenInprogres == false){
		paneTweenInprogres = true
		tweenPaneIn = new Tween($('mapSearchPaneTable').style,'left',Tween.strongEaseOut,0,-301,0.5,'px');
		tweenPaneIn.onMotionFinished = function(){
			paneTweenInprogres = false;
			if (language == 1){
				$('searchPanelHandle').src = '/images/gmap/searchPanelHandleIn.gif'
			} else if (language == 3){
				$('searchPanelHandle').src = '/images/gmap/searchPanelHandleInEn.gif'
			} else if (language == 4){
				$('searchPanelHandle').src = '/images/gmap/searchPanelHandleInDe.gif'
			} else if (language == 9){
				$('searchPanelHandle').src = '/images/gmap/searchPanelHandleInNl.gif'
			}
			$('mapSearchPane').style.width = 40 + 'px';
		};
		tweenPaneIn.start();
		searchPaneOpen = false;
	}
} else {
	if(paneTweenInprogres == false){
		paneTweenInprogres = true
		$('mapSearchPane').style.width = 338 + 'px';	
		tweenPaneOut = new Tween($('mapSearchPaneTable').style,'left',Tween.strongEaseOut,-301,0,0.5,'px');
		tweenPaneOut.onMotionFinished = function(){
			paneTweenInprogres = false;
			
			if (language == 1){
				$('searchPanelHandle').src = '/images/gmap/searchPanelHandle.gif'
			} else if (language == 3){
				$('searchPanelHandle').src = '/images/gmap/searchPanelHandleEn.gif'
			} else if (language == 4){
				$('searchPanelHandle').src = '/images/gmap/searchPanelHandleDe.gif'
			} else if (language == 9){
				$('searchPanelHandle').src = '/images/gmap/searchPanelHandleNl.gif'
			}
		};
		tweenPaneOut.start();
		searchPaneOpen = true;
	}
}
}

function adjustDesignToFitSearchPane(){
var mapPosition = Element.positionedOffset($('map')).top; 
var contentBottom = $('bottomContent')
var searchPaneBottom = $('searchPaneBottom')
var contentDif = Element.positionedOffset(contentBottom).top - (Element.positionedOffset(searchPaneBottom).top+mapPosition);
//$('mapSearchPane').style.left = mapPosition.left+548 + 'px';
//$('mapSearchPane').style.top = mapPosition.top + 'px';
//$('mapSearchPane').style.display = 'block';
//alert(contentDif);
if (contentDif<0){
	contentDif = (contentDif * -1) + 75;
		$('underMapSpacer').style.height = (Element.getHeight($('underMapSpacer')) + contentDif) + 'px';
	} else if (contentDif > 61) {
		contentDifTemp = Element.getHeight($('underMapSpacer')) - (contentDif - 61);
		if (contentDifTemp > 0){
			$('underMapSpacer').style.height = contentDifTemp + 'px';
		} else {
			$('underMapSpacer').style.height = '1px';
		}
	}
}

function copyToClipboard(){
gmapStartCode = "<!--GMAP/";
gmapEndCode = "/GMAP-->";
if ($('hideSearchSum').checked == true){
	aSection = "hideSearchSum=1/"
} else {
	aSection = "hideSearchSum=0/"
}
if ($('hideSearchPanel').checked == true){
	bSection = "hideSearchPanel=1/"
} else {
	bSection = "hideSearchPanel=0/"
}
if ($('hideCampsitesUnder').checked == true){
	cSection = "hideCampsitesUnder=0/"
} else {
	cSection = "hideCampsitesUnder=1/"
}

if (searchResultVisible == true){
searchParams = $('gmapSearchForm').serialize();
} else {
searchParams = "searchParams=false&zoomlevel=" + map.getZoom() + "&centerLatLong=" + map.getCenter();
}

s = gmapStartCode + aSection + bSection + cSection + searchParams + gmapEndCode;

$('embedCode').value = s;
}

function ajaxUpdateCampSite(bounds,zoomlevel){
	//if (zoomlevel > 8){
		var url = '/pages/ajaxCampsites.asp';
		var pars = 'bounds='+ bounds;
		var myAjax = new Ajax.Updater(
		'campSiteContainer', 
		url,
		{
			method: 'get', 
			parameters: pars,
			onComplete: function() { 
				adjustDesignToFitSearchPane();
			}
			
		});
	//} else if (zoomlevel < 9){
		//$('campSiteContainer').innerHTML = "";
	//}
}
