<!--

// ------------------------------ ALGEMEEN ------------------------------

var isPageLoaded = false;
var isContentclippingEnabled = false; // clipt contentlayer om doorslaan van formulierelementen te voorkomen

function init(){
  if (top != self) top.document.location = self.document.location.href;

	contentLayer = getElt('allecontent');
/*	
	if (pageType!="popup")  {
		initSubmenu();
		initFunctsmenu();
		initMainmenu();
	}*/
	if (is.win && is.ie4comp) {
		isOnscrollEnabled = true;
		isContentclippingEnabled = true;
	} else if (is.ns4comp) {
		isContentclippingEnabled = true;
		scrollListener(); // vervangt de onscroll functionaliteit van IE
	} else {
		isContentclippingEnabled = false;
		scrollListener(); 
	}
/*
	if (curIndex>0) resetSubMenu();
	
	if ((pageType=="content") || (pageType=="popup")) initMargeblok();
*/
	isPageLoaded = true;

  preloadImages(buttonsImgPath+'select.gif');
  preloadImages(buttonsImgPath+'select_sel.gif');
  preloadImages(buttonsImgPath+'select_ro.gif');
  preloadImages(buttonsImgPath+'adressengids_ro.gif');
  preloadImages(buttonsImgPath+'stadsplattegrond_ro.gif');
  preloadImages(buttonsImgPath+'gemeenteloket_ro.gif');
  preloadImages(buttonsImgPath+'sitemap_ro.gif');
  preloadImages(buttonsImgPath+'contact_ro.gif');
  preloadImages(buttonsImgPath+'english_ro.gif');
  preloadImages(buttonsImgPath+'zoek_ro.gif');
  preloadImages(buttonsImgPath+'formpijltjeenter_over.gif');
  preloadImages(buttonsImgPath+'formpijltjelinks_over.gif');

}

// ------------------- track mousemove

var curMouseX = 0;
var curMouseY = 0;


if (is.ns4comp) document.captureEvents(Event.MOUSEMOVE)

document.onmousemove = getMouseXY;

function getMouseXY(e) {
    curMouseY = getMouseWinTop(e);
    if (curMouseY < 0){curMouseY = 0}
  return true;
}

// ------------------- track scrollbewegingen

var lastScrollX;
var lastScrollY;
var isScrolling = false;
var activateMenu = false;
var isOnscrollEnabled = false; // true: gebruik onScroll event; false: gebuik scrollListner functie

// wordt geinitialiseerd als het onscroll event wordt ondersteund
function initOnscroll() {
  if(isOnscrollEnabled == true) scrollAction();
}

// vervangt de onscroll event van IE
function scrollListener() {
  if(!isOnscrollEnabled) {
    if( lastScrollY != getWinScrollTop()) {
      isScrolling = true;
    }
    if( lastScrollY == getWinScrollTop() && isScrolling ) {
      isScrolling = false;
      scrollAction();
    }
    lastScrollX = getWinScrollLeft();
    lastScrollY = getWinScrollTop();
    setTimeout( "scrollListener();", 100 );
  }
}

function scrollAction() {
	if (isPageLoaded) {
		if ((pageType=="content") || (pageType=="popup")) margeblokUpdate();
	}
}

// ------------------------------ TOON VERBERG SUBMENUS ------------------------------


var oMenu = 0;

var activeSub = -1;
var openSub = -1;
var prevSub = -1;
var skipSub = -1;
var lastWhitedot = -1;
var lastWhitedotSub = -1;

var checkA = null;
var doS = null;

var timerSub = 250; // aantal milliseconden vertraging openen submenu

if (is.ns4comp || is.ns6comp){
  timerSub = 250; // aantal milliseconden vertraging openen submenu
}

var allSubs = new Array(); // alle mainmenu-items

function resetSubMenu(){


	if(curIndex>0) {
		skipSub = curIndex;
		showWhitearrowSub(curIndex,curSubIndex);
	} else {
		skipSub = -1;
	}

	prevSub = openSub;
	openSub = curIndex;

	doOpenSub(curIndex);

}

