var validatiemessages = '';


function muisover(me) {
// *****************************************************************************
// * Omschrijving : Mouse over plaatjes
// * Auteur       : Dennie Prins
// * Aangemaakt   : 26-2-2007 14:31
// *****************************************************************************
    muisout(me)
    if (me.src.indexOf('_a.gif') == -1) {
        me.src = me.src.replace('.gif','_o.gif');
    }
}

function muisout(me) {
// *****************************************************************************
// * Omschrijving : Mouse out plaatjes
// * Auteur       : Dennie Prins
// * Aangemaakt   : 26-2-2007 14:31
// *****************************************************************************
    me.src = me.src.replace('_o.gif','.gif');
}

function react(me) {
// *****************************************************************************
// * Omschrijving : Afhandeling van de onchance effectjes van de select boxjes
// * Auteur       : Dennie Prins
// * Aangemaakt   : 26-2-2007 14:32
// *****************************************************************************
      switch(me.name) {
        case 'branch' :
            if ((me.value != '') && (me.value != 0)) {
                // Alleen als er echt iets gekozen wordt.
                executeHTTPRequest('?id=HOGEROPSHOP_APP_FUNCTIETYPE&branch=' + me.value, function(s){branchhandlereturn(s)});
            } else {
                // Er is nu niets gekozen dus andere opties uitzetten.
                display('aanmeldfunctietype',false);
                display('aanmeldfunctie',false);
                display('aanmeldkwalificatie',false);
                display('aanmeldvolgende',false);
            }
        break;
        case 'functietype' :
            if ((me.value != '') && (me.value != 0)) {
                // Alleen als er echt iets gekozen wordt.
                executeHTTPRequest('?id=HOGEROPSHOP_APP_FUNCTIE&branch=' + document.getElementById("selbranch").value + '&functietype=' + me.value, function(s){functietypehandlereturn(s)});
            } else {
                // Er is nu niets gekozen dus andere opties uitzetten.
                display('aanmeldfunctie',false);
                display('aanmeldkwalificatie',false);
                display('aanmeldvolgende',false);
            }
        break;
        case 'functie' :
            if ((me.value != '') && (me.value != 0)) {
                // Alleen als er echt iets gekozen wordt.
                executeHTTPRequest('?id=HOGEROPSHOP_APP_KWALIFICATIE&branch=' + document.getElementById("selbranch").value + '&functietype=' + document.getElementById("selfunctietype").value + '&functie=' + me.value, function(s){functiehandlereturn(s)});
            } else {
                // Er is nu niets gekozen dus andere opties uitzetten.
                display('aanmeldkwalificatie',false);
                display('aanmeldvolgende',false);
            }
        break;
        case 'kwalificatie' :
            // Alles alles goed is volgende knop aan zetten.
            if ((me.value != '') && (me.value != 0)) {
                display('aanmeldvolgende',true);
            } else {
                display('aanmeldvolgende',false);
            }
        break;
        case 'informatieover' :
            if ((me.value != '') && (me.value != 0)) {
                // Alleen als er echt iets gekozen wordt.
                executeHTTPRequest('?id=HOGEROPSHOP_APP_INFORMATIEOVER&branch=' + me.value, function(s){informatieoverhandlereturn(s)});
            } else {
                informatieoverhandlereturn ('');
            }
        break;
        default :
            // Debug optie om select statement te debuggen.
            debug('Error: "' + me.name + '" is een onbekende keuze!');

   }
}

function branchhandlereturn(s) {
// *****************************************************************************
// * Omschrijving : De functie die aangeroepen word door executeHTTPRequest
// *                deze is specific bedoeld voor branch en zal functietype opties
// *                zichtbaar maken
// * Auteur       : Dennie Prins
// * Aangemaakt   : 26-2-2007 14:54
// *****************************************************************************
    var el = document.getElementById("selfunctietype")
    if (el) {
        parseInput(el, s);
        display('aanmeldbranch',true);
        display('aanmeldfunctietype',true);
        display('aanmeldfunctie',false);
        display('aanmeldkwalificatie',false);
        display('aanmeldvolgende',false);
        // Door kiezen als functietype 1 item bevatten dan kan functie aangeroepen worden
        if (el.options.length == 1) {
            executeHTTPRequest('?id=HOGEROPSHOP_APP_FUNCTIE&branch=' + document.getElementById("selbranch").value + '&functietype=' + el.value, function(s){functietypehandlereturn(s)});
        }
    }
}

