function addOnLoad(fn)
{ 
   var old = window.onload;
   window.onload = function()
   {
       old();
       fn();
   };
}















var scriptBaseHref;
function getBase()
{
 var baseTag = document.getElementsByTagName("base");
 for(var i=0; i<baseTag.length; i++)
 {
      var baseId = baseTag[i].id;
      var baseHref = baseTag[i].href;
      scriptBaseHref = baseHref;
 }
}

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 getCookie(name) {
 var dc = document.cookie;
 var prefix = name + "=";
 var begin = dc.indexOf("; " + prefix);
 if (begin == -1) {
   begin = dc.indexOf(prefix);
   if (begin != 0) return null;
 } else
   begin += 2;
 var end = document.cookie.indexOf(";", begin);
 if (end == -1)
   end = dc.length;
 return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie(name, path, domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}


function fixDate(date) {
  var base = new Date(0);
  var skew = base.getTime();
  if (skew > 0)
    date.setTime(date.getTime() - skew);
}

function toggle_adres(afhandeling)
{
 isChecked = document.getElementById('bezorg_factuur').checked;
 if(isChecked)
 {
  document.getElementById('bezorg_adres_title').style.display  = 'none';
  document.getElementById('bezorg_adres_straat').style.display  = 'none';
  document.getElementById('bezorg_adres_plaats').style.display  = 'none';
  document.getElementById('bezorg_adres_postcode').style.display  = 'none';
  document.getElementById('bezorg_adres_straat_field').style.display = 'none';
  document.getElementById('bezorg_adres_plaats_field').style.display = 'none';
  document.getElementById('bezorg_adres_postcode_field').style.display = 'none';
 }else{
  if(afhandeling == "bezorgen" || !afhandeling)
  {
   document.getElementById('bezorg_adres_title').style.display  = 'block';
   document.getElementById('bezorg_adres_straat').style.display  = 'block';
   document.getElementById('bezorg_adres_plaats').style.display  = 'block';
   document.getElementById('bezorg_adres_postcode').style.display  = 'block';
   document.getElementById('bezorg_adres_straat_field').style.display = 'block';
   document.getElementById('bezorg_adres_plaats_field').style.display = 'block';
   document.getElementById('bezorg_adres_postcode_field').style.display = 'block';
  }else{
   document.getElementById('bezorg_adres_title').style.display  = 'none';
   document.getElementById('bezorg_adres_straat').style.display  = 'none';
   document.getElementById('bezorg_adres_plaats').style.display  = 'none';
   document.getElementById('bezorg_adres_postcode').style.display  = 'none';
   document.getElementById('bezorg_adres_straat_field').style.display = 'none';
   document.getElementById('bezorg_adres_plaats_field').style.display = 'none';
   document.getElementById('bezorg_adres_postcode_field').style.display = 'none';
  }
 }
}


function show_datum(what){
 if(what == "afhalen")
 {
  document.getElementById('datum_afhalen').style.display  = 'block';
  document.getElementById('datum_afhalen_2').style.display = 'block';
  document.getElementById('datum_bezorgen').style.display  = 'none';
  document.getElementById('bezorg_adres').style.display  = 'none';
  toggle_adres('afhalen');
  
 }else{
  document.getElementById('datum_afhalen').style.display  = 'none';   
  document.getElementById('datum_bezorgen').style.display  = 'block';
  document.getElementById('datum_afhalen_2').style.display = 'none';
  document.getElementById('bezorg_adres').style.display  = 'block';
  toggle_adres('bezorgen');
 }
 
 document.getElementById('datum_input').style.display  = 'block';
}

function check_aanhef(){

 var form = document.getElementById('gegevens');
 if(form.aanhef.value == "firma")
 {
  document.getElementById('tav').style.display    = 'block';
  document.getElementById('tav_under').style.display   = 'block';
  document.getElementById('tav_bedrijfsnaam_1').style.display  = 'block';
  document.getElementById('tav_bedrijfsnaam_2').style.display  = 'block';
  
 }else{
  document.getElementById('tav').style.display    = 'none';
  document.getElementById('tav_under').style.display   = 'none';
  document.getElementById('tav_bedrijfsnaam_1').style.display  = 'none';
  document.getElementById('tav_bedrijfsnaam_2').style.display  = 'none';
 }

}

function check_aanhef2(){

 var form = document.getElementById('bestelling');
 if(form.aanhef.value.toLowerCase() == "firma")
 {
  document.getElementById('tav').style.display    = 'block';
  document.getElementById('tav_under').style.display   = 'block';
  document.getElementById('tav_bedrijfsnaam_1').style.display  = 'block';
  document.getElementById('tav_bedrijfsnaam_2').style.display  = 'block';
  
 }else{
  document.getElementById('tav').style.display    = 'none';
  document.getElementById('tav_under').style.display   = 'none';
  document.getElementById('tav_bedrijfsnaam_1').style.display  = 'none';
  document.getElementById('tav_bedrijfsnaam_2').style.display  = 'none';
 }

}

function clearRadios() {
 if(document.getElementById('select_land').value != "Nederland")
 {
  document.getElementById('bestel_cc').checked = true;
  selectVal = true;
  hide('hidden_incasso')
 }else
 {
  selectVal = false;
 }
 
 var radio = document.forms[0].elements['bestel'];
 var i = radio.length;
 while (i--) radio[i].disabled = selectVal;
}

function show(what){
 if(document.getElementById('creditcard').checked == true)
 {
  document.getElementById('creditcard_info').style.display  = 'block';
  document.getElementById('incasso_info').style.display   = 'none';
  document.getElementById('rekening_info').style.display   = 'none';
  document.getElementById('incasso_gegevens').style.display  = 'none';
  document.getElementById('winkel_info').style.display   = 'none';
 }
 if(document.getElementById('incasso').checked == true)
 {
  document.getElementById('creditcard_info').style.display  = 'none';
  document.getElementById('incasso_info').style.display   = 'block';
  document.getElementById('rekening_info').style.display   = 'none';
  document.getElementById('incasso_gegevens').style.display  = 'block';
  document.getElementById('winkel_info').style.display   = 'none';
 }
 if(document.getElementById('rekening').checked == true)
 {
  document.getElementById('creditcard_info').style.display  = 'none';
  document.getElementById('incasso_info').style.display   = 'none';
  document.getElementById('rekening_info').style.display   = 'block';
  document.getElementById('incasso_gegevens').style.display  = 'none';
  document.getElementById('winkel_info').style.display   = 'none';
 }
 if(document.getElementById('winkel').checked == true)
 {
  document.getElementById('creditcard_info').style.display  = 'none';
  document.getElementById('incasso_info').style.display   = 'none';
  document.getElementById('rekening_info').style.display   = 'none';
  document.getElementById('incasso_gegevens').style.display  = 'none';
  document.getElementById('winkel_info').style.display   = 'block';
 }
}

function hide(what){
 document.getElementById(what).style.display = 'none';
 document.getElementById('rekening_nr').value = '';
 document.getElementById('rekening_naam_van').value = '';
}

window.onload = function(){
 if (!document.getElementsByTagName) return;
 
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++)
 {
  var anchor = anchors[i];
  if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external")
   anchor.target = "_blank";
 }
 
 getBase()
}

