
var message = "";

function sendForm(iMinTeams)
{
	checktext(fschool,document.register.School,2,50);
	checktext(flocatie,document.register.Location,0,50);
	if(document.register.country) checkpull(fcountry,"country");
	checkpull(faanhef,"TeacherAdr");
	checktext(fdvoornaam,document.register.TeacherFirstName,2,50);
	checktext(fdtussenvoegsel,document.register.TeacherBetween,0,20);
	checktext(fdachternaam,document.register.TeacherLastName,2,80);
	checktext(fpadres,document.register.PostAddress,2,60);
	checkpost(fpostcode,document.register.PostZipcode);
	checktext(fpplaats,document.register.PostCity,2,40);
	checktext(ffkenmerk,document.register.FactKenmerk,0,255);
	checknumtext(ftelschool,document.register.PhoneSchool,1);
	checknumtext(ftelprive,document.register.PhonePrivate,0);
  checkemail(fmail1,document.register.Email1,document.register.EmailCheck1,true,100);
  checkemail(fmail2,document.register.Email2,document.register.EmailCheck2,false,100);
	
	if(hasInput(document.register.FactAddress)
	|| hasInput(document.register.FactZipcode)
	|| hasInput(document.register.FactCity))
	{
		checktext(ffadres,document.register.FactAddress,2,60);
		checkpost(ffpostcode,document.register.FactZipcode);
		checktext(ffplaats,document.register.FactCity,2,40);
	}
	checkcode("",document.register.sCode,0,5);

	var iTeamAmountWHS = 0;
	var iTeamAmountWHB = 0;
	var iWereld = 0;
	
	for(i=1;i<=boxteller;i++) {
		n=eval("cbnum"+i);
		iWereld+=Number(checkWorld(eval("cbnum"+i), eval("cbnum"+i)));
		if(n.substr(0,3)=="WHS") {
			iTeamAmountWHS+=Number(checkbox(eval("cbnaam"+i), eval("cbnum"+i)));
		} else if(n.substr(0,3)=="WHB") {
			iTeamAmountWHB+=Number(checkbox(eval("cbnaam"+i), eval("cbnum"+i)));
		}
	}

	if(iMinTeams) {
		iTeamAmount=0;
		if(iTeamAmountWHS>=iMinTeams)iTeamAmount+=iTeamAmountWHS;
		if(iTeamAmountWHB>=iMinTeams)iTeamAmount+=iTeamAmountWHB;

		if(iTeamAmount < iMinTeams){
			message +=geenteam;
		} else {
			if((iTeamAmountWHS>0 && iTeamAmountWHS<iMinTeams) || (iTeamAmountWHB>0 && iTeamAmountWHB<iMinTeams)) message += team_01+" "+iMinTeams+" "+team_02;
		}
	}

	if(message)
	{
		window.alert(message);
		message = "";

		return false;
	}
}

function checkpost(sName, oField) {
	var bFault = false;

	switch(document.register.country.options[document.register.country.selectedIndex].value) {
		case "nl":
			iLength = 6;
			var filter =  /^[0-9]{4}[A-Za-z]{2}$/;
			if(!filter.test(oField.value))
				bFault = true;

		break;
		case "be":
			iLength = 4;
			var filter =  /^[0-9]{4}$/;
			if(!filter.test(oField.value))
				bFault = true;

		break;
		case "de":
			iLength = 5;

			var filter =  /^[0-9]{5}$/;
			if(!filter.test(oField.value))
				bFault = true;

		break;
		default:
			iLength = 1;
			var filter =  /^[a-zA-Z0-9\-]{1,}$/;
			if(!filter.test(oField.value))
				bFault = true;
		break;
	}
	
	if(oField.value) {
		oField.value=(oField.value).toUpperCase();
		if(oField.value.length < iLength) bFault = true;
		if(iLength>1 && oField.value.length > iLength) bFault = true;
	} else {
		bFault = true;
	}
	
	if(bFault) {
		message += field_01+" '"+sName+"' "+field_02+"\n";
	}
	return;
}

function checkpull(sText,sName)
{
	var box = eval("document.register."+sName);
	if(box)
	{
		var value = box.options[box.selectedIndex].value;

		if(!value || value == 0)
			message += pulldown_01+" "+sText+pulldown_02+"\n";
	}

	return;
}

