var SortButton = '';
var Land = 151;

function bodyload(show1, show2)
  {if (show1 == 'proefrit')
     {ShowProefrit();}
   if (show2 == 'brochure')
     {ShowBrochure();}
   if (show1 == 'betreft')
     {ShowBetreft();}
   if (show2 == 'land')
     {SelectLand();}
   if (show1 == 'afmelden')
     {ShowAfmeldPost();}
   if (show1 != 'afmelden')
     {SortButton = document.dataentryfrm.elements['knopsort'].value;
      ShowSortButton();
     }
  }
  
function GetAW(check, TblName, DBName)
  {var Postcode     = document.dataentryfrm.postcode.value.toUpperCase();
   var Huisnummer   = document.dataentryfrm.huisnummer.value;
   var PostcodeRE   = /^([0-9]{4}[A-Z]{2})$/;
   var HuisnummerRE = /[\D]/g;
   var DateTime = new Date();
   if (Postcode !== '' && Huisnummer !== '')
     {var Reeksindicatie = 0;
      var veld = 'aw';
      GetData = true;
      if (!PostcodeRE.exec(Postcode))
        GetData = false;
      if (!HuisnummerRE.exec(Huisnummer))
        {if (Huisnummer.length < 1 || Huisnummer.length > 5)
           {GetData = false;}
        }
      if (GetData == true)
        {var req = Inint_AJAX();
         if (check == 0)
           req.open('GET', 'getaw.php?pc=' + Postcode + '&hnr=' + Huisnummer + '&TblName=' + TblName + '&DBName=' + DBName + '&Date=' + DateTime, true); //make connection
         else if (check == 1)
           req.open('GET', 'getaw.php?pc=' + Postcode + '&hnr=' + Huisnummer + '&chk=' + check + '&TblName=' + TblName + '&DBName=' + DBName + '&Date=' + DateTime); //make connection
         req.onreadystatechange = function () 
           {if (req.readyState == 1)
              {document.getElementById(veld).innerHTML = '<img src="snake_transparent.gif">';}
            if (req.readyState==4) 
              {if (req.status==200) 
                 {document.getElementById(veld).innerHTML = req.responseText;} //return value
              }
           }
         req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8"); // set Header
         req.send(null); //send value
         req.close;
        }
     }
   return false;
  }
  
function SelectLand()
  {Land = document.dataentryfrm.elements['land'].value;
   if (!Land == 151)
     {ShowSortButton();
//      document.getElementById('AdresRow').style.display = '';
//      document.getElementById('PlaatsRow').style.display = '';
     }
   else
     {ShowSortButton();
//      document.getElementById('AdresRow').style.display = 'none';
//      document.getElementById('PlaatsRow').style.display = 'none';
     }
  }
function ShowBetreft()
  {if (document.getElementById('betreft1').checked)
     {document.getElementById('ChassisnummerVerplicht1').style.display = 'block'; // Chassisnummer ¹
      document.getElementById('KentekenVerplicht1').style.display = 'block'; // Kenteken ¹
      document.getElementById('DealerVerplicht1').style.display = 'block'; // Voorkeursdealer
      document.getElementById('ChassisnummerVerplicht2').style.display = 'none'; // Chassisnummer *
      document.getElementById('KentekenVerplicht2').style.display = 'none'; // Kenteken *
      document.getElementById('DealerVerplicht2').style.display = 'none'; // Voorkeursdealer *
      document.getElementById('ChassisnummerVerplicht3').style.display = 'none'; // Chassisnummer
      document.getElementById('KentekenVerplicht3').style.display = 'none'; // Kenteken
      document.getElementById('ShowReq1').style.display = 'block';
     }
   if (document.getElementById('betreft2').checked)
     {document.getElementById('ChassisnummerVerplicht1').style.display = 'none'; // Chassisnummer ¹
      document.getElementById('KentekenVerplicht1').style.display = 'none'; // Kenteken ¹
      document.getElementById('DealerVerplicht1').style.display = 'block'; // Voorkeursdealer
      document.getElementById('ChassisnummerVerplicht2').style.display = 'block'; // Chassisnummer *
      document.getElementById('KentekenVerplicht2').style.display = 'block'; // Kenteken *
      document.getElementById('DealerVerplicht2').style.display = 'none'; // Voorkeursdealer *
      document.getElementById('ChassisnummerVerplicht3').style.display = 'none'; // Chassisnummer
      document.getElementById('KentekenVerplicht3').style.display = 'none'; // Kenteken
      document.getElementById('ShowReq1').style.display = 'none';
     } 
   if (document.getElementById('betreft3').checked)
     {document.getElementById('ChassisnummerVerplicht1').style.display = 'block'; // Chassisnummer ¹
      document.getElementById('KentekenVerplicht1').style.display = 'block'; // Kenteken ¹
      document.getElementById('DealerVerplicht1').style.display = 'none'; // Voorkeursdealer
      document.getElementById('ChassisnummerVerplicht2').style.display = 'none'; // Chassisnummer *
      document.getElementById('KentekenVerplicht2').style.display = 'none'; // Kenteken *
      document.getElementById('DealerVerplicht2').style.display = 'block'; // Voorkeursdealer *
      document.getElementById('ChassisnummerVerplicht3').style.display = 'none'; // Chassisnummer
      document.getElementById('KentekenVerplicht3').style.display = 'none'; // Kenteken
      document.getElementById('ShowReq1').style.display = 'block';
     }
  }  
  
