// ----------------------------------------------------------------------------------------------------

var titleimg;
var menuitems;

var current_active_menu = 1; // dat is home
var current_mouseover_menu = null;

var pages = new Object();
var current_page_id = null;

var extrapags = new Object();

var current_page_opacity = 0;
var page_opacity_timer = null;

var current_extrapags_opacity = 0;
var extrapags_opacity_timer = null;

var get_window_width = null, get_window_height = null, get_window_viewport_width = null, get_window_viewport_height = null; // worden gevuld init_get_window_size(), aangeroepen door init_page()

// ----------------------------------------------------------------------------------------------------

function init_page( ) {

  // png fix
  if ( typeof(pngfix) == 'function' ) {
    pngfix();
  }

  // initialiseren van functies voor later gebruik
  init_get_window_size();

  // eerst de basis site positioneren en weergeven
  center_site();
  document.getElementById('siteviewport').style.visibility = 'visible';

  // menu weergeven - doet ook preloaden menuimages
  init_menu();
  
  // floating blockjes
  init_floating_blocks();
  
  // extra voor tijdens invoer en productie
  if ( open_page_id ) {
    open_page( open_page_id )
  }          

  // nu pas de background laden, want die is nogal groot
  document.getElementById('backgroundimage').src = igorurl + '/gfx/background.gif';

  // site is klaar, dus tijd voor flauwekul
  init_konijnen();
  init_bal();
  init_schuifpuzzel();
	init_gothic();

}

// ----------------------------------------------------------------------------------------------------

function center_site() {

  // eerst naar de minimale maten, zodat de meting van het window klopt
  document.getElementById('siteviewport').style.width  = 950 + 'px';
  document.getElementById('sitecontainer').style.left  = '0px';
  document.getElementById('siteviewport').style.height  = 650 + 'px';
  document.getElementById('sitecontainer').style.top  = '0px';

  var windowwidth          = get_window_width();
  var windowheight         = get_window_height();
  var windowviewportwidth  = get_window_viewport_width();
  var windowviewportheight = get_window_viewport_height();

  var scroll_to_top = 0, scroll_to_left = 0;

  if ( windowviewportwidth > 950 ) {
    document.getElementById('siteviewport').style.width  = windowwidth + 'px';
    document.getElementById('sitecontainer').style.left  = Math.floor( ( windowwidth - 950 ) / 2 ) + 'px';
  } else {
    document.getElementById('siteviewport').style.width  = 950 + 'px';
    document.getElementById('sitecontainer').style.left  = '0px';
    scroll_to_left = Math.floor( ( 950 - windowviewportwidth ) / 2 );
  }

  if ( windowviewportheight > 650 ) {
    document.getElementById('siteviewport').style.height  = windowheight + 'px';
    document.getElementById('sitecontainer').style.top  = Math.floor( ( windowheight - 650 ) / 2 ) + 'px';
  } else {
    document.getElementById('siteviewport').style.height  = 650 + 'px';
    document.getElementById('sitecontainer').style.top  = '0px';
    scroll_to_top = Math.floor( ( 650 - windowviewportheight ) / 2 );
  }

  window.scrollTo( scroll_to_left, scroll_to_top );

  // pagewash krijgt dezelfde maten als de viewport
  document.getElementById('pagewash').style.top    = - parseInt( document.getElementById('sitecontainer').style.top ) + 'px';
	document.getElementById('pagewash').style.left	 = - parseInt( document.getElementById('sitecontainer').style.left ) + 'px';
	document.getElementById('pagewash').style.width	 = document.getElementById('siteviewport').style.width;
	document.getElementById('pagewash').style.height = document.getElementById('siteviewport').style.height;

}

// ----------------------------------------------------------------------------------------------------

function open_page( page_id ) {

  if ( current_page_id != page_id ) {
    if ( pages[ page_id ] ) { // heb je hem al ?
    	show_page( page_id );	
    } else {
    	get_page( page_id );
    }
	}

}

