function MM_preloadImages() { //v3.0
  window.status="Gereed";
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
  window.status="Gereed";
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  window.status="Gereed";
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_swapImgRestore() { //v3.0
  window.status="Gereed";
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}


function wisselImage( n ) {
	if(n == 1) {
		var x = '<img src="templates/images/upload/astrid.jpg" />';
	} 
	
	if(n == 2) {
		var x = '<img src="templates/images/upload/feiko.jpg" />';
	} 
	
	if(n == 3) {
		var x = '<img src="templates/images/upload/drie.jpg" />';
	} 
	
	if(n == 4) {
		var x = '<img src="templates/images/upload/jan.jpg" />';
	} 
	
	if(n == 5) {
		var x = '<img src="templates/images/upload/fokke.jpg" />';
	} 
	
	if(n == 6) {
		var x = '<img src="templates/images/upload/zes.jpg" />';
	}
	
	return x;
}

var formValidationMasks = new Array();
formValidationMasks['email'] 	= /\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/gi;// Email
formValidationMasks['numeric'] 	= /^[0-9]+$/gi;									// Numeric
formValidationMasks['postcode'] = /^[0-9]{4}[A-Z]{2}$/gi;						// 1234AB

var formElementArray = new Array();
function addEvent( obj, type, fn ) { 
  if ( obj.attachEvent ) { 
    obj['e'+type+fn] = fn; 
    obj[type+fn] = function(){obj['e'+type+fn]( window.event );} 
    obj.attachEvent( 'on'+type, obj[type+fn] ); 
  } else 
    obj.addEventListener( type, fn, false ); 
} 
function removeEvent( obj, type, fn ) { 
  if ( obj.detachEvent ) { 
    obj.detachEvent( 'on'+type, obj[type+fn] ); 
    obj[type+fn] = null; 
  } else 
    obj.removeEventListener( type, fn, false ); 
} 

function validateInput(e,inputObj)
{
	if(!inputObj)inputObj = this;		
	var inputValidates = true;
	
	if(formElementArray[inputObj.name]['required'] && inputObj.tagName=='INPUT' && inputObj.value.length==0)inputValidates = false;
	if(formElementArray[inputObj.name]['required'] && inputObj.tagName=='SELECT' && inputObj.value.length==0){
		inputValidates = false;
	}
		if(formElementArray[inputObj.name]['mask'] && !inputObj.value.match(formValidationMasks[formElementArray[inputObj.name]['mask']]))inputValidates = false;
	
		if(formElementArray[inputObj.name]['freemask']){
			var tmpMask = formElementArray[inputObj.name]['freemask'];
			tmpMask = tmpMask.replace(/-/g,'\\-');
			tmpMask = tmpMask.replace(/S/g,'[A-Z]');
			tmpMask = tmpMask.replace(/N/g,'[0-9]');
			tmpMask = eval("/^" + tmpMask + "$/gi");
			if(!inputObj.value.match(tmpMask))inputValidates = false
		}	
		
		if(formElementArray[inputObj.name]['regexpPattern']){
			var tmpMask = eval(formElementArray[inputObj.name]['regexpPattern']);
			if(!inputObj.value.match(tmpMask))inputValidates = false
		}
	if(!formElementArray[inputObj.name]['required'] && inputObj.value.length==0 && inputObj.tagName=='INPUT')inputValidates = true;
	
	
	if(inputValidates){
		inputObj.parentNode.className='validInput';
	}else{
		inputObj.parentNode.className='invalidInput'
	}
}

function isFormValid()
{
	var wrong = false;
	var divs = document.getElementsByTagName('SPAN');
	for(var no=0;no<divs.length;no++)
	{
		if(divs[no].className=='invalidInput' || divs[no].className=='invalidInputRed')
		{
			wrong = true;
			divs[no].className = 'invalidInputRed';
		}
	}

	if (wrong) 
		{
			return false;
		} 
		else 
		{
			return true;
		}
}

function initFormValidation()
{
	var inputFields = document.getElementsByTagName('INPUT');
	var selectBoxes = document.getElementsByTagName('SELECT');
	var inputs = new Array();
	for(var no=0;no<inputFields.length;no++){
		inputs[inputs.length] = inputFields[no];
	}	

	for(var no=0;no<selectBoxes.length;no++){
		inputs[inputs.length] = selectBoxes[no];
	}
	
	for(var no=0;no<inputs.length;no++){
		// alert(inputs[no].type);
		var className = inputs[no].parentNode.className;
		var required = inputs[no].getAttribute('required');
		var inputEmpty = inputs[no].getAttribute('notrequired');
		if(!required){
			required = inputs[no].required;		
		}
		if(!required)
			{
				if(inputEmpty)
				{
					var div = document.createElement('SPAN');
					div.className = 'inputEmpty';
					inputs[no].parentNode.insertBefore(div,inputs[no]);
					div.appendChild(inputs[no]);
					div.style.width = inputs[no].offsetWidth + 'px';
				}
				continue;
			}
		
		if(className && className.indexOf('validInput')>=0)continue;			
		
			var mask = inputs[no].getAttribute('mask');
			if(!mask)mask = inputs[no].mask;
			
			var freemask = inputs[no].getAttribute('freemask');
			if(!freemask)freemask = inputs[no].freemask;
			
			var regexpPattern = inputs[no].getAttribute('regexpPattern');
			if(!regexpPattern)regexpPattern = inputs[no].regexpPattern;
		
		var div = document.createElement('SPAN');
		div.className = 'invalidInput';
		inputs[no].parentNode.insertBefore(div,inputs[no]);
		div.appendChild(inputs[no]);
		div.style.width = inputs[no].offsetWidth + 'px';
		
		addEvent(inputs[no],'blur',validateInput);
		addEvent(inputs[no],'change',validateInput);
		addEvent(inputs[no],'paste',validateInput);
		addEvent(inputs[no],'keyup',validateInput);
		
		formElementArray[inputs[no].name] = new Array();
		formElementArray[inputs[no].name]['mask'] = mask;
		formElementArray[inputs[no].name]['freemask'] = freemask;
		formElementArray[inputs[no].name]['required'] = required;
		formElementArray[inputs[no].name]['regexpPattern'] = regexpPattern;

		validateInput(false,inputs[no]);
	}	
}
window.onload = initFormValidation;