//<!--

// --- ADDED BY FRAMFAB ---
function popitup(url)
{
	newwindow=window.open(url,'popped','height=450,width=415,scrollbars=yes');
	if (window.focus) {newwindow.focus()}
}

// ------------------------------ ALGEMEEN ------------------------------

var isPageLoaded = false;
var isContentclippingEnabled = false; // clipt contentlayer om doorslaan van formulierelementen te voorkomen

function init(){
	contentLayer = getElt('allecontentDIV');

	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('images/select.gif');
	preloadImages('images/select_sel.gif');
	preloadImages('images/select_ro.gif');
	preloadImages('images/amsterdam_ro.gif');
	preloadImages('images/sitemap_ro.gif');
	preloadImages('images/mail_ro.gif');
	preloadImages('images/contact_ro.gif');
	preloadImages('images/adressengids_ro.gif');
	preloadImages('images/english_ro.gif');
	preloadImages('images/nederlands_ro.gif');
	preloadImages('images/zoek_ro.gif');
	preloadImages('images/formpijltjeenter_over.gif');
	preloadImages('images/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 = true;
var isOnscrollEnabled = false; // true: gebruik onScroll event; false: gebuik scrollListener 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 ); // fp
	}
}

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 miliseconden vertraging openen submenu

if (is.ns4comp || is.ns6comp){
	timerSub = 250; // aantal miliseconden vertraging openen submenu
}

var allSubs = new Array(); // alle mainmenu-items

// function initSubmenu is moved to index.jsp to generate dynamic

function initSubmenuLeft(){
	var iX = getEltWidth(getElt('topnav','mainMenuDIV'));
	var iY = getEltTop(getElt('topnav','mainMenuDIV'));

	for(var i=1; i<allSubs.length; i++) {
		setEltLeft(allSubs[i],iX);
		setEltTop(allSubs[i],iY);
	}
	

	
	
	// Reageer op tekstgrootte-veranderingen
	// setTimeout('initSubmenuLeft()',9999); // fp

}


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. fp
}

// 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) setEltVisibility(allSubs[prevSub],'hidden');
	showWhitearrow(openSub);
	if(openSub > 0) setEltVisibility(allSubs[openSub],'visible');
	skipSub = openSub;
}

// toont pijltje voor menu-item
function showWhitearrow(q){
	if (q>0) {
		img = "pijl_" + q;
//		swapImage('images/select_sel.gif','" + img + "',topnavLayer);
		var topnavLayer = getElt('topnav','mainMenuDIV');
		swapImage('images/select_sel.gif',img,topnavLayer);
	}
}

// verbergt pijltje voor menu-item
function hideWhitearrow(q){
	if (q>0) {
		img = "pijl_" + q;
		var topnavLayer = getElt('topnav','mainMenuDIV');
		swapImage('images/select.gif',img,topnavLayer);
//		swapImage('images/select.gif','" + img + "',topnavLayer);
	}
}

// toont puntje voor menu-item
function showWhitedot(q){
	if ((q!=skipSub) && (q!=-1)){
		lastWhitedot = q;
		img = "pijl_" + q;

		img = "pijl_" + q;
		var topnavLayer = getElt('topnav','mainMenuDIV');
		swapImage('images/select_ro.gif',img,topnavLayer);
//		swapImage('images/select_ro.gif','" + img + "',topnavLayer);
	}
}