function checkQuery()
{
 var query = document.forms['zoeken'].search.value.length;
 if (query >= 2)
 {
  return true;
 }else
 {
  alert('Uw zoekopdracht is te kort.');
  return false;
 }
}

function toCart(nr)
{
 document.forms[nr].submit();
}

function validateLijstToegang()
{
 var form;
 var error;
 form = document.getElementById('lijst');
 error = "De volgende velden zijn foutief ingevuld:";
 if(form.naam.value == 0)
 {
  error = error + "\n -Naam moet zijn ingevuld.";
 } 
 if(!isNumeric(form.dag.value) || form.dag.value == "")
 {
  error = error + "\n -Dag moet een nummer zijn.";
 }
 if(!isNumeric(form.maand.value) || form.maand.value == "")
 {
  error = error + "\n -Maand moet een nummer zijn.";
 }
 if(!isNumeric(form.jaar.value) || form.jaar.value == "")
 {
  error = error + "\n -Jaar moet een nummer zijn.";
 }
 
 if(error == "De volgende velden zijn foutief ingevuld:")
 { 
  return true;
 }else{
  alert(error);
  return false;
 }
}


function isNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}

function checkChars(sText, chars)
{
   var ValidChars = chars;
   var correct=true;
   var Char;
 
   for (i = 0; i < sText.length && correct == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
          correct = false;
         }
      }
   return correct;
}

function validateBedrag(maxbon)
{
 var form = document.getElementById('addbon');
 var chars = '0123456789';
 var error = ' Het ingevulde bedrag is onjuist: ';
 if((maxbon >= form.bonbedrag.value || maxbon == 10000) && checkChars(form.bonbedrag.value, chars))
 {
  return true;
 }else{
  if(maxbon < form.bonbedrag.value && maxbon != 10000)
  {
   error = error + "\n -Het ingevulde bedrag is te hoog."
  }
  if(!checkChars(form.bonbedrag.value, chars))
  {
   error = error + "\n -U kunt alleen een nummeriek getal invullen (" + chars + ") en alleen hele bedragen."
  }
  alert(error);
  return false;
 }
}