function ShowBrochure()
  {if (document.dataentryfrm.elements['brochure'].checked)
     {document.getElementById('ShowBrochure').style.display = 'block';
     }
   else
     {document.getElementById('ShowBrochure').style.display = 'none';
     }
  }  
  
function ShowAfmeldPost()
  {if (document.dataentryfrm.elements['afmeldtype2'].checked)
     {document.getElementById('afmeldpost').style.display = 'block';
     }
   else
     {document.getElementById('afmeldpost').style.display = 'none';
     }
  }  
  
function ShowSortButton()
  {document.dataentryfrm.elements['knopsort'].value = SortButton;
   if (SortButton == 'pc')
     {document.getElementById('sortpc').style.display = 'none'; //Hide
      document.getElementById('sortwp').style.display = 'block'; //Show
      SortButton = 'wp';
     }
   else
     {if (document.dataentryfrm.elements['land'].value == 151)
        {if (document.dataentryfrm.elements['postcode'].value.length >= 4)
           document.getElementById('sortpc').style.display = 'block'; //Show
         else
           document.getElementById('sortpc').style.display = 'none'; //Hide
         document.getElementById('sortwp').style.display = 'none'; //Hide
         SortButton = 'pc';
        }
     }
  }  
  
function PCCode(val) {
  var strPass = val.value;
  var strLength = strPass.length;
  var lchar = val.value.charAt((strLength) - 1);
  var cCode = CalcKeyCode(lchar);
  var vraag1 = document.dataentryfrm.elements['vraag1'].value;
  if (vraag1 < 1)
    {dochange('1', 'vraag1', 'typ', 'postcode', document.dataentryfrm.elements['postcode'].value);
    }
  else
    {
     if (strLength >= 4)
       {SortButton = 'wp';
        ShowSortButton();
       }
    }
  if (strLength <= 4) 
    {if (cCode < 48 || cCode > 57 ) 
       {var myNumber = val.value.substring(0, (strLength) - 1);
        val.value = myNumber;
       }
    }
  if (strLength >= 5) 
    {if (lchar == ' ') 
       {var myNumber = val.value.substring(0, (strLength) - 1);
        val.value = myNumber;
        strLength = strLength - 1;
       }
    }
  if (strLength >= 6) 
    {GoToNextField('email');}
  return false;
}

