var ERRORMSG_DATE = 'Datum foutief';

function UnCryptMeeltoe(s) {
  var n=0;
  var r="";
  for(var i=0; i < s.length; i++) {
    n=s.charCodeAt(i);
    if (n>=8364) {n = 128;}
    r += String.fromCharCode(n-(1));
  }
  return r;
}
  // JS function for uncrypting spam-protected emails:
function linkTo_UnCryptMeeltoe(s)  {
  location.href=UnCryptMeeltoe(s);
}

function showErrorMessage(obj, msg)
{
  if (msg != '') {
    alert(msg);
  }
}

function CheckDate(obj, eeuwwissel, hideerror)
{
  var Result = true;

  var mandatory = obj.getAttribute('mandatory');
  if (mandatory == null) {
    mandatory = false;
  }

  if (!eeuwwissel) {
    eeuwwissel = 30;
  }

  var v = obj.value;

  // vervang spatie, punt en slash door streepje
  var re;
  re = new RegExp(' ', 'g');
  v = v.replace(re, '-');
  re = new RegExp('/', 'g');
  v = v.replace(re, '-');
  re = new RegExp('\\.', 'g');
  v = v.replace(re, '-');

  // splits op streepje
  arr = v.split('-');

  if (arr.length == 3) {
    d = arr[0];
    m = arr[1];
    y = arr[2];
  } else {
    switch (v.length) {
      case 4: { // DDMM
        d = v.substr(0, 2);
        m = v.substr(2, 2);
        var TodaysDate = new Date();
        y = TodaysDate.getYear();
        break;
      }
      case 6: { // DDMMYY
        d = v.substr(0, 2);
        m = v.substr(2, 2);
        y = v.substr(4, 2);
        break;
      }
      case 8: { // DDMMYYYY
        d = v.substr(0, 2);
        m = v.substr(2, 2);
        y = v.substr(4, 4);
        break;
      }
      default: Result = false;
    }
  }

  if (Result) {
    if (d.length == 1) {
      d = '0' + d;
    }
    if (m.length == 1) {
      m = '0' + m;
    }
    if (y.length == 1) {
      y = '0' + y;
    }
    if (y.length == 2) {
      if (y < eeuwwissel) {
        y = '20' + y;
      } else if (y < 100) {
        y = '19' + y;
      }
    }
    s = m + "/" + d + "/" + y;
    var testDate = new Date(s);
    if (testDate.getMonth()+1 != m){
      Result = false;
    }
  }

  if ((v.length == 0) &&
      (!mandatory)) {
    Result = true;
  } else if (Result) {
    v = d + "-" + m + "-" + y;

    obj.value = v;
  }
  if (Result || hideerror) {
    showErrorMessage(obj, '');
  } else {
    showErrorMessage(obj, ERRORMSG_DATE);
    obj.focus();
  }
  return Result;
 }

 function CheckSofinummer(obj)
 {
   var Result = true;

   var mandatory = obj.getAttribute('mandatory');
   if (mandatory == null) {
     mandatory = false;
   }

   var v = obj.value;
   var reSofi = /(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)/;
   var array;
   var lSom = 0;
   if ((obj.value.length == 0) ||
       (obj.value == null)) {
     Result = !mandatory;
   } else {
     Result = (reSofi.test(obj.value));
     if (Result) {
       // 11 proef
       array = (obj.value.match(reSofi));
       for (i=1;i<9;i+=1)
         lSom += (array[i] * (9-(i-1)));
       Result = (((lSom -= array[9]) % 11) == 0)
     }
   }

   if (Result) {
     showErrorMessage(obj, '');
   } else {
     showErrorMessage(obj, ERRORMSG_SOFI);
     obj.focus();
   }
   return Result;
 }

var minFontSize = 10;
var maxFontSize = 24;

function increaseFontSize(aTag) {
  if (aTag == '') aTag = 'p';
  var p = document.getElementsByTagName(aTag);
  for (i=0;i<p.length;i++) {
    if(p[i].style.fontSize) {
      var s = parseInt(p[i].style.fontSize.replace("px",""));
    } else {
      var s = 16;
    }
    if (s!=maxFontSize) {
      s += 1;
    }
    p[i].style.fontSize = s+"px"
  }
}

function decreaseFontSize(aTag) {
  if (aTag == '') aTag = 'p';
  var p = document.getElementsByTagName(aTag);
  for (i=0;i<p.length;i++) {
    if (p[i].style.fontSize) {
      var s = parseInt(p[i].style.fontSize.replace("px",""));
    } else {
      var s = 16;
    }
    if (s!=minFontSize) {
      s -= 1;
    }
    p[i].style.fontSize = s+"px"
  }   
}
