_mPreferMetric=true;
var geocoder = null;
var start = 0;
var center ;
var radius ;
var circle ;
var currentArea = 0;
var currentInfo = 0;
var totalAreas = 0;
var arrSearcharea = [] ;
var arrArea = [] ;
var selected = [] ;
var sessionSelected = [] ;
var searchrequests = 0;
var Cpoints = [] ;
var vorm = [];
var usedVorm = [];
var oplagetotaal = 0;
var oldtotaal = 0;
var gicon ;
var icon ;
var map = null;
var bounds = null;
var request = null;
var geoXml = null;

function processSelectedDBareas(latlng, radius, zoekcode){
	request = GXmlHttp.create();
	//prompt('tekst',"http://"+ef_config.host+"/maps/selectionxml.php?latlng="+latlng+"&radius="+radius+"&gebiedcode="+zoekcode);
    request.open("GET", "http://"+ef_config.host+"/maps/selectionxml.php?latlng="+latlng+"&radius="+radius+"&gebiedcode="+zoekcode, true);
    request.onreadystatechange = function() {
    	if (request.readyState == 4) {
			var xmlDoc = GXml.parse(request.responseText);
			var areas = xmlDoc.documentElement.getElementsByTagName("area");
			if(areas) {
				displayResultBox('');
				totalAreas = areas.length;
				var points = new Array();
				for (var s=0; s<totalAreas; s++) {
					var reseller = areas[s];
					var id = reseller.getAttribute("leadid");
					var desc = reseller.getAttribute("description");
					if(desc){ createResultRule(id, desc, s); }
					points.push( Array( new GLatLng(parseFloat(reseller.getAttribute("lat")), parseFloat(reseller.getAttribute("lng"))), desc, id));
					//map.addOverlay(new GMarker(point));
				}
				drawPoints(points);
			}
			hideEFbox();
		}
    }
    request.send(null);
}
function drawPoints(arrPoints){
	map.clearOverlays();
	bounds = new GLatLngBounds();
	for(var i=0; i<arrPoints.length; i++){
		var marker = createMarker(arrPoints[i][0], arrPoints[i][1], arrPoints[i][2]);
		bounds.extend(arrPoints[i][0]);
		map.addOverlay(marker);
	}
    map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
}
function createMarker(latlng, desc, id) {
	var marker = new GMarker(latlng, icon);
	if(desc){ var arrHtml = desc.split('|'); }
	if(arrHtml){
		GEvent.addListener(marker, 'click', function() {
			if(arrHtml[1] == ''){
				marker.html = ['<b>', arrHtml[0], '</b><br>', arrHtml[2], '<br> ', arrHtml[3]].join('');
			}
			else{
				marker.html = ['<b><a href="http://'+ef_config.host+'/dealers/dealer.php?i='+id+'&u='+arrHtml[1]+'" title="'+arrHtml[0]+'" target="_blank" onClick="pageTracker._trackEvent(\'dealerlocatie\', \'click\', \''+arrHtml[1]+'\');pageTracker._trackPageview(\'naardealer\'); ">', arrHtml[0], '</a></b><br>', arrHtml[2], '<br> ', arrHtml[3]].join('');
			}
			currentMarker = marker;
			marker.openInfoWindowHtml(marker.html);
		});
	}
	return marker;
}
function createCell(strClass,type,objNode){
	var objInsert = null;
	var objCell = document.createElement('td');
	if(strClass != '') objCell.className = strClass;
	if(type == 'text'){ objInsert = document.createTextNode(objNode); }
	else { objInsert = objNode ; }
	objCell.appendChild(objInsert);
	return objCell;
}
function createHCell(strClass,type,objNode){
	var objInsert = null;
	var objCell = document.createElement('th');
	if(strClass != '') objCell.className = strClass;
	if(type == 'text'){ objInsert = document.createTextNode(objNode); }
	else { objInsert = objNode ; }
	objCell.appendChild(objInsert);
	return objCell;
}
function createInput(strType,strName,strValue,strClass){
	var objInput = document.createElement('input');
	if(strClass != '') objInput.className = strClass;
	objInput.type = strType;
	objInput.name = strName;
	objInput.value = strValue;
	return objInput;
}
function createImage(strSrc,strWidth,strHeight,strAlt,strClass){
	var objImg = document.createElement('img');
	objImg.src = strSrc;
	if(strClass != '') objImg.className = strClass;
	objImg.width = strWidth;
	objImg.height = strHeight;
	objImg.alt = strAlt;
	return objImg;
}
function createResultRule(id,content,nr){
	nr = nr+1;
	var objParent = element('results');
	if(objParent){
		if(objParent.innerHTML == ''){
			var tableHtml = '<h2>Resultaten</h2><table border="0" cellspacing="0" cellpadding="0"><col width="10"><col width="150"><col width="50"><col width="60"><tbody></tbody></table>';
			objParent.innerHTML = tableHtml;
		}
		var arrContent = content.split('|');
		var objRow = document.createElement('tr');
		if(nr%2 == 1) objRow.setAttribute('class','odd');
		var objHeader = createHCell('','text', nr);
		objRow.appendChild(objHeader);
		$rowAmount = arrContent.length
		for(var t=0; t<$rowAmount; t++){
			if(t==0){
				var objCell = createCell('','text', '');
				//if(arrContent[1]!='') { objCell.innerHTML = '<a href="http://'+ef_config.host+'/dealers/dealer.php?i='+id+'&u='+arrContent[1]+'" title="'+arrContent[t]+'" target="_blank" rel="nofollow">'+arrContent[t]+'</a>'; }
				if(arrContent[1]!='') { objCell.innerHTML = '<a href="http://'+ef_config.host+'/dealers/dealer.php?i='+id+'&u='+arrContent[1]+'" title="'+arrContent[t]+'" target="_blank" onClick="pageTracker._trackEvent(\'dealerlocatie\', \'click\', \''+arrContent[1]+'\');pageTracker._trackPageview(\'naardealer\'); ">'+arrContent[t]+'</a>'; }
				else { objCell.innerHTML = arrContent[t]; }
				t=1;
			}
			else if (t == $rowAmount-1 ){ var objCell = createCell('','text', arrContent[t]); }
			else { var objCell = createCell('','text', arrContent[t]); }
			objRow.appendChild(objCell);
		}
		var objTableBody = objParent.getElementsByTagName('tbody')[0];
		if(objTableBody) { objTableBody.appendChild(objRow); }
	}
	return true;
}

