/***************************************/
/********** BEGIN SWFOBJECT.JS *********/
/***************************************/

/**
 * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 */
if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;

/***************************************/
/********* END SWFOBJECT.JS ************/
/***************************************/


/***************************************/
/*********** BEGIN SCRIPT.JS ***********/
/***************************************/

var debug = true;
var ddover = false;
var newAlbumDialog;
var titleDescriptionDialog;

function getFlashMovieObject(movieName){
	if (document.embeds && document.embeds[movieName]){
		return document.embeds[movieName];
	}else if (window.document[movieName]) {
		return window.document[movieName];
	}else {
		return document.getElementById(movieName);
	}
}

function openPopup(url) {
	var newwindow = window.open(url,'extern','height=600,width=740,scrollbars=1,resizable=1');
	if (window.focus) {
		newwindow.focus();
	}
	return false;
}

function showError(e, str) {
	if (debug) {
		var msg = e.name + ' - ' + e.message;
		if (str !== undefined) {
			msg += ' - ' + str;
		}
		alert(msg);
	}
}

function initStars(){
	var stars;
	// Add event handlers for mouseover on stars
	if(!document.getElementById("saveform")) {
		return;
	}

	divs = document.getElementById("saveform").getElementsByTagName('DIV');

	for (var i=0; i<divs.length;i++){
		if (divs[i].className == 'stars_date') {
			stars = divs[i].getElementsByTagName('IMG');
			break;
		}
	}
	if(stars === undefined) {
		return false;
	}
	YAHOO.util.Event.addListener(stars, "mouseover", highlightStars);
	YAHOO.util.Event.addListener(stars, "mouseover", setStarValue);
}

function highlightStars(e){
	regularUrl = '/img/layout/star.gif';
	mouseoverUrl = '/img/layout/star_over.gif';

 	stars =	this.parentNode.getElementsByTagName('IMG');
	value = this.className;

	for(var i=0; i<stars.length; i++ ){
		if( i >= value){
			stars[i].src = regularUrl;
		} else {
			stars[i].src = mouseoverUrl;
		}
	}
}

function highlightReactionStars(e){
	regularUrl = '/img/layout/star_reaction.gif';
	mouseoverUrl = '/img/layout/star_reaction_over.gif';

 	stars =	this.parentNode.getElementsByTagName('IMG');
	value = this.className;

	for(var i=0; i<stars.length; i++ ){
		if( i >= value) {
			stars[i].src = regularUrl;
		} else {
			stars[i].src = mouseoverUrl;
		}
	}
}

var loadingDialog;
function showLoadingDialog() {
	if (loadingDialog == undefined) {

		// Instantiate the Dialog
		loadingDialog = new YAHOO.widget.Dialog("loadingDialog",
						{ width : "336px",
						fixedcenter : true,
						modal: true,
						underlay: "none",
						visible : false,
						iframe: true,
						constraintoviewport : true
						} );

		// Render the Dialog
		loadingDialog.render();
		YAHOO.util.Dom.setStyle("loadingDialog", "display", "block");
	}

	loadingDialog.show();
}

function hideLoadingDialog() {
	if (loadingDialog) {
		loadingDialog.hide();
	}
}

function setStarValue(e){
	var value = this.className;
	document.getElementById("stars").value = this.className;
}

function toggleForm(containername, height){

	var sizeAfter = height;

	// get div that contains the commentform
	parentDiv = this.parentNode;
	var div = document.getElementById(containername);

	var show = new YAHOO.util.Anim(div, { height: { to: sizeAfter, from:1 } }, 0.4, YAHOO.util.Easing.easeIn);
	var hide = new YAHOO.util.Anim(div, { height: { from:parseInt(div.style.height), to: 1 } }, 0.2, YAHOO.util.Easing.easeOut);

	var h = div.style.height;

	if(h == "auto"){
		hide.onComplete.subscribe(function(){
			div.style.display = 'none';
		});
		div.style.overflow = 'hidden';
		hide.animate();
	} else {
		show.onComplete.subscribe(function() {
			div.style.overflow = 'visible';
			div.style.height = 'auto';
		});
		div.style.display = 'block';
		show.animate();
	}
}

function closeForm(containername){
	var div = document.getElementById(containername);
	div.style.height = '0';
	div.style.display = 'none';
}

function toggleCommentForm(e){
	// Hides or shows commentform with animation

	// var sizeAfter = '600';

	// get div that contains the commentform
	parentDiv = this.parentNode;
	var div = YAHOO.util.Dom.getElementsByClassName('formcontainer', 'div', parentDiv)[0];

	var show = new YAHOO.util.Anim(div, {
		    height: { to: sizeAfter, from:1 }
	    }, 0.4, YAHOO.util.Easing.easeIn);

	var hide = new YAHOO.util.Anim(div, {
	    		    height: { from:parseInt(div.style.height), to: 1 }
	    }, 0.2, YAHOO.util.Easing.easeOut);

	if(div.style.display == 'block'){
		hide.onComplete.subscribe(function(){
			div.style.display = 'none';
		});
		hide.animate();

	}
	else{
		div.style.display = 'block';
		show.animate();
	}
}

var handlePanel = function() {
	this.hide();
};

function showPanel(msg){
	// The second argument passed to the
	// constructor is a configuration object:
	var myPanel = new YAHOO.widget.Panel("win", {
		width:"400px",
		fixedcenter: true,
		constraintoviewport: true,
		underlay: "none",
		close:true,
		visible:false,
		draggable:true
		});
	// If we haven't built our panel using existing markup,
	// we can set its content via script:
	myPanel.setHeader("Volkskrant Reizen - Melding");
	myPanel.setBody("<p>"+msg+"</p>");

	myPanel.render(document.body);
	myPanel.show();
}

function showOkDialog(msg, callback, header){
	if (callback === undefined){
		callback = handleOkOkDialog;
	}
	if (header == undefined){
		header = "Volkskrant Reizen - Melding";
	}

	var okDialog = new YAHOO.widget.Dialog("okdialog",
	 { width: "500px",
	   fixedcenter: true,
	   visible: false,
	   draggable: true,
	   close: true,
	   underlay: "none",
	   modal:true,
	   constraintoviewport: true,
	   buttons: [  { text:" Ok ",  handler:function(){this.hide();callback();}, isDefault:true } ]
	} );
	okDialog.setBody('<div class="margin5">' + msg + '</div>');
	okDialog.setHeader(header);
	okDialog.render(document.body);
	okDialog.show();

	return okDialog;
}

function showOkCancelDialog(header, msg, okFunc, cancelFunc, sOk, sCancel){
	if (sOk === undefined){
		sOk = 'Ok';
	}
	if (sCancel === undefined){
		sCancel = 'Annuleren';
	}

	var okCancelDialog =
		new YAHOO.widget.Dialog("okCancelDialog",
			 { width: "336px",
			   fixedcenter: true,
			   visible: false,
			   draggable: false,
			   underlay: "none",
			   modal:true,
			   close: true,
			   constraintoviewport: true,
			   buttons: [  { text:sOk,  handler:function(){this.hide();okFunc();}, isDefault:true }, { text:sCancel,  handler:function(){this.hide(); if(cancelFunc !== null) { cancelFunc(); } } } ]
			 } );
	okCancelDialog.setBody("<p>"+msg+"</p>");
	okCancelDialog.setHeader(header);
	okCancelDialog.render(document.body);
	okCancelDialog.show();
}

var handleOkOkDialog = function() {
	this.hide();
	var p1 = document.getElementById('postbuttons');
	if (p1) p1.style.display = 'block';

	var p2 = document.getElementById('postwait');
	if (p2) p2.style.display = 'none';	
};

// DROPDOWN MENU

function initMenu(){
	if(!document.getElementById("navlist")) {
		return false;
	}
	var navul = document.getElementById("navlist");
	for( i=0; i<navul.childNodes.length; i++ ){
		if(navul.childNodes[i].className == 'withsub'){
			// mouseover on li
			navul.childNodes[i].onmouseover = function(){
				var ddlist = this.getElementsByTagName('UL')[0];
				ddlist.style.left = findPosX(this);
				ddlist.style.top = (findPosY(this)+15)+'px';
				ddlist.style.display = 'block';

				var children = ddlist.getElementsByTagName('LI');
				for (var j = 0; j < children.length; j++) {
					children[j].style.zIndex = '99';
				}

				ddlist.onmouseout = function(){
					setTimeout(function(){ if (!ddover) { ddlist.style.display = 'none'; }}, 500);
				};
				// mouseover on ul

				for(i=0; i < ddlist.childNodes.length ;i++){
					ddlist.childNodes[i].onmouseover = function(){
						ddlist.parentNode.style.display = 'block';
						ddover = true;
					};
					ddlist.childNodes[i].onmouseout = function(){
						ddover = false;
						setTimeout(function(){ if (!ddover) { ddlist.style.display = 'none'; }}, 500);
					};
				}
			};
			// mouseout on li
			navul.childNodes[i].onmouseout = function(){
				ddlist = this.getElementsByTagName('UL')[0];
				setTimeout(function(){ if (!ddover) { ddlist.style.display = 'none'; }}, 500);
			};
		}

	}
}