// verbergt puntje voor menu-item
function hideWhitedot(q){
	if ((q!=skipSub) && (q!=-1)){
		img = "pijl_" + q;
//		swapImage('images/select.gif','" + img + "',topnavLayer);
		var topnavLayer = getElt('topnav','mainMenuDIV');
		swapImage('images/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
	if (q>0 && r>=0) { // added by fp - 16-4-03
		img = "pijl_" + q + "_" + r;
		swapImage('images/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;
		swapImage('images/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;
		swapImage('images/select.gif',img ,allSubs[q]);
	}
}

function MenuOpen(){
	swapOthersFF(0,5);
	eersteRollover();
	// setTimeout('isMenuNogActief()', 500); //fp
}

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

function initFunctsmenu() {
	allFuncts[0] = new Array("am","images/amsterdam.gif","images/amsterdam_ro.gif")
	allFuncts[1] = new Array("sp","images/sitemap.gif","images/sitemap_ro.gif")
	allFuncts[2] = new Array("ml","images/mail.gif","images/mail_ro.gif")
	allFuncts[3] = new Array("ct","images/contact.gif","images/contact_ro.gif")
	allFuncts[4] = new Array("ag","images/adressengids.gif","images/adressengids_ro.gif")
	allFuncts[5] = new Array("en","images/english.gif","images/english_ro.gif")
	allFuncts[6] = new Array("nl","images/nederlands.gif","images/nederlands_ro.gif")
	lastFunc = -1;
}

//swap-image functie voor het algemenefunctiesmenu
function swapFuncts(n){
	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;

function initMainmenu(){
	topnavLayer	= getElt('topnav');
	navSmallLayer = getElt('navSmall');
	headerLayer = getElt('headerDIV');
	contentLayer = getElt('allecontentDIV');

	navHeight = getEltHeight(topnavLayer);//hoogte van de Grote navigatie
	navSmallHeight = getEltHeight(navSmallLayer)//hoogte van de kleine navigatie
	headerHeight = 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 == "subindex") 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 = getEltHeight(contentLayer); //hoogte contentblok
			contentWidth = getEltWidth(contentLayer); //hoogte contentblok
			setEltClip (contentLayer, y, contentWidth, contentHeight, 0);
		}
	}
}
// ------------------- Reset menus

function resetMainmenu() {
	if (pageType == 'index') {
		// what is this doing here ????????????????? (fp, 11-4-03)
		// 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 //fp
	if (!isMenuSliding) activateMenu = true;
	swapImage('images/open_menu_ro.gif','opem',navSmallLayer)
}

function killTryShowMenu(){
	activateMenu = false;
	swapImage('images/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 (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);
		setTimeout('showMenuFase1(' + slideCurY + ',' + slideEndY + ')',1);
	} else {
		var nextStartY = 0 - navHeight - headerHeight + blackBarHeight;
		var nextEndY = 0 + headerHeight;

		setEltTop(topnavLayer,slideEndY);

		var contentTop = slideCurY + navSmallHeight; // update clipping content
		updateContentClip(contentTop);
		nextEndY=nextEndY-29;
		showMenuFase2(nextStartY,nextEndY);
	}
}

function showMenuFase2(slideCurY,slideEndY){
	if (slideCurY < slideEndY) {
		var Yplus = (Math.ceil((slideEndY - slideCurY) / 1)) + 1;
		slideCurY += Yplus;
		if (slideCurY > slideEndY) slideCurY = slideEndY;
		setEltTop(topnavLayer,slideCurY);
		var contentTop = slideCurY + navHeight; // update clipping content
		updateContentClip(contentTop);
		setTimeout('showMenuFase2(' + slideCurY + ',' + slideEndY + ')',10);
	} else {
		isMenuVisible = true;
		isMenuTransforming = false;
		setEltTop(topnavLayer,slideEndY);
		var contentTop = slideCurY + navHeight; // update clipping content
		updateContentClip(contentTop);
		menuListener();
	}
}

// ------------------- Klap menu in

function hideMenu(){
	isMenuTransforming = true;
	var slideStartY = getEltTop(topnavLayer);
	var slideEndY = 0 - navHeight + headerHeight;
	hideMenuFase1(slideStartY,slideEndY);
}

function hideMenuFase1(slideCurY,slideEndY){
	if (slideCurY > slideEndY) {
		var Yplus = (Math.ceil((slideEndY - slideCurY) / 1)) - 1;
		slideCurY += Yplus;
		if (slideCurY < (slideEndY + (headerHeight / 4))) slideCurY = slideEndY;
		setEltTop(topnavLayer,slideCurY);
		var contentTop = slideCurY + navHeight; // update clipping content
		updateContentClip(contentTop);
		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);
		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 (isMenuVisible) {
		headerHeight = getEltHeight(headerLayer); //update berekening i.v.m. mogelijke fontvergroting
		navHeight = getEltHeight(topnavLayer); //update berekening i.v.m. mogelijke fontvergroting
		if ((curMouseY + getWinScrollTop()) > (headerHeight + navHeight)) {
			hideMenu();
			resetSubMenu();
		} else {
			setTimeout('menuListener()',1000); //fp
		}
	}
}

// is de muis onder het menu dat bovenin de indexpagina staat?
function resetSubMenuListener() {
	if (pageType == 'index') {
		if ((curMouseY > (headerHeight + navHeight)) && (isMenuOnTop == true)) {
			resetSubMenu();
		}
		// setTimeout('resetSubMenuListener()',500); //fp
	}
}

// ------------------- SCHUIVEND MARGEPANEEL CONTENTPAGINA ------------------------------

var margeBlokMaxTop = 0;
var margeBlokMaxBottom = 0;
var isMargeblokSliding = false;
var footerHeight = 0;
var headerfotoHeight = 0;
var margeBlokDelay = 0;	// vertraging voordat het margeblok zich opnieuw positioneerd

function initMargeblok() {
	// alert('initMargeblok');
	if (pageType=="content") {
		footerHeight = 120;
		headerfotoHeight = 55;
		margeBlokDelay = 2000;
		
	} else if (pageType=="popup") {
		footerHeight = 30;
		headerfotoHeight = 69;
		margeBlokDelay = 300;
	}
	margeKolomLayer = getElt('margeKolom');
	margeBlokLayer = getElt('margeBlok');
	contentLayer = getElt('allecontentDIV');
	footerLayer = getElt('footerDIV');

	margeKolomHeight = getEltHeight(margeKolomLayer); //hoogte van schuivend margeblok
	margeBlokHeight = getEltHeight(margeBlokLayer); //hoogte van schuivend margeblok
	contentHeight = getEltHeight(contentLayer); //hoogte van content
	footerHeight = getEltHeight(footerLayer); //hoogte van footer
	footerTop = getEltTop(footerLayer); //hoogte van footer

	// alert('footerHeight='+footerHeight+' footerTop='+footerTop);

	margeKolomTop = footerTop - footerHeight-7;
	if(margeKolomTop>getWinHeight()){
	     margeKolomTop = getWinHeight() - margeBlokHeight - 51;
	}
	margeBlokMaxTop = margeKolomTop + margeKolomHeight;
	margeBlokMaxBottom = contentHeight - footerHeight;

	setEltTop (margeKolomLayer,margeKolomTop);
	setEltTop (margeBlokLayer,margeBlokMaxTop);
}

// Update margeblok na een scrollbeweging
function margeblokUpdate() {
	var slideCurY = getEltTop(margeBlokLayer);
	var slideEndY = getWinScrollTop() + getWinHeight() - margeBlokHeight + 500;
	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 = 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
			slideCurY += Yplus;
			setEltTop (margeBlokLayer,slideCurY);
			setTimeout('margeblokMove()',10)
		}
		
		else if (slideCurY > slideEndY) {
			var Yplus = (Math.ceil((slideEndY - slideCurY) / 4)) - 1; // move up
			slideCurY += Yplus;
			setEltTop (margeBlokLayer,slideCurY);
			setTimeout('margeblokMove()',10)
		} 

		else if (slideCurY == slideEndY) {	
			var Yplus = (Math.ceil((slideEndY - slideCurY) / 4)) - 1; // move up
			slideCurY += Yplus-1;
			setEltTop (margeBlokLayer,slideCurY);			
			isMargeblokSliding = false;
			
		} 
		
		else {
		isMargeblokSliding = false;
		} 
}

// -------------------

//-->




//--------------------------------
function DBG_ShowObject(obj) {
//--------------------------------
	ObjectList = new Array;
	var ol=0;


	var res='';
	res += '<body bgcolor="#AAFFFF">';
	res += '<table border="0" cellpadding="2" cellspacing="1">';
	res += '<tr><td colspan="2" bgcolor="FFFFFF">DBG_ShowObject called: '+(new Date().valueOf())+'</td></tr>';

	for(var i in obj) {
		res += '<tr><td bgcolor="#F7F7F7">'+i +'</td><td bgcolor="#DDDDDD">';
		if(typeof obj[i] == 'function') {
			res += '<b>[function]</b>\n';
			var the_func = obj[i].toString().replace('<','&lt;');
			the_func = the_func.replace('>','&gt;');
			res += '<pre>'+the_func+'</pre>';
		}
		else if(typeof obj[i] == 'object') {
//			ObjectList[ol]=obj[i];
//			res += '<b>[OBJECT]</b>\n';
//			res += '<a href="javascript:void(null);" onClick="window.parent.showOLObject('+ol+');">';
//			res += '<a href="javascript:void(null);" onClick="alert(this.document);alert(this.parent);">';
//			res += obj[i].toString();
//			if(isDef(obj[i].iSXO)) res += '<a href="javascript:void(null);" onclick="window.opener.DBG_ShowObject(window.opener._aSXO['+obj[i].iSXO+']); return false;">';
			res += obj[i];
//			if(isDef(obj[i].iSXO)) res += '</a>\n';
//			res += '</a>\n';
		}
		else res += obj[i];


		res += '</td></tr>';
	}
	res += '</table></body>';
	var objWin = window.open("","","height=300,width=500,scrollbars,resizable");
	objWin.document.open();
	objWin.document.write(res);
	objWin.document.close();
}