function get_page( page_id ) {

	var request;
	if (window.XMLHttpRequest){ 
		request = new XMLHttpRequest(); 
	} else if(window.ActiveXObject){ 
		request = new ActiveXObject("Microsoft.XMLHTTP"); 
	}
		
	request.onreadystatechange = function() {
		if (request.readyState == 4) {
			if (request.status == 200) {
				process_get_page( request, page_id );
			}	
		}
	}

  var url = igorurl + '/get.page.feyenoord?id=' + page_id + '&' + new Date().getMilliseconds();
  request.open("GET", url, true);
	request.send(null);

	function process_get_page(request, page_id) {

		var xml_resultaat = request.responseXML;
		var page = xml_resultaat.getElementsByTagName('page');
	
		if ( page.length > 0 ) {
			for ( var key=0; key < page.length; key++ ) {
				var id =  page[key].getElementsByTagName('id')[0].firstChild.data;
				pages[id] = new Object;
				pages[id].title   =  page[key].getElementsByTagName('title')[0].firstChild.data;
				pages[id].content =  page[key].getElementsByTagName('content')[0].firstChild.data;
			}
		}

		show_page( page_id );

	}

}

function show_page( page_id ) {

  close_extrapags();
  close_deneswriter();
  close_colofon();
  close_qrcode_writer();

  if ( document.getElementById('pagecontainer').style.display == 'block' ) {
    document.getElementById('oldpagecontainer').innerHTML = document.getElementById('pagecontainer').innerHTML;
    document.getElementById('oldpagecontainer').style.opacity = 1;
    document.getElementById('oldpagecontainer').style.filter  = 'alpha(opacity=100)';
    document.getElementById('oldpagecontainer').style.display = 'block';
  }

  document.getElementById('pagecontainer').innerHTML = pages[ page_id ].content;

  document.getElementById('pagecontainer').style.opacity = 0;
  document.getElementById('pagecontainer').style.filter  = 'alpha(opacity=0)';
  document.getElementById('pagecontainer').style.display = 'block';

  if ( document.getElementById('oldpagecontainer').style.display != 'block' ) {
    document.getElementById('pagewash').style.opacity = 0;
    document.getElementById('pagewash').style.filter  = 'alpha(opacity=0)';
  }
  document.getElementById('pagewash').style.display = 'block';

  current_page_opacity = 0;
  page_opacity_timer = setInterval( fade_page, 25 );

}

function fade_page() {

  current_page_opacity = current_page_opacity + .15;
  if ( current_page_opacity > 1 ) {
    current_page_opacity = 1
  }

  if ( document.getElementById('oldpagecontainer').style.display != 'block' ) {
    document.getElementById('oldpagecontainer').style.opacity = 1 - current_page_opacity;
    document.getElementById('oldpagecontainer').style.filter  = 'alpha(opacity='+ 100 - current_page_opacity * 100 +')';
  }

  document.getElementById('pagecontainer').style.opacity = .80 * current_page_opacity;
  document.getElementById('pagecontainer').style.filter  = 'alpha(opacity='+ current_page_opacity * 80 +')';

  if ( document.getElementById('pagewash').style.opacity < .7 * current_page_opacity ) {
    document.getElementById('pagewash').style.opacity = .7 * current_page_opacity;
	  document.getElementById('pagewash').style.filter	= 'alpha(opacity='+ current_page_opacity * 70 +')';
  }

  if ( current_page_opacity >= 1 ) {
    document.getElementById('oldpagecontainer').style.display = 'none';
    clearInterval(page_opacity_timer);
  }

}

function close_page() {
  document.getElementById('oldpagecontainer').style.display = 'none';
  document.getElementById('pagecontainer').style.display = 'none';
  document.getElementById('pagewash').style.display = 'none';
  document.getElementById('pagewash').style.opacity = 0;
  document.getElementById('pagewash').style.filter  = 'alpha(opacity=0)';
}

// ----------------------------------------------------------------------------------------------------

function open_extrapags( filename ) {

  if ( extrapags[ filename ] ) { // heb je hem al ?
    show_extrapags( filename );	
  } else {
    get_extrapags( filename );
  }

}

