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

///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////

var initDragDrop = function() {
	new YAHOO.util.DDTarget("mediauploadpreview");

	var list = YAHOO.util.Dom.getElementsByClassName("mediapreview", "div");
	for (i = 0; i < list.length; i++) {
		new YAHOO.example.DDList(list[i].id);
	}
}

///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////

var searchFocus = function(o) {
	var anim = new YAHOO.util.Anim('searchtext', {
		width: { to: 150 }
		}, 0.5, YAHOO.util.Easing.easeOut);
	anim.animate();
}

var searchBlur = function(o) {
	var d = document.getElementById('searchtext');
	if (d && d.value.length < 1) {
		var anim = new YAHOO.util.Anim('searchtext', {
			width: { to: 50 }
			}, 1, YAHOO.util.Easing.easeOut);
		anim.animate();
	}
}

if (document.getElementById('searchtext')) {
	YAHOO.util.Event.addListener("searchtext", "focus", searchFocus);
	YAHOO.util.Event.addListener("searchtext", "blur", searchBlur);
}

///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////

var sdLinkobject;

var simpleDialog;

var initSimpelDialog = function() {
	var handleSimpleDialogYes = function() {
		if (sdLinkobject.value != undefined && sdLinkobject.value.length > 3) {
			window.location = sdLinkobject.value;
		} else if (sdLinkobject.type && sdLinkobject.type == "submit") {
			sdLinkobject.form.submit();
		} else {
			window.location = sdLinkobject.href;
		}
	};

	var handleSimpleDialogNo = function() {
		this.hide();
	};

	simpleDialog = new YAHOO.widget.SimpleDialog("simpledialog",
		{ width: "370px",
		height: "170px",
		fixedcenter: true,
		visible: false,
		text: "Weet je het zeker?",
		constraintoviewport: true,
		underlay: "none",
		buttons: [ { text:"Ja", handler:handleSimpleDialogYes, isDefault:true },
		{ text:"Nee",  handler:handleSimpleDialogNo } ]
		} );

	simpleDialog.setHeader("Vraag");
	simpleDialog.render();
};

function confirmDialog(text) {
	if (simpleDialog == null) {
		initSimpelDialog();
	}

	YAHOO.util.Dom.setStyle("simpledialog", "display", "block");
	sdLinkobject = text;
	simpleDialog.show();
	return false;
};

///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////

var inlinepopup;

var initInlinepopup = function() {
	inlinepopup = new YAHOO.widget.Panel("mediadialog", {
		effect:{effect:YAHOO.widget.ContainerEffect.SLIDE, duration:0.3},
		fixedcenter:false,
		visible:false,
		close:true,
		draggable:false,
		underlay: "none",
    	constraintoviewport: true,
		width:"460px", height: "380px"} );

	inlinepopup.render();
	YAHOO.util.Dom.setStyle("mediadialog", "display", "block");

	YAHOO.util.Event.addListener("mediadialog", "click", inlinepopup.hide, inlinepopup, true);
}

var showInlinePopupText = function(h, c) {
	inlinepopup.setHeader(h);
	inlinepopup.setBody(c);
	inlinepopup.show();
}

var showInlinePopupMedia = function(c) {
	if (inlinepopup == null) {
		initInlinepopup();
	}

	inlinepopup.setHeader('Media');
	inlinepopup.setBody('<table width="400" height="300" cellspacing="0" cellpadding="0"><tr><td align="center" valign="center"><img src="' + c + '" /></td></tr></table>');
	inlinepopup.center();
	inlinepopup.show();

}

///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
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"));
	}
}

var toggleDisplay = function(o) {
	Dom.setStyle(o, "display", "none");
}

function showInlineMediaUpload() {
	YAHOO.util.Dom.setStyle("mediauploader", "display", "block");
	YAHOO.util.Dom.setStyle("mediauploadtoggle", "display", "none");
}

function doInlineMediaUpload() {
	var f = document.getElementById('saveform');
	if (f.file.value == '') {
		alert('Selecteer een foto');
		return;
	}

	YAHOO.util.Connect.setForm(f, true);

	var callback = {
		upload:function(r) {
			if (r.responseText.indexOf('succes') > -1) {

				var form = document.getElementById('saveform');
				form.file.value = '';

				var first = r.responseText.indexOf('|');
				var nodeId = r.responseText.substring(r.responseText.indexOf('>') + 1, first);
				var filename = r.responseText.substring(first + 1, r.responseText.indexOf('|', first + 1));
				addMedia(nodeId, filename);

			} else {
				alert(r.responseText);
			}
			return;
		},
		failure:function(){ alert('Fout bij het uploaden van je foto.'); }
	};

	YAHOO.util.Connect.asyncRequest('POST', '/call/mediaupload2.php', callback);
}


function addMedia(nodeId, filename) {
	var f = document.getElementById("mediauploadpreview");

	var p = document.createElement("div");
	p.id = nodeId;
	p.className = "mediapreview";

	var si = document.createElement("span");
	si.className = "image";
	si.id = "image" + nodeId;

	var i = document.createElement("img");
	i.src = "/t2/" + filename;

	var ti = document.createElement("span");
	ti.className = "title";

	//var ip1 = document.createElement("input");
	//ip1.name = "mediatitle[]";

	//var di = document.createElement("span");
	//di.className = "description";

	//var ip2 = document.createElement("input");
	//ip2.name = "mediadescription[]";

	var ip3 = document.createElement("input");
	ip3.name = "mediaNodeIds[]";
	ip3.type = "hidden";
	ip3.value = nodeId;

	var ci = document.createElement("span");
	ci.className = "closer";

	var cl = document.createElement("img");
	cl.src = "/img/icon/image_delete.png";

	cl.onclick = function(){deleteMedia(this);};

	si.appendChild(i);
	p.appendChild(si);

	//ti.appendChild(ip1);
	ti.appendChild(document.createTextNode("Sleep de foto aan de linkerkant omhoog of omlaag om de positie aan te passen. Om deze foto te verwijderen kan je het kruisje hier aan de rechterkant gebruiken."));
	p.appendChild(ti);

	//di.appendChild(ip2);
	//di.appendChild(document.createTextNode("Beschrijf wat je op de foto ziet"));
	//p.appendChild(di);

	ci.appendChild(cl);
	p.appendChild(ci);


	p.appendChild(ip3);

	//alert(p.innerHTML);

	if (f) f.appendChild(p);

	var g = document.getElementById("mediaNodeId");
	if (g) g.value += "," + nodeId;
}


var deleteMedia = function(o) {

	var mni = document.getElementById('mediaNodeId');
	var idlist = mni.value.split(',');

	var container = document.getElementById('mediauploadpreview');
	var media = container.getElementsByTagName('div');
	for (var i = 0; i < media.length; i++) {
		if (o.parentNode.parentNode == media[i]) {
			container.removeChild(media[i]);

			if (idlist.length > 1) {
				idlist.splice(i, 1);
				mni.value = implode(',', idlist);
			} else {
				mni.value = '';
			}
			break;
		}
	}
}