// ajax-validatie formulieren
// [gebaseerd op script Chris Campbell, www.particletree.com]

var gShow;
var sUrl = 'formvalidation.php?validationtype=ajax';
var gErrors = 0;
var http = getHTTPObject();	

function attachFormHandlers() {
	if(!document.getElementById('aanmeldformulier')) {
		return false;
	}
	
	var aanmeldformulier = document.getElementById('aanmeldformulier');
	
	if (document.getElementsByTagName) {
		var objInput = aanmeldformulier.getElementsByTagName('input');
		var oInput;
		
		for (var iCounter=0; iCounter<objInput.length; iCounter++) {
			
			oInput = objInput[iCounter];
			
			if (oInput.type == 'text') { 
				oInput.onfocus = function() {	
					cleartext(this);
				}	
			
				oInput.onblur = function() {	
					fillemptytext(this);
					validateMe(this);
					//return validate();
				}
			}	
		}
	}	
	
	aanmeldformulier.onsubmit = function() {
		return validate();
	}
}

function validateMe(objInput) {

	sVal = objInput.value;
	sRules = objInput.className.split(' ');
	sRequired = sRules[1];
	sTypeCheck = sRules[2];
    gShow = sRules[3];
  
	http.open('GET', sUrl + '&val=' + (sVal) + '&sRequired=' + (sRequired) + '&sTypeCheck=' + sTypeCheck, true);
	http.onreadystatechange = handleHttpResponse;
	http.send(null);  
}

function handleHttpResponse() {
	if (http.readyState == 4) { 		
  		sResults = http.responseText.split(',');
    	document.getElementById(gShow).innerHTML = sResults[0];
  	}
}
	
function validate() {
	var spans = document.getElementById('aanmeldformulier').getElementsByTagName('span');

	for (i=0; i<spans.length; i++) {
		
		if (spans[i].className == 'rules') {
			
			if (spans[i].innerHTML.indexOf('accept') != -1 || spans[i].innerHTML == '' ) {
				spans[i].innerHTML = '<img src="beeld/accept.gif" alt="">';
			} else {
				gErrors = gErrors + 1;
				spans[i].innerHTML = '<img src="beeld/exclamation.gif" alt="">';
			}
		}
	}
		
	if (gErrors > 0) {
		gErrors = 0;
		return false;
	} 
	
	else return true;
}

function getHTTPObject() {
	var xmlhttp;
	/*@cc_on
	@if (@_jscript_version >= 5)
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		try 
		{
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
		xmlhttp = false;
		}
	}
	return xmlhttp;
}
