// JavaScript Document
function getClient() {
  this.exclude=1;
  this.agt=navigator.userAgent.toLowerCase();
  this.win=0;
  this.mac=0;
  this.lin=1;
  if (this.agt.indexOf('win')!=-1) {
    this.win=1;
    this.lin=0;
  }
  if (this.agt.indexOf('mac')!=-1) {
    this.mac=1;
    this.lin=0;
  }
  this.lnx=0;
  if (this.lin) {
    this.lnx=1;
  }
  this.ice=0;
  this.ie=0;
  this.ie4=0;
  this.ie5=0;
  this.ie6=0;
  this.com=0;
  this.dcm;
  this.op5=0;
  this.op6=0;
  this.op7=0;
  this.ns4=0;
  this.ns6=0;
  this.ns7=0;
  this.mz7=0;
  this.kde=0;
  this.saf=0;
  if (typeof navigator.vendor!="undefined" && navigator.vendor=="KDE") {
    this.thisKDE=this.agt;
    this.splitKDE=this.thisKDE.split("konqueror/");
    this.aKDE=this.splitKDE[1].split("; ");
    this.KDEn=parseFloat(this.aKDE[0]);
    if (this.KDEn>=2.2) {
      this.kde=1;
      this.ns6=1;
      this.exclude=0;
    }
  }
  else if (this.agt.indexOf('webtv')!=-1) {
    this.exclude=1;
  }
  else if (typeof window.opera!="undefined") {
    this.exclude=0;
    if (/opera[\/ ][5]/.test(this.agt)) {
      this.op5=1;
    }
    if (/opera[\/ ][6]/.test(this.agt)) {
      this.op6=1;
    }
    if (/opera[\/ ][7-9]/.test(this.agt)) {
      this.op7=1;
    }
  }
  else if (typeof document.all!="undefined"&&!this.kde) {
    this.exclude=0;
    this.ie=1;
    if (typeof document.getElementById!="undefined") {
      this.ie5=1;
      if (this.agt.indexOf("msie 6")!=-1) {
        this.ie6=1;
        this.dcm=document.compatMode;
        if (this.dcm!="BackCompat") {
          this.com=1;
        }
      }
    }
    else{
      this.ie4=1;
    }
  }
  else if (typeof document.getElementById!="undefined") {
    this.exclude=0;
    if (this.agt.indexOf("netscape/6")!=-1||
        this.agt.indexOf("netscape6")!=-1) {
      this.ns6=1;
    }
    else if (this.agt.indexOf("netscape/7")!=-1||
             this.agt.indexOf("netscape7")!=-1) {
      this.ns6=1;
      this.ns7=1;
    }
    else if (this.agt.indexOf("gecko")!=-1) {
      this.ns6=1;
      this.mz7=1;
    }
    if (this.agt.indexOf("safari")!=-1 ||
        (typeof document.childNodes!="undefined" &&
         typeof document.all=="undefined" &&
         typeof navigator.taintEnabled=="undefined")) {
      this.mz7=0;
      this.ns6=1;
      this.saf=1;
    }
  }
  else if ((this.agt.indexOf('mozilla')!=-1)&&
           (parseInt(navigator.appVersion)>=4)) {
    this.exclude=0;
    this.ns4=1;
    if (typeof navigator.mimeTypes['*']=="undefined") {
      this.exclude=1;
      this.ns4=0;
    }
  }
  if (this.agt.indexOf('escape')!=-1) {
    this.exclude=1;
    this.ns4=0;
  }
  if (typeof navigator.__ice_version!="undefined") {
    this.exclude=1;
    this.ie4=0;
  }
}

var is=new getClient();

function initPage() {
  onResize(updateTopBtn);
  onScroll(updateTopBtn);
  sfHover();
  initLinks();
}

//
// fix voor het menu voor bepaalde versies van Internet
// Explorer, namelijk versie 6 en lager.
//
sfHover = function() {
  if(document.getElementById("mainNav") && is.ie) {
    var sfEls = document.getElementById("mainNav").getElementsByTagName("LI");
    for (var i = 0; i < sfEls.length; i++) {
      sfEls[i].onmouseover = function() {
        this.className += " sfhover";
      }
      sfEls[i].onmouseout = function() {
        this.className = this.className.replace(new RegExp(" sfhover"), "");
      }
    }
  }
}

// Functie om een methode 'onResize' uit te voeren
function onResize(method) {
  if (is.ns4 || is.ns6) {
    return window.onresize = method;
  }
  else {
    document.body.onresize = method;
  }
}

// Functie om een methode 'onScroll' uit te voeren
function onScroll(method) {
  if (is.ns4 || is.ns6) {
    return window.onscroll = method;
  }
  else {
    document.body.onscroll = method;
  }
}

