function openPopup(url) {
	var newwindow = window.open(url,'extern','height=600,width=740,scrollbars=1,resizable=1');
	if (window.focus) {
		newwindow.focus();
	}
	return false;
}

$.fn.showMessage =  function(dtitle, dbody) {
   	$("#simpledialog").dialog({bgiframe: true, modal:true, title: dtitle, width: 400, minHeight: 100}).dialog( 'open' ).text(dbody);
   	$("#simpledialog").dialog('option', 'title', dtitle);
	return false;
}

$.fn.showMessageHtml =  function(dtitle, dbody) {
   	$("#simpledialog").dialog({bgiframe: true, modal:true, title: dtitle, width: 400, minHeight: 100}).dialog( 'open' ).html(dbody);
   	$("#simpledialog").dialog('option', 'title', dtitle);
	return false;
}

$.fn.hideMessage =  function() {
   	$("#simpledialog").dialog( 'close' );
}

///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
var map;
var gdir;
var geocoder;
var mapaddress;
var mappointer;

function gmapAddAddressToMap(response) {
	map.clearOverlays();
	if (!response || response.Status.code != 200) {
		var d = document.getElementById('gmaplocationerror');
		if (d) d.style.display = 'block';
		var d = document.getElementById('map_canvas');
		if (mapaddress.indexOf(",") > 1) {
			var s = mapaddress.substring(mapaddress.indexOf(","));
			gmapShowLocation(s, false);
		}
	} else {
		place = response.Placemark[0];
		point = new GLatLng(place.Point.coordinates[1],
		place.Point.coordinates[0]);
		marker = new GMarker(point);
		if (mappointer) {
			map.addOverlay(marker);
			map.setZoom(15);
		} else {
			map.setZoom(12);
		}
		map.panTo(point);
	}
}

function gmapShowLocation(address, pointer) {
	if (pointer == undefined) pointer = true;
	if (geocoder) {
		geocoder.getLatLng(
		address,
		function(point) {
		if (!point) {
			var d = document.getElementById("gmaplocationerror");
			d.style.display = "block";
		} else {
		map.setCenter(point, 16);
		var marker = new GMarker(point);
		map.addOverlay(marker);
		}
		}
		);
	}
}


function setDirections(fromAddress, toAddress) {
	gdir.load("from: " + fromAddress + " to: " + toAddress,
			{ "locale": 'nl' });
}

function gmapInitialize() {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map_canvas"));
		map.defaultZoomLevel = 10;
		var mapTypeControl = new GMapTypeControl();
		var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10));
		var bottomRight = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,10));
		map.addControl(mapTypeControl, topRight);
		GEvent.addListener(map, "dblclick", function() {
			map.removeControl(mapTypeControl);
			map.addControl(new GMapTypeControl(), bottomRight);
		});
		map.addControl(new GSmallMapControl());
		
		geocoder = new GClientGeocoder();
        gdir = new GDirections(map, document.getElementById("directions"));
	}
}

function colorBoxPreview(e) {
	var color = $(this).val();
	$(this).next('span.targetcolorbox').css('backgroundColor', '#' + color);
}

$(document).ready(function() {

	var lastAutocompleteSearch = '';
	$("#autocompletefield").bind('keyup', function(e) {
		var search = $(this).val();
		if (search.length > 2 && search != lastAutocompleteSearch) {
			$("#autocompletecontainer").show().load('/call/xml/city.php?countryId=1&query=' + search, function() {
				$("#autocompletecontainer li").bind("click", function(e) {
					var cityname = $(this).text();
					$("#autocompletefield").val(cityname);
					$("#autocompletecontainer").hide();
				});
			});
			lastAutocompleteSearch = search;
		}
	});
	
	$("a.confirmlink").bind('click', function(e) {

		var link = $(this);
   		$("#simpledialog").dialog({ buttons: { "Nee": function() { $(this).dialog('close'); }, "Ja": function() { window.location = link.attr('href'); $(this).dialog('close') } }, bgiframe: true, show: 'drop', modal:true, title: 'Verwijderen', width: 400, minHeight: 100}).dialog( 'open' ).text('Verwijderen???');

		return false;
	});
	
	$('input.colorbox').change(colorBoxPreview);
	
	$('#loginbutton').click(function() {
		$('#simpledialog').showMessageHtml('Inloggen', $('#logindialog').html());
	});
	
	$('input.focus').focus(function() {
		var o = $(this);
		if (o.val() == o.attr('lastvalue')) {
			o.val('');
			o.css('color', '#000');
		}
	});
	
	$('input.focus').blur(function() {
		var o = $(this);
		if (o.val() == '') {
			o.val(o.attr('lastvalue'));
			o.css('color', '#888');
		}
	});	
	
	$('form.ajaxsubmit').submit(function() {
		var o = $(this);

		$('input.focus').each(function() {
			var x = $(this);
			if (x.val() == '' || x.val() == x.attr('lastvalue')) {
				alert('Vul het formulier volledig in!');
				return false;
			}
		});

		var data = o.serialize();
		
		$.post(o.attr('action'), data, function(e) {
			o.html(e);
		});
		
		return false;
	});
});