function functiehandlereturn(s) {
// *****************************************************************************
// * Omschrijving : De functie die aangeroepen word door executeHTTPRequest
// *                deze is specific bedoeld voor functie en zal kwalificaties opties
// *                zichtbaar maken
// * Auteur       : Dennie Prins
// * Aangemaakt   : 26-2-2007 14:55
// *****************************************************************************
    var el = document.getElementById("selkwalificatie")
    if (el) {
        parseInput(el, s);
        display('aanmeldbranch',true);
        display('aanmeldfunctietype',true);
        display('aanmeldfunctie',true);
        display('aanmeldkwalificatie',true);
        if (el.options.length == 1) {
            display('aanmeldvolgende',true);
        } else {
            display('aanmeldvolgende',false);
        }
    }
}

function functietypehandlereturn(s) {
// *****************************************************************************
// * Omschrijving : De functie die aangeroepen word door executeHTTPRequest
// *                deze is specific bedoeld voor functietype en zal functie opties
// *                zichtbaar maken
// * Auteur       : Dennie Prins
// * Aangemaakt   : 26-2-2007 14:56
// *****************************************************************************
    var el = document.getElementById("selfunctie")
    if (el) {
        parseInput(el, s);
        display('aanmeldbranch',true);
        display('aanmeldfunctietype',true);
        display('aanmeldfunctie',true);
        display('aanmeldkwalificatie',false);
        display('aanmeldvolgende',false);
        // Door kiezen als functie 1 item bevatten dan kan kwalificatie aangeroepen worden
        if (el.options.length == 1) {
            executeHTTPRequest('?id=HOGEROPSHOP_APP_KWALIFICATIE&branch=' + document.getElementById("selbranch").value + '&functietype=' + document.getElementById("selfunctietype").value + '&functie=' + el.value, function(s){functiehandlereturn(s)});
        }
    }
}

function informatieoverhandlereturn (s) {
// *****************************************************************************
// * Omschrijving : De functie die aangeroepen word door executeHTTPRequest
// *                deze is specific bedoeld voor informatie en zal meerdere kolommen
// *                zichtbaar maken
// * Auteur       : Dennie Prins
// * Aangemaakt   : 5-3-2007 15:38
// *****************************************************************************
    var el = document.getElementById("certificatenenfunctieinfotd");
    if (el) {
        el.innerHTML = s;
    }
    functiecerthandlereturn('');
}

function functiecerthandlereturn(s) {
// *****************************************************************************
// * Omschrijving : De functie die aangeroepen word door executeHTTPRequest
// *                deze is specific bedoeld voor functietype en zal functie opties
// *                zichtbaar maken
// * Auteur       : Dennie Prins
// * Aangemaakt   : 5-3-2007 16:38
// *****************************************************************************
    var el = document.getElementById("certificatenenfunctiekeuze");
    if (el) {
        el.innerHTML = s;
    }
}

function functiecertclick(branch,certfunc,functietype) {
// *****************************************************************************
// * Omschrijving : De functie die aangeroepen word op klik van funcite of
// *                certificaat functie type en zal een executeHTTPRequest doen
// *                om vak informatie op te halen.
// * Auteur       : Dennie Prins
// * Aangemaakt   : 5-3-2007 17:38
// *****************************************************************************

    executeHTTPRequest('?ch=hos&id=HOGEROPSHOP_APP_FUNCTIECERT&branch=' + branch + '&functietype=' + functietype + '&certfunc=' + certfunc, function(s){functiecerthandlereturn(s)});
    SetCookie("b",escape(branch));
    SetCookie("f",escape(certfunc));
    SetCookie("ft",escape(functietype));
    //alert(" - - - b=" + escape(branch) + "; f=" + escape(certfunc) + "; ft="+ escape(functietype) +";");
}


function display(div,zien) {
// *****************************************************************************
// * Omschrijving : item style.display zetten
// * Auteur       : Dennie Prins
// * Aangemaakt   : 26-2-2007 14:58
// *****************************************************************************
    var dv = document.getElementById(div)
    if (dv) {
        if (zien) {
            dv.style.display = 'block';
         } else {
            dv.style.display = 'none';
         }
    }
}

