window.onload = function(){
  clearFormInput();
  blurLinks();
  document.getElementById('content_right_loader').style.display='none';
  document.getElementById('content_right').style.display='block';
}

/*
 kosten, portogrens
*/
function addPostalCosts(intInput, intLimit){
  if (isNumeric(intTotalCosts) && isNumeric(intLimit)){
    if(parseInt(intLimit) < parseInt(intTotalCosts)){
      document.getElementById('verzendkosten').value         = (parseInt(intTotalCosts)/100).toFixed(2).toString().replace('.', strDelimiter);
      document.getElementById('verzendkostenselected').value = 0;
      
    }else{
      if(isNumeric(intTotalCosts) && isNumeric(intLimit) && isNumeric(intInput)){
        document.getElementById('verzendkosten').value         = ((parseInt(intTotalCosts) + parseInt(intInput))/100).toFixed(2).toString().replace('.', strDelimiter);
        document.getElementById('verzendkostenselected').value = (parseInt(intInput)/100).toFixed(2).toString().replace('.', strDelimiter);
      }
    }
  }
}

function updatePostalCosts(intInput, intLimit) {
  var intVerzendkosten = new Number(intInput);

  if(intTotalCosts > intLimit) {
    var intVerzendkosten = new Number(0);
  }

  intExclbtw       = new Number(intTotalCosts + intVerwijderbijdrage + intVerzendkosten);
  intExclbtw       = intExclbtw / 10000;
  intExclbtw       = intExclbtw.toFixed(2);
  strExclbtw       = intExclbtw.toString();
  strExclbtw       = strExclbtw.replace('.',strDelimiter);

  intbtw           = new Number((intTotalCosts + intVerwijderbijdrage + intVerzendkosten) * 0.19);
  intbtw           = intbtw / 10000;
  intbtw           = intbtw.toFixed(2);
  strbtw           = intbtw.toString();
  strbtw           = strbtw.replace('.',strDelimiter);

  intInclbtw       = new Number((intTotalCosts + intVerwijderbijdrage + intVerzendkosten) + ((intTotalCosts + intVerwijderbijdrage + intVerzendkosten) * 0.19));
  intInclbtw       = intInclbtw / 10000;
  intInclbtw       = intInclbtw.toFixed(2);
  strInclbtw       = intInclbtw.toString();
  strInclbtw       = strInclbtw.replace('.',strDelimiter);

  intVerzendkosten = intVerzendkosten / 10000;
  intVerzendkosten = intVerzendkosten.toFixed(2);
  strVerzendkosten = intVerzendkosten.toString();
  strVerzendkosten = strVerzendkosten.replace('.',strDelimiter);
    
  document.getElementById('verzendkosten').innerHTML = strVerzendkosten;
  document.getElementById('exclbtw').innerHTML       = '<b>' + strExclbtw + '</b>';
  document.getElementById('btw').innerHTML           = strbtw;
  document.getElementById('inclbtw').innerHTML       = strInclbtw;
}

function setCookie(strCName, strCValue, intDaysToExp)
{
  var objDate = new Date();
  objDate.setDate(objDate.getDate() + intDaysToExp);
  document.cookie = strCName + "=" + escape(strCValue) + ((intDaysToExp == null) ? "" : ";expires=" + objDate.toGMTString());
}

function addArticle(){
  var strArticle = document.getElementById('artikelnummer').value;
  var intAantal  = document.getElementById('aantal').value;
  
  window.location.href = 'order_toevoegen.asp?art=' + encode64(strArticle) + '&qua=' +  encode64(intAantal) + '&confirm=yes&aid=no';
}

// This code was written by Tyler Akins and has been placed in the
// public domain.  It would be nice if you left this header intact.
// Base64 code from Tyler Akins -- http://rumkin.com

var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

function encode64(input) {
   var output = "";

   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   do {
      chr1 = input.charCodeAt(i++);
      chr2 = input.charCodeAt(i++);
      chr3 = input.charCodeAt(i++);

      enc1 = chr1 >> 2;
      enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
      enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
      enc4 = chr3 & 63;

      if (isNaN(chr2)) {
         enc3 = enc4 = 64;
      } else if (isNaN(chr3)) {
         enc4 = 64;
      }

      output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + 
         keyStr.charAt(enc3) + keyStr.charAt(enc4);
   } while (i < input.length);
   
   return output;
}