function PCCodeDSC(val) {
  var strPass = val.value;
  var strLength = strPass.length;
  var lchar = val.value.charAt((strLength) - 1);
  var cCode = CalcKeyCode(lchar);
  var vraag1 = document.dataentryfrm.elements['vraag1'].value;
  if (vraag1 < 1)
    {dochangeDSC('1', 'vraag1', 'typ', 'postcode', document.dataentryfrm.elements['postcode'].value);
    }
  else
    {
     if (strLength >= 4)
       {SortButton = 'wp';
        ShowSortButton();
       }
    }
  if (strLength <= 4) 
    {if (cCode < 48 || cCode > 57 ) 
       {var myNumber = val.value.substring(0, (strLength) - 1);
        val.value = myNumber;
       }
    }
  if (strLength >= 5) 
    {if (lchar == ' ') 
       {var myNumber = val.value.substring(0, (strLength) - 1);
        val.value = myNumber;
        strLength = strLength - 1;
       }
    }
  if (strLength >= 6) 
    {GoToNextField('email');}
  return false;
}


function PCCode1(val) {
  var strPass = val.value;
  var strLength = strPass.length;
  var lchar = val.value.charAt((strLength) - 1);
  var cCode = CalcKeyCode(lchar);
  if (strLength <= 4) 
    {if (cCode < 48 || cCode > 57 ) 
       {var myNumber = val.value.substring(0, (strLength) - 1);
        val.value = myNumber;
       }
    }
  if (strLength >= 5) 
    {if (lchar == ' ') 
       {var myNumber = val.value.substring(0, (strLength) - 1);
        val.value = myNumber;
        strLength = strLength - 1;
       }
    }
  return false;
}
  
function PCCode2(val) {
  var strPass = val.value;
  var strLength = strPass.length;
  var lchar = val.value.charAt((strLength) - 1);
  var cCode = CalcKeyCode(lchar);
  if (document.dataentryfrm.elements['vraag1'].value < 1)
    {dochangelijst('1', 'vraag1', 'typ', 'postcode', document.dataentryfrm.elements['postcode'].value);
    }
  else
    {
     if (strLength >= 4)
       {SortButton = 'wp';
        ShowSortButton();
       }
    }
  if (strLength <= 4) 
    {if (cCode < 48 || cCode > 57 ) 
       {var myNumber = val.value.substring(0, (strLength) - 1);
        val.value = myNumber;
       }
    }
  if (strLength >= 5) 
    {if (lchar == ' ') 
       {var myNumber = val.value.substring(0, (strLength) - 1);
        val.value = myNumber;
        strLength = strLength - 1;
       }
    }
  return false;
}

function PCCode3(val, next) {
  var strPass = val.value;
  var strLength = strPass.length;
  var lchar = val.value.charAt((strLength) - 1);
  var cCode = CalcKeyCode(lchar);
  if (strLength <= 4) 
    {if (cCode < 48 || cCode > 57 ) 
       {var myNumber = val.value.substring(0, (strLength) - 1);
        val.value = myNumber;
       }
    }
  if (strLength >= 5) 
    {if (lchar == ' ') 
       {var myNumber = val.value.substring(0, (strLength) - 1);
        val.value = myNumber;
        strLength = strLength - 1;
       }
    }
  return false;
}

function Inint_AJAX() 
  {try { return new ActiveXObject("Msxml2.XMLHTTP");  } catch(e) {} //IE
   try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE
   try { return new XMLHttpRequest();          } catch(e) {} //Native Javascript
   alert("XMLHttpRequest not supported");
   return null;
  }

function dochange(vnc, veld, what, sortering, val) 
  {var LengteVal = val.length;
   var val = val.substr(0,4);
   var CheckVal = parseInt(val);
   GetDealers = 0;
   if (what == 'typ')
     {if (LengteVal == 4)
        {if (CheckVal >= 1000 && CheckVal <= 9999)
           {SortButton = 'pc';
            ShowSortButton();
            GetDealers = 1;
           }
         else
           {sortering = 'woonplaats';
            SortButton = 'wp';
            ShowSortButton();
            GetDealers = 1;
           }
        }
     }
   else
     {if (sortering == 'postcode')
        {if (CheckVal >= 1000 && CheckVal <= 9999)
           {SortButton = 'pc';
            ShowSortButton();
            GetDealers = 1;
           }
         else
           {SortButton = 'wp';
            ShowSortButton();
            GetDealers = 1;
           }
        }
      else
        {SortButton = 'wp';
         ShowSortButton();
         GetDealers = 1;
        }
     }
     
   if (GetDealers == 1)
     {var req = Inint_AJAX();
      req.onreadystatechange = function () 
        {if (req.readyState==4) 
           {if (req.status==200) 
              {document.getElementById(veld).innerHTML = req.responseText; //retuen value
              } 
           }
        }
      req.open("GET", "getdealers.php?data=" + veld + "&sort=" + sortering + "&val=" + val + "&vnc=" + vnc); //make connection
      req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8"); // set Header
      req.send(null); //send value
     }
  }
