arrfields = new Array();


    // Test standaard op alle gegevens.


checkradio = false;

//-----------------------------------------------------------------------------

function AddFieldArray(name, type, descr)
{
	arrfields.length+=3;
	index = arrfields.length-1;
	arrfields[index] = descr;
	index = arrfields.length-2;
	arrfields[index] = type;
	index = arrfields.length-3;
	arrfields[index] = name;
}
//-----------------------------------------------------------------------------
function form_submit(form_name)
{
	if (validate(form_name))
		eval("document.forms['" + form_name + "']").submit();
}

//-----------------------------------------------------------------------------
function validate(form_name)
{

	//generateDate(document.forms[form_name].geboortedatum_dag.value, document.forms[form_name].geboortedatum_maand.value, document.forms[form_name].geboortedatum_jaar.value);

	//if (!document.userform.birth_month==undefined ){
		//document.userform.birthday.value=document.userform.birth_month.value +"/" + document.userform.birth_day.value +"/" + document.userform.birth_year.value;
	//}

	var missinginfo = "";
	var validated;
	var failer = null;


	for (var j = 0; j < arrfields.length ; j+=3)
	{
		for (var i = 0 ; i < eval("document.forms['"+form_name+"']").elements.length ; i++)
		{
			if (eval("document.forms['"+form_name+"']").elements[i].name == arrfields[j])
			{
				switch (arrfields[j+1])
				{
					case "isaradiobuttonselected":
						command = arrfields[j+1]+"(document.forms['"+form_name+"']."+arrfields[j]+")";
						break;
					case "ischecked":
					case "isemptymultiple":
						command = arrfields[j+1]+"('"+form_name+"','"+arrfields[j]+"')";
						break;
					case "checkage_blueray":

							if (document.club_wb_register.land[0].checked==true) {
								arrfields[j + 2] = document.club_wb_register.melding_nl_blueray.value;
							} else if (document.club_wb_register.land[1].checked==true) {
								arrfields[j + 2] = document.club_wb_register.melding_be_blueray.value;
							}
							command = "checkage('"+form_name+"','"+arrfields[j]+"')";


						break;
					case "checkage_wb":

							if (document.club_wb_register.land[0].checked==true) {
								arrfields[j + 2] = document.club_wb_register.melding_nl_wb.value;

							} else if (document.club_wb_register.land[1].checked==true) {
								arrfields[j + 2] = document.club_wb_register.melding_be_wb.value;
							}
							command = "checkage('"+form_name+"','"+arrfields[j]+"')";


						break;
					default:
						command = arrfields[j+1]+"(document.forms['"+form_name+"'].elements['"+i+"'])";
						break;
				}
				validated = eval(command);

				if (!validated)
				{
					missinginfo += "<li>"+arrfields[j + 2];
					el = eval("document.forms['"+form_name+"']").elements[i];
					elname = eval("document.forms['"+form_name+"']").elements[i].name;
					if ((elname=="birthday") ){
						document.getElementById('birth_day').className=" dob day error";
						document.getElementById('birth_month').className=" dob month error";
						document.getElementById('birth_year').className=" dob year error";
					}


					if (elname=="gender"){
							el2 =document.getElementById('gender_lady') ;
							el2.className = "fld_gender error";

							el1 =document.getElementById('gender_man');
							el1.className = "fld_gender error";
					}

					if (elname=="infomation_agreed1"){
							el2 =document.getElementById('infomation_agreed1_y') ;
							el2.className = "fld_gender error";

							el1 =document.getElementById('infomation_agreed1_n');
							el1.className = "fld_gender error";
					}

					if (elname=="infomation_agreed2"){
							el2 =document.getElementById('infomation_agreed2_y') ;
							el2.className = "fld_gender error";

							el1 =document.getElementById('infomation_agreed2_n');
							el1.className = "fld_gender error";
					}


					if (elname=="infomation_agreed3"){
							el2 =document.getElementById('infomation_agreed3_y') ;
							el2.className = "fld_gender error";

							el1 =document.getElementById('infomation_agreed3_n');
							el1.className = "fld_gender error";
					}


					$(el).removeClass('normalcolour');
					$(el).addClass('error');
					if (failer == null)
					{
						failer = eval("document.forms['"+form_name+"']").elements[i];
						if (failer.type == "text")
						{
							failer.focus();
							failer.select();
						}
						else
							failer = null;
					}
					break;
				}
				else
				{
					el = eval("document.forms['"+form_name+"']").elements[i];
					elname = eval("document.forms['"+form_name+"']").elements[i].name;
					if (elname=="gender"){
							el2 =document.getElementById('gender_lady') ;
							el2.className = "fld_gender normalcolour";

							el1 =document.getElementById('gender_man');
							el1.className = "fld_gender normalcolour";
					}
					if ((elname=="birthday") ){
						document.getElementById('birth_day').className=" dob day";
						document.getElementById('birth_month').className=" dob month";
						document.getElementById('birth_year').className=" dob year";
					}
					$(el).removeClass('error');
					$(el).addClass('normalcolour');
				}
			}
		}
	}



	if (missinginfo != "")
	{
		//missinginfo = _global_validate_message + "\n__________________________________________________________\n" + missinginfo + "\n__________________________________________________________\n";

		//alert(missinginfo);
		//document.getElementById('error_info').innerHTML = "<br/><table><tr><td valign=top width=15><img src='/images/uitroepteken.gif' border=0> </td><td><ul>"+missinginfo.replace("\n", "<br />")+"</ul></td></tr></table><br/>";
		document.getElementById('error_info').innerHTML ="<div class=\"errormes\">"+ _global_validate_message+"</div>";
		return false;
	}
	else
		return true;
}


