var veldControl;
var andereVelden=0;

function telVelden(formName)
{
        //alert(formName);
	veldControl=new Array();
        form = document.getElementById(formName);
	//alert("array: "+veldControl.length);
	for(var j=0;j<form.getElementsByTagName("input").length;j++)
	{
		//alert(form.getElementsByTagName("input")[j].type+" : "+form.getElementsByTagName("input")[j].id);
		if(form.getElementsByTagName("input")[j].type=="text"
			|| form.getElementsByTagName("input")[j].type=="password")
		{
			veldControl[j-andereVelden]=false;
			//alert("arrayLength: "+veldControl.length);
		}
		else if(form.getElementsByTagName("input")[j].type=="hidden"
			|| form.getElementsByTagName("input")[j].type=="checkbox"
			|| form.getElementsByTagName("input")[j].type=="submit")
		{
			andereVelden++;
		}
	}
	//alert("array: "+veldControl.length);
	//alert(form.getElementsByTagName("select").length);
	var duur=form.getElementsByTagName("select").length+veldControl.length;
	for(var i=veldControl.length;i<duur;i++)
	{
		veldControl[i]=false;
	}
	//alert("arrayTotaal: "+veldControl.length);
}
function buttonController(index, bool){
	//alert("in buttonController: "+veldControl.length);
	veldControl[index]=bool;
	var result = true;
	for (i=0;i<veldControl.length;i++){
		if(veldControl[i]==false){
			result=false;
			//alert(i);
			break;
		}
	}
	//alert("controle: "+result);
	if(result==true)
		document.getElementById('formButton').disabled=false;
	else
		document.getElementById('formButton').disabled=true;
}
function controleScriptInjectie(tekst) {
	var tekst2 = tekst;

	tekst2 = tekst.replace(/<|>|\/|\(|\)|\{|\}/gi, '');
	if(tekst2==tekst)
		return true;
	else
		return false;
}
function controleTekst(id, index) {
    //alert(document.getElementById(id));
	var naam = document.getElementById(id).value.replace(/^\s+|\s+$/g, '');
	//alert(naam);

	if (naam == "") {
		document.getElementById('controle'+id).innerHTML = "*";
		buttonController(index,false);
	}
	else{

		if(controleScriptInjectie(naam)==false){
			document.getElementById('controle'+id).innerHTML = "U gebruikt verboden tekens";
			buttonController(index,false);
		}
		else{
			document.getElementById('controle'+id).innerHTML = "";
			//alert(true+"voor");
			buttonController(index,true);
			//alert(true+"na");
		}
	}
}
function controlePositiefGetal(id, index, maximum) {
    //alert(document.getElementById(id));
	var aantal = document.getElementById(id).value.replace(/^\s+|\s+$/g, '');
        var filter = /^[0-9]{0,2}$/;
	//alert(aantal);

	if (aantal == "") {
		document.getElementById('controle'+id).innerHTML = "*";
		buttonController(index,false);
	}
	else{

		if(controleScriptInjectie(aantal)==false){
			document.getElementById('controle'+id).innerHTML = "U gebruikt verboden tekens";
			buttonController(index,false);
		}
		else{
                    if(!filter.test(aantal)){
                        document.getElementById('controle'+id).innerHTML = "Enkel cijfers aub.";
			buttonController(index,false);
                    }
                    else{
                        if(parseInt(aantal) > maximum || parseInt(aantal) < 0 ){
                            document.getElementById('controle'+id).innerHTML = "Maximum "+maximum+" personen.";
                            buttonController(index,false);
                        }
                        else{
                            document.getElementById('controle'+id).innerHTML = "";
                            //alert(true+"voor");
                            buttonController(index,true);
                            //alert(true+"na");
                        }
                    }
		}
	}
}
function controleTel(id, index) {
    //alert(document.getElementById(id));
	var tel = document.getElementById(id).value.replace(/^\s+|\s+$/g, '');
        var filter = /^[0-9]{9,13}$/;
	//alert(tel);

	if (tel == "") {
		document.getElementById('controle'+id).innerHTML = "*";
		buttonController(index,false);
	}
	else{

		if(controleScriptInjectie(tel)==false){
			document.getElementById('controle'+id).innerHTML = "U gebruikt verboden tekens";
			buttonController(index,false);
		}
		else{
                    if(!filter.test(tel)){
                        document.getElementById('controle'+id).innerHTML = "Tussen 9 en 13 cijfers aub.";
			buttonController(index,false);
                    }
                    else{
			document.getElementById('controle'+id).innerHTML = "";
			//alert(true+"voor");
			buttonController(index,true);
			//alert(true+"na");
                    }
		}
	}
}
function controleEmail(id, index) {
	var email = document.getElementById(id).value.replace(/^\s+|\s+$/g, '');
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if(email == "")
	{
		document.getElementById('controle'+id).innerHTML = "*";
		buttonController(index,false);
	}
	else
	{
		if(controleScriptInjectie(email)==false){
			document.getElementById('controle'+id).innerHTML = "U gebruikt verboden tekens";
			buttonController(index,false);
		}
		else{
			if (!filter.test(email)) {
				document.getElementById('controle'+id).innerHTML = "Geen geldig adres.";
				buttonController(index,false);
			}
			else{
				document.getElementById('controle'+id).innerHTML = "";
				buttonController(index,true);
				controleEmailBevestig();
			}
		}
	}
}
function controleSelect(id, index)
{
        //alert(index);
        //alert(document.getElementById(id));
	if(document.getElementById(id).options[document.getElementById(id).selectedIndex].value!="")
		buttonController(index, true);
	else buttonController(index, false);
}
function setField(index, value){
    buttonController(index, value);
}

