//Window popup
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

////toon rollover in topnavigatie
function showroll(i){
 	//alert ();
//    document.getElementById(i).innerHTML = "<span class='navkop'>&nbsp;&#8250;</span>";
	document.getElementById(i).innerHTML = "&nbsp;<span style='font-size:12px;font-weight:bold;color:#DA6B02;'>&#8250;</span>";
}
function hideroll(i){
 	//alert ();
    document.getElementById(i).innerHTML = "&nbsp;";
}

/////global
var base 				= '';
var AgntUsr				= navigator.userAgent.toLowerCase();
var DomYes				= document.getElementById?1:0;
var NavYes				= AgntUsr.indexOf('mozilla')!=-1&&AgntUsr.indexOf('compatible')==-1?1:0;
var ExpYes				= AgntUsr.indexOf('msie')!=-1?1:0;
var Opr			 		= AgntUsr.indexOf('opera')!=-1?1:0;
var DomNav				= DomYes&&NavYes?1:0;
var DomExp				= DomYes&&ExpYes?1:0;
var Nav4				= NavYes&&!DomYes&&document.layers?1:0;
var Exp4				= ExpYes&&!DomYes&&document.all?1:0;
browser = new Object();
browser. mac = navigator. appVersion. toLowerCase(). indexOf( 'mac' ) >= 0;
browser. win = navigator. appVersion. toLowerCase(). indexOf( 'win' ) >= 0;
browser. unix = navigator. appVersion. toLowerCase(). indexOf( 'unix' ) >= 0;
browser. ie = navigator. appName. toLowerCase(). indexOf( 'microsoft internet explorer' ) >= 0;
browser. ns = navigator. appName. toLowerCase(). indexOf( 'netscape' ) >= 0;
if( browser. ns ){ browser. version = parseFloat( navigator. appVersion );}
if( browser. ie ){browser. version = parseFloat( navigator. appVersion. substring( navigator. appVersion. toLowerCase(). indexOf( "msie" ) + 4 ) );}

//###########################################################################
//##   DHTML Crossbrowser stuff
//###########################################################################