//-----------------------------------------------------------------------------
var ToegestaanNum="0123456789";
var ToegestaanCap="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var ToegestaanPoint=".";
var ToegestaanSpecial=".-";
var ToegestaanSpace=" ";
var ToegestaanNonCAP="abcdefghijklmnopqrstuvwxyz";

var one_day=1000*60*60*24
var one_month=1000*60*60*24*30
var one_year=1000*60*60*24*30*12

function displayage(yr, mon, day, unit, decimal, round){
	today=new Date()
	var pastdate=new Date(yr, mon-1, day)

	var countunit=unit
	var decimals=decimal
	var rounding=round

	finalunit=(countunit=="days")? one_day : (countunit=="months")? one_month : one_year
	decimals=(decimals<=0)? 1 : decimals*10

	if (unit!="years"){
	if (rounding=="rounddown")
		document.write(Math.floor((today.getTime()-pastdate.getTime())/(finalunit)*decimals)/decimals+" "+countunit)
	else
		document.write(Math.ceil((today.getTime()-pastdate.getTime())/(finalunit)*decimals)/decimals+" "+countunit)
	}
	else{
		yearspast=today.getFullYear()-yr-1
		tail=(today.getMonth()>mon-1 || today.getMonth()==mon-1 && today.getDate()>=day)? 1 : 0
		pastdate.setFullYear(today.getFullYear())
		pastdate2=new Date(today.getFullYear()-1, mon-1, day)
		tail=(tail==1)? tail+Math.floor((today.getTime()-pastdate.getTime())/(finalunit)*decimals)/decimals : Math.floor((today.getTime()-pastdate2.getTime())/(finalunit)*decimals)/decimals
		return (yearspast+tail);
	}
}

//Sample usage
//displayage (year, month, day, unit, decimals, rounding)
//Unit can be "years", "months", or "days"
//Decimals specifies demical places to round to (ie: 2)
//Rounding can be "roundup" or "rounddown"

//displayage(1997, 11, 24, "years", 0, "rounddown")


function Age(dag,maand,jaar)
{
	var bday= dag;
	var bmo=maand;
	var byr= jaar;
	var age;
	var now = new Date();
	tday=now.getDate();
	tmo=(now.getMonth());
	tyr=(now.getFullYear());

	{
		if((tmo > bmo)||(tmo==bmo & tday>=bday))
		{age=byr}

		else
		{age=byr+1}
			return tyr-age;
	}
}