function get_extrapags( filename ) {

	var request;
	if (window.XMLHttpRequest){ 
		request = new XMLHttpRequest(); 
	} else if(window.ActiveXObject){ 
		request = new ActiveXObject("Microsoft.XMLHTTP"); 
	}
		
	request.onreadystatechange = function() {
		if (request.readyState == 4) {
			if (request.status == 200) {
				process_get_page( request, filename );
			}	
		}
	}

  var url = igorurl + '/extrapags/' + filename;
  request.open("GET", url, true);
	request.send(null);

	function process_get_page( request, filename ) {
		extrapags[ filename ] = request.responseText;
    show_extrapags( filename );	
	}

}

function show_extrapags( filename ) {

  document.getElementById('extrapagscontainer').innerHTML = extrapags[ filename ];

  document.getElementById('extrapagscontainer').style.top		 = document.getElementById('extrapagssize').style.top;
	document.getElementById('extrapagscontainer').style.left	 = document.getElementById('extrapagssize').style.left;
	document.getElementById('extrapagscontainer').style.width	 = document.getElementById('extrapagssize').style.width;
	document.getElementById('extrapagscontainer').style.height = document.getElementById('extrapagssize').style.height;

  document.getElementById('extrapagscontainer').style.opacity = 0;
  document.getElementById('extrapagscontainer').style.filter  = 'alpha(opacity=0)';
  document.getElementById('extrapagscontainer').style.display = 'block';

  current_extrapags_opacity = 0;
  extrapags_opacity_timer = setInterval( fade_extrapags, 25 );

}

function fade_extrapags() {

  current_extrapags_opacity = current_extrapags_opacity + .15;
  if ( current_extrapags_opacity > 1 ) {
    current_extrapags_opacity = 1
  }

  document.getElementById('extrapagscontainer').style.opacity = .97 * current_extrapags_opacity;
  document.getElementById('extrapagscontainer').style.filter  = 'alpha(opacity='+ current_extrapags_opacity * 97 +')';

  if ( current_extrapags_opacity >= 1 ) {
    clearInterval(extrapags_opacity_timer);
  }

}

function close_extrapags() {
  document.getElementById('extrapagscontainer').style.display = 'none';
}

// ----------------------------------------------------------------------------------------------------

function update_title( title ) {

	var dateobject = new Date();

  if ( title == 'home' ) {
    title = 'deNes'
  }

	titleimg = new Image();
	titleimg.onload = function() { post_load_title() };
	titleimg.src = igorurl +	'/gfx/title/' + title + '.png?' + dateobject.getMilliseconds();

}

function post_load_title() {

  titleimg.id = 'sitetitleimg';
  document.getElementById('sitetitle').replaceChild(titleimg,document.getElementById('sitetitleimg'))

  // png fix
  if ( typeof(pngfix) == 'function' ) {
    pngfix_one_image( document.getElementById('sitetitleimg') );
  }

}

// ----------------------------------------------------------------------------------------------------

function close_everything() {

  close_page();
  close_extrapags();
  close_deneswriter();
  close_colofon();
  close_schuifpuzzel();
  close_qrcode_writer();
	
}

// ----------------------------------------------------------------------------------------------------

function onclick_menuitem( menuitem_id ) {

  // ben ik een hoofd of submenu item
  if ( menuitems[ menuitem_id].parent_menuitem_id == 0 ) {
    parent_menuitem_id = menuitem_id;
  } else {
    parent_menuitem_id = menuitems[ menuitem_id].parent_menuitem_id;
  }

  // zet de pagewash background
  document.getElementById('pagewash').style.backgroundImage = 'url(' + igorurl + '/gfx/pagewash.' + menuitems[ parent_menuitem_id ].color.substring(1) + '.png)';

  // openen juiste pagina
  if ( menuitem_id != 1 ) {
    var page_id = menuitems[ menuitem_id ].page_id;
    open_page( page_id );
  }

  // zet de menuitems naar de juiste kleur
  if ( current_active_menu != parent_menuitem_id ) {
    inactivate_menu( current_active_menu );
  }
  
  current_active_menu = parent_menuitem_id;

  // updaten title image
  title = menuitems[ parent_menuitem_id ].title;
  update_title( title );



}

