function makeDefault(object, defaultText, replaceText){
	if(object.value == defaultText){
		object.value = replaceText;
		object.style.color = '#808080';
		
		if(defaultText == ''){
			document.getElementById('f1').style.display = 'block';
			object.style.color = '#cacaca';
		}
	}
}

function keyPress(defaultText){
	if(window.event){
		if(window.event.keyCode == 13){
			SubmitSearchForm();
		}
	}
	
	if(document.getElementById('voTrefwoord').value == ''){
		document.getElementById('f1').style.display = 'block';
		document.getElementById('tSubrubriek').style.display = 'block';
	}else{
		document.getElementById('f1').style.display = 'none';
		document.getElementById('tSubrubriek').style.display = 'none';
	}
	
	
}

function showFilter(ID){
	document.getElementById('provincie').style.display = 'none';
	document.getElementById('plaats').style.display = 'none';
	
	if(ID != "all"){
		document.getElementById(ID).style.display = 'block';
	}
	if(ID != "plaats"){
		document.getElementById('plaats').value = '';
	}
}

function SubmitSearchForm(){
	error = 0;
	ProvincieV = "";

	// Trefwoord
	if(document.getElementById('voTrefwoord').value != "" && document.getElementById('voTrefwoord').value != "Invullen niet verplicht"){
		// Minimaal 3 karakters
		if(document.getElementById('voTrefwoord').value.length <= 2){
			alert("Uw trefwoord dient uit minimaal 3 karakters te bestaan!");
			error = 1;
		}
		
		URL = "/trefwoord/" + document.forms.Search.locatie.value;
		
		// Welke provincie
		if(document.forms.Search.locatie.value == "provincie"){
			// Haal provincie op
			var Provincie	= document.Search.provincie;
			ProvincieV = Provincie.value;
			if(Provincie.value != "all"){
				for(i=0; i < Provincie.options.length; i++){
					if(Provincie.value == Provincie.options[i].value){
						var ProvincieName = friendly_url(Provincie.options[i].text);
					}
				}
			}else{
				ProvincieName	= "--alle-provincies--";
			}
			
			// Standaard sorting A-Z
			URL = URL + "-" + Provincie.value + "-1-A0/";
			
			// Provincie SEO
			URL = URL + ProvincieName + "/";
			
		// Welke plaats?
		}else if(document.forms.Search.locatie.value == "plaats"){
			
			// Is bestaande plaats wel gekozen?
			if(document.forms.Search.zipp.value == "" && document.forms.Search.zipp.value.length != 4){
				alert("U heeft geen plaats uit de lijst gekozen.");
				error = 1;
			}
			
			// Standaard sorting A-Z
			URL = URL + "-" + document.forms.Search.zipp.value + "-1-A0/";
			
			// Plaats SEO
			URL = URL + friendly_url(document.getElementById('plaatsFill').value) + "/";
			
		// Heel Nederland
		}else{
			URL = URL + '-0-1-A0/Heel-Nederland/';
		}
		
		// Trefwoord
		URL = URL + friendly_url(document.getElementById('voTrefwoord').value) + "/";
		
		
	// Geen trefwoord
	}else{
		// Datum	
		var NewDay		= document.forms.Search.new_d.value;
		if(NewDay < 10 && NewDay.length == 1){
			NewDay		= "0" + NewDay;
		}
		var NewMonth	= document.forms.Search.new_m.value;
		var NewYear		= document.forms.Search.new_y.value;
		
		var CurrentDate	= new Date();
		var CurrentDay	= CurrentDate.getDate();
		var CurrentMonth= CurrentDate.getMonth() + 1;
		var CurrentYear	= CurrentDate.getYear();
		if(CurrentYear < 1000){
			CurrentYear = CurrentYear + 1900;
		}
		
		// Rubriek
		var Rubriek		= document.Search.rubriek;
		for(i=0; i < Rubriek.options.length; i++){
			if(Rubriek.value == Rubriek.options[i].value){
				var RubriekName = friendly_url(Rubriek.options[i].text);
			}
		}
		
		// Subrubriek
		var SubRubriek	= document.Search.subrubriek;
		for(i=0; i < SubRubriek.options.length; i++){
			if(SubRubriek.value == SubRubriek.options[i].value){
				var SubRubriekName = friendly_url(SubRubriek.options[i].text);
				var SubRubriekV = SubRubriek.value;
			}
		}
		if(SubRubriekName == "undefined"){
			SubRubriekName = "--alle-subrubrieken--";
		}
		if(SubRubriekV == ""){
			SubRubriekV = "all";
		}
		
		// Locatie
		var Locatie		= document.forms.Search.locatie;
		
		if(Locatie.value == "provincie"){
			// Provincie
			var Provincie	= document.Search.provincie;
			ProvincieV = Provincie.value;
			if(Provincie.value != "all"){
				for(i=0; i < Provincie.options.length; i++){
					if(Provincie.value == Provincie.options[i].value){
						var ProvincieName = friendly_url(Provincie.options[i].text);
					}
				}
			}else{
				ProvincieName	= "--alle-provincies--";
			}
		}else if(Locatie.value == "plaats"){
			// Is bestaande plaats wel gekozen?
			if(document.forms.Search.zipp.value == "" && document.forms.Search.zipp.value.length != 4){
				alert("U heeft geen plaats uit de lijst gekozen.");
				error = 1;
			}
			
			Provincie = document.Search.zipp;
			ProvincieV = document.Search.zipp.value;
			ProvincieName = document.getElementById('plaatsFill').value;
		}else{
			Provincie = "all";
			ProvincieV = "all";
			ProvincieName = "--alle-provincies--";
		}
		
		// Error: niet in verleden kijken!
		if(NewYear == CurrentYear && ((NewMonth == CurrentMonth && NewDay < CurrentDay) || (NewMonth < CurrentMonth))){
			alert("Het is niet mogelijk om een datum in het verleden te bekijken!");
			error = 1;
		
		// Error: Bestaat dag in februari
		}else if(NewDay > 28 && NewMonth == 2){
			if(NewYear == Math.floor(NewYear / 4)*4){
				schikkelJaar = true;
			}else{
				schikkelJaar = false;
			}
			if(schikkelJaar && NewDay > 29){
				alert("Deze maand kent slechts 29 dagen!");
				error = 1;
			}else{
				alert("Deze maand kent slechts 28 dagen!");
				error = 1;
			}
		
		// Error: Datum bestaat niet!
		}else if(NewDay == 31 && (NewMonth == 4 || NewMonth == 6 || NewMonth == 9 || NewMonth == 11)){
			alert("Deze maand kent geen 31 dagen!");
			error = 1;
		
		// Error: niet alle activiteiten
		}else if(Rubriek.value == "all" && (Provincie.value == "all" || Locatie.value == "all")){
			alert("Het is niet mogelijk om alle activiteiten te bekijken op één dag!");
			error = 1;
		}
		
		URL = "/zoeken/" + Rubriek.value + "-" + SubRubriekV + "-" + Locatie.value + "-" + ProvincieV + "-1-A0/all/" + RubriekName + "/" + SubRubriekName + "/" + ProvincieName + "/" + NewDay + "-" + NewMonth + "-" + NewYear + "/";
	}
	
	if(error == 0){
		window.location = "http://www.vandaagopstap.nl" + URL;
	}
}

