function onLoadForm(widget)
{
	widget.addEventListener("beforeSubmit", function()
	{
		document.getElementById('form').style.display="none";
		document.getElementById('done').style.display="inline";
	});
}

function check_register(f, msg)
{
	document.getElementById("username").className = "";
	document.getElementById("pw").className = "";
	document.getElementById("pw2").className = "";
	var checkFail = false;
	var pw = "";var pw2 = "";
	for (var i = 0; i < f.elements.length; i++)
	{
		switch(f.elements[i].name)
		{
			case "username":
				var regX = new RegExp(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/);
				if (!regX.test(f.elements[i].value))
				{
					checkFail = true;
					document.getElementById("username").className = "failed";
				}
				break;
			case "naam":
				if (f.elements[i].value == "")
				{
					checkFail = true;
					document.getElementById("naam").className = "failed";
				}
				break;
			case "tel":
				if (f.elements[i].value == "")
				{
					checkFail = true;
					document.getElementById("tel").className = "failed";
				}
				break;
			case "password":
				if (f.elements[i].value == "" || f.elements[i].value.length < 6)
				{
					checkFail = true;
					document.getElementById("pw").className = "failed";
				}
				else
					pw = f.elements[i].value
				break;
			case "password2":
				if (f.elements[i].value == "" || f.elements[i].value.length < 6)
				{
					checkFail = true;
					document.getElementById("pw2").className = "failed";
				}
				else
					pw2 = f.elements[i].value
				break;
		}
	}
	
	if (checkFail)
	{
		if (pw != "" && pw2 != "" && pw != pw2)
			window.alert('De twee ingevulde wachtwoorden komen niet overeen.');
		window.alert(msg);
		return false;
	}
	else if (pw != "" && pw2 != "" && pw != pw2)
	{
		window.alert('De twee ingevulde wachtwoorden komen niet overeen.');
		return false;
	}
}

function onLoadGoogleMapTerrain(widget)
{
	map = widget.gmap;
	map.disableInfoWindow();
	map.setCenter(map.getCenter(), 7, G_PHYSICAL_MAP)
	
	var ownMarker = false;
	for(var i in widget.item.markers)
	{
		if (widget.item.markers[i].linkedItem == g_category && widget.item.markers[i].linkedItemType == "item_cms_category")
		{
			ownMarker = widget.item.markers[i];
		}
	}
}

var map = '';
var firstMarker = '';
function onLoadGoogleMap(widget)
{
	map = widget.gmap;
	map.addControl(new GLargeMapControl());
    map.addControl(new GHierarchicalMapTypeControl());    
	firstMarker = widget.item.markers[0].latitude+","+widget.item.markers[0].longitude;

	var ownMarker = false;
	for(var i in widget.item.markers)
	{
		if (widget.item.markers[i].linkedItem == g_category && widget.item.markers[i].linkedItemType == "item_cms_category")
		{
			ownMarker = widget.item.markers[i];
		}
	}

	GEvent.addListener(map, "infowindowopen", function()
	{
		var infoWindow = map.getInfoWindow();
		//var p = infoWindow.getPoint();
		var tmppoint = map.fromLatLngToContainerPixel(infoWindow.getPoint());
		tmppoint.y -= 150;
		map.panTo(map.fromContainerPixelToLatLng(tmppoint));
		//map.panTo(p);
	});

	if (ownMarker)
	{
		map.setCenter(ownMarker.gmarker.getPoint(), 13);

		var infoWindow = document.createElement("div");
		ownMarker.titleNode = document.createElement("span");
		ownMarker.titleNode.style.fontWeight = "bold"; 
		ownMarker.titleNode.appendChild(document.createTextNode(ownMarker.title));
		infoWindow.appendChild(ownMarker.titleNode);
		
		ownMarker.contentNode = document.createElement("div");
		ownMarker.contentNode.style.marginTop = "10px";
		ownMarker.contentNode.innerHTML = ownMarker.content;
		infoWindow.appendChild(ownMarker.contentNode);

		map.openInfoWindow(map.getCenter(), infoWindow);
	}
}

var marker = '';
var directions = 'init';
function createPoint(inp)
{
	map.removeOverlay(marker);
	
	var x = document.getElementById(inp).value;
	var str = x.replace(/ /g,"+");
	var geocoder = new GClientGeocoder();

	geocoder.getLatLng(str, function(point) {
		if (!point)
			{ window.alert("Adres niet gevonden"); }
		else
		{
		    var icon = new GIcon();
		    icon.image = "http://localhost/sdk/www/images/sdk.gif";
		    icon.iconSize = new GSize(31, 48);
		    icon.iconAnchor = new GPoint(5, 49);
		    icon.infoWindowAnchor = new GPoint(5, 49);
		
			marker = new GMarker(point,
			{
				title: "Vertrekpunt",
				icon: icon,
				clickable: true,
				draggable: false
			});
			map.addOverlay(marker);

			directionsPanel = document.getElementById("routeDiv");
			if (directions == 'init')
				directions = new GDirections(map, directionsPanel);
  			directions.load("from: "+point.lat()+","+point.lng()+" to: "+firstMarker,
  				{
					"locale": "nl_NL"
				}
			);
			document.getElementById('printP').href = "http://maps.google.com/maps?f=d&hl=nl&geocode=" + 
													"&saddr=" + str +
													"&daddr=dillenburgstraat+25a+eindhoven&ie=UTF8&z=13&pw=2";
			document.getElementById('printP').style.display = "block";
			document.getElementById('routeDiv').style.display = "block";
		}
	});
}