

function toggleHide(objectVeld){
  var tak   = document.getElementById(objectVeld);
  tak.style.visibility = "hidden";
  tak.style.height = "10px";
}


function toggleShow(objectVeld){
  var tak   = document.getElementById(objectVeld);
   tak.style.visibility = "visible";
   tak.style.height = "100%";
}

function toggle(objectVeld){
  var tak   = document.getElementById(objectVeld);

  if (tak.style.visibility == "visible"){
    tak.style.visibility = "hidden";
    tak.style.height = "0px";
  }
  else{
    tak.style.visibility = "visible";
    tak.style.height = "100%";
  }
}

function maakCode(trackcode){

  use = trackcode.substring(trackcode.length-4);

  pin = use.charAt(3);
  pin = pin + use.charAt(2);
  pin = pin + use.charAt(1);
  pin = pin + use.charAt(0);

  return pin.toUpperCase();
}


/* CONTROLE VOOR CODE */
function controleerActiveerCode(objectVeld, trackcode, actionForm){
  pin = trackcode;
  var tak = document.getElementById(objectVeld);
  use = tak.value.toLowerCase();
  pinlength = use.length;
  if (pin!="" || pinlength >= 1) {
   var doe  = document.getElementById('sendnote');
   doe.action=actionForm;
   doe.submit();   
  }
  else {
   alert ("De activeringscode is ongeldig.");
  }
}

/*
function controleerActiveerCode(objectVeld, trackcode, actionForm){
  pin = trackcode;

  var tak = document.getElementById(objectVeld);
  use = tak.value.toLowerCase();  
  if (pin==use) {
   var doe  = document.getElementById('sendnote');
   doe.action=actionForm;
   doe.submit();   
  }
  else {
   alert ("De activeringscode is ongeldig.");
  }
}
*/

function verwijderAantal(objectVeld)
{
  var tak   = document.getElementById(objectVeld);
 
 //alert(tak); 
 tak.value = 0;

}




//FNL::blo, juni 2005
function controleerEmail( objectVeld)
{
  // at = objectVeld.value.indexOf("@")

 var myEMailIsValid = true;
 var myAtSymbolAt = objectVeld.value.indexOf('@');
 var myLastDotAt = objectVeld.value.lastIndexOf('.');
 var mySpaceAt = objectVeld.value.indexOf(' ');
 var myLength = objectVeld.value.length;


// at least one @ must be present and not before position 2
// @yellow.com : NOT valid
// x@yellow.com : VALID

if (myAtSymbolAt < 1 )
 {myEMailIsValid = false}


// at least one . (dot) afer the @ is required
// x@yellow : NOT valid
// x.y@yellow : NOT valid
// x@yellow.org : VALID

if (myLastDotAt < myAtSymbolAt)
 {myEMailIsValid = false}

// at least two characters [com, uk, fr, ...] must occur after the last . (dot)
// x.y@yellow. : NOT valid
// x.y@yellow.a : NOT valid
// x.y@yellow.ca : VALID

if (myLength - myLastDotAt <= 2)
 {myEMailIsValid = false}


// no empty space " " is permitted (one may trim the email)
// x.y@yell ow.com : NOT valid

if (mySpaceAt != -1)
 {myEMailIsValid = false}

 return myEMailIsValid;

}


function isNummer(objectVeld){
  intNummer = parseInt(objectVeld.value);

  if (isNaN(intNummer)==true) return false;
  if (intNummer <=0 ) return false;

  return true;
}

function isLeeg(objectVeld){
  intLengte = objectVeld.value.length;

  if (intLengte>0) return false;
  else return true;
}