function init(){
	initStars();
	setTimeout(initMenu, 100);
}

function findPosX(obj){
	var curleft = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	} else if (obj.x) {
		curleft += obj.x;
	}
	return curleft;
}

function findPosY(obj){
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	} else if (obj.y) {
		curtop += obj.y;
	}
	return curtop;
}

/*
 * DESTINATION POPUP FUNCTIONS
 */

function openDestinationPopUp(type) {
	// type (tip or blogpost)is used to determine which input the returnvalue should be returned to
	var d = document.getElementById('destinationReturnType');
	if (d && type != undefined) {d.value = type;}

	url = '/destinationpopup/';

	// If a node was already selected send nodeId to popup so that it can be prefilled
	if(type == 'tip'){
		selectedNodeId = document.getElementById('tipForNodeId').value;
	}else{
		selectedNodeId = document.getElementById('forNodeId').value;
	}

	if (selectedNodeId !== 0){
		url += selectedNodeId + '/';
	}

	var newwindow = window.open(url,'destination','height=600,width=740,scrollbars=1');

	if (window.focus) {newwindow.focus(); }
	return false;
}

function openPhotoAlbumPopUp(url){
	var newwindow = window.open(url,'photoalbum','height=600,width=740,scrollbars=0');
	if (window.focus) {newwindow.focus(); }
	return false;
}

function openMediapopup2(url){
	var newwindow = window.open(url,'mediaupload2','width=500,height=300,scrollbars=0');
	if (window.focus) {newwindow.focus(); }
	return false;
}

function returnDestination() {

	if(window.opener.document.getElementById('destinationReturnType') && window.opener.document.getElementById('destinationReturnType').value == 'tip' ){
		var src = window.opener.document.getElementById('tipText');
		var link = 	window.opener.document.getElementById('tipLink');
		var input = window.opener.document.getElementById('tipForNodeId');

	}else{
		var src = window.opener.document.getElementById('destinationText');
		var link = 	window.opener.document.getElementById('destinationLink');
		var input = window.opener.document.getElementById('forNodeId');

		var l2 = 	window.opener.document.getElementById('destinationLinkNew');
		if (l2) {
			l2.style.display = "none";
		}
	}
	// write back value to original form

	var	nodeId = document.getElementById("currentNodeId").value;

	if(staticPoi.style.display == 'block') {
		title = staticPoi.innerHTML;
	} else if(staticCity.style.display == 'block') {
		title = staticCity.innerHTML;
	} else if (staticCountry.style.display == 'block') {
		title = staticCountry.innerHTML;
	} else {
		alert('Kies eerst een bestemming');
		return false;
	}

	input.value = nodeId;

	link.style.display = "inline";
	
	if (src.tagName.toUpperCase() == 'DIV') {
		src.style.display = 'block';
		src.innerHTML = title;
	} else {
		src.value = title;
	}

	window.close();
}

function setTheme(style, divObj, textObj) {
	var bgImage = YAHOO.util.Dom.getStyle(style.id, "background-image");
	var bgColor = YAHOO.util.Dom.getStyle(style.id, "background-color");
	YAHOO.util.Dom.setStyle(divObj, "background-image", bgImage);
	YAHOO.util.Dom.setStyle(divObj, "background-color", bgColor);
	var d = document.getElementById(textObj);
	if (d) { d.value = bgImage + ' ' + bgColor; }
}

YAHOO.util.Event.onDOMReady(init);

function show(elementId) {
	var theElement = null;
	if (document.getElementById) {
		theElement = document.getElementById(elementId);
	} else {
		if (document.all) {
			theElement = document.all[elementId];
		} else {
			theElement = new Object();
		}
	}
	if (!theElement) { return; }
	if (theElement.style) { theElement = theElement.style; }
	if (typeof(theElement.display) === undefined && !( window.ScriptEngine && ScriptEngine().indexOf( 'InScript' ) + 1 ) ) { return; }

	theElement.display = 'block';
}

function hide(elementId) {
	var theElement = null;
	if (document.getElementById) {
		theElement = document.getElementById(elementId);
	} else {
		if (document.all) {
			theElement = document.all[elementId];
		} else {
			theElement = new Object();
		}
	}
	if (!theElement) { return; }
	if (theElement.style) { theElement = theElement.style; }
	if (typeof(theElement.display) === undefined && !( window.ScriptEngine && ScriptEngine().indexOf( 'InScript' ) + 1 ) ) { return; }

	theElement.display = 'none';
}

function toggle(e) {
	var theElement = document.getElementById(e);
	if (theElement.style.display === "none")   {
		show(e);
	} else {
		hide(e);
	}
}

function goSearch(form) {
	var location = '/zoeken/'+escape(form.search.value);
	window.location = location;
	return;
}

var delayScript = null;
var m;

function delayLoad(filename) {
	delayScript = document.createElement('script');
	delayScript.type = 'text/javascript';
	setTimeout("doDelayLoad('" + filename + "')", 10000);
}

function doDelayLoad(filename) {
	delayScript.src = filename;
	document.getElementsByTagName("head")[0].appendChild(delayScript);
}

function delayLoadMap() {
	setTimeout("executeLoadMap()", 15000);
}

function executeLoadMap() {
	m = new OMap('google');
	m.initMap('map');
}

function initTooltip() {
	var tips = YAHOO.util.Dom.getElementsByClassName('tooltip');
	if (tips && tips.length > 0) {
		var tooltips = new YAHOO.widget.Tooltip("tt", tips);
	}
}

function searchFocus(field) {
	if (field.value === "bijv. uitgaan barcelona") {
		field.value = '';
		field.className = "searchinputFocus";
	}
}

function searchBlur(field) {
	if (field.value === '') {
		field.value = "bijv. uitgaan barcelona";
		field.className = "searchinput";
	}
}

// Initialize and render the menu bar when it is available in the DOM
YAHOO.util.Event.onContentReady("vkreizenmenu", function () {

    // Instantiate and render the menu bar

    var oMenuBar = new YAHOO.widget.MenuBar("vkreizenmenu", { autosubmenudisplay: true, hidedelay: 750, lazyload: true });

    /*
         Call the "render" method with no arguments since the markup for
         this menu already exists in the DOM.
    */

    oMenuBar.render();

});


function searchText() {
	var d = document.getElementById("findwhat");
	if (d && d.value.length > 1) {
		var SearchRange = document.createTextRange();

		SearchRange.findText(d.value);
		SearchRange.select();
		SearchRange.scrollIntoView();

		var offset = document.documentElement.scrollTop;
		if (document.body.scrollTop) offset = document.body.scrollTop;

		YAHOO.util.Dom.setY("searchTextBox", offset);
	}
}

YAHOO.util.Event.addListener(window, "load", initTooltip);

function showInlineMediaUpload() {
	YAHOO.util.Dom.setStyle("mediauploader", "display", "block");
	YAHOO.util.Dom.setStyle("mediauploadtoggle", "display", "none");
}

function implode( glue, pieces ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: _argos
    // *     example 1: implode(' ', ['Kevin', 'van', 'Zonneveld']);
    // *     returns 1: 'Kevin van Zonneveld'

    return ( ( pieces instanceof Array ) ? pieces.join ( glue ) : pieces );
}

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;
		}
	}
}

function addMedia(nodeId, filename, title) {
	var f = document.getElementById("mediauploadpreview");
	var albumcontainer = document.getElementById('medianewalbum');


	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 = "/images/75/50/" + filename;
	
	var ti = document.createElement("span");
	ti.className = "title";

	var di = document.createElement("span");
	di.className = "description";
	
	if (albumcontainer) {

		ti.appendChild(document.createTextNode("Geef de foto een titel"));
		
		var ip1 = document.createElement("input");
		ip1.name = "mediatitle[]";

		if (title != undefined) {
			ip1.value = title;
		}
		
		ti.appendChild(ip1);
		
		di.appendChild(document.createTextNode("Beschrijf wat je op de foto ziet"));

		var ip2 = document.createElement("input");
		ip2.name = "mediadescription[]";

		di.appendChild(ip2);		
		
	} else {
		ti.appendChild(document.createTextNode("Grootte thumbnail: "));
		
		var ip1 = document.createElement("input");
		ip1.name = "thumbnailWidth[]";
		ip1.value = "200";

		var ip12 = document.createElement("input");
		ip12.name = "thumbnailHeight[]";
		ip12.value = "150";

		ti.appendChild(ip1);		
		ti.appendChild(document.createTextNode(" X "));
		ti.appendChild(ip12);		

		di.appendChild(document.createTextNode("Grootte foto: "));

		var ip2 = document.createElement("input");
		ip2.name = "width[]";
		ip2.value = "700";

		var ip22 = document.createElement("input");
		ip22.name = "height[]";
		ip22.value = "1400";

		di.appendChild(ip2);		
		di.appendChild(document.createTextNode(" X "));
		di.appendChild(ip22);		
	}

	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.className = "button";

	cl.onclick = function(){ deleteMedia(this); };

	si.appendChild(i);
	p.appendChild(si);
	p.appendChild(ti);
	p.appendChild(di);

	ci.appendChild(cl);
	p.appendChild(ci);

	p.appendChild(ip3);

	if (f) f.appendChild(p);

	var g = document.getElementById("mediaNodeId");
	if (g) g.value += "," + nodeId;

	if (initDragDrop) initDragDrop();
}