function debug(msg) {
// *****************************************************************************
// * Omschrijving : Eigen debug functie
// * Auteur       : Dennie Prins
// * Aangemaakt   : 26-2-2007 14:58
// *****************************************************************************
 var degug = document.getElementById("degug")
 if (degug) {
    degug.innerHTML = msg;
 } else {
    alert(msg);
 }
}

function parseInput(selectbox, str) {
// *****************************************************************************
// * Omschrijving : str parsen die puntkomma seperated is en plaatsen in selectbox
// * Auteur       : Dennie Prins
// * Aangemaakt   : 26-2-2007 14:59
// *****************************************************************************
    var lines = str.split('\n');
    wisSelectBox(selectbox);
    selectbox.options[0] = new Option('-- Maak een keuze --','');
    for (var line in lines) {
        if (lines[line]!='') {
            var op = lines[line].split(';');
            //debug(op[0] + ' = ' + op[1] )
            selectbox.options[(selectbox.options.length)] = new Option(op[1],op[0]);
        }
    }
    // Als er maar 1 item is die direct kiezen.
    if (selectbox.options.length <= 2) {
        selectbox.remove(0);
    }
}


function wisSelectBox(listbox) {
// *****************************************************************************
// * Omschrijving : wissen van de items in de listbox
// * Auteur       : Dennie Prins
// * Aangemaakt   : 26-2-2007 15:00
// *****************************************************************************
    var listboxaantal = listbox.options.length;
    for (var i=0; i < listboxaantal; i++) {
        listbox.remove(0);
    }

}

function goBack() {
// *****************************************************************************
// * Omschrijving : Terug in browser history
// * Auteur       : Dennie Prins
// * Aangemaakt   : 27-2-2007 11:57
// *****************************************************************************
   history.go(-1);
}


function addMessage(msg) {
// *****************************************************************************
// * Omschrijving : Validatie berichtjes
// * Auteur       : Dennie Prins
// * Aangemaakt   : 27-2-2007 14:24
// *****************************************************************************
    validatiemessages += msg + '<br>';
}

function toonerrormessage() {
// *****************************************************************************
// * Omschrijving : Validatie berichtjes
// * Auteur       : Dennie Prins
// * Aangemaakt   : 27-2-2007 14:24
// *****************************************************************************
 if (validatiemessages != '') {
     var errormessage = document.getElementById("errormessage")
     if (errormessage) {
        errormessage.innerHTML = validatiemessages;
     } else {
        alert(validatiemessages);
     }
     return false;
  } else {
    return true;
  }
}

function wiserrormessage() {
// *****************************************************************************
// * Omschrijving : Validatie berichtjes
// * Auteur       : Dennie Prins
// * Aangemaakt   : 27-2-2007 14:24
// *****************************************************************************
    var errormessage = document.getElementById("errormessage")
    if (errormessage) {
        errormessage.innerHTML ='';
    }
    validatiemessages = '';
}



function EmptyControle(inputitem) {
// *****************************************************************************
// * Omschrijving : Validatie op lege value
// * Auteur       : Dennie Prins
// * Aangemaakt   : 27-2-2007 14:24
// *****************************************************************************
    if (document.getElementsByName(inputitem)[0]) {
        var el = document.getElementsByName(inputitem)[0];
        if (el.value=='') {
            colormyborder(el,'red');
            //if (el.title) {
            //   addMessage('"' + el.title + '" is leeg!');
            //} else {
            //    addMessage('"' + inputitem + '" is leeg!');
            //}
            return false;
        } else {
             colormyborder(el,'green');
            return true;
        }
    } else {
       addMessage('Kan "' + inputitem + '" niet vinden!');
       return false;
    }
}

function EmptyControles(inputitems) {
// *****************************************************************************
// * Omschrijving : Validatie op lege values
// * Auteur       : Dennie Prins
// * Aangemaakt   : 27-2-2007 14:59
// *****************************************************************************
    var ret = true;
    var arinputitems = inputitems.split(",");
    for (var t in arinputitems) {
        if (arinputitems[t]!='') {
            if (!EmptyControle(arinputitems[t])) {
                ret = false;
            }
        }
    }
    return ret;
}


