var scrollPos = 32;
var requiredFields = new Object();
var requiredLabels = new Object();
var oldScrollTop = 0;
var oldClientHeight = 0;
var timeoutID=null;

function updateTopButton() {
  if (document.body.scrollTop > 0) {
    document.all("TopBtn").style.visibility = 'visible';
    document.all("TopBtn").style.pixelTop = parseInt(document.body.clientHeight)-80+parseInt(document.body.scrollTop)+scrollPos;
    }
  else {
    document.all("TopBtn").style.visibility = 'hidden';
    }
  }
  
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 options = "width=480,height=360,scrollbars=yes,resizable=yes,menubar=no,status=no,toolbar=no,location=no,directories=no";


function setWindowName(){
  window.name = "main";
}

whatspopup = null;

function openWindow(URL,props) {
  
  props = props?props:options;
  window.name = "main";
  if (URL)
  {
    whatspopup = window.open(URL, 'popup', props);  // Open a new window and show the specified page
    whatspopup.focus();			  
  }  
}

function submitToPopup(obj,name,submitArray,properties) {
  if (!checkForm(name)) return false;
  else {
    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] = "no";
    url = makeUrlFromArray(returnArray,"post.asp");
    openWindow(url,properties);
    return true;
  }
}

function submitTo(obj,name,submitArray) {
  if (!checkForm(name)) return false;
  else {
    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] = "result";
    returnArray[returnArray.length] = "true";
    url = makeUrlFromArray(returnArray,"post.asp");
    window.location.href = url;
    return true;
  }
}

function checkForm(name) {
  obj = document.forms[name];
  invalidFields = new Array();
  invalidNames = new Array();

  for (var i=0; i<requiredFields[name].length; i++) {

    if (obj.elements[requiredFields[name][i]].length) {
      optionChecked = false;
      for (var j=0; j<obj.elements[requiredFields[name][i]].length; j++) {
        if (obj.elements[requiredFields[name][i]][j].checked) {
          optionChecked = true;
        }
      }
      if (!optionChecked) {
        invalidFields[invalidFields.length] = obj.elements[requiredFields[name][i]][0];
        invalidNames[invalidNames.length] = requiredLabels[name][i];
      }
    }
   else if (obj.elements[requiredFields[name][i]].type != "hidden" &&
        (obj.elements[requiredFields[name][i]].value == "" ||
        (obj.elements[i].name == "UsrTab.Src") && (
        (""+obj.elements[i].value).indexOf("@")<0 ||
        (""+obj.elements[i].value).indexOf(".")<0))) { 
      invalidFields[invalidFields.length] = obj.elements[requiredFields[name][i]];
      invalidNames[invalidNames.length] = requiredLabels[name][i];
    }
  }
  if (invalidFields.length > 0) {
    msg = formMessage + " ";
    for (var i=0; i<invalidFields.length; i++) { 
      if (document.all && invalidFields[i].type == "input") {
        invalidFields[i].style.borderColor = "#ff6600";
        invalidFields[i].style.backgroundColor = "#ffeecc";
      }
      msg += (i==0?'':', ')+invalidNames[i];
    }
    if (invalidFields.length = 1) {
      if (name=='opiniepeiling')
        alert('U moet eerst stemmen...');
      else alert('Nog niet alle benodigde velden zijn ingevuld...');
    } else alert(msg);
    return false;
  }

 return (invalidFields.length == 0);
}

function hilitemap(n) {
  theElement = document.images["pict_"+n];
  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 restoremap(n) {
  theElement = document.images["pict_"+n];
  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 showChar(id) {
  for (var i=0; i<document.all['begripHolder'].children.length; i++) 
    if (document.all['begripHolder'].children[i].className == 'holder') document.all['begripHolder'].children[i].style.display = 'none';
  for (var i=0; i<document.all['begrippenHolder'].children.length; i++) 
    if (document.all['begrippenHolder'].children[i].className == 'holder') document.all['begrippenHolder'].children[i].style.display = 'none';
  theChar = id+'';
  document.all(theChar).style.display='block';
}

function showBegrip(waarde) {
  for (var i=0; i<document.all['begripHolder'].children.length; i++) 
    if (document.all['begripHolder'].children[i].className == 'holder') document.all['begripHolder'].children[i].style.display = 'none';
   document.all(waarde).style.display='block';
}

/* voor hotspot */
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();

var hsTimer;
var lastSpot = "";

function toggleHotspot(hName,hStatus,keepFixed) {
  if (hsTimer) clearTimeout(hsTimer);
  var curHotspot = getID(hName);
  setEltLeft(curHotspot,curMouseX);
  setEltTop(curHotspot,curMouseY-65);
  if (lastSpot!="" && hStatus) setEltDisplay(getID(lastSpot),"none");
  lastSpot = hStatus?hName:"";
  setEltDisplay(curHotspot,hStatus?"block":"none");
}

function timeoutHotspot(hName) {
  if (hsTimer) clearTimeout(hsTimer);
  hsTimer = setTimeout("toggleHotspot('"+hName+"',false)",2500);
}


/* standaard iProx scripting */

var NS6 = (document.getElementById&&!document.all&&navigator.appName=="Netscape")
var NS4 = (navigator.appName=="Netscape" && navigator.appVersion.charAt(0)=="4");
var IE = (document.all && !(navigator.userAgent.indexOf("Opera")!=-1))
var OP = (navigator.userAgent.indexOf("Opera")!=-1);
var Mac = (navigator.userAgent.indexOf("Mac")!=-1);
var browser_version = parseInt(navigator.appVersion);
var IEMac = ((navigator.userAgent.indexOf("Mac")!=-1) && (document.all))

function getID(id){
  if(IE) return document.all(id);
  else document.getElementById(id);
}

function setEltDisplay (elt, value) {
  if (!elt || elt == null) return;
  if (NS4) elt.display = value;
  else elt.style.display = value;
}

function setEltLeft (elt, x) {
  if (!elt || elt == null) return;
  if (NS4)     elt.left=x;
  else if (IE) elt.style.pixelLeft=x;
  else elt.style.left = (x + "px");
}

function setEltTop (elt, y) {
  if (!elt || elt == null) return;
  if (NS4)     elt.top=y;
  else if (IE) elt.style.pixelTop=y;
  else elt.style.top= (y + "px");
}

var curMouseX = 0;
var curMouseY = 0;


if (NS4) document.captureEvents(Event.MOUSEMOVE)

document.onmousemove = getMouseXY;

function getMouseXY(e) {
  curMouseY = getMouseWinTop(e);
  curMouseX = getMouseWinLeft(e);
  if (curMouseY < 0) curMouseY = 0;
  if (curMouseX < 0) curMouseX = 0;
  return true;
}

function getMouseWinTop(e) 
{ if (NS4) return(e.pageY - window.pageYOffset);
  else if (IE) return(event.clientY);
  else return(e.pageY - window.pageYOffset);
}

function getMouseWinLeft(e) 
{ if (NS4) return(e.pageX - window.pageXOffset);
  else if (IE) return(event.clientX);
  else return(e.pageX - window.pageXOffset);
}