// kijk of radioveld is gekliktfunction validateRadio(field ) {			var radiofields = getElementsByName_iefix( "input", field.getAttribute("name"))	var success = false;	for (i=0; i < radiofields.length; i++) {		if (radiofields[i].checked) success=true			}		return success} // url in nieuw window openenfunction openPopup(url, h, w) {	var height = (h==null || h=="undefined")? "720" : h	var width = (w==null || w=="undefined")? "640" : w	window.open(url, "popup_id", "scrollbars, resizable, width=" + width + ", height=" + height);     return false;}//'terug-link' door de URL te heropenen zonder het hash-gedeelte// alleen te gebruiken als in een contentpagina de content van een andere pagina middels AJAX is// geladen (bijv. bij het openen van een document vanuit een zoekresultatenlijst)function goBack() {	location = location.href.substring(0, location.href.indexOf("#") )}// =============================================================================================// BEGIN FUNCTIES AANMELDINGSFORMULIER (NMT lid worden; zie CMS form "Aanmelden NMT Lid WWW")//functie om _disp veld te updaten als een datum veld is ingevuld; normaal worden de _disp velden//   in de blur events bijgewerkt, maar voor datepicker-velden wordt dit niet aangeroepen, dus wordt//   onderstaande functie aangeroepen nadat een waarde met de datepicker is ingevuld//origField = datumveld dat zojuist gevuld is (4 = geboortedatum, 1/2/3 = afstudeerdatum-velden//value = waarde die daarin ingevuld isfunction updateDispField( origField, value) {	switch (origField) {		case 1:			document.getElementById("persoonlijke_afstudeerdatum1_disp").innerHTML = value			break;		case 2:			var val = value==""? "Nvt" : value;			document.getElementById("persoonlijke_afstudeerdatum1_disp").innerHTML = val			break;			case 3:			var val = value==""? "Nvt" : value;			document.getElementById("persoonlijke_afstudeerdatum2_disp").innerHTML = val			break;		case 4:			document.getElementById("persoonlijke_geboortedatum_disp").innerHTML = value				}	} // RBS document aanmaken op basis van ingevuld NMT inschrijfformulierfunction createRBSDoc() {		RBSreq = getHTTPObject();	if (RBSreq != null) {				var content = unescape(getInputs(document.getElementById("persoonlijke_vereniging_content")))		content += "&"+ unescape(getInputs( document.getElementById("werkverbanden_content") ))		RBSreq.open( "POST", CMSDb + "/createNMTinschrijving!openagent", true)									RBSreq.onreadystatechange = function() {			if (RBSreq.readyState == 4 || RBSreq.readyState == "complete") {				if (RBSreq.responseText.indexOf("Succes")>-1) {									alert("Bedankt voor uw aanmelding. Uw inschrijvingsverzoek is ontvangen.")									var customAlert = document.getElementById("closeBtn")					if (customAlert) {						customAlert.onclick = function() { 							removeCustomAlert();							location.reload();						}					} else						location.reload();					}			}		}				RBSreq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");		RBSreq.send(content)			}}//melding tonen als ingevuld aanmeldformulier geprint wordt (voor NMT lidmaatschap) function printFormulier() {		openPopup( CMSDb + "/NMT_Inschrijfformulier.html");}//alertbox die verschijnt nadat het print-landingsscherm is weggeklikt (zie onload functie van het//  form NMT_inschrijfformulierfunction dispAlertAfterPrint() {	alert("Bedankt voor uw aanmelding. U kunt uw inschrijvingsverzoek per post versturen.")					var customAlert = document.getElementById("closeBtn")	if (customAlert) {		customAlert.onclick = function() { 			removeCustomAlert();			location.reload();		}	} else		location.reload();		}//tekst die verschijnt als gebruiker op de link "ik heb geen printer dus wil het formulier ontvangen"// kliktfunction dispMessage() {	var msg = "<b>Versturen gegevens naar NMT</b><br/>";	msg += "Bedankt voor het invullen van uw gegevens voor het lidmaatschap. Alleen uw handtekening "	msg += "ontbreekt nog. Gebruik daarvoor de button hieronder.<br/>De NMT stuurt u dan op "	msg += "korte termijn een formulier met uw gegevens toe.<br/> U kunt dit ondertekenen en terugsturen "	msg += "naar de NMT.<br/><br/>"	msg += "<div class=\"horizontal_separator\"></div><br/>"		msg += "<a class=\"btnshort right\" href=\"javascript:void('')\" onclick=\"createRBSDoc();\"> "	msg += "Verstuur</a>"			document.getElementById("afronden_content").innerHTML = msg}//voeg invulformulier voor werkverbanden toe (gebruikt op aanmeldingsformulier voor NMT lidmaatschap)function addWerkverbandForm() {	//zoek laatste werkverbandform en zet daar de nieuwe achter	//	 - let op: IE snapt getElementsByName niet helemaal; daarom _iefix gebruiken (zie hieronder)	var WVforms = getElementsByName_iefix("div", "werkverband")	lastWVform = WVforms[ WVforms.length-1 ]	var I = parseInt(lastWVform.getAttribute("id"))+1		if (I > 6) {		//maximaal 6 werkverbanden toe te voegen			HTTPReq = getHTTPObject();			if (HTTPReq != null) {					HTTPReq.open("GET", CMSDb + "/vlReferentiesOpKey?readViewEntries&outputformat=JSON&restrictToCategory=WerkverbandenAanmelden", true);													HTTPReq.onreadystatechange = function() {				if ( HTTPReq.readyState == 4 || HTTPReq.readyState == "complete" ) {					try {						//haal melding voor gebruiker uit referentiekey op						var resp = HTTPReq.responseText 						var viewObject = eval("(" + resp + ")");												var entries = viewObject["viewentry"];						var type = getType( entries[0].entrydata[0] );								for (x=0; x < entries.length; x++) {							value = entries[x].entrydata[0][type][0];							alert(value)						}																												} catch (err) {						return;					}				}						}				HTTPReq.send(null)		} 			} else {		var newWVform = document.createElement("div")		newWVform.setAttribute("name", "werkverband")		newWVform.setAttribute("id", I)		var onBlurCode = "document.getElementById( this.getAttribute('id') + '_disp').innerHTML = this.value"				var praktijkrollen = document.getElementById("praktijkrollen").innerHTML.split("#")		var radioButtonCode = ""				for(rolindex=0; rolindex < praktijkrollen.length; rolindex++) {			radioButtonCode += 				 "<input onBlur=\"" + onBlurCode + "\" type=\"radio\" id=\"rol" + I + "\" name=\"rol" + I + "\" "			radioButtonCode += "value=\"" + praktijkrollen[rolindex] + "\">" + praktijkrollen[rolindex] + "<br/>"	 			}		 			var inHTML = "<a name=\"wv_" + I + "\">&nbsp;</a>"		inHTML += "<h4>Werkverband " + I + "</h4>"		inHTML += "<fieldset class=\"normal_form\">"		inHTML += "<label for=\"naam" + I + "\">Naam</label><input onBlur=\"" + onBlurCode + "\" type=\"text\" id=\"naam" + I + "\" name=\"naam" + I + "\">"		inHTML += "<label for=\"adres" + I + "\">Adres</label><input onBlur=\"" + onBlurCode + "\" type=\"text\" id=\"adres" + I + "\" name=\"adres" + I + "\">"		inHTML += "<label for=\"postcode" + I + "\">Postcode &amp; Plaats</label>"		inHTML += "<input onBlur=\"" + onBlurCode + "\" type=\"text\" class=\"postcode\" id=\"postcode" + I + "\" name=\"postcode" + I + "\">&nbsp;"		inHTML += "<input onBlur=\"" + onBlurCode + "\" type=\"text\" class=\"plaats\" id=\"plaats" + I + "\" name=\"plaats" + I + "\">" 			inHTML += "<label for=\"aantal_dagdelen" + I + "\">Aantal dagdelen per week</label>"		inHTML += "<input type=\"text\" onBlur=\"" + onBlurCode + "\" id=\"aantal_dagdelen" + I + "\" name=\"aantal_dagdelen" + I + "\">"		inHTML += "</fieldset>"			inHTML += "<table style=\"margin-left:-3px;\"><tr><td width=153>Wat is uw rol?</td>"		inHTML += "<td>" + radioButtonCode + "</td></tr></table>"				newWVform.innerHTML = inHTML;			document.getElementById("werkverbanden_all").appendChild( newWVform )			//blijf beneden door naar anchor te springen		location.hash = "wv_" + I					//voeg nieuwe gegevens toe aan derde tab ("afronden")		var newWVform_disp = document.createElement("div")		newWVform_disp.setAttribute("id", I + "_disp")		var outHTML = "<h4>Werkverband " + I + "</h4>"		outHTML += "<table><tr><th>Naam</th><td id=\"naam" + I + "_disp\"></td></tr>"		outHTML += "<tr><th>Adres</th><td id=\"adres" + I + "_disp\"></td></tr>"		outHTML += "<tr><th>Postcode</th><td id=\"postcode" + I + "_disp\"></td></tr>"		outHTML += "<tr><th>Plaats</th><td id=\"plaats" + I + "_disp\"></td></tr>"		outHTML += "<tr><th>Aantal dagdelen per week</th><td id=\"aantal_dagdelen" + I + "_disp\"></td></tr>"		outHTML += "<tr><th>Uw rol</th><td id=\"rol" + I + "_disp\"></td></tr>"			outHTML += "</table><br/>"			newWVform_disp.innerHTML = outHTML			document.getElementById("werkverbanden_all_disp").appendChild( newWVform_disp)	}}// EINDE FUNCTIES VOOR AANMELDINGSFORMULIER NMT lidmaatschap// =============================================================================================//Verwijder attachment (foto) van document//DocID 	= documentuniqueID van het document waarop het attachment staat//DbID 	= database ID waarin het attachment zit//AttName = attachmentnaam //confirmText = bevestigingsvraag die gebruiker krijgt om wel/niet te verwijderenfunction verwijderAtt( DbID, DocID, AttName, confirmText ) {	if( confirm( confirmText )) {			var t = new Date();				var URL = CMSDb + "/removeAttachment?openagent&db="+ DbID + "&doc=" + DocID + "&att=" + AttName + "&t=" + t.getTime()		var del_http = getHTTPObject()				if (del_http != null) {					del_http.open( "GET", URL, true)					del_http.onreadystatechange = function() {				if( del_http.readyState==4 || del_http.readyState == "complete" ) {					try {						alert( del_http.responseText)																								//speciaal geval: als het de vacaturebank betreft ff opnieuw ophalen						if ("/__" + DbID + ".nsf" == NTVBDb) 							loadImages( DocID )   //in DienstBlock.js											} catch (err) {						// alert( err)						return;					}					}					}			del_http.send(null)					}			}	}//kijk of geklikte contentpagina bestaat (aangeroepen van form $GeneralError; we willen hier weten// of het een 'terecht' loginscherm is, of dat het een 'broken link' is)function testURL( URL ) {	var URLTest = getHTTPObject()	var brokenlink = "<br/><br/><span style=\"margin-left:20px;\">Onderstaande pagina "	brokenlink += " is niet gevonden:</span><br/>"	brokenlink += "<span style=\"margin-left:20px;\">" + location.href + "</span><br/><br/>"	brokenlink += "<span style=\"margin-left:20px;\"><a href=\"javascript:history.back(-1)\">terug</a></span>"		if (URLTest != null) {			URLTest.open("GET", CMSDb + "/testURL?openagent&URL=" + URL, true)		URLTest.onreadystatechange = function() {			if (URLTest.readyState==4 || URLTest.readyState == "complete") {				try {					//response = true als pagina bestaat OF als het een pagina buiten de					// webite betreft; anders is het een foute link									if ( URLTest.responseText != "" && !eval(URLTest.responseText) ) {												document.getElementById("contentcontainer").innerHTML = brokenlink						//GA bijwerken met broken link melding								var pageTracker = _gat._getTracker(GACode);									pageTracker._setCustomVar(1, "Categorie", group + ": Broken Link", 3);						pageTracker._setCustomVar(3, "Username", Username, 3)						pageTracker._trackPageview("/404.html?page=" + URL + "&from=" + document.referrer)					}							} catch (err) {					 //alert( err )					return;				}					}		}						URLTest.send(null)			}}// haal alle inputvelden en selectvelden en textarea-velden op en geef terug als <veldnaam>=<waarde>&<veldnaam2>=<waarde2> ...// <elem>				= DOM-element waarin de op te halen velden staanfunction getInputs( elem ) {	//first all text elements	var allElements = elem.getElementsByTagName("input")	var allSelectElements = elem.getElementsByTagName("select")	var allTextAreaElements = elem.getElementsByTagName("textarea")	var list = ""	var lastField = ""		//om dubbele meldingen bij radiovelden te voorkomen	var msg = ""	for (f=0; f < allElements.length; f++) {				switch(allElements[f].type) {						case "text":				list+="&" + allElements[f].getAttribute("name") + "=" + 				escape(allElements[f].value);				break;				case "checkbox":				if(allElements[f].checked) {					list += "&" + allElements[f].getAttribute("name") + "=" +				     escape(allElements[f].value);																			} else {					list+="&" + allElements[f].getAttribute("name") + "=";													}					break;				case "radio":				if(allElements[f].checked)					list+="&" + allElements[f].getAttribute("name") + "=" +  				     escape(allElements[f].value)  ;						break;				}				}	// nu de select elementen uitlezen	for (g=0; g < allSelectElements.length; g++)		list+="&" + allSelectElements[g].getAttribute("name") + "=" + 		 escape(allSelectElements[g].options[allSelectElements[g].selectedIndex].value)	// alle textareas	for (h=0; h < allTextAreaElements.length;h++) {		//verwijder evt. carriage returns (escapevalues hiervan zijn %0D%0A); daarna weer unescapen		var areaVal = escape(allTextAreaElements[h].value)		areaVal = areaVal.replace(/%0D%0A/g, " ")		//IE		areaVal = areaVal.replace(/%0A/g, " ")			//Firefox				list+="&" + allTextAreaElements[h].getAttribute("name") + "=" + unescape(areaVal)	}		if (list=="")		return ""	else 		return list.substring( 1, list.length);}//voeg reacties + reactieformulier toe aan een bericht (column of nieuws)// key = hash van URL (verwijzing naar het document waarop gereageerd wordt)//  vb. nieuwsbericht: "nieuws:CDD931818FBE11CEC125742F00443700"function addReactieForm( key) {	if (key.substring(0, key.indexOf(":")) == "nieuws"||"column") 		var DB = NewsDb			var URL = DB + "/frReactie!createDocument"	HTMLTekst = "<div class=\"horizontal_separator\"></div>"		HTMLTekst += "<a style=\"cursor:pointer; margin-left:20px;\" class=\"btnlong left\" onclick=\"toggleForm(false, '" + key + "')\" id=\"reageer_inactive\">"	HTMLTekst += "Reageer op dit bericht</a>"		HTMLTekst += "<div class=\"form button_form left\" id=\"formReageerOpDit\" style=\"display:none;\">"    HTMLTekst += "<a style=\"cursor:pointer\" class=\"reactiebtnlong_selected left\" href=\"javascript:toggleForm(true, '" + key + "')\" id=\"reageer_active\">Reageer op dit bericht</a>"    HTMLTekst += "<br/><br/>"    HTMLTekst += "<fieldset class=\"fieldset_nieuwsbericht\"><br/><center>"    HTMLTekst += "<textarea style=\"margin-left:0px;font-family:arial;font-size:9pt\" rows=\"\" cols=\"\" name=\"reactie\" id=\"reactie\"></textarea>"    HTMLTekst += "</center><label for=\"Naam\">Naam</label>"    HTMLTekst += "<input type=\"text\" class=\"naam\" id=\"naam\" name=\"naam\"/> <br />"    HTMLTekst += "<label for=\"e-mailadres\">Uw e-mailadres</label>"    HTMLTekst += "<input type=\"text\" name=\"email\" class=\"e-mailadres\" id=\"email\" />"    HTMLTekst += "<br/><br/><a style=\"cursor:pointer\" href=\"javascript:addReactie('" + URL + "', '" + key + "')\" class=\"reactiebtnlong right\" >VOEG REACTIE TOE</a><br/>"    HTMLTekst += "</fieldset>"    HTMLTekst += "</div>"           	//voorgaande reacties tonen (deze div wordt gevuld in openURL functie in homepagescripts.js in CMS db)	HTMLTekst += "<div id=\"reacties\" class=\"block double clearboth\" style=\"margin-left:10px\" ></div>"		return HTMLTekst       }                                //'hulp' functies voor addReactieForm// 1. toggleForm om reactievelden in/uit te klappen// 2. getReacties om bestaande reacties op te halen// 3. addReactie om de nieuwe reactie toe te voegen//collapse: open/dicht klappen true/false//key:	  id van het bericht waarover de reacties getoond moeten wordenfunction toggleForm(collapse, key) {	if(collapse) {		document.getElementById('reageer_inactive').style.display = "block";		document.getElementById('formReageerOpDit').style.display = "none";		document.getElementById('reacties').style.display = "none";	} else { 		document.getElementById('reageer_inactive').style.display = "none";		document.getElementById('formReageerOpDit').style.display = "block";		document.getElementById('reacties').style.display = "block";	}}//product aanvragen - formulier, wordt aangeroepen na klikken "aanvragen product" op// een product document (zie productendatabase, form Product WWW)// label	= plek op de pagina// unid	= documentuniqueid van het product dat aangevraag wordtfunction addProductAanvraagForm( label, unid) {	if(Username=="Anonymous") {			alert('Bent u NMT lid, log dan eerst in!\nNa inloggen kunt u dit product aanvragen.');				var HTTPreq = getHTTPObject();		if (HTTPreq != null) {				HTTPreq.open("GET", CMSDb + "/login.html!openForm", true);								HTTPreq.onreadystatechange = function() {							if ( HTTPreq.readyState == 4 || HTTPreq.readyState == "complete" ) {			   		try {						var form = getAJAXHTML( HTTPreq.responseText)						document.getElementById(label).innerHTML = form[0]					//omdat het inlogform expliciet is opgehaald, de redirect aanpassen; die					// verwijst anders naar het inlogform zelf, dat schiet niet op natuurlijk...						document.getElementById("redirectto").value = location.href												     } catch(err) {			   	    		return;			   		}				}			}				}			HTTPreq.send(null)			} else {						var plek = document.getElementById(label);		if (plek != null && plek != "undefined") {				var URL = ProductDb + "/frProductAanvraag!createDocument"							formHTML = "<h4>Persoonlijke gegevens</h4>"			formHTML += "<div id=\"aanvraagformulier\" class=\"form\">"			formHTML += "<fieldset><table><tr><td><label>Aanhef</label></td>"			formHTML += "<td><input type=\"radio\" id=\"aanhef\" name=\"aanhef\" class=\"radio\" value=\"Mevrouw\"/><span>Mevrouw</span>"			formHTML += "<input type=\"radio\" name=\"aanhef\" id=\"aanhef\" class=\"radio\" value=\"De heer\"/><span>De heer</span></td></tr>"			formHTML += "<tr><td><label for=\"naam\">Voorletter(s) *</label></td>"			formHTML += "<td><input type=\"text\" class=\"\" id=\"voorletters\" name=\"voorletters\" /></td></tr>"			formHTML += "<tr><td><label for=\"tussenvoegsels\">Tussenvoegsels</label</td>"			formHTML += "<td><input type=\"text\" class=\"\" id=\"tussenvoegsels\" name=\"tussenvoegsels\" /></td></tr>"				formHTML += "<tr><td><label for=\"achternaam\">Achternaam *</label</td>"			formHTML += "<td><input type=\"text\" class=\"\" id=\"achternaam\" name=\"achternaam\" /></td></tr>"				formHTML += "<tr><td><label for=\"adres\">Adres</label></td>"		   	formHTML += "<td><input type=\"text\" class=\"\" id=\"adres\" name=\"adres\" /></td></tr>"			formHTML += "<tr><td><label for=\"postcode\">Postcode &amp; Plaats</label></td>"		   	formHTML += "<td><input type=\"text\" class=\"small\" id=\"postcode\" name=\"postcode\" />"     		formHTML += "<input type=\"text\" class=\"medium\" id=\"plaats\" name=\"plaats\" /></td></tr>"			formHTML += "<tr><td><label for=\"email\">E-mail*</label></td>"			formHTML += "<td><input type=\"text\" class=\"\" id=\"email\" name=\"email\" /></td>"			formHTML += "</tr><tr>"     		formHTML += "<td><label for=\"telefoon\">Telefoon*</label></td>"		     formHTML += "<td><input type=\"text\" class=\"\" id=\"telefoon\" name=\"telefoon\" /></td>"			formHTML += "</tr>"			formHTML += "</table>"		     formHTML += "<a class=\"btnshort right\" href=\"javascript:addProductAanvraag('" + URL + "', '" + unid + "')\">VERSTUREN</a>&nbsp;&nbsp;"			formHTML += "</fieldset>"			formHTML += "<input type=\"text\" id=\"productNaam\" name=\"productNaam\" value=\""+ document.getElementById("productNaamHidden").value + "\" style=\"display:none\">"		     formHTML += "</div>"	     	     	document.getElementById(label).innerHTML = formHTML	     					HTTPO = getHTTPObject();						if (HTTPO!= null) {							HTTPO.open("GET", CMSDb + "/getProfielData!openAgent&stamnummer=" + Username, true)								HTTPO.onreadystatechange = function() {					if (HTTPO.readyState == 4 || HTTPO.readyState == "complete") {						try{							resp= HTTPO.responseText							resplist = resp.split("&")							for( x=0; x < resplist.length; x++) {								var id = resplist[x].substring(0, resplist[x].indexOf("=") )								var waarde = resplist[x].substring( resplist[x].indexOf("=")+1, resplist[x].length)								if(id=="geslacht")								{									var arrAanhef = document.getElementsByName("aanhef")																		for( y = 0; y < arrAanhef.length; y++)									{										if (arrAanhef[y].value == "Mevrouw")											arrAanhef[y].checked = (waarde == "Vrouw")										else											arrAanhef[y].checked = (waarde != "Vrouw")									}								} else {									try {										var toEval = "document.getElementById(\"" + id + "\").value=\"" + waarde + "\""																		eval ("" + toEval + "")									}									catch(err){}								}							}													} catch(err) {							// alert(err)						}								}						}									HTTPO.send(null)			}					}	}}//verstuur productaanvraag en maak een responsedocument aan met de aanvraag; hang deze onder het product// in de productendatabase//	URL		= het ?createdocument commando//	unid		= documentuniqueid van het productfunction addProductAanvraag ( URL, unid) {	//OPMERKING: gebruiker moet create document rechten hebben	//  op de productendatabase	var parentID = "&ParentUNID=" + unid	var HTTPAanvraag = getHTTPObject()	var content = getInputs( document.getElementById("aanvraagformulier") )	if (HTTPAanvraag != null) {						HTTPAanvraag.onreadystatechange = function() {			if (HTTPAanvraag.readyState == 4 || HTTPAanvraag.readyState == "complete") {				alert("Bedankt voor uw aanvraag.\nWe nemen zo spoedig mogelijk contact met u op.")				document.getElementById("omschrijving").style.display = "none"			}			}		HTTPAanvraag.open("POST", URL + parentID , true)		HTTPAanvraag.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");		HTTPAanvraag.send( content )		}}//haal reacties op bij nieuwsbericht// key		= documentuniqueid van nieuwsbericht// nocache	= haal nieuwste reacties op (zojuist nieuw toegevoegde reactie meteen tonen)function getReacties( key, nocache) {	var HTTPAllReacties = getHTTPObject()	var reactiesHTML = "<table class=\"\" border=0 width=95%>";		t=""		if (nocache!=null && nocache != "undefined" && nocache != "")		t = new Date()			if (HTTPAllReacties != null) {			if (t=="") 			HTTPAllReacties.open("GET", CMSDb + "/getReacties?openagent&key=" + key, true)					else			HTTPAllReacties.open("GET", CMSDb + "/getReacties?openagent&t=" + t.getTime() + "&key=" + key, true)											HTTPAllReacties.onreadystatechange = function() {			if (HTTPAllReacties.readyState == 4 || HTTPAllReacties.readyState == "complete") {				try {					reactiesHTML +=  HTTPAllReacties.responseText + "</table>"					document.getElementById("reacties").innerHTML = reactiesHTML 				} catch(err) {					//alert(err)					return;				}				}			}		HTTPAllReacties.send(null)	}}//URL = url met ?createdocument//key = id van bericht (<verwijzing naar db>:<documentuniqueid>, //					vb "nieuws:CDD931818FBE11CEC125742F00443700")function addReactie ( URL, key) {	var n = document.getElementById("naam")	var e = document.getElementById("email")	var r = document.getElementById("reactie")		//IP adres van gebruiker	var ipid = document.getElementById("IP")	var ip = (ipid == null || ipid == "undefined")? "onbekend" : ipid.innerHTML	ip = ip == ""? "onbekend" : ip		//Enters vervangen door spaties	var rValue = escape(r.value).replace(/%0D%0A/g, " ")	//IE	rValue = unescape(rValue.replace(/%0A/g, " "))			//Firefox				//querystring-gevoelige tekens escapen (ivm meesturen via URL: send(content) )		rValue = rValue.replace(/=/g, escape("=") )	rValue = rValue.replace(/&/g, escape("&") )	rValue = rValue.replace(/%/g, escape("%") )	if (n.value == "" || e.value == "" || r.value == "") {		alert( "U dient alle velden in te vullen." )		return;	}				//OPMERKING: omdat ook anonymous reacties moet kunnen toevoegen, moet in de ACL van de database	//  waarin de reacties opgeslagen worden Anonymous rechten: Author - Create documents hebben	var parentID = "&ParentUNID=" + key.substring( key.indexOf(":")+1, key.length)	var content = "naam=" + n.value + "&email=" + e.value + "&reactie=" + rValue;	content += "&ip=" + ip		var HTTPReactie = getHTTPObject();		if (HTTPReactie != null) {						HTTPReactie.onreadystatechange = function() {			if (HTTPReactie.readyState == 4 || HTTPReactie.readyState == "complete") {				try {					//bijgewerkte reacties tonen (dus niet uit cache!)					getReacties(key, "NoCache");						//formulier verstoppen					document.getElementById("formReageerOpDit").style.display="none"										n.value = ""					e.value = ""					r.value = ""																							} catch (err) { 					//alert( err)					return;				} 				}			}		HTTPReactie.open("POST", URL + parentID , true)		HTTPReactie.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");		HTTPReactie.send( content )		}}//reactie via Contact button of "stel een vraag" button op contact&route schermfunction addGlobalReactie( key ) {	var titel	= document.getElementById("titel").value		if (Username == "Anonymous")		var naam = document.getElementById("naam").value	else		var naam = document.getElementById("naam").innerHTML				var email	= document.getElementById("email").value	var reactie = escape(document.getElementById("reactie").value)	var knop = document.getElementById("verstuurreactieknop")			var arrGeslacht = document.getElementsByName("Geslacht")			if (arrGeslacht[0].checked)		geslacht = arrGeslacht[0].value	else		geslacht = arrGeslacht[1].value		if ( titel == "" || naam == "" || email == "" || reactie == "") {		alert( "U dient alle velden in te vullen." )		return	}		//Verberg knop	if ( knop != null && knop.style != null)		knop.style.visibility = "hidden";			var HTTPReactie = getHTTPObject()	if (HTTPReactie != null) {			HTTPReactie.onreadystatechange = function() {			if (HTTPReactie.readyState == 4 || HTTPReactie.readyState == "complete") {				try 	{					var strResponse = HTTPReactie.responseText;					if (strResponse != "") {											eval( strResponse )												if ( knop != null && knop.style != null)							knop.style.visibility = "visible";												//als de customAlert gebruikt wordt, moet de reload achter de 'OK' 						// button gezet worden en NIET direct uitgevoerd worden						var customAlert = document.getElementById("closeBtn")						if (customAlert) {							customAlert.onclick = function() { 								removeCustomAlert();								location.reload()  						 	}						} else							 location.reload()										}									} catch(err) {					//alert( err )					return				}			}		}			HTTPReactie.open("POST", CMSDb + "/agCreateWebDoc!OpenAgent", true)		HTTPReactie.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")				var content = "Stamnummer=" + Username + "&Subject=" + titel + "&Achternaam=" + naam + "&Geslacht=" + geslacht + "&Benaderen_Via_Anders=" + email + "&Vraag_Opmerking=" + reactie		HTTPReactie.send(content)		}}//voeg links naar KA overzichten van voorgaande jaren toe op KA overzicht// <label>	= plek op pagina (onder huidig getoond overzicht)// <blokje>	= id van het kaoverzicht blokje in componentendatabase// <jaar>		= welk jaar moet getoond wordenfunction addKAOverzichten( label, blokje, jaar ) {	if (Username=="Anonymous") return;		listHTML = "<span class=\"right\" style=\"margin-right:20px;\">"	listHTML += "Overzicht van voorgaande jaren:</span>"	listHTML += "<div class=\"clearboth\"></div><ul class=\"footer_list\">"	listHTML += "<div id=\"loading\">ophalen...<img src=\"" + SharedDb + "/ajaxloaderec5.gif\"></div>"	//dit alvast tonen zodat loadericoon verschijnt 	document.getElementById(label).innerHTML = listHTML		//haal de div op van het blokje zelf (dit om 'voorgaande jaren' links in die div te openen)	var parent = document.getElementById(label).parentNode.id				HTTPArray[label] = getHTTPObject()		if (HTTPArray[label] != null) {		HTTPArray[label].open("GET", KWISDb + "/vlWeb4OverzichtenOpRelatie?readviewentries&outputformat=JSON&restricttocategory=" + Username, true)				HTTPArray[label].onreadystatechange = function() {				if ( HTTPArray[label].readyState == 4 || HTTPArray[label].readyState == "complete" ) {				try {					var resp = HTTPArray[label].responseText ;					var viewObject = eval("(" + resp + ")");					var entries = viewObject["viewentry"];										if (entries != null) {						for (i=0; i < entries.length; i++) {							var jaarlink = entries[i].entrydata[0].text[0]							if (jaarlink.indexOf(jaar)<0) {							//a href functieaanroepen in view bevatten <BLOKJE> en <LABEL>,							// deze worden hier met de goede info gevuld									jaarlink = jaarlink.replace("<BLOKJE>", blokje)								listHTML += "<li>" + jaarlink.replace("<LABEL>", parent) + "</li>"							}							}													document.getElementById(label).innerHTML = listHTML + "</ul>"											} else						document.getElementById(label).innerHTML = "geen voorgaande jaren gevonden</ul>"								//loadericoon weg, want we zijn kloar					document.getElementById("loading").style.display="none"											//div voor tonen overzicht van een voorgaand jaar					var voorgaandjaardiv = document.createElement("div")					voorgaandjaardiv.id = "voorgaandjaar"					document.getElementById(label).appendChild(voorgaandjaardiv)									} catch (err) {					// alert( err )					document.getElementById(label).innerHTML = ""				}			}		}		HTTPArray[label].send(null)		}}//voeg werkverbanden toe op een tandartsenprofiel// key 	= documentuniqueID// label 	= plek op paginafunction addWerkverbanden( label, key ) {	var luKey = key.substring( key.indexOf(":")+1, key.length )	//alle werkverbanden ophalen, en HTML sections toevoegen	HTTPArray[label] = getHTTPObject();	var wvHTML = "<div id=\"werkverbanden\" class=\"block double\" style=\"width:450px;position:relative;top:-20px\"><ul>"	if (HTTPArray[label] != null) {		//laat agent alle info uit de werkverbanden bij elkaar zoeken en als html teruggeven		HTTPArray[label].open("GET", CMSDb + "/getWerkverbanden?openagent&docID=" + luKey, true)				HTTPArray[label].onreadystatechange = function() {				if ( HTTPArray[label].readyState == 4 || HTTPArray[label].readyState == "complete" ) {				try {					wvHTML += HTTPArray[label].responseText ;					document.getElementById(label).innerHTML = wvHTML + "</ul></div>"				} catch (err) {					//alert( err )					document.getElementById(label).innerHTML = ""				}			}		}		HTTPArray[label].send(null)	}	}//'hulp'functie voor addWerverbanden//tonen/hiden werkverbandinformatie; aangeroepen na klikken op titel werkverbandfunction toggleInfo(nr) {	var werkverband = document.getElementById(nr)		if (werkverband != null && werkverband != "undefined") {		if (werkverband.style.display=="none") {			document.getElementById("title-" + nr).className = "arrow_down"			werkverband.style.display=""		} else {			document.getElementById("title-" + nr).className = ""			werkverband.style.display="none"		}	}}//IE Fix voor getElementsByName// functie getElementsByName gaat soms fout in IE, daarom zo aanroepen:// tag	= de html-tag waarvan het element met name= gevonden moet worden// name	= de naam van het element (attribute "name")function getElementsByName_iefix(tag, name) {          var elem = document.getElementsByTagName(tag);	     var arr = new Array();     for(i = 0,iarr = 0; i < elem.length; i++) {          att = elem[i].getAttribute("name");          if(att == name) {               arr[iarr] = elem[i];               iarr++;          }     }     return arr;}// view	= view (incl. db en path)// key	= lookupkey// col	= kolom waarvan waarde terug moet worden gegeven (kolom 1 = 0)// id	= id van het element waar het resultaat in gezet moet wordenfunction dbLookup( view, key, col, id ) {	var HTTPLu = getHTTPObject();	var value = ""	if (HTTPLu != null) {		HTTPLu.open("GET", view + "!readviewEntries&outputformat=JSON", true)				HTTPLu.onreadystatechange = function() {				if ( HTTPLu.readyState == 4 || HTTPLu.readyState == "complete" ) {				try {					var resp = HTTPLu.responseText					var viewObject = eval("(" + resp + ")");					var entries = viewObject["viewentry"];									if (entries != null) {																for (i=0; i < entries.length; i++) {							if (entries[i].entrydata[0].text[0] == key) {								value = entries[i].entrydata[col].text[0] 							}						}					}						document.getElementById(id).innerHTML = value																} catch (err) {					return ;				}			}		}		HTTPLu.send(null)	}}//Voert een dblookup uit op een gecategoriseerde view//"view" 				 Pad naar database + view//"categorie" 			 key voor de lookup//"col"				 Nummer van de kolom die opgehaald moet worden (eerste kolom is 0)//"processValuesFunction" function die het lookup resultaat verwerktfunction dbLookupOnCategory( view, category, col, processValuesFunction){	var HTTPLu = getHTTPObject();	if (HTTPLu != null)	{		HTTPLu.open( "GET", view + "!readviewEntries&outputformat=JSON&RestrictToCategory=" + category, true)				HTTPLu.onreadystatechange = function()		{				if ( HTTPLu.readyState == 4 || HTTPLu.readyState == "complete" )			{				try				{					var respText	= HTTPLu.responseText					var viewObject	= eval( "(" + respText + ")" )					var entries	= viewObject["viewentry"]					var index		= 0					var values	= new Array()					values[0]		= ""						if (entries != null)					{						for ( i = 0; i < entries.length; i++)						{							values[index] = entries[i].entrydata[col].text[0]							index++						}					}						processValuesFunction(values)				} catch (err)				{					//alert(err)					return				}			}		}		HTTPLu.send(null)	}}//algemene functie om mail te versturen// soort	= soort email (opties: "bibliotheek", "mailafriend", "contact", "product", "reactie")// info		= informatie over het document waarover info verstuurd moet wordenfunction sendMail ( soort, info) {	//aangeroepen vanaf tijdschrift, artikel of boek form in DS	if (soort=="bibliotheek") {		//info aanvullen met 'versturen naar' en 'opmerking' waarden		var naarElem = getElementsByName_iefix("input", "Naar")		if (naarElem[0].checked) var naar = naarElem[0].value		else if (naarElem[1].checked) var naar = naarElem[1].value		else var naar = naarElem[2].value		var o = document.getElementById("Opmerking")		var opmerking = escape(o.value).replace(/%0D%0A/g, " ")		opmerking = opmerking.replace(/%0A/g, " ")								if (o.value=="" && naarElem[2].checked) {			alert("Vul bij 'Opmerking' het gewenste adres in.")			return		}		info += "~" + dispUsername + "~" + naar + "~" + opmerking	}	//aangeroepen vanaf 'mail-a-friend' icoon; zie 'openMailForm' functie hieronder	if (soort=="mailafriend") hideMailAFriend()	HTTPMail = getHTTPObject();	if (HTTPMail != null) {		HTTPMail.open("GET", CMSDb + "/sendMail?openagent&info=" + soort + ":" + info, true)		HTTPMail.onreadystatechange = function() {				if ( HTTPMail.readyState == 4 || HTTPMail.readyState == "complete" ) {				if (HTTPMail.responseText != "")					 alert( HTTPMail.responseText )								if (soort=="contact" || soort=="product" || soort=="bibliotheek")  {									//als de customAlert gebruikt is, moet de reload achter de 'OK' 					// button gezet worden ipv direct uitgevoerd worden					var customAlert = document.getElementById("closeBtn")					if (customAlert) {						customAlert.onclick = function() { 							removeCustomAlert();							location.reload()  					 	}					} else						 location.reload()				}		 			}		}		}		HTTPMail.send(null)}var keepHTML = "";var dynTextdiv = false;   var hideHTML = false;//Mail-a-friend; opent invulformuliertje + verstuurt mailvar globalMail = false// standardmailtext = inhoud van het te verzenden mailtje (opgehaald uit referentiedocument)function openMailForm( standardmailtext ) {	standardmailtext += "<br/>" + location	if(!globalMail) {		var textdiv = document.getElementById("contenttextBlock")		var content = document.getElementById("contentcontainer")		var absolutepos = ""		if ( textdiv==null || textdiv=="undefined" || dynTextdiv) {			textdiv = document.createElement("div")			textdiv.setAttribute("id", "contenttextBlock")			content.appendChild( textdiv)			absolutepos = "position:absolute;"				dynTextdiv = true	//onthouden dat textdiv nu dynamisch aangemaakt is				} else {			if (textdiv.style.display == "none") hideHTML = true;			textdiv.style.display = ""				keepHTML = textdiv.innerHTML			}					textdiv.className = "block double left actueel"		formHTML = "<div id='mailafriend' style=\"z-index:3; " + absolutepos + " top:25px;left:240px; width:460px; \">"			formHTML += "<div class=\"form schrijven_form\" >"		formHTML += "<table border=0 width=100% cellspacing=0 cellpadding=0 style=\"border-top:solid 1px #8e8e8e;border-right:solid 2px #000000;border-bottom:solid 2px #000000;border-left:solid 1px #8e8e8e;background-color:#f3f2f3;\">"		formHTML += "<tr><td colspan=2><strong style=\"margin:10px\">Deze pagina doorsturen<strong>"		formHTML += "<a style=\"position:relative;margin-left:4px\" href=\"javascript: hideMailAFriend();\"><img src=\"" + SharedDb + "/close_button.gif\" border=0 style=\"margin:4px; float:right;\"></a></td></tr>"		formHTML += "<tr><td style=\"padding:10px\">Uw naam *</td>"		formHTML += "<td><input onBlur=\"changeEmailContent()\" type=\"text\" id=\"naamverzender\" style=\"width:200px;\"/></td></tr>"		formHTML += "<tr><td style=\"padding:10px\">Uw e-mailadres *</td>"		formHTML += "<td><input onBlur=\"changeEmailContent()\"  type=\"text\" id=\"emailverzender\" style=\"width:200px\"/></td></tr>"		formHTML += "<td style=\"padding:10px\">E-mailadres ontvanger *</td>"                              	    formHTML += "<td><input type=\"text\" id=\"emailontvanger\" style=\"width:200px\"/></td></tr>"           	formHTML += "<td colspan=2><br/><a class=\"btnshort right\" href=\"javascript: mailAFriend();\">VERSTUREN</a></td></tr>" 		formHTML += "<tr><td style=\"padding:10px\" colspan=2><strong>Inhoud e-mail die wordt verzonden:</strong></td></tr>"		formHTML += "<tr><td colspan=2 style=\"padding:10px\" id=\"emailinhoud\"></td></tr>"		formHTML += "<tr><td colspan=2 style=\"width:400px; word-wrap:break-word; padding:10px\">" + standardmailtext + "</td></tr>"	    formHTML += "</table>"		formHTML += "</div>"				textdiv.innerHTML = formHTML +  "<br/><br/>" + keepHTML 				globalMail = true		}}function mailAFriend() {		naam = document.getElementById("naamverzender").value	from = document.getElementById("emailverzender").value	to = document.getElementById("emailontvanger").value	if (naam.replace(/ /g, "") == "") {		alert('Uw naam is niet ingevuld. Er is niets verstuurd.')		return;		}	if (! checkValidEmail (from) ) {		alert('Uw e-mailadres is ongeldig. Er is niets verstuurd.')		return;	}	if( checkValidEmail (to) ) {		sendMail( "mailafriend", naam + " (" + from + ")~" + to )		//GA bijwerken met feit dat mail-a-friend is gebruikt		try {			var pageTracker = _gat._getTracker(GACode);			pageTracker._setCustomVar(1, "Categorie", group, 3)			pageTracker._setCustomVar(2, 'Mail-a-friend', "van " + from + " naar " + to, 3)			pageTracker._setCustomVar(3, 'Username', Username)		} catch(err) {}	}		else		alert('Het e-mailadres van de ontvanger is ongeldig. Er is niets verstuurd.')}function checkValidEmail( email ) {	var strPattern = /^\w[-_a-z~.0-9]*@\w[-_a-z~.0-9]+\.[a-z]{2}[a-z]*$/i;		return (strPattern.test(email))}function hideMailAFriend() {	globalMail = false	document.getElementById("mailafriend").style.display="none"		if (!hideHTML) {		//verstop blokje weer; als blokje in contentcontainer stond (ivm ontbreken contenttextblock)		//  ontkomen we er niet aan de hele pagina te reloaden		var textdiv = document.getElementById("contenttextBlock")		if (textdiv==null || textdiv=="undefined") {			location.reload()			return;		}		textdiv.innerHTML = keepHTML		textdiv.className = group=="Mijn NMT"? "" : "block double fourty_px_top_spacer"	}	}function changeEmailContent() {	//werk tekst onderaan popup bij als naam of e-mail van verzender wijzigt	var nieuwetekst = document.getElementById("naamverzender").value +		 " (" + document.getElementById("emailverzender").value + ") stuurt u deze e-mail."			document.getElementById("emailinhoud").innerHTML = nieuwetekst}//dynamisch een <opion></option> element toevoegen aan selectielijst // selectItem		= <select> tag waaronder de keuze geplaatst worden// value, text		= <option value=*value*> *text* </option>			 // defaultVal		= (boolean) default waarde voor keuzelijst j/nfunction addOption( selectItem, value, text, defaultVal ) {	var doorgaan = true		for (index=0; index < selectItem.length; index++) {		if (selectItem.options[index].value == value)			doorgaan = false		//keus niet toevoegen als die al in lijst staat	}	if (doorgaan) {				var option = document.createElement("option")		option.value = value		option.innerHTML= text			option.selected = defaultVal		selectItem.appendChild(option)		}}//linkermenu + breadcrumb opbouwenfunction buildLeftMenu(  ) {	var leftMenuHTML = getImage(group)	leftMenuHTML += "<ul>"	var breadHTML = "<ul class=\"left\"><li><a href=\"javascript:goHome();\">Home</a></li>"		HTTPArray["leftMenu"] = getHTTPObject();	URL = CMSDb + "/vlJSONNavigatieTotaal?readViewEntries&outputformat=JSON&count=-1&restricttocategory=" + group		if (HTTPArray["leftMenu"] != null) {		HTTPArray["leftMenu"].open("GET", URL, true);						HTTPArray["leftMenu"].onreadystatechange = function() {			var menuItem = "";			var menuLink = "";			var selClass = "";			var selLevel2Class = "";				var selLevel3Class = "";			var x=0;						var lastMenuItem = "";			var lastMenuLevel2Item = "";			var lastMenuLevel3Item = "";														if ( HTTPArray["leftMenu"].readyState == 4 || HTTPArray["leftMenu"].readyState == "complete" ) {				try {				  var resp = HTTPArray["leftMenu"].responseText;				  var viewObject = eval("(" + resp + ")");				  var entries = viewObject["viewentry"];	 			  if (entries != null) {					var isFirst = true;		                    var subLevel = false;							                                             //eerste is altijd de landingspagina                    //groep 'taal' moet niet in de breadcrumb, want dit is een 'dummy'-landingspagina                         if (group != "Taal") {                             menuLink = getLink (group, entries[0].entrydata[3].text[0])						breadHTML += "<li>" 						breadHTML += (menu1==""? group : "<a href=\"" + menuLink + "\">" + group + "</a>")						breadHTML	+= "</li>"                    }                         					for (x=1; x < entries.length; x++) {									menuLink = getLink (group, entries[x].entrydata[3].text[0])						menuItem = entries[x].entrydata[0].text[0]												if (menuItem != "") {									 							 							  		 		  			if (menuItem != lastMenuItem)	{ //menuitem moet uniek zijn			 			  			// menu-onderdeel level 1			 			  			if (menuItem == menu1) 		 			  				selClass = menu2==""? "class=\"selected\"" : "class=\"selectedsub\""		 			  			else									selClass = ""										 			  					 			  		  	if (subLevel) { //zojuist een sublevel geweest; afsluiten met ul		 			  		  		leftMenuHTML += "</ul>"			 			  		  	subLevel = false			 			  		}								leftMenuHTML += "<li><a href=\"" + menuLink + "\" "								leftMenuHTML += selClass + ">" + menuItem + "</a></li>" 															  	// breadcrumb level 2							  	if (menu1==menuItem) 									breadHTML += addBreadCrumb( menuItem, menuLink, 2 )									 				                   	} 			                         			                   	menuLevel2Item = entries[x].entrydata[1].text[0] 											     										                         			  			    	if (menuLevel2Item != "" && menu1==menuItem && lastMenuLevel2Item != menuLevel2Item) { 		 							 								 					      // menu-onderdeel level 2    			 			  									      selLevel2Class = menuLevel2Item == menu2? "class=\"selected\"" : ""																									 if (isFirst)	{								  	leftMenuHTML += "<ul>"								  	isFirst = false								 }							      leftMenuHTML += "<li><a href=\"" + menuLink + "\" "								 leftMenuHTML += selLevel2Class + ">" + menuLevel2Item + "</a></li>"							       																		      // breadcrumb level 2							      if (menu2==menuLevel2Item) 							          breadHTML += addBreadCrumb( menuLevel2Item, menuLink, 3)               													               					 subLevel = true;															} 														menuLevel3Item = entries[x].entrydata[2].text[0]														if (menuLevel3Item != "" && menu2==menuLevel2Item && lastMenuLevel3Item != menuLevel3Item) {								//menu-onderdeel level 3														selLevel3Class = menuLevel3Item == menu3? "class=\"selected\"" : ""								leftMenuHTML += "<li>&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"" + menuLink + "\" "								leftMenuHTML += selLevel3Class + ">" + menuLevel3Item + "</a></li>"							    // breadcrumb level 3							    if (menu3==menuLevel3Item) 							        breadHTML += addBreadCrumb( menuLevel3Item, menuLink, 4)							}							lastMenuLevel3Item = menuLevel3Item					  	    lastMenuLevel2Item = menuLevel2Item									  		 			        lastMenuItem = menuItem						}	//einde 'if menuItem != ""'					}  										leftMenuHTML += "</ul>"					document.getElementById("submenu").className = getClassName(group)[1]					document.getElementById("submenu").innerHTML = leftMenuHTML									  } else 	   //entries = null					document.getElementById("submenu").innerHTML = leftMenuHTML + "<li>&nbsp;&nbsp;&nbsp;&nbsp;</li></ul>"				  								  document.getElementById("breadcrumb").innerHTML = breadHTML																} catch (err) {					//alert( err );					return;				}				}		}		HTTPArray["leftMenu"].send(null)							}}//maak \u00E9\u00E9n breadcrumb-link aan en retourneer HTML hiervoor//item 	= tekst zoals die in het menu verschijnt//link	= link v.h. menuonderdeel//nr	= menu level 2, 3 of 4  (menu1, menu2, menu3)function addBreadCrumb( item, link, nr ) {	var retHTML = "";	if (nr==4 || (eval("menu" + nr)=="")) retHTML += "<li>" + item + "</li>"	else if (eval("menu" + nr) == "Inloggen") retHTML += "<li>Inloggen</li>"	else {						retHTML += "<li><a href=\"" + link + "\">"		retHTML += item + "</a></li>"  	}		return retHTML;}//de functie secondtabs wordt aangeroepen als er twee keer achter elkaar een tabbed pagina moet worden geladen//dit is bijvoorbeeld het geval bij Bij & Nascholing, Kwis aanbod.function secondtabs(node) {	this.node = node;	this.node.Parent = this;	this.node.style.visibility = "visible";	this.tabs = CB.getElementsByClassName(this.node, "tabContent");	this.triggers = CB.getElementsByClassName(this.node, "tab");		//first handle tab visibility	this.active = this.tabs[0];		//check for active tab	for(i = 0; i < this.tabs.length; i++){		this.tabs[i].Parent = this;		if(this.tabs[i].className.lastIndexOf("activeTab") != -1){			this.active.className = this.active.className.replace(/\s?activeTab/g,"");			this.active.className += " hideThisNode";			this.active = this.tabs[i];			this.active.className += " activeTab";			this.triggers[0].className = this.triggers[0].className.replace(/\s?activeTab/g, "");			this.triggers[i].className += " activeTab";		}else			this.tabs[i].className += " hideThisNode";				this.active.className = this.active.className.replace(/\s?hideThisNode/g,"");	}		//now set the triggers to handle visibility	for(i = 0; i < this.triggers.length; i++) {		this.triggers[i].Parent = this;		//this.triggers[i].onclick = this.switchTab;		this.triggers[i].onclick = switchTab;	}}//Voeg fck editor toe, boven een textarea//divID 		= id of name van het Textareaveld waar de FCK editor de data mee moet uitwisselen//configbestand = URL-verwijzing naar .js bestand waarin configuratie voor deze editor staat//Db			= [optioneel] db waarin geuploadete bestanden/afbeeldingen opgeslagen worden //     (zie bijv. bodyRTfield.js in CMS)var FCK_Db_Id;function makeRichTextField( divID, configbestand, Db ) {	var oFCKeditor = new FCKeditor(divID)		oFCKeditor.Config["CustomConfigurationsPath"] = configbestand	oFCKeditor.BasePath = "/FCKeditor_2.6.4/"				oFCKeditor.Height = 400	oFCKeditor.Width = 422	oFCKeditor.ReplaceTextarea()		//als in de editor bestanden worden geuploadet, worden deze op Notesdocs (form=fckupload)	//   opgeslagen; deze komen terecht in de database FCK_Db_Id (= "/__<replicaid>.nsf") 	FCK_Db_Id = Db 		}/* Borrowed from John Resig * http://ejohn.org/projects/flexible-javascript-events/ */function addEvent( obj, type, fn ) {  if ( obj.attachEvent ) {    obj['e'+type+fn] = fn;    obj[type+fn] = function(){obj['e'+type+fn]( window.event );}    obj.attachEvent( 'on'+type, obj[type+fn] );  } else    obj.addEventListener( type, fn, false );}/* * Add an event listener to Image and URL-button * Replace the field name of the upload-control with a valid Domino field-name */function FCKeditor_OnComplete( editorInstance ){	 		 //Add/remove items according to your toolbar-config	 var itemNames = [ 'Image', 'Link', 'ImageButton' ]	 	 	 for( var i = 0; i < itemNames.length ; i++ ){	 	var itemName = itemNames[i];	 	var toolbarItem = editorInstance.ToolbarSet.ToolbarItems.GetItem( itemName );		if( !toolbarItem._UIButton ){ continue; }			 	var button = toolbarItem._UIButton.MainElement;	 		 	addEvent( button, 'mousedown', function (){	 			setTimeout( renameFileUpload, 1000 );			} );			 }	 	function renameFileUpload(){		//Poll for the upload-field		var dialogFrame = frames[ frames.length -1 ].frames[0];		if( !(dialogFrame && dialogFrame.document.forms.length === 1) ){ 			setTimeout( renameFileUpload, 1000 ); 			return;		}								//replicaid halen uit var FCK_Db_Id (want in die db slaan we de afbeelding op)		//FCK ID = noteid van designelement waarop de fileupload staat; dit ID is in 		//  referentiedocs van KWIS resp Nieuws ingevuld, sleutel "FCK Editor ID"		var replicaId = FCK_Db_Id.substring( NewsDb.indexOf("/__")+3, NewsDb.indexOf(".") )		var FCKID = document.getElementById("FCKEditorID").innerHTML;			var fieldName = '%%File.' + replicaId + FCKID																//The upload-dialog-iframe is added as the last node to document.body		//The field-name of the upload is NewFile. Replace that with a valid Domino field-name		frames[ frames.length -1 ].frames[0].document.forms[0].NewFile.name = fieldName;									}}
