
// @TODO: herschrijving, zie freddy
function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function() {
            oldonload();
            func();
        }
    }
}

function debug(str){
    try {
        debug_el = document.getElementById('debug');
        debug_el.innerHTML = str + '<br />' + debug_el.innerHTML;
    } catch(e) {
        // alert(e + ' --  please create a html element with id debug');
    }
}

function getElementsByClassName(className, tag, elm) {
	var testClass = new RegExp("(^|\\\\s)" + className + "(\\\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for (var i=0; i<length; i++) {
		current = elements[i];
		if (testClass.test(current.className)) {
			returnElements.push(current);
		}
	}
	return returnElements;
}

function getElementsByClassName2(oElm, strTagName, oClassNames){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    var arrRegExpClassNames = new Array();
    if(typeof oClassNames == "object"){
        for(var i=0; i<oClassNames.length; i++){
            arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
        }
    }
    else{
        arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
    }
    var oElement;
    var bMatchesAll;
    for(var j=0; j<arrElements.length; j++){
        oElement = arrElements[j];
        bMatchesAll = true;
        for(var k=0; k<arrRegExpClassNames.length; k++){
            if(!arrRegExpClassNames[k].test(oElement.className)){
                bMatchesAll = false;
                break;
            }
        }
        if(bMatchesAll){
            arrReturnElements.push(oElement);
        }
    }
    return (arrReturnElements)
}

function open_popup(theURL,PopupName,PopupWidth,PopupHeight,PopupFeatures) {
    var Xcoor;
    var Ycoor;
    var Popup;
    var FeaturesTotal;
    if (PopupHeight && PopupWidth) {
        if (window.screen.width > PopupWidth)
            Xcoor = (window.screen.width/2) - (PopupWidth/2);
        else
            Xcoor = 0;
        if (window.screen.height > PopupHeight)
            Ycoor = (window.screen.height/2) - (PopupHeight/2);
        else
            Ycoor = 0;
        if (PopupFeatures)
            FeaturesTotal = PopupFeatures + ",width=" + PopupWidth + ",height=" + PopupHeight + ",left=" + Xcoor + ",top=" + Ycoor + ",screenX=" + Xcoor + ",screenY=" + Ycoor;
        else
            FeaturesTotal = "width=" + PopupWidth + ",height=" + PopupHeight + ",left=" + Xcoor + ",top=" + Ycoor + ",screenX=" + Xcoor + ",screenY=" + Ycoor;
        Popup = window.open(theURL,PopupName,FeaturesTotal);
        Popup.focus;
    }
    else {
        Popup = window.open(theURL,PopupName);
        Popup.focus;
    }
    return false;
}
