var lessen;
var lessenInputs;
var tijden;
var tijdenInputs;
var tijdenArray;
var messageDiv;
var messageDivText;
var tijdenChildren;

initForm = function() {
    formulier = document.getElementById('formulier');
    var req = YAHOO.util.Dom.getElementsByClassName('frmRow', 'div', formulier);	
    for (var i = 0; i < req.length; i++) {
        var isReq = YAHOO.util.Dom.getElementsByClassName('required', '', req[i]).length;
        if (isReq) {
            var label = req[i].getElementsByTagName('label')[0];
            var span = document.createElement('span');
            var star = document.createTextNode('*');
            YAHOO.util.Dom.addClass(span, 'required');
            span.appendChild(star);
            label.appendChild(span);
        }
    }

	YAHOO.util.Event.addListener(document.getElementById("butSubmit1"),"click",validateAanmeldenForm);
	YAHOO.util.Event.addListener(document.getElementById("butSubmit2"),"click",validateAanmeldenForm);
	
	/* add leskist logic */
	var lesKistSoortFields = YAHOO.util.Dom.get("lessoort").getElementsByTagName("input");
	var lesKistDatumField = YAHOO.util.Dom.get("dateInput_voorkeurOphaalDatum");
	var lesKistDatumLabel = YAHOO.util.Dom.get("label_voorkeurOphaalDatum"); 
	
	YAHOO.util.Event.addListener(lesKistSoortFields, "click" , function(e) {
		if(!YAHOO.util.Dom.hasClass(lesKistDatumField, "required")) {
			var span = document.createElement('span');
			var star = document.createTextNode('*');
			YAHOO.util.Dom.addClass(span, 'required');
			span.appendChild(star);
			lesKistDatumLabel.appendChild(span);
			YAHOO.util.Dom.addClass(lesKistDatumLabel, "required");
			YAHOO.util.Dom.addClass(lesKistDatumField, "required");
		}
	}); 
	
}

showTimes = function() {
	// remove all childnodes
	tijdenChildren = tijden.childNodes;
	for(var i=tijdenChildren.length-1;i>=0;i--) {
		tijden.removeChild(tijdenChildren[i]);
	}
	
    fld1 = fld2 = fld3 = fld4 = fld5 = null;
	var reg1 = /fldOpt[1-6]/;
	var reg2 = /fldOpt[8]/;
	var reg3 = /fldOpt[9]/;

    if (this.id.match(reg1)) {
		fld1 = tijdenArray[0];
		fld2 = tijdenArray[3];
		fld3 = tijdenArray[4];

	} else if (this.id.match(reg2)) {
		fld1 = tijdenArray[1];
		fld2 = tijdenArray[3];

	} else {
		fld1 = tijdenArray[0];
		fld2 = tijdenArray[2];
		fld3 = tijdenArray[4];
	}
	
	// add options to form
	if (fld1) tijden.appendChild(fld1);
	if (fld2) tijden.appendChild(fld2);
	if (fld3) tijden.appendChild(fld3);
}


validateAanmeldenForm = function() {
	removeAllErrors();
    validateForm();
	checkForErrorsAndSubmit();
}

validateFormField = function(el) {
    switch (el.id) {
        case 'fldPostcode':
            if (!el.value.match(/^\d{4} *[a-zA-Z]{2}$/)) {
                showError(el, "Dit is geen geldige postcode");
                return false;
            }
            break;
        case 'fldEmail':
            if (!el.value.match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)) {
                showError(el, "Dit is geen geldig e-mailadres");
                return false;
            }
            break;
        case 'fldTelefoon':
            var tmp = el.value.replace(/[^\d]/g, '');
            if ((tmp.length < 9) || (tmp.length > 11) || !el.value.match(/^[+\-\d ]{10,16}$/)) {
                showError(el, "Dit is geen geldig telefoonnummer");
                return false;
            }
            break;
    }
    return true;
}

YAHOO.util.Event.addListener(window,"load",initForm);