function checkAge(jaar,maand,dag, minAge)
{

	/* the minumum age you want to allow in */
	var min_age = parseInt(minAge);

	/* change "age_form" to whatever your form has for a name="..." */
	var year = parseInt(jaar);
	var month = parseInt(maand) - 1;
	var day = parseInt(dag);


	var theirDate = new Date((year + min_age), month, day);
	var today = new Date;

	if ( (today.getTime() - theirDate.getTime()) < 0) {
		return false;
	}
	else {
		return true;
	}
}

function checkage(formname, formelem)
{
	var field = eval("document.forms['"+formname+"']").elements[formelem];

	dag = eval("document.forms['"+formname+"'].geboortedatum_dag.value");
	maand = eval("document.forms['"+formname+"'].geboortedatum_maand.value");
	jaar = eval("document.forms['"+formname+"'].geboortedatum_jaar.value");

	if (document.club_wb_register.land[0].checked==true) {
		if ((field.checked==true) && (checkAge(jaar,maand,dag,16)==false)) {
			return false;
		} else {
			return true;
		}
	} else if (document.club_wb_register.land[1].checked==true) {
		if ((field.checked==true) && (checkAge(jaar,maand,dag,14)==false)) {
			return false;
		} else {
			return true;
		}
	} else {
		return true;
	}
}
//------------------------------------------------------------------------------
function isminimumaged (formelem)
{
	if (formelem.value != '')
	{
		d = new Date();
		fullYear = d.getFullYear();

		if ((fullYear - 16) < formelem.value)
			return false
	}
	return true;
}
//------------------------------------------------------------------------------
function isdateYMD(formelem)
{
	if (formelem.value != '')
	  return DatumOK(formelem.value, formelem, '', 'ymd');
	return true;
}
//------------------------------------------------------------------------------
/*
function isdate(formelem)
{
	if (formelem.value != '')
	  return DatumOK(formelem.value, formelem, '', 'dmy');
	return true;
}*/
//-----------------------------------------------------------------------------
function isvalidweek(formelem)
{
	if (formelem.value != '')
		return (isinteger(formelem) && formelem.value > 0 && formelem.value < 54);
	return true;
}
//-----------------------------------------------------------------------------
function isvalidyear(formelem)
{
	if (formelem.value != '')
		return (isinteger(formelem) && formelem.value > 1901 && formelem.value < 2038);
	return true;
}
//------------------------------------------------------------------------------
function isphonenr(formelem) // kan nog wat uitgebreid worden...
{
	return ((formelem.value.length >= 10) || (formelem.value.length == 0))
}
//------------------------------------------------------------------------------
function isempty(formelem)
{
	return (formelem.value != '');
}
//------------------------------------------------------------------------------
function isselected(formelem)
{
	return (formelem.selectedIndex != 0);
}
//------------------------------------------------------------------------------
function isemptymultiple(formname, formelem)
{
	var field = eval("document.forms['"+formname+"']").elements[formelem];

	for (i = 0; i < field.length; i++)
	{
		if(field.options[i].selected == true && field.options[i].value != '')
			return true;
	}
	return false;
}
//------------------------------------------------------------------------------
function isaradiobuttonselected(formelem)
{
	var breturn = 0;
	for (var i=0; i<formelem.length; i++)
		breturn |= formelem[i].checked;
	return breturn;
}
//------------------------------------------------------------------------------
function ispostcode(formelem)
{
	if (formelem.value != '')
	{
		if(formelem.value.length == 6)
		{
		return (
			ControlChar(ToegestaanNum,formelem.value.charAt(0)) &&
			ControlChar(ToegestaanNum,formelem.value.charAt(1)) &&
			ControlChar(ToegestaanNum,formelem.value.charAt(2)) &&
			ControlChar(ToegestaanNum,formelem.value.charAt(3)) &&

			(ControlChar(ToegestaanCap,formelem.value.charAt(4)) || ControlChar(ToegestaanNonCAP,formelem.value.charAt(4)) || ControlChar(ToegestaanSpace,formelem.value.charAt(4)))  &&
			(ControlChar(ToegestaanCap,formelem.value.charAt(5)) || ControlChar(ToegestaanNonCAP,formelem.value.charAt(5)))
			);
		}
		else if(formelem.value.length == 7)
		{
			return (
			ControlChar(ToegestaanNum,formelem.value.charAt(0)) &&
			ControlChar(ToegestaanNum,formelem.value.charAt(1)) &&
			ControlChar(ToegestaanNum,formelem.value.charAt(2)) &&
			ControlChar(ToegestaanNum,formelem.value.charAt(3)) &&
			ControlChar(ToegestaanSpace,formelem.value.charAt(4)) &&
			(ControlChar(ToegestaanCap,formelem.value.charAt(5)) || ControlChar(ToegestaanNonCAP,formelem.value.charAt(5)) || ControlChar(ToegestaanSpace,formelem.value.charAt(4)))  &&
			(ControlChar(ToegestaanCap,formelem.value.charAt(6)) || ControlChar(ToegestaanNonCAP,formelem.value.charAt(6)))
			);
		}
	}
	return true;
}
//-----------------------------------------------------------------------------
function isnumber(formelem)
{
	if (formelem.value != '')
		return ControlString(ToegestaanNum,formelem.value);
	return true;
}
function isnumber_noEmpty(formelem)
{
	if (formelem.value != '')
		return ControlString(ToegestaanNum,formelem.value);
	else
		return false;
	return true;
}
function isnumber_length4(formelem){
	//if (formelem.value != ''){
		if(formelem.value.length < 4)
			return false;
		else if (formelem.value != '')
			return ControlString(ToegestaanNum,formelem.value);
		else
			return false;
	//}
	return true;
}