function decode64(input) {
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
   input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

   do {
      enc1 = keyStr.indexOf(input.charAt(i++));
      enc2 = keyStr.indexOf(input.charAt(i++));
      enc3 = keyStr.indexOf(input.charAt(i++));
      enc4 = keyStr.indexOf(input.charAt(i++));

      chr1 = (enc1 << 2) | (enc2 >> 4);
      chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
      chr3 = ((enc3 & 3) << 6) | enc4;

      output = output + String.fromCharCode(chr1);

      if (enc3 != 64) {
         output = output + String.fromCharCode(chr2);
      }
      if (enc4 != 64) {
         output = output + String.fromCharCode(chr3);
      }
   } while (i < input.length);

   return output;
}


function clearFormInput(){
  var arrInputs = document.getElementsByTagName('INPUT');

  for(var i=0;i<arrInputs.length;i++){
    if(arrInputs[i].type == 'text' && arrInputs[i].className != 'no_change'){
      arrInputs[i].onfocus = function(){        
        if(this.strOld == '' || this.strOld == undefined){
          this.strOld = this.value;
        }
        
        this.value = '';
      };
      
      arrInputs[i].onblur = function(){
        if(this.value == ''){
          this.value = this.strOld;
        }
      };
    }

    if(arrInputs[i].type == 'text' && arrInputs[i].className == 'input_numeric'){
      arrInputs[i].onchange = function(){
        if(isNaN(this.value.replace(',', '.'))){
          this.value = 0;
        }
      }
    }
  }
}

function blurLinks(){
  var arrLinks = document.getElementsByTagName('A');
  
  for(var i=0;i<arrLinks.length;i++){
    arrLinks[i].onfocus = function(){
      this.blur();
    }
  }
}


function showInfo(intId){
  if(document.getElementById('tr_' + intId)){
    document.getElementById('tr_' + intId).style.display = (document.all) ? 'block' : 'table-row';
  }
  
  if(document.getElementById('meerinfo_' + intId)){
    var objTo = document.getElementById('meerinfo_' + intId);
    
    objTo.innerHTML = 'minder info';
    objTo.className = 'minderinfo';
    
    objTo.onclick = function(){
      hideInfo(this.id.split('_')[1]);
      return false;
    };
  }
}

function hideInfo(intId){
    
  if(document.getElementById('tr_' + intId)){
    document.getElementById('tr_' + intId).style.display = 'none';
  }
  
  if(document.getElementById('meerinfo_' + intId)){
    var objTo = document.getElementById('meerinfo_' + intId);
    
    objTo.innerHTML = 'meer info';
    objTo.className = 'meerinfo';
    
    objTo.onclick = function(){
      showInfo(this.id.split('_')[1]);
      return false;
    };
  }
}

function toggleMoreInfo(intId) {
    if (document.getElementById('prod' + intId + '2').style.display == 'none') {
        document.getElementById('prod' + intId + '2').style.display = '';
        document.getElementById('image' + intId).rowSpan = '2';
        document.getElementById('moreinfoimg' +intId).style.background = 'transparent url(/_img/bg_more_less.gif) no-repeat scroll 0 0';
        document.getElementById('moreinfotext' + intId).innerHTML = 'Minder info';
    }
    else if (document.getElementById('prod' + intId + '2').style.display == '') {
        document.getElementById('prod' + intId + '2').style.display = 'none';
        document.getElementById('image' + intId).rowSpan = '1';
        document.getElementById('moreinfoimg' +intId).style.background = 'transparent url(/_img/bg_more_less.gif) no-repeat scroll 0 -9px';
        document.getElementById('moreinfotext' + intId).innerHTML = 'Meer info';
    }
}