function showSub(q){
	
  showWhitedot(q);
  setactiveSub(q); // stelt ge-rolloverde link als actief.
	setTimeout('tryOpenSub(' + q + ')', timerSub); // kijkt na timer sec. of gebruiker nog op hetzelfde mainmenu-item staat.
}

// zet actieve mainmenu item
function setactiveSub(q){
	activeSub=q;
}

// vergelijkt actieve mainmenu-item met huidige mainmenu-item
function tryOpenSub(q){
	if(q==activeSub){
		prevSub = openSub;
		openSub = q;
		doOpenSub();
	}
}

// toont inhoud van mainmenu-item
function doOpenSub(){
	hideWhitearrow(prevSub);
	if(prevSub > 0) eval("setEltVisibility(allSubs[prevSub],'hidden')");
	showWhitearrow(openSub);
	if(openSub > 0) eval("setEltVisibility(allSubs[openSub],'visible')");
	skipSub = openSub;
}

// toont pijltje voor menu-item
function showWhitearrow(q){
  if (topnavLayer+"" == "undefined") return;
	if (q>0) {
		img = "pijl_" + q;
		eval("swapImage('"+buttonsImgPath+"select_sel.gif','" + img + "',topnavLayer)");
	}
}

// verbergt pijltje voor menu-item
function hideWhitearrow(q){
  if (topnavLayer+"" == "undefined") return;
	if (q>0) {
		img = "pijl_" + q;
		eval("swapImage('"+buttonsImgPath+"select.gif','" + img + "',topnavLayer)");
	}
}

// toont puntje voor menu-item
function showWhitedot(q){
  if (topnavLayer+"" == "undefined") return;
	if ((q!=skipSub) && (q!=-1)){
		lastWhitedot = q;
		img = "pijl_" + q;
  	eval("swapImage('"+buttonsImgPath+"select_ro.gif','" + img + "',topnavLayer)");
	}
}

// verbergt puntje voor menu-item
function hideWhitedot(q){
  if (topnavLayer+"" == "undefined") return;
	if ((q!=skipSub) && (q!=-1)){
		img = "pijl_" + q;
		eval("swapImage('"+buttonsImgPath+"select.gif','" + img + "',topnavLayer)");
	}
}

// de-activeer mainmenu-item
function noSub(){
	hideWhitedot(lastWhitedot)
	setactiveSub(-1);
}

// toont pijltje voor submenu-item
function showWhitearrowSub(q,r){ //q = array-index voor betreffend submenu; r = nummer van submenu-item
	img = "pijl_" + q + "_" + r;
	eval("swapImage('"+buttonsImgPath+"select_sel.gif','" + img + "',allSubs[q])");
}

// toont puntje voor submenu-item
function showWhitedotSub(q,r){//q = array-index voor betreffend submenu; r = nummer van submenu-item
	lastWhitedotSub = r;
	if ((curIndex!=q) || (curSubIndex!=r)) {
		img = "pijl_" + q + "_" + r;
		eval("swapImage('"+buttonsImgPath+"select_ro.gif','" + img + "',allSubs[q])");
	}
}

// verbergt puntje voor menu-item
function hideWhitedotSub(q){ //q = array-index voor betreffend submenu
	var r = lastWhitedotSub;
	if (((curIndex!=q) || (curSubIndex!=r)) && (r!=-1)) {
		img = "pijl_" + q + "_" + r;
		eval("swapImage('"+buttonsImgPath+"select.gif','" + img + "',allSubs[q])");
	}
}

function MenuOpen(){
	swapOthersFF(0,5);
	eersteRollover();
	setTimeout('isMenuNogActief()', 500);
}

function eersteRollover(){
	oMenu = 1;
}

function eersteRollout(){
	swapOthersREW(0,5);
	oMenu = 0;
}

function isMenuNogActief(){
	if(oMenu==1){
		menuListener();
	}
}

// ------------------------------ FUNCTIES-MENU ------------------------------

