/*
  Valideerscripts / Thomas van Noorden / DE REE Archiefsystemen 2001
*/

function isEmailAddr(email)
{
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}

function validRequired(formField,fieldLabel,minimumLengte)
{
	var result = true;
	
	if (formField.value == "")
	{
		alert('Vul aub ' + fieldLabel +' in.');
		formField.focus();
		result = false;
	}

	else if (formField.value.length < minimumLengte) {
		alert(fieldLabel+': vul minimaal '+minimumLengte+' tekens in.');
		formField.focus();
		result = false;
	}

	return result;
}

function validRadio (formField,fieldLabel)
{
	var result = true;
	var keuze = false;

	for (x=0; x<formField.length; x++)
		if (formField[x].checked) keuze = true;

	if (!keuze)
		{
			alert ('Selecteer aub ' + fieldLabel + '.');
			result = false;
		}
	return result;
}

function allDigits(str)
{
	return inValidCharSet(str,"0123456789");
}

function inValidCharSet(str,charset)
{
	var result = true;

	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)
		{
			result = false;
			break;
		}
	
	return result;
}

function validEmail(formField,fieldLabel,required)
{
	var result = true;
	
	if (required && !validRequired(formField,fieldLabel))
		result = false;

	if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
	{
		alert("Vul een juist emailadres in, bv. jouwnaam@domein.nl");
		formField.focus();
		result = false;
	}
   
  return result;

}

function validNum(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		if (!allDigits(formField.value))
 		{
 			alert('Vul aub alleen getallen in bij de datum');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}


function validInt(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		var num = parseInt(formField.value);
 		if (isNaN(num))
 		{
 			alert('Vul een juist telefoonnummer in "' + fieldLabel +'" field.');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}


function goSubmit()
{
  var theForm = document.forms[0];

  if (!validRequired(theForm.voornaam,"je voornaam"))
                return false;
  if (!validRequired(theForm.achternaam,"je achternaam"))
                return false;
  if (!validRequired(theForm.geslacht,"je geslacht"))
             return false;
  if (!validRequired(theForm.woonplaats,"je woonplaats"))
             return false;
  if (!validRequired(theForm.regio,"je regio"))
                return false;

  s = theForm.username.value;
  if (!s.match(/^([a-zA-Z0-9_\-]){5,15}$/g)) 
  {
    alert ('Je gebruikersnaam moet minimaal 5 en maximaal 15 tekens lang zijn. Toegestane tekens zijn: letters, cijfers en de tekens _ en -.');
    theForm.username.focus();
    return false;  
  }


  if (!validEmail(theForm.emailadres,"je emailadres",true))
    return false;

  if (!validNum(theForm.d1,"je geboortedatum",true))
    return false;

  if (!validNum(theForm.d2,"je geboortedatum",true))
    return false;

  if (!validNum(theForm.d3,"je geboortedatum",true))
    return false;

 	if (!(theForm.elements["disclaimer"].checked))
  	return false;

  showPopWin('/inc/loading.html', 80, 80, false);

  function lastStep()
  {
    theForm.submit();
    hidePopWin(true).hidePopWin();
  }

  function nextStep()
  {
    Xget('/profile/reg/xml/checkemail.php?emailadres='+theForm.emailadres.value, false, function(r){if (r){ alert(r); document.forms[0]['emailadres'].focus();  hidePopWin(true).hidePopWin(); return false;} else lastStep()}); 
  }
// klaar?
  Xget('/profile/reg/xml/checkuname.php?username='+theForm.username.value, false, function(r){if (r){ alert(r); document.forms[0]['username'].focus(); hidePopWin(true).hidePopWin(); return false;} else nextStep()});
}
