//------------ Begin Algemene functies --------------
function schakelButtons(element, schakelaar, button, fsswitch) {
//Doel: Met deze functie kunnen alle buttons of één specifike button binnen een fieldset worden verborgen danwel getoond.
//para1: Geef hier de naam van de fieldset op waarbinnen de buttons worden geschakeld
//para2: Geef hier true of false op om de buttons te tonen danwel te verbergen
//para3: Geef de naam op van de specifieke button welke geschakeld moet worden OF 
//       geef te tekst all op waarmee wordt bereikt dat alle buttons binnen de fieldset worden geschakeld.
//       true = tonen, false is NIET tonen
//para4: Geef hier true of false op om de in para1 vermelde fieldset te verberegen of te tonen.

	var input = document.getElementById(element).getElementsByTagName("input");
	if (schakelaar == true) {
		schakelaar = "visible";
		} else {
		schakelaar = "hidden";
	}
	for(var i = 0; i < input.length; i++) {
	  if(input[i].name.substr(0, 4) == "but_") {
      if (button == "all" || input[i].name == button) {		
				//alert("Schakel " + input[i].name + " naar " + schakelaar); 																								
						input[i].style.visibility = schakelaar;
				}
		}	
	}
	if (fsswitch == false){
	  document.getElementById(element).style.display = 'none';
	} else{
	  document.getElementById(element).style.display = 'block';
	}	
}

function ZetInputUit(element, schakelaar) {
//Doel: Deze functie schakelt alle invoervelden binnen een fieldset in danwel uit.
//Werking: Alle input-tags worden geschakeld behalve de tags waarvan de naam van de tag begint met de tekst "but_"
//para1: Geef hier de naam van de fieldset op waarbinnen de velden worden geschakeld
//para2: Geef hier true of false op om de velden te déactiveren danwel te activeren
//       true = uitgeschakeld, false is ingeschakeld
	var input = document.getElementById(element).getElementsByTagName("input");
	for(var i = 0; i < input.length; i++) {
	  if(input[i].name.substr(0, 4) != "but_") {
			input[i].disabled = schakelaar;
		}	
	}
}

function ZetSelectUit(element, schakelaar) {
//Doel: Deze functie schakelt alle selectboxes binnen een fieldset in danwel uit.
//Werking: Alle select's  worden geschakeld behalve de tags waarvan de naam van de tag begint met de tekst "but_"
//para1: Geef hier de naam van de fieldset op waarbinnen de velden worden geschakeld
//para2: Geef hier true of false op om de velden te déactiveren danwel te activeren
//       true = uitgeschakeld, false is ingeschakeld
	var input = document.getElementById(element).getElementsByTagName("select");
	for(var i = 0; i < input.length; i++) {
		input[i].disabled = schakelaar;
	}
}

