function CheckBrowser(){
  this.ie=(document.all)?1:0;
  this.ns6=(document.getElementById && !document.all) ?1:0;
  this.ns4=(document.layers)?1:0;
  this.bw=(this.ie || this.ns4 || this.ns6);
  return this;
}

bw=new CheckBrowser();

function hiliteImg(name) {
  theElement = document.images[name];
  S = theElement.src;
  if (S.charAt(S.length-5) == '0') theElement.src = S.slice(0,S.length-5) + '1' + S.slice(S.length-4);
  }

function restoreImg(name) {
  theElement = document.images[name];
  S = theElement.src;
  if (S.charAt(S.length-5) == '1') theElement.src = S.slice(0,S.length-5) + '0' + S.slice(S.length-4);
  }

function updateElements() {
  updateTopButton();
  setWave();
}

var scrollPos = 32;

function updateTopBtn() {
  if (document.all) {
    if (document.body.scrollTop > 0) {
      document.all("TopBtn").style.visibility = 'visible';
      document.all("TopBtn").style.position = 'absolute';
      document.all("TopBtn").style.pixelLeft = parseInt(document.body.clientWidth)-196+parseInt(document.body.scrollLeft);
      document.all("TopBtn").style.pixelTop = parseInt(document.body.clientHeight)-24+parseInt(document.body.scrollTop);
    }
    else {
      document.all("TopBtn").style.visibility = 'hidden';
    }
  }
}

function setWave() {
  if (bw.ns4) {
    document.layers["Wave"].pageX = parseInt(window.innerWidth)-156;
    }
  else {
  document.all("Wave").style.pixelLeft = parseInt(document.body.clientWidth)-156+parseInt(document.body.scrollLeft);
  document.all("Wave").style.visibility = 'visible';
  }
}


/* standaard iProx scripting */

function submitToPopup(obj,name,hoogte,breedte,submitArray,close) {
  if (!checkForm(name)) return false;
  else {
    width = breedte;
    height = hoogte;
    obj.disabled = true;
    obj.style.color = '#cccccc';
    var form = document.forms[name];
    var returnArray = submitArray?submitArray:new Array();
    for (var i=0; i<form.elements.length; i++) {
      obj = form.elements[i];
      n = obj.name;
      v = obj.value;

      if (n != "") {
        if (obj.type == "radio" || obj.type == "checkbox") {
          if (obj.checked) {
            returnArray[returnArray.length] = n;
            returnArray[returnArray.length] = v;
          }
        }
        else {
          returnArray[returnArray.length] = n;
          returnArray[returnArray.length] = v;
        }
      }
    }
    returnArray[returnArray.length] = "popup";
    returnArray[returnArray.length] = "true";
    returnArray[returnArray.length] = "scroll";
    returnArray[returnArray.length] = "yes";
    url = makeUrlFromArray(returnArray,"post.asp");
    openWindow(url,'width='+width+',height='+height+',scrollbars=yes,resizable=no,menubar=no,status=no,toolbar=no,location=no,directories=no');
    if (close) window.close();
    return true;
  }
}

var options = "width=378,height=425,scrollbars=yes,resizable=yes,menubar=no,status=no,toolbar=no,location=no,directories=no";
function openWindow(URL, props) {
  props = props?props:options;
  window.name = "main";
  if (URL) {
    var whatspopup = window.open(URL, 'new_window' , props);  // Open a new window and show the specified page
    whatspopup.focus();
    return false;
  }
}

function openMijnIntranetWindow(URL) {

  var agt = navigator.userAgent.toLowerCase();

  if (document.all && (agt.indexOf('opera')==-1)){
    newLeft = (window.screenLeft + document.body.clientWidth - 230);
    newTop = (window.screenTop+4);
    features="dialogWidth:230px;dialogHeight:400px;dialogLeft:" + newLeft + "px; dialogTop:" + newTop + "px; edge:sunken; help:no; scroll:no; status:off";
    if (URL) {
      var whatspopup = window.showModelessDialog(URL, "popup", features);
      return false;
    }
  } else {
    newLeft = (window.screenX + document.body.clientWidth - 230);
    newTop = (window.screenY+(window.outerHeight-window.innerHeight));

    props = "width=220,height=400,left=" + newLeft + ",top=" + newTop + ",scrollbars=no,resizable=no,menubar=no,status=no,toolbar=no,location=no,directories=no";

    window.name = "main";
    if (URL) {
      var whatspopup = window.open(URL, "popup", props);
      whatspopup.focus();
      return false;
    }
  }

}

function makeUrlFromArray(arr,baseUrl) {
  for (var i=0; i<arr.length-1; i+=2) {
    baseUrl += (i==0?"?":"&")+arr[i]+"="+arr[i+1];
  }
  return baseUrl;
}

