// 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() {

	$('.formulierentool_form').each(function(){
		// Inputs javascripts toevoegen
		$(this + ' input').each(function(){
			switch($(this).attr('type')) {
				case 'text':
					switch($(this).attr('formulierentool_type')) {
						case 'email':
							$(this).blur(function () {
								return formulierentool_checkmail($(this));
							});
						break;
						
						case 'nummeriek':
							$(this).keypress(function() {
								return formulierentool_checknum($(this));
							});
						break;
					}
				break;
				
				case 'submit':
					$(this).click(function() {
						return formulierentool_before_submit($(this).attr('id'));
					});
				break;
				
				case 'radio':
				break;
				
				case 'checkbox':
				break;
			}
		});	
	});
}


// 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') {
			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();
	}	
}