function validateBedragEN(maxbon)
{
 var form = document.getElementById('addbon');
 var chars = '0123456789';
 var error = 'The entered gift voucher ammount is invalid: ';
 if((maxbon >= form.bonbedrag.value || maxbon == 10000) && checkChars(form.bonbedrag.value, chars))
 {
  return true;
 }else{
  if(maxbon < form.bonbedrag.value && maxbon != 10000)
  {
   error = error + "\n -The given ammount is too high."
  }
  if(!checkChars(form.bonbedrag.value, chars))
  {
   error = error + "\n -You can only use an ammount that does not contain decimals please try again."
  }
  alert(error);
  return false;
 }
}
function toggle(to)
{
 switch (to)
 {
  case 'cc':
   document.getElementById('cc').style.display = 'block';
   document.getElementById('rekening').style.display = 'none';
   document.getElementById('incasso').style.display = 'none';
   document.getElementById('winkel').style.display = 'none';
   
   break;
  case 'rekening':
   document.getElementById('rekening').style.display = 'block';
   document.getElementById('cc').style.display = 'none';
   document.getElementById('incasso').style.display = 'none';
   document.getElementById('winkel').style.display = 'none';
   break;
  case 'incasso':
   document.getElementById('rekening').style.display = 'none';
    document.getElementById('cc').style.display = 'none';
   document.getElementById('incasso').style.display = 'block';
   document.getElementById('winkel').style.display = 'none';
   break;
  case 'kassa':
   document.getElementById('rekening').style.display = 'none';
    document.getElementById('cc').style.display = 'none';
   document.getElementById('kassa').style.display = 'block';
   break;
  case 'rekeningwinkel':
   document.getElementById('rekening').style.display = 'block';
    document.getElementById('cc').style.display = 'none';
   document.getElementById('kassa').style.display = 'none';
   break; 
 }
}

function select()
{
 document.getElementById('betalingswijzerekening').checked = true;
}

function validateOrder(obj)
{
  var form = document.getElementById(obj);
  var errors = 0
  var error = "De volgende velden moeten ingevuld zijn: \n";
 
  if(form.naam.value == "")
  {
   error = error + " -U bent uw naam vergeten in te vullen.\n";
   errors += 1;
  }
  if(form.adres.value == "")
  {
   error = error + " -U bent uw adres vergeten in te vullen.\n";
   errors += 1;
  }
  if(form.woonplaats.value == "")
  {
   error = error + " -U bent uw woonplaats vergeten in te vullen.\n";
   errors += 1;
  }
  if(form.land.value == "")
  {
   error = error + " -U bent het veld \"land\" vergeten in te vullen.\n";
   errors += 1;
  }
  if(form.postcode.value == "")
  {
   error = error + " -U bent uw postcode vergeten in te vullen.\n";
   errors += 1;
  }
  if(form.telefoon.value == "")
  {
   error = error + " -U bent uw telefoonnummer vergeten in te vullen.\n";
   errors += 1;
  }
  if(form.telefoon.value.length < 10)
  {
   error = error + " -Het ingevoerde telefoonnummer is te kort.\n";
   errors += 1;
  }
  if(!checkChars(form.telefoon.value, '0123456789-'))
  {
   error = error + " -Er is geen geldig telefoonnummer ingevoerd (geen spaties, alleen cijfers).\n";
   errors += 1;
  }
  if(form.email.value == "")
  {
   error = error + " -U bent uw e-mail adres vergeten in te vullen.\n";
   errors += 1;
  }
  if(form.namens.value == "")
  {
   error = error + " -U bent het veld \"Cadeau namens\" vergeten in te vullen.\n";
   errors += 1;
  }
  if(form.kaartje.value == "")
  {
   error = error + " -U bent een tekst voor op het kaartje vergeten in te vullen.\n";
   errors += 1;
  }  
  if(!isEmail(form.email.value))
  {
   error = error + " -U heeft geen geldig e-mail adres in gevuld.\n";
   errors += 1;
  }
  if(document.getElementById('betalingswijzeincasso').checked)
  {
   if(form.rekeningnr.value == "")
   {
    error = error + "\n\n -U bent uw rekeningnummer vergeten in te vullen.\n";
    errors += 1;
   }
   if(!checkChars(form.rekeningnr.value, '0123456789 '))
   {
    error = error + " -Uw rekening nummer bevat ongeldige karakters (gebruik aleen: \"0123456789 \").\n";
    errors += 1;
   }
   if(form.naambank.value == "")
   {
    error = error + " -U bent de naam van uw bank vergeten in te vullen.\n";
    errors += 1;
   }
   if(form.akkoord.checked == false){
    error = error + "\n\n -Om eenmalig het bedrag van uw rekening af te schrijven moet uw accoord gaan.\n";
    errors += 1;
   }   
  }
  
  if(errors == 0){
   return true;
  }else{
   alert(error);
   return false;
  }
}



