function createMarker(point,name,html,dirinfo,pdIcon) {
	//var pdIcon = createIcon();
	var marker = new GMarker(point, {title:name, icon:pdIcon} );
	if (typeof dirinfo == 'undefined' ) dirinfo = false;
	if(dirinfo==true) {
		directions='<br>Directions: <a href="http://maps.google.com/maps?saddr=&daddr=' + point.toUrlValue() + '" target="_blank">to here</a> - <a href="http://maps.google.com/maps?daddr=&saddr=' + point.toUrlValue() + '" target="_blank">from here</a>';}
	else {directions='';}
	if (html!='') {
		GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(html+directions); });
	}
	return marker;
}

/*function createIcon(dotColour) {
	if (typeof dotColour == 'undefined' ) dotColour = 'pink';
	var icon = new GIcon(G_DEFAULT_ICON,"/images/" + dotColour + "_dot.png");
	icon.iconSize = new GSize(20, 34);
	return icon;
}
*/
function createIcon(dotColour) {
	var imageUrl=document.getElementById("baseLink").value;
	if (typeof dotColour == 'undefined' ) dotColour = 'pink';
	var icon = new GIcon(G_DEFAULT_ICON,imageUrl+"images/" + dotColour + "_dot.png");
	icon.iconSize = new GSize(20, 34);
	return icon;
}

function loadmap(mapdiv,label,html,lng,lat,zoom,controlsize) {
	if (GBrowserIsCompatible()) {
		var map = null;
		var bounds = new GLatLngBounds();
		var pdIcon = createIcon();
		
		if (typeof controlsize == 'undefined' ) controlsize = '';
		
		var map = new GMap2(document.getElementById(mapdiv));
		//map.enableScrollWheelZoom();
		if(controlsize!='large') {
			//map.addControl(new GSmallMapControl());
		}
		else {
			//map.addControl(new GLargeMapControl());
		}
		//map.addControl(new GMapTypeControl());
		//map.addControl(new GScaleControl());
		
		var point = new GLatLng(lat,lng);
		map.setCenter(point,13);
		map.setUIToDefault();
		var marker = createMarker(point,label,html,true,pdIcon);
		map.addOverlay(marker); 
		bounds.extend(marker.getPoint());
		
		if (zoom == '') map.setZoom(13);
		else map.setZoom(zoom);
		map.setCenter(bounds.getCenter());
	}
	else {
      document.getElementById(mapdiv).innerHTML = 'Sorry, the Google Maps API is not compatible with this browser';
    }
}

function loadmapresults(mapdiv,sXMLData,searchlat,searchlong,searchinfo) {
	if (GBrowserIsCompatible()) {
        var geocoder = new GClientGeocoder();
  		var objBounds = new GLatLngBounds();
		var pdIcon = createIcon();
		if (typeof searchlat == 'undefined' ) searchlat = '';
		if (typeof searchlong == 'undefined' ) searchlong = '';
		if (typeof searchinfo == 'undefined' ) searchinfo = '';

		var map = new GMap2(document.getElementById(mapdiv));
		//map.enableScrollWheelZoom();
		/*map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.addControl(new GScaleControl());*/
		
		map.setCenter(new GLatLng(54,-2),5);
		map.setUIToDefault();
		//GDownloadUrl(sFileName, function(data, responseCode) {  
			var xml = GXml.parse(sXMLData);  
			var markers = xml.documentElement.getElementsByTagName("marker");  
			for (var i = 0; i < markers.length; i++) {
				var lat = parseFloat(markers[i].getAttribute("lat"));
				var lng = parseFloat(markers[i].getAttribute("lng"));
				var point = new GLatLng(lat,lng);
				var locname = markers[i].getAttribute("locname");
				var locinfo = markers[i].getAttribute("locinfo");
				var marker = createMarker(point,locname,locname+locinfo,false,pdIcon);
				map.addOverlay(marker);  
				objBounds.extend(marker.getPoint());
			}
			if(searchlat!=''&&searchlong!='') {
				var point = new GLatLng(searchlat,searchlong);
				var pdPurpleIcon = createIcon('purple');
				var marker = createMarker(point,'Search Centre',"<b>Search Centre</b><br>This is the centre point of the search <br>from which distances are calculated.<br>"+searchinfo, false,pdPurpleIcon);
				map.addOverlay(marker);  
				objBounds.extend(marker.getPoint());
			}
			map.setZoom(map.getBoundsZoomLevel(objBounds));
			map.setCenter(objBounds.getCenter());
			map.savePosition()
		//});
	}
	else {
      document.getElementById(mapdiv).innerHTML = 'Sorry, the Google Maps API is not compatible with this browser';
    }
}

function addEvent(elementObject, eventName, functionObject) {
	if(document.addEventListener) {
		elementObject.addEventListener(eventName, functionObject, false);}
	else if(document.attachEvent) {
		elementObject.attachEvent("on" + eventName, functionObject);}
}

function addLoadEvent(eventName, functionObject) {
	if( window.addEventListener ) {
	  window.addEventListener(eventName,functionObject,false);
	} else if( document.addEventListener ) {
	  document.addEventListener(eventName,functionObject,false);
	} else if( window.attachEvent ) {
	  window.attachEvent("on" + eventName,functionObject);
	}
}

