function addpageform() {
	return (
		inputCheck(document.addPageForm.post_title, "fout: geen titel ingevoerd.") &&
		inputCheck(document.addPageForm.post_menutitle, "fout: geen menukopje ingevoerd.") &&
		inputCheck(document.addPageForm.post_filename, "fout: geen bestandsnaam ingevoerd.") &&
		inputRegExp(document.addPageForm.post_filename, /^[a-z]+$/, "fout: een bestandsnaam mag alleen uit kleine letters bestaan en mag geen spaties bevatten.")
	);
}

function changepictureform() {
	return (
		inputCheck(document.changePictureForm.post_fotonaam, "fout: geen fotonaam ingevoerd") &&
    inputRegExp(document.changePictureForm.post_fotonaam, /^[a-zA-Z0-9_]+$/, "fout: een fotonaam mag alleen maar uit letters, cijfers of '_' bestaan, spaties zijn niet toegestaan.") &&
    (document.changePictureForm.post_fotodatum.value.length == 0 || 
     inputRegExp(document.changePictureForm.post_fotodatum, /^\d{1,2}-\d{1,2}-\d{4}$/, "fout: de datum is verkeerd ingevuld")) &&
    (document.changePictureForm.post_fototijd.value.length == 0 || 
     inputRegExp(document.changePictureForm.post_fototijd, /^\d{1,2}:\d{2}$/, "fout: de datum is verkeerd ingevuld"))
  );
}

function loginform() {
	return (
		inputCheck(document.loginForm.postusername, "fout: geen gebruikersnaam ingevuld.") &&
		inputCheck(document.loginForm.postpassword, "fout: geen wachtwoord ingevuld.")
		);
};

function passwordform() {
		if (!inputCheck(document.passwordForm.oldpw, "fout: het oude wachtwoord is niet ingevuld."))
			return false;
		if (document.passwordForm.newpw.value.length < 6) {
			alert("fout: het nieuwe wachtwoord moet uit minimaal 6 tekens bestaan.");
			return false;
		}
		if (document.passwordForm.newpw.value != document.passwordForm.repeatnewpw.value) {
			alert("fout: de nieuwe ingevoerde wachtwoorden zijn niet gelijk aan elkaar.");
			return false;
		}
		
};

function validateContactForm() {
   var email = document.forms["contactform"].elements["post_email"];
   var phonenumber = document.forms["contactform"].elements["post_phonenumber"];
   var bericht = document.forms["contactform"].elements["post_message"];
   var naam = document.forms["contactform"].elements["post_name"];

   if (naam.value.length == 0) {
      alert("vul uw naam in");
      return false;
   }
   if (email.value.length == 0 && phonenumber.value.length == 0) {
      alert("vul uw telefoonnummer of uw email adres in");
      return false;
   }
   if (email.value.length != 0 && !email.value.match(/^[\w\.\_\-]+\@[\w\.\_\-]+\.[\w]+$/)) {
      alert("vul een geldig email adres in");
      return false;
   }
   if (phonenumber.value.length != 0 && !phonenumber.value.match(/^[\d\s\+\-]{10,}$/)) {
      alert("vul een geldig telefoonnummer in");
      return false;
   }
   if (bericht.value.length == 0) {
      alert("vul een bericht in");
      return false;
   }

   return true;
}

function inputCheck(input, errormessage) {
	if (input.value.length == 0) {
		alert(errormessage);
		return false;
	}
	return true;
}

function inputRegExp(input, regex, errormessage) {
	if (input.value.match(regex)) {
		return true;
	}
	alert(errormessage);
	return false;
}

function divVisible(div) {
	document.getElementById(div).style.display='block';
}

function showDiv(div) {
	var d = document.getElementById(div);
	if (d.style.display == "block")
		d.style.display='none';
	else
		d.style.display='block';
}


function changeForm(form, button) {
	document.getElementById(form).action='addpage.php?action=example';
	document.getElementById(button).value='voorbeeld wijzigingen';
}

function changeDivContent(div, replacediv) {
	if (document.getElementById(replacediv).innerHTML != "") {
		document.getElementById(div).innerHTML = document.getElementById(replacediv).innerHTML;
		document.getElementById(replacediv).innerHTML = "";
	}
}