var newAlbumDialog;
function doInlineMediaUpload() {
	var f = document.getElementById('saveform');
	if (f.ajaxFile.value == '') {
		alert('Selecteer een foto/video');
		return;
	}

	if (newAlbumDialog == undefined) {
		// Define various event handlers for Dialog

		var albumcontainer = document.getElementById('medianewalbum');

		var handleSubmit = function() {

			var formObject = document.getElementById('saveform');
			YAHOO.util.Connect.setForm(formObject, true);

			if (formObject.ajaxFile.value.length < 1) {
				showOkDialog('Selecteer een foto/video');
				return;
			}

			var al = document.getElementById('albumlist');
			if (al && al.selectedIndex > -1) {
				albumId = al.options[al.selectedIndex].value;
			} else {
				albumId = 0;
			}

			var newalbum = '';
			var na = document.getElementById('newalbum');
			if (na) {
				newalbum = na.value;
			} else {
				newalbum = '';
			}

			if (albumcontainer && albumId == 0 && newalbum == '') {
				showOkDialog('2: Je hebt geen titel voor album opgegeven. Geef een titel op. Bijvoorbeeld: zomer 2008.');
				return;
			}

			var callback = {
				upload:function(r) {
					hideLoadingDialog();
					if (r.responseText.indexOf('succes') > -1) {


						var form = document.getElementById('saveform');
						form.ajaxFile.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 {
						showOkDialog(r.responseText);
						if (newAlbumDialog) newAlbumDialog.show();
					}
					return;
				},
				failure:function(){ alert('Fout bij het uploaden van je foto/video.'); }
			};

			if (newAlbumDialog) newAlbumDialog.hide();
			showLoadingDialog();

			YAHOO.util.Connect.asyncRequest('POST', '/call/mediaupload2.php?albumId=' + albumId + "&newalbum=" + newalbum, callback);
		};

		if (!albumcontainer) {
			// only used for admin upload
			handleSubmit();
			return false;
		}

		var handleCancel = function() {
			this.cancel();
		};

		// Instantiate the Dialog
		newAlbumDialog = new YAHOO.widget.Dialog("medianewalbum",
						{ width : "336px",
						fixedcenter : true,
						visible : false,
						iframe: true,
						constraintoviewport : true,
						buttons : [ { text:"Foto/video uploaden >>", handler:handleSubmit , isDefault:true },
									{ text:"Annuleren", handler:handleCancel } ]
						} );

		// Render the Dialog
		newAlbumDialog.render();
		YAHOO.util.Dom.setStyle("medianewalbum", "display", "block");
	}

	newAlbumDialog.show();
}

var lastHighlight;

function jsHighlight(url) {
	var e = document.getElementById(lastHighlight);
	if (e) {
		e.className = "maplink";
	}

	var d = document.getElementById(url);
	if (d) {
		lastHighlight = url;
		d.className = "maplinkover";
	}
}

function flHighlight(obj, over) {
	try {
		getFlashMovieObject('detailbrowser').flHighlight(obj.id, over);
	} catch (e) {}
}

var callbackVideo = function(o) {
	if (o && o.responseText) {
	 	YAHOO.util.Dom.setStyle("videoresults", "display", "block");
	 	YAHOO.util.Dom.setStyle("videoloading", "display", "none");
		var d = document.getElementById("videoresults");
		if (d) d.innerHTML = o.responseText;
	}
}

var lastVideoSearch = '';
function submitVideoSearch() {
	var d = document.getElementById("videosearch");
	//var show = new YAHOO.util.Anim('videoresults', { height: { to: 0} }, 0.4, YAHOO.util.Easing.easeIn);
	//show.animate();
	if (d.value != lastVideoSearch) {
	 	YAHOO.util.Dom.setStyle("videoresults", "display", "none");
	 	YAHOO.util.Dom.setStyle("videoloading", "display", "block");

		lastVideoSearch = d.value;
		YAHOO.util.Connect.asyncRequest('GET', '/call/vktv.php?search=' + d.value, {success: callbackVideo});
	}
}

var navigation;
var navigationanchor;
var isHideNavigation = false;
var cacheWorld 		= '';
var cacheContinent 	= '';
var cacheCountry 	= '';
var cacheCity 		= '';

function loadNavigation(nodeId, type) {

	if (navigation == undefined) {
		navigation = new YAHOO.widget.Overlay("navigationcontainer", { zIndex: 9999, close:false, draggable:false, visible:false, context: [navigationanchor, 'tl', 'bl'] });
		navigation.setHeader('&nbsp;');
		navigation.setBody('');
		navigation.render(document.body);

		YAHOO.util.Event.addListener("navigationcontainer", "mouseover", resetNavigation);
		YAHOO.util.Event.addListener("navigationcontainer", "mouseout", hideNavigation);
	}

	var append = '';

	if (type == "continent") {
		append = 'continentNodeId=' + nodeId;
		navigationanchor = 'navigationcontinent';
		if (cacheContinent != '') {
			showNavigation(cacheContinent);
			return;
		}		
	} else if (type == "country") {
		append = 'countryNodeId=' + nodeId;
		navigationanchor = 'navigationcountry';
		if (cacheCountry != '') {
			showNavigation(cacheCountry);
			return;
		}		
	} else {
		navigationanchor = 'navigationworld';
		if (cacheWorld != '') {
			showNavigation(cacheWorld);
			return;
		}
	}

	var callback = function(o) {
		if (o && o.responseText) {
			if (type == "continent") {
				cacheContinent = o.responseText;
			} else if (type == "country") {
				cacheCountry = o.responseText;
			} else {
				cacheWorld = o.responseText;
			}			
			showNavigation(o.responseText);
		}
	}

	YAHOO.util.Connect.asyncRequest('GET', '/call/navigation.php?' + append, {success: callback});
}

function showNavigation(data) {
	navigation.cfg.setProperty("context", [navigationanchor, 'tl', 'bl']);
	navigation.setBody(data);
	navigation.show();

	resetNavigation();
}

function hideNavigation() {
	isHideNavigation = true;
	setTimeout("doHideNavigation()", 2000);
}

function doHideNavigation() {
	if (isHideNavigation) {
		navigation.hide();
	}
}

function resetNavigation() {
	isHideNavigation = false;
}

function showDestinationAutocomplete() {
	var myDataSource = new YAHOO.util.XHRDataSource("/call/xml/destinations.php?type=city&"); 
	
	myDataSource.responseSchema = { 
	resultsList: "ResultSet.Result", 
	fields: ["Title"] 
	}; 

	// Instantiate AutoComplete 
	var myAutoComp = new YAHOO.widget.AutoComplete("ysearchinput","ysearchcontainer", myDataSource); 
	myAutoComp.queryMatchContains = true; 
	myAutoComp.queryQuestionMark = false; 
	myAutoComp.useShadow = true; 

	// Keeps container centered 
	myAutoComp.doBeforeExpandContainer = function(oTextbox, oContainer, sQuery, aResults) { 
	var pos = YAHOO.util.Dom.getXY(oTextbox); 
	pos[1] += YAHOO.util.Dom.get(oTextbox).offsetHeight + 2; 
	YAHOO.util.Dom.setXY(oContainer,pos); 
	return true; 
	}; 

	return { 
	oDS: myDataSource, 
	oAC: myAutoComp 
	}; 
}

/***************************************/
/************ END SCRIPT.JS ************/
/***************************************/


/***************************************/
/********* BEGIN SUBSCRIBE.JS **********/
/***************************************/

var isRemoveSubscriptionNow;

var targetBlogId = 0;
var targetObject = '';

var handleSubmitSubscription = function() {

	// Validate fields
	var firstname =		document.forms['addSubscriptionForm'].elements['firstname'].value;
	var name =			document.forms['addSubscriptionForm'].elements['name'].value;
	var email =			document.forms['addSubscriptionForm'].elements['email'].value;
	var newsletter = 0;
	var adv = 0;
	if (document.forms['addSubscriptionForm'].elements['newsletter']) {
		if(document.forms['addSubscriptionForm'].elements['newsletter'].checked || document.forms['addSubscriptionForm'].elements['newsletter'].type == "hidden")
			newsletter = 1;
	}
	if (document.forms['addSubscriptionForm'].elements['adv']) {
		if(document.forms['addSubscriptionForm'].elements['adv'].checked || document.forms['addSubscriptionForm'].elements['adv'].type == "hidden")
			adv = 1;
	}

	if (name == '' || email == ''){
			showOkDialog('Niet alle velden zijn ingevuld ');
			return;
	}
	else if(!echeck(email)){
		showOkDialog('Het e-mail adres is onjuist');
		return;
	}

	var postData = "name="+name;
	postData += "&firstname="+ firstname;
	postData += "&email="+ email;
	postData += "&newsletter="+ newsletter;
	postData += "&adv="+ adv;
	postData += "&blogId="+ targetBlogId;

	// make ajax call

	var request = YAHOO.util.Connect.asyncRequest('POST', '/call/subscribe.php', {success:handleSuccessSubscription, failure:handleFailureSubscription}, postData);
}

var subscriptionDialog;

function showSubscriptionDialog(blogId, blogtype) {
	if (subscriptionDialog == undefined) {

		var handleCancel = function() {
			subscriptionDialog.hide();
		}

		subscriptionDialog = new YAHOO.widget.Dialog("subscriptionDialog",
			{ width : "336px",
			fixedcenter : true,
			visible : false,
			underlay: "none",
			modal:true,
			constraintoviewport : true,
			buttons : [ { text:"Abonneer mij", handler:handleSubmitSubscription , isDefault:true }, { text:"Annuleren", handler:handleCancel , isDefault:false } ]
			} );
		subscriptionDialog.render();
		YAHOO.util.Dom.setStyle("subscriptionDialog", "display", "block");
	}

	if (!isNaN(parseInt(blogId))) {
		targetBlogId = blogId;
		targetObject = blogtype;
	}

	subscriptionDialog.show();
}

var removeSubscriptionDialog;
function showRemoveSubscriptionDialog() {
	if (removeSubscriptionDialog == undefined) {

		var handleCancel = function() {
			removeSubscriptionDialog.hide();
		}

		var handleRemoveSubmit = function() {

			var email =	document.forms['removeSubscriptionForm'].elements['email'].value;
			if (email == ''){
				showOkDialog('Niet alle velden zijn ingevuld ');
				return;
			} else if(!echeck(email)){
				showOkDialog('Het e-mail adres is onjuist');
				return;
			}

			postData = "email="+ email;
			postData += "&blogId="+ targetBlogId;
			postData += "&action=remove";

			// make ajax call
			var request = YAHOO.util.Connect.asyncRequest('POST', '/call/subscribe.php', {success:handleSuccessUnsubscription, failure:handleFailureUnsubscription}, postData);
		}

		removeSubscriptionDialog = new YAHOO.widget.Dialog("removeSubscriptionDialog",
			{ width : "336px",
			fixedcenter : true,
			visible : false,
			underlay: "none",
			modal:true,
			constraintoviewport : true,
			buttons : [ { text:"Abonnement opheffen", handler:handleRemoveSubmit , isDefault:true }, { text:"Annuleren", handler:handleCancel , isDefault:false } ]
			} );
		removeSubscriptionDialog.render();
		YAHOO.util.Dom.setStyle("removeSubscriptionDialog", "display", "block");
	}

	removeSubscriptionDialog.show();
}

function handleSuccessSubscription(o) {
	if (o.responseText=='ok'){
		if (targetObject == 'blogpost') {
			showOkDialog('Je ontvangt vanaf nu een e-mail zodra er een nieuwe reactie is verschenen op dit reisverhaal');
		} else {
			showOkDialog('Je ontvangt vanaf nu een e-mail zodra er een nieuw artikel is verschenen');
		}
	} else {
		showOkDialog('Er is iets fout gegaan. Probeer het a.u.b. later nogmaals');
	}
	subscriptionDialog.hide();
}

function handleFailureSubscription(o){
	if (hideShowTextbars) hideShowTextbars(false);
	showOkDialog('De e-mail kon helaas niet verstuurd worden. Controleer het e-mailadres en probeer het nogmaals.',reshowTextBars);
}

function handleSuccessUnsubscription(o){
	if (o.responseText=='ok'){
		showOkDialog('Je e-mail adres is verwijderd voor dit reisverslag/reisverhaal');
	} else {
		showOkDialog('Er is iets fout gegaan. Probeer het a.u.b. later nogmaals');
	}
	removeSubscriptionDialog.hide();
}

function handleFailureUnsubscription(o){
	if (hideShowTextbars) hideShowTextbars(false);
	showOkDialog('De e-mail kon niet worden verwijderd. Controleer het e-mailadres en probeer het nogmaals.',reshowTextBars);
}

function echeck(str) {
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	if (str.indexOf(at)==-1){
		return false;
	}
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		return false;
	}
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return false;
	}
	if (str.indexOf(at,(lat+1))!=-1){
		return false;
	}
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		return false;
	}
	if (str.indexOf(dot,(lat+2))==-1){
		return false;
	}
	if (str.indexOf(" ")!=-1){
		return false;
	}
	return true;
}

