// Teksten
var formulierentool_validmail = "Geef een geldig emailadres op";
var formulierentool_onefield = "U heeft één verplicht veld nog niet ingevuld:";
var formulierentool_multiplefields = "U heeft de volgende verplichte velden nog niet ingevuld:";

function init_formulieren() {
	var inline_forms = document.getElementsByClassName('inline_form');
	
	if(inline_forms.length>0) {
		for(var i=0; i<inline_forms.length; i++) {
			var inline_form = inline_forms[i];
		
			// Inputs javascripts toevoegen
			var fields = inline_form.getElementsByTagName('input');
			for(var j=0; j<fields.length; j++) {
				switch(fields[j].type) {
					case 'text':
						switch(fields[j].getAttribute('formulierentool_type')) {
							case 'email':
							case 'email_check':
								fields[j].onblur = function () {
									return formulierentool_checkmail(this);
								}
							break;
							
							case 'nummeriek':
								fields[j].onkeypress= function() {
									return formulierentool_checknum(this);
								}
							break;
						}
					break;
					
					case 'submit':
						fields[j].onclick = function() {
							return formulierentool_before_submit(inline_form.id);
						}
					break;
					
					case 'radio':
					break;
					
					case 'checkbox':
					break;
				}
			}		
		}
	}
}

window.onload.actions.push(init_formulieren);

// Controleert of de ingedrukte knop een nummer is, zo ja, mag het ingetypt worden, zo nee, pech
function formulierentool_checknum(what) {
	var keyascii=event.keyCode;
	if((keyascii>47) && (keyascii<58))  { return true; }
	if(keyascii==13) { return true; }
	event.returnValue=false;
	return false;
}

// Controleert of een veld een emailadres bevat. Zo ja, reageer true, anders false met een alert
function formulierentool_checkmail(what) {
	if(what.value=="") { return false; }
	if(!re_email.test(what.value)) { 
		if(document.getElementById(what.name+'-error')) {
			document.getElementById(what.name+'-error').style.display = 'block';
		}
		return false;
	} else {
		if(document.getElementById(what.name+'-error')) {
			document.getElementById(what.name+'-error').style.display = 'none';
		}
	}
	return true;
}

// Functie wordt voor de submit getriggered. Kijkt of van een bepaald formid alles klopt en antwoord met true of false
function formulierentool_before_submit(formid) {
	var fields = Form.getElements(formid);
	var submit = true;
	
	for(var i=0; i<fields.length; i++) {
		if(document.getElementById(fields[i].name+'-error')) {
			document.getElementById(fields[i].name+'-error').style.display = 'none';
		}
		if(fields[i].getAttribute('formulierentool_vereist')=='true' && fields[i].type!='file' && fields[i].value=='') {
			submit = false;
			if(document.getElementById(fields[i].name+'-error')) {
				document.getElementById(fields[i].name+'-error').style.display = 'block';
			}
		} 
		if(fields[i].getAttribute('formulierentool_type')=='email' || fields[i].getAttribute('formulierentool_type')=='email_check') {
			submit = formulierentool_checkmail(fields[i]);
			if(!submit && document.getElementById(fields[i].name+'-error')) {
				document.getElementById(fields[i].name+'-error').style.display = 'block';
			}
		}
	}
	
	return submit;
}

// Functie die alleen een click triggered
function formulierentool_click(id) {
	if(document.getElementById) {
		document.getElementById(id).click();
	} else {
		document.body.all.id.click();
	}	
}

function formulierentool_submit(form_id) {
	document.getElementById(form_id).submit();
}
