
if( document.documentElement.className=='menu'){
  var locatie = 'home';
  var items

  var home_off        = new Image;
  home_off.src        = "images/m_home_off.gif";
  var home_on         = new Image;
  home_on.src         = "images/m_home_on.gif";

  var producten_off   = new Image;
  producten_off.src   = "images/m_producten_off.gif";
  var producten_on    = new Image;
  producten_on.src    = "images/m_producten_on.gif";

  var diensten_off    = new Image;
  diensten_off.src    = "images/m_diensten_off.gif";
  var diensten_on     = new Image;
  diensten_on.src     = "images/m_diensten_on.gif";

  var ontwikkelingen_off  = new Image;
  ontwikkelingen_off.src  = "images/m_ontwikkelingen_off.gif";
  var ontwikkelingen_on   = new Image;
  ontwikkelingen_on.src   = "images/m_ontwikkelingen_on.gif";

  var contact_off     = new Image;
  contact_off.src     = "images/m_contact_off.gif";
  var contact_on      = new Image;
  contact_on.src      = "images/m_contact_on.gif";

  window.onload = initMenu;
}
else if( document.documentElement.className=='submenu'){
  switch( parent.frames['menuframe'].locatie){
     case 'producten':
      var locatie = 'prod1';

      var prod1_off     = new Image;
      prod1_off.src     = "images/sub_press-process_off.gif";
      var prod1_on      = new Image;
      prod1_on.src      = "images/sub_press-process_on.gif";

      var prod2_off     = new Image;
      prod2_off.src     = "images/sub_press-address_off.gif";
      var prod2_on      = new Image;
      prod2_on.src      = "images/sub_press-address_on.gif";

      var prod3_off     = new Image;
      prod3_off.src     = "images/sub_press-time_off.gif";
      var prod3_on      = new Image;
      prod3_on.src      = "images/sub_press-time_on.gif";

      var prod4_off     = new Image;
      prod4_off.src     = "images/sub_press-config_off.gif";
      var prod4_on      = new Image;
      prod4_on.src      = "images/sub_press-config_on.gif";

      var prod5_off     = new Image;
      prod5_off.src     = "images/sub_press-content_off.gif";
      var prod5_on      = new Image;
      prod5_on.src      = "images/sub_press-content_on.gif";

      break;
     case 'diensten':
      var locatie = 'dienst1';

      var dienst1_off     = new Image;
      dienst1_off.src     = "images/sub_projectleiding_off.gif";
      var dienst1_on      = new Image;
      dienst1_on.src      = "images/sub_projectleiding_on.gif";

      var dienst2_off     = new Image;
      dienst2_off.src     = "images/sub_interfaces_off.gif";
      var dienst2_on      = new Image;
      dienst2_on.src      = "images/sub_interfaces_on.gif";

      var dienst3_off     = new Image;
      dienst3_off.src     = "images/sub_maatwerk_off.gif";
      var dienst3_on      = new Image;
      dienst3_on.src      = "images/sub_maatwerk_on.gif";

      var dienst4_off     = new Image;
      dienst4_off.src     = "images/sub_appbeheer_off.gif";
      var dienst4_on      = new Image;
      dienst4_on.src      = "images/sub_appbeheer_on.gif";

      var dienst5_off     = new Image;
      dienst5_off.src     = "images/sub_managementinfo_off.gif";
      var dienst5_on      = new Image;
      dienst5_on.src      = "images/sub_managementinfo_on.gif";

      var dienst6_off     = new Image;
      dienst6_off.src     = "images/sub_consultancy_off.gif";
      var dienst6_on      = new Image;
      dienst6_on.src      = "images/sub_consultancy_on.gif";

      break;
  }

  window.onload = initMenu;
}
else if(document.documentElement.className=='content'){
  var submenu;
  var submenuframe = parent.frames['submenuframe'];
  window.onload = initSubmenu;
}

function initSubmenu(){
  if(stripPath(submenuframe.location.href)!=submenu) submenuframe.location.href=submenu;
}

function initMenu(){
  items = document.getElementsByTagName('LI');
  for(var i=0; i<items.length; i++){
     items[i].firstChild.onmouseover = items[i].firstChild.onmouseout = hoverItem;
     items[i].firstChild.onclick = selecteer;
  }
}

function hoverItem(){
  var currentSrc = stripPath( this.getElementsByTagName("IMG")[0].src);
  if( this.id != locatie) this.getElementsByTagName("IMG")[0].src = (currentSrc.substr(currentSrc.length-7,currentSrc.length-1) == '_on.gif')? eval(this.id + '_off.src') : eval(this.id + '_on.src');
}