// mailAFriend functions
var mDialog;

function mailAFriendDialog(){

		var handleCancel = function(){
			mDialog.hide();
		}

		var handleSubmit = function(){
			//var name   = document.forms['mailAFriend'].elements['name'].value;
			var email  = document.forms['mailAFriend'].elements['email'].value;
			var sName  = document.forms['mailAFriend'].elements['senderName'].value;
			var sEmail = document.forms['mailAFriend'].elements['senderEmail'].value;
			var nodeId = document.forms['mailAFriend'].elements['nodeId'].value;
			var desc   = document.forms['mailAFriend'].elements['description'].value;

			if (email == '' || sEmail == ''|| sName == ''){
				showOkDialog('Niet alle velden zijn ingevuld.');
				return;

			}else if(!echeck(sEmail)){
				showOkDialog('Je eigen e-mailadres is niet juist.');
				return;
			}

			//var postData = "name=" + escape(name);

			var postData = "email=" + escape(email);
			postData += "&blogpostNodeId=" + nodeId;
			postData += "&senderEmail="+ escape(sEmail);
			postData += "&senderName="+ escape(sName);
			postData += "&description="+ escape(desc);

			// make ajax call
			var request = YAHOO.util.Connect.asyncRequest('POST', '/call/mailAFriend.php', {
				success:function(o) {
							if (o.responseText=='ok'){
								showOkDialog('De e-mail is verstuurd.');
							} else {
								showOkDialog('Er is iets fout gegaan. Probeer het a.u.b. later nogmaals');
							}
							mDialog.hide();
						},
				failure:function() {
							if (hideShowTextbars) hideShowTextbars(false);
							showOkDialog('De e-mail kon helaas niet verstuurd worden. Controleer het e-mailadres en probeer het nogmaals.',reshowTextBars);
					}
				}, postData);
		}// END handleSubmit function

		mDialog = new YAHOO.widget.Dialog("mailAFriend",
			{ width : "336px",
			fixedcenter : true,
			visible : false,
			underlay: "none",
			modal:true,
			constraintoviewport : true,
			buttons : [ { text:"Versturen", handler:handleSubmit , isDefault:false }, { text:"Annuleren", handler:handleCancel , isDefault:false } ]
			} );
		mDialog.render();

		YAHOO.util.Dom.setStyle("mailAFriend", "display", "block");
		mDialog.show();
}

var redactieDialog;
function mailRedactieDialog(){

	if (redactieDialog == undefined) {
		var handleCancel = function(){
			redactieDialog.hide();
		}

		var handleSubmit = function() {
			var melding =	document.forms['mailRedactie'].elements['melding'].value;
			var nodeId =	document.forms['mailAFriend'].elements['nodeId'].value;

			if (melding == ''){
				showOkDialog('Vul een melding in');
				return;

			}

			var postData = "melding="+melding;
			postData += "&blogpostNodeId=" + nodeId;

			// make ajax call
			var request = YAHOO.util.Connect.asyncRequest('POST', '/call/mailRedactie.php', {
				success:function(o){
							if (o.responseText=='ok'){
								showOkDialog('De waarschuwing is verstuurd.');
							}else {
								showOkDialog('Er is iets fout gegaan. Probeer het a.u.b. later nogmaals');
							}
							redactieDialoghide();
						},
				failure:function(){
							if (hideShowTextbars) hideShowTextbars(false);
							showOkDialog('De waarschuwing kon helaas niet verstuurd worden.',reshowTextBars);
					}
				}, postData);
		}// END handleSubmit function

		redactieDialog = new YAHOO.widget.Dialog("mailRedactie",
			{ width : "336px",
			fixedcenter : true,
			visible : false,
			underlay: "none",
			modal:true,
			constraintoviewport : true,
			buttons : [ { text:"Versturen", handler:handleSubmit , isDefault:true }, { text:"Annuleren", handler:handleCancel , isDefault:false } ]
			} );

		redactieDialog.render();

		YAHOO.util.Dom.setStyle("mailRedactie", "display", "block");
	}

	redactieDialog.show();
}