function change_subrubrieken(rubriek){
	if(rubriek == "all"){
		document.forms[0].subrubriek.disabled = true;	
		var lijst = document.forms[0].subrubriek;
		var lijstlengte = lijst.options.length;
		
		for(i=0; i < lijstlengte; i++){
			lijst.options[0] = null;
		}
		lijst.options[0]= new Option("- alle subrubrieken -","all");
		
		document.getElementById('tSubrubriek').style.display = 'none';
		
		return false;
	}else{
		document.forms[0].subrubriek.disabled = false;	
	}
	
	var lijst = document.forms[0].subrubriek;
	var lijstlengte = lijst.options.length;
	
	for(i=0; i < lijstlengte; i++){
		lijst.options[0] = null;
	}

	var AJAX = createHTTPHandler();
	var DataArray = new Array();
	AJAX.open('POST', '/XMLRequest.php', true);

	AJAX.onreadystatechange=function() {

	if (AJAX.readyState==4 && AJAX.status == "200") {
			var response = AJAX.responseXML;
			var root = response.documentElement;
			var data = root.getElementsByTagName('items');
			
			for(i = 0; i < data.length; i++){
				node = data.item(i).childNodes;
				lijst.options[lijst.options.length]= new Option(node[0].firstChild.nodeValue,node[1].firstChild.nodeValue);
				lastValue = node[1].firstChild.nodeValue;
			}

			if(i > 0 && lastValue != "all"){
				document.getElementById('tSubrubriek').style.display = 'block';
			}else{
				document.getElementById('tSubrubriek').style.display = 'none';
			}
			
			return;
		}
	}
	AJAX.setRequestHeader("Cache-Control", "no-cache");
	AJAX.setRequestHeader("X_USERAGENT", "VandaagOpStap AJAX-request");
	AJAX.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	
	AJAX.send("rubriek=" + rubriek); <!-- null of parameters?= igv post) -->
}