function updateTopBtn() {
  //offset = offset?offset:199;
  var knop = document.getElementById('tk');
  if(knop) {
    var windowHeight;
    var s;
    if (window.innerHeight) windowHeight = parseInt(window.innerHeight);
    else windowHeight = document.body.clientHeight;
    if (window.scrollY) s = parseInt(window.scrollY);
    else if (document.body.scrollTop) s = parseInt(document.body.scrollTop);
    if (s > 0) {
      knop.style.display = 'block';
      knop.style.top = windowHeight-70+s+"px";
    }
    else knop.style.display = 'none';
  }
}

function checkForm(form,msg) {
  var name=form.id;
  var valid=true;
  msg+="\r\n";

  for (var i=0; i<requiredFields[name].length; i++) {
    var element=document.getElementById(requiredFields[name][i]);
    var label=document.getElementById("Lbl_"+requiredFields[name][i]);
    if (label && (label.innerText || label.textContent)) {
      label=label.textContent?label.textContent:label.innerText;
    }
    else if (label) {
      label=label.innerHTML;
    }
    if (element.tagName.toLowerCase()=="div") { // radio or checkbox
      if (!findChecked(element)) {
        valid = false;
        msg += "- "+label + "\n\r";
      }
    }
    else if (!element.value) {
      msg += "- "+label + "\r\n";
      valid = false;
    }
    else if (lTrim(element.value)=="") {
      msg += "- "+label + "\r\n";
      valid = false;
    }
  }
  var elmInd;
  for (elmInd=0;elmInd<form.elements.length;elmInd++) {
    var element=form.elements[elmInd];
    if ((""+element.type).toUpperCase()=="FILE" &&
        element.value &&
        element.value !='' &&
        (""+element.value).indexOf(".")<0) {
      var label=document.getElementById("Lbl_"+element.id);
      if (label) {
        label=label.textContent?label.textContent:label.innerText;
      }
      msg += "- "+label + "\r\n";
      valid = false;
    }
  }

  if (valid) {
    return true;
  }
  else {
    alert(msg);
    return false;
  }
}

function findChecked(rootObj) {
  var j;
  for (j=0; j<rootObj.childNodes.length; j++) {
    var subObj=rootObj.childNodes[j];
    if (subObj.checked) {
      return true;
    }
    else if (subObj.tagName &&
             subObj.tagName.toLowerCase()=="div" &&
             findChecked(subObj)) {
      return true;
    }
  }
  return false;
}

function lTrim(str) {
  str=""+str;
  var lTrimInd=0;
  while (lTrimInd<str.length && str.charAt(lTrimInd)==" ") {
    lTrimInd++;
  }
  return str.substring(lTrimInd);
}

function openLink(href, width, height) {
  var props="width="+width+",height="+height+",menubar=1,scrollbars=1";
  return !window.open(href,"_blank",props);
}

function openPop(href) {
  return openLink(href,480,330);
}

var currentPopup=null;

function openPopup(area, id) {
  var map=area.parentNode;
  var x=getPos("img_"+map.id, "x");
  var y=getPos("img_"+map.id, "y");
  var coords=(""+area.coords).split(",");
  var minX=10000;
  var minY=10000;
  var maxX=0;
  var maxY=0;
  var corInd;
  var shape=area.shape.toLowerCase();
  if (shape=="poly" || shape=="rect") {
    for (corInd=0;corInd<coords.length;corInd+=2) {
      var curX=parseInt(coords[corInd]);
      if (curX<minX) minX=curX;
      if (curX>maxX) maxX=curX;
    }
    for (corInd=1;corInd<coords.length;corInd+=2) {
      var curY=parseInt(coords[corInd]);
      if (curY<minY) minY=curY;
      if (curY>maxY) maxY=curY;
    }
    x+=(minX+maxX)/2;
    y+=(minY+maxY)/2;
  }
  else if (shape=="circle") {
    x+=parseInt(coords[0]);
    y+=parseInt(coords[1]);
  }

  var obj=document.getElementById(id);
  if (!obj) {
    return false;
  }

  if (currentPopup &&
      currentPopup==obj &&
      currentPopup.style.display=="block") {
    return true;
  }

  if (currentPopup) {
    currentPopup.style.display="none";
  }
  obj.style.display="block";
  obj.style.left=x+"px";
  obj.style.top=y+"px";
  currentPopup=obj;
  return true;
}

function getPos(id,dimension) {
  var obj=document.getElementById(id);
  if (!obj) {
    return 0;
  }
  var result=0;
  while (obj.offsetParent) {
    result+=(dimension=='y')?obj.offsetTop:obj.offsetLeft;
    obj=obj.offsetParent;
  }
  return result;
}