var mailUserDialog;
function showMailUserDialog() {

	if (mailUserDialog == undefined) {
		var handleCancel = function() {
			mailUserDialog.hide();
		}

		var handleSubmit = function() {
			var name =	document.forms['mailUser'].elements['name'].value;
			var email =	document.forms['mailUser'].elements['email'].value;
			var bericht =	document.forms['mailUser'].elements['bericht'].value;
			var to_username =	document.forms['mailUser'].elements['to_username'].value;

			if (name == '' || email == '' || bericht == '') {
				showOkDialog('Niet alle velden zijn ingevuld ');
				return;

			} else if(!echeck(email)) {
				showOkDialog('E-mailadres onjuist');
				return;
			}

			var postData = "bericht="+escape(bericht);
			postData += "&name="+ escape(name);
			postData += "&email="+ escape(email);
			postData += "&to_username="+ escape(to_username);

			// make ajax call
			var request = YAHOO.util.Connect.asyncRequest('POST', '/call/mailUser.php', {
				success:function(o){
						if (o.responseText=='ok'){
							showOkDialog('Het bericht is verstuurd.');
						}else {
							showOkDialog('Er is iets fout gegaan. Probeer het a.u.b. later nogmaals');
						}
						mailUserDialog.hide();
					},
				failure:function(){
						if (hideShowTextbars) hideShowTextbars(false);
						showOkDialog('Het bericht kon helaas niet verstuurd worden.',reshowTextBars);
					}
				}, postData);
		}// END handleSubmit function

		mailUserDialog = new YAHOO.widget.Dialog("mailUserDialog",
			{ width : "336px",
			fixedcenter : true,
			visible : false,
			underlay: "none",
			modal:true,
			constraintoviewport : true,
			buttons : [ { text:"Versturen", handler:handleSubmit , isDefault:true }, { text:"Annuleren", handler:handleCancel , isDefault:false } ]
			} );

		mailUserDialog.render();
		YAHOO.util.Dom.setStyle("mailUserDialog", "display", "block");
	}

	mailUserDialog.show();
}

var handleSubmitNewsletter = function(o) {
	if (o.responseText=='ok'){
		showOkDialog('Je bent ingeschreven voor de Volkskrantreizen nieuwsbrief');
	}else {
		showOkDialog('Er is iets fout gegaan. Probeer het a.u.b. later nogmaals');
	}
	newsletterDialog.hide();
}

var newsletterDialog;

function showNewsletterDialog() {
	if (newsletterDialog == undefined) {

		newsletterDialog = new YAHOO.widget.Dialog("newsletterDialog",
			{ width : "336px",
			fixedcenter : true,
			visible : false,
			underlay: "none",
			modal:true,
			constraintoviewport : true
			} );
		newsletterDialog.render();
		YAHOO.util.Dom.setStyle("newsletterDialog", "display", "block");
	}

	newsletterDialog.show();
	if (removeNewsletterDialog) removeNewsletterDialog.hide();
}

var handleSubmitUnsubscriptionNewsletter = function(o) {
	if (o && o.responseText == 'ok'){
		showOkDialog('Je bent uitgeschreven voor de Volkskrantreizen nieuwsbrief');
	}else {
		showOkDialog('Er is iets fout gegaan. Probeer het a.u.b. later nogmaals');
	}
	removeNewsletterDialog.hide();
}

var handleClickUnsubscribeNewsletter = function() {

	// Validate fields
	var email =	document.forms['removeNewsletterForm'].elements['email'].value;
	var removeAdv = 0;

	if (document.forms['removeNewsletterForm'].elements['adv'].checked) {
		removeAdv = 1;
	}

	if (email == ''){
		showOkDialog('Niet alle velden zijn ingevuld ');
		return;
	} else if(!echeck(email)){
		showOkDialog('Het e-mail adres is onjuist');
		return;
	}

	var postData = "&email="+ email;
	postData += "&adv=" + removeAdv;
	postData += "&action=remove";

	var request = YAHOO.util.Connect.asyncRequest('POST', '/call/subscribe.php', {success: handleSubmitUnsubscriptionNewsletter, failure:handleFailureSubscription}, postData);
}

var removeNewsletterDialog;
function showRemoveNewsletterDialog() {
	if (removeNewsletterDialog == undefined) {

		removeNewsletterDialog = new YAHOO.widget.Dialog("removeNewsletterDialog",
			{ width : "336px",
			fixedcenter : true,
			visible : false,
			underlay: "none",
			modal:true,
			constraintoviewport : true
			} );
		removeNewsletterDialog.render();
		YAHOO.util.Dom.setStyle("removeNewsletterDialog", "display", "block");
	}

	removeNewsletterDialog.show();
	if (newsletterDialog) newsletterDialog.hide();
}

var deleteBlogDialog;
function showDeleteBlogDialog(userId) {
	if (deleteBlogDialog == undefined) {
		var handleCancel = function() {
			deleteBlogDialog.hide();
		}

		var handleYes = function() {
			var handleFailure = function() {
				deleteBlogDialog.hide();
				showOkDialog('Fout bij het verwijderen van reisdagboek.');
			}

			var handleSubmit = function(o) {
				deleteBlogDialog.hide();
				if (o.responseText == 'ok') {
					window.location = '/';
				} else {
					showOkDialog(o.responseText);
				}
			}

			var postData = "action=delete";
			postData += "&userId=" + userId;

			YAHOO.util.Connect.asyncRequest('POST', '/call/blog.php', {success: handleSubmit, failure:handleFailure}, postData);
		}

		deleteBlogDialog = new YAHOO.widget.Dialog("deleteBlogDialog",
			{ width : "336px",
			fixedcenter : true,
			visible : false,
			underlay: "none",
			modal:true,
			constraintoviewport : true,
			buttons : [ { text:"Ja, verwijder reisdagboek", handler: handleYes , isDefault:false }, { text:"Annuleren", handler: handleCancel , isDefault:true } ]
			} );

		deleteBlogDialog.render();
		YAHOO.util.Dom.setStyle("deleteBlogDialog", "display", "block");
	}

	deleteBlogDialog.show();
}

var submitTripcollectionDialog;
function showSubmitTripcollectionDialog() {
	if (submitTripcollectionDialog == undefined) {
		var handleCancel = function() {
			submitTripcollectionDialog.hide();
		}

		var handleYes = function() {
			var d = document.getElementById('submitTripcollectionForm');
			d.submit();
		}

		submitTripcollectionDialog = new YAHOO.widget.Dialog("submitTripcollectionDialog",
			{ width : "336px",
			fixedcenter : true,
			visible : false,
			underlay: "none",
			modal:true,
			constraintoviewport : true,
			buttons : [ { text:"Ja, ik wil mijn reis inzenden", handler: handleYes , isDefault:true }, { text:"Annuleren", handler: handleCancel , isDefault:false } ]
			} );

		submitTripcollectionDialog.render();
		YAHOO.util.Dom.setStyle("submitTripcollectionDialog", "display", "block");
	}

	submitTripcollectionDialog.show();	
}

/***************************************/
/************ END SUBSCRIBE.JS ***********/
/***************************************/


/***************************************/
/************ BEGIN MISC.JS ************/
/***************************************/

var reloadWindow = function() {
	this.hide();
	window.location = window.location;
}

var responseFavoriteSuccess = function(o) {
	showOkDialog('Favoriet opgeslagen!');
	return true;
}

var responseFavoriteFailure = function(o){
	return false;
}

function postFavorite() {
	var cObj = YAHOO.util.Connect.asyncRequest('GET', '/call/save/favorite' , {success:responseFavoriteSuccess, failure:responseDefaultFailure});
}

var responseFavDelSuccess = function(o) {
	showOkDialog(o.responseText);
	return true;
}

function removeFavorite(userId, link, name) {
	var url = '/call/del/favorite/?userId=' + escape(userId) + '&link=' + escape(link) + '&name=' + escape(name);
	hide(escape(userId) + escape(link) + escape(name));
	var cObj = YAHOO.util.Connect.asyncRequest('GET', url , {success:responseFavDelSuccess, failure:responseDefaultFailure});
}

var responseNodeDelSuccess = function(o) {
	s = o.responseText.split('|@|');
	if (s[0] == 0) {
		responseDefaultFailure();
		return;
	}
	showOkDialog('De bijdrage is verwijderd.', reload = function() { if (s[1] == ' ') s[1] = window.location; window.location = s[1]; });
	return true;
}

var callbackEditReactionNode = function (o) {
	var xml = o.responseXML;
	var d = document.getElementById('savereaction');

	var reaction = xml.getElementsByTagName("reaction");
	if (reaction.length > 0) {

		var node = reaction[0];

		d.nodeId.value = node.getAttribute("nodeId");
		d.title.value = node.getAttribute("title");
		d.description.value = node.firstChild.nodeValue;
	}
}

function editReactionNode(id) {
	var d = document.getElementById('submitReactionButton');
	d.onClick = "postForm('updatereaction')";
	/*YAHOO.util.Event.removeListener(d, 'click');
	YAHOO.util.Event.addListener(d, 'click', "postForm('updatereaction')");*/


	var url = "/call/xml/reaction.php?nodeId=" + id;
	var cObj = YAHOO.util.Connect.asyncRequest('GET', url , {success:callbackEditReactionNode, failure:null});

}

function removeNode(nodeId) {
	var url = '/call/del/node/?nodeId=' + escape(nodeId);
	var cObj = YAHOO.util.Connect.asyncRequest('GET', url , {success:responseNodeDelSuccess, failure:responseDefaultFailure});
}