function dochangeDSC(vnc, veld, what, sortering, val) 
  {var LengteVal = val.length;
   var val = val.substr(0,4);
   var CheckVal = parseInt(val);
   GetDealers = 0;
   if (what == 'typ')
     {if (LengteVal == 4)
        {if (CheckVal >= 1000 && CheckVal <= 9999)
           {SortButton = 'pc';
            ShowSortButton();
            GetDealers = 1;
           }
         else
           {sortering = 'woonplaats';
            SortButton = 'wp';
            ShowSortButton();
            GetDealers = 1;
           }
        }
     }
   else
     {if (sortering == 'postcode')
        {if (CheckVal >= 1000 && CheckVal <= 9999)
           {SortButton = 'pc';
            ShowSortButton();
            GetDealers = 1;
           }
         else
           {SortButton = 'wp';
            ShowSortButton();
            GetDealers = 1;
           }
        }
      else
        {SortButton = 'wp';
         ShowSortButton();
         GetDealers = 1;
        }
     }
     
   if (GetDealers == 1)
     {var req = Inint_AJAX();
      req.onreadystatechange = function () 
        {if (req.readyState==4) 
           {if (req.status==200) 
              {document.getElementById(veld).innerHTML = req.responseText; //retuen value
              } 
           }
        }
      req.open("GET", "getdscdealers.php?data=" + veld + "&sort=" + sortering + "&val=" + val + "&vnc=" + vnc); //make connection
      req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8"); // set Header
      req.send(null); //send value
     }
  }
  
function dochangelijst(veld, what, sortering, val) 
  {var LengteVal = val.length;
   var val = val.substr(0,4);
   var CheckVal = parseInt(val);
   GetDealers = 0;
   if (what == 'typ')
     {if (LengteVal == 4)
        {if (CheckVal >= 1000 && CheckVal <= 9999)
           {SortButton = 'pc';
            ShowSortButton();
            GetDealers = 1;
           }
         else
           {sortering = 'woonplaats';
            SortButton = 'wp';
            ShowSortButton();
            GetDealers = 1;
           }
        }
     }
   else
     {if (sortering == 'postcode')
        {if (CheckVal >= 1000 && CheckVal <= 9999)
           {SortButton = 'pc';
            ShowSortButton();
            GetDealers = 1;
           }
         else
           {SortButton = 'wp';
            ShowSortButton();
            GetDealers = 1;
           }
        }
      else
        {SortButton = 'wp';
         ShowSortButton();
         GetDealers = 1;
        }
     }
     
   if (GetDealers == 1)
     {var req = Inint_AJAX();
      req.onreadystatechange = function () 
        {if (req.readyState==4) 
           {if (req.status==200) 
              {document.getElementById(veld).innerHTML = req.responseText; //retuen value
              } 
           }
        }
      req.open("GET", "getdealerslijst.php?data=" + veld + "&sort=" + sortering + "&val=" + val); //make connection
      req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8"); // set Header
      req.send(null); //send value
     }
  }
   
     
function ShowProefrit()
  {if (document.dataentryfrm.elements['proefrit'].checked)
     {document.getElementById('ShowProefrit').style.display = 'block';
      document.getElementById('ShowTelReq1').style.display = 'block';
      document.getElementById('ShowTel1').style.display = 'none';
      document.getElementById('ShowTelReq2').style.display = 'block';
      document.getElementById('ShowTel2').style.display = 'none';
      document.getElementById('ShowTelReq3').style.display = 'block';
     }
   else
     {document.getElementById('ShowProefrit').style.display = 'none';
      document.getElementById('ShowTelReq1').style.display = 'none';
      document.getElementById('ShowTel1').style.display = 'block';
      document.getElementById('ShowTelReq2').style.display = 'none';
      document.getElementById('ShowTel2').style.display = 'block';
      document.getElementById('ShowTelReq3').style.display = 'none';
     }
  }
 
