/*******************************************************************************
  Deze website draait op het IPROX-platform van InfoProjects bv., IPROX is een
  state-of-the-art Content Management Systeem voor omvangrijke webomgevingen.
  Voor meer informatie, zie: http://www.infoprojects.nl en http://www.iprox.nl.
  
  @author : Jelle de Jong
            InfoProjects B.V.
            jelle.de.jong@infoprojects.nl
*******************************************************************************/

////////////////////////////////////////////////////////////////////////////////
// GLOBALS
////////////////////////////////////////////////////////////////////////////////
var is = new getClient();

////////////////////////////////////////////////////////////////////////////////
// GETTERS
////////////////////////////////////////////////////////////////////////////////
// Methode om te achterhalen welke browser het is
function getClient() {
  var agt      = navigator.userAgent.toLowerCase();
  var apv      = navigator.appVersion.toLowerCase();

  this.major   = parseInt(navigator.appVersion);
  this.minor   = parseFloat(navigator.appVersion);
  this.opera   = (agt.indexOf('opera')!=-1);
  this.ns      = ((agt.indexOf('mozilla')!=-1) && ((agt.indexOf('spoofer')==-1) && (agt.indexOf('compatible') == -1)));
  this.ns4     = (this.ns && (this.minor >= 4.03) && (this.major < 5));
  this.ns6     = (this.ns && (this.major == 5) || this.opera);
  this.gecko   = (this.ns && (this.major >= 5));
  this.ie      = (agt.indexOf('msie') != -1);
  this.ie4     = (this.ie && (this.major == 3));
  this.ie45    = (agt.indexOf('msie 4.5') != -1);
  this.ie5     = (this.ie && (this.major == 4));
  this.ie6=(this.ie && window.document.implementation);
  this.ie7 = (this.ie && window.XMLHttpRequest);
  this.mac     = (apv.indexOf('macintosh')>0);
  this.win     = (apv.indexOf('win')>0);
  this.safari  = (agt.indexOf('afari')!=-1);
  this.ie4comp = ((this.ie4 && !this.mac) || this.ie45 || this.ie5);
  this.ns4comp = (this.ns4);
  this.ns6comp = (this.gecko || this.ns6);
  this.comp    = (this.ie4comp || this.ns4comp || this.ns6comp);
  
  return (this)
}

// Functie om een methode 'onResize' uit te voeren
function onResize(method) {
  if(is.ns4comp || is.ns6comp) {
    return window.onresize = method;
  } else {
    document.body.onresize = method;
  }
}

// Functie om een methode 'onScroll' uit te voeren
function onScroll(method) {
  if(is.ns4comp || is.ns6comp) {
    return window.onscroll = method;
  } else {
    document.body.onscroll = method;
  }
}

function setEltInnerHtml(elt,value) {
  if(is.ns4comp){
    with(elt.document){
      open();
      write(value);
      close();
    }
  } else {
    elt.innerHTML = value;
  }
}


// Geeft de breedte van het venster
function getWindowWidth() {
  if(is.ns4comp) {
    return window.innerWidth;
  } else if(is.ns6comp) {
    return document.body.clientWidth - 2;
  } else if(is.ie4comp) {
    return document.body.clientWidth;
  }
}

// Geeft de hoogte van het venster
function getWindowHeight() {
  if(is.ns4comp) {
    return window.innerHeight;
  } else if(is.ns6comp) {
    return document.body.clientHeight - 2;
  } else if(is.ie4comp) {
    return document.body.clientHeight;
  }
}

function getWindowScrollTop() {
  if(is.ns4comp || is.ns6comp) {
    return(window.pageYOffset);
  } else if(is.ie4comp) {
    return(document.body.scrollTop);
  }
}

// Geeft het element
function getElt() {
  if(is.ns4comp) {
    var currentLayer = document.layers[getElt.arguments[0]];

    for (var i=1; i<getElt.arguments.length && currentLayer; i++) {
      currentLayer = currentLayer.document.layers[getElt.arguments[i]];
    }
    return currentLayer;
  } else if(is.ie4comp) {
    var elt = eval('document.all.' + getElt.arguments[getElt.arguments.length-1]);
    return(elt);
  } else if(is.ns6comp) {
    var elt = document.getElementById(getElt.arguments[getElt.arguments.length-1]);
    return(elt);
  }
}

// Geeft de 'display' van het element
function getEltDisplay(elt) {
  if(!elt || elt == null) {
    return;
  }
  if(is.ns4comp) {
    return (elt.display);
  } else if(is.ie4comp) {
    return (elt.style.display);
  } else if(is.ns6comp) {
    return (elt.style.display);
  }
}