function insertContact(textarea, input) {
	var node = document.getElementById(input);
	var code = "[contact=" + node.value + "]";
	insertCode(textarea, code);
	node.value = "";
}

function insertKopje(textarea, input) {
	var node = document.getElementById(input);
	var code = "[kopje=" + node.value + "]";
	insertCode(textarea, code);
	node.value = "";
}

function insertCommissie(textarea, input) {
	var node = document.getElementById(input);
	var code = "[commissie=" + node.value + "]";
	insertCode(textarea, code);
	node.value = "";
}

function insertVerwijzing(textarea, input1, input2) {
  var node1 = document.getElementById(input1);
  var node2 = document.getElementById(input2);
  var code = "[verwijzing=" + node1.value;
  if (node2.value.length != 0)
  {
    code = code + " naam=\"" + node2.value + "\"";
  }
  code = code + "]";
  insertCode(textarea, code);
  node2.value="";
}

function insertDownload(textarea, input1, input2) {
  var node1 = document.getElementById(input1);
  var node2 = document.getElementById(input2);
  var code = "[download=\"" + node1.value + "\"";
  
  if (node2.value.length != 0)
  {
    code = code + " naam=\"" + node2.value + "\"";
  }
  
  code = code + "]";
  insertCode(textarea, code);
  node2.value="";
}


function insertLink(textarea, input1, input2) {
  var node1 = document.getElementById(input1);
  var node2 = document.getElementById(input2);
  var code = "[link=\"" + node1.value + "\"";
  if (node2.value.length != 0)
  {
    code = code + " naam=\"" + node2.value + "\"";
  }
  code = code + "]";
  insertCode(textarea, code);
  node2.value="";
}

function insertFoto(textarea, input1, input2, input3, input4) {
	var node1 = document.getElementById(input1);
  var node2 = document.getElementById(input2);
  var node3 = document.getElementById(input3);
  var node4 = document.getElementById(input4);
	var code = "[plaatje=" + node1.value;
  if (node2.value.length != 0)
  {
    code = code + " onderschrift=\"" + node2.value + "\"";
  }
  code = code + " breedte=" + node3.value + "%";
  code = code + " uitlijnen=" + node4.value;
  code = code + "]";
	insertCode(textarea, code);
	node2.value = "";
}

function insertCode(textarea, code) {
	var node = document.getElementById(textarea);
	//IE support
	if (document.selection) {
		node.focus();
		sel = document.selection.createRange();
		sel.text = code;
	}
	//MOZILLA/NETSCAPE support
	else if (node.selectionStart || node.selectionStart == 0) {
		var startPos = node.selectionStart;
		var endPos = node.selectionEnd;
		node.value = node.value.substring(0, startPos) + code + node.value.substring(endPos, node.value.length);
	} else {
		node.value += code;
	}
}

function commissiesForm(option) {
	var newpersoon = new Array(
				document.forms["commissieform"].elements["naam"],
				document.forms["commissieform"].elements["tussenvoegsel"],
				document.forms["commissieform"].elements["achternaam"]);

	var existingpersoon = new Array(
				document.forms["commissieform"].elements["bestaandepersoon"]);

	var newcommissie = new Array(
				document.forms["commissieform"].elements["nieuwecommissie"]);
	
	var existingcommissie = new Array(
				document.forms["commissieform"].elements["bestaandecommissie"]);



	if (option == "newpersoon") {
		disableElements(existingpersoon);
		enableElements(newpersoon);
	}
	if (option == "existingpersoon") {
		disableElements(newpersoon);
		enableElements(existingpersoon);
	}
	if (option == "newcommissie") {
		disableElements(existingcommissie);
		enableElements(newcommissie);
	}
	if (option == "existingcommissie") {
		disableElements(newcommissie);
		enableElements(existingcommissie);
	}
	
}