function removeNodeConfirm(nodeId) {
	showOkCancelDialog('Volskrant Melding', 'Weet u zeker dat u deze wilt verwijderen?', function(){removeNode(nodeId)}, null);
}

function publiceerBlogpost(nodeId) {
	var url = '/call/publiceer/blogpost/?nodeId=' + escape(nodeId);
	var cObj = YAHOO.util.Connect.asyncRequest('GET', url , {success:responseNodePubliceerSuccess, failure:responseDefaultFailure});
}


var responseNodePubliceerSuccess = function(o) {
	s = o.responseText.split('|@|');
	if (s[0] == 0) {
		responseDefaultFailure();
		return;
	}
	showOkDialog('De bijdrage is gepubliceerd.', reload = function() { if (s[1] == ' ') s[1] = window.location; window.location = s[1]; });
	return true;
}

function publiceerNodeConfirm(nodeId) {
	showOkCancelDialog('Volskrant Melding', 'Weet u zeker dat u deze wilt publiceren?', function(){publiceerBlogpost(nodeId)}, null);
}

var responseBanIpSuccess = function(o) {
	s = o.responseText.split('|@|');
	if (s[0] == 0) {
		responseDefaultFailure();
		return;
	}
	showOkDialog('Het IP is geband.');
	return true;
}

function banIp(ip, reaction, login) {
	var url = '/call/ban/?ip=' + escape(ip) + '&reaction=' + reaction+ '&login=' + login;
	var cObj = YAHOO.util.Connect.asyncRequest('GET', url , {success:responseBanIpSuccess, failure:responseDefaultFailure});
}

function ipBanConfirm(ip,reaction,login) {
	showOkCancelDialog('Volskrant Melding', 'Weet u zeker dat u dit IP ('+ ip +') wilt bannen?', function(){banIp(ip,reaction,login)}, null);
}

var responseUpdateFriendSuccess = function(o) {
	var text = '';
	if (o.responseText == 'save') text = 'Uitnodiging verstuurd.';
	if (o.responseText == 'accept') text = 'Uitnodiging geaccepteerd.';
	if (o.responseText == 'deny') text = 'Uitnodiging geweigerd.';
	if (o.responseText == 'delete') text = 'Vriend-link verwijderd.';
	showOkDialog( text, reloadWindow );
	return true;
}

function updateFriend(userId, action) {
	var url = '';
	if (action == 'save') url = '/call/save/friend/?userId='+escape(userId);
	if (action == 'accept') url = '/call/accept/friend/?userId='+escape(userId);
	if (action == 'deny') url = '/call/deny/friend/?userId='+escape(userId);
	if (action == 'delete') url = '/call/delete/friend/?userId='+escape(userId);
	var cObj = YAHOO.util.Connect.asyncRequest('GET', url, {success:responseUpdateFriendSuccess, failure:responseDefaultFailure});
}

var responseRecommendSuccess = function(o) {
	if (o.responseText == '2') {
		showOkDialog('U heeft dit artikel al aanbevolen.');
	} else if (o.responseText == '0') {
		responseDefaultFailure();
	} else {
		var nr = parseInt(document.getElementById('nrOfRecommmendations').innerHTML);
		if (isNaN(nr)) {
			total = 1;
		} else {
			total = nr + 1;
		}
		document.getElementById('nrOfRecommmendations').innerHTML = total;
		showOkDialog('Bedankt voor uw aanbeveling!');
	}
	return true;
}

function recommendNode(nodeId) {
	var url = '/call/save/recommend/?nodeId='+nodeId;
	var cObj = YAHOO.util.Connect.asyncRequest('GET', url, {success:responseRecommendSuccess, failure:responseDefaultFailure});
}

var responseGetMoreSuccess = function(o) {
	var res = o.responseText.split('|@|');
	if (res.length == 2) {
		if (res[1] != '') {
			var el = document.getElementById('more'+res[0]);
			el.innerHTML = res[1];
		}
	}
	return true;
}

function moreNodes(nodeTypeToGet, nodeId, usergroup, obj) {
	if (obj != undefined) obj.innerHTML = 'De gegevens worden opgehaald... <img src="/img/loading-small-blue.gif" width="12" height="12" />';
	var url = '/call/getmore/?nodeType='+nodeTypeToGet+'&nodeId='+nodeId;
	if (usergroup != undefined) url += '&usergroup=' + usergroup;
	var cObj = YAHOO.util.Connect.asyncRequest('GET', url, {success:responseGetMoreSuccess, failure:responseDefaultFailure});
}

var callbackReactions = function(o) {
	var d = document.getElementById('reactionList');
	d.innerHTML = o.responseText;
}

function getReactions(forNodeId, selectObj) {
	var page = selectObj.options[selectObj.selectedIndex].value;
	var url = "/call/reaction.php?forNodeId=" + forNodeId + "&page=" + page;
	var cObj = YAHOO.util.Connect.asyncRequest('GET', url, {success:callbackReactions, failure: null});
}

/***************************************/
/************* END MISC.JS *************/
/***************************************/



/***************************************/
/********** BEGIN SAVEPOST.JS **********/
/***************************************/

/**
*	responseDefaultFailer
* 	Default failure response, if you don't know better, just call this function for an error
*/
var responseDefaultFailure = function(o) {
	showOkDialog('Er is iets misgegaan. Probeer opnieuw.');
	return false;
}

var responsePostFormSuccess = function(o) {

	if (o.responseText.indexOf("|error") > -1) {
		showOkDialog(o.responseText.substring(0, o.responseText.lastIndexOf("|error")));
		return;
	}

	if (o.responseText == 'date') {
		showOkDialog('Vul een juiste datum in.');
		return;
	}
	if (o.responseText == 'title') {
		showOkDialog('Vul een titel in.');
		return;
	}
	if (o.responseText == 'for') {
		showOkDialog('Kies een locatie.');
		return;
	}
	if (o.responseText == 'description') {
		showOkDialog('Vul een omschrijving in.');
		return;
	}

	if(o.responseText.indexOf('/') == 0) {
		window.location = o.responseText;
	} else{
		var l = window.location.toString();
		if (l.indexOf('bijdrage') > -1) {
			window.location = l.substring(0, l.indexOf('bijdrage'));
		} else if (l.indexOf('write=1') > -1) {
			// stomme fix voor sso2
			window.location = l.substring(0, l.indexOf('write=1') - 1);
		} else if (l.indexOf('#') > -1) {
			window.location = l.substring(0, l.indexOf('#'));
		} else {
			window.location = l;
		}
	}

	return;
}

function postForm(formname) {

	var p1 = document.getElementById('postbuttons');
	if (p1) p1.style.display = 'none';

	var p2 = document.getElementById('postwait');
	if (p2) p2.style.display = 'block';

	try {
		if (tinyMCE && (formname == 'saveform')) {
			tinyMCE.triggerSave();
			var d = document.getElementById(formname);
			if(d) {
				var mytextarea = tinyMCE.getContent();
				if (mytextarea.length == 0 && d.description.value.length > 0) {
					// tinyMCE.getContent is empty, use the description field because thats prefilled
				} else {
					d.description.value = mytextarea;
				}

			}
		}
	} catch (e) {}

	YAHOO.util.Connect.setForm(formname);
	var cObj = YAHOO.util.Connect.asyncRequest('POST', '/call/save/form' , {success : responsePostFormSuccess, failure : responseDefaultFailure});
}

var responseForgotPassSuccess = function(o) {
	var s = o.responseText.split('|@@|');
	if (s[0] == '0' || s[0] == '1') {
		passwordDialog.hide();
		showOkDialog('Wachtwoord verzonden.');
		return true;
	} else {
		msg = s[2];
	}
	passwordDialog.hide();
	showOkDialog(msg);
	return true;
}

var passwordDialog;
function showPasswordDialog() {
	if (passwordDialog == undefined) {
		var handleCancel = function() {
			this.hide();
		}

		var handleSignup = function() {
			var email = document.forms.forgotform.email.value;
			if (email == '') {
				showOkDialog('Vul alle gegevens in');
				return;
			}
			YAHOO.util.Connect.setForm('forgotform');
			var cObj = YAHOO.util.Connect.asyncRequest('POST', '/call/handlesso/forgotpass' , {success : responseForgotPassSuccess, failure : responseDefaultFailure});
		}

		passwordDialog = new YAHOO.widget.Dialog("passwordDialog",
			 { width: "336px",
			   fixedcenter: true,
			   visible: false,
			   close: true,
			   underlay: "none",
			   modal:true,
			   constraintoviewport: true,
				buttons : [ { text:"Wachtwoord opsturen", handler:handleSignup, isDefault:true }, { text:"Annuleren", handler:handleCancel , isDefault:false } ]
			 } );
		passwordDialog.render();
		YAHOO.util.Dom.setStyle("passwordDialog", "display", "block");
	}

	loginDialog.hide();
	passwordDialog.show();
}

var responseRegUserSuccess = function(o) {
	var s = o.responseText.split('|@@|');
	if (s[0] == '0' || s[0] == '1') {
		signupDialog.hide();
		showOkDialog('Je gegevens zijn opgeslagen. Je ontvangt een email met je wachtwoord.',showLoginDialog);
		return true;
	} else {
		msg = s[2];
	}
	showOkDialog(msg);
	return false;
}