var getElementsByClassName = function()
{
    // native
    if (document.getElementsByClassName)
    {
        return function(className, nodeName, parentElement)
        {
            var s = (parentElement || document).getElementsByClassName(className);

            if (nodeName && nodeName != '*')
            {
                nodeName = nodeName.toUpperCase();
                return Array.filter(s, function(el) { return el.nodeName == nodeName; });
            }
            else
                return [].slice.call(s, 0);
        }
    }

    // xpath
    if (document.evaluate)
    {
        return  function(className, nodeName, parentElement)
        {
            if (!nodeName) nodeName = '*';
            if (!parentElement) parentElement = document;

            var results = [], s, i = 0, element;

            s = document.evaluate(
                ".//" + nodeName + "[contains(concat(' ', @class, ' '), ' " + className + " ')]",
                parentElement,
                null,
                XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
                null
            );

            while ((element = s.snapshotItem(i++)))
                results.push(element);

            return results;
        }
    }

    // generic
    return function(className, nodeName, parentElement)
    {
        if (!nodeName) nodeName = '*';
        if (!parentElement) parentElement = document;

        var results = [], s, i = 0, element;
        var re = new RegExp('(^|\\s)' + className + '(\\s|$)'), elementClassName;

        s = parentElement.getElementsByTagName(nodeName);

        while ((element = s[i++]))
        {
            if (    (elementClassName = element.className) &&
                (elementClassName == className || re.test(elementClassName))
            )
                results.push(element);
        }

        return results;
    }
}();

function toggleMenu(id) {
    if (document.getElementById('submenu' + id).style.display == 'none') {
        document.getElementById('submenu' + id).style.display = 'block';
                }
                else {
        document.getElementById('submenu' + id).style.display = 'none';
                }
}

function toggleClass(current) {
    if (current.parentNode.className == '') {
           current.parentNode.className = 'subchilds';
                }
                else {
           current.parentNode.className = '';
                }
}

function showImage(productname,arrImages) {
    arrImages = arrImages.split(",");
    
    var strImageUrl;
    var strHTML;
    
    strImageUrl = 'https://' + document.location.hostname + '/_img/productimg/normal/';
    strHTML = ''

    document.getElementById('bigimage').src = strImageUrl + arrImages[0];
    document.getElementById('bigimage').alt = productname;
    document.getElementById('bigimage').title = productname;
    
    for (i = 0;i < arrImages.length;i++)
    {
        strHTML = strHTML + '<img src="/_img/productimg/popup_thumbs/' + arrImages[i] + '" height="78" border="0" alt="' + productname + '" title="' + productname + '" onclick="changeImage(\'' + arrImages[i] + '\');" style="cursor: pointer;" />';
    }
    document.getElementById('productname').innerHTML = productname;
    
    document.getElementById('imagecenter_thumbs').innerHTML = strHTML;

    document.getElementById('imagecontainer').style.display = 'block';
    document.getElementById('overlay').style.display = 'block';
}

function hideImage() {
    document.getElementById('overlay').style.display = 'none';
    document.getElementById('imagecontainer').style.display = 'none';
    
    var strImageUrl;
    var strHTML;
    strImageUrl = 'https://' + document.location.hostname + '/_img/';
    strHTML = '<img src="/_img/white.jpg" height="78" border="0" alt="Loading" title="Loading" />';

    document.getElementById('bigimage').src = strImageUrl + 'white.jpg';
    document.getElementById('bigimage').alt = 'Loading';
    document.getElementById('bigimage').title = 'Loading';
    document.getElementById('imagecenter_thumbs').innerHTML = strHTML;
    document.getElementById('productname').innerHTML = '';
}

function changeImage(image) {
    var strImageUrl;
    
    strImageUrl = 'https://' + document.location.hostname + '/_img/productimg/normal/';
    
    document.getElementById('bigimage').src = strImageUrl + image;
}

function isNumeric(value) {
    var anum=/(^\d+$)|(^\d+\.\d+$)|(^-\d+$)|(^-\d+\.\d+$)/
    
    if (anum.test(value)) {
        return true;
    }
    return false;
}

function increaseAmount(id,mba) {
    if (isNumeric(document.getElementById('aantal' + id).value)) {
        var intNewAmount
        intNewAmount = parseInt(document.getElementById('aantal' + id).value) + parseInt(mba);
        if (intNewAmount % parseInt(mba) > 0) {
            intNewAmount = intNewAmount - (intNewAmount % parseInt(mba));
        }
        document.getElementById('aantal' + id).value = intNewAmount;
    }
}

function decreaseAmount(id,mba) {
    if (isNumeric(document.getElementById('aantal' + id).value)) {
        var intNewAmount
        intNewAmount = parseInt(document.getElementById('aantal' + id).value) - parseInt(mba);
        if (intNewAmount < 0) {
            intNewAmount = 0;
        }
        if (intNewAmount % parseInt(mba) > 0) {
            intNewAmount = (intNewAmount - (intNewAmount % parseInt(mba))) + parseInt(mba);
        }
        document.getElementById('aantal' + id).value = intNewAmount;
    }
}