// Geeft de 'visibility' van het element
function getEltVisibility(elt) {
  if(!elt || elt == null) {
    return;
  }
  if(is.ns4comp) {
    return (elt.visibility);
  } else if(is.ie4comp) {
    return (elt.style.visibility);
  } else if(is.ns6comp) {
    return (elt.style.visibility);
  }
}

// Geeft de 'bottom' van het element
function getEltBottom(elt) { 
  if(!elt || elt == null) {
    return 0;
  }
  if(is.ns4comp) {
    return (elt.bottom);
  } else if(is.ie4comp) {
    return (elt.style.pixelBottom);
  } else if(is.ns6comp) {
    return (elt.offsetBottom);
  }
}

// Geeft de 'top' van het element
function getEltTop(elt) { 
  if(!elt || elt == null) {
    return;
  }
  if(is.ns4comp) {
    return (elt.top);
  } else if(is.ie4comp) {
    return (elt.style.pixelTop);
  } else if(is.ns6comp) {
    return (elt.offsetTop);
  }
}

// Geeft de 'left' van het element
function getEltLeft(elt) { 
  if(!elt || elt == null) {
    return;
  }
  if(is.ns4comp) {
    return (elt.left);
  } else if(is.ie4comp) {
    return (elt.style.pixelLeft);
  } else if(is.ns6comp) {
    return (elt.offsetLeft);
  }
}

// Geeft de 'width' van het element
function getEltWidth(elt) { 
  if(!elt || elt == null) {
    return 0;
  }
  if(is.ns4comp) {
    return(elt.document.width);
  } else if(is.ie4comp) {
    return (elt.offsetWidth);
  } else if(is.ns6comp) {
    return (elt.offsetWidth);
  }
}

// Geeft de 'height' van het element
function getEltHeight(elt) { 
  if(!elt || elt == null) {
    return 0;
  }
  if(is.ns4comp) {
    return(elt.document.height);
  } else if(is.ie4comp) {
    return (elt.offsetHeight);
  } else if(is.ns6comp) {
    return (elt.offsetHeight);
  }
}

// Geeft de omringende 'form' van een element
function getForm(formName,elt) { 
  if(is.opera || is.ns6comp) {
    return document.forms[formName];
  }
  else if(is.ns4comp || is.ie4comp) {
    if(getForm.arguments.length == 2) {
      return eval("elt.document." + formName);
    } else {
      return eval("document." + formName);
    }
  }
}

////////////////////////////////////////////////////////////////////////////////
// SETTERS
////////////////////////////////////////////////////////////////////////////////
// Zet de 'position' van het element
function setEltPosition(elt, value) {
  if(!elt || elt == null) {
    return;
  }
  elt.style.position = value;
}

// Zet de 'class' van het element
function setEltClass(elt, value) {
  if(!elt || elt == null) {
    return;
  }
  elt.className = value;
}

// Zet de 'display' van het element
function setEltDisplay(elt, value) {
  if(!elt || elt == null) {
    return;
  }
  if(is.ns4comp) {
    elt.display = value;
  } else if(is.ie4comp) {
    elt.style.display = value;
  } else if(is.ns6comp) {
    elt.style.display = value;
  }
}

// Zet de 'visibility' van het element
function setEltVisibility(elt, value) {
  if(!elt || elt == null) {
    return;
  }
  if(is.ns4comp) {
    elt.visibility = value;
  } else if(is.ie4comp) {
    elt.style.visibility = value;
  } else if(is.ns6comp) {
    elt.style.visibility = value;
  }
}

// Zet de 'left' van het element
function setEltLeft(elt, x) {
  if(!elt || elt == null) {
    return;
  }
  if(is.ns4comp) {
    elt.left=x;
  } else if(is.ie4comp) {
    elt.style.pixelLeft=x;
  } else if(is.ns6comp) {
    elt.style.left = (x + 'px');
  }
}

// Zet de 'right' van het element
function setEltRight(elt, x) {
  if(!elt || elt == null) {
    return;
  }
  if(is.ns4comp) {
    elt.right=x;
  } else if(is.ie4comp) {
    elt.style.pixelRight=x;
  } else if(is.ns6comp) {
    elt.style.right = (x + 'px');
  }
}

// Zet de 'top' van het element
function setEltTop(elt, y) {
  if(!elt || elt == null) {
    return;
  }
  if(is.ns4comp) {
    elt.top=y;
  } else if(is.ie4comp) {
    elt.style.pixelTop=y;
  } else if(is.ns6comp) {
    elt.style.top= (y + 'px');
  }
}