if( document. layers && window. Document && !window. Document. prototype. getElementById ){	
	var EventWatch = function(){var e = Event[ arguments[ 0 ]. substring( 2 ). toUpperCase() ];if( arguments[ 2 ] ){this. captureEvents( e );}else{this. releaseEvents( e );}return arguments[ 2 ];}
	window. document. watch( "onmousemove", EventWatch );
	setWidth = function(){arguments[ 0 ].width= arguments[1];}
  getHeight = function(){return arguments[ 0 ]. clip. height};
  getPageX = function(){if(!arguments[ 0 ]. pageX) return arguments[ 0 ].x; else return arguments[ 0 ]. pageX;}	
  getPageY = function(){if(!arguments[ 0 ]. pageY) return arguments[ 0 ].y; else return arguments[ 0 ]. pageY;}
  setPageX = function(){arguments[ 0 ]. pageX = arguments[1];}	
  setPageY = function(){arguments[ 0 ]. pageY= arguments[1];	}
  getLayer = function(){return document.layers[arguments[0]];	}
  setClip = function(){var l= arguments[ 0 ].clip;l.left =arguments[4];l.top =arguments[ 1 ];l.right = arguments[ 2 ];l.bottom = arguments[ 3 ]};
  writeMenus =function(){for(i=0;i<gmenus.length;i++){document.write('<layer visibility="hide" top="0" z-index="150" left="-1000" id="gmenu'+i+'" width="'+gmenus[i].gmenuWidth+'" name="gmenu'+i+'">' + gmenus[i].HTML+'</layer>')}};
  getWindowWidth = new Function( 'return window. innerWidth;' );
	getWindowHeight = new Function( 'return window. innerHeight;' );
}else{
	setWidth = function(){arguments[ 0 ].style.width= arguments[1];}
	getHeight = function(){return arguments[ 0 ]. offsetHeight};	
	setPageY = function(){arguments[ 0 ].style.top= arguments[1];	}
  setPageX = function(){arguments[ 0 ]. style.left = arguments[1];}
  setClip = function(){return true}
  writeMenus =function(){for(i=0;i<gmenus.length;i++){document.write('<div style="width:1px;display:block;top:0px;left:-1000px;position:absolute;z-index:150;" id="gmenu'+i+'" name="gmenu'+i+'">' + gmenus[i].HTML+'</div>');}};
	if(document.all){
    getWindowWidth = new Function( 'return window. document. body. clientWidth;' );
    getWindowHeight = new Function( 'return window. document. body. clientHeight;' );
		getLayer = function(){return document.all(arguments[0]);}
		if ( browser.mac && browser.version < 5 ){	
				 setPageY = function(){var l = arguments[ 0 ];var t = arguments[ 1 ];while( l. parentElement != null ){l = l. parentElement;t -= l. offsetTop;}arguments[ 0 ]. style. top = t;}
   			 setPageX = function(){var l = arguments[ 0 ];var t = arguments[ 1 ];while( l. parentElement != null ){l = l. parentElement;t -= l. offsetLeft;}arguments[ 0 ]. style. left = t;}
         getPageX = function(){var l = arguments[ 0 ];var t = 0;	while( l. parentElement != null ){	t += l. offsetLeft;l = l. parentElement;}return t;}
         getPageY = function(){var l = arguments[ 0 ];var t = 0;	while( l. parentElement != null ){t += l. offsetTop;l = l. parentElement;}return t;}
			 }else{	
    			getPageX = function(){ var l = arguments[ 0 ]; var t = 0; while( l. offsetParent != null ){ t += l. offsetLeft; l = l. offsetParent;}return t;}
    			getPageY = function(){ var l = arguments[ 0 ];var t = 0;while( l.offsetParent != null ){t += l. offsetTop;l = l. offsetParent;}return t;}
    			setClip = function(){arguments[ 0 ].style.clip = 'rect('+arguments[ 1 ]+','+arguments[ 2 ]+','+arguments[ 3 ]+','+arguments[ 4 ]+')';}
			 }
	}else{
   getPageX = function(){ var l = arguments[ 0 ]; var t = 0; while( l. offsetParent != null ){ t += l. offsetLeft; l = l. offsetParent;}return t;}
    			getPageY = function(){ var l = arguments[ 0 ];var t = 0;while( l.offsetParent != null ){t += l. offsetTop;l = l. offsetParent;}return t;}
   getLayer = function(){return document.getElementById(arguments[0]);	}
   getWindowWidth = new Function( 'return window. innerWidth;' );
   getWindowHeight = new Function( 'return window. innerHeight;' );
	}
}
//###########################################################################
//##   END DHTML Crossbrowser stuff
//###########################################################################


function body_onload() {
	preloadImage();
	menu_onload();
}

function preloadImage(d){
	if(!d){
		var d = document;
	}
	for(var i =0; i< d.images.length; i++){
		if(d.images[i].src.indexOf('_out')>0){
			loadImage(d.images[i].src);
		}
	}
	if(d.layers && !document.getElementById){
		for (var  i = 0;i< d.layers.length; i++){
			preloadImage(d.layers[i].document);
		}
	}
}

function loadImage(src){
	var preImage = new Image();
	preImage.src =  src.substr(0, src.lastIndexOf('_out')) +'_over'+src.substr(src.lastIndexOf('.'), src.length);
}


// MouseOver stuff
function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all(n); for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}


function swapImage( imageName, suffix ){
	var mi = MM_findObj(imageName);
	if( mi ){
		var is =  mi.src;
		var ex = is.substr(is.lastIndexOf('.'),is.length);
		var pad =(is.indexOf('_over') > 0 || is.indexOf('_out') > 0 ) ? is.substr(0, is.lastIndexOf('_')) : is.substr(0, is.lastIndexOf('.'));
		var state = (is.indexOf('_over') >0) ? '_out': '_over';
		if(!suffix)
			mi.src = pad + state + ex;
		else
			mi.src = pad + suffix + ex;
		//alert(pad);
	}
}




//// MAIN MENU
//###########################################################################
//## menu HTML
//###########################################################################

if(!menuRoot)
	var menuRoot = '';

