function externalLinks() {
	//alert(location.hostname);
	
	if (!document.getElementsByTagName) return;

    // de url van deze site. daarmee kan worden onderscheden welke links naar externe sites gaan en welke niet
	var url = location.hostname;
    var tags = new Array('a','area');
    var teller_i = 0;
    
    for (var j=0; j<tags.length; j++) {
    	//alert(tags[j]);
	    var anchors = document.getElementsByTagName(tags[j]);

	    for (var i=anchors.length-1; i>=0; i--) {
		    var anchor = anchors[i];
	
		    if (anchor.getAttribute('href')) {
		    	// ok dit is dus een link
				href = anchor.getAttribute('href')
				
		    	if (href.indexOf('clicks.php?id=')!=-1 || (href.substring(0,7)=='http://' && (href.indexOf(url)==-1 || (href.indexOf(url)>15)))) {
	        		// links met http:// zijn niet per se lokaal, dus als er ook geen (url) in voorkomt zijn het links naar externe sites
		    		
		    		anchor.target = '_blank';
		    	}
		    	
		    	if (anchor.getAttribute('rel') && (anchor.getAttribute('rel')=='nofollow')) { // || (rel.substring(0,7)=='http://' && (rel.indexOf(url)>15 || rel.indexOf(url)==-1)))) {
		    		// nofollow is voor homepages van reacties (pagerank beveiliging)
		    		// de http:// betekent een link uit showLinks() die door een lokale teller heengaat en op deze manier toch een target krijgt
		    		
		    		anchor.target = '_blank';
		    	} else {
			    	//href = anchor.getAttribute('href');
			    	
			    	if (teller_i<20) {
			    		//alert(href +'\n'+ href.substring(0,7) +'\n'+ href.indexOf(url)+'\n'+ href.indexOf(url));
			    		teller_i++;
			    	} 
					
		    	}
	    	}
	    }
    }
}

function initSpamFree() {
	if (!document.getElementsByTagName) return;

    var tags = new Array('a','area');

    for (var j=0; j<tags.length; j++) {
    	//alert(tags[j]);
	    var anchors = document.getElementsByTagName(tags[j]);

	    for (var i=anchors.length-1; i>=0; i--) {
		    var anchor = anchors[i];
			var email = '';
			var newEmail = '';
			var href = '';
			var alerts = '';

		    if (anchor.getAttribute('href')) {
				href = anchor.getAttribute('href');

				//alert(href);

		    	if (href.substring(0,7)=='mailto:') {
		    		email = href.substring(7);

		    		alerts += email +'\n';

		    		for (var x=email.length; x>=0; x--) {
		    			alerts += email.charAt(x) +'\n';

		    			newEmail += email.charAt(x);
		    		}

		    		newEmail = newEmail.replace('$$#64;', '@');
		    		anchor.onmouseover = 'window.status=\'mailto:'+ newEmail +'\'';
		    		anchor.href = 'mailto:'+ newEmail;

		    		//alert(alerts);
		    	}
	    	}
	    }
    }
}

function equalHeights() {
	// compenseren voor het hoogteverschil van de middenbalk vanwege de navigatie
	var lHeight = xHeight('linkerbalk2')+21;
	var rHeight = xHeight('rechterbalk2')+21;
	var cHeight = xHeight('middenbalk2');
		
	var maxHeight = Math.max(lHeight, Math.max(rHeight, cHeight));
	
	//alert(lHeight +' '+ cHeight +' '+ rHeight +' '+ maxHeight);
	
	xHeight('linkerbalk', maxHeight+6);
	xHeight('rechterbalk', maxHeight+6);
	xHeight('middenbalk', maxHeight);
	
	xTop('footnote', (81+maxHeight));
	xShow('footnote');
}	

function onloadEvents() {
	equalHeights();
	initSpamFree();
	externalLinks();
}

xAddEventListener(window, 'load', onloadEvents, false);

var nav = (document.layers);
var dom = (document.getElementById&&!document.all);
var iex = (document.all);

var mouse_x = 0;
var mouse_y = 0;

// een beetje afstand van de muiscursor nemen

var Xoffset = 20;
var Yoffset = -30;

if (nav) document.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP);
document.onmousedown = mouseMove;
document.onmouseup = mouseMove;

var req;

function checkXML(form) {
    if (form.tekst.value != form.oldtekst.value) { // de berichttekst is aangepast
        if (form.xmlcheck.value == '0') {
            if (confirm('Dit bericht is nog niet gecontroleerd.\nWilt u het nu controleren?')) {
                openPreview(form.tekst.value);
            }

            return false;
        }
    } else {
        return true;
    }
}