function CheckDatum(txtmodel, datumjaar, datummaand, datumdag, txtdatum, datebox)
  {var Datum = document.dataentryfrm.elements[datebox].value;
   var DatumArray = Datum.split("-");
   
   var fout  = 0;
   var Dag   = 0;
   var Maand = 0;
   var Jaar  = 0;
   
   Dag   = DatumArray[0];
   Maand = DatumArray[1];
   Jaar  = DatumArray[2];

   Dag   = parseFloat(Dag);
   Maand = parseFloat(Maand);
   Jaar  = parseFloat(Jaar);
   
   datumdag   = parseFloat(datumdag);
   datummaand = parseFloat(datummaand);
   datumjaar  = parseFloat(datumjaar);
   
   if (Dag < 1 || Dag > 31)
     dagfout = 1;
   else 
     dagfout = 0;
   if (Maand < 1 || Maand > 12)
     maandfout = 1;
   else
     maandfout = 0;
   if (Jaar < 2000 || Jaar > 2099)
     jaarfout = 1;
   else
     jaarfout = 0;
   fout = dagfout + maandfout + jaarfout;
   var Datum1 = new Date(Jaar, (Maand-1), Dag);
   var Datum2 = new Date(datumjaar, (datummaand-1), datumdag); // 21 april 2008 = 21-3-2008 (maanden beginnen bij 0)
   if (fout == 0)  
     {if (Datum1 < Datum2)
        {alert(txtmodel);}
      else if (Datum1.getDay() == 0)
        {alert('U kunt geen proefrit maken op zondag.');}
     }
       
  }
  
function SetChecked(val,CheckboxName,form)
  {dml=document.forms[form];
   len = dml.elements.length;
   var i=0;
   for( i=0 ; i<len ; i++) 
     {if (dml.elements[i].name==CheckboxName) 
       {dml.elements[i].checked=val;
       }
     }
  }
  
function GoToNextField(veld) {document.dataentryfrm.elements[veld].focus();}

function gotoadres(){document.dataentryfrm.adres.focus();}

function gotovoornaam(){document.dataentryfrm.voornaam.focus();}

function checkCapsLock( e ) {
    var myKeyCode=0;
    var myShiftKey=false;

    // Internet Explorer 4+
    if ( document.all ) {
        myKeyCode=e.keyCode;
        myShiftKey=e.shiftKey;

    // Netscape 4
    } else if ( document.layers ) {
        myKeyCode=e.which;
        myShiftKey=( myKeyCode == 16 ) ? true : false;

    // Netscape 6
    } else if ( document.getElementById ) {
        myKeyCode=e.which;
        myShiftKey=( myKeyCode == 16 ) ? true : false;

    }

    // Upper case letters are seen without depressing the Shift key, therefore Caps Lock is on
    if ( ( myKeyCode >= 65 && myKeyCode <= 90 ) && !myShiftKey ) {
        alert( errormsg[100] );

    // Lower case letters are seen while depressing the Shift key, therefore Caps Lock is on
    } else if ( ( myKeyCode >= 97 && myKeyCode <= 122 ) && myShiftKey ) {
        alert( errormsg[100] );

    }
}

function CalcKeyCode(aChar) {
  var character = aChar.substring(0,1);
  var code = aChar.charCodeAt(0);
  return code;
}

function checkHuisNumber(val) {
  var strPass = val.value;
  var strLength = strPass.length;
  var lchar = val.value.charAt((strLength) - 1);
  var cCode = CalcKeyCode(lchar);

  if (cCode < 48 || cCode > 57 ) 
    {var myNumber = val.value.substring(0, (strLength) - 1);
     val.value = myNumber;
     if (strLength>1)
       {if (!document.dataentryfrm.huisnummertoevoegsel.value == '')
          document.dataentryfrm.huisnummertoevoegsel.value = document.dataentryfrm.huisnummertoevoegsel.value + lchar;
        else
          document.dataentryfrm.huisnummertoevoegsel.value = lchar;
          
        if (!document.dataentryfrm.huisnummertoevoegsel.value == '')
          document.dataentryfrm.huisnummertoevoegsel.focus();
       }
    }
  return false;

  }
  