function noEmpty_length(formelem)
{
	if(formelem.value.length < 4)
		return false;
	else if (formelem.value == '')
		return false;	
	return true;
}


function isnumber_noEmpty_length(formelem)
{
	if(formelem.value.length < 4)
		return false;
	else if (formelem.value != '')
		return ControlString(ToegestaanNum,formelem.value);
	else
		return false;
	return true;
}
//------------------------------------------------------------------------------
function isalfanumeriek(formelem)
{
	if (formelem.value != '')
		return ControlString(ToegestaanNum + ToegestaanCap + ToegestaanNonCAP  + ToegestaanSpace,formelem.value);
	return true;
}
function isalfaSpecial(formelem)
{
	if (formelem.value != '')
		return ControlString(ToegestaanCap + ToegestaanNonCAP + ToegestaanSpace + ToegestaanSpecial,formelem.value);
	return true;
}

function isalfaSpecial_noEmpty(formelem)
{
	if (formelem.value != '')
		return ControlString(ToegestaanCap + ToegestaanNonCAP + ToegestaanSpace + ToegestaanSpecial,formelem.value);
	else
		return false
	return true;
}

function isalfa(formelem)
{
	if (formelem.value != '')
		return ControlString(ToegestaanCap  + ToegestaanSpace + ToegestaanNonCAP ,formelem.value);
	return true;
}

function isalfa_noEmpty(formelem)
{
	if (formelem.value != '')
		return ControlString(ToegestaanCap  + ToegestaanSpace + ToegestaanNonCAP ,formelem.value);
	else
		return false
	return true;
}

function isalfa_noEmpty_length(formelem)
{
	if (formelem.value.length < 2)
		return false
	else if (formelem.value != '')
		return ControlString(ToegestaanCap + ToegestaanNonCAP ,formelem.value);
	else
		return false
	return true;
}

function isalfa_length2(formelem)
{
	if (formelem.value != ''){
		if (formelem.value.length < 2)
			return false
		else if (formelem.value != '')
			return ControlString(ToegestaanCap + ToegestaanNonCAP ,formelem.value);
		else
			return false
	}
	return true;
}

//------------------------------------------------------------------------------
function isvalidemail(formelem)
{
	if (formelem.value != '' && checkEmail(formelem.value) != 1)
		return false;
	return true;
}

function isvalidemail_noEmpty(formelem)
{
	if (formelem.value != '' && checkEmail(formelem.value) != 1)
		return false;
	if (formelem.value == '')
		return false;
	return true;
}

