function sleep(milliseconds) {	
	if (milliseconds > 0 && milliseconds < 21001) {
		var sleepNow = new Date();
		var exitTime = now.getTime() + milliseconds;
		while (true) {
			sleepNow = new Date();
			if (now.getTime() > exitTime)
				return;
		}
	}
} 

function toggleVisible(id) {
    var status = document.getElementById(id).style.display;
    document.getElementById(id).style.display = (status == "block" ? "none" : "block");
}

function popup(deurl, breedte, hoogte) {
    myWin = open(deurl,'','width=' + breedte + ',height=' + hoogte +',resizable=1,scrollbars=yes,status=no,toolbar=no,menubar=no');
}

function selectRadio(radio_object, s_action){
    var value = null;

    if (!radio_object[s_action].checked){
        radio_object[s_action].checked = true;
    }
    return true;
}

function openWindow(file, width, height) {
    info = open("", "zoek", "resizable=no, status=yes, scrollbars=yes, width=" + width + ", height=" + height);
    info.location.href = file;
    if (info.opener == null)
            info.opener = self;
}

function confirmDialog(url, msg) {
    var fRet;
    response = confirm(msg + '?', '');
    if (response == true ) {
        document.location.href = url;
    }
}
 
sfHover = function() {
	var menu_level_0 = document.getElementById("menu_level0_1");
	if (menu_level_0 != null) {
		var sfEls = menu_level_0.getElementsByTagName("LI");
		for (var i=0; i<sfEls.length; i++) {
			sfEls[i].onmouseover=function() {
				this.className+=" sfhover";
			}
			sfEls[i].onmouseout=function() {
				this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
			}
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover); 
            
function swapimage(name, url, captionid, caption) {
	MM_swapImage(name,'',url,0);
	document.getElementById(captionid).innerHTML = caption;
	return false;
}

function MM_swapImage() {
	var i,j = 0, x,a = MM_swapImage.arguments; 
	document.MM_sr=new Array; 
	for(i = 0; i < (a.length - 2); i += 3)
		if ((x = MM_findObj(a[i])) != null) {
			document.MM_sr[j++] = x;
			if (!x.oSrc) 
				x.oSrc = x.src; 
			x.src = a[i+2];
		}
  return false;
}

function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}

function MM_findObj(n, d) { //v4.01
	var p,i,x;  
	if (!d) 
		d = document; 
	if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
	    d = parent.frames[n.substring(p+1)].document; 
	    n = n.substring(0,p);
	}
	if (!(x = d[n]) && d.all) 
		x = d.all[n]; 
	for (i = 0; !x && i < d.forms.length; i++) 
		x = d.forms[i][n];
	for(i = 0; !x && d.layers && i < d.layers.length; i++) 
		x = MM_findObj(n, d.layers[i].document);
	if (!x && d.getElementById) 
		x = d.getElementById(n); 
	return x;
}

// browser detection
var BrowserDetect = {

	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();