function onmouseover_menuitem(e) {

	var e = (e) ? e : window.event;
	var target = e.target || e.srcElement;
	var menuitem_id = target.id.substring(15);
  
  // ben ik een hoofd of submenu item
  if ( menuitems[ menuitem_id ].parent_menuitem_id == 0 ) {
    parent_menuitem_id = menuitem_id;
  } else {
    parent_menuitem_id = menuitems[ menuitem_id].parent_menuitem_id;
  }

  // zet de menuitems naar de juiste kleur
  if ( current_mouseover_menu != null && current_mouseover_menu != parent_menuitem_id ) {
    inactivate_menu( current_mouseover_menu );
  }
  activate_menu( parent_menuitem_id );

  current_mouseover_menu = parent_menuitem_id;

}

function onmouseout_menuitem(e) {

	var e = (e) ? e : window.event;
	var target = e.target || e.srcElement;
	var menuitem_id = target.id.substring(15);

  // ben ik een hoofd of submenu item
  if ( menuitems[ menuitem_id].parent_menuitem_id == 0 ) {
    parent_menuitem_id = menuitem_id;
  } else {
    parent_menuitem_id = menuitems[ menuitem_id].parent_menuitem_id;
  }

  // zet de menuitems naar de juiste kleur terug
  if ( current_active_menu != current_mouseover_menu ) {
    inactivate_menu( current_mouseover_menu );
  }

  current_mouseover_menu = null;
  
}

// ----------------------------------------------------------------------------------------------------

function activate_menu( parent_menuitem_id ) {

  if ( current_active_menu != parent_menuitem_id ) {
    if ( parent_menuitem_id != 1 ) {
      var tmp = document.getElementById( 'menudiv_' + parent_menuitem_id ).innerHTML;
      document.getElementById( 'menudiv_' + parent_menuitem_id ).innerHTML = document.getElementById( 'menudivcolor_' + parent_menuitem_id ).innerHTML;
      document.getElementById( 'menudivcolor_' + parent_menuitem_id ).innerHTML = tmp;
      for ( var i in menuitems[ parent_menuitem_id ].childitems ) {
        var menuitem_id = menuitems[ parent_menuitem_id ].childitems[i];
        var tmp = document.getElementById( 'menudiv_' + menuitem_id ).innerHTML;
        document.getElementById( 'menudiv_' + menuitem_id ).innerHTML = document.getElementById( 'menudivcolor_' + menuitem_id ).innerHTML;
        document.getElementById( 'menudivcolor_' + menuitem_id ).innerHTML = tmp;
      }
    }
  }

}

function inactivate_menu( parent_menuitem_id ) {

  if ( parent_menuitem_id != 1 ) {
    var tmp = document.getElementById( 'menudivcolor_' + parent_menuitem_id ).innerHTML;
    document.getElementById( 'menudivcolor_' + parent_menuitem_id ).innerHTML = document.getElementById( 'menudiv_' + parent_menuitem_id ).innerHTML;
    document.getElementById( 'menudiv_' + parent_menuitem_id ).innerHTML = tmp;
    for ( var i in menuitems[ parent_menuitem_id ].childitems ) {
      var menuitem_id = menuitems[ parent_menuitem_id ].childitems[i];
      var tmp = document.getElementById( 'menudivcolor_' + menuitem_id ).innerHTML;
      document.getElementById( 'menudivcolor_' + menuitem_id ).innerHTML = document.getElementById( 'menudiv_' + menuitem_id ).innerHTML;
      document.getElementById( 'menudiv_' + menuitem_id ).innerHTML = tmp;
    }
  }

}

// ----------------------------------------------------------------------------------------------------

function open_deneswriter() {
  document.getElementById('deneswriter_text').disabled = 0;
	document.getElementById('deneswritercontainer').style.display = 'block';
}