var signupDialog;
function showSignupDialog() {
	if (signupDialog == undefined) {
		var d = document.getElementById("signupDialog");
		if (d) {
			// continue and create the window
		} else {
			// dialog is not loaded yet, skip and try again later
			return false;
		}

		var handleCancel = function() {
			this.hide();
		}

		var handleSignup = function() {
			var uname = document.forms.registeruser.username.value;
			if (uname.match(/[^-a-z0-9_.]/) != null || uname.length > 24) {
				showOkDialog('Je gebruikersnaam mag alleen uit kleine letters, cijfers en de tekens .-_ bestaan.');
				return;
			}

			if (document.forms.registeruser.username.value == '') {
				showOkDialog('Vul een gebruikersnaam in');
				return;
			}

			if (document.forms.registeruser.email.value == '') {
				showOkDialog('Vul een geldig e-mail adres in');
				return;
			}

			if (document.forms.registeruser.lastname.value == '') {
				showOkDialog('Vul een achternaam in');
				return;
			}

			if (document.forms.registeruser.firstname.value == '') {
				showOkDialog('Vul een voornaam in');
				return;
			}
			
			YAHOO.util.Connect.setForm('registeruser');
			var cObj = YAHOO.util.Connect.asyncRequest('POST', '/call/handlesso/registeruser' , {success : responseRegUserSuccess, failure : responseDefaultFailure});
		}

		signupDialog =
		new YAHOO.widget.Dialog("signupDialog",
			 { width: "336px",
			   fixedcenter: true,
			   visible: false,
			   close: true,
			   underlay: "none",
			   modal:true,
			   constraintoviewport: true,
				buttons : [ { text:"Registreren", handler:handleSignup }, { text:"Annuleren", handler:handleCancel } ]
			 } );
		signupDialog.render();
		YAHOO.util.Dom.setStyle("signupDialog", "display", "block");
	}

	if (loginDialog) {
		loginDialog.hide();
	}

	signupDialog.show();

}

var loginDialog;
function showLoginDialog() {
	if (loginDialog == undefined) {
		var d = document.getElementById("loginDialog");
		if (d) {
			// continue and create the window
		} else {
			// dialog is not loaded yet, skip and try again later
			return false;
		}

		var handleCancel = function() {
			this.hide();
		}

		var handleSignup = function() {
			var d = document.getElementById("loginform");
			if (d) {
				d.submit();
			}
		}

		loginDialog = new YAHOO.widget.Dialog("loginDialog",
			 { width: "336px",
			   fixedcenter: true,
			   visible: false,
			   draggable: true,
			   close: true,
			   underlay: "none",
			   modal:true,
			   constraintoviewport: true,
				buttons : [ { text:"Inloggen", handler:handleSignup }, { text:"Annuleren", handler:handleCancel } ]
			 } );
		loginDialog.render();
		YAHOO.util.Dom.setStyle("loginDialog", "display", "block");
	}
	if (signupDialog) {
		signupDialog.hide();
	}

	loginDialog.show();
}

var responseUpdateUser = function(o) {
	var s = o.responseText.split('|@@|');
	if (s[1] == '0' || s[1] == '1') {
		if (s[0].indexOf("ob12345") > -1) {
			showOkDialog('Je profiel is opgeslagen.', reloadWindow);
		} else {
			showOkDialog('Je profiel is opgeslagen.', reload = function() { window.location = s[0]; } );
		}
		return;
	} else {
		msg = s[2];
	}
	showOkDialog(msg);
	return false;
}

function updateUser() {
	//check passwords the same?
	p1 = document.updateuser.password1.value;
	p2 = document.updateuser.password2.value
	if (p1 != p2) {
		showOkDialog("Nieuwe wachtwoorden komen niet overeen.");
		return;
	}

	var sd = document.updateuser.subdomain.value
	if (sd.length > 0) {
		if (!sd.match(/^[a-zA-Z0-9]+$/)) {
			showOkDialog("Ongeldige karakters in subdomein, gebruik alleen letters en cijfers.");
			return;
		}
	}

	// second callback for our own profile
	var callback = {

 		upload: function(r){

			if (r.responseText.indexOf('success') > -1) {
				YAHOO.util.Connect.setForm('updateuser');
				var cObj = YAHOO.util.Connect.asyncRequest('POST', '/call/handlesso/updateuser' , {success : responseUpdateUser, failure : responseDefaultFailure});
			} else {
				var errormsg = r.responseText.replace("|error", "").replace("|err", "");
				showOkDialog("Fout bij opslaan instellingen: " + errormsg);
			}
			return;
 		},
 		failure:function(){ showOkDialog('Fout bij het bijwerken van je gegevens, probeer het opnieuw.'); }
	};

	try {
		if (tinyMCE) {
			tinyMCE.triggerSave();
			var d = document.getElementById('updateuser');
			if(d) {
				var mytextarea = tinyMCE.getContent();
				if (mytextarea.length == 0 && d.description.value.length > 0) {
					// tinyMCE.getContent is empty, use the description field because thats prefilled
				} else {
					d.description.value = mytextarea;
				}

			}
		}
	} catch (e) {}
	
	YAHOO.util.Connect.setForm(document.getElementById('updateuser'), true, true);
	var cObj2 = YAHOO.util.Connect.asyncRequest('POST', '/call/profile.php', callback);

}

/***************************************/
/*********** END SAVEPOST.JS ***********/
/***************************************/

/***************************************/
/********** BEGIN PHOTOBOX.JS **********/
/***************************************/

var photobox;
var photoBoxImage;
var photoBoxObj;
var photoBoxDescription = '';
var photoBoxTitle = '';

// BEGIN PHOTOBOX SUBCLASS //
YAHOO.widget.PhotoBox = function(el, userConfig) {
	if (arguments.length > 0) {
		YAHOO.widget.PhotoBox.superclass.constructor.call(this, el, userConfig);
	}
}

// Inherit from YAHOO.widget.Panel
YAHOO.extend(YAHOO.widget.PhotoBox, YAHOO.widget.Panel);

// Initialize the PhotoBox by setting up the footer navigation
YAHOO.widget.PhotoBox.prototype.init = function(el, userConfig) {
	YAHOO.widget.PhotoBox.superclass.init.call(this, el);

	this.beforeInitEvent.fire(YAHOO.widget.PhotoBox);
	if (userConfig) {
		this.cfg.applyConfig(userConfig, true);
	}
	this.initEvent.fire(YAHOO.widget.PhotoBox);
};

// Set up the PhotoBox's "photos" property for setting up the list of photos
YAHOO.widget.PhotoBox.prototype.initDefaultConfig = function() {
	YAHOO.widget.PhotoBox.superclass.initDefaultConfig.call(this);

	this.cfg.addProperty("photo", { handler:this.configPhoto, suppressEvent:true });
};

// Handler executed when the "photos" property is modified
YAHOO.widget.PhotoBox.prototype.configPhoto = function(type, args, obj) {
	var photo = args[0];

	if (photo && photo.src) {
		photoBoxImage = new Image();
		YAHOO.util.Event.addListener(photoBoxImage, "load", this.setImage);
		YAHOO.util.Event.addListener(photoBoxImage, "error", hidePhoto);
		photoBoxImage.src 	= photo.src;
		photoBoxDescription = photo.description;
		photoBoxTitle 		= photo.title;
	}
};