var absBaseNames;
var absolutes = new Array();

function checkForm(name,transferFilesPathId) {
  var form = document.forms[name];
  var valid = true;
  var msg = formInCompleteMsg+"\n\r";
  for (var i=0; i<requiredFields[name].length; i++) {
    if (form.elements[requiredFields[name][i]].type == "text" ||
      form.elements[requiredFields[name][i]].type == "hidden" ||
      form.elements[requiredFields[name][i]].type == "password" ||
      form.elements[requiredFields[name][i]].type == "textarea" ||
      form.elements[requiredFields[name][i]].type == "file" ||
      form.elements[requiredFields[name][i]].type == "select-one") {
      if (form.elements[requiredFields[name][i]].value == "") {
        msg += "- "+requiredLabels[name][i] + "\n\r";
        valid = false;
      }
    }
    else if (form.elements[requiredFields[name][i]].length) { // radio
      rvalid = false;
      for (var j=0; j<form.elements[requiredFields[name][i]].length; j++) {
        if (form.elements[requiredFields[name][i]][j].checked) {
          rvalid = true;
        }
      }
      if (!rvalid) {
        valid = false;
        msg += "- "+requiredLabels[name][i] + "\n\r";
      }
    }
  }

  if ((name.indexOf('mailform',0) != -1) && (form.elements['Mail.$from'].value != form.elements['email2'].value)) {
    alert(email_not_the_same);
    return false;
  }

  if (valid) {
    if (transferFilesPathId) {
      for (var f=0;f<form.elements.length;f++) {
        var curElt = form.elements[f];
        if (curElt.name.indexOf("File.")==0 && curElt.name.indexOf(".Name")>-1 && curElt.value != '') {
          var curEltInterfix = curElt.name.substring(5,curElt.name.indexOf(".Name"));
          var file_name = curElt.value;
          file_name = file_name.substring(file_name.lastIndexOf("\\")+1,file_name.length);
          file_name = file_name.substring(file_name.lastIndexOf("/")+1,file_name.length);
          file_name = regExReplaceIcase(file_name,"[^a-z0-9_.-]","");
          form.elements["Mail."+curEltInterfix+".Body"].value = "/contents/users/"+transferFilesPathId+"/"+file_name;
          document.getElementById("Mail_"+curEltInterfix+"_value").value = "cid:"+file_name;
          document.getElementById("mail_parts").value = document.getElementById("mail_parts").value+","+curEltInterfix;
        }
      }
    }
    return true;
  }
  else {
    if (name.indexOf('opiniepeiling') != -1) alert('U moet eerst een stem uitbrengen.');
    else alert (msg);
    return false;
  }
}

function submitForm() {
  var submitArray = submitForm.arguments;
  var name = submitArray[submitArray.length-1];
  var form = document.forms[name];
  var valid = true;

  var delaction = false;
  for (var i=0; i<submitArray.length-2; i+=2) {
    if (submitArray[i].indexOf("$action",0) != -1 && (submitArray[i+1] == "delete" || submitArray[i+1] == "edit")) delaction = true;
  }

  if (submitArray.length > 1 && (delaction || checkForm(name))) {
    for (var i=0; i<submitArray.length-2; i+=2) {
      if (form.elements[submitArray[i]]) form.elements[submitArray[i]].value = submitArray[i+1];
    }
    if (pagina_type == 'homepage') {
      submitToPopup(document.all('btn_'+name),name,'150','300')
    }
    else {
      form.submit();
      return true;
    }
  }
  else {
    return false;
  }
}

function transferName(formName,uploadEltName,pathPefix) {
  var file_name = document.forms[formName].elements["File."+uploadEltName+".Name"].value;
  file_name = file_name.substring(file_name.lastIndexOf("\\")+1,file_name.length);
  file_name = file_name.substring(file_name.lastIndexOf("/")+1,file_name.length);
  file_name = regExReplaceIcase(file_name,"[^a-z0-9_.-]","");
  document.forms[formName].elements["Mail.$attach"].value = "/contents/users/"+pathPefix+file_name;
}

function fixDate(name,source,target) {
  var y = document.forms[name].elements[source+"_y"];
  var m = document.forms[name].elements[source+"_m"];
  var d = document.forms[name].elements[source+"_d"];

  var yVal = y.options[y.selectedIndex].value+"";
  var mVal = m.options[m.selectedIndex].value+"";
  var dVal = d.options[d.selectedIndex].value+"";

  var dateVal = yVal+mVal+dVal;

  document.forms[name].elements[target].value = (dateVal.length == 8)?dateVal:"";
}

function toggleMenu(name,n,alt) {
  if (document.all) {
    if (document.all[name]) {
      document.all[name][1-n].style.display = "none";
      document.all[name][n].style.display = "block";
    }
    else document.reload(alt);
  }
}