function deneswriter_do_it() {
  document.getElementById('deneswriter_text').disabled = 'true';
  update_title( escape( document.getElementById('deneswriter_text').value.toLowerCase() ) );
  close_deneswriter();
}

function close_deneswriter() {
	document.getElementById('deneswritercontainer').style.display = 'none';
}

// ----------------------------------------------------------------------------------------------------

function open_qrcode_writer() {
  document.getElementById('qrcode_writer_text').disabled = 0;
	document.getElementById('qrcode_writercontainer').style.display = 'block';
}

function qrcode_writer_do_it() {

  document.getElementById('qrcode_writer_text').disabled = 'true';
  document.getElementById('qrcode_result').innerHTML = 'Code wordt gemaakt...';

	var request;
	if (window.XMLHttpRequest){ 
		request = new XMLHttpRequest(); 
	} else if(window.ActiveXObject){ 
		request = new ActiveXObject("Microsoft.XMLHTTP"); 
	}
		
	request.onreadystatechange = function() {
		if (request.readyState == 4) {
			if (request.status == 200) {
        document.getElementById('qrcode_result').innerHTML = request.responseText;
        document.getElementById('qrcode_result').style.padding = '20px 0px 0px 0px';
        document.getElementById('qrcode_result').innerHTML = document.getElementById('qrcode_result').innerHTML + '<br/><input type="button" id="qrcode_close_button" onclick="close_qrcode_writer()" value="Klaar"/>';
			  document.getElementById('qrcode_writer_text').disabled = 0;
			}	
		}
	}

  var url = igorurl + '/qrcode.pl?string=' + encodeURIComponent( document.getElementById('qrcode_writer_text').value ) + '&' + new Date().getMilliseconds();
  request.open("GET", url, true);
	request.send(null);
  
}

function close_qrcode_writer() {
	document.getElementById('qrcode_writercontainer').style.display = 'none';
}

// ----------------------------------------------------------------------------------------------------

function toggle_colofon() {
	if ( document.getElementById('colofoncontainer').style.display == 'block' ) {
    close_colofon();
  } else {
    open_colofon();
  }
}

function open_colofon() {
	document.getElementById('colofoncontainer').style.display = 'block';
}

function close_colofon() {
	document.getElementById('colofoncontainer').style.display = 'none';
}

// ----------------------------------------------------------------------------------------------------

function open_schuifpuzzel() {
  document.getElementById('pagewash').style.backgroundImage = 'url(/gfx/pagewash.fe1b03.png)';
  document.getElementById('pagewash').style.display = 'block';
  document.getElementById('pagewash').style.opacity = .7;
  document.getElementById('pagewash').style.filter = 'alpha(opacity=' + 70 + ')';
  document.getElementById('pagewash').style.visibility = 'visible';

  document.getElementById('sitetitle').style.display = 'none';
  document.getElementById('schuifpuzzel_closebutton').style.display = 'block';
  document.getElementById('schuifpuzzel_examplebutton').style.display = 'block';
  
  document.getElementById('schuifpuzzelcontainer').style.display = 'block';

  if ( document.getElementById('schuifpuzzeliframe').src == igorurl + '/schuifpuzzel/leeg.html' ) {
    document.getElementById('schuifpuzzeliframe').src = igorurl + '/schuifpuzzel/index.html';
  }
  
}

function close_schuifpuzzel() {
  document.getElementById('pagewash').style.display = 'none';
  document.getElementById('pagewash').style.display = 'none';
  document.getElementById('pagewash').style.opacity = 0;
  document.getElementById('sitetitle').style.display = 'block';
  document.getElementById('schuifpuzzel_closebutton').style.display = 'none';
  document.getElementById('schuifpuzzel_examplebutton').style.display = 'none';
    document.getElementById('schuifpuzzel_example').style.display = 'none'
  document.getElementById('schuifpuzzelcontainer').style.display = 'none';
}

function toggle_schuifpuzzel_example() {
  if ( document.getElementById('schuifpuzzel_example').style.display == 'block' ) {
    document.getElementById('schuifpuzzel_example').style.display = 'none'
  } else {
    document.getElementById('schuifpuzzel_example').style.display = 'block'    
  }
}