var allFuncts = new Array(); // alle afbeeldingen uit het algemenefunctiesmenu
	
//swap-image functie voor het algemenefunctiesmenu
function swapFuncts(n){
  if (topnavLayer+"" == "undefined") return;
	if(n!=999) eval("swapImage(allFuncts[" + n + "][2],allFuncts[" + n + "][0],topnavLayer)");
	if(lastFunc!=-1) {
		eval("swapImage(allFuncts[" + lastFunc + "][1],allFuncts[" + lastFunc + "][0],topnavLayer)");
		lastFunc = -1;
	}
	if(n!=999) lastFunc = n;
}

// ------------------------------ MAINMENU ------------------------------

var navHeight = 0;
var navSmallHeight = 0;
var headerHeight = 0;
var blackBarHeight = 16;

if (is.ns4comp){ var speed = 12; }
else { var speed = 6; }

var isMenuVisible = false;
var isMenuSliding = false;
var isMenuTransforming = false;
var isMenuOnTop = false;

var topnavLayer,navSmallLayer,headerLayer,contentLayer;


function initMainmenu(){
	topnavLayer = getElt('topnav');
	navSmallLayer = getElt('navSmall');
	headerLayer = getElt('header');
	contentLayer = getElt('allecontent');
 
	navHeight = eval("getEltHeight(topnavLayer)");//hoogte van de Grote navigatie
	navSmallHeight = eval("getEltHeight(navSmallLayer)");//hoogte van de kleine navigatie
	headerHeight = eval("getEltHeight(headerLayer)");//hoogte van het amsterdamNL logo

	if (pageType == "index") {
		actionY = navHeight + headerHeight; //vanaf dit punt verandert de navigatiebalk van formaat	
	} else {
		actionY = 0; 
	}
	
	if (pageType == "index") resetMainmenu();
	resetNavSmall();
	resetSubMenuListener();
}

// ------------------- Update cliparea content na een scrollbeweging

function updateContentClip(y) {
	if (isContentclippingEnabled ) {
		if (is.ie4comp) {
			setEltClip (contentLayer, y, 'auto', 'auto', 0);
		} else if (is.ns4comp) {
			contentHeight = eval("getEltHeight(contentLayer)"); //hoogte contentblok
			contentWidth = eval("getEltWidth(contentLayer)"); //hoogte contentblok
			setEltClip (contentLayer, y, contentWidth, contentHeight, 0);
		}
	}
}

// ------------------- Reset menus

function resetMainmenu() {
  if (topnavLayer+"" == "undefined") return;
	if (pageType == 'index') {
		setEltTop(topnavLayer,headerHeight);
		isMenuOnTop = true;
		resetSubMenu();
	} else {
		setEltTop(topnavLayer,-500);
	}
	isMenuVisible = false;
}

function resetNavSmall() {
	setEltTop(navSmallLayer,headerHeight);
}

// ------------------- Klap menu uit

function tryShowMenu(){
	if (!activateMenu) setTimeout('showMenu()',100); // vertraging voordat menu werkelijk uitklapt
	if (!isMenuSliding) activateMenu = true;
	swapImage(buttonsImgPath+'open_menu_ro.gif','opem',navSmallLayer)
}

function killTryShowMenu(){
	activateMenu = false;
	swapImage(buttonsImgPath+'open_menu.gif','opem',navSmallLayer)
}

function showMenu(){
	if (activateMenu && !isMenuVisible && !isMenuSliding && !isMenuTransforming) {
		activateMenu = false;
		isMenuTransforming = true;
		var slideStartY = getEltTop(navSmallLayer);
		var slideEndY = slideStartY - navSmallHeight + blackBarHeight;
		showMenuFase1(slideStartY,slideEndY);
	}
}

