// Create/Show dialog server-sidefunction dialog_create(id) {	var dialogWidget = dijit.byId(id);	if( dialogWidget ) dialogWidget.destroyRecursive(true);		dialogWidget = new dijit.Dialog( { }, dojo.byId(id));	var dialog = dojo.byId(id);	dialog.parentNode.removeChild(dialog);	var form = document.forms[0];	form.appendChild(dialog);	dialogWidget.startup();}// Set URL in self-created Frame-attribute Urlfunction SetViewURL() {	top.document.getElementById('Body').url = location.href}// get width of active documentfunction getDocWidth() {	return document.body.clientWidth}// Get UnId's from selected docs in browserfunction getSelectedDocs(){	/*	This function returns selected document UNIDs from an HTML-syle web view	*/	var iX = 0	var aUNID = new Array()	var hForm = window.document.forms[0]	if (hForm != null) {		for (var iY = 0; iY < hForm.elements.length; iY++) { 			if (hForm.elements[iY].type == "checkbox" && hForm.elements[iY].name == "$$SelectDoc" && hForm.elements[iY].checked) {				aUNID[iX] = hForm.elements[iY].value				iX++ 			} 		} 	} 	return aUNID}// Gets the value of a parameter in an URLfunction getURLParam(strParamName){  var strReturn = "";  var strHref = window.location.href;  if ( strHref.indexOf("&") > -1 ){//    var strQueryString = strHref.substr(strHref.indexOf("&")).toLowerCase();    var strQueryString = strHref.substr(strHref.indexOf("&"));    var aQueryString = strQueryString.split("&");    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){      if ( aQueryString[iParam].indexOf(strParamName + "=") > -1 ){        var aParam = aQueryString[iParam].split("=");        strReturn = aParam[1];        break;      }    }  }  return strReturn;}//Full Database path in browserfunction DbPath(){	var loc = location.pathname;	return loc.substr(0, loc.indexOf('.nsf')+4);}//Get mode: ?OpenDocument, ?EditDocument, ?OpenFormfunction getDocMode(){	var loc = location.href.toLowerCase();	if (loc.indexOf('?openform') >=0 ) return 'new'	else if (loc.indexOf('?opendocument') >= 0) return 'read'	else if (loc.indexOf('?editdocument') >= 0) return 'edit'	else return 'error reading mode'}// Validate the fieldvalue Deeltijdfunction isNumeric(elem){	var numericExpression = /^[0-9,]+$/;	if(elem.value.match(numericExpression)){//		elem.value = replaceAll( elem.value, [",", "."] ) 		return true;	} else {		alert( 'Er is een fout opgetreden bij invoeren van de deeltijd.\n\nDe invoer is een getal tussen 0 en 100.\nDecimalen dienen te worden gescheiden door een komma.');		return false;	}}// Set focus to fieldfunction setFormFocus(fieldname) {	if (document.getElementById(fieldname)) {		document.getElementById(fieldname).focus(); 		document.getElementById(fieldname).select();		}}function Left(str, n){	if (n <= 0)	    return "";	else if (n > String(str).length)	    return str;	else	    return String(str).substring(0,n);}function Right(str, n){    if (n <= 0)       return "";    else if (n > String(str).length)       return str;    else {       var iLen = String(str).length;       return String(str).substring(iLen, iLen - n);    }}function Mid(strInput,intStart,intLength){return strInput.substring(intStart,intLength)  }//Trim fieldvaluefunction trim(value) {  value = value.replace(/^\s+/,'');   value = value.replace(/\s+$/,'');  return value;}//Open a form in a new window	function OpenElement(ElementName,h,w){	var targetURL = DbPath() + ElementName;	var dialogHeight = h;	var dialogWidth = w;	var dialogTop = (screen.height - h) / 2;	var dialogLeft = (screen.width - w) / 2;	var dialogParameter = 'dependent=yes,height='+ dialogHeight + ',left='+ dialogLeft + ',location=no,menubar=no,resizable=no,scrollbars=yes,status=yes,toolbar=no,top='+ dialogTop + ',width='+ dialogWidth + '';	window.open(targetURL, 'Dialog', dialogParameter);}// Refresh/Set Content of RTF field// If doc in read then content is in div else content is in field// type variable contains fld (field) or div else errorfunction setRTFContent(type,source,destination) {	if (type == 'fld') document.getElementById(destination).innerHTML = document.getElementById(source).value	else if (type == 'div') document.getElementById(destination).outerHTML = document.getElementById(source).innerHTML	else alert('De opgegeven bron en/of doel zijn niet beschikbaar.')}function pause(numberMillis) {	var now = new Date();	var exitTime = now.getTime() + numberMillis;	while (true)	{		now = new Date();		if (now.getTime() > exitTime)		{			return;		}	}    }function KillTwisties() {/*var anzBilder = document.images.length	for(i=0; i<anzBilder; i++) {		var Bild = document.images[i];		var BildURL = Bild.src;		if (BildURL.indexOf('/icons/collapse.gif') != -1) {			Bild.src=DbPath() + "/collapsed.gif?OpenImageResource";Bild.width="13";Bild.height="13";}		if (BildURL.indexOf('/icons/expand.gif') != -1) {			Bild.src=DbPath() + "/expanded.gif?OpenImageResource";Bild.width="13";Bild.height="13";}	}*/	var allImages = document.getElementsByTagName('IMG')	for(i=0; i<allImages.length; i++) {		var imgObj = allImages[i];		var imgURL = imgObj.getAttribute('src');		if (imgURL.indexOf('/icons/collapse.gif') != -1) {			imgObj.setAttribute('src', DbPath() + "/collapsed.gif?OpenImageResource");			imgObj.setAttribute('width',"13");			imgObj.setAttribute('height',"13");		}		if (imgURL.indexOf('/icons/expand.gif') != -1) {			imgObj.setAttribute('src', DbPath() + "/expanded.gif?OpenImageResource");			imgObj.setAttribute('width',"13");			imgObj.setAttribute('height',"13");		}	}}//Get current browser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();function pointRadialDistance(lat,lon,dist) {	var rEarth = 6371.01; // Straal van de aarde in km	var epsilon = 0.000001 //Treshold for floating-point equality	var rdist = dist/rEarth	var rlat = lat*Math.PI/180;	var rlon = lon*Math.PI/180;	var rlat1 = 0.0;	var rlon1 = 0.0;	var brng = 0; // Hoek, 0 = noorden, 90 = oosten, 180 = zuiden en 270 = westen	var coords = new Array(4);	for (brng=0;brng<=270;brng=brng+90){		var rbrng = brng*Math.PI/180; //graden		rlat1 = Math.asin( Math.sin(rlat)*Math.cos(rdist) + Math.cos(rlat)*Math.sin(rdist)*Math.cos(rbrng) );		if (Math.cos(rlat1) == 0 || Math.abs(Math.cos(rlat1)) < epsilon) {			rlon1 = rlon;		} else {			rlon1 = ((rlon - Math.asin(Math.sin(rbrng)*Math.sin(rdist)/Math.cos(rlat))+Math.PI)%(2*Math.PI))-Math.PI;		}		var lat1 = rlat1*180/Math.PI		var lon1 = rlon1*180/Math.PI		switch(brng) {			case 0: //noorden				coords[0] = lat1;				break;			case 90: //westen				coords[3] = lon1;				break;			case 180: //zuiden				coords[2] = lat1;				break;			default: //oosten				coords[1] = lon1;		}	}	return coords;}