// ----------------------------------------------------------------------------------------------------

function init_get_window_size() {

  // initailiseren van functies: verbouwde versie van http://codylindley.com/Webdev/295/javascript-get-page-height-with-scroll
  if (window.innerHeight && window.scrollMaxY) {// Firefox
    get_window_width = function() {
    	return window.innerWidth + window.scrollMaxX;
    }
  } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
    get_window_width = function() {
    	return document.body.scrollWidth;
    }
  } else { // works in Explorer 6 Strict, Mozilla (not FF) and Safari
    get_window_width = function() {
      return document.body.offsetWidth;
    }
  }
  if (window.innerHeight && window.scrollMaxY) {// Firefoy
    get_window_height = function() {
    	return window.innerHeight + window.scrollMaxY;
    }
  } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
    get_window_height = function() {
    	return document.body.scrollHeight;
    }
  } else { // works in Explorer 6 Strict, Mozilla (not FF) and Safari
    get_window_height = function() {
    	return document.body.offsetHeight;
    }
  }

  get_window_viewport_width = function() {
    return self.innerWidth || (document.documentElement.clientWidth || document.body.clientWidth);
  }

  get_window_viewport_height = function() {
    return self.innerHeight || (document.documentElement.clientHeight || document.body.clientHeight);
  }
  
}