var Subrubrieken = Array;

function change_subrubrieken_advanced(toright){
	toright = "|" + toright + "|";

	var fromlist = document.forms[0]['gekozenrubriek[]'];
	var fromlistlength = fromlist.options.length;
	var string = "";
	if(fromlistlength == 0){
		return false;	
	}
	
	for(y=0; y < fromlistlength; y++){
		string = string + "|" + fromlist.options[y].value;
	}
	
	var tolist = document.forms[0]['gekozensubrubriek[]'];
	var tolistlength = tolist.options.length;
	var string_subs = "";
	y = 0;
	for(y=0; y < tolistlength; y++){
		string_subs = string_subs + "|" + tolist.options[y].value;
	}
	string_subs = string_subs + "|";
	
	string = string.substr(1);

	var lijst = document.forms[0].subrubriek;
	var lijstlengte = lijst.options.length;
	
	for(i=0; i < lijstlengte; i++){
		lijst.options[0] = null;
	}

	var AJAX = createHTTPHandler();
	var DataArray = new Array();
	AJAX.open('POST', '/XMLRequestAdvanced.php', true);

	AJAX.onreadystatechange=function() {

	if (AJAX.readyState==4 && AJAX.status == "200") {
			var response = AJAX.responseXML;
			var root = response.documentElement;
			var data = root.getElementsByTagName('subrubriek');

			for(i = 0; i < data.length; i++){
				hoofdrubriek = data.item(i).attributes.getNamedItem("name").nodeValue;
				
				lijst.options[lijst.options.length]= new Option(hoofdrubriek,"H" + data.item(i).attributes.getNamedItem("id").nodeValue);
				lijst.options[lijst.options.length-1].style.color = '#000000';
				
				var data_sub = data.item(i).getElementsByTagName('items');
				Subrubrieken[i] = "[" + data.item(i).attributes.getNamedItem("id").nodeValue + "]|";
				
				for(j = 0; j < data_sub.length; j++){
					node = data_sub.item(j).childNodes;
					
					if(string_subs.indexOf("|" + node[1].firstChild.nodeValue + "|") == -1){
						lijst.options[lijst.options.length]= new Option("- " + node[0].firstChild.nodeValue,node[1].firstChild.nodeValue);
						
						Subrubrieken[i] = Subrubrieken[i] + node[1].firstChild.nodeValue + "|";
						if(toright.indexOf("|" + node[1].firstChild.nodeValue + "|") >= 0){
							lijst.options[lijst.options.length-1].selected = "true";
						}
					}
				}
			}
			
			if(toright){
				move('subrubriek', 'gekozensubrubriek[]');
			}
			
			return;
		}
	}
	AJAX.setRequestHeader("Cache-Control", "no-cache");
	AJAX.setRequestHeader("X_USERAGENT", "VandaagOpStap AJAX-request");
	AJAX.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	
	AJAX.send("rubrieken=" + string); <!-- null of parameters?= igv post) -->
	
}