function initLinks() {
  if (!document.getElementsByTagName) return;
  var anchors = document.getElementsByTagName("a");
  var ind;
  for (ind=0; ind<anchors.length; ind++) {
    var anchor = anchors[ind];
    if (anchor.href && anchor.rel == "external")
      anchor.target = "_blank";
  }
  var areas = document.getElementsByTagName("area");
  for (ind=0; ind<areas.length; ind++) {
    var area = areas[ind];
    if (area.href && area.className == "externLink")
      area.target = "_blank";
  }
}

function setBullet(liObj) {
  var sbObj = document.getElementById(liObj.id.substring(1));
  if (liObj.className=="plus") {
    sbObj.style.display="block";
    liObj.className="min";
  }
  else if (liObj.className=="min") {
    sbObj.style.display="none";
    liObj.className="plus";
  }
}

function dontBubble(event) {
  event.cancelBubble=true;
  if (event.preventBubble) {
    event.preventBubble();
  }
}

function openAll(oaObj) {
  openTak(document.getElementById('Itm_'));
  oaObj.style.display="none";
}

function openTak(otObj) {
  var childInd;
  if (otObj.className=="plus") {
    setBullet(otObj);
  }
  for (childInd=0;
       otObj.childNodes && childInd<otObj.childNodes.length;
       childInd++) {
    openTak(otObj.childNodes[childInd]);
  }
}

function getRotation() {
  this.images = new Array();
  this.duration = 4;
  this.ind = 0;
}

var rotation = new getRotation();

function startRotate(id, imgs, root, ext) {
  rotation.elm = document.getElementById(id);
  for(preLoadInd = 0; preLoadInd < imgs.length; preLoadInd++) {
    rotation.images[preLoadInd + 1] = new Image();
    rotation.images[preLoadInd + 1].src = root + imgs[preLoadInd] + ext;
  }
  window.setTimeout('rotate()', 2000);
}

function rotate(){
  if (!rotation.images[0]) {
    rotation.images[0] = new Image();
    rotation.images[0].src = rotation.elm.src;
  }
  rotation.ind = (rotation.ind+1) % rotation.images.length;
  if (is.ie5 || is.ie6) {
    rotation.elm.style.filter = 'blendTrans(duration='+rotation.duration+')';
    rotation.elm.filters.blendTrans.Apply()
    rotation.elm.src = rotation.images[rotation.ind].src;
    rotation.elm.filters.blendTrans.Play();
  } else {
    rotation.elm.src = rotation.images[rotation.ind].src;
  }
  window.setTimeout('rotate()',6000);
}

var f;
var h = 0;

function showForm() {
  var formObj = document.getElementById('lh');
  if (formObj) {
    formObj.style.display ="none";
  }
  formObj = document.getElementById('fh');
  formObj.style.display ="block";
  if (h < parseInt(formObj.scrollHeight)) {
    h = h + 5;
    formObj.style.height = h;
    f = window.setTimeout('showForm()',50);
  }
  else {
    window.clearTimeout(f);
  }
}

var formDiv = null;
function showDisForm(disIdt, parentid) {
  if (formDiv == null || formDiv.id != "DisForm_"+disIdt) {
    var formObj=document.forms["discussieform"];
    var parentElt = formObj.elements["DisTab.ParDisIdt"];
    var titleElt = formObj.elements["DisTab.Tit"];
    parentElt.value = parentid;
    if (formDiv == null)
      formDiv = document.getElementById("form");
    var newDiv = document.getElementById("DisForm_"+disIdt);
    newDiv.innerHTML = formDiv.innerHTML;
    formDiv.innerHTML = "";
    newDiv.className = "show";
    formDiv.className = "hidden";
    formDiv = newDiv;
    h = 0;
    window.clearTimeout(f);
    showForm();
  }

}

height = 0;

function resetLetters() {
  var letterObj=document.getElementById("letterholder");
  var childInd=0;
  while (childInd<letterObj.childNodes.length) {
    letterObj.childNodes[childInd++].className="letter";
  }
  var formObj=document.forms["orggidsform"];
  var formInd=0;
  while (formInd<formObj.elements.length) {
    var formElm=formObj.elements[formInd++];
    if (formElm.name &&
        formElm.name.length>4 &&
        formElm.name.substring(0,4)=="Org_") {
      formElm.value="";
    }
  }
}

function bergDis(disIdt) {
  var formObj=document.forms["discussieshowform"];
  formObj.elements["DisTab.$id"].value=disIdt;
  formObj.elements["DisTab.Act"].value=0;
  formObj.submit();
  return false;
}

function toonDis(disIdt) {
  var formObj=document.forms["discussieshowform"];
  formObj.elements["DisTab.$id"].value=disIdt;
  formObj.elements["DisTab.Act"].value=1;
  formObj.submit();
  return false;
}

function dropDis(disIdt) {
  var formObj=document.forms["discussieshowform"];
  formObj.elements["DisTab.$action"].value="delete";
  formObj.elements["DisTab.$id"].value=disIdt;
  formObj.elements["DisTab.Act"].name="";
  formObj.submit();
  return false;
}