//------------------------------------------------------------------------------
function ischecked(formname, formelem)
{
	var field = eval("document.forms['"+formname+"']").elements[formelem];

	if (field.length > 0)
	{
		for (i=0; i<field.length; i++)
		{
			if (field[i].checked)
				return true;
		}
		return false;
	}
	else
		 return field.checked;
}
//-----------------------------------------------------------------------------
function isbankrekeningnummer(formelem)
{
	if (formelem.value == '')
		return true;

	if (ControlString(ToegestaanNum,formelem.value))
		if (((parseInt(formelem.value.substring(0,1)) * 9) + (parseInt(formelem.value.substring(1,2)) * 8) + (parseInt(formelem.value.substring(2,3)) * 7) + (parseInt(formelem.value.substring(3,4)) * 6) + (parseInt(formelem.value.substring(4,5)) * 5) + (parseInt(formelem.value.substring(5,6)) * 4) + (parseInt(formelem.value.substring(6,7)) * 3) + (parseInt(formelem.value.substring(7,8)) * 2) + parseInt(formelem.value.substring(8,9))) % 11 == 0)
			return true;
	return false;
}
//------------------------------------------------------------------------------
function isradioother(formelem)
{
	pos = formelem.name.indexOf('_other');
	name = formelem.name.substr(0, pos);
	fld = formelem.form.elements[name];

	for (var i=0; i<fld.length; i++)
	{
		if (fld[i].value == '_other' && fld[i].checked)
		{
			if (formelem.value == '')
				return false;
			else
				return true;
		}
	}
	return true;
}
//------------------------------------------------------------------------------
function ischeckother(formelem)
{
	pos = formelem.name.indexOf('_other');
	name = formelem.name.substr(0, pos) + '[]';
	fld = formelem.form.elements[name];

	for (i=0; i<fld.length; i++)
	{
		if (fld[i].value == '_other' && fld[i].checked)
		{
			if (formelem.value == '')
				return false;
			else
				return true;
		}
	}
	return true;
}
//------------------------------------------------------------------------------
function isselectother(formelem)
{
	pos = formelem.name.indexOf('_other');
	name = formelem.name.substr(0, pos);
	fld = formelem.form.elements[name];

	if (fld.options[fld.options.selectedIndex].value == '_other')
	{
		if (formelem.value == '')
			return false;
		else
			return true;
	}
	return true;
}
//------------------------------------------------------------------------------
function ControlString(toegestaan,invoer)
{
	for	(i=0; i<invoer.length; i++)
  {
		for	(ii=0; ii<toegestaan.length; ii++)
			if (invoer.charAt(i) == toegestaan.charAt(ii))
		 		break;
	  if (ii == toegestaan.length)
  		return false;
  }
  return true;
}
//------------------------------------------------------------------------------
function ControlChar(toegestaan,invoer)
{
	var toegestaneWaarden = toegestaan;
  var invoerKar         = invoer;
  var i;
  var resultaat=true;

   for ( i = 0; i < toegestaneWaarden.length; i++ )
       {  if (invoerKar == toegestaneWaarden.charAt( i ))
          break;
       }
  if (i  == toegestaneWaarden.length)
      resultaat = false;
  return resultaat;
}
//------------------------------------------------------------------------------
function DatumOK(invoer, iveld, veldnaam, formaat)
{
  var dag_maand=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
  var dag_maand_schrikkel=new Array(31,29,31,30,31,30,31,31,30,31,30,31);
  var datum_in=invoer;

  var dagc='';
  var maandc='';
  var jaarc='';

  var IsSchrikkel=false;
  var maxdagmaand=0;

  if (datum_in.length!=10)
	  return false;

	switch (formaat)
	{
		case 'ymd':
			// Gaat nu uit van het formaat yyyy-mm-dd (ISO-8601)
		  for (i=0; i<10; i++)
		  {
				aChar = datum_in.charAt(i);
		    if(!ControlChar(ToegestaanNum,aChar))
					if (!(aChar=="-" && ((i==4) || (i==7))))
		      	return false;
		  }

		  for (i = 0; i < 4; i++)
		  {
				aChar = datum_in.charAt(i)
				jaarc=jaarc+aChar
		  }

		  for (i = 5; i < 7; i++)
		  {
		    aChar = datum_in.charAt(i)
		    maandc=maandc+aChar
		  }

		  for (i = 8; i < 10; i++)
		  {
		    aChar = datum_in.charAt(i)
		    dagc=dagc+aChar
		  }
		  break;

		case 'dmy':
			// Gaat nu uit van het formaat dd-mm-yyyy
		  for (i=0; i<10; i++)
		  {
				aChar = datum_in.charAt(i);
		    if(!ControlChar(ToegestaanNum,aChar))
					if (!(aChar=="-" && ((i==2) || (i==5))))
		      	return false;
		  }

		  for (i = 6; i < 10; i++)
		  {
				aChar = datum_in.charAt(i)
				jaarc=jaarc+aChar
		  }

		  for (i = 3; i < 5; i++)
		  {
		    aChar = datum_in.charAt(i)
		    maandc=maandc+aChar
		  }

		  for (i = 0; i < 2; i++)
		  {
		    aChar = datum_in.charAt(i)
		    dagc=dagc+aChar
		  }
		  break;
	}

  var dagn=parseInt(dagc,10);
  var maandn=parseInt(maandc,10);
  var jaarn=parseInt(jaarc,10);

  if ((maandn > 12) || (maandn < 1))
	  return false;

  if ((jaarn % 4 == 0) || (jaarn % 400 ==0))
    IsSchrikkel=true;

  if (IsSchrikkel)
     maxdagmaand=dag_maand_schrikkel[maandn-1 ];
  else
     maxdagmaand=dag_maand[maandn-1];

  if ((dagn < 1) || (dagn > maxdagmaand))
  {
		if ((!IsSchrikkel) && (maandn==2) && (dagn==29))
	  {
	    return false;
	  }
  	else
		{
	    return false;
	  }
  }
  return true;
}
//------------------------------------------------------------------------------
function checkChars (s, i, l) {
		 while (i < l && ("_-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789").indexOf(s.charAt(i)) != -1){
		 		 i++;
		 }
		 return i;
}
//------------------------------------------------------------------------------
function checkFirstLevelDomainChars (s, i, l) {
		 while (i < l && ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ").indexOf(s.charAt(i)) != -1) {
		 		 i++;
		 }
		 return (i == l);
}
//------------------------------------------------------------------------------
function checkEmail (e) {
		 var i, j, l = e.length;
		 var foundPoint = false;

		 // every email starts with a string
		 if ((i=checkChars(e, 0, l)) == 0) {
		 		 return -1;
		 }
		 //init j
		 j=i;

		 // followed by an arbitrary number of ("." string) combinations
		 while (i < l && e.charAt(i) == ".") {
		 		 // skip the point
		 		 i++;
		 		 // if there are no chars, we have an error
		 		 if ((j=checkChars(e, i, l)) == i) {
		 		 		 return -2;
		 		 }
		 		 // else skip the chars
		 		 i = j;
		 }
		 // then follows the magic @
		 if (e.charAt(i) != "@"){
		 		 return -3;
		 }

		 // followed by minimum one string point string
		 // after the last point minimum 2 characters are allowed

		 do {
		 		 // skip the @ (j == i at the beginning, so it is like i++)
		 		 i = j+1;
		 		 // do we have more chars ?
		 		 j = checkChars(e, i, l);
		 		 if (j == i) {
		 		 		 // no more chars found -> error
		 		 		 return -4;
		 		 } else if (j == e.length) {
		 		 		 // emailaddress is finished, do we have a first level domain ?
		 		 		 j -= i;
		 		 		 // we have one if it is at least 2 long and consists of the correct characters
		 		 		 if(foundPoint && j>=2 && checkFirstLevelDomainChars(e, i, l)){
		 		 		 		 return 1
		 		 		 } else {
		 		 		 		 return -5
		 		 		 }
		 		 }
		 		 // if we reach the end or don't have a point, we return an error
		 		 foundPoint = (e.charAt(j) == ".");
		 } while (i < l && foundPoint);
		 return -6;
}
//------------------------------------------------------------------------------
function isinteger(formelem)
{
	if (isnumeric(formelem, 'integer'))
		return true;
	else
		return false;
}
//-----------------------------------------------------------------------------