function toggleBlock(name,n) {
  if (document.all) {
    for (var i=0; i<document.all[name].length; i++) document.all[name][i].style.display = (n==i)?"block":"none";
  }
}


function fixInteractiveColors() {
  if (document.all) {
    if (document.all["Interactive"]) {
      if (!document.all["Interactive"].length) {
        document.all["Interactive"].className = document.all["Interactive"].className+"0";
      }
      else {
        for (var i=0; i<document.all["Interactive"].length; i++) {
          document.all["Interactive"][i].className = document.all["Interactive"][i].className+i;
        }
      }
    }
  }
}

function fixAbsolutes() {
  if (document.all && absolutes.length > 0) {
    var offsetX = 0;
    var offsetY = 0;

    if (document.all[absBaseName]) {
      obj = document.all[absBaseName];
      while (obj.parentElement) {
        if (obj.tagName == "TABLE" || obj.tagName == "TD" || obj.tagName == "TBODY") {
          offsetX += parseInt(obj.offsetLeft);
          offsetY += parseInt(obj.offsetTop);
        }
        obj = obj.parentElement;
      }
    }

    for (var a=0; a<absolutes.length-2; a+=3) {
      if (document.all[absolutes[a]]) {
        document.all[absolutes[a]].style.pixelLeft = absolutes[a+1] + offsetX;
        document.all[absolutes[a]].style.pixelTop  = absolutes[a+2] + offsetY;
        document.all[absolutes[a]].style.display   = "block";
      }
    }
  }
}

var oldTable = null;
var oldTd = null;
var oldPijl = null;

function showTable(obj) {
  table = getElt('table'+obj);
  if (table == null) {
    pijl = getElt('btn'+obj);
    pijl.style.visibility = "hidden";
    return;
  }
  if (oldTable == null) {
    oldTable = getElt('table0');
    oldTd = getElt('td0');
    oldPijl = getElt('btn0');
  }
  table = getElt('table'+obj);
  td = getElt('td'+obj);
  pijl = getElt('btn'+obj);
  if (oldTable) {
    oldTable.style.display = "none";
    for (var x=0; x<oldTd.length;x++) {
      oldTd[x].style.backgroundColor = '#D7EFF6';
    }
    oldPijl.style.visibility = "visible";
  }
  table = getElt('table'+obj);
  td = getElt('td'+obj);
  pijl = getElt('btn'+obj);
  pijl.style.visibility = "hidden";
  for (var x=0; x<td.length;x++) {
    td[x].style.backgroundColor = '#A6DBEB';
  }
  table.style.display = "block";
  oldTable = table;
  oldTd = td;
  oldPijl = pijl;
}

function hideTable(obj) {
  table = getElt('table'+obj);
  td = getElt('td'+obj);
  pijl = getElt('btn'+obj);
  table.style.display="none";
  pijl.style.visibility = "visible";
  for (var x=0; x<td.length;x++) {
    td[x].style.backgroundColor = '#D7EFF6';
  }
  oldTable = table;
  oldTd = td;
  oldPijl = pijl;
}

function setDivHeight() {
 if (!document.all('transpDiv')) return false;
 document.all('transpDiv').style.height = document.all('nav3').offsetHeight + 16;
 document.all('transpDiv').style.visibility = "visible";
 document.all('nav3').style.visibility = "visible";
}

function setStretch() {
  tHeight = document.all("main").offsetHeight;
  document.all('stretch').style.height = document.body.clientHeight - 146;
}

function checkWinHeight() {
  if (getWinHeight() < 500) window.scrollTo(0,100);
}

function openPopup(url,name,attr) {
  popup = window.open(url,name,attr);
  return false;
}

function doApplication(url) {
  if (bw.ns4)
    openWindow(url,'width=580,height=600,scrollbars=yes,resizable=yes,menubar=no,status=no,toolbar=no,location=no,directories=no');
  else if (bw.ns6) {
    var iFr =  document.getElementById("OnPage");
    if (iFr.height == '')
      iFr.height = parseInt(document.body.clientHeight)-200;
    iFr.src = url;
  }
  else if (bw.ie) {
    if (document.all("OnPage").height == '')
      document.all("OnPage").height = parseInt(document.body.clientHeight)-200;
    document.all("OnPage").src = url;
  }

  return false;
}

/**
 * Sitemap action
 */
function nodeAction(id, open) {
  var self = document.getElementById('node_' + id)
  var tree = document.getElementById('child_' + id);

  self.onclick = function() {
    nodeAction(id, !open);
  }

  if(open) {
    self.innerHTML = '-';
    tree.style.display = 'block';
  } else {
    self.innerHTML = '+';
    tree.style.display = 'none';
  }
}