function checkFormFieldForNull(field, alertTxt)
{
	with (field)
	{
		if (value==null || value=="")
		{
			alert(alertTxt);
			return false;
		}
		else
		{
			return true;
		}
	}
}

function validateEmailAddress(field, alertTxt)
{
	with (field)
	{
		apos=value.indexOf("@");
		dotpos=value.lastIndexOf(".");
		if (apos<1||dotpos-apos<2) 
		{
			alert(alertTxt);
			return false;
		}
		else
		{
			return true;
		}
	}
}


function validateRegistrationForm(thisForm)
{
	with (thisForm)
	{
		if (checkFormFieldForNull(firstname, "Please enter your forename(s) please.")==false)
		{
			firstname.focus();
			return false;
		}

		if (checkFormFieldForNull(surname, "Please enter your surname please.")==false)
		{
			surname.focus();
			return false;
		}

		if (checkFormFieldForNull(email, "Please enter your e-mail address please.")==false)
		{
			email.focus();
			return false;
		}

		if (validateEmailAddress(email, "Please enter a valid e-mail address please")==false)
		{
			email.focus();
			return false;
		}
	}
}

function showPopup(url, name, width, height, showScrollbars)
{
	var newWindow;

	var scrollbars = "no";
	var windowWidth = Math.min(width, screen.availWidth);
	var windowHeight = Math.min(height, screen.availHeight);
	if (showScrollbars == "yes")
		scrollbars = "yes";
	else if (scrollbars == "decide") {
		if (windowHeight < height)
			scrollbars = "yes";
	}

	var windowOptions = 'scrollbars='+scrollbars+',menubar=no,height='+windowHeight+',width='+windowWidth+',resizable=no,toolbar=no,status=no';

	newWindow=window.open(url,name,windowOptions);
	if (window.focus)
	{
		newWindow.focus();
	}
}

function showPicture(url, width, height)
{
	var newWindow;

	var argString="'height="+height+",width="+width+"'";

	newWindow=window.open(url,'name',argString);
	if (window.focus)
	{
		newWindow.focus();
	}
}

function makeGalleryTabActive(thisLineItem)
{
	var lineItems=document.getElementsByTagName("li");

	for (var i = 0; i < lineItems.length; i++)
	{
		if (lineItems[i].id == "galleryTab")
		{
			lineItems[i].className = "";
		}
	}

	thisLineItem.className = "active";
}

function mapLoadOld()
{
	if (GBrowserIsCompatible())
	{
		var map = new GMap2(document.getElementById("map"));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMenuMapTypeControl());
		map.addControl(new GOverviewMapControl());
		map.setCenter(new GLatLng(36.9487, -3.3561), 13);
		map.setMapType(G_HYBRID_MAP);

		GDownloadUrl("data.xml", function(data, responseCode) {
			var xml = GXml.parse(data);
			var markers = xml.documentElement.getElementsByTagName("marker");

			function createMarker(point, html)
			{
				var marker = new GMarker(point);
				GEvent.addListener(marker, 'click', function() {
					marker.openInfoWindowHtml(html);
				});
				return marker;
			}

			for (var i = 0; i < markers.length; i++)
			{
				var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng")));
				var html = '<p>'+markers[i].getAttribute("txt")+'</p><a href="'+markers[i].getAttribute("imgHref")+'" onclick="showPicture(this.href,\''+markers[i].getAttribute("imgWidth")+'\',\''+markers[i].getAttribute("imgHeight")+'\'); return false;"><img src="'+markers[i].getAttribute("imgThumbnail")+'"/></a>';
				map.addOverlay(createMarker(point, html));
			}
	        });
	}
}

function mapLoad()
{
	if (GBrowserIsCompatible())
	{
		var map = new GMap2(document.getElementById("map"));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMenuMapTypeControl());
		map.addControl(new GOverviewMapControl());
		map.setCenter(new GLatLng(36.9487, -3.3561), 10);
		map.setMapType(G_HYBRID_MAP);

		GDownloadUrl("image_gallery.xml", function(data, responseCode) {
			var xml = GXml.parse(data);
			var categories = xml.documentElement.getElementsByTagName("category");

			function createMarker(point, html, mapIcon)
			{
				markerOptions = { icon:mapIcon };
				var marker = new GMarker(point, markerOptions);
				GEvent.addListener(marker, 'click', function() {
					marker.openInfoWindowHtml(html);
				});
				return marker;
			}

			for (var i = 0; i < categories.length; i++)
			{
				if (categories[i].getAttribute("showOnMap") == "Y")
				{
					var mapIcon = new GIcon(G_DEFAULT_ICON);
					mapIcon.image = categories[i].getAttribute("mapIconImage");

					var images = categories[i].getElementsByTagName("image");
					for (var j = 0; j < images.length; j++)
					{
						var image = images[j];
						if (image.getAttribute("showOnMap") == "Y")
						{
							var point = new GLatLng(parseFloat(image.getAttribute("lat")), parseFloat(image.getAttribute("lng")));
							var html = '<div id="info-window"><p>'+image.getAttribute("imgTitle")+'</p><a href="'+image.getAttribute("imgHref")+'" onclick="showPicture(this.href,\''+image.getAttribute("imgWidth")+'\',\''+image.getAttribute("imgHeight")+'\'); return false;"><img src="'+image.getAttribute("imgThumbnail")+'" width="200" height="150"/></a></div>';
							map.addOverlay(createMarker(point, html, mapIcon));
						}
					}
				}
			}
		});
	}
}
