
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, 'popup', props);  // Open a new window and show the specified page
    whatspopup.focus();			  
  }
}

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) {
  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 == "textarea") {
      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 (valid) {
    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);
}

var options = "width=480,height=360,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, 'popup', props);
    whatspopup.focus();			  
  }
}

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;
}