function RegControle(inputitem,validRegExp){
// *****************************************************************************
// * Omschrijving : Validatie via Reg
// * Auteur       : Dennie Prins
// * Aangemaakt   : 28-2-2007 9:50
// *****************************************************************************
   if (document.getElementsByName(inputitem)[0]) {
       var el = document.getElementsByName(inputitem)[0];
       if (!el.value.match(validRegExp)) {
            colormyborder(el,'red');
            return false;
       } else {
            colormyborder(el,'green');
       }
       return true;
    } else {
       addMessage('Kan "' + inputitem + '" niet vinden!');
       return false;
    }
}

function RegControles(inputitems,validRegExp) {
// *****************************************************************************
// * Omschrijving : Validaties via Reg
// * Auteur       : Dennie Prins
// * Aangemaakt   : 27-2-2007 14:59
// *****************************************************************************
    var ret = true;
    var arinputitems = inputitems.split(",");
    for (var t in arinputitems) {
        if (arinputitems[t]!='') {
            if (!RegControle(arinputitems[t],validRegExp)) {
                ret = false;
            }
        }
    }
    return ret;
}

function PostCodeControles(inputitems) {
// *****************************************************************************
// * Omschrijving : Validaties via Reg op postcode
// * Auteur       : Dennie Prins
// * Aangemaakt   : 27-2-2007 14:59
// *****************************************************************************
       var validRegExp = /^[0-9]{4}[A-Za-z]{2}/i;
       return RegControles(inputitems,validRegExp)
}
function EmailControles(inputitems) {
// *****************************************************************************
// * Omschrijving : Validaties via Reg op Emails
// * Auteur       : Dennie Prins
// * Aangemaakt   : 27-2-2007 14:59
// *****************************************************************************
       var validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i;
       return RegControles(inputitems,validRegExp)
}
function telefoonControles(inputitems) {
// *****************************************************************************
// * Omschrijving : Validaties via Reg op Telefoonnummers
// * Auteur       : Dennie Prins
// * Aangemaakt   : 27-2-2007 14:59
// *****************************************************************************
       var validRegExp = /^[0-9]{10,10}$/i;
       return RegControles(inputitems,validRegExp)
}

function NummerControles(inputitems) {
// *****************************************************************************
// * Omschrijving : Validaties via Reg op Telefoonnummers
// * Auteur       : Dennie Prins
// * Aangemaakt   : 27-2-2007 14:59
// *****************************************************************************
       var validRegExp = /^[0-9]{1,10}$/i;
       return RegControles(inputitems,validRegExp)
}


function colormyborder(el, color) {
// *****************************************************************************
// * Omschrijving : Maakt randen een kleurtje
// * Auteur       : Dennie Prins
// * Aangemaakt   : 27-2-2007 14:59
// *****************************************************************************
    if (el) {
        el.style.border='1px solid ' + color;
    }
}

function elf_proef(inputitem) {
// *****************************************************************************
// * Omschrijving : Maakt randen een kleurtje
// * Auteur       : Dennie Prins
// * Aangemaakt   : 27-2-2007 14:59
// *****************************************************************************
   if (document.getElementsByName(inputitem)[0]) {
       var el = document.getElementsByName(inputitem)[0];
       var bankrekeningnummer=el.value;
       var aantal_tekens=bankrekeningnummer.length;
       var som=0;
       var getal = 0;
        // loop door de 9 cijfers met de 11 proef formule
       for (var i=1; i<10; i++) {
            getal=bankrekeningnummer.charAt(i-1);
            som+=getal*(10-i);
       }
        // geef resultaat van check terug
       if (som % 11==0 && aantal_tekens==9) {
            colormyborder(el,'green');
            return true
        } else {
             colormyborder(el,'red');
            return false
        }
    } else {
       addMessage('Kan "' + inputitem + '" niet vinden!');
       return false;
    }




}

function valueCheck(inputitem) {
// *****************************************************************************
// * Omschrijving : Geeft de waarde terug
// * Auteur       : Dennie Prins
// * Aangemaakt   : 28-2-2007 11:41
// *****************************************************************************
   if (document.getElementsByName(inputitem)[0]) {
       return document.getElementsByName(inputitem)[0].value;
   } else {
       return '';
   }
}