function AddToFavorite(){
	title = "VandaagOpstap de start voor al uw uitstapjes!";
	url = "http://www.vandaagopstap.nl";
	if(window.sidebar){ // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url, "");
	}else if( window.external ) { // IE Favorite
		window.external.AddFavorite( url, title);
	}else if(window.opera && window.print) { // Opera Hotlist
		return true;
	}
}

// JavaScript Document
function createHTTPHandler(){
	httphandler = false;
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	// JScript gives us Conditional compilation, we can cope with old IE versions.
	// and security blocked creation of the objects.
	try {
	httphandler = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
	try {
	httphandler = new ActiveXObject("Microsoft.XMLHTTP");
	} catch (E) {
	httphandler = false;
	}
	}
	@end @*/
	if (!httphandler && typeof XMLHttpRequest!='undefined') {
		httphandler = new XMLHttpRequest();
	}
	return httphandler;
}

function friendly_url(url){
	var rv = url.replace("\\","");
    rv = rv.replace("(","");
    rv = rv.replace(")","");
    rv = rv.replace("/","");
    rv = rv.replace("/","");
    rv = rv.replace("/","");
    rv = rv.replace("-","-");
    rv = rv.replace(",","");
    rv = rv.replace(">","");
    rv = rv.replace("<","");
    rv = rv.replace("-","-");

    rv = rv.replace("'","");

    rv = rv.replace("\u2019","");

    rv = rv.replace("   "," ");
    rv = rv.replace("  "," ");

	reg = /(\s)/g;
	url = rv.replace(reg,'-');

    return url;
}

function move(from, to){
	var fromlist = document.forms[0][from];
	var fromlistlength = fromlist.options.length;
		
	for(i=0; i < fromlistlength; i++){
		if(fromlist.options[i].selected){			
			
			if(isNaN(fromlist.options[i].value)){
				
			}else{
				add(to,fromlist.options[i].text,fromlist.options[i].value);
				fromlist.options[i] = null;
				i--;
				fromlistlength = fromlistlength-1;
			}
		}
		
	}
}

function move2(from, to){
	var fromlist = document.forms[0][from];
	var fromlistlength = fromlist.options.length;
		
	for(i=0; i < fromlistlength; i++){
		if(fromlist.options[i].selected){			
			fromlist.options[i] = null;
			i--;
			fromlistlength = fromlistlength-1;
		}
	}
	i = 0;
	var tolist = document.forms[0][to];
	var tolistlength = tolist.options.length;
		
	for(i=0; i < tolistlength; i++){
		tolist.options[0] = null;		
	}

	change_subrubrieken_advanced();
}


function add(to, text, val){
	var tolist = document.forms[0][to];
	var tolistlength = tolist.options.length;
	var place = 0;
	
	if(tolistlength == 0){
		tolist.options[0] = new Option(text,val);
	}

	for(j=0; j < tolistlength; j++){
		if(tolist.options[j].text > text){			
			var temp_text = text;
			var temp_val = val;

			place = j;
			while(tolistlength >= place){
				if(temp_text && temp_val){
					text = temp_text;
					val = temp_val;
			
					if(tolistlength != place){
						temp_text = tolist.options[place].text;
						temp_val = tolist.options[place].value;
					}
								
					tolist.options[place] = new Option(text,val);
				}
				place++;
			}
		}else{
			place = j+1;
			if(tolistlength > place){
				// take a break...
			}else{
				tolist.options[place] = new Option(text,val);
				break;
			}
		}		
	
	}

	return;
}