function issignedinteger(formelem)
{
	if (isnumeric(formelem, 'signedinteger'))
		return true;
	else
		return false;
}
//-----------------------------------------------------------------------------

function isdecimal(formelem)
{
	if (isnumeric(formelem, 'decimal'))
		return true;
	else
		return false;
}
//-----------------------------------------------------------------------------

function issigneddecimal(formelem)
{
	if (isnumeric(formelem, 'signeddecimal'))
		return true;
	else
		return false;
}
//-----------------------------------------------------------------------------

function isnumeric(formelem, type)
{
	valid_chars = "0123456789";

  if (arguments.length < 2)
		type = 'signeddecimal';
	switch (type)
	{
		case 'integer':
			break;
		case 'signedinteger':
			valid_chars += "+-";
			break;
		case 'decimal':
			valid_chars += ".";
			break;
		case 'signeddecimal':
			valid_chars += "+-.";
			break;
	}

	//alle voor- en achterliggende spaties verwijderen en komma's vervangen door een punt.
	formelem.value = fo_trim(formelem.value);
	formelem.value = formelem.value.replace(/,/gi, '.');

	// controleren op ongeldige tekens; er mag max 1 punt voorkomen.
	// er mag max 1 plus of minteken voorkomen en dan alleen op eerste positie.
	i = 0;
	len = formelem.value.length;
	str = formelem.value;
	cnt_point = 0;
	pos_plus = 0;
	pos_min = 0;
	while (i < len && valid_chars.indexOf(str.charAt(i)) != -1)
	{
		switch (str.charAt(i))
		{
		case '.':
			cnt_point++;
			break;
		case '+':
			pos_plus += i;
			break;
		case '-':
			pos_min += i;
			break;
		}
		i++;
	}
//	alert(i + ' ^ ' + len + ' ^ ' + cnt_point + ' ^ ' + pos_plus + ' ^ ' + pos_min);
	if (i < len || cnt_point > 1 || pos_plus > 0 || pos_min > 0)
		return false;
	else
		return true;
}
//------------------------------------------------------------------------------
function fo_trim(strTextvar)
{
	if (strTextvar == null) return strTextvar;

	var strText = new String("")
	strText = strTextvar; //needed for NN

	// this will get rid of leading spaces
	while (strText.substring(0,1) == ' ')
		strText = strText.substring(1, strText.length);

	// this will get rid of trailing spaces
	while (strText.substring(strText.length-1,strText.length) == ' ')
		strText = strText.substring(0, strText.length-1);

	return strText;
}
//------------------------------------------------------------------------------
// Functie om datum op basis van 3 velden samen te voegen.
function generateDate(day, month, year)
{
	document.forms['club_wb_register'].geboortedatum_all.value = day + '-' + month + '-' + year;
}