function selecteer(){
  if( locatie != this.id) for(var i=0; i<items.length; i++) if( items[i].firstChild.id == locatie) items[i].firstChild.firstChild.src = eval(locatie + '_off.src');
  locatie = this.id;
}

function stripPath(str){
  var str2 = str.split("/");
  return(str2[str2.length-1])
}


/*  Formulier functies */
function controleer(){
  var frm = document.formulier;
  var foutmelding = '';

  if( isLeeg( frm.naam.value)) {
    foutmelding = 'U heeft geen naam ingevoerd';
  }
  else if(isLeeg( frm.straat.value)){
    foutmelding = 'U heeft geen straat en huisnummer ingevoerd';
  }
  else if(!isPostcode( frm.postcode.value)){
    foutmelding = 'U heeft geen of een onjuiste postcode ingevoerd';
  }
  else if(isLeeg( frm.plaats.value)){
    foutmelding = 'U heeft geen woonplaats ingevoerd';
  }
  else if( isLeeg( frm.telefoon.value) && isLeeg( frm.email.value)) {
    foutmelding = 'U heeft geen telefoonnummer of emailadres ingevoerd';
  }
  else if( !isLeeg( frm.telefoon.value) && !isTelefoonnummer( frm.telefoon.value)){
    foutmelding = 'U heeft een onjuist telefoonnummer ingevoerd';
  }
  else if( !isLeeg( frm.email.value) && !isGeldigEmailadres( frm.email.value)){
    foutmelding = 'U heeft een onjuist emailadres ingevoerd';
  }

  if ( foutmelding != '') {
    alert( foutmelding);
    return false;
  } else{
    return true;
  }
}


  // isGeldigEmailadres( deString)    Controleert of de gegeven string een goed emailadres is
  //
  // returned                         true wanneer de string een geldig emailadres is
  //
  function isGeldigEmailadres( deString){
      var EmailOk  = true
      var AtSym    = deString.indexOf('@')
      var Period   = deString.lastIndexOf('.')
      var Space    = deString.indexOf(' ')
      var Length   = deString.length - 1   // Array is from 0 to length-1

      if ((AtSym < 1) ||                   // '@' cannot be in first position
      (Period <= AtSym+1) ||               // Must be atleast one valid char btwn '@' and '.'
      (Period == Length ) ||               // Must be atleast one valid char after '.'
      (Space  != -1))                      // No empty spaces permitted
      {
        EmailOk = false
      }
      return EmailOk;
  }

  // initialen   zet een string om in hoofdletters en zet er puntjes tussen als deze ontbreken
  //
  function initiaalKapitalen( str){
    var i;
    var nw;

    /* Null string wordt leeg */
    if( str == null) {
      return '';
    }

    str = String( str);
    nw = '';

    if( str.length >= 1) {
          for( i=0; i < str.length; i++) {
        nw += str.charAt(i).toUpperCase();
        /* zet een punt tussen 2 karakters die beide geen punt zijn */
            if ( (str.charAt(i) != '.') && (str.charAt( i+1) != '.')) {
              nw += '.';
            }
          }
    }

    return nw;
  }

/*
 * isDatum( dag, maand, jaar)    Controleert of de gegevens strings samen een juiste datum vormen
 *
 * returned                      true wanneer het een goed datum is anders false
 */