function checkAmount(id,mba) {
    if (isNumeric(document.getElementById('aantal' + id).value)) {
        var intNewAmount
        intNewAmount = parseInt(document.getElementById('aantal' + id).value);
        if (intNewAmount < 0) {
            intNewAmount = 0;
        }
        if (intNewAmount % parseInt(mba) > 0) {
            intNewAmount = (intNewAmount - (intNewAmount % parseInt(mba))) + parseInt(mba);
        }
        document.getElementById('aantal' + id).value = intNewAmount;
    }
}


function hl(objID,style) 
{ 
  objID.className  = style;
}

//---------------------------------------------------------------
// FUNCTION    : Toggle between Display "" and Display "none"
// AUTHOR(S)   : Ruud 
// MODIFY DATE : 06-07-2009 
//---------------------------------------------------------------
function togglePulldown(obj) {
 //var el = document.getElementById(obj);
 //if ( el.style.display != 'none' ) 
 // el.style.display = 'none'; 
 // else 
 //   el.style.display = 'block';
 $('.pulldownWrapper:not(#'+ obj + ')').hide();
 $('#' + obj).toggle();
}

//---------------------------------------------------------------
// FUNCTION    : Toggle to Display "none"
// AUTHOR(S)   : Ruud 
// MODIFY DATE : 09-07-2009 
//---------------------------------------------------------------
function toggleOff(obj) {
 var el = document.getElementById(obj);  
 el.style.display = 'none'; 
 document.getElementById('overlay').style.display = 'none'; 
}

//---------------------------------------------------------------
// FUNCTION    : Toggle to Display "block"
// AUTHOR(S)   : Ruud 
// MODIFY DATE : 09-07-2009 
//---------------------------------------------------------------
function toggleOn(obj) {
 var el = document.getElementById(obj);  
 el.style.display = 'block'; 
 document.getElementById('overlay').style.display = 'block'; 
}

////---------------------------------------------------------------
//// FUNCTION    : Toggle all checkbox
//// AUTHOR(S)   : Mark 
//// MODIFY DATE : 07-07-2009 
////---------------------------------------------------------------
//function setRefineItems(id, state, auto){
//// field = $$('#pulldownBrands input')
// if (document.getElementById('count' + id)){
//   lengthvar = document.getElementById('count' + id).value;
//   if (state && auto) {
//    flag = false;
//    for (i = 1; i <= lengthvar; i++){
//     ref_id = 'refineBrandII' + i;
//     obj = document.getElementById(ref_id);
//     if (obj){
//      if (obj.checked) {
//       alert('count' + id);
//      flag = true;
//     break;
//      }
//     }
//   }
//   if (flag) {
//    
//    $('#refineBrandShowAllTrue').setStyle('display','block')
//    $('#refineBrandShowAllFalse').setStyle('display','none')
//    $('#refineBrandTrue').checked = false;
//    $ES('label', 'pulldownBrands').setStyle('color', '#202b60')
//    $ES('label', 'pulldownBrands').setStyle('cursor', 'pointer')
//    $('refineBrandFalse').disabled = false;
//    //$('showRefine').disabled = false
//    return;
//   }
//  }
//
//  for (i = 1; i <=lengthvar; i++){
//     ref_id = 'refineBrandII' + i;
//     obj    = document.getElementById(ref_id);
//     if (obj){
//       obj.checked = state;
//       obj.disabled = state;
//     }
// }
//
//   if (state==true){
//    $('refineBrandFalse').checked = true;
//   //  $ES('label', 'pulldownBrands').setStyle('color', '#b6bacf')
//   //  $ES('label', 'pulldownBrands').setStyle('cursor', 'auto')
//     $('refineBrandShowAllTrue').setStyle('display','none')
//     $('refineBrandShowAllFalse').setStyle('display','block')
//     $('refineBrandShowAllFalse').setStyle('color', '#202b60')
//     $('refineBrandShowAllFalse').setStyle('cursor', 'pointer')
//  }
//   else if (state==false){
//    $('refineBrandShowAllTrue').setStyle('display','block')
//     $('refineBrandShowAllFalse').setStyle('display','none')
//     $('refineBrandTrue').checked = false;
//   //  $ES('label', 'pulldownBrands').setStyle('color', '#202b60')
//   //  $ES('label', 'pulldownBrands').setStyle('cursor', 'pointer')
//   }
//   $('refineBrandFalse').disabled = false
//  $('showRefine').disabled = false
// }
//}