function setMonth(datum, channel) {
    if (isNaN(channel)) {
        loadXMLDoc('kalender.php?archiefkalender='+ datum);
    } else {
        loadXMLDoc('kalender.php?channel='+ channel +'&archiefkalender='+ datum);
    }
}

function loadXMLDoc(url) {
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;

        //alert('getting '+ url);

        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        }
    }
}

function processReqChange() {
    // only if req shows "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            // ...processing statements go here...
            text = req.responseText;
            //alert(text);
            fillLayer('archiefkalender', text);
        } else {
            alert("Er is een fout opgetreden:\n" + req.statusText);
        }
    }
}

function getLayer(layer_id) {
    if (nav) {
        layer = document.layers[layer_id];
    }
    else if (dom) {
        layer = document.getElementById(layer_id).style;
    }
    else if (iex) {
        layer = document.all[layer_id].style;
    }
    else {
        alert('Uw browser wordt niet ondersteund');
        layer = false;
    }

    return layer;
}

function reageren(nieuws) {
    switchLayer('addreactie','auto',true);
    document.forms['reactieform'].nieuws.value = nieuws;
}

function mouseMove(e) { //v1.0
    if (nav || dom) {
        mouse_x = e.pageX;
        mouse_y = e.pageY;
    } else {
        mouse_x = event.clientX + document.documentElement.scrollLeft;
        mouse_y = event.clientY + document.documentElement.scrollTop;
    }
}

function switchLayer(layer_id, mode, movetomouse) { //v1.1
    /* mode = aan, uit of auto */

    if (nav) {
        layer = document.layers[layer_id];
    }
    else if (dom) {
        layer = document.getElementById(layer_id).style;
    }
    else if (iex) {
        layer = document.all[layer_id].style;
    }
    else {
        alert('Uw browser wordt niet ondersteund');
    }

    if (mode=='auto') mode = (layer.visibility=='hidden') ? 'aan' : 'uit';

    if (movetomouse) moveToMouse(layer_id, mode);

    if (mode=='aan') {
        layer.visibility = 'visible';

        if (layer_id=='addreactie') {
            setTimeout("document.forms['reactieform'].naam.focus()", 500);
        }
    } else {
        layer.visibility = 'hidden';
    }
}

function fillLayer(layer_id, content){ //v1.0
    if (nav) {
        document.layers[layer_id].document.write(content);
        document.layers[layer_id].document.close();
    }
    else if (dom) {
        document.getElementById(layer_id).innerHTML=content;
    }
    else if (iex) {
        document.all[layer_id].innerHTML=content;
    }
}

function moveToMouse(layer_id, mode) {
    // een beetje afstand van de muiscursor nemen

    if (nav) {
        layer = document.layers[layer_id];
    }
    else if (dom) {
        layer = document.getElementById(layer_id).style;
    }
    else if (iex) {
        layer = document.all[layer_id].style;
    }

    if (mode=='aan') {
        layer.left = mouse_x + Xoffset +'px';
        layer.top = mouse_y + Yoffset+'px';
    } else {
        layer.left = 0 +'px';
        layer.top = -300 +'px';
    }
}

function show(foto,breedte,hoogte,titel,venster) {
    if (foto!='' && breedte>0 && hoogte>0) {
        pop = window.open('', venster, 'width='+ breedte +',height='+ hoogte +', scrollbars=no, dependent=yes, alwaysRaised=yes, status=yes');
        pop.document.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'+
                           '<html>'+
                           '<head>'+
                           '<title>'+ titel +'</title>'+
                           '</head>'+
                           '<body style="margin: 0; background: url(\''+ foto +'\'); background-repeat: none" onload="this.focus()">'+
                           '<a href="javascript:self.close()"><img src="images/spacer.gif" border="0" width="'+ (breedte-5) +'" height="'+ (hoogte-5) +'" alt="" /></a>'+
                           '</body>'+
                           '</html>');
        pop.document.close();
    }
}

function notBlank(str) {
    if (str != '') {
        for (i = 0; i < str.length; i++) {
            if (str.charAt(i) != " ")
                return true
        }
    }
    return false
}

function checkReactieForm(formulier) {
    if (!notBlank(formulier.naam.value) || !notBlank(formulier.bericht.value)) {
        alert('Naam en bericht zijn verplicht');
        return false;
    } else {
        return true;
    }
}