function showMenuFase1(slideCurY,slideEndY){
  if (topnavLayer+"" == "undefined") return;
	if (slideCurY > slideEndY) { 
		var Yplus = (Math.ceil((slideEndY - slideCurY) / 1.2)) - 1;
		slideCurY += Yplus;
		if (slideCurY < slideEndY) slideCurY = slideEndY;
		setEltTop (navSmallLayer,slideCurY);
		var contentTop = slideCurY + navSmallHeight; // update clipping content
		updateContentClip(contentTop);
		eval("setTimeout('showMenuFase1(" + slideCurY + "," + slideEndY + ")',10)");
	} else {
		var nextStartY = 0 - navHeight - headerHeight + blackBarHeight;
		var nextEndY = 0 + headerHeight;
		setEltTop(topnavLayer,slideEndY);
		var contentTop = slideCurY + navSmallHeight; // update clipping content
		updateContentClip(contentTop);
		showMenuFase2(nextStartY,nextEndY);
	}
}

function showMenuFase2(slideCurY,slideEndY){
  if (topnavLayer+"" == "undefined") return;
	if (slideCurY < slideEndY) { 
		var Yplus = (Math.ceil((slideEndY - slideCurY) / 1)) + 1;
		slideCurY += Yplus;
		if (slideCurY > slideEndY) slideCurY = slideEndY;
		eval("setEltTop(topnavLayer," + slideCurY + ")");
		var contentTop = slideCurY + navHeight; // update clipping content
		updateContentClip(contentTop);
		eval("setTimeout('showMenuFase2(" + slideCurY + "," + slideEndY + ")',10)");
	} else {
		isMenuVisible = true;
		isMenuTransforming = false;
		eval("setEltTop(topnavLayer," + slideEndY + ")");
		var contentTop = slideCurY + navHeight; // update clipping content
		updateContentClip(contentTop);
		menuListener();
	}
}

// ------------------- Klap menu in

function hideMenu(){
  if (topnavLayer+"" == "undefined") return;
	isMenuTransforming = true;
	var slideStartY = getEltTop(topnavLayer);
	var slideEndY = 0 - navHeight + headerHeight;
	hideMenuFase1(slideStartY,slideEndY);
}

function hideMenuFase1(slideCurY,slideEndY){
  if (topnavLayer+"" == "undefined") return;
	if (slideCurY > slideEndY) { 
		var Yplus = (Math.ceil((slideEndY - slideCurY) / 1)) - 1;
		slideCurY += Yplus;
		if (slideCurY < (slideEndY + (headerHeight / 4))) slideCurY = slideEndY;
		eval("setEltTop(topnavLayer," + slideCurY + ")");
		var contentTop = slideCurY + navHeight; // update clipping content
		updateContentClip(contentTop);
		eval("setTimeout('hideMenuFase1(" + slideCurY + "," + slideEndY + ")',10)");
	} else {
		var nextEndY = 0 + headerHeight;
		var nextStartY = nextEndY - navSmallHeight;
		var contentTop = slideCurY + navHeight; // update clipping content
		updateContentClip(contentTop);
		hideMenuFase2(nextStartY,nextEndY);
	}
}

function hideMenuFase2(slideCurY,slideEndY){
	if (slideCurY < slideEndY) { 
		var Yplus = (Math.ceil((slideEndY - slideCurY) / 6)) + 1;
		slideCurY += Yplus;
		if (slideCurY > slideEndY) slideCurY = slideEndY;
		setEltTop (navSmallLayer,slideCurY);
		var contentTop = slideCurY + navSmallHeight; // update clipping content
		updateContentClip(contentTop);
		eval("setTimeout('hideMenuFase2(" + slideCurY + "," + slideEndY + ")',10)");
	} else {
		setEltTop(navSmallLayer,slideEndY);
		var contentTop = slideCurY + navSmallHeight; // update clipping content
		updateContentClip(contentTop);
		resetMainmenu();
		isMenuVisible = false;
		isMenuTransforming = false;
	}
}