function checkNumber(val) {
  var strPass = val.value;
  var strLength = strPass.length;
  var lchar = val.value.charAt((strLength) - 1);
  var cCode = CalcKeyCode(lchar);
  if (cCode < 48 || cCode > 57 ) 
    {var myNumber = val.value.substring(0, (strLength) - 1);
     val.value = myNumber;
    }
  return false;
}

function submitenter(myfield,e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;

if (keycode == 13)
   {
   document.dataentryfrm.image.focus();
   return false;
   }
else
   return true;
}

function checkNumber(val) {
  var strPass = val.value;
  var strLength = strPass.length;
  var lchar = val.value.charAt((strLength) - 1);
  var cCode = CalcKeyCode(lchar);
  if (cCode < 48 || cCode > 57 ) 
    {var myNumber = val.value.substring(0, (strLength) - 1);
     val.value = myNumber;
    }
  return false;
}

function isMobiel(val) {
  var strPass = val.value;
  var strLength = strPass.length;
  var lchar = val.value.charAt((strLength) - 1);
  var cCode = CalcKeyCode(lchar);
  if (cCode < 48 || cCode > 57 ) 
    {var myNumber = val.value.substring(0, (strLength) - 1);
     val.value = myNumber;
    }
  return false;
}

function isEmpty(str){
  return (str == null) || (str.length == 0);
}

function isAlpha(str){
  var re = /[^a-zA-Z]/g
  if (re.test(str)) return false;
  return true;
}

function isNumeric(str){
  var re = /[\D]/g
  if (re.test(str)) return false;
  return true;
}

function isAlphaNumeric(str){
  var re = /[^a-zA-Z0-9]/g
  if (re.test(str)) return false;
  return true;
}

function isLength(str, len){
  return str.length == len;
}

function isLengthBetween(str, min, max){
  return (str.length >= min)&&(str.length <= max);
}

function isPhoneNumber(str){
  var re = /^\(?[2-9]\d{2}[\)\.-]?\s?\d{3}[\s\.-]?\d{4}$/
  return re.test(str);
}

function isDate(str){
  var re = /^(\d{1,2}) [\s\.\/-] (\d{1,2}) [\s\.\/-] (\d{4}) $/
  if (!re.test(str)) return false;
  var result = str.match(re);
  var y = parseInt(result[3]);
  var m = parseInt(result[1]);
  var d = parseInt(result[2]);
  if(m < 1 || m > 12 || y < 1900 || y > 2100) return false;
  if(m == 2){
          var days = ((y % 4) == 0) ? 29 : 28;
  }else if(m == 4 || m == 6 || m == 9 || m == 11){
          var days = 30;
  }else{
          var days = 31;
  }
  return (d >= 1 && d <= days);
}

function isMatch(str1, str2){
  return str1 == str2;
}

function isWhitespace(str){ // NOT USED IN FORM VALIDATION
  var re = /[\S]/g
  if (re.test(str)) return false;
  return true;
}

function stripWhitespace(str, replacement){// NOT USED IN FORM VALIDATION
  if (replacement == null) replacement = '';
  var result = str;
  var re = /\s/g
  if(str.search(re) != -1){
    result = str.replace(re, replacement);
  }
  return result;
}

function CloseWindow(browser)
  {if (browser.toLowerCase() == 'firefox') 
     window.open('','self','');
   window.close(); 
  }

/*
isEmail = true;          // valid email address
isAlpha = true;          // A-Z a-z characters only
isNumeric = true;        // 0-9 characters only
isAlphaNumeric = true;   // A-Z a-z 0-9 characters only
isLength = number;       // must be exact length
isLengthBetween = array; // [lowNumber, highNumber] must be between lowNumber and highNumber
isPhoneNumber = true;    // valid phone number. See "isPhoneNumber()" comments for the formatting rules
isDate = true;           // valid date. See "isDate()" comments for the formatting rules
isMatch = string;        // must match string
optional = true;         // element will not be validated
*/