function allSelect(){
	var NewDay			= document.forms.Search.new_d.value;
	if(NewDay < 10 && NewDay.length == 1){
		NewDay		= "0" + NewDay;
	}
	var NewMonth		= document.forms.Search.new_m.value;
	var NewYear			= document.forms.Search.new_y.value;
	var FilterSelect	= document.forms.Search.fieldOption.value;
	
	var CurrentDate		= new Date();
	var CurrentDay		= CurrentDate.getDate();
	var CurrentMonth	= CurrentDate.getMonth() + 1;
	var CurrentYear		= CurrentDate.getYear();
	if(CurrentYear < 1000){
		CurrentYear 	= CurrentYear + 1900;
	}
		
	if(NewYear == CurrentYear && ((NewMonth <= CurrentMonth && NewDay < CurrentDay))){
		alert("Het is niet mogelijk om een datum in het verleden te bekijken!");
	}else if(FilterSelect == "" || !FilterSelect){
		alert("U heeft niet aangegeven waarop de activiteiten gefilterd moeten worden!");
	}else{
		var fromlist = document.forms[0]['gekozenrubriek[]'];
		var fromlistlength = fromlist.options.length;
		var string = "";
	
		for(y=0; y < fromlistlength; y++){
			string = string + "|" + fromlist.options[y].value;
		}
		document.forms[0].RubriekHidden.value = string.substr(1);

		var fromlist = document.forms[0]['gekozensubrubriek[]'];
		var fromlistlength = fromlist.options.length;
		var string = "";
	
		for(y=0; y < fromlistlength; y++){
			string = string + "|" + fromlist.options[y].value;
		}
		document.forms[0].SubRubriekHidden.value = string.substr(1);

		var fromlist = document.forms[0]['gekozenprovincie[]'];
		var fromlistlength = fromlist.options.length;
		var string = "";
	
		for(y=0; y < fromlistlength; y++){
			string = string + "|" + fromlist.options[y].value;
		}
		document.forms[0].ProvincieHidden.value = string.substr(1);
		
		document.forms[0].submit();
	
	}
}

function HideShowSearch(ID, BUTTON){
	if(document.getElementById(ID).style.display == 'none'){
		document.getElementById(ID).style.display = 'block';
		document.getElementById(BUTTON).style.display = 'none';
		document.getElementById('NumberActivities').style.display = 'none';
	}else{
		document.getElementById(ID).style.display = 'none';
		document.getElementById(BUTTON).style.display = 'block';
		document.getElementById('NumberActivities').style.display = 'block';
	}
}

function showAddress(address) {
   	var map = null;
   	var geocoder = null;
			
	if (GBrowserIsCompatible()) {
				
		map = new GMap(document.getElementById("CityMap_value"));
		map.addControl(new GMapTypeControl());
		map.addControl(new GLargeMapControl());
		geocoder = new GClientGeocoder();
			
		if (geocoder) {
			geocoder.getLatLng(
				address,
				function(point) {
					if (!point) {
						alert(address + " is niet gevonden!");
					} else {
						map.setCenter(point, 8);

						var icon = new GIcon();
						var marker = new GMarker(point);
						map.addOverlay(marker);
					}
				}
			 );
		}
	}
}

function hideSelects(action){ 
	if(action!='visible'){
		action='hidden';
	}
	if(navigator.appName.indexOf("MSIE")){
		for(var S = 0; S < document.forms.length; S++){
			for(var R = 0; R < document.forms[S].length; R++){
				if(document.forms[S].elements[R].options){
					document.forms[S].elements[R].style.visibility = action;
				}
			}
		} 
	}
}

function ShowHideMap(Adres, Content){
	if(Adres == 'none'){
		hideSelects('visible');
		document.getElementById('overlay').style.display = 'none';
		document.getElementById('CityMapClose').style.display = 'none';
		document.getElementById('CityMap').style.display = 'none';
		document.getElementById('CityMapDescription').style.display = 'none';
	}else{
		hideSelects('hidden');
		document.getElementById('CityMapDescription').innerHTML = "Locatie: " + Content;
		document.getElementById('overlay').style.display = 'block';
		document.getElementById('CityMapClose').style.display = 'block';
		document.getElementById('CityMap').style.display = 'block';
		document.getElementById('CityMapDescription').style.display = 'block';
		showAddress(Adres);
	}
}

function change_restaurant_page(zipcode, radius, page){
<!-- Opacity en tekst neerzetten dat het geladen wordt -->
	var AJAX = createHTTPHandler();
	var DataArray = new Array();
	AJAX.open('POST', '/XMLRequestRestaurants.php', true);

	AJAX.onreadystatechange=function() {

	if (AJAX.readyState==4 && AJAX.status == "200") {
			var response = AJAX.responseText;
			document.getElementById('restaurants').innerHTML = response;
			<!-- Opacity weghalen -->

			return;
		}
	}
	AJAX.setRequestHeader("Cache-Control", "no-cache");
	AJAX.setRequestHeader("X_USERAGENT", "VandaagOpStap AJAX-request");
	AJAX.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	
	AJAX.send("zipcode=" + zipcode + "&radius=" + radius + "&page=" + page); <!-- null of parameters?= igv post) -->
	
}