function submitstap3() {
   wiserrormessage()
   if (!telefoonControles('bedrijftelefoon,kandidaattelefoon')) {
      addMessage('<br>De telefoonnummers zijn niet correct!');
   } else {
      if (!EmailControles('bedrijfemail,kandidaatemail')) {
        addMessage('<br>E-mailadres is niet correct!');
      } else {
          if (!PostCodeControles('bedrijfpostcode,kandidaatpostcode')) {
             addMessage('<br>Postcode is niet correct!');
          } else {
            if (!EmptyControles('bedrijfcontact,bedrijfstraat,bedrijfpostcode,bedrijfnummer,bedrijfpostcode,bedrijfplaats,bedrijftelefoon,bedrijfemail,bedrijfafdragend,kandidaatachternaam,kandidaatvoorletters,kandidaatvoornaam,kandidaatstraat,kandidaatpostcode,kandidaatplaats,kandidaattelefoon,kandidaatemail,kandidaatnummer,kandidaatgbdag,kandidaatgbmaand,kandidaatgbjaar,kandidaatgeboorteplaats,kandidaatgeboorteland,toetslocatie,toetstijdstip,toetsdatumdag,toetsdatummaand,toetsdatumjaar,toetsdagen,toetsrelatie,toetsdiploma')) {
               addMessage('<br>Niet alle velden waaren ingevuld!');
            } else {
                // Alles is goed
            }
          }
      }
   }
   if (toonerrormessage()) {
        document.frmstap3.submit();
   }
}



function submitstap4() {
   wiserrormessage()
   if (!PostCodeControles('betalerpostcode')) {
         addMessage('<br>Postcode is niet correct!');
      } else {
        if (!EmptyControles('betalernaam,betalerstraat,betalerpostcode,betalernummer,betalerplaats,betalerrekening,betalerbank')) {
           addMessage('<br>Niet alle velden waaren ingevuld!');
        } else {
            if (!NummerControles('betalerrekening')) {
                addMessage('<br>Rekening nummer is geen nummer!');
            } else {
                if (valueCheck('betalerbank') != 'Giro') {
                    if (!elf_proef('betalerrekening')) {
                        addMessage('<br>Niet een correcte bankrekening!');
                    }
                } else {
                    // Alles goed
                }

            }
        }
   }
   if (toonerrormessage()) {
        document.frmstap4.submit();
   }
}

function toggle(sId,me) {
    if (document.getElementById(sId)) {
        if (document.getElementById(sId).style.display != 'block') {
            document.getElementById(sId).style.display = 'block';
            if (me) {
                me.innerHTML = me.innerHTML.replace('+','-');
            }
        } else {
            document.getElementById(sId).style.display = 'none';
            if (me) {
                me.innerHTML = me.innerHTML.replace('-','+');
            }
        }
    }
    return false;
}

function VulFunctiePlanIndienNodig() {
    if (document.getElementById('certificatenenaanmelden')) {
        if (document.getElementById('informatieover')) {
            var b = GetCookie('b');
            var f = GetCookie('f');;
            var ft = GetCookie('ft');
            //alert('('+b+')('+f+')('+ft+')');
            if (GetCookie('b') > 0) {
                executeHTTPRequest('?id=HOGEROPSHOP_APP_INFORMATIEOVER&branch=' + b, function(s){informatieoverhandlereturn(s)});
                functiecertclick(b,f,ft);
                ShowSelected(document.getElementById('informatieover'),b);
            }
        }
    }
}

function GetCookie(sName)
{
  // cookies are separated by semicolons
  var aCookie = document.cookie.split("; ");
  for (var i=0; i < aCookie.length; i++)
  {
    // a name/value pair (a crumb) is separated by an equal sign
    var aCrumb = aCookie[i].split("=");
    if (sName == aCrumb[0])
      return unescape(aCrumb[1]);
  }

  // a cookie with the requested name does not exist
  return null;
}

function ShowSelected(sel, val)
{

  for (var i=0; i < sel.options.length; i++)
  {
    if (sel.options[i].value == val) {
        sel.options[i].selected=true;
    }
  }
}

function SetCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}


function openblank(me) {
    window.open(me.href,'_blank');
    return false;
}


