var matches;
var errors;
function checkVoorletter(elementName) {
	if (document.getElementsByName('voorletter')[0].value.length < 1) errors['voorletter'] = 1;
	var obj = document.getElementsByName('geslacht');
	if (!obj[0].checked && !obj[1].checked) errors['geslacht'] = 1;
}


function checkText(elementName) {

}

function checkTussenvoegsel(elementName) {

}

function checkNorm_text(elementName) {

}
function checkHidden(elementName) {

}

function checkDataLength(elementName) {
	if (document.getElementsByName(elementName)[0].value.length < 1) errors[elementName] = 1;
}

function checkHuisnummer(elementName) {
	if (document.getElementsByName('huisnummer')[0].value.length < 1) errors['huisnummer'] = 1;
	else {
		var tempValue = document.getElementsByName('huisnummer')[0].value;
		if (!tempValue.match(/^(\s*)([0-9]+)(\s*)$/)) {
			errors['huisnummer'] = 1;
		}
	}
}

function checkBelg() {
	if (document.getElementsByName('postcode1')[0].value.length == 4 && document.getElementsByName('postcode2')[0].value.length < 1) {
		//if (errors.length < 1) alert('Deze actie is alleen geldig in Nederland');
		errors['postcode'] = 1;
	}
}

function checkEmail(elementName) {
	var tempValue = document.getElementsByName(elementName)[0].value;
	if (!tempValue.match(/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/)) {
		errors[elementName] = 1;
	}
}

function checkGetalwhite(elementName) {
	var tempValue = document.getElementsByName(elementName)[0].value;
	if (!tempValue.match(/^([0-9,\._\-+ ]*)$/)) {
		errors[elementName] = 1;
	}
}

function checkGeboortedatum(elementName) {
	if (document.getElementsByName('dag')[0].value.length < 1 || document.getElementsByName('maand')[0].value.length < 1 || document.getElementsByName('jaar')[0].value.length < 4) errors['geboortedatum'] = 1;
}

function checkPostcode(elementName) {
	if (document.getElementsByName('postcode1')[0].value < 1000 || document.getElementsByName('postcode1')[0].value > 9999) errors['postcode'] = 1;
	else if (document.getElementsByName('postcode2')[0].value.length >= 1) {
		var tempValue = document.getElementsByName('postcode2')[0].value;
		if (!tempValue.match(/^([a-zA-Z]{2})$/)) {
			errors['postcode'] = 1;
		}
	}
}

function checkTelefoon(elementName) {
	// Create array with country prefixes
	var cp	= new Array ( 'nl', 'be' );
		cp ['nl'] = 31;
		cp ['be'] = 32;
	// Create array with length of phonenumber
	var cl	= new Array ( 'nl', 'be' );
		cl ['nl'] = 8;
		cl ['be'] = 7;
	// Create array for valid SECOND numbers in zonenumber
	var vs	= new Array ( 'nl', 'be' );
		vs ['nl'] = 8;
		vs ['be'] = 9;
	
	var nr		= document.getElementsByName ( 'telabbo' ) [0].value + document.getElementsByName ( 'tel' ) [0].value;
	var belg	= ( document.getElementsByName ( 'postcode1' )[0].value.length == 4 && document.getElementsByName ( 'postcode2' )[0].value.length < 1 );
	
	var land	= ( belg ? 'be' : 'nl' );
	
	nr			= nr.replace ( /\(.*?0.*?\)/g, '' );
	nr			= nr.replace ( /[^+0-9]/g, '' );
	
	var patt	= '^(0|(00|\\+)' + cp [ land ] + ')[1-' + vs [ land ] + ']{1}[0-9]{' + cl [ land ] + '}$';	
	var valid	= nr.match ( patt );
	
	if ( !valid ) errors['telefoon'] = 1;
}

function checkGetal(elementName) {
	var obj = document.getElementsByName(elementName)[0];
	var tempValue = obj.value;
	if (!tempValue.match(/^\s*([0-9,\.]*)\s*$/)) errors[elementName] = 1;
}

