/*******************************************************************************
  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 : InfoProjects B.V.
*******************************************************************************/

////////////////////////////////////////////////////////////////////////////////
// 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.mac     = (apv.indexOf('macintosh')>0);
  this.win     = (apv.indexOf('win')>0);
  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;
  }
}

// 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;
  }
}

// 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 '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 '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);
  }
}

////////////////////////////////////////////////////////////////////////////////
// SETTERS
////////////////////////////////////////////////////////////////////////////////
// Zet de 'position' van het element
function setEltPosition(elt, value) {
  if(!elt || elt == null) {
    return;
  }
  elt.style.position = 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 'width' van het element
function setEltWidth(elt, y) {
  if(!elt || elt == null) {
    return;
  }
  if(is.ns4comp) {
    elt.width=y;
  } else if(is.ie4comp) {
    elt.style.pixelWidth=y;
  } else if(is.ns6comp) {
    elt.style.width= (y + '');
  }
}