function showAddress(miles,address) {
 	showEFbox();
 	geocoder = new GClientGeocoder();
	geocoder.setBaseCountryCode('nl');
	var newaddress = address.replace(' ', '');
	var part1 = newaddress.substr(0,4);
	var part2 = newaddress.substr(4,2);
	var strAdres = part1 +" "+ part2 +",NL";
	//alert(strAdres);
	geocoder.getLocations(strAdres, function(response){
		if (!response || response.Status.code != 200) { hideEFbox(); alert(address + " niet gevonden \n\nstatus: "+ response.Status.code);  }
		else {
			var place = response.Placemark[0];
        	var point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
			var latlng = place.Point.coordinates[1]+","+place.Point.coordinates[0];

		 	processSelectedDBareas(latlng, miles, address);
		}
	}) ;
}
function load() {
  var zoom = 7 ;
  if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("map"));
    map.setCenter(new GLatLng(52.19898,5.329742), zoom);
    map.addControl(new GSmallMapControl());
	//map.setMapType(G_PHYSICAL_MAP);
	geocoder = new GClientGeocoder();
	geocoder.setBaseCountryCode('nl');
	icon = new GIcon();
	icon.image = "http://"+ef_config.host+"/maps/mrkr.png";
	icon.shadow = "http://"+ef_config.host+"/maps/shdw.png";
	icon.iconSize = new GSize(21.0, 36.0);
    icon.shadowSize = new GSize(42.0, 29.0);
    icon.iconAnchor = new GPoint(13.0, 14.0);
    icon.infoWindowAnchor = new GPoint(13.0, 14.0);
    icon.imageMap = [1,1,27,1,27,29,29,1];
  }
  if(ef_config.search && ef_config.search != '' && start==0){
  	showAddress(20, ef_config.search);
  	start++;
  }
}