function checktext(sName, oField, iMinLength, iMaxLength)
{
	if(!oField)
		return false;

	sValue = oField.value;

	if(sValue.length < iMinLength)
	{
		message += field_01+" '"+sName+"' "+field_02+"\n";
		return false;
	}

	if(iMaxLength && iMaxLength > 0)
	{
		if(sValue.length > iMaxLength)
		{
			message += field_03+" '"+sName+"' "+field_04+" (max. "+iMaxLength+").\n";
			return false;
		}
		
		if(sValue.length > iMinLength)
		{
			while(sValue.indexOf('"')!= -1) {
				sValue=sValue.replace('"',"'");
			}
			oField.value = sValue;
			var filter  = /^([a-zA-Z0-9_/ &#ÃÄäÀàÁáÂâÅåÆæÈèÊêÉéËëÌìÍíÏïÎîÑñŒœßŠšÜüÙùÚúŸÿÖöÒòÓóÔôÕõÇç \~\'\`\?\+\-\.,])+$/;	  
			if(!filter.test(sValue))
			{
				message +=field_01+" '"+sName+"' "+field_02+"\n";
				return false;
			}
		}
	}

	return true;
}

function checknumtext(sName,oField,mandat)
{
	if(!oField)
		return false;

	sValue = oField.value;
	
	switch(sLang)
  	{
    	case "nl":
			iMinLength = 10;
			iMaxLength = 10;
			break;
		case "be":
			iMinLength = 9;
			iMaxLength = 10;
			break;
		case "de":
			iMinLength = 7;
			iMaxLength = 0;
			break;
		default:
			iMinLength = 7;
			iMaxLength = 0;
			break;
	}
  if((sValue.length < iMinLength && mandat==1) ||(sValue.length!=0 && sValue.length < iMinLength && mandat==0))
  {
    message += field_01+" '"+sName+"' "+field_02+"\n";
    return false;
  }

  if(iMaxLength && iMaxLength > 0)
  {
    if(sValue.length > iMaxLength)
    {
      message += field_01+" '"+sName+"' "+field_02+"\n";
      return false;
    }
  }

	var filter = /^[0-9]+$/;
	if(iMinLength>0 && mandat!=0 && !filter.test(sValue))
	{
		message += field_01+" '"+sName+"' "+field_02+"\n";
		return false;
	} else if(mandat==0 && sValue.length>0 && !filter.test(sValue)) {
		message += field_01+" '"+sName+"' "+field_02+"\n";
		return false;
	}

	return true;
}

function checkcode(sName,oField,iMinLength,iMaxLength)
{
	if(!oField)
		return false;

	sValue = oField.value;
	

  if(sValue.length > iMinLength && sValue.length < iMaxLength)
  {
    message += fcode+"\n";
    return false;
  }

	var codefilter = /^[0-9a-zA-Z]+$/;
	if(sValue.length > iMinLength && !codefilter.test(sValue))
	{
		message += fcode+"\n";
		return false;
	}

	return true;
}

function checkbox(naam, boxNr)
{	
	if(eval("document.register.NrTeam"+boxNr))
	{
		var teams = eval("document.register.NrTeam"+boxNr).value;
		var books = eval("document.register.NrBook"+boxNr).value;

		if(isNaN(teams) || teams<0)
			teams = 0;
		if(isNaN(books) || books<0)
			books = 0;
		teams= Math.round(teams);
		books= Math.round(books);

		eval("document.register.NrTeam"+boxNr).value = teams;
		eval("document.register.NrBook"+boxNr).value = books;
	
		if(teams > 0)
		{
			if(books ==0)
				message = message +teams_01+" '"+naam+"' "+teams_02+"\n";
				
			if(books < (teams * 12))
				message = message +min_01+" '"+naam+"' "+min_02+" (< "+(teams * 12)+").\n"+min4+"\n";
		}
		else
			if(books>0)
				message = message +max_01+" '"+naam+"' "+max_02+"\n";
		return teams;
	}

	return 0;
}
function checkWorld(naam, boxNr)
{
	
	if(eval("document.register.NrTeam"+boxNr))
	{
		var teams = eval("document.register.NrTeam"+boxNr).value;

		if(isNaN(teams) || teams<0)
			teams = 0;
		teams= Math.round(teams);

		eval("document.register.NrTeam"+boxNr).value = teams;
	
		return teams;
	}

	return 0;
}


function checkemail(sName,oMail,oCheck,bMust,iMaxLength)
{
	if(!oMail)
		return false;

  if(!bMust && !oMail.value)
    return true;

  sValue = oMail.value;
  if(iMaxLength && iMaxLength > 0)
	{
		if(sValue.length > iMaxLength)
		{
			message += field_03+" '"+sName+"' "+field_04+" (max. "+iMaxLength+").\n";
			return false;
		}
	}

  var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  if(!filter.test(sValue))
  {
    message += field_01+" '"+sName+"' "+field_02+"\n";
    return false
  }

  if(sValue != oCheck.value)
  {
    message += controle_01+" '"+sName+"' "+controle_02+"\n";
    return false;
  }
}


function hasInput(oField)
{
	if(!oField)
		return false;

	if(!oField.value)
		return false;

	if(oField.value.length <= 0)
		return false;

	return true;
}

function checkemail2(naam,str) {
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)

	if (str.indexOf(at)==-1){
		message = message + field_01+" '"+naam+"' "+field_02+"\n";
	   return;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		message = message + field_01+" '"+naam+"' "+field_02+"\n";
		return;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		message = message + field_01+" '"+naam+"' "+field_02+"\n";
		return;
	}

	if (str.indexOf(at,(lat+1))!=-1){
		message = message + field_01+" '"+naam+"' "+field_02+"\n";
		return;
	}

	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		message = message + field_01+" '"+naam+"' "+field_02+"\n";
		return;
	}

	if (str.indexOf(dot,(lat+2))==-1){
		message = message + field_01+" '"+naam+"' "+field_02+"\n";
		return;
	}

	if (str.indexOf(" ")!=-1){
		message = message + field_01+" '"+naam+"' "+field_02+"\n";
		return;
	}
}