function reactDis(parDisIdt,act,gebIdt,nam,eml,tit) {
  if (formDiv == null || formDiv.id != "DisForm_"+parDisIdt) {
    if (formDiv == null)
      formDiv = document.getElementById("form");
    var newDiv = document.getElementById("DisForm_"+parDisIdt);
    newDiv.innerHTML = formDiv.innerHTML;
    formDiv.innerHTML = "";
    newDiv.className = "show";
    formDiv.className = "hidden";
    formDiv = newDiv;
    h = 0;
    window.clearTimeout(f);
  }

  var formObj=document.forms["discussieform"];
  formObj.elements["DisTab.$action"].value="add";
  formObj.elements["DisTab.DisIdt"].value="";
  formObj.elements["DisTab.ParDisIdt"].value=parDisIdt;
  formObj.elements["DisTab.Act"].value=act;
  formObj.elements["DisTab.GebIdt"].value=gebIdt;
  formObj.elements["Dummy.Nam"].value=nam;
  formObj.elements["Dummy.Eml"].value=eml;
  formObj.elements["DisTab.Tit"].value="Re: "+tit;
  formObj.elements["DisTab.Txt"].value="";
  showForm();
  return false;
}

function editDis(disIdt,parDisIdt,act,gebIdt,nam,eml,tit,txtName) {
  if (formDiv == null || formDiv.id != "DisForm_"+disIdt) {
    if (formDiv == null)
      formDiv = document.getElementById("form");
    var newDiv = document.getElementById("DisForm_"+disIdt);
    newDiv.innerHTML = formDiv.innerHTML;
    formDiv.innerHTML = "";
    newDiv.className = "show";
    formDiv.className = "hidden";
    formDiv = newDiv;
    h = 0;
    window.clearTimeout(f);
  }
  var formObj=document.forms["discussieform"];
  formObj.elements["DisTab.$action"].value="edit";
  formObj.elements["DisTab.$id"].value=disIdt;
  formObj.elements["DisTab.ParDisIdt"].value=parDisIdt;
  formObj.elements["DisTab.Act"].value=act;
  formObj.elements["DisTab.GebIdt"].value=gebIdt;
  formObj.elements["Dummy.Nam"].value=nam;
  formObj.elements["Dummy.Eml"].value=eml;
  formObj.elements["DisTab.Tit"].value=tit;
  formObj.elements["DisTab.Txt"].value=document.getElementById(txtName).value;
  showForm();
  return false;
}

function bergPrik(prkIdt) {
  var formObj=document.forms["prikbordshowform"];
  formObj.elements["PrkTab.$id"].value=prkIdt;
  formObj.elements["PrkTab.Act"].value=0;
  formObj.submit();
  return false;
}

function toonPrik(prkIdt) {
  var formObj=document.forms["prikbordshowform"];
  formObj.elements["PrkTab.$id"].value=prkIdt;
  formObj.elements["PrkTab.Act"].value=1;
  formObj.submit();
  return false;
}

function dropPrik(prkIdt) {
  var formObj=document.forms["prikbordshowform"];
  formObj.elements["PrkTab.$action"].value="delete";
  formObj.elements["PrkTab.$id"].value=prkIdt;
  formObj.elements["PrkTab.Act"].name="";
  formObj.submit();
  return false;
}

function editPrik(prkIdt,act,gebIdt,nam,eml,tit,txt,toe) {
  var formObj=document.forms["prikbordform"];
  formObj.elements["PrkTab.$action"].value="edit";
  formObj.elements["PrkTab.$id"].value=prkIdt;
  formObj.elements["PrkTab.Act"].value=act;
  formObj.elements["PrkTab.GebIdt"].value=gebIdt;
  formObj.elements["Dummy.Nam"].value=nam;
  formObj.elements["Dummy.Eml"].value=eml;
  formObj.elements["PrkTab.Tit"].value=tit;
  formObj.elements["PrkTab.Txt"].value=txt;
  formObj.elements["PrkTab.Toe"].value=toe;
  showForm();
  return false;
}

var feestTimer=null;
var feestIndex=-1;

function showFeest() {
  if (feestTimer) {
    window.clearTimeout(feestTimer);
    feestTimer=null;
  }
  var feestHolder=document.getElementById("feestholder");
  if (!feestHolder) {
    return;
  }
  var feesten=feestHolder.childNodes;
  if (feesten.length==0) {
    return;
  }
  if (feestIndex>=0) {
    feesten[feestIndex].style.display="none";
  }
  feestIndex=(feestIndex+1)%feesten.length;
  feesten[feestIndex].style.display="block";
  feestTimer=window.setTimeout('showFeest()',3000);
}