function removeText(objTo, state){
  var strCurrentScope = objTo.value;
  objTo.onblur = function(){
    if(this.value == ''){
      this.value = strCurrentScope;
   if (state == true) {
    hl(objTo, 'bgcb');
   }
    }
  }
  objTo.value = '';
}

function clearSearch() {
  var searchElement = document.getElementById('sq')
  if (searchElement.value == 'Vul een artikelnummer, artikelnaam, omschrijving, EAN-code of een merk in...') {
    searchElement.value = '';
    searchElement.style.color = '#000000';
  }
}

var advFilledCheckboxes = new Array();

function getAdvNonFilledCheckboxes() {
  advFilledCheckboxes = []
  var x = 0
  var inputs = document.getElementById('aquery').getElementsByTagName('input');
  for(i=0;i<inputs.length;i++) {
    if(inputs[i].type == 'checkbox') {
      if(inputs[i].value != '' && inputs[i].checked == false) {
        advFilledCheckboxes[x] = 'prop' + inputs[i].value;
        x++;
      }
    }
  }
}

function setFilter() {
  getAdvNonFilledCheckboxes();
  for(i=0;i<productsArray.length;i++) {
    var productProperties = document.getElementById('prod' + productsArray[i] + '0').className.split(' ');
    var showRow = true;
    for(x=0;x<productProperties.length;x++) {
      if(advFilledCheckboxes.join().indexOf(productProperties[x]) != -1) {
        showRow = false;
        break;
      }
    }
    if(showRow) {
      document.getElementById('prod' + productsArray[i] + '0').style.display = '';
      document.getElementById('prod' + productsArray[i] + '1').style.display = '';
      //document.getElementById('prod' + productsArray[i] + '2').style.display = '';
      document.getElementById('prod' + productsArray[i] + '3').style.display = '';
      document.getElementById('prod' + productsArray[i] + '4').style.display = '';
    }
    else {
      document.getElementById('prod' + productsArray[i] + '0').style.display = 'none';
      document.getElementById('prod' + productsArray[i] + '1').style.display = 'none';
      //document.getElementById('prod' + productsArray[i] + '2').style.display = 'none';
      document.getElementById('prod' + productsArray[i] + '3').style.display = 'none';
      document.getElementById('prod' + productsArray[i] + '4').style.display = 'none';
    }
  }
}

function toggleAllItems(element) {
  var wrapper = $(element).parent().parent().parent().attr('id');
  var checkedStatus = $(element).attr('checked');
  $("#" + wrapper + " INPUT[type='checkbox']").attr('checked', checkedStatus);
}

function checkAllItems(element) {
  var wrapper = $(element).parent().parent().attr('id');
  var checkedStatus = true;
  $("#" + wrapper + " INPUT[type='checkbox']").attr('checked', checkedStatus);
}

function uncheckAllItems(element) {
  var wrapper = $(element).parent().parent().attr('id');
  var checkedStatus = false;
  $("#" + wrapper + " INPUT[type='checkbox']").attr('checked', checkedStatus);
}

function setFocus(field) {
  var fieldset = document.getElementById(field);
  if (fieldset) {
    fieldset.focus();
  }
}

function enterSubmit(form) {
 form = document.getElementById(form);
  if (window.event) {
    if (window.event.keyCode == 13) {
      form.submit();
    }
  return false;
  }
}

function enterSubmitNonForm(id) {
 id = document.getElementById(id);
  if (window.event) {
    if (window.event.keyCode == 13) {
      id.submit();
    }
  return false;
  }
}

//---------------------------------------------------------------
// FUNCTION    : Workaround voor een script fout
// AUTHOR(S)   : Mark 
// MODIFY DATE : 20-08-2009 
//---------------------------------------------------------------
function triggerSession(time) {
 time = time;
}

function resetBorder() {
  var thumbs = document.getElementById('smallimages').childNodes;
  for(i=0;i<thumbs.length;i++) {
    if(thumbs[i].nodeName=='IMG') {
      thumbs[i].style.border='1px solid #D5D5D5';
    }
  }
}