function FormChecker(){
	this.formElements = [];
	this.valide = true;
}

FormChecker.prototype.addSelectField = function(element){
	this.formElements[this.formElements.length] = new SelectElement(element);
}

FormChecker.prototype.addTextField = function(element){
	this.formElements[this.formElements.length] = new TextElement(element);
}

FormChecker.prototype.addPasswordField = function(element){
	this.formElements[this.formElements.length] = new TextElement(element);
}

FormChecker.prototype.addLargeTextField = function(element){
	this.formElements[this.formElements.length] = new LargeTextElement(element);
}

FormChecker.prototype.addRadioGroup = function(element){
	this.formElements[this.formElements.length] = new RadioGroup(element);
}

FormChecker.prototype.validateForm = function(){
	this.valide = true;
	for(var i = 0; i < this.formElements.length; i++){
		var parentElement = this.formElements[i].element.parentNode;
		var parentParentElement = parentElement.parentNode;
		var parentParentElement2 = parentParentElement.parentNode;
		var divError = parentParentElement2.childNodes[2];
		//if(!divError){
			//alert(parentElement +" : " + parentParentElement + " : " +  parentParentElement2 + " : " + parentParentElement2.childNodes[2] + " : " + parentParentElement2.childNodes[1])
		//	divError = parentParentElement2.childNodes[1]
		//}
		if(!this.formElements[i].valide()){
			this.valide = false;
			//parentParentElement2.style.backgroundColor = "#F7F76F"
			//parentParentElement2.style.border = "1px solid #D5D59A"
			parentParentElement2.className = "incorrect";
			divError.style.display = "block";
		}
		else{
			//this.valide = true;
			//parentParentElement2.style.backgroundColor = "#FCFCEB"
			//parentParentElement2.style.border = "none"
			parentParentElement2.className = "correct";
			divError.style.display = "none";
		}
	}

	return this.valide;
}


function SelectElement(element){
	this.element = element;
	this.isvalide = false;
}

SelectElement.prototype.valide = function()
{
	this.isvalide = this.element.selectedIndex > 0;
	return this.isvalide;
}

function TextElement(element){
	this.element = element;
	this.isvalide = false;
}

TextElement.prototype.valide = function(){
	this.isvalide = this.element.value.length > 0
	return this.isvalide;
}

function LargeTextElement(element){
	this.element = element;
	this.isvalide = false;
}

LargeTextElement.prototype.valide = function(){
	this.isvalide = this.element.value.length > 1
	return this.isvalide;
}

function RadioGroup(element){
	this.element = element;
	this.isvalide = false;
}

RadioGroup.prototype.valide = function(){
	this.isvalide = this.element.value.length > 0
	return this.isvalide;
}


function checkPlace(selectObject){
	var locatie = document.getElementById("locatieContainer");
	if(selectObject.options[selectObject.selectedIndex].value == "andersNamelijk"){
		locatie.style.display = "block";
		document.getElementById("plaatsevenement").value = '';
	}
	else{
		locatie.style.display = "none";
		document.getElementById("plaatsevenement").value = 'n.v.t.';
	}
}
formChecker = new FormChecker();
