
	function validateForm(form){
		try
		{
			var valid = true;
			$("#" + form.id + " .required, #" + form.id + " .email").each(function(){
				$(this).removeClass("invalid");
				var requiredinvalid = ($(this).hasClass("required") && !isFilledIn(this.value) && $(this).is(":visible"));
				var emailinvalid = ($(this).hasClass("email") && isFilledIn(this.value) && $(this).is(":visible") && !validEmail(this.value));
				
				if(requiredinvalid || emailinvalid){
					$(this).addClass("invalid");
					valid = false;
				}
			});
			$("#" + form.id + " .requiredchk").each(function(){
				var div = $(this);
				div.removeClass("invalid");
				var chkname = $(this).find("input:first-child").attr("name");
				var requiredchkinvalid = (($('input[name=' + chkname + ']:checked').size() == 0) && $(this).is(":visible"));
				
				if(requiredchkinvalid){
					div.addClass("invalid");
					valid = false;
				 }
			});
			
			return valid;
		}
		catch(err)
		{
			return false;
		}
	}
	
	function validEmail(value){
		if(value){
			return validPattern(value,"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])");
		}
		return true;
	}
	
	function validPattern(value, pattern) {
		var regExp = new RegExp(pattern,"");
		return regExp.test(value);
	}
	
	function isFilledIn(val){
		if(!$.trim(val)){
			return false;
		}else{
			return true;
		}
	}
	
	function submitPoll(redirectlink){
		var formData = $('#form-poll').serialize();
		if($('#form-poll input[type=\'radio\']:checked').val()){
			$.ajax({
				type: 'POST',
				url: '/processpoll.asp',
				data: formData,
				success: function(data) {
					if(data == "1"){
						$.fancybox({
							'width': 766,
							'height': 390,
							'autoScale': true,
							'transitionIn': 'fade',
							'transitionOut': 'fade',
							'type': 'iframe',
							'href': redirectlink
						});
					}else{
						alert(data);
					}
				},
				error : function(data){
					alert("error: " + data);
				}
			});
		}else{
			alert("Please select a value");
		}
	}
	
	function submitScore(redirectlink, score){
		$.ajax({
			type: 'POST',
			url: '/processscore.asp',
			data: 'score=' + score,
			success: function(data) {
				if(data == "1"){
					top.location.href=redirectlink;
				}else{
					alert(data);
				}
			},
			error : function(data){
				alert("error: " + data);
			}
		});
	}
	
	function submitFavorite(redirectlink){
		
		$.ajax({
			type: 'POST',
			url: '/processfavorite.asp',
			data: '',
			success: function(data) {
				if(data == "1"){
					top.location.href=redirectlink;
				}else{
					alert(data);
					top.location.href=redirectlink;
				}
			},
			error : function(data){
				alert("error: " + data);
			}
		});
	}
	
	$(function(){
		$("#navigation .depth0").hover(
			function()
			{
				$(this).addClass("over");
			},
			function()
			{
				$(this).removeClass("over");
			}
		)
	})
	
	function searchRadius(el, detaillink){
		var valid = validateForm(el);
		
		if(valid){
			var rad = $("#rad").val();
			var zipcity = $("#zipcity").val();
			var zipcityid = $("#zipcityid").val();
			top.location.href=detaillink + "?rad=" + rad + "&zipcity=" + zipcity + "&zipcityid=" + zipcityid;
		}else{
			return false;
		}
	}
	
	function searchHouse(detaillink){
		top.location.href=detaillink;
	}
	
	function countryChanged(){
		var country = $("#Land").val();
		if(country == 'NL' || country == 'FR'){
			$("#StadText, #containerZipcode").show();
			$("#Stad").hide();
		}else{
			$("#StadText, #containerZipcode").hide();
			$("#Stad").show();
		}
	}
	
	function changeOwnSearchLand(){	// sync with server validation
		if($("#BezitOfZoektGrond").prop("selectedIndex") == "3"){
			$("#ProjectsContainer").show();
		}else{
			$("#ProjectsContainer").hide();
		}


	/*
		var val = $("#BezitOfZoektGrond").val();
		if(val == 'Ik ben op zoek naar bouwgrond'){
			$("#ProjectsContainer").show();
		}else{
			$("#ProjectsContainer").hide();
		}*/
	}
	
	function writeEmail(ext, dom, name){
		var email = name + "@" + dom + "." + ext;
		document.write('<a href="mailto:' + email + '">' + email + '</a>');
	}
