function showDot(obj) {
  document.getElementById(obj).style.visibility='visible';
}

function hideDot(obj) {
  document.getElementById(obj).style.visibility='hidden';
}

function showTab(tabname) {
  var tabs = getElementsByClassName("activetab");
  for (i=0; i<tabs.length; i++) {
    var childTab = tabs[i];
    var childTabClassName = getEltClassName(childTab);
    if (childTabClassName.indexOf("activetab") != -1) {
      removeClass(childTab,"activetab");
      addClass(childTab,"normaltab");
    }
    var childTabId = childTab.id;
    document.getElementById("tabblad_"+childTabId.substring(4,childTabId.length)).style.display="none";
  }
  var activeTab = document.getElementById("tab_"+tabname);
  removeClass(activeTab,"normaltab");
  addClass(activeTab,"activetab");
  document.getElementById("tabblad_"+tabname).style.display="block";
  return false;
}

var klapuitId = "";

function klapUit(url,id) {
  if (klapuitId != "") { /* do nothing */ }
  else {
    klapuitId = id;
    klapuitLevel = klapuitId.substring(klapuitId.lastIndexOf("_")+1,klapuitId.length);
    var klapuitElt = document.getElementById(klapuitId);
    var klapinElts = getElementsByClassName("uitgeklapt");
    for (var klapinEltCount = 0; klapinEltCount<klapinElts.length; klapinEltCount++) {
      var klapinElt = klapinElts[klapinEltCount];
      var klapinId = klapinElt.id;
      klapinLevel = klapinId.substring(klapinId.lastIndexOf("_")+1,klapinId.length);
      if (klapinLevel == klapuitLevel) {
        removeClass(klapinElt,"uitgeklapt");
        addClass(klapinElt,"ingeklapt");
      }
    }
    loadXMLDoc(url+"&level="+klapuitLevel);
  }
  return false;
}

function handleHttpResponse() {
  var newHTML = "";
  try {
    if (is.ie) {
      newHTML=req.responseXML.documentElement.xml;
    }
    else {
      var s = new XMLSerializer();
      var str = s.serializeToString(req.responseXML.documentElement);
      if (str+"" != "undefined") newHTML=str;
    }
    replaceOuterHTML(document.getElementById(klapuitId),newHTML);
  }
  catch (err) {
    alert(err.description);
  }
  klapuitId = "";
}

function init() {
  externalLinks();
}

var formulierRe = new RegExp('\\bformulier\\b');
var formulierProps = "titlebar=0,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0";

function setFormulierProps(props) {
  if (props) formulierProps=props;
}

var Linker = new function () {
  this.processExtern = function(obj) { }
}

var popupSize={
  width : 670,
  height : window.screen&&window.screen.height&&window.screen.height>768?770:745
};

function externalLinks() {
  var extLinks = getElementsByClassName("extern");
  for (var i=0; i<extLinks.length; i++) {
    var link=extLinks[i];
    if (link.getAttribute("href") &&
        link.getAttribute("href").indexOf("script:") == -1) {
      if (formulierRe.test(link.className)) {
        link.onclick=function() {
          window.open(this.href,
                      "_blank",
                      formulierProps+",height="+popupSize.height+",width="+popupSize.width);
          return false;
        }
      }
      else {
        link.setAttribute("target", "_blank");
      }
      Linker.processExtern(link);
    }
  }
}

window.onload = function() {
  init(); 
}

function checkFields() {
  var args=checkFields.arguments;
  var result=true;
  var msgs=new Array();
  for (var argi=0;argi<args.length-1;argi+=2) {
    var msg=checkField(args[argi], args[argi+1]);
    if (msg) {
      msgs[msgs.length]=msg;
      result=false;
    }
  }
  if (!result) {
    alert(msgs.join("\n"));
  }
  return result;
}

function checkField(obj, exp) {
  if (exp && !(new RegExp(exp)).test(obj.value)) {
    obj.focus();
    if (!obj.value) {
      return "Verplicht veld '" + obj.title + "' niet ingevuld";
    }
    else {
      return "Veld '" + obj.title + "' niet in correct formaat";
    }
  }
  else {
    return null;
  }
}