function formValidateA(){
	var gKey 						= Math.round(1000000*Math.random())
	document.formulier.key.value	= gKey;
	document.formulier.action		= "/content/2/Meld-activiteit/" + gKey;
}

function formValidateB(){
	var gKey 						= Math.round(1000000*Math.random())
	document.formulier.key.value	= gKey;
	document.formulier.action		= gKey;
}

function formValidateC(){
	var gKey 						= Math.round(1000000*Math.random())
	document.formulier.key.value	= gKey;
	document.formulier.action		= "?review=yes&key=" + gKey + "#laatsteReactie";
}

function show_messages(DivID, count, ID, MaxItems, TotalReactions){
	var AJAX = createHTTPHandler();
	var DataArray = new Array();
	AJAX.open('POST', '/XMLRequestMessages.php', true);

	AJAX.onreadystatechange=function() {

	if (AJAX.readyState==4) {
			var response = AJAX.responseText;
			document.getElementById(DivID).innerHTML = response;

			return;
		}
	}
	AJAX.setRequestHeader("Cache-Control", "no-cache");
	AJAX.setRequestHeader("X_USERAGENT", "VandaagOpStap AJAX-request");
	AJAX.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	
	AJAX.send("count=" + count + "&page=1&id=" + ID + "&MaxItems=" + MaxItems + "&TotalReactions=" + TotalReactions); <!-- null of parameters?= igv post) -->
}

function change_show_messages(DivID, count, ID, MaxItems, TotalReactions, Page){
	var AJAX = createHTTPHandler();
	var DataArray = new Array();
	AJAX.open('POST', '/XMLRequestMessages.php', true);

	AJAX.onreadystatechange=function() {

	if (AJAX.readyState==4) {
			var response = AJAX.responseText;
			document.getElementById(DivID).innerHTML = response;

			return;
		}
	}
	AJAX.setRequestHeader("Cache-Control", "no-cache");
	AJAX.setRequestHeader("X_USERAGENT", "VandaagOpStap AJAX-request");
	AJAX.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	
	AJAX.send("count=" + count + "&page=" + Page + "&id=" + ID + "&MaxItems=" + MaxItems + "&TotalReactions=" + TotalReactions); <!-- null of parameters?= igv post) -->
}

function show_aanrader(DivID, ID, TYP, More, CurrentDate){
	var AJAX = createHTTPHandler();
	var DataArray = new Array();
	AJAX.open('POST', '/XMLRequestAanraders.php', true);

	AJAX.onreadystatechange=function() {

	if (AJAX.readyState==4) {
			var response = AJAX.responseText;
			document.getElementById(DivID).innerHTML = response;

			return;
		}
	}
	AJAX.setRequestHeader("Cache-Control", "no-cache");
	AJAX.setRequestHeader("X_USERAGENT", "VandaagOpStap AJAX-request");
	AJAX.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	
	AJAX.send("id=" + ID + "&type=" + TYP + "&More=" + More + "&CurrentDate=" + CurrentDate + "&page=1"); <!-- null of parameters?= igv post) -->
}

function showKalenderItem(DivID, ItemID, Month, Year, StartURL){
	var AJAX = createHTTPHandler();
	var DataArray = new Array();
	AJAX.open('POST', '/XMLRequestKalenderItem.php', true);

	AJAX.onreadystatechange=function() {

	if (AJAX.readyState==4) {
			var response = AJAX.responseText;
			document.getElementById(DivID).innerHTML = response;

			return;
		}
	}
	AJAX.setRequestHeader("Cache-Control", "no-cache");
	AJAX.setRequestHeader("X_USERAGENT", "VandaagOpStap AJAX-request");
	AJAX.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	
	AJAX.send("ItemID=" + ItemID + "&Month=" + Month + "&Year=" + Year + "&StartURL=" + StartURL); <!-- null of parameters?= igv post) -->
}