// Sets the current image displayed in the PhotoBox to the corresponding image in the photo dataset,
// and determines whether back and forward arrows should be diplsayed, based on the position in the dataset
YAHOO.widget.PhotoBox.prototype.setImage = function() {
	if (photoBoxImage) {
		var current = photoBoxImage;

		photoBoxObj = document.createElement("IMG");
		photoBoxObj.setAttribute("src", current.src);
		photoBoxObj.setAttribute("title", "Klik om de foto af te sluiten");
		photoBoxObj.setAttribute("id", "photoBoxImg");

		YAHOO.util.Event.addListener(photoBoxObj, "click", hidePhoto);

		var img =  document.getElementById("photoBoxImg");
		img.parentNode.replaceChild(photoBoxObj, img);
		if (photoBoxObj) {
			YAHOO.util.Dom.setStyle(photoBoxObj, "cursor", "pointer");
			YAHOO.util.Dom.setStyle(photoBoxObj, "opacity", 0);
		}

		photobox.setHeader(photoBoxTitle);

		var d = document.getElementById("photoboxDescription");
		if (d) d.innerHTML = photoBoxDescription;

		var extraHeight = 20;
		if (photoBoxDescription && photoBoxDescription.length > 0) {
			extraHeight = 54;
			YAHOO.util.Dom.setStyle("photoboxDescription", "display", "block");
		} else {
			YAHOO.util.Dom.setStyle("photoboxDescription", "display", "none");
		}

		var d = document.getElementById("photobox");

		var targetWidth = photoBoxImage.width + 8;
		var targetHeight = photoBoxImage.height + 34 + extraHeight;
		if (targetWidth > 708) {
			targetHeight = (708 / targetWidth) * targetHeight + 34 + extraHeight;
			targetWidth = 708;

			var pbi = document.getElementById("photoBoxImg");
			YAHOO.util.Dom.setStyle(pbi, "width", (targetWidth - 8) + "px");
			YAHOO.util.Dom.setStyle(pbi, "height", (targetHeight - 33 - extraHeight) + "px");
		}

		if (targetWidth < 150) targetWidth = 150 + 8;
		if (targetHeight < 100) targetHeight = 100 + 34 + extraHeight;

		var topY = 0;
		if (document.body.scrollTop) {
			topY = document.body.scrollTop;
		} else {
			topY = document.documentElement.scrollTop;
		}

		var imageX = Math.round((YAHOO.util.Dom.getClientWidth() - targetWidth) / 2);
		var imageY = Math.round((YAHOO.util.Dom.getClientHeight() - targetHeight - 50) / 2) + topY;
		if (imageY < 10) imageY = 10;

		var imageX1 = Math.round((YAHOO.util.Dom.getClientWidth() - 108) / 2);
		var imageY1 = Math.round((YAHOO.util.Dom.getClientHeight() - 108) / 2) + topY;

		var motion = new YAHOO.util.Motion(d, { points: { to: [imageX, imageY]} }, 0.4, YAHOO.util.Easing.easeOut);
		var resize = new YAHOO.util.Anim(d, { opacity: { from: 0, to: 100 }, width: { to: targetWidth }, height: { to: targetHeight }}, 0.5, YAHOO.util.Easing.easeIn);

		resize.onComplete.subscribe(photobox.showImage, this, true);
		motion.animate();
		resize.animate();
	}
};

YAHOO.widget.PhotoBox.prototype.showImage = function() {
	YAHOO.util.Dom.setStyle("photoBoxClose", "opacity", 100);

	var d = document.getElementById("photoBoxImg");
	var fadeIn = new YAHOO.util.Anim(d, { opacity: { from: 0, to: 100}}, 1, YAHOO.util.Easing.easeIn);
	fadeIn.animate();
};

function showPhoto (pic, titleTxt, descriptionTxt) {

	if (photobox == undefined) {
		photobox = new YAHOO.widget.PhotoBox("photobox", {
			effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.1},
			fixedcenter:false,
			constraintoviewport:false,
			iframe:true,
			underlay:"none",
			close:false,
			visible:false,
			draggable:false,
			modal:true,
			width:"100px",
			height:"120px"
		} );
		photobox.render();
		YAHOO.util.Dom.setStyle("photobox", "display", "block");
	}

	photobox.setHeader("Laden...");

	if (titleTxt == undefined) titleTxt = '';
	if (descriptionTxt == undefined) descriptionTxt = '';

	YAHOO.util.Dom.setStyle("photoBoxClose", "opacity", 0);
	YAHOO.util.Dom.setStyle("photoboxDescription", "display", "none");

	var topY = 0;
	if (document.body.scrollTop) {
		topY = document.body.scrollTop;
	} else {
		topY = document.documentElement.scrollTop;
	}
	var ix = Math.round((YAHOO.util.Dom.getClientWidth() - 108) / 2);
	var iy = Math.round((YAHOO.util.Dom.getClientHeight() - 108) / 2) + topY;

	var d = document.getElementById("photobox");
	YAHOO.util.Dom.setStyle(d, "width", "100px");
	YAHOO.util.Dom.setStyle(d, "height", "120px");
	YAHOO.util.Dom.setX(d, ix);
	YAHOO.util.Dom.setY(d, iy);
	YAHOO.util.Dom.setStyle(d, "opacity", 100);

	var d = document.getElementById("photoBoxImg");

	var span = document.createElement("span");
	span.innerHTML = "<br /><br /><img src='/img/loading.gif' />";
	span.setAttribute("id", "photoBoxImg");

	d.parentNode.replaceChild(span, d);

	photobox.show();
	photobox.body.style.height = "auto";

	photobox.cfg.setProperty("photo", null);
	photobox.cfg.setProperty("photo", {src:pic, title: titleTxt, description: descriptionTxt});

	photobox.showIframe();
}

function hidePhoto() {
	photobox.hide();
}

/***************************************/
/*********** END PHOTOBOX.JS ***********/
/***************************************/


/***************************************/
/********** BEGIN VIDEOBOX.JS **********/
/***************************************/

var videobox;
var videoId;

// BEGIN PHOTOBOX SUBCLASS //
YAHOO.widget.VideoBox = function(el, userConfig) {
	if (arguments.length > 0) {
		YAHOO.widget.VideoBox.superclass.constructor.call(this, el, userConfig);
	}
}

// Inherit from YAHOO.widget.Panel
YAHOO.extend(YAHOO.widget.VideoBox, YAHOO.widget.Panel);

// Define the CSS class for the VideoBox
//YAHOO.widget.VideoBox.CSS_VIDEOBOX = "videobox";

// Define the HTML for the footer navigation

// Initialize the VideoBox by setting up the footer navigation
YAHOO.widget.VideoBox.prototype.init = function(el, userConfig) {
	YAHOO.widget.VideoBox.superclass.init.call(this, el);

	this.beforeInitEvent.fire(YAHOO.widget.VideoBox);
	if (userConfig) {
		this.cfg.applyConfig(userConfig, true);
	}
	this.initEvent.fire(YAHOO.widget.VideoBox);
};

// Set up the VideoBox's "videos" property for setting up the list of videos
YAHOO.widget.VideoBox.prototype.initDefaultConfig = function() {
	YAHOO.widget.VideoBox.superclass.initDefaultConfig.call(this);

	this.cfg.addProperty("video", { handler:this.configVideo, suppressEvent:true });
};

// Handler executed when the "videos" property is modified
YAHOO.widget.VideoBox.prototype.configVideo = function(type, args, obj) {
	var video = args[0];

	if (video) {
		videoId = video.src;
		this.body.innerHTML = '';
		var c = document.getElementById("videoBoxClose");
		YAHOO.util.Dom.setStyle(c, "display", "none");

		var d = document.getElementById("videobox");
		YAHOO.util.Dom.setStyle(d, "opacity", 0);
		YAHOO.util.Dom.setStyle(d, "display", "block");
		videobox.show();

		var targetWidth = 410;
		var targetHeight = 385;

		videobox.setHeader(video.title);

		var offset = document.documentElement.scrollTop;
		if (document.body.scrollTop) offset = document.body.scrollTop;

		var imageX = Math.round((YAHOO.util.Dom.getClientWidth() - targetWidth) / 2);
		var imageY = Math.round((YAHOO.util.Dom.getClientHeight() - targetHeight - 50) / 2) + offset;
		if (imageY < 10) imageY = 10;

		var imageX1 = Math.round((YAHOO.util.Dom.getClientWidth() - 108) / 2);
		var imageY1 = Math.round((YAHOO.util.Dom.getClientHeight() - 108) / 2) + offset;

		//alert(document.documentElement.scrollTop + " " + document.body.scrollTop);

		var motion = new YAHOO.util.Motion(d, { points: { from: [imageX1, imageY1], to: [imageX, imageY]} }, 0.4, YAHOO.util.Easing.easeOut);
		var resize = new YAHOO.util.Anim(d, { opacity: { from: 0, to: 100 }, width: { from: 100, to: targetWidth }, height: { from: 100, to: targetHeight }}, 0.5, YAHOO.util.Easing.easeIn);

		resize.onComplete.subscribe(videobox.showImage, this, true);
		motion.animate();
		resize.animate();
	}
};

YAHOO.widget.VideoBox.prototype.showImage = function() {

	var c = document.getElementById("videoBoxClose");
	YAHOO.util.Dom.setStyle(c, "opacity", 0);
	YAHOO.util.Dom.setStyle(c, "display", "block");
	var fadeInClose = new YAHOO.util.Anim(c, { opacity: { from: 0, to: 100}}, 5, YAHOO.util.Easing.easeIn);
	fadeInClose.animate();

	var so = new SWFObject("http://video.google.com/googleplayer.swf?docId=" + videoId, "mymovie", "400", "330", "8", "#fff");
	so.addVariable("autoPlay", true);
	so.write(this.body);
};

function showVideo (pic, titleStr) {
	if (videobox == undefined) {
		videobox = new YAHOO.widget.VideoBox("videobox", {
			effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.2},
			fixedcenter:false,
			constraintoviewport:false,
			iframe:true,
			underlay:"none",
			close:false,
			visible:false,
			draggable:false,
			modal:true
		} );
		videobox.render();	
	}
	videobox.cfg.setProperty("video", null);
	videobox.cfg.setProperty("video", { src:pic, title:titleStr });
}

function hideVideo() {
	videobox.body.innerHTML = '';
	videobox.cfg.setProperty("video", null);
	videobox.hide();
}

/***************************************/
/*********** END VIDEOBOX.JS ***********/
/***************************************/

function GALink(obj) {
	if (pageTracker) {
		pageTracker._trackPageview('/outgoing/' + obj.href);
	}
	return true;
}