  function elapsed (v) {
    var d = new Date();
    var dif = Math.round((d.getTime() - v)/1000);
    if (dif < 60) {
      return dif+" seconden geleden";
    }
    dif = Math.round(dif/60);
    if (dif < 60) {
      return dif+" minuten geleden";
    }
    dif = Math.round(dif/60);
    if (dif < 60) {
      return dif+" uren geleden";
    }
    dif = Math.round(dif/24);
    return dif+" dagen geleden";
  }

  function showtab (c, total) {
    for (var i = 0; i < total; i++) {
      if (i == c) {
        document.getElementById ('tab_'+i).style.display= 'block';
        $('submenu_'+i).addClassName('menu_selected')
      }
      else {
        document.getElementById ('tab_'+i).style.display= 'none';
        $('submenu_'+i).addClassName('menu_notselected')
      }
    }
  }

function toggleContent(id, hideLabel, showLabel) {
  var elm = document.getElementById('content_' + id);
  var imgElm = document.getElementById('pointer_' + id);
  var imgDarkElm = document.getElementById('pointer_dark_' + id);
  var lnkElm = document.getElementById('togglelink_' + id);
  if (elm.style.display == 'none') {
    elm.style.display = 'block';
    if (imgElm) imgElm.src = '/v2/images/action_pointer_down.gif';
    if (imgDarkElm) imgDarkElm.src = '/v2/images/action_pointer_dark_down.gif';
    if (lnkElm) lnkElm.innerHTML = hideLabel;
  } else {
    elm.style.display = 'none';
    if (imgElm) imgElm.src = '/v2/images/action_pointer.gif';
    if (imgDarkElm) imgDarkElm.src = '/v2/images/action_pointer_dark.gif';
    if (lnkElm) lnkElm.innerHTML = showLabel;
  }
}

function postProcessUpdateKeypress(box, id) {
  var val = box.value; 
  updateStatusTextCharCounter(val, id);
}

function updateStatusTextCharCounter(value, id) {
  $j('#chars_left_notice_' + id).html((400 - value.length) + " karakters over");
  
  if (value.length > 400) {
    $j('#chars_left_notice_' + id).css({ color: '#d40d12' });
  } else if (value.length > 375) {
    $j('#chars_left_notice_' + id).css({ color: '#5c0002' });
  } else {
    $j('#chars_left_notice_' + id).css({ color: '#aaaaaa' });
  }
}

function addCalendarDate(dayElm, monthElm, yearElm, datelistId) {
  var day = dayElm.val();
  var month = monthElm.val();
  var year = yearElm.val();
  if (day == '' || month == '' || year == '') {
    alert('Je moet alle velden opgeven.');
  } else {
    var id = $j('#' + datelistId).children().length;
    var date = new Date(Date.UTC(year, month, day));
    $j('#' + datelistId).append('<div id="addkalender_datelist_' + id + '" class="ppt_form_row"><label class="ppt_form_label">' + date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear() + '</label><a class="left" onclick="removeCalendarDate(\'' + datelistId + '_' + id + '\'); return false;" href="#">verwijder</a><input type="hidden" name="customDate' + id + '" value="' + date.getTime() + '"/></div>');
  }
}

function removeCalendarDate(id) {
  $j('#' + id).remove();
}

function confirmAndForward(anchor, message) {
  if (confirm(message)) {
    document.location=anchor.href;
  }
}

/** valid email will return true */
function validateEmail(val){var emailPattern=/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;return emailPattern.test(val);}
function validateEuroNumber(val){var numberPattern=/(^-?[1-9](\d{1,2}(\.\d{3})*|\d*)|^0{1})(,\d{1,2})?$/;return numberPattern.test(val);}