// is de muis onder het menu?
function menuListener() {
  if (topnavLayer+"" == "undefined") return;
	if (isMenuVisible) {
		headerHeight = eval("getEltHeight(headerLayer)"); //update berekening i.v.m. mogelijke fontvergroting
		navHeight = eval("getEltHeight(topnavLayer)"); //update berekening i.v.m. mogelijke fontvergroting
		if ((curMouseY + getWinScrollTop()) > (headerHeight + navHeight)) {
			hideMenu();
			resetSubMenu();
		} else {
			setTimeout('menuListener()',1000);
		}
	}
}

// is de muis onder het menu dat bovenin de indexpagina staat?
function resetSubMenuListener() {
	if (pageType == 'index') {
		if ((curMouseY > (headerHeight + navHeight)) && (isMenuOnTop == true)) {
			resetSubMenu();
		}
		else setTimeout('resetSubMenuListener()',500);
	}
}

// ------------------- SCHUIVEND MARGEPANEEL CONTENTPAGINA ------------------------------

var margeBlokMaxTop = 0;
var margeBlokMaxBottom = 0;
var isMargeblokSliding = false;
var footerHeight = 0;
var margeBlokDelay = 0;	// vertraging voordat het margeblok zich opnieuw positioneerd

function initMargeblok() {
	if (pageType=="content") {
		footerHeight = 130;
		headerfotoHeight = 55;
		margeBlokDelay = 2000;
	} else if (pageType=="popup") {
		footerHeight = 30;
		headerfotoHeight = 69;
		margeBlokDelay = 300;
	}
	margeKolomLayer = getElt('margeKolom');
	margeBlokLayer = getElt('margeBlok');
	contentLayer = getElt('allecontent');
	margeKolomHeight = eval("getEltHeight(margeKolomLayer)"); //hoogte van schuivend margeblok
	margeBlokHeight = eval("getEltHeight(margeBlokLayer)"); //hoogte van schuivend margeblok
	contentHeight = eval("getEltHeight(contentLayer)"); //hoogte van content
	margeKolomTop = headerHeight + navSmallHeight + headerfotoHeight; 
	margeBlokMaxTop = margeKolomTop + margeKolomHeight;
	margeBlokMaxBottom = contentHeight - footerHeight;
	setEltTop (margeKolomLayer,margeKolomTop);
	setEltTop (margeBlokLayer,margeBlokMaxTop);
}

// Update margeblok na een scrollbeweging
function margeblokUpdate() {
	var slideCurY = eval("getEltTop(margeBlokLayer)");
	var slideEndY = getWinScrollTop() + getWinHeight() - margeBlokHeight;
	if (slideEndY > (margeBlokMaxBottom - margeBlokHeight)) slideEndY = (margeBlokMaxBottom - margeBlokHeight);
	if (slideEndY < margeBlokMaxTop) slideEndY = margeBlokMaxTop;
	if ((slideCurY != slideEndY) && (slideEndY >= margeBlokMaxTop) && !isMargeblokSliding) {
		isMargeblokSliding = true;
		setTimeout('margeblokMove()',margeBlokDelay)
	}
}

// Beweeg margeblok van boven naar beneden
function margeblokMove(){
	var slideCurY = eval("getEltTop(margeBlokLayer)");
	var slideEndY = getWinScrollTop() + getWinHeight() - margeBlokHeight;
	if (slideEndY > (margeBlokMaxBottom - margeBlokHeight)) slideEndY = (margeBlokMaxBottom - margeBlokHeight);
	if (slideEndY < margeBlokMaxTop) slideEndY = margeBlokMaxTop;
	if (slideCurY != slideEndY) {
		if (slideCurY < slideEndY) var Yplus = (Math.ceil((slideEndY - slideCurY) / 4)) + 1; // move down
		if (slideCurY > slideEndY) var Yplus = (Math.ceil((slideEndY - slideCurY) / 4)) - 1; // move up
		slideCurY += Yplus;
		eval("setEltTop (margeBlokLayer," + slideCurY + ")");
		setTimeout('margeblokMove()',10)
	} else {
		isMargeblokSliding = false;
	}
}

// ------------------- // EINDE CODE IN JAVASCRIPT