/*
function checkRekening_nummer(elementName) {
	var obj = document.getElementsByName(elementName)[0];
	var tempValue = obj.value;
	if (tempValue.length < 1) return true;
	var lengte = tempValue.length;
	if (lengte == 9 ) {
		var berekening = 0;
		while (lengte > 0) {
			berekening += lengte*tempValue.substr((9-lengte),1);
			lengte--;
		}
		if (berekening % 11 != 0) errors[elementName] = 1;
	} else if (lengte < 7 || lengte > 9) {
		errors[elementName] = 1;
	}
}
*/

function checkRekening_nummer(elementName) {
	var obj			= document.getElementsByName ( elementName ) [ 0 ];
	var tempValue	= obj.value;
	var belg		= ( document.getElementsByName ( 'postcode1' )[ 0 ].value.length == 4 && document.getElementsByName ( 'postcode2' )[ 0 ].value.length < 1 );
	
	if ( tempValue.length < 1 )
		return true;
	
	if ( belg ) {
		checkRekening_nummer_BE ( elementName );
		return true;
	}
	else {
		var lengte = tempValue.length;
		
		if (lengte == 9 ) {
			var berekening = 0;
			while (lengte > 0) {
				berekening += lengte*tempValue.substr((9-lengte),1);
				lengte--;
			}
			if (berekening % 11 != 0) errors[elementName] = 1;
		} else if (lengte < 4 || lengte > 9) {
			errors[elementName] = 1;
		}
	}
	
	return true;
}

function checkRekening_nummer_BE ( elementName ) {
	var obj			= document.getElementsByName ( elementName ) [ 0 ];
	var tempValue	= obj.value;
	tempValue		= tempValue.replace ( /[^+0-9]/g, "" );
	
	var checkNr		= tempValue.substr ( 10 );
	tempValue		= tempValue.substring ( 0, 10 );
	
	if ( tempValue.length < 1 )
		return true;
	
	var calc		= tempValue - 97 * Math.floor ( tempValue / 97 );
	
	if ( calc != checkNr ) {
		errors [ elementName ] = 1;
		return false;
	}
	
	return true;
}

function checkBulletsVerplicht(elementName) {
	var checked;
	for (var i = document.getElementsByName(elementName).length; i >= 0; i--) {
		if (document.getElementsByName(elementName)[i]) if (document.getElementsByName(elementName)[i].checked) checked = 1;
	}
	if (!checked) errors[elementName] = 1;
}

function checkBullets(elementName) {

}

function checkCheckbox(elementName) {

}
function checkRegular_exp(elementName,regExp) {
	var tempValue = document.getElementsByName(elementName)[0];
	var regexp = new RegExp(regExp);
	if (!tempValue.match(regexp)) errors[elementName] = 1;
}
function checkKeuzemenu(elementName) {

}

function checkKeuzemenuZonderLeeg(elementName) {

}

function initSubmit() {
	errors = new Array;

}

function finishSubmit() {
	var stop = 0;
	for (var i = elements.length; i >= 0; i--) {
		if (elements[i]) {
			if (document.getElementById('field_'+elements[i])) {
				if (errors[elements[i]]) {
					stop = 1;
					document.getElementById('field_'+elements[i]).style.color ='#FF3333';
				} else document.getElementById('field_'+elements[i]).style.color = '#'+fontColor;
			}
		}
	}
	if (stop == 1) {
		alert('U heeft de met rood gemarkeerde velden niet (correct) ingevuld!');
		return false;
	} else {
		finishScript();
	}
}

function popup(url,page,extra) {
	if (extra) window.open(url,page,extra);
	else window.open(url,page);
	return false;
}
function submitScript() {
initSubmit();
checkDataLength('donatie');
checkKeuzemenu('donatie');
checkVoorletter('voorletter,geslacht');
checkTussenvoegsel('tussenvoegsel');
checkDataLength('achternaam');
checkText('achternaam');
checkDataLength('straat');
checkText('straat');
checkHuisnummer('huisnummer');
checkPostcode('postcode1');
checkDataLength('plaats');
checkText('plaats');
checkTelefoon('telabbo,tel');
checkGetalwhite('mobiel');
checkGeboortedatum('dag,maand,jaar');
checkDataLength('email');
checkEmail('email');
checkNorm_text('tekst');
checkDataLength('rekeningnummer');
checkRekening_nummer('rekeningnummer');
checkBelg();
var stopReturn = 0;
if (stopReturn == '1') return false;
 else return finishSubmit();
}

function extraScript() {

}


function finishScript() {

}