var gmenus = new Array();
function gmenu(){
	this.glayer = null;
	this.HTML = null;
	this.gmarker = null;
	this.gmousein = 0;
	this.ganimating = false;
	this.ggoal = 0;
	this.menuXOffset = -500;
	this.menuYOffset = -500;
	this.goffsetX = this.menuXOffset;
	this.goffsetY = this.menuYOffset;
	this.gmenuWidth = 500;
	this.gmenuheight = null;
	this.gstep = (browser.mac)?50 : 25;
	this.gtime = 50;
	this.gstate=0;
	this.onShow = function() { return; };
	this.onHide = function() { return; };
	this.gimage = null;
	this.gpaddingTop = 0;
	this.gvertspacing = 0;
	this.gurl = '#';
	this.gbreedte = '#';
}
var bFreezeMenu = true;
var winhWidth = 0;
var documentLoaded = false;

function addMenu(imagename, vertspacing, url, breedte){
	gmenus[gmenus.length] = new gmenu();
	gmenus[gmenus.length-1].gimage = imagename;
	if(vertspacing)
		gmenus[gmenus.length-1].gvertspacing = vertspacing;
	if(url)
		gmenus[gmenus.length-1].gurl = url;
	if(breedte)
		gmenus[gmenus.length-1].gmenuWidth = breedte;
		
}

function maintainMenu(i){
	if(!(window.mouseX >= gmenus[i].goffsetX && window.mouseX <= (gmenus[i].goffsetX + gmenus[i].gmenuWidth) && window.mouseY >= (gmenus[i].goffsetY-gmenus[i].gpaddingTop) && window.mouseY <= (gmenus[i].goffsetY + gmenus[i].gmenuheight) )){
		hideMenu(i);		
		//alert('hide');
	}
}

function goMenu(i){
	if( documentLoaded && gmenus[i]){
		if ( gmenus[i].gurl.indexOf('http://') == 0){
			document.location = gmenus[i].gurl;
		}else{
			document.location = menuRoot + gmenus[i].gurl;
		}
	}
}

function showMenu(i){
	//alert (i);
	if (!(i == 0)){
		hideMenu(i-1);
	}
	if( documentLoaded && gmenus[i]){
		gmenus[i].ggoal = gmenus[i].gmenuheight;
    	gmenus[i].gmousein = true;
		if(!(browser.mac && browser.ie && browser.version < 5) && !(browser.ns && browser.version > 4.8))
    		placeMenu(i);
    	if (!gmenus[i].ganimating){
        	gmenus[i].onShow();
			clipOut(i);
    	}
	}	
}

