//basis variabelen
var verplicht = new Array();
var regexp = "";
var achtergrondkleurstandard = "#FFFFFF";
var achtergrondkleurmissing = "#DD001E";
var fontkleurstandard = "#646464";
var fontkleurmissing = "#FFFFFF";

//controle of item in array:
function inArray(veldnaam) {
	var testcondition = false;
	for (var i=0; i < verplicht.length; i++) {
		if (veldnaam == verplicht[i]) {
			testcondition = true;
		}
	}
	return testcondition;
}

function changeStyleStandard(veld) {
	veld.style.backgroundColor = achtergrondkleurstandard;
	veld.style.color = fontkleurstandard;
}

function changeStyleMissing(veld) {
	veld.style.backgroundColor = achtergrondkleurmissing;
	veld.style.color = fontkleurmissing;
}

function checkRadioGroup(radiogroup) {
	var groupnotchecked = true;
	for (j = 0; j < radiogroup.length; j++) {
		if (radiogroup[j].checked) {
			groupnotchecked = false;
		}
	}
	return groupnotchecked;
}

function sendData(formname) {
	var msg = "";
	formtosubmit = eval('document.' +formname);
	var missingvalues = true;
	for (i = 0; i < formtosubmit.length; i++) {
		field_name = formtosubmit.elements[i].name;
		if (field_name != "" && field_name.indexOf("[") == -1 && formtosubmit.elements[i].type != "button" && formtosubmit.elements[i].type != "submit" && formtosubmit.elements[i].type != "reset") {
			var formElementObj = eval('formtosubmit.' +field_name);
			if (inArray(field_name)) {
				if (formtosubmit.elements[i].type == "radio" || formtosubmit.elements.type == "checkbox") {
					//button formuliervelden:
					//radio
					if (checkRadioGroup(formElementObj)) {
						if (msg.indexOf("'"+field_name+"'") == -1) {
							missingvalues = false;
							msg += "veld: '" +field_name +"' ontbreekt\n";
						}
					}
					//checkbox apart???
				} else if (formtosubmit.elements[i].value == "") {
					//text-gebonden formuliervelden:
					missingvalues = false;
					msg += "veld: '" +field_name +"' ontbreekt\n";
					changeStyleMissing(formtosubmit.elements[i]);
				} else {
					//controle invoer van velden die verplicht zijn:
					if (field_name == "prijs") {
						regexp = /^([0-9])*\.[0-9]{2}$/g;
						/*if (!formtosubmit.prijs.value.match(regexp)) {
							missingvalues = false;
							msg += "Feld: '" +field_name +"' enthalt falsche Einfuhr (0.00)\n";
							changeStyleMissing(formtosubmit.elements[i]);
						} else {
							changeStyleStandard(formtosubmit.elements[i]);
						}*/
					} else if (field_name == "email") {
						regexp = /^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$/g;
						if (!formtosubmit.email.value.match(regexp)) {
							missingvalues = false;
							msg += "veld: '" +field_name +"' bevat foutieve invoer\n";
							changeStyleMissing(formtosubmit.elements[i]);
						} else {
							changeStyleStandard(formtosubmit.elements[i]);
						}
					} else if (field_name == "telefoon" || field_name == "fax" || field_name == "mobiel") {
						var theField = eval("formtosubmit." +field_name);
						var formattedField = theField.value.replace(/\s/g, '');
						if (field_name == "mobiel") {
							regexp = /((^[0-9]{2})\-?([0-9]{8}$))|((^[0-9]$){10})/g;
						} else {
							regexp = /((^[0-9]{2})\-?([0-9]{8}$))|((^[0-9]{3})\-?([0-9]{7}$))|((^[0-9]{4})\-?([0-9]{6}$))|((^[0-9]$){10})/g;
						}
						theField.value = formattedField;
						if (!theField.value.match(regexp)) {
							missingvalues = false;
							msg += "veld: '" +field_name +"' bevat foutieve invoer\n";
							changeStyleMissing(formtosubmit.elements[i]);
						} else {
							changeStyleStandard(formtosubmit.elements[i]);
						}
					} else if (field_name == "postcode") {
						var theField = eval("formtosubmit." +field_name);
						var formattedField = theField.value.replace(/\s/g, '');
						theField.value = formattedField;
						/*regexp = /^[0-9]{4}[A-Z]{2}$/g;
						if (!formtosubmit.postcode.value.match(regexp)) {
							missingvalues = false;
							msg += "Feld: '" +field_name +"' enthalt falsche Einfuhr\n";
							changeStyleMissing(formtosubmit.elements[i]);
						} else {
							changeStyleStandard(formtosubmit.elements[i]);
						}*/

					} else if (field_name == "wachtwoord" || field_name == "nogmaalswachtwoord") {
						if (formtosubmit.wachtwoord && formtosubmit.nogmaalswachtwoord) {
							if (formtosubmit.wachtwoord.value != formtosubmit.nogmaalswachtwoord.value) {
								missingvalues = false;
								if (field_name == "wachtwoord") {
									msg += "controle van het wachtwoord is mislukt\n";
								}
								changeStyleMissing(formtosubmit.elements[i]);
							} else {
								changeStyleStandard(formtosubmit.elements[i]);
							}
						}
					} else {
						changeStyleStandard(formtosubmit.elements[i]);
					}
				}
			} else {
				//controle invoer van velden die niet verplicht zijn:
				if (formtosubmit.elements[i].value != "") {
					if (formtosubmit.elements[i].type == "file") {
						//controleer bestandformaat:
						var field_value = formtosubmit.elements[i].value;
						//alert(field_value);
						if (field_value.indexOf(".pdf") == -1) {
							missingvalues = false;
							msg += "veld: '" +field_name +"' bevat een foutief bestandsformaat\n";
							changeStyleMissing(formtosubmit.elements[i]);
						} else {
							changeStyleStandard(formtosubmit.elements[i]);
						}
					} else {
						if (field_name == "prijs") {
							/*if (formtosubmit.elements[i].value != "") {
								regexp = /^([0-9])*\.[0-9]{2}$/g;
								var fieldtocheck = eval("formtosubmit." +field_name +".value");
								if (!fieldtocheck.match(regexp)) {
									missingvalues = false;
									msg += "Feld: '" +field_name +"' enthalt falsche Einfuhr (0.00)\n";
									changeStyleMissing(formtosubmit.elements[i]);
								} else {
									changeStyleStandard(formtosubmit.elements[i]);
								}
							}*/
						} else if (field_name == "website") {
							if (formtosubmit.website.value.indexOf("http://") == -1) {
								formtosubmit.website.value = "http://" +formtosubmit.website.value;
							}
							regexp = /^http:\/\/((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$/g;//nog invullen!
							if (!formtosubmit.website.value.match(regexp)) {
								missingvalues = false;
								msg += "veld: '" +field_name +"' bevat foutieve invoer\n";
								changeStyleMissing(formtosubmit.elements[i]);
							} else {
								changeStyleStandard(formtosubmit.elements[i]);
							}
						} else if (field_name == "postcode") {
							var theField = eval("formtosubmit." +field_name);
							var formattedField = theField.value.replace(/\s/g, '');
							theField.value = formattedField;
							/*regexp = /^[0-9]{4}[A-Z]{2}$/g;
							if (!theField.value.match(regexp)) {
								missingvalues = false;
								msg += "Feld: '" +field_name +"' enthalt falsche Einfuhr\n";
								changeStyleMissing(formtosubmit.elements[i]);
							} else {
								changeStyleStandard(formtosubmit.elements[i]);
							}*/
						}
					}
				}
			}
		}//einde indexOf []
	}
	if (msg != "") {
		alert(msg);
	}
	//submit if missingvalues true:
	if (missingvalues == true) {
		formtosubmit.submit();
	}
}