function isDatum( dag, maand, jaar)
{
    var dagenInMaand =  new Array( 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

    /* Als alle waarden leeg zijn beschouwen we dit als een goede datum */
    if( dag == ''  &&  maand == ''  &&  jaar == '')     return true;

    /* Controleer eerst of het allemaal nummers zijn */
    if( !isNummer( dag)  ||  !isNummer( maand)  ||  !isNummer( jaar))    return( false);

    /* Controleer range van de maand */
    if( maand < 1  ||  maand > 12 )    return( false);

    /* Controleer het jaar */
    if( jaar < 1753  ||  jaar > 2100)  return( false);

    /* Controleer op een schrikkeljaar */
    if( maand == 2  &&  dag == 29) {
       if(!(jaar % 4 == 0  &&  (jaar % 100 != 0   ||  jaar % 400 == 0))) return false;    /* We hebben geen schrikkeljaar */
    }

    /* Controleer de dag */
    if( dag < 1  ||  dag > dagenInMaand[maand - 1])  return( false);

    /* Als we hier zijn is de datum goed */
    return( true);
}



  // Controleert de postCode aan de hand van het gegeven formaat
  // Wanneer de postcode klopt, wordt de (eventueel) opnieuwe geformateerde postcode teruggegeven
  // Wanneer hij niet klopt wordt de waarde null teruggegeven
  //
  function postcodeOK( postcode, formaat)    {
      var goed, pcPos, pcChar, fmtPos, fmtChar, nieuw;

      /* Lege formaat string? dan is alles goed */
      if( formaat == null  ||  formaat == '') return postcode;

      nieuw = '';
      fmtPos = 0;
      pcPos  = 0;
      goed   = true;
      while( fmtPos < formaat.length  &&  pcPos <= postcode.length  &&  goed) {
          fmtChar = formaat.charAt( fmtPos);
          pcChar  = postcode.charAt( pcPos);
          kopieer = true;

          if( fmtChar == '9') {
              goed = (pcChar >= '0' &&  pcChar <= '9');
          }
          else if( fmtChar == 'a' ||  fmtChar == 'A') {
              goed = ((pcChar >= '0'  &&  pcChar <= '9')  ||  (pcChar >= 'a' &&  pcChar <= 'z')  ||  (pcChar >= 'A'  &&  pcChar <= 'Z'));
          }
          else if( fmtChar == '*') {          /* We hebben een ster, dus we zijn klaar, kopieer de rest van de postcode */
              nieuw  += postcode.substring( pcPos, postcode.length);
              fmtPos += 1;
              pcPos   = postcode.length;
              kopieer = false;
          }
          else if( fmtChar != pcChar) {       /* We hebben niet het gewenst format character, dus voeg het toe aan de nieuwe */
              nieuw  += fmtChar;
              fmtPos += 1;
              kopieer = false;
          }

          if( goed  &&  kopieer) {
              nieuw += pcChar;
              pcPos += 1;
              fmtPos += 1;
          }
      }

      goed = (pcPos == postcode.length  &&  fmtPos == formaat.length);

      return (goed ? nieuw : null);
  }

  // isNummer( nummer)    Controleert of de gegeven string een juist nummer is
  //
  // returned             true wanneer het een goed nummer is anders false
  //
  function isNummer( nummer){
      var i;

      nummer = trim( nummer);

      /* Een leeg nummer is geen nummer */
      if( isLeeg( nummer))     return false;

      /* Kijk of het nummer alleen uit cijfers bestaat */
      for( i = 0; i < nummer.length; i++) {
            if( nummer.charAt(i) < '0'  ||  nummer.charAt(i) > '9')    return( false);
      }

      /* Geen fout gevonden */
      return( true);
  }

  // isLeeg( string)    Controleert of de gegeven string leeg is of alleen maar spaties bevat
  //
  // returned           true wanneer de string leeg is anders false
  //
  function isLeeg( deString){
      return( trim( deString).length == 0);
  }

  // trim( string)     Haalt alle spaties aan het begin en het eind van een string weg
  //
  function trim( deString)
  {
      deString = String( deString);

      /* Verwijder alle spaties aan het begin */
      while( isSpatie( deString.charAt(0))) {
          deString = deString. substring( 1, deString.length);
      }

      /* Verwijder de spaties aan het eind */
      while( isSpatie( deString.charAt( deString.length - 1))) {
          deString = deString.substring( 0, deString.length - 1);
      }

      return( deString);
  }


  // isSpatie()   Controleer of het karakter een spatie, tab of nieuwe regel is
  //
  function isSpatie( karakter)    {
      karakter = String( karakter);

      return( karakter == ' '   ||   karakter == '\n'  ||  karakter == '\r'  ||  karakter == '\t');
  }


  // eersteKapitaal    Maakt van de eerste letter in de gegeven string en hoofdletter en geeft de nieuwe string terug
  function eersteKapitaal( str){
      var nw;

      /* Null string wordt leeg */
      if( str == null) {
          return '';
      }

      str = String( str);
      nw = '';

      /* Eerste letter wordt hoofdletter */
      if( str.length >= 1) {
          nw += str.charAt(0).toUpperCase();
      }

      /* Rest zo laten */
      if( str.length >= 2) {
          nw += str.substr( 1, str.length - 1);
      }

      return nw;
  }


  function isTelefoonnummer( str) {
      return str.match( /^[^A-Za-z]+$/);
  }

  function isPostcode( str) {
      return str.match( /^\d{4} ?[A-Z]{2}$/i);
  }

  function controleerFormulier(){

    var frm = document.formulier;
    var foutmelding = '';

    if(isLeeg(frm.naam.value)){
        foutmelding = 'Vul uw naam in \n';
    }

    if(!isLeeg(frm.emailadres.value) && !isGeldigEmailadres(frm.emailadres.value)){
        foutmelding += 'Ongeldig formaat e-mailadres \n';
    }
    if(isLeeg(frm.bericht.value)){
        foutmelding += 'Voer een bericht in \n';
    }
    if(foutmelding == ''){
        frm.action = 'schrijfGastenboek_mod.asp'
        return true;
    }
    else{
        alert(foutmelding);
        return false;
    }

}

