function enableSubmit( page )
{
    var frm = document.form1;
	if ( typeof frm != 'undefined' ) {
		frm.setAttribute( 'action', page );		
		var btnSubmit = document.getElementById( 'btnSubmit' );
		btnSubmit.disabled = false;
		
		frm.onsubmit = function() {
			var formOk = verifyForm( this );
			btnSubmit.disabled = formOk;
			return formOk;
		}
	}    
}



function verifyForm()
{
	var formFields = document.getElementsByTagName( 'INPUT' );
	if ( formFields.length == 0 ) {
		return;
	}
	
	var msg = '';
	var fieldValue, isEmpty, labelText, objLabel, fieldClass;
	
	for ( var i = 0; i < formFields.length; i++ ) {
		
		if ( formFields[i].getAttribute('type') != 'text' ) {
			continue;
		}
		fieldClass = formFields[i].className;
		if ( !fieldClass ) {
			continue;
		}
		
		// Paragraphs
		objLabel = formFields[i].parentNode.getElementsByTagName( 'LABEL' )[0];
		if ( !objLabel ) {
			// Table cells
			objLabel = formFields[i].parentNode.parentNode.getElementsByTagName( 'LABEL' )[0];
		}
		if ( !objLabel ) {
			continue;
		}
		
		labelText = objLabel.firstChild.nodeValue.replace( ':', '' );
		if ( !labelText ) {
			continue;
		}
		
		fieldValue = formFields[i].value;
		isEmpty    = ( formFields[i].value.length == 0 );
		
		if ( fieldClass.indexOf('required') != -1 && isEmpty ) {
			msg += "\n- " + labelText + ' ' + translate( 'is verplicht' );
		}
		
		if ( fieldClass.indexOf('phone') != -1 && !isEmpty && !validatePhone(fieldValue) ) {
			msg += "\n- " + labelText + ' ' + translate( 'is geen telefoonnummer' );
		}
		
		if ( fieldClass.indexOf('url') != -1 && !isEmpty && !validateUrl(fieldValue) ) {
			msg += "\n- " + labelText + ' ' + translate( 'is geen domeinnaam' );
		}
		
		if ( fieldClass.indexOf('mail') != -1 && !isEmpty && !validateEmail(fieldValue) ) {
			msg += "\n- " + labelText + ' ' + translate( 'is geen e-mail adres' );
		}
		
	}
	
	if ( msg ) {
		msg = translate( 'Het formulier is niet juist ingevuld:' ) + msg;
		alert( msg );
		return false;
	}
	
	return true;
}



function validateEmail( str )
{
	var pattern = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return pattern.test( str );
}



function validateUrl( str )
{
	var pattern = /^(www\.)?(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return pattern.test( str );
}



function validatePhone( str )
{
	var matches = str.match( /\d/g ); // 'g' = global (search entire string, don't stop at first reference)
	return ( matches && matches.length >= 7 );
}