/**
* @version		$Id: routes_nl.js 2008-03-15 marco meijeringh $
* @package		Joomla
* @copyright	Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/

// Event for routes view
function addMapEvents() {
//window.addEvent('domready', function() {
	if ( document.getElementById("map") ) {
		// add eventhandler to vindenForm
		var routesvindenform = document.getElementById('vindenForm');
		if (routesvindenform) {
	    	var thisform = document.forms["vindenForm"];
	    	thisform.onsubmit = function() {
				var cityfield = document.forms["vindenForm"]["plaats"];
				var city = cityfield.value;
				var themafield = document.forms["vindenForm"]["thema"];
				var thema = themafield.value;
				var categoriefield = document.forms["vindenForm"]["catid"];
				var categorie = categoriefield.value;
				getRoutesSearch(city,thema,categorie,null);
				return false;
	    	}
		}	

		// add eventhandler to overnachtenForm
		var overnachtenform = document.getElementById('overnachtenForm');
		if (overnachtenform) {
	    	var thisform = document.forms["overnachtenForm"];
	    	thisform.onsubmit = function() {
				var naamfield = document.forms["overnachtenForm"]["naam"];
				var naam = naamfield.value;
				var plaatsfield = document.forms["overnachtenForm"]["plaats"];
				var plaats = plaatsfield.value;
				var categoriefield = document.forms["overnachtenForm"]["catid"];
				var categorie = categoriefield.value;
				getBezienswaardighedenSearch(naam,plaats,categorie,null);
				return false;
			}
		}
	
		// add eventhandler to etenendrinkenForm
		var etenendrinkenform = document.getElementById('etenendrinkenForm');
		if (etenendrinkenform) {
	    	var thisform = document.forms["etenendrinkenForm"];
	    	thisform.onsubmit = function() {
				var naamfield = document.forms["etenendrinkenForm"]["naam"];
				var naam = naamfield.value;
				var plaatsfield = document.forms["etenendrinkenForm"]["plaats"];
				var plaats = plaatsfield.value;
				var categoriefield = document.forms["etenendrinkenForm"]["catid"];
				var categorie = categoriefield.value;
				getBezienswaardighedenSearch(naam,plaats,categorie,null);
				return false;
			}
		}
	
		// add eventhandler to dagrecreatieForm
		var dagrecreatieform = document.getElementById('dagrecreatieForm');
		if (dagrecreatieform) {
	    	var thisform = document.forms["dagrecreatieForm"];
	    	thisform.onsubmit = function() {
				var naamfield = document.forms["dagrecreatieForm"]["naam"];
				var naam = naamfield.value;
				var plaatsfield = document.forms["dagrecreatieForm"]["plaats"];
				var plaats = plaatsfield.value;
				var categoriefield = document.forms["dagrecreatieForm"]["catid"];
				var categorie = categoriefield.value;
				getBezienswaardighedenSearch(naam,plaats,categorie,null);
				return false;
			}
		}
	
		// add eventhandler to typischfriesForm
		var typischfriesform = document.getElementById('typischfriesForm');
		if (typischfriesform) {
	    	var thisform = document.forms["typischfriesForm"];
	    	thisform.onsubmit = function() {
				var naamfield = document.forms["typischfriesForm"]["naam"];
				var naam = naamfield.value;
				var plaatsfield = document.forms["typischfriesForm"]["plaats"];
				var plaats = plaatsfield.value;
				var categoriefield = document.forms["typischfriesForm"]["catid"];
				var categorie = categoriefield.value;
				getBezienswaardighedenSearch(naam,plaats,categorie,null);
				return false;
			}
		}
	
		// insert map controls in document
		var controldiv = document.createElement("div");
		controldiv.setAttribute("id","mapcontrols");
		controldiv.setAttribute("class","moduletable");
		
		// header
		var header = document.createElement("h2");
		header_text = document.createTextNode("Map besturing");
		header.appendChild(header_text);
		controldiv.appendChild(header);
	
		// p pan	
		var p_pan = document.createElement("p");

		// pan north button
		var north = document.createElement("button");
		north.setAttribute("id","north1");
		north.setAttribute("type","button");
		north_text = document.createTextNode("Noord");
		north.appendChild(north_text);
		p_pan.appendChild(north);
	
		//pan east button
		var east = document.createElement("button");
		east.setAttribute("id","east1");
		east.setAttribute("type","button");
		east_text = document.createTextNode("Oost");
		east.appendChild(east_text);
		p_pan.appendChild(east);
	
		//pan south button
		var south = document.createElement("button");
		south.setAttribute("id","south1");
		south.setAttribute("type","button");
		south_text = document.createTextNode("Zuid");
		south.appendChild(south_text);
		p_pan.appendChild(south);
	
		//pan west button
		var west = document.createElement("button");
		west.setAttribute("id","west1");
		west.setAttribute("type","button");
		west_text = document.createTextNode("West");
		west.appendChild(west_text);
		p_pan.appendChild(west);
	
		//append p element with buttons to control div
		controldiv.appendChild(p_pan);

		// p zoom	
		var p_zoom = document.createElement("p");

		//zoom in button
		var zoomin = document.createElement("button");
		zoomin.setAttribute("id","zoomin1");
		zoomin.setAttribute("type","button");
		zoomin_text = document.createTextNode("Zoom In");
		zoomin.appendChild(zoomin_text);
		p_zoom.appendChild(zoomin);
	
		//zoom out button
		var zoomout = document.createElement("button");
		zoomout.setAttribute("id","zoomout1");
		zoomout.setAttribute("type","button");
		zoomout_text = document.createTextNode("Zoom Out");
		zoomout.appendChild(zoomout_text);
		p_zoom.appendChild(zoomout);
	
		//append p element with buttons to control div
		controldiv.appendChild(p_zoom);
		// p maptypes	
		var p_maptypes = document.createElement("p");

		//maptype southwest
		var southwest = document.createElement("button");
		southwest.setAttribute("id","southwest1");
		southwest.setAttribute("type","button");
		southwest_text = document.createTextNode("Zuidwest");
		southwest.appendChild(southwest_text);
		p_maptypes.appendChild(southwest);
	
		//maptype normal
		var normal = document.createElement("button");
		normal.setAttribute("id","normal1");
		normal.setAttribute("type","button");
		normal_text = document.createTextNode("Normaal");
		normal.appendChild(normal_text);
		p_maptypes.appendChild(normal);
	
		//maptype satellite
		var satellite = document.createElement("button");
		satellite.setAttribute("id","satellite1");
		satellite.setAttribute("type","button");
		satellite_text = document.createTextNode("Satelliet");
		satellite.appendChild(satellite_text);
		p_maptypes.appendChild(satellite);
	
		//append p element with buttons to control div
		controldiv.appendChild(p_maptypes);

		var websitecontrols = document.getElementById("websitecontrols");
		websitecontrols.appendChild(controldiv);
	
		// add event handlers for control buttons
		var north1 = document.getElementById("north1");
		north1.onclick = function() {
			panMap(1,0);
		}
		var east1 = document.getElementById("east1");
		east1.onclick = function() {
			panMap(0,1);
		}
		var south1 = document.getElementById("south1");
		south1.onclick = function() {
			panMap(-1,0);
		}
		var west1 = document.getElementById("west1");
		west1.onclick = function() {
			panMap(0,-1);
		}
		var zoomin1 = document.getElementById("zoomin1");
		zoomin1.onclick = function() {
			map.setZoom(map.getZoom() + 1);
		}
		var zoomout1 = document.getElementById("zoomout1");
		zoomout1.onclick = function() {
			map.setZoom(map.getZoom() - 1);
		}
		var southwest1 = document.getElementById("southwest1");
		southwest1.onclick = function() {
			map.setMapType(G_ZUIDWEST_MAP);
		}
		var normal1 = document.getElementById("normal1");
		normal1.onclick = function() {
			map.setMapType(G_NORMAL_MAP);
		}
		var satellite1 = document.getElementById("satellite1");
		satellite1.onclick = function() {
			map.setMapType(G_SATELLITE_MAP);
		}
	}
	
	// show route if route id known
	var linkvar = getQueryVariable("view");
	if (linkvar == "route") {
		var linkid = getQueryVariable("id");
		showRoute(linkid);
	}

	// show knooppunten
	var linkvar = getQueryVariable("view");
	if (linkvar == "knooppunten") {
		getKnooppunten();
	}
}

//Map Controls
function panMap(x, y) {
	var bounds = this.map.getBounds();
	var bounds = map.getBounds();
	var southWest = bounds.getSouthWest();
	var northEast = bounds.getNorthEast();

	var lat_min = southWest.lat();
	var lat_max = northEast.lat();
	var lng_min = southWest.lng();
	var lng_max = northEast.lng();
	var lat_move = (lat_max-lat_min)/4;
	var lng_move = (lng_max-lng_min)/4;
	var center = map.getCenter();
	map.setCenter( new GLatLng( (center.lat()+(lat_move*x)), (center.lng()+(lng_move*y)) ), map.getZoom() );
}

addLoadEvent(addMapEvents);