function adddienstForm(option) {
	var choosevoorganger = new Array(document.forms["dienstenform"].elements["post_kiesvoorganger"]);
	var othervoorganger = new Array(document.forms["dienstenform"].elements["post_anderevoorganger"]);

	var chooseorganist = new Array(document.forms["dienstenform"].elements["post_kiesorganist"]);
	var otherorganist = new Array(document.forms["dienstenform"].elements["post_andereorganist"]);
		
	var choosekoster = new Array(document.forms["dienstenform"].elements["post_kieskoster"]);
	var otherkoster = new Array(document.forms["dienstenform"].elements["post_anderekoster"]);

	if (option == "choosevoorganger") {
		disableElements(othervoorganger);
		enableElements(choosevoorganger);
	}
	if (option == "othervoorganger") {
		disableElements(choosevoorganger);
		enableElements(othervoorganger);
	}

	if (option == "chooseorganist") {
		disableElements(otherorganist);
		enableElements(chooseorganist);
	}
	if (option == "otherorganist") {
		disableElements(chooseorganist);
		enableElements(otherorganist);
	}

	if (option == "choosekoster") {
		disableElements(otherkoster);
		enableElements(choosekoster);
	}
	if (option == "otherkoster") {
		disableElements(choosekoster);
		enableElements(otherkoster);
	}
}

function disableElements(elements) {
	for (var i=0; i<elements.length; i++) {
		elements[i].disabled = true;
		elements[i].className = elements[i].className.replace("toegankelijk","ontoegankelijk");
	}
}

function enableElements(elements) {
	for (var i=0; i<elements.length; i++) {
		elements[i].disabled = false;
		elements[i].className = elements[i].className.replace("ontoegankelijk", "toegankelijk");
	}
}

function editElement(form, element, button) {
	var node = document.forms[form].elements[element];
	node.disabled = false;
	node.className = node.className.replace("onbewerkbaar", "");
	var button = document.forms[form].elements[button];
	button.disabled = false;
}

function enableFormElements(form) {
	for (var i = 0; i<document.forms[form].elements.length; i++) {
		var node = document.forms[form].elements[i];
		node.disabled = false;
	}
}
  
function insertCommissielidRow(table, idx)
{ 
  var index = parseInt(idx) + 1;
  var index2 = parseInt(idx) - 1;
  var tableId = document.getElementById(table);
  var newRow = tableId.insertRow(index);
  
  var newCell_0 = newRow.insertCell(0);
  newCell_0.appendChild(document.createTextNode(idx));
  
  var newCell_1 = newRow.insertCell(1);
  newCell_1.style.width = '300px'
  var newInput_1 = document.createElement('input');
  newInput_1.type = 'text';
  newInput_1.name = 'name_' + index2;
  newInput_1.style.width = '250px';
  newCell_1.appendChild(newInput_1);
  
  var newCell_2 = newRow.insertCell(2);
  newCell_2.style.width = '125px'
  var newInput_2 = document.createElement('input');
  newInput_2.type = 'text';
  newInput_2.name = 'function_' + index2;
  newInput_2.style.width = '125px';
  newCell_2.appendChild(newInput_2);
  
  tableId.deleteRow(-1);
  
  var appendLink = tableId.insertRow(-1);
  var newCell_append0 = appendLink.insertCell(0);
  var newHiddenValue = document.createElement('input');
  newHiddenValue.type = 'hidden';
  newHiddenValue.name = 'nValues';
  newHiddenValue.value = idx;
  newCell_append0.appendChild(newHiddenValue);
  
  var newCell_append1 = appendLink.insertCell(1);
  
  var newJavascriptLink = document.createElement('a');
  newJavascriptLink.className = 'javascriptlink';
  newJavascriptLink.onclick = new Function('insertCommissielidRow(\"commissieleden\", \"' + index + '\");');
  
  //alert('insertCommissielidRow(\"commissieleden\", \"' + index + '\");');
  
  newCell_append1.appendChild(newJavascriptLink);
  newJavascriptLink.appendChild(document.createTextNode("extra commissielid"));
}

function enableDiv(div, a) {
	
	var d = document.getElementById(div);

	var n = a.childNodes;
	var old = n.item(0);

	if (d.style.display == "block")
	{
		d.style.display='none';
		a.replaceChild(document.createTextNode("tonen"), old);
	}
	else
	{
		d.style.display='block';
		a.replaceChild(document.createTextNode("verbergen"), old);
	}
}

