; (function($) {
	$.fn.loadWithoutCaching = function(url, data, callback) {
		var safe = url;
		var timestamp = new Date().getTime();
		if (safe.indexOf('?') > 0) {
			safe += '&';
		} else {
			safe += '?';
		}
		safe += 'timestamp=' + timestamp;
		$(this).load(safe, data, callback);
	}
	var xhr;
	$.fn.loadPage = function(nodeUrl, url) {
		var contentId = $(this);
		contentId.html('');
		if (xhr !== undefined) { $('.loader').remove(); xhr.abort(); contentId.html(''); }
		$('<div id="load" class="loader">Bezig met laden</div>').insertAfter(contentId).show();
		while (url.indexOf('+') >= 0) { url = url.replace('+', "%20"); }
		xhr = $.ajax({
			type: 'POST',
			url: nodeUrl + '&' + url,
			beforeSend: function(xhr) {
				xhr.setRequestHeader("X-MicrosoftAjax", "Delta=true");
			},
			success: function(data, textStatus, XMLHttpRequest) {
				if (xhr.status == 200 && !xhr.responseText.match(/pageRedirect/)) {
					if (textStatus == 'success') {
						$('#load').remove();
						contentId.html(data).fadeIn();
						if (typeof BindEditableContent == 'function') {
							BindEditableContent();
						}
					} else if (textStatus == 'error') {
						$('#load').remove();
						contentId.html('<div class="text">Er is een fout opgetreden tijdens het laden van de pagina.</div>');
					}
				} else {
					$('#load').remove();
					contentId.html('<div class="text"><p>Helaas de pagina kon niet worden geladen uw sessie is verlopen, u moet opnieuw inloggen.</p></div>').delay(8000).queue(function() { });
				}
			},
			error: function(xhr, ajaxOptions, thrownError) {
				$('.loader').remove();
				if (xhr.status != 0) { contentId.html('<div class="text"><p>Helaas de pagina kon niet worden geladen, neem contact op als dit probleem zich blijft voortdoen.</p><p>De pagina geeft de volgende foutmelding status: ' + xhr.status + '</p></div>'); }
			}
		});
	}
	var multiple;
	$.fn.loadMultiplePage = function(nodeUrl, url) {
		var contentId = $(this);
		contentId.html('');
		$('<div id="multipleLoad" class="loader">Bezig met laden</div>').insertAfter(contentId).show();
		if (multiple !== undefined) { multiple.abort(); }
		while (url.indexOf('+') >= 0) { url = url.replace('+', "%20"); }
		multiple = $.ajax({
			type: 'POST',
			url: nodeUrl + '&' + url,
			success: function(data, textStatus, XMLHttpRequest) {
				if (textStatus == 'success') {
					$('#multipleLoad').remove();
					contentId.html(data).fadeIn();
					if (typeof BindEditableContent == 'function') {
						BindEditableContent();
					}
				} else if (textStatus == 'error') {
					$('#multipleLoad').remove();
					contentId.html('<div class="text">Er is een fout opgetreden tijdens het laden van de pagina.</div>');
				}
			},
			error: function(xhr, ajaxOptions, thrownError) {
				$('#multipleLoad').remove();
				contentId.html('<div class="text"><p>Helaas de pagina kon niet worden geladen, neem contact op als dit probleem zich blijft voortdoen.</p><p>De pagina geeft de volgende foutmelding status: ' + xhr.status + '</p></div>');
			}
		});
	}
})(jQuery);
