//'mijn lijst': maakt lijst uit nieuws of agenda view met als singlecategory de afdeling of kring//<param name="label">plek op pagina</param>//<param name="soort">agenda of nieuws</param>//<param name="type">afdeling of kring</param>function createMijnList(label, soort, type) {	if (Username == "Anonymous") return		if (type == "afdeling") 	{			if (soort == "nieuws") 			createList(label, 6, [0], NewsDb + "/vlNieuwsOpDatumPerAfdeling", Afdeling, "bold"); 		else			createList(label, 6, [0], KWISDb + "/vlAgendaOpDatumPerAfdeling", Afdeling, "bold");		} else if (type == "IQual") {		//soort == "nieuws"		createList(label, 6, [0], NewsDb + "/vlNieuwsOpDatumPerIQual", IQualNr, "bold"); 		} else if (Kring != "") {		// dit uitcommentari\u00EBren als de views-per-kring bestaan 		if (soort == "nieuws") 			createList(label, 6, [0], NewsDb + "/vlNieuwsOpDatumPerKring", Kring, "bold"); 		else 			createList(label, 6, [0], KWISDb + "/vlAgendaOpDatumPerKring", Kring, "bold"); 	}} //HTML voor richtlijnen&contracten pagina's//<param name="min">start=</param>//<param name="max">count=</param>//<param name="cols">kolomnummers</param>function createRichtlijnenHTML(label, min, max, cols) {	var CurView = getComponent(label);	CurView.maxNum = max > CurView.nrRows ? CurView.nrRows : max;			entries = CurView.entries;		if (group=="Richtlijnen en Contracten") 		document.getElementById(label).className += " beige"	else if (group=="Vereniging")		document.getElementById(label).className += " aqua"		tekst = ""	if (entries != null) {	//entries=null: geen documenten in view		//tekst		value = entries[0].entrydata[0].text[0];		if (value != "")			tekst += "<p></p><p>" + value + "</p><br>"			//loop door alle rijen heen: [viewentry]   (s waarde van CurView.entries)		for (x=min; x < CurView.maxNum; x++) {			tekst += "<ul>"									//loop door alle kolommen heen: [entrydata]			for (y=0; y < entries[x].entrydata.length; y++) {					if (isMember( entries[x].entrydata[y]["@columnnumber"], cols )) {					type = getType( entries[x].entrydata[y] );					//lijst met links					if (type == "textlist") {						//loop door tekstlijst heen en maak voor ieder item een <LI></LI> aan						for (z=0; z < entries[x].entrydata[y].textlist.text.length; z++) 							if (entries[x].entrydata[y].textlist.text[z][0] != "") 								tekst += "<li>" + entries[x].entrydata[y].textlist.text[z][0] + "</li>";					//\u00E9\u00E9n link								} else 						tekst += "<li>" + entries[x].entrydata[y][type][0] + "</li>"				}			}			}	}	//zet te tonen HTML voor dit object	CurView.HTML =  tekst + "</ul></div>"	}//otherClass - evt class toekennen; anders wordt standaard 'horizontal_separator' gebruiktfunction createSeparator( label, blokje, otherClass  ) {	//check of streep gezet moet worden	HTTPArray[label] = getHTTPObject();	if (HTTPArray[label] != null) {				HTTPArray[label].open("GET", ComponentsDb + "/vlJSONComponenten?readViewEntries&outputformat=JSON&restrictToCategory=" + blokje , true);							HTTPArray[label].onreadystatechange = function() {			htmlSubHeader = "";									if ( HTTPArray[label].readyState == 4 || HTTPArray[label].readyState == "complete" ) {				try {					var resp = HTTPArray[label].responseText;					var viewObject = eval("(" + resp + ")");					var entries = viewObject["viewentry"];								//wel/niet is te vinden in kolom 5					value = entries[0].entrydata[5].text[0] ;										if (value=="")	{						//dynamisch aangemaakte DIV weer weggooien als er geen inhoud voor is						p = document.getElementById(label).parentNode;						p.removeChild( document.getElementById(label) );						return;					}															if (otherClass==null || otherClass=="undefined" || otherClass=="") {						if (group=="Producten" || group=="Vereniging")							useClass="double horizontal_separator"						else								useClass="block bottom_link"					} else						useClass = otherClass								document.getElementById(label).className = useClass									} catch (err) {					return				}				}		}		HTTPArray[label].send(null)	}				}//maak een 'aanmeld'-link aan (= link naar aanmeldformulier, bijv. "aanmelden nieuwsbrief")function createSpecialLink(label, blokje) {	HTTPArray[label] = getHTTPObject();		if (HTTPArray[label] != null) {		HTTPArray[label].open("GET", ComponentsDb + "/vlJSONComponenten?readViewEntries&outputformat=JSON&restrictToCategory=" + blokje, true);				HTTPArray[label].onreadystatechange = function() {				var link = "";				if ( HTTPArray[label].readyState == 4 || HTTPArray[label].readyState == "complete" ) {				try {					var resp = HTTPArray[label].responseText;					var viewObject = eval("(" + resp + ")");					var entries = viewObject["viewentry"];					link = entries[0].entrydata[4].text[0];					//een 'special' linkblokje moet verdwijnen zodra er op geklikt wordt					link = "<div onClick=\"this.style.display='none'\">" + link + "</div>"					document.getElementById(label).innerHTML = "<div class=\"clearboth\"></div>" + link 												} catch (err) {					return;				}				}		}		HTTPArray[label].send(null)			}	}//deze functie wordt aangeroepen bij klikken op specialLink 'ik neem nieuwe pati\u00EBnten aan'function nieuwepatienten() {	//profiel openen in tabblad 'persoonlijke gegevens'	var pg = document.getElementById("persoonlijke_gegevens_link") 	if ( pg != null && pg != "undefined") //profiel is al geopend, dus alleen naar juiste tabblad gaan		pg.onclick()	else 		openMijnProfiel( "contentcontainer", "", "persoonlijke_gegevens_link" )			alert( "Klik voor de betreffende werkverbanden op 'wijzig' en vink aan of u nieuwe pati\u00EBnten aanneemt." );}//deze functie wordt aangeroepen bij klikken op specialLink 'aanmelden nieuwsbrief'function nieuwsbrief() {		//profiel openen in tabblad 'mailings'		var m = document.getElementById("mailings_link") 	if ( m != null && m != "undefined")	//profiel is al geopend		m.onclick()	else 		openMijnProfiel("contentcontainer", "", "mailings_link")		//alert( "Vink aan welke mailings/nieuwsbrieven u wilt ontvangen.")}//geef NMT adresgegevens en contactinformatie function createNMTInfo( label, blokje) {	HTTPArray[label] = getHTTPObject();	infoHTML = "<h3 class=\"heading_bureau\">Contact &amp; Route</h3>"	infoHTML += "<div style=\"width:420px;\" class=\"coolgray clearfix contact_addresses twenty_px_vertical_spacer\">"		if (HTTPArray[label] != null) {		HTTPArray[label].open("GET", ComponentsDb + "/vlJSONComponenten?readViewEntries&outputformat=JSON&restrictToCategory=" + blokje, true)		HTTPArray[label].setRequestHeader("Content-Type", "application/x-www-form-urlencoded; ");						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"];						    //NMT informatie staat in kolommen 0, 8, 9 en 10				    var routebeschrijving = entries[0].entrydata[0].text[0]					var bezoekadres = entries[0].entrydata[8].text[0]					var postadres = entries[0].entrydata[9].text[0]					var contactinfo = entries[0].entrydata[10].text[0]					var email = entries[0].entrydata[11].text[0]																				//kolom1					infoHTML += "<div class=\"three_columns_left\"><h4>Bezoekadres</h4>"					infoHTML += bezoekadres.substring( 0, bezoekadres.indexOf("~")) + "<br/>"					infoHTML += bezoekadres.substring( bezoekadres.indexOf("~")+1, bezoekadres.length )					infoHTML += "</div>"										//kolom2					infoHTML += "<div class=\"three_columns_middle\"><h4>Postadres</h4>"					infoHTML += postadres.substring( 0,postadres.indexOf("~")) + "<br/>"					infoHTML += postadres.substring( postadres.indexOf("~")+1, postadres.length )					infoHTML += "</div>"										//kolom3					infoHTML += "<div class=\"three_columns_right\"><h4>Contactgegevens</h4>"					infoHTML += "tel: " + contactinfo.substring( 0,contactinfo.indexOf("~")) + "<br/>"					infoHTML += "fax: " + contactinfo.substring( contactinfo.indexOf("~")+1, contactinfo.length ) + "<br/>"					infoHTML += "email: " + email + "</div></br>"					if (Username != "Anonymous") //alleen ingelogden mogen een vraag stellen						infoHTML += "<a class=\"btnlong right contactbtn\" href=\"javascript: openMetaLink('Contact')\">STEL UW VRAAG</a><br/><br/>"						infoHTML += "</div>"					infoHTML += "<div class=\"horizontal_separator\">&nbsp;</div>"									    //googlekaartje							infoHTML += "<div class=\"googleMaps twenty_px_vertical_spacer\">"					infoHTML += "<h4>Routebeschrijving</h4>"					if (location.href.indexOf("nmt.nl")>-1)						infoHTML += "<iframe scrolling=\"no\" class=\"google_maps_placeholder\" src=\"" + SharedDb + "/index_def2.html\" frameborder=0></iframe>"					else						infoHTML += "<iframe scrolling=\"no\" class=\"google_maps_placeholder\" src=\"" + SharedDb + "/index_def.html\" frameborder=0></iframe>"                        infoHTML += "</div>"					                    //routebeschrijving                    infoHTML += routebeschrijving                    														document.getElementById(label).innerHTML = infoHTML														} catch (err) {					//alert( err )					return;				}				}		}		HTTPArray[label].send(null)			}}//functie voor het tonen van het kaartje voor kies je tandartsfunction createKiesJeTandarts(label) {	HTTPArray[label] = getHTTPObject();	var t_url = CMSDb + "/kiesjetandarts!readform"	if (HTTPArray[label] != null) {		HTTPArray[label].open("GET", t_url , true);				HTTPArray[label].onreadystatechange = function() {				var link = "";				if ( HTTPArray[label].readyState == 4 || HTTPArray[label].readyState == "complete" ) {				try {					var resp = getAJAXHTML(HTTPArray[label].responseText)[0];					document.getElementById(label).innerHTML = resp						} catch (err) {					return;				}				}		}		HTTPArray[label].send(null)			}		}//functie voor het tonen van het klachtenformulierfunction createKISFormulier(label) {	strHTML = "<iframe src='" + KISDb + "/fmKlacht!OpenForm' height='1300px' width='470px' frameborder=0></iframe>"	document.getElementById(label).innerHTML = strHTML}//functie voor het tonen van het klachten dossier (view)function createKISDossier( label, strView) {	HTTPArray[label] = getHTTPObject()	if (Userroles.indexOf("[WebKisSecr]")>-1) 	//secretariaat/beheer mag alles zien		var t_url = KISDb + "/" + strView + "!OpenView&Count=-1&RestrictToCategory=[Secretariaat]"	else		var t_url = KISDb + "/" + strView + "!OpenView&Count=-1&RestrictToCategory=" + Username			if (HTTPArray[label] != null) {		HTTPArray[label].open("GET", t_url , true)		HTTPArray[label].onreadystatechange = function() 	{			if ( HTTPArray[label].readyState == 4 || HTTPArray[label].readyState == "complete" )			{				try {					var resp = getAJAXHTML(HTTPArray[label].responseText)[0]										if (resp.indexOf("No documents found") < 0)						document.getElementById(label).innerHTML = resp					else						document.getElementById(label).innerHTML = "<br/>&nbsp;&nbsp;Er zijn geen openstaande dossiers gevonden."										} catch (err) {					return;				}			}		}		HTTPArray[label].send(null)	}}//functie voor het tonen van het klachten dossier (view)function createKISDossierAnoniem( label, strView) {	HTTPArray[label] = getHTTPObject()		var t_url = KISDb + "/" + strView + "!OpenView&Count=-1"	if (HTTPArray[label] != null) {		HTTPArray[label].open("GET", t_url , true)		HTTPArray[label].onreadystatechange = function() 	{			if ( HTTPArray[label].readyState == 4 || HTTPArray[label].readyState == "complete" )			{				try {					var resp = getAJAXHTML(HTTPArray[label].responseText)[0]										if (resp.indexOf("No documents found") < 0)						document.getElementById(label).innerHTML = resp					else						document.getElementById(label).innerHTML = "<br/>&nbsp;&nbsp;Er zijn geen openstaande dossiers gevonden."											} catch (err) {					return;				}			}		}		HTTPArray[label].send(null)	}}//wordt aangeroepen als blokje "Mijn NMT - Nieuw bericht plaatsen" op de contentpagina is gezetfunction createBericht( label, blokje, type ) {	if (type=="Nieuws")		editBericht("NewsDb", null, label)		else		editBericht("KWISDb", null, label)}//zet nieuws- of agendabericht in editmode //Db     = 'NewsDb' of 'KWISDb'//docID  = documentuniqueid van het bericht - leeg als nieuw berichtfunction editBericht(Db, docID, label) {		var bericht = getHTTPObject()	if (bericht==null) return;								if (docID==null || docID=="undefined") {	//nieuw bericht aanmaken		if (Db=="NewsDb")			var URL = NewsDb + "/fmNieuws!openform"		else			var URL = KWISDb + "/fmCalendar!openform"		}	  	  else								//bestaand bericht bewerken		var URL = eval(Db) + "/0/" + docID + "!editDocument"	if (label==null || label=="undefined") label = "contentcontainer"					bericht.open("GET", URL, true);	bericht.onreadystatechange = function() {		if (bericht.readyState == 4 || bericht.readyState == "complete") {			try {				var content = document.getElementById(label)				var editbericht = getAJAXHTML( bericht.responseText)				content.innerHTML = editbericht[0]															//veld 'Body' (is textarea-veld) omzetten naar fck editor				makeRichTextField("Body", CMSDb + "/bodyRTfield.js")														} catch(err) {				//alert( err)				return;					}		}	}	bericht.send(null)   }//sla (nieuw of aangepast) bericht op//Db = "NewsDb" of "KWISDb"//docID = documentuniqueID van het bericht - is 'null' als nieuw bericht//redirectURL = te openen pagina na submitten [optioneel]function submitBericht(Db, docID, redirectURL) {			var saving = getHTTPObject()	if (saving == null) return;	var t= new Date();	var vandaag = 	t.getDate() + "-" + parseInt(t.getMonth()+1) + "-" + t.getFullYear()			if (docID==null || docID=="undefined") {			//bericht is nieuw aangemaakt		if (Db=="NewsDb")			var URL = NewsDb + "/fmNieuws!createDocument&charset=UTF-8"		else			var URL = KWISDb + "/fmCalendar!createDocument&charset=UTF-8"		}	  else										//bericht bestond al				var URL = eval(Db) + "/0/" + docID + "!saveDocument&charset=UTF-8"				//als iFrame met id="Body___Frame" bestaat, dan is fck editor gebruikt	var fckeditor = document.getElementById("Body___Frame")				if (fckeditor==null || fckeditor=="undefined") {			var bericht = document.getElementById("bericht")		//vervang enters door spatie 		var bericht = escape(b.value).replace(/%0D%0A/g, " ")				bericht = unescape( bericht.replace(/%0A/g, " "))			} else {											//als fck editor is gebruikt, dan inhoud uit iframe "Body___Frame/xEditingArea" halen		// en overhevelen naar body veld (is textarea met id "bericht") zodat het opgeslagen wordt		var bodycell = fckeditor.contentWindow.document.getElementById("xEditingArea") 		var bodyframe = bodycell.childNodes[0]		var bericht = bodyframe.contentWindow.document.body.innerHTML							//als inhoud = "<p><br></p>" (FF) of "<p></p>" (IE) dan is nog niks ingevuld		if (bericht.toUpperCase() == "<P><BR></P>" || bericht.toUpperCase() == "<P></P>")			document.getElementById("bericht").value = ""		else			document.getElementById("bericht").value = bericht						//bepaalde tekens escapen die niet in de URL meegestuurd mogen worden (= en &)		// Let op: we escapen niet simpelweg 'bericht', omdat dan speciale tekens		//   verloren gaan (\u00EB,\u00E9, etc.)		bericht = escape(bericht).replace(/%0D%0A/g, "")				bericht = unescape(bericht.replace(/%0A/g, ""))					bericht = bericht.replace(/=/g, escape("=") )		bericht = bericht.replace(/&/g, escape("&") )	}				//validatie verplichte velden	if (!validateElementById(Db + "Fields")) return;			if (Db=="NewsDb") {	   //NIEUWS			var titel = document.getElementById("titel").value		var datum_vanaf = document.getElementById("datum_vanaf").value		var datum_t_m = document.getElementById("datum_t_m").value									var content = "head=" + titel + "&body=" + bericht +			"&datum_vanaf=" + datum_vanaf + "&datum_t_m=" + datum_t_m		//auteur + afdeling invullen als bericht nieuw is aangemaakt		//  (zie ook subform NieuwsEdit voor meer velden die daar berekend worden)		if (docID==null || docID=="undefined") {			content +=			"&AangemaaktDoor=" + dispUsername + " (" + Username + ")" +			"&NewsAfdeling=" + constAfdeling +			"&DispAfdeling=" + dispAfdeling +			"&Source=Afdelingsbestuur " + dispAfdeling	   	}				} else {	  //AGENDA			//validatie format datums		if (!isValidDate( document.getElementById("startdatum"))) {			alert("Vul een geldige datum in voor de startdatum. (dd-mm-jjjj)")			return		}			if (document.getElementById("einddatum").value != "") {			if (!isValidDate( document.getElementById("einddatum"))) {				alert("Vul een geldige datum in voor de einddatum. (dd-mm-jjjj)")				return			}		}				//validatie uren (0-23) en minuten (0-59)		var startu = document.getElementById("starttijduren").value		var startm = document.getElementById("starttijdminuten").value		var eindu = document.getElementById("eindtijduren").value		var eindm = document.getElementById("eindtijdminuten").value								if ( (startu != "" && startu > 23) || (eindu != "" && eindu > 23) ) {			alert("Vul voor de uren een getal tussen 0 en 23 in")			return		}		if ( (startm != "" && startm > 59) || (eindm != "" && eindm > 59) ) {			alert("Vul voor de minuten een getal tussen 0 en 59 in")			return;		}				var kop = document.getElementById("kop").value		var locatie = document.getElementById("locatie").value		var startdatum = document.getElementById("startdatum").value		var einddatum = document.getElementById("einddatum").value		var starttijd = startu==""? "" : startu + ":" + startm		var eindtijd = eindu==""? "" : eindu + ":" + eindm		var datum_vanaf = document.getElementById("datum_vanaf").value		var datum_t_m = document.getElementById("datum_t_m").value				     		var content = "head=" + kop + "&startDate=" + startdatum + "&enddate=" + einddatum +		"&body=" + bericht + "&starttime=" + starttijd + "&endtime=" + eindtijd +		"&starttimehours=" + startu + "&endtimehours=" + eindu + "&starttimeminutes=" + startm +		"&endtimeminutes=" + eindm + "&location=" + locatie + "&datum_vanaf=" + datum_vanaf + 		"&datum_t_m=" + datum_t_m 				//auteur + afdeling invullen als bericht nieuw is aangemaakt		// (overige te berekenen velden staan op het subform AgendaEdit)				if (docID==null || docID=="undefined") {			content += 			"&AangemaaktDoor=" + dispUsername + " (" + Username + ")" +			"&AgendaAfdeling=" + constAfdeling + "&DispAfdeling=" + dispAfdeling		}	}	saving.open("POST", URL, true)		saving.onreadystatechange = function() {			if (saving.readyState == 4 || saving.readyState == "complete") {			try {				if (redirectURL==null || redirectURL=="undefined" || redirectURL == "" || redirectURL=="http://") 					location.reload() 				else {					alert("Het bericht is opgeslagen. U gaat nu naar de afdelingspagina.")										//als de customAlert gebruikt is, moet de redirect achter de 'OK' 					// button gezet worden ipv direct uitgevoerd worden					var customAlert = document.getElementById("closeBtn")					if (customAlert) {						customAlert.onclick = function() { 							removeCustomAlert();							location.replace( redirectURL )  					 	}					} else						location.replace(redirectURL)					}							} catch(err) {				//alert( err)				return;			}		}	}		saving.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");	saving.send(content)}//cancel bewerking op berichtfunction exitBericht( redirectURL ) {	if (redirectURL==null || redirectURL=="undefined" || redirectURL=="" || redirectURL=="http://") 		location.reload()		else	{		alert("De wijzigingen zijn NIET opgeslagen. U gaat nu naar de afdelingspagina.")				//als de customAlert gebruikt is, moet de redirect achter de 'OK' 		// button gezet worden ipv direct uitgevoerd worden		var customAlert = document.getElementById("closeBtn")		if (customAlert) {			customAlert.onclick = function() { 				removeCustomAlert();				location.replace( redirectURL )  		 	}		} else			location.replace(redirectURL)				}}