//FNL::blo, juni 2005
function elfProof( objectVeld){
  intNummer = parseInt(objectVeld.value);

  if (isNaN(intNummer)==true) return false;
  if (intNummer <=0 ) return false;

  intLengte = objectVeld.value.length;

  if (intLengte != 9) return false;
  // init nummers!
  intMultiplier = 9;  
  intDigit      = 0;
  intSum        = 0;

  for (n = 0; n < intLengte; n++){
    intDigit = parseInt( objectVeld.value.substr(n,1));     
    intSum += ( ( intMultiplier--) * intDigit);  
  }

  var int2 = Math.floor(intSum/11);
  if ( ( intSum - (11 * int2)) == 0)  return true;
  else return false;
 
  return true;
}

function controleerRekening( objectVeld){
  booleanReturn = false;
  string = objectVeld.value.toLowerCase();
  lengte = objectVeld.value.length;
 
  if(string=='factuur'){
    booleanReturn = true;
  }
  else{ 
    if (isNummer(objectVeld)){
       
      if(lengte>=3 && lengte<=7){booleanReturn=true;}
      else if (lengte==9) booleanReturn = elfProof(objectVeld);     
     }

  }
  return booleanReturn;
}// End Function




function controleerVoorwaarden(checkbox){
  if (checkbox.checked==false) return false;
  else return true;
}

function controleerLand(){
 var tak   = document.getElementById("registrationForm");
 alert(tak.person_land_select.value);
}


//FNL::blo 2006
function controleerFormulier(typeControle, actionForm, trackcode){

 var tak   = document.getElementById("registrationForm");
 //  tak = document.formAbonneer; // DOM tree -> branch

  stringBericht  = "De volgende veld(en) zijn niet juist ingevuld:\n";
  bFout          = false;

  booleanVoorletters = isLeeg(tak.persoon_voorletters);
  if (booleanVoorletters){
    stringBericht += "voorletters : Geef een voorletter op.\n";
    bFout= true;
  }

  booleanAchternaam = isLeeg(tak.persoon_achternaam);
  if (booleanAchternaam){
    stringBericht += "achternaam : Geef een achternaam op.\n";
    bFout= true;
  }

  booleanAdres = isLeeg(tak.persoon_adres);
  if (booleanAdres){
    stringBericht += "adres : Geef een adres op.\n";
    bFout= true;
  }

  booleanPostcode = isLeeg(tak.persoon_postcode);
  if (booleanPostcode){
    stringBericht += "postcode : Geef een postcode op.\n";
    bFout= true;
  }

  booleanPlaats = isLeeg(tak.persoon_plaats);
  if (booleanPlaats){
    stringBericht += "plaats : Geef een plaats op.\n";
    bFout= true;
  }

  bEmail         =  controleerEmail(tak.email);
  if (!bEmail){  
    stringBericht += "e-mail : Geef een geldig e-mail adres op\n";
    bFout= true;
  }

  bRekening      = controleerRekening(tak.rekeningnummer);

  if (!bRekening){
    stringBericht+="rekeningnummer : Geef een geldig bank- of girorekeningnummer op of type in factuur.\n";
    bFout = true;
  }

 
 booleanVoorwaarden = controleerVoorwaarden(tak.voorwaarden)
 if (!booleanVoorwaarden){
     stringBericht+="abonnementsvoorwaarden : Je moet de abonnementsvoorwaarden accepteren, door het vakje aan te vinken.\n";
     bFout = true;
 }

 //toon alle wat nog ingevuld moet worden
if (bFout==true && typeControle==1)alert(stringBericht);

if (bFout==false){
    var doe   = document.getElementById("registrationForm");
    doe.action=actionForm;
    doe.submit();   
 }

 bFout=false;
}

function randomString() {
	var chars = "23456789ABCDEFGHJM23456789ABCDEFGHJMNPQRSTWTZ";
	var string_length = 4;
	var randomstring = '';
	for (var i=0; i<string_length; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		randomstring += chars.substring(rnum,rnum+1);
	}
	return  randomstring;
}


function toonVeld( objectVeld)
{
  veldWaarde = objectVeld.value;
}


function setTrack(trackcode)
{
 var tak   = document.getElementById("registrationForm");
  tak.state = trackcode;
}