function hideMenu(i){
	if (!bFreezeMenu)
	{
		gmenus[i].ggoal = 0;
		if (!gmenus[i].ganimating ){
			clipOut(i);
			gmenus[i].onHide();
			gmenus[i].gmousein = false;
		}
	}
}
var menuOpened = false;
function clipOut(i){
	if((browser.mac && browser.ie && browser.version < 5) || (browser.ns && browser.version > 4.8)){
		gmenus[i].ganimating = true;
		if (gmenus[i].ggoal){
			gmenus[i].glayer.style.display  = 'block';
		}else{
			gmenus[i].glayer.style.display  = 'none';
		}
		setPageY( gmenus[i].glayer, gmenus[i].goffsetY );
		setTimeout('gmenus['+i+'].ganimating = false;', 250);
	}else{
		var dis = Math.abs(gmenus[i].gstate - gmenus[i].ggoal);
		if (dis > gmenus[i].gstep) {
   		var tempstep = (gmenus[i].gstate > gmenus[i].ggoal)? -gmenus[i].gstep : gmenus[i].gstep;
      gmenus[i].gstate += tempstep;
   	  setPageY(gmenus[i].glayer,gmenus[i].goffsetY-(gmenus[i].gmenuheight-gmenus[i].gstate));
	    setClip(gmenus[i].glayer,gmenus[i].gmenuheight-gmenus[i].gstate,gmenus[i].gmenuWidth,gmenus[i].gmenuheight,0);
   	  gmenus[i].ganimating = true;
   	  setTimeout('clipOut('+i+')',gmenus[i].gtime);
   	}else{
	  	setPageY(gmenus[i].glayer,gmenus[i].goffsetY);
   	  setClip(gmenus[i].glayer,0,gmenus[i].gmenuWidth,gmenus[i].ggoal,0);
      gmenus[i].ganimating = false;
      if (gmenus[i].ggoal == 0 && gmenus[i].glayer.style){
      	gmenus[i].glayer.style.left = -gmenus[i].gmenuWidth;
			}
  	}
	}
}
function menu_onload(){
	for(i=0; i<gmenus.length; i++){
		//FIXME document.images[gmenus[i].gimage] does not always exist
		if(document.images[gmenus[i].gimage]){
		
			gmenus[i].menuXOffset = getPageX(document.images[gmenus[i].gimage]);
			gmenus[i].menuYOffset = getPageY(document.images[gmenus[i].gimage]) + document.images[gmenus[i].gimage].height + gmenus[i].gvertspacing;
			//gmenus[i].gmenuWidth =  270;
			//gmenus[i].gmenuWidth = document.images[gmenus[i].gimage].width;
			gmenus[i].gpaddingTop = gmenus[i].menuYOffset - getPageY(document.images[gmenus[i].gimage]);
			gmenus[i].onShow = function() { swapImage(this.gimage, '_over'); };
			gmenus[i].onHide = function() { swapImage(this.gimage, '_out'); };
			gmenus[i].goffsetX = gmenus[i].menuXOffset;
			gmenus[i].goffsetY = gmenus[i].menuYOffset;
		    gmenus[i].glayer = getLayer('gmenu'+i);
		    gmenus[i].gmenuheight = getHeight(gmenus[i].glayer);
		    gmenus[i].ggoal = gmenus[i].gmenuheight;
			setWidth(gmenus[i].glayer,gmenus[i].gmenuWidth);
			if((browser.mac && browser.ie && browser.version < 5) || browser.ns && browser.version > 4.8){
				gmenus[i].glayer.style.display  = 'none';
				placeMenu(i);
			}
			else
		    	setClip(gmenus[i].glayer,0,gmenus[i].gmenuWidth,0,0);
		    if(!gmenus[i].glayer.style){
		        gmenus[i].glayer.visibility = 'visible';
		    }
		}		
	}
	bFreezeMenu = false;
	documentLoaded = true;
}

function placeMenu(i){setPageX(gmenus[i].glayer, gmenus[i].goffsetX );setPageY(gmenus[i].glayer,gmenus[i].goffsetY);}

var menuOpened = false;
var gifOpened = false;
window. mouseX = 0;
window. mouseY = 0;
window. document. onmousemove = function(){
	if( arguments[ 0 ] ){
		window. mouseX = arguments[ 0 ]. pageX;
		window. mouseY = arguments[ 0 ]. pageY;
	}else{
		window. mouseX = event. clientX + document. body. scrollLeft;
		window. mouseY = event. clientY + document. body. scrollTop;
	}
	menuOpened = false;
	for(i=0; i<gmenus.length; i++){
	    if(gmenus[i].gmousein) {
			menuOpened = true;
			maintainMenu(i)
		}	
	}
	if (menuOpened){
		if (!gifOpened){
			gifOpened = true;
			if ( document.getElementById && document.getElementById('giflayer')){
				document.getElementById('giflayer').style.visibility = "visible";
				if (document.getElementById('flashlayer')){
					 if (document.all && browser.mac){
						//trace('show');
					 	document.getElementById('flashlayer').style.display = "none";
					 }
					 else {
					 	document.getElementById('flashlayer').style.visibility = "hidden";
					 }
				}
			}
		}
	}
	else {
		if (gifOpened){
			gifOpened = false;
			if ( document.getElementById && document.getElementById('giflayer')){
				document.getElementById('giflayer').style.visibility = "hidden";
				if (document.getElementById('flashlayer')){
					 if (document.all && browser.mac){
						//trace('hide');
					 	document.getElementById('flashlayer').style.display = "block";
					 }
					 else {
					 	document.getElementById('flashlayer').style.visibility = "visible";
					 }
				}
			}		
		}	
	}
} 
//// END MAIN MENU