function toonDivs(strWelkeDiv, tmpSub, tmpFieldsetOff, tmpFieldsetOn, obj, bInlineAan, bOnlyHide) {
// Doel: Met deze functie is het mogelijk om divs te tonen danwel te verbergen.
// Werking: M.b.v van parameters is het mogelijk een div (para1) te tonen én tegelijkertijd:
//            - divs (para2) met een specifieke naam of allen beginnend met een bepaalde tekst te verbergen;
//											- een fieldset (para3) te verbergen;
//											- een fieldset (para3) te tonen.
// 									Als een bepaalde actie niet uitgevoerd hoeft te worden is het voldoende om een lege parameter ("") mee te geven. 
// para1: de div welke wordt getoond
// para2: het eerste deel van de div-naam welke worden uitgezet alvorens de bij para1 opgegeven div wordt getoond.
// para3: de naam van de fieldset welke verborgen moet worden
// para4: de naam van de fieldset welke getoond moet worden
// para5: A.d.h.v. dit object kunnen de x en y coordinaten worden bepaald om de help naast de vraag te plaatsen. 
// para6: Met deze instelling is het mogelijk om divs inLine te tonen, True = inline, False = NIET inline
// Para7: Met deze instelling is het mogelijk een veld ALLEEN te verbergen (visibility = 'hidden') 
//        Hiermee blijft de ruimte welke gereserveerd is voor het object gereserveerd. 
//				True = object alleen hidden maken. False = Hidden maken en ruimte vrijgeven.
// voorbeeld: toonDivs("divWoonEnWerk", "divResult", "uitvoer", "");
// hier worden alle div's welke beginnen met divResult inclusief de fieldset uitvoer verborgen waarna divWoonEnWerk wordt getoond 
var arrAllDIVs = document.getElementsByTagName("div");
var i=0;
var  tmpYoffset;
//Eerste alles uitzetten (incl. de bijbehorende Fieldset i.g.v. tonen resultaat)
	for (i=0; i <= arrAllDIVs.length - 1; i++) {
		if ((arrAllDIVs[i].id.substr(0, tmpSub.length) == tmpSub) && tmpSub != "" ) {
			if (bOnlyHide != true ){
				document.getElementById(arrAllDIVs[i].id).style.display = 'none';
			}		
			document.getElementById(arrAllDIVs[i].id).style.visibility = 'hidden';
		}
	}
	if (tmpFieldsetOff != "") {
		if (bOnlyHide != true ){
		 document.getElementById(tmpFieldsetOff).style.display = 'none';	
		}
	  document.getElementById(tmpFieldsetOff).style.visibility = 'hidden';
	}
// En nu het juiste weer aanzetten	
	if (strWelkeDiv != "") {
//	alert(strWelkeDiv);
		if (tmpFieldsetOn != "") {
			document.getElementById(tmpFieldsetOn).style.visibility = 'visible';
			document.getElementById(tmpFieldsetOn).style.display = 'block';
		}
		document.getElementById(strWelkeDiv).style.visibility = 'visible';
		document.getElementById(strWelkeDiv).style.display = 'block';
		if (bInlineAan==true) { 
			document.getElementById(strWelkeDiv).style.visibility = 'visible';
			document.getElementById(strWelkeDiv).style.display = 'inline'
		}	
		// Nu de helptekst naast het geklikte ? positioneren...
		if (obj!=undefined) {
			 tmpYoffset="" + (findPos(obj,2)-82) + "px";
			 document.getElementById(strWelkeDiv).style.top = tmpYoffset;
		}		
	}
}

function findPos(obj,iWelke) {
	// Functie geeft de x & y coordinaten terug van een object. 
	// para1: het object waarop geklikt is; para 2: 1=alleen x 2=alleen y 3=beiden
	var curleft = 0;
	var curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	if (iWelke == 1) { return [curleft] }
	else if (iWelke==2) { return [curtop]	}
	else { return [curleft,curtop];	}
	
}

function AlleDagen() {
  var i=0;
	for (i=1; i <= 31; i++) {
			document.write("<option value='" + i + "'>" + i + "</option>");
	}
}
function AlleMaanden() {
  var i=0;
	for (i=1; i <= 12; i++) {
			document.write("<option value='" + i + "'>" + i + "</option>");
	}
}
function AlleJaren(start, plus ,eind) {
//para1 : Het beginjaar dat bovenaan in de selectiebox wordt getoond
//para2 : Het aantal jaren dat bij het beginjaar moet worden opgeteld 
//para3 : Het laatste jaat dat in de selectiebox moet worden getoond
  var i=0;
  if (start == "now"){
  	var temp = new Date();
	  start = temp.getFullYear();
		if (plus != "") { 
				start = start + plus;
		}	
	}
	if (eind == "now"){
  	var temp = new Date();
	  start = temp.getFullYear();	
	}
  document.write("<option value='-1'>    </option>");
	for (i=start; i >= eind; i--) {
			document.write("<option value='" + i + "'>" + i + "</option>");
	}
}

function WisWaarden() {
	window.location.reload(false);
}

function SluitHelp(){
	toonDivs('','divHelp','','','','','')
}

function doHelp(strWelkeDiv, strX) {
//para1 : Welke helpDiv moet getoond worden
//para2 : object waarmee de x en y coordinaten worden bepaald om de help naast de vraag te plaatsen. 
	toonDivs(strWelkeDiv, "divHelp", "", "", strX);
}

function NieuwVenster(strURL, strTarget) {
  var strVensterEigenschappen = 'toolbar, location, statusbar, menubar, resizable, width=1024, height=786 ';
	var objNieuwVenster = window.open(strURL, strTarget, strVensterEigenschappen);
	objNieuwVenster.focus();
	return objNieuwVenster;
}



function raw_popup(url, target, features) {
  var theWindow = window.open(url, target, features);
  theWindow.focus();
  return theWindow;
}

//------------ Einde Algemene functies --------------