var flashPopupHeaderHeight = 26;
var flashPopupContentID = "flashPopupContent";
var htmlLoaderID = "htmlLoader";
var flashPopupPadding = 16;

function closeFlashPopup() {
	var flashpopup = document.getElementById( 'flashpopup' );
	flashpopup.style.visibility = 'hidden';
	swfobject.removeSWF( flashPopupContentID );	
}

function openFlashPopup( p_url, p_params, p_width, p_height, p_fps, p_bgcolor, topOffset, leftOffset, minLeftOffset ) {
	var flashpopup = document.getElementById( 'flashpopup' );
	flashpopup.style.visibility = 'visible';
	
	loadFlash( p_url, p_params, p_width, p_height, p_fps, p_bgcolor, 1 );
	
	flashpopup.style.width = (p_width) + "px";
	flashpopup.style.height = (p_height) + "px";
	centerFlashPopup(p_width, p_height, topOffset, leftOffset, minLeftOffset);
}

function centerFlashPopup( p_width, p_height, topOffset, leftOffset, minLeftOffset ) {
	var flashpopup = document.getElementById( 'flashpopup' );
	var myWidth = 0;
	var myHeight = 0;
	var xOffsetIE = 0;
	if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		myWidth = window.innerWidth;
	} else if ( document.documentElement && document.documentElement.clientWidth ) {
		//IE 6+ in 'standards compliant mode'
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
		xOffsetIE = 9;
	} else if ( document.body && document.body.clientWidth ) {
		//IE 4 compatible
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
		xOffsetIE = 9;
	} 
	var x = (myWidth/2) + leftOffset + xOffsetIE;
	if (x < minLeftOffset) x = minLeftOffset;	
	flashpopup.style.left = x + "px";
	flashpopup.style.top = topOffset + "px";
}
		
function loadFlash( p_url, p_params, p_width, p_height, p_fps, p_bgcolor ) {
	
	var flashPopup = document.getElementById( "flashpopup" );
	
	//need to ensure that the old DIV tag is gone
	swfobject.removeSWF( flashPopupContentID ); 
	var flashPopupContent = document.getElementById( flashPopupContentID );
	if(flashPopupContent)
	{
		flashPopup.removeChild( flashPopupContent );
	}		
	
	createHtmlLoaderContainer();
	createFlashPopupContentContainer();	
	
	p_params += '&' + location.search.substring(1, location.search.length); //pass entire querystring as flashvars
	
	// popup loader
	// ===============================================
	var attributes = {};	
	attributes.bgColor = p_bgcolor;
	attributes.width = p_width;
	attributes.height = p_height;
	attributes.data = p_url;
	var basePath = p_url.substring( 0, p_url.lastIndexOf( '/' )+1 );
	attributes.base = basePath;		
	var flashvars = "swfPath=" + p_url + "&width=" + p_width + "&height=" + p_height + "&frameRate=" + p_fps + "&bgColour=" + p_bgcolor + "&" + p_params;
	var params = {};
	params.flashvars = flashvars;
	params.base = basePath;
	params.bgColor = p_bgcolor;
	params.wmode = "window";
	params.scale = "exactfit";
	swfobject.createSWF( attributes, params, flashPopupContentID );
}

function createFlashPopupContentContainer() {
	var flashPopupContent = document.getElementById( flashPopupContentID );
	if ( !flashPopupContent ) {
		var flashPopupContent = document.createElement( "div" );
		flashPopupContent.setAttribute( "id", flashPopupContentID );
		document.getElementById( "flashpopup" ).appendChild( flashPopupContent );
	}		
}

function createHtmlLoaderContainer() {
	var htmlLoader = document.getElementById( htmlLoaderID );
	
	if ( !htmlLoader ) {
		var htmlLoader = document.createElement( "div" );
		htmlLoader.setAttribute( "id", htmlLoaderID );
		document.getElementById( "flashpopup" ).appendChild( htmlLoader );
	}
}

//HIGH SCORES
function thisMovie(movieName) {
    if (navigator.appName.indexOf("Microsoft") != -1) {
        return window[movieName];
    } else {
        return document[movieName];
    }
}

function refreshHighScores() {
	thisMovie("controller").refreshHighScores();
}