function init_menu() {

	var request;
	if (window.XMLHttpRequest){ 
		request = new XMLHttpRequest(); 
	} else if(window.ActiveXObject){ 
		request = new ActiveXObject("Microsoft.XMLHTTP"); 
	}

	request.open( "GET", igorurl + '/get.menu.pl?'+new Date().getTime(), true );
	request.send(null);
	request.onreadystatechange = function () {
		if ( request.readyState == 4 ) {
			if ( request.status == 200 ) {
        
				menuitems = eval( "(" + request.responseText + ")" );

        for ( var menuitem_id in menuitems ) {

          if ( menuitems[ menuitem_id].parent_menuitem_id != 0 ) {
            if ( menuitems[ menuitems[ menuitem_id].parent_menuitem_id ].childitems == null ) {
              menuitems[ menuitems[ menuitem_id].parent_menuitem_id ].childitems = new Array();
            }
            menuitems[ menuitems[ menuitem_id].parent_menuitem_id ].childitems.push( menuitem_id );
          }

          var menudiv = document.createElement('div');
          menudiv.id = 'menudiv_' + menuitem_id;
          menudiv.style.position = 'absolute';
          menudiv.style.top = menuitems[ menuitem_id].position_top + 'px';
          menudiv.style.left = menuitems[ menuitem_id].position_left + 'px';
          menudiv.style.width = menuitems[ menuitem_id].width + 'px';
          menudiv.style.height = menuitems[ menuitem_id].height + 'px';

          var menuimage = document.createElement('img');
          menuimage.id = 'menuimage_' + menuitem_id;
          menuimage.style.position = 'absolute';
          menuimage.style.top = '0px';
          menuimage.style.left = '0px';
          menuimage.style.width = menuitems[ menuitem_id].width + 'px';
          menuimage.style.height = menuitems[ menuitem_id].height + 'px';
          if ( menuitems[ menuitem_id].parent_menuitem_id == 0 ) {
            menuimage.src = igorurl + '/gfx/menu/' + menuitem_id + '.black.png';
            menuitems[ menuitem_id].blackimage = menuimage;
          } else {
            menuimage.src = igorurl + '/gfx/menu/' + menuitem_id + '.gray.png';
            menuitems[ menuitem_id].grayimage = menuimage;
          }

          if ( typeof(save_menuitem_position) == 'function' ) {

            // edit menuitems mode
            menudiv.dragable = 'yes';
            menudiv.init_drag_extrafunction = set_active_menu_item;
            menudiv.end_drag_extrafunction  = save_menuitem_position;
            document.getElementById('sitecontainer').appendChild( menudiv );
            document.getElementById( 'menudiv_' + menuitem_id ).appendChild( menuimage );

          } else {

            // normal mode
            var menuimage_stub = document.createElement('img'); // IE wil niet klikken op transparante png's
            menuimage_stub.id = 'menuimage_stub_' + menuitem_id;
            menuimage_stub.style.position = 'absolute';
            menuimage_stub.style.top = menuitems[ menuitem_id].position_top + 'px';
            menuimage_stub.style.left = menuitems[ menuitem_id].position_left + 'px';
            menuimage_stub.style.width = menuitems[ menuitem_id].width + 'px';
            menuimage_stub.style.height = menuitems[ menuitem_id].height + 'px';
            menuimage_stub.src = igorurl + '/gfx/leeg.gif';
            menuimage_stub.style.borderWidth = '0px';
            menuimage_stub.style.borderStyle = 'none';

            var menulink = document.createElement('a');
            menulink.href = menuitems[ menuitem_id].href;
            menulink.onmouseover = onmouseover_menuitem;
            menulink.onmouseout  = onmouseout_menuitem;
            menulink.appendChild( menuimage_stub );
            
            document.getElementById('sitecontainer').appendChild( menudiv );
            document.getElementById( 'menudiv_' + menuitem_id ).appendChild( menuimage );

            document.getElementById('sitecontainer').appendChild( menulink );

            if ( typeof(pngfix) == 'function' ) { // pngfix voor IE6
              pngfix_one_image( document.getElementById( 'menuimage_' + menuitem_id ) );
            }

          }

        }

        // preloaden van menuitems in kleur voor mouseovers en zo
        for ( var menuitem_id in menuitems ) {
          var menudiv = document.createElement('div');
          menudiv.id = 'menudivcolor_' + menuitem_id;
          menudiv.style.position = 'absolute';
          menudiv.style.top = menuitems[ menuitem_id].position_top + 'px';
          menudiv.style.left = menuitems[ menuitem_id].position_left + 'px';
          menudiv.style.width = menuitems[ menuitem_id].width + 'px';
          menudiv.style.height = menuitems[ menuitem_id].height + 'px';

          var menuimage = document.createElement('img');
          menuimage.id = 'menuimagecolor_' + menuitem_id;
          menuimage.style.position = 'absolute';
          menuimage.style.top = '0px';
          menuimage.style.left = '0px';
          menuimage.style.width = menuitems[ menuitem_id].width + 'px';
          menuimage.style.height = menuitems[ menuitem_id].height + 'px';
          menuimage.src = igorurl + '/gfx/menu/' + menuitem_id + '.color.png';
          menuitems[ menuitem_id].colorimage = menuimage;

          document.getElementById('preloaded_images').appendChild( menudiv );
          document.getElementById( 'menudivcolor_' + menuitem_id ).appendChild( menuimage );

          if ( typeof(pngfix) == 'function' ) { // pngfix voor IE6
            pngfix_one_image( document.getElementById( 'menuimagecolor_' + menuitem_id ) );
          }
        }

			}
			request = null;
		}
	};

}

