/**
* BNNMenu Javascript code.
*/

/**
* BNNMenu::BNNMenu
*
* instantieert een JS-Singleton waarin alle BNNMenu functies zitten.
*
*/
var BNNMenu = new function() {
	this.safariBusyStart = null;
	this.safariInterval  = null;
}

/**
* BNNMenu::create
*
* Maakt het menu aan. In de huidge staat werkt het menu alleen lekker op 
* Safari wanneer deze in een IFRAME wordt gezet. 
*
* @var useIFRAMEOnSafari boolean
*/

BNNMenu.create = function(imageName, fontkleur) {
	var fo = new FlashObject("/static/flash/menu.swf?bgimage=http://www.101.tv/data/media/db_images/original/"+imageName+"&settingsXML=http://101tv.bnn.nl/static/flash/settings2.xml", "menu", "800", "200", "8.0.0", "#BB1111", true, "high");
	fo.addParam("allowScriptAccess", "always");
	fo.addParam("menu"	 , "false");
	fo.addParam("wmode"	 , "transparent");
	if (fontkleur) fo.addParam("flashvars","fontcolor="+fontkleur);
	fo.write("menu-container");
}

BNNMenu.init = function() {
	var movie = BNNMenu.getMovie();
	BNNMenu.setHeight(68);
	movie.flash_initHeight();
}

BNNMenu.open = function(url) {
	window.location.href = url;
}

BNNMenu.getMovie  = function() {
	
	var movie 	  = document.getElementById("menu");
	
	if(!movie && document.getElementById("menu-frame") != null) {
		frameDoc = window.frames["menu-frame"].document;		
		movie = frameDoc.getElementById("menu");
	}
	
	if(navigator.userAgent.indexOf("Safari") != -1) {
		d  = new Date();
		this.safariBusyStart = d.getMilliseconds();
		this.safariInterval  = setInterval(BNNMenu.keepSafariBusy, 33);
	}
	
	return movie;
}

BNNMenu.setHeight = function(height) {
	var oWrapper = document.getElementById("menu-wrapper");
	var oObject  = document.getElementById("menu");
	var oIframe  = document.getElementById("menu-frame");
	if(oObject) oObject.style.height  = height + "px";
	if(oIframe) oIframe.style.height  = height + "px";
	
	oWrapper.style.height = (height+20) + "px";
	
	oDS = document.getElementById("menu-dropshadow");
	oDS.style.top = height + "px";
}

BNNMenu.expand = function() {
	var movie = BNNMenu.getMovie();
	movie.flash_expand(200);
}

BNNMenu.collapse = function() {
	var movie = BNNMenu.getMovie();
	movie.flash_collapse(68);
}

BNNMenu.keepSafariBusy = function() {
	d  = new Date();
	if(d.getMilliseconds() - this.safariBusyStart >= 500) {
		clearInterval(this.safariInterval);
	} 
}
