/*
	Do a AJAX request to ajax.request.php with given params.
	If something is returned it will be javascript and will be 
	executed.
*/
function doAjax( action, params, useDatabase, loading_id ){
	
	// Add action
	params = 'action=' + action + '&' + params;
	
	// Add flag for no database
	if( useDatabase == null || useDatabase == false ){
		params = 'database=0&' + params;
	}
	
	// Make a loading screen if loading_id is set
	var loading = null;
	if( loading_id != null ){
		loading = $( loading_id );
		
		// Message
		loading.innerHTML = '<img src="res/images/loader.gif" width="16" height="16" />Moment geduld';
	}
	
	new Ajax.Request( REL + '_ajax.request.php', {
		method: 'post',
		parameters: params,
		
		// Let message disappear on arrival of data
		onSuccess: function(transport){
			if( loading != null )
				new Effect.Fade( loading );
		}
	});
}

/*
	Asks the user if he want's to confirm the given message. If so:
	do a post request with given params to the given link. Else just
	returns;
*/
function doPost( msg, url, params ){

	// The whole URL is placed to prevent IE from linking to a wrong place
	url = REL + url;
	if( confirm( msg ) ){
		
		var form = document.createElement('form');
		form.action = url;
	    form.method = 'POST';
		
		var vars = params.split('&');
		for( var i = 0, pos, value; i < vars.length; i++ )
		{
			pos = vars[i].indexOf('=');
			value = document.createElement('input');
			value.name = vars[i].substring(0,pos);
			value.value = vars[i].substring(pos+1);
			form.appendChild( value );
		}
		
		document.body.appendChild( form );
		form.submit();
	}
}

/*
	Spring naar anker toe.
*/
function goto( anker ){
	window.location.hash = anker;
}