function validateOrderEN(obj)
{
  var form = document.getElementById(obj);
  var errors = 0
  var error = "The followingfields must be filled in: \n";
 
  if(form.naam.value == "")
  {
   error = error + " -No name was submitted.\n";
   errors += 1;
  }
  if(form.adres.value == "")
  {
   error = error + " -No address was submitted.\n";
   errors += 1;
  }
  if(form.woonplaats.value == "")
  {
   error = error + " -No residential area was submitted.\n";
   errors += 1;
  }
  if(form.land.value == "")
  {
   error = error + " -You did not submit the country you live in.\n";
   errors += 1;
  }
  if(form.postcode.value == "")
  {
   error = error + " -You forgot enter your postalcode.\n";
   errors += 1;
  }
  if(form.telefoon.value == "")
  {
   error = error + " -No telephonenumber was submitted.\n";
   errors += 1;
  }
  if(form.telefoon.value.length < 10)
  {
   error = error + " -The entered phonenumber was too sort, at least a network code + phonenumber is required (if possible the country code).\n";
   errors += 1;
  }
  if(form.email.value == "")
  {
   error = error + " -No email address was submitted.\n";
   errors += 1;
  }
  if(form.namens.value == "")
  {
   error = error + " -You forgot to enter the \"Card by\" field.\n";
   errors += 1;
  }
  if(form.kaartje.value == "")
  {
   error = error + " -You did not enter any text to put on the card with the gift.\n";
   errors += 1;
  }  
  if(!isEmail(form.email.value))
  {
   error = error + " -You have not sumbitted a valid email address.\n";
   errors += 1;
  }
  if(document.getElementById('betalingswijzeincasso').checked)
  {
   if(form.rekeningnr.value == "")
   {
    error = error + "\n\n -You forgot to enter your bankaccountnumber.\n";
    errors += 1;
   }
   if(!checkChars(form.rekeningnr.value, '0123456789 '))
   {
    error = error + " -Your bankaccountnumber contained invalid characters (only make use of: \"0123456789 \").\n";
    errors += 1;
   }
   if(form.naambank.value == "")
   {
    error = error + " -You forgot to submit the accountholdername for the bankaccount.\n";
    errors += 1;
   }
   if(form.akkoord.checked == false){
    error = error + "\n\n -To withdraw a onetime ammount from your bank you need to agree with our terms.\n";
    errors += 1;
   }   
  }
  
  if(errors == 0){
   return true;
  }else{
   alert(error);
   return false;
  }
}

function isEmail(str) {
 var supported = 0;
 if (window.RegExp) {
  var tempStr = "a";
  var tempReg = new RegExp(tempStr);
  if (tempReg.test(tempStr)) supported = 1;
 }
 if (!supported)  return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
 
 var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
 var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
 return (!r1.test(str) && r2.test(str));
}

function check_gegevens()
{
 var form = document.getElementById('gegevens');
 var errors = 0
 var error = "De volgende velden moeten ingevuld zijn: \n";
 
 if(!checkChars(form.telefoon.value, '0123456789-') || form.telefoon.value.length < 1)
 {
  error = error + " -Het ingevoerde telefoonnummer is onjuist.\n";
  errors += 1;
 }
 
 if(!isEmail(form.email.value))
 {
  error = error + " -Het ingevoerde e-mail adres is onjuist.\n";
  errors += 1;
 }
 
 if(errors == 0)
 {
  document.forms['gegevens'].submit();
 }else{
  alert(error);
 }
}

document.getElementsByClassName = function (needle)
{
    var s = [document.documentElement || document.body], i = 0, r = [], l = 0, e;
    var re = new RegExp('(^|\\s)' + needle + '(\\s|$)');

    do
    {
        e = s[i];

        while (e)
        {
            if (e.nodeType == 1)
            {
                if (e.className && re.test(e.className)) r[l++] = e;

                s[i++] = e.firstChild;
            }

            e = e.nextSibling;
        }
    }
    while (i--);

    return r;
}