function datecompare(year, month, day){
	var myDate=new Date();
	myDate.setFullYear(year,(month-1),day);
	
	var today = new Date();
	
	if (myDate>=today)
	{
 		return true;
	}
	else
	{
	 	return false;
	}
}

function isDateCompare(input){
	var validformat=/^\d{2}\/\d{2}\/\d{4}$/ //Basic check for format validity
	var returnval=false

	if (!validformat.test(input.value)){
		return false;
	}else{ //Detailed check for valid date ranges
		var monthfield=input.value.split("/")[0]
		var dayfield=input.value.split("/")[1]
		var yearfield=input.value.split("/")[2]
		var dayobj = new Date(yearfield, monthfield-1, dayfield)

		if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield)){
			return false
		}else {
			return datecompare(yearfield, monthfield, dayfield);
		}
		
		
	}
	if (returnval==false){
		return returnval
	}
	return true;
}


function isDate(input){
	var validformat=/^\d{2}\/\d{2}\/\d{4}$/ //Basic check for format validity
	var returnval=false

	if (!validformat.test(input.value)){
		return false;
	}else{ //Detailed check for valid date ranges
		var monthfield=input.value.split("/")[0]
		var dayfield=input.value.split("/")[1]
		var yearfield=input.value.split("/")[2]
		var dayobj = new Date(yearfield, monthfield-1, dayfield)

		if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield)){
			return false
		}else {
			returnval=true
		}	
		
	}
	if (returnval==false){
		return returnval
	}
	return true;
}
function get_check_value()
{
 	if (document.userform.newsletter_agreed1.checked)
    {
		document.userform.newsletter_agreed.value = 1;
	 }
}
