basehref = 'http://www.blackbunny.nl/';

function addEvent(obj, eventType, fn, useCapture) {
	if (obj.addEventListener) {
		obj.addEventListener(eventType, fn, useCapture);
		return true;
	} else {
		if (obj.attachEvent) {
			var r = obj.attachEvent("on"+eventType, fn);
			return r;
		};
	};
};

function createHTTPHandler(){
    httphandler = false;
    /*@cc_on @*/
    /*@if (@_jscript_version >= 5)
    // JScript gives us Conditional compilation, we can cope with old IE versions.
    // and security blocked creation of the objects.
    try {
      httphandler = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
       httphandler = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
          httphandler = false;
      }
    }
    @end @*/
    if (!httphandler && typeof XMLHttpRequest!='undefined') {
        httphandler = new XMLHttpRequest();
    }
    return httphandler;
};


function disab(janee) {
	for (i=1;arguments[i];i++) {
		if (document.getElementById(arguments[i])) {
			document.getElementById(arguments[i]).disabled = janee;
			document.getElementById(arguments[i]).blijftdisabled = ((janee)?1:0);
		};
	};
};


function mC(pagina) {
	nu = new Date();
	ding = createHTTPHandler();
	ding.open('POST', pagina + '?ts=' + nu.getHours() + nu.getMinutes() + nu.getSeconds() + Math.random(), true);
	ding.setRequestHeader('X_USERAGENT', 'FabTecAjax');
	ding.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	ding.setRequestHeader('Connection', 'close');
	return ding;
};

function ajaxify(waarde) {
	waarde = escape(waarde.replace(/\&/g, '[en]').replace(/\+/g, '[plus]'));
	return waarde;
};

function deajaxify(waarde) {
	if (waarde === false) return false;
	waarde = waarde.replace(/\[en\]/g, '&').replace(/\[t\]/g,'<').replace(/\[\/t\]/g, '>').replace(/\[nl\]/g,'<br>').replace(/\&amp\;/g, '&');
	return waarde;
};

function showMenu(nr) {
	if (document.getElementById('menukop_' + nr)) document.getElementById('menukop_' + nr).className='menukop_hover';
	if (document.getElementById('submenu_' + nr)) document.getElementById('submenu_' + nr).style.display='block';
};

function hideMenu(nr) {
	if (document.getElementById('menukop_' + nr)) document.getElementById('menukop_' + nr).className='menukop';
	if (document.getElementById('submenu_' + nr)) document.getElementById('submenu_' + nr).style.display='none';
};

function ganaar(doel) {
	if (!doel) return true;
	if (doel.length==0) return true;
	document.location.href=basehref + ((doel.substring(0,1)=='/')?doel.substring(1,100):'index.php?p='+doel);
	return true;
};

function getNodeValue(obj, tag) {
	if (obj.getElementsByTagName(tag).length>0) {
		return obj.getElementsByTagName(tag)[0].firstChild.nodeValue;
	} else {
		return false;
	};
};

ajaxBezig = 0;

function repostData(formulier, inhoud) {
	if (formulier == 'false') formulier = false;
	if (ajaxBezig > 0) {
		if (formulier) {
			for (i=0;formulier[i];i++) {
				if (!formulier[i].blijftdisabled) formulier[i].disabled=false;
			};
		};
		postData(formulier, inhoud);
	};
};

function postData(formulier, inhoud, strp) {
	ajaxBezig = 1;
	if (!inhoud) inhoud = '';
//	if (!strp) setTimeout('repostData(\'' + formulier + '\', \'' + inhoud + '\')', 5000);
	ding = mC('ajax.php');
	if (formulier===false) {
	} else {
		formulier = document.getElementById(formulier);
		for (i=0;formulier[i];i++) {
			if (formulier[i].name.length>0) {
				if (formulier[i].type=='checkbox' || formulier[i].type=='radio') {
					if (formulier[i].checked) inhoud += ((inhoud.length>0)?'&':'') + formulier[i].name + '=' + formulier[i].value;
				} else {
					inhoud += ((inhoud.length>0)?'&':'') + formulier[i].name + '=' + ajaxify(formulier[i].value);
				};
			};
			if (formulier[i].type=='button' || formulier[i].type=='submit') formulier[i].disabled=true;
		};
	};
	if (inhoud.length==0) inhoud = null;
	ding.onreadystatechange=function() {
		if (ding.readyState==4) {
			ajaxBezig = 0;
			antwoord = ding.responseXML;
			analyzeAjax(antwoord);
			if (formulier) {
				for (i=0;formulier[i];i++) {
					if (!formulier[i].blijftdisabled && (formulier[i].type == 'button' || formulier[i].type == 'submit')) formulier[i].disabled=false;
				};
			};
		};
	};
	ding.send(inhoud);
};

function postDataX(obj, noform) {
	if (!noform) {
		params = new Array();
		if (document.getElementById(obj)) {
			formulier = document.getElementById(obj);
			for (i=0;formulier[i];i++) {
				if (formulier[i].name.length > 0) {
					if (formulier[i].type == 'checkbox' || formulier[i].type == 'radio') {
						if (formulier[i].checked) params[formulier[i].name] = formulier[i].value;
					} else {
						params[formulier[i].name] = formulier[i].value;
					};
				};
			};
		};
	} else {
		params = noform;
	};
	new Ajax.Request('ajax.php?ts=' + Math.random(), {
		method: 'post',
		parameters: params,
		onSuccess: function(transport){
			analyzeAjax(transport.responseXML);
		},
		onFailure: function(){
			alert('Er is een onbekende fout opgetreden.');
		}
	});
};

function analyzeAjax(transport) {
	antwoord = transport.getElementsByTagName('info')[0];
	if (getNodeValue(antwoord, 'alert')) window.alert(deajaxify(getNodeValue(antwoord, 'alert')).replace(/\<br\>/g, "\n"));
	if (getNodeValue(antwoord, 'refresh')) document.location.reload();
	if (getNodeValue(antwoord, 'goto')) document.location.href=basehref + ((deajaxify(getNodeValue(antwoord, 'goto')).substring(0,1)=='/')?deajaxify(getNodeValue(antwoord, 'goto')).substring(1,100):deajaxify(getNodeValue(antwoord, 'goto')));
	if (getNodeValue(antwoord, 'show')) {
		if (document.getElementById(getNodeValue(antwoord, 'show'))) document.getElementById(getNodeValue(antwoord, 'show')).style.display='';
	};
	if (getNodeValue(antwoord, 'hide')) {
		if (document.getElementById(getNodeValue(antwoord, 'hide'))) document.getElementById(getNodeValue(antwoord, 'hide')).style.display='none';
	};
	if (getNodeValue(antwoord, 'wopen')) {
		window.open(getNodeValue(antwoord, 'wopen'), '', 'width=100,height=100');
	};
	if (getNodeValue(antwoord, 'js')) {
		eval(getNodeValue(antwoord, 'js'));
	};
	if (getNodeValue(antwoord, 'inhoud')) {
		doel = deajaxify(getNodeValue(antwoord, 'doel'));
		titel = deajaxify(getNodeValue(antwoord, 'titel'));
		inhoud = deajaxify(getNodeValue(antwoord, 'inhoud'));
		if (!doel) doel = 'inhoudDiv';
		inner = '';
		if (titel) inner += '<b class="titel">' + titel + '</b>';
		if (inhoud) inner += '<p class="jump">' + inhoud + '</p>';
		if (document.getElementById(doel)) document.getElementById(doel).innerHTML = inner;
	};
};