function delCart()
{
 var obj = document.getElementsByClassName("check_winkel"), i, check;
 var checked = new Array();
 
 for (i = 0; i < obj.length; i++) {
     if(obj[i].checked) checked[i] = obj[i].id.substring(obj[i].id.indexOf("c") + 1, obj[i].id.length);
 }
 
 check = checked.join();
 if(check.indexOf(',') == 0) check = check.substring(check.indexOf(",") + 1, check.length);
 if(check.lastIndexOf(',') == check.length - 1) check = check.substring(0, check.lastIndexOf(","));
 
 window.location.href = scriptBaseHref + 'del.asp?range=' + check;
}

function submitMulti()
{
 var objItems = document.getElementsByClassName("item_hook"), i, check;
 var objProducts  = document.getElementsByClassName("product_hook");
 var itemArray = new Array();
 var productArray = new Array();
 
 for (i = 0; i < objItems.length; i++)
 {
     if(objItems[i].value > 0)
     {
      itemArray[itemArray.length] = objItems[i].value;
      productArray[productArray.length] = objProducts[i].value;
     }
 }
 
 window.location.href = scriptBaseHref + 'addmulti.asp?products=' + escape(productArray.join()) + '&aantal=' + escape(itemArray.join());
}

function checkRegion(){
 var form = document.getElementById('bestelling');
 
 if(form.land.value.toLowerCase() != "nederland"){
  form.betalingswijzecc.checked = true;
  form.betalingswijzerekening.disabled = true;
  form.betalingswijzeincasso.disabled = true;
 }else{
  form.betalingswijzerekening.disabled = false;
  form.betalingswijzeincasso.disabled = false;
 }
}

function addMultiple(){
 
 var formElements = document.getElementsByTagName('input');
 var ids = new Array();
 var amount = new Array();
 var max = new Array();
 var cleanIds = new Array();
 var cleanAmount = new Array();
  
 for (var i = 0; i < formElements.length; i++)
 {
  if(formElements[i].id == 'id')
  {
   ids[ids.length] = formElements[i].value;
  }
  if(formElements[i].id == 'aantal')
  {
   amount[amount.length] = formElements[i].value;
  }
  if(formElements[i].id == 'max')
  {
   max[max.length] = formElements[i].value;
  }
 }
 
 for(var i = 0; i < amount.length; i++)
 {
  if(!isNaN(amount[i]) && amount[i] > 0 && amount[i].indexOf(',') < 1 && amount[i].indexOf('.') < 1 && parseInt(max[i]) >= parseInt(amount[i]))
  {
   cleanIds[cleanIds.length] = ids[i];
   cleanAmount[cleanAmount.length] = amount[i];
  }
 }
 
 if(cleanIds.concat() != '')
 {
  if(scriptBaseHref == undefined)
  {
   window.location.href = 'addmultiple.asp?ids=' +  cleanIds.concat() + '&amount=' + cleanAmount.concat();
  }else{
   window.location.href = scriptBaseHref + 'addmultiple.asp?ids=' +  cleanIds.concat() + '&amount=' + cleanAmount.concat();
  }
 }else{
  alert('Er zit een fout in het geselecteerde aantal, het aantal moet een geheel getal zijn en kleiner zijn dan het maximaal te geven aantal.');
 }
}



// volgende is voor de trouwlijsten kaartje en namens velden:
function functiekeydown() {
if (document.getElementById('textkaartje').value == document.getElementById('defaultext').value) {
document.getElementById('textkaartje').value = '';
document.getElementById('kaartje').innerHTML='';
}
if (document.getElementById('textkaartje').value.length > 135) {
document.getElementById('textkaartje').value = document.getElementById('textkaartje').value.substring(0, 135);
}
document.getElementById('beschikbaarchars').innerHTML= 135 - document.getElementById('textkaartje').value.length + '';
}
function functieonclick() {
if (document.getElementById('textkaartje').value == document.getElementById('defaultext').value) {
	document.getElementById('textkaartje').value = '';
	document.getElementById('kaartje').innerHTML='';
	select();
};
}
function functiekeyup() {
document.getElementById('kaartje').innerHTML=document.getElementById('textkaartje').value.replace(new RegExp('\\n', 'g'), '<br />');
}
function functiekeydownnamens() {
if (document.getElementById('namens').value.length > 50) {
document.getElementById('namens').value = document.getElementById('namens').value.substring(0, 50);
}
document.getElementById('beschikbaarchars2').innerHTML= 50 - document.getElementById('namens').value.length + '';
}
function functiekeyupnamens() {
document.getElementById('spannamens').innerHTML=document.getElementById('namens').value.replace(new RegExp('\\n', 'g'), '');
}