//toon 'moment geduld' box bij het starten van een zoekopdracht
function displayWaitbox(id) {
	var obj = document.getElementById(id);
	if (typeof obj == "object")
		obj.style.display = 'block';
}

/* Benodigde functies voor redirect module */
function redirect() {
	//popup ('/admin/redirect/index.php', 'nhredirect')
	popupModules('redirect');
}

//popup voor modules binnen admin
if (/admin/.test(document.location.toString())) {
	top.window.popupReactiemodule = function () {
		popupModules('reageren_nieuwsitems');
	}
}
function popupModules(modulenaam) {
	var filename="/admin/modules/"+modulenaam+"/index.php";
	var fileid="Producten";
	var width="650";
	var height="580";
	var scrollbars="no";
	var resizable="no";
	var menubar="no";
	var toolbar="no";
	var status="no";
	var location="no";
	var popupscherm=0;
	var args = "height=" + height + ", width=" + width + ", scrollbars=" + scrollbars + ", resizable=" + resizable +  ", menubar=" + menubar + ", toolbar=" +toolbar + ", status=" + status + " ,location=" + location;
	popupscherm = top.window.open(filename, fileid, args);
}

//Functie behorende bij de reactiemogelijkheid op nieuwsitems
function toggleReacties(actie) {
	var obj = document.getElementById('reactNewReaction');
	if (obj) {
		if (actie == 'toon')
			obj.style.display = 'block';
		else
			obj.style.display = 'none';
	}
}

//Functie om te controleren of er een radiobutton is gekozen bij de Poll
function checkStem(form,bsid,aantal) {
	var formuliernaam = 'poll'+bsid;
	var gekozen = false;
	for (i=0;i<6;i++) {
		if (document.forms[formuliernaam].myStem[i]) {
			if (document.forms[formuliernaam].myStem[i].checked == true)
				var gekozen = true;
		}
	}
	if (gekozen == false) {
		alert('U moet een antwoord kiezen!');
		return false;
	} else {
		submit_poll(form,bsid,aantal);
	}
	//if (document.forms[formuliernaam].myStem[0]);
	//document.system.crash();
	
}

// Print functie (haalt bepaalde TD uit de maintable en gooit deze in een popup)
function printPage(aantal,tdeen,tdtwee,tddrie) {
	print1 = '';
	print2 = '';
	if (aantal ==  3) {
		if (document.getElementById(tdeen)) {
			var print1 = document.getElementById(tdeen).innerHTML;
			var print1 = print1.replace(/scrolldiv style/gi, "_scrolldiv _style");
			var id1 = document.getElementById(tdeen).id;
		}
		if (document.getElementById(tdtwee)) {
			var print2 = document.getElementById(tdtwee).innerHTML;
			var print2 = print2.replace(/scrolldiv style/gi, "_scrolldiv _style");
			var id2 = document.getElementById(tdtwee).id;
		}
		if (!document.getElementById(tddrie)) {
			print2 = '';
		}
		window.printgedeelte = '<table cellpadding="0" cellspacing="0"><tr><td id="' + id1  + '"valign="top" style="padding-right: 10px;">' + print1 + '</td><td id="' + id2  + '" valign="top">' + print2 + '</td></tr></table>';
	}
	
		if ((tdeen == '' && tdtwee == 'sectorvvRechts_0_1') || (tdeen == 'sectorvvRechts_0_1' && tdtwee == 'sectorvvLinks_0_0'))
			window.printgedeelte = '<div id="logo_print"><img src="/images/vv/logo_svg.gif" alt="0" border="0">&nbsp;<img src="/images/vv/svg_logo.jpg" alt="0" border="0"></div>' + printgedeelte;
		else if ((tdeen == '' && tdtwee == 'svmbvvRechts_0_1') || (tdeen == 'svmbvvRechts_0_1' && tdtwee == 'svmbvvLinks_0_0'))
			window.printgedeelte = '<div id="logo_print"><img src="/images/vv/logo_svmb.gif" alt="0" border="0">&nbsp;<img src="/images/vv/svmb_logo.gif" alt="0" border="0"></div>' + printgedeelte;
		else
			window.printgedeelte = '<div id="logo_print"><img src="/images/vv/solo_logo.gif" alt="0" border="0"></div>' + printgedeelte;
		
		//open nieuwe popup en plaats maintable hierin
		var w =  window.open('/print.html');
}

// constructor functie nodes ======================= //
var nodes = function () {}

// parentNodeBy ==================================== //

nodes.prototype.parentNodeBy  = function (el, condition) {
	if (typeof condition != 'string')
		condition = false;

	while (true) {
		if (el == null)
			return (false);
		
		if (typeof el.parentNode == 'undefined') 
			return false;
		
		if (condition == false)
			return el.parentNode;

		if (this.check_condition (condition, el.parentNode))
			return el.parentNode;

		var el = el.parentNode;
	}
	return false;
}


// check_condition ============================================ //


nodes.prototype.check_condition = function (condition, el) {
	if (typeof condition != 'string')
		return (false);

	var arr = condition.split ('=', 2);

	if (arr.length == 1)
		arr [1] = '';

	if (typeof arr.length != 'undefined' && arr.length == 2) {
		var negative = arr [0].replace (/\!$/, '');
		if (negative == arr [0]) {
			negative = false;
		} else {
			arr [0] = negative;
			negative = true;
		}
		try {
			if (negative) {
				if (el [arr [0]] != arr [1])
					return (true);
			} else {
				if (el [arr [0]] == arr [1])
					return (true);
			}
		} catch (e) {
		}
	}
	return (false);
}

nodes.prototype.is_node = function (node) {
	if (node != null && typeof node != 'undefined') {
		if (typeof node.nodeType != 'undefined') {
			var nodeType = node.nodeType.toString ();

			if (nodeType != 3 && nodeType != 8) {
				return (true);
			}
		}
	}
	return (false);
}

nodes.prototype.getPreviousSibling = function (p, cond) {
	var s = p.previousSibling;
	if (s === null)
		return false;

	if (typeof cond != 'undefined')
		if (this.check_condition (s, cond))
			return s;

	if (!this.is_node (s))
		return this.getPreviousSibling (s, cond);
	else
		return s;
}

nodes.prototype.getNextSibling = function (p, cond) {
	var s = p.nextSibling;
	if (s === null)
		return false;

	if (typeof cond != 'undefined')
		if (this.check_condition (s))
			return s;

	if (!this.is_node (s))
		return this.getNextSibling (s, cond);
	else
		return s;
}



// functie voor het postcodezoekformulier ======================
var clearForm = function (el, nr) {
	if (!nodes) 
		return false
	
	var orgName = new Array();
	orgName[1] = 'Bedrijfsnaam';
	orgName[2] = 'Plaatsnaam';
	orgName[3] = 'Postcode (eerste 4 cijfers)';
	var form = nodes.parentNodeBy(el,"nodeName=FORM");
	if (form) 
		for (var i=1;i<orgName.length; i++) 
			if (form.elements[i])
				if(i != nr) 
					form.elements[i].value = orgName[i];
				else 
					form.elements[i].value = '';
}
// functie voor het postcodezoekformulier ======================

nodes = new nodes();

var submitFormVragen = function (el) {
	
	var doNotSubmit = false;
	var form = nodes.parentNodeBy(el, 'nodeName=FORM');
	var fields = new Array();
	
	for (var i=0; i<form.length;i++) {
		var formElement = form[i]
		formElement.style.backgroundColor = 'white';
		var prevSib = nodes.getPreviousSibling(formElement);
		if (typeof prevSib =='object') {
			if (prevSib.nodeName=='DIV') {
				prevSib.parentNode.removeChild (prevSib);
			}
		}
		if (formElement.name=='naam') {
			if (formElement.value=='' || formElement.value=='Naam') {
				doNotSubmit = _submitForm(formElement);
			}
		}
		
		if (formElement.name=='opmerking') {
			if (formElement.value=='' || formElement.value=='Opmerkingen') {
				doNotSubmit = _submitForm(formElement);
			}
		}
		if  (formElement.name=='email') 
			if (formElement.value=='' || formElement.value=='E-mail') 
				fields[fields.length] = formElement;
			
		if  (formElement.name=='telefoonnummer') 
			if (formElement.value=='' || formElement.value=='Telefoonnummer') 
				fields[fields.length] = formElement;

	}
	if (fields.length==2) 
		doNotSubmit = _submitForm(fields[0]);
	
	if (!doNotSubmit) 
		form.submit();
	
}

var submitFormLidWorden = function (el) {

	
	var doNotSubmit = false;
	var form = nodes.parentNodeBy(el, 'nodeName=FORM');
	var fields = new Array();
	
	for (var i=0; i<form.length;i++) {
		var formElement = form[i]
		formElement.style.backgroundColor = 'white';
		var prevSib = nodes.getPreviousSibling(formElement);
		if (typeof prevSib =='object') {
			if (prevSib.nodeName=='DIV') {
				prevSib.parentNode.removeChild (prevSib);
			}
		}
	
		if (formElement.name=='bedrijfsnaam') {
			if (formElement.value=='' || formElement.value=='Naam bedrijf') {
				doNotSubmit = _submitForm(formElement);
			}
		}
		
		if (formElement.name=='contactpersoon') {
			if (formElement.value=='' || formElement.value=='Contactpersoon') {
				doNotSubmit = _submitForm(formElement);
			}
		}
		
		if (formElement.name=='postadres') {
			if (formElement.value=='' || formElement.value=='Postadres') {
				doNotSubmit = _submitForm(formElement);
			}
		}
		
		if (formElement.name=='postcode') {
			if (formElement.value=='' || formElement.value=='Postcode') {
				doNotSubmit = _submitForm(formElement);
			}
		}
		
		if (formElement.name=='woonplaats') {
			if (formElement.value=='' || formElement.value=='Woonplaats') {
				doNotSubmit = _submitForm(formElement);
			}
		}
		
		if  (formElement.name=='email') 
			if (formElement.value=='' || formElement.value=='E-mail') 
				fields[fields.length] = formElement;
			
		if  (formElement.name=='telefoonnummer') 
			if (formElement.value=='' || formElement.value=='Telefoonnummer') 
				fields[fields.length] = formElement;
	
	}
	
	if (fields.length==2) 
		doNotSubmit = _submitForm(fields[0]);
		
	if (!doNotSubmit) 
		form.submit();

}

var _submitForm = function (formElement) {
	var bgColor = '#FEFFE2';
	var warning = '<div>U heeft dit veld nog niet ingevuld</div>';
	formElement.focus();
	formElement.style.backgroundColor = bgColor;
	formElement.parentNode.innerHTML = warning + formElement.parentNode.innerHTML;
	return true;
}

// functie voor de 4 zoekentemplates:
// vul het zoekformulier  met de oude waarden NA een zoekactie
function sresult() {
	if (/admin/.test(document.location)) return false;
	var rroot 			= document.getElementById('result_rroot');
	var searchstring 	= document.getElementById('result_searchfor');
	var searchselect 	= document.getElementById('zoeken__rr_hr');
	
	var searchname 		= document.getElementById('search_for');
	
	if (rroot && searchstring && searchselect && searchname) {
		searchname.value = searchstring.innerHTML;
		
		// zet de bovenste selectbox goed; althans probeer dit
		// soms lukt dit niet
		for (var i=0;i<searchselect.length;i++) {
			if(searchselect[i].value==rroot.innerHTML) {
				searchselect[i].selected = true;
				var found = true;
			}
			if (searchselect[i].selected == true) {
				var selectedHR = searchselect[i].value;
			}
		}
		
		// nogmaals proberen om de selectbox goed te zetten
		// de eerste keer is dus niet gelukt.....
		if (!found) {
		 	for (var el in hrsub) {
				for (var subrub in hrsub[el] ) {
					if (subrub == rroot.innerHTML ) {
						//zet de HR goed:
						for (var i=0; i < searchselect.length; i++) {
							if(searchselect[i].value == el) {
								searchselect[i].selected = true;
								selectedHR = el;
								var found2 = subrub;
								break;
							}
						}
						break;
					}
				}
			}
			if (found2) 
				subrub = found2;
			else 
				subrub = false;
			
		 }
		// zet de subnavigatie - zoekpulldown goed
		_setSubnav (selectedHR, subrub);
	}
}

function _setSubnav (selectedHR, subrub) {
	if (hrsub[selectedHR]) {
		var searchselectSub	= document.getElementById ('zoeken__rr');
		var hr = hrsub[selectedHR];

		// eerst de bestaande items er uit gooien
		while (searchselectSub.options.length>0) 
			searchselectSub.options[searchselectSub.options.length-1] = null;

		// vul de lijst met nieuwe waardes
		searchselectSub.options[searchselectSub.length] = new Option ('alle subrubrieken', selectedHR, false, true);
	
		for (el in hr)
			searchselectSub.options[searchselectSub.length] = new Option (hr[el], el, false, true);

		searchselectSub[0].selected=true;

		if (subrub) {
			for (var i=0; i < searchselectSub.length; i++) {
				if (searchselectSub[i].value == subrub) {
					searchselectSub[i].selected = true;
					break;
				}
			}		
		}
	}
}

function switchSub(el) {
	
	for (var i=0;i<el.length;i++) {
		
		if (el[i].selected==true) {
			var newsubrub = el[i].value;
			break;
		}
		
	}
	if (newsubrub)
		_setSubnav (newsubrub, false);
}

function showSmallEmailform (el) {
	var tr = el.parentNode.parentNode;
	var nexttr = tr.nextSibling;
	
	for(var i=0;i<nexttr.childNodes.length;i++) {
		var mytd = nexttr.childNodes[i];
		if (mytd.nodeName=='TD') {
			mytd.style.display =mytd.style.display=='none' ? 'block' : 'none';
			
			break;
		}
	}
}