// check_form.js
// joost.diepenmaat@framfab.nl
// test formulier waarden


// checkPercent(form-element) rondt waarden af op 2 
// cijfers na de punt (kommas worden omgezet naar punten)
// ongeldige waarden worden naar 0 omgezet

function checkPercent(el) {
      if (el.value == '') {
           return false;
      }
      el.value = el.value.replace(/,/,'.');
      el.value = Math.round(el.value*100)/100;
      if (el.value < 0) {
	 el.value = 0;
      }
      if (isNaN(el.value)) {
        el.value = 0;
      }
}

// checkEmail(form-element) test of een geldig email adres
// is ingevuld, en leegt veld anders

function checkEmail(el) {
      if (el.value.search(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/) != 0) {
         el.value='';
         return false;
      }
      return true;
}

// checkInt(form-element) test of er een geheel getal is
// ingevuld, zo nee -> rond af naar heel getal of zet naar 0

function checkInt(el) {
      if (el.value == '') {
         return;
      }
      el.value = el.value.replace(/,/,'.');
      el.value = Math.round(el.value);
      if (isNaN(el.value)) {
        el.value = 0;
      }
}

// checkPosInt(form-element) test of er een geheel getal is
// ingevuld groter dan 0, zo nee -> rond af naar heel getal,
// en neem absolute waarde of zet naar 0

function checkPosInt(el) {
	checkInt(el);
	if (el.value < 0) {
		el.value = 0 - el.value;
	}
}

// checkPostcode(form-element) probeert de ingevulde waarde
// om te zetten naar 1234AB (hoofdletters) en leegt anders
// het veld

function checkPostcode(el) {
	el.value = el.value.replace(/\s/,'');
	el.value = el.value.toUpperCase();
	el.value = el.value.replace(/^.*(\d\d\d\d[A-Z][A-Z]).*$/,"$1");
	if (el.value.search(/^\d\d\d\d[A-Z][A-Z]$/) == -1) {
		el.value = '';
	}
}

// checkRequired(element1, element2 ...) test of elementen
// een value hebben, zo nee geeft alert en return(false)
// als goed -> return true


function checkRequired() {
	for (var i=0;i < arguments.length; i++) {
		var el = arguments[i];
		if (!el.value) {
			alert("Verplicht veld '"+el.name+"' is niet ingevuld!");
			if (el.focus) {
				el.focus();
			}
			return false;
		}
	}
	return true;
}