function init_floating_blocks() {

	var request;
	if (window.XMLHttpRequest){ 
		request = new XMLHttpRequest(); 
	} else if(window.ActiveXObject){ 
		request = new ActiveXObject("Microsoft.XMLHTTP"); 
	}

	request.open( "GET", igorurl + '/get.floating.blocks.pl?'+new Date().getTime(), true );
	request.send(null);
	request.onreadystatechange = function () {
		if ( request.readyState == 4 ) {
			if ( request.status == 200 ) {
        
				var floating_blocks = eval( "(" + request.responseText + ")" );

        for ( var floating_block_id in floating_blocks ) {

          var blockimage = document.createElement('img');
          blockimage.id = 'blockimage_' + floating_block_id;
          blockimage.style.position = 'absolute';
          blockimage.style.top = floating_blocks[ floating_block_id].position_top + 'px';
          blockimage.style.left = floating_blocks[ floating_block_id].position_left + 'px';
          blockimage.style.width = '150px';
          blockimage.style.height = '150px';
          blockimage.style.borderWidth = '0px';
          blockimage.style.borderStyle = 'none';
          blockimage.src = igorurl + '/gfx/blokjes/' + floating_block_id + '.png';
          if ( typeof(pngfix) == 'function' && floating_block_id == 9 ) { // in IE6 werkt de puzzel niet
            blockimage.src = igorurl + '/gfx/blokjes/9.no.link.png';
          }

          document.getElementById('sitecontainer').appendChild( blockimage );

          if ( floating_blocks[ floating_block_id].onclick && !( typeof(pngfix) == 'function' && floating_block_id == 9 ) ) {

						var blockimage_stub = document.createElement('img');
						blockimage_stub.id = 'blockimage_stub_' + floating_block_id;
						blockimage_stub.style.position = 'absolute';
						blockimage_stub.style.top = floating_blocks[ floating_block_id].position_top + 'px';
						blockimage_stub.style.left = floating_blocks[ floating_block_id].position_left + 'px';
						blockimage_stub.style.width = '150px';
						blockimage_stub.style.height = '150px';
						blockimage_stub.style.borderWidth = '0px';
						blockimage_stub.style.borderStyle = 'none';
						blockimage_stub.src = igorurl + '/gfx/leeg.gif';
	 
						document.getElementById('sitecontainer').appendChild( blockimage_stub );

            var blockmap = document.createElement('map');
            blockmap.id = 'floatingblockmap_' + floating_block_id;
            blockmap.name = 'floatingblockmap_' + floating_block_id;
            var blockarea = document.createElement('area');
            blockarea.shape = floating_blocks[ floating_block_id].imagemaptype;
            blockarea.coords = floating_blocks[ floating_block_id].imagemapcoords;
            blockarea.href = floating_blocks[ floating_block_id].onclick;

            document.getElementById('sitecontainer').appendChild( blockmap );
            document.getElementById( 'floatingblockmap_' + floating_block_id ).appendChild( blockarea );

//            document.getElementById( 'blockimage_' + floating_block_id ).useMap = '#floatingblockmap_' + floating_block_id;
            document.getElementById( 'blockimage_stub_' + floating_block_id ).setAttribute( 'useMap', '#floatingblockmap_' + floating_block_id, 0 );

          }
          
          if ( typeof(pngfix) == 'function' ) { // pngfix voor IE6
            pngfix_one_image( document.getElementById( 'blockimage_' + floating_block_id ) );
          }

        }

			}
			request = null;
		}
	};

}

function init_konijnen() {
  var konijnen_scriptfile = document.createElement('script');
  konijnen_scriptfile.src = igorurl + '/script/konijnen.js';
  document.getElementById('sitecontainer').appendChild( konijnen_scriptfile );
}

function init_bal() {
  var bal_scriptfile = document.createElement('script');
  bal_scriptfile.src = igorurl + '/script/bal.js';
  document.getElementById('sitecontainer').appendChild( bal_scriptfile );
}

function init_gothic() {
  var gothic_scriptfile = document.createElement('script');
  gothic_scriptfile.src = igorurl + '/script/gothic.js';
  document.getElementById('sitecontainer').appendChild( gothic_scriptfile );
}


function init_schuifpuzzel() {
}

// ----------------------------------------------------------------------------------------------------

function open_window( url, width, height, left, top, extra_params ) {

  extra_params = extra_params || 'dependent=no,directories=no,location=no,menubar=no,personalbar=no,status=no,resizable=yes,scrollbars=yes';
  width  = width  || 450;
  height = height || 600;
  if ( !left && !top ) {
    var screenX = 30; var screenY = 30; var screenTop = 30; var screenLeft = 30;
    if ( typeof(window.screenLeft) != 'undefined' ) {
    	left = screenLeft + window.screenLeft;
    	top	 = screenTop + window.screenTop;
    } else {
    	left = screenX + window.screenX;
    	top	 = screenY + window.screenY;
    }
  }

  window.open( url, 'popupWindow', 'width='+width+',height='+height+',left='+left+',top='+top+','+extra_params);

}

// ----------------------------------------------------------------------------------------------------
// TAF


