var objectList = new Array();

var fixObj;
var fixH;

function floatingWindow ( url, flashvars, fixHeight)
{
	if ( ! url || url == "" ) return;
	
	if( fixHeight ) fixH = fixHeight;
	
	
	
	var i     = new Number();
	var obj   = new Object();
	var layer = new Object();
	
	for ( i = 0; i < objectList.length; i ++ )
	{
		if ( objectList[i].url == url )
		{
			obj = objectList[i];
			break;
		}
	}
	
	if ( ! obj.id )
	{
		var ar = url.split("/");
		
		obj.id  = ar[ar.length-1].split(".").join("_");
		obj.url = url;
		
		layer = document.createElement("div");
		layer.id = obj.id;
		
		layer.style.position   = "absolute";
		layer.style.zindex     = 10000 + objectList.length;
		layer.style.display    = "inline";
		
		layer.innerHTML = get_inner_string ( obj, flashvars );
		
		objectList.push( obj );
		document.getElementsByTagName("body")[0].appendChild(layer);
		
		
		if( ! fixHeight ){
			obj.clid = setInterval("func_interval(objectList["+i+"])",100);
			func_interval( obj );
		}else{
			fixObj = obj
			obj.clid = setInterval("setFixPosition()",100);
			setFixPosition();
		}
		
		if ( navigator.userAgent.indexOf("MSIE 6") != -1 ) resizeCurrentWindow();
	}
	else
	{
		layer = document.getElementById(obj.id);
		
		if ( layer.style.display == "inline" )
		{
			layer.innerHTML = "";
			layer.style.display="none";
			
			clearInterval(obj.clid);
		}
		else
		{
			layer.innerHTML = get_inner_string ( obj, flashvars );
			layer.style.display="inline";
			
			if( ! fixHeight ){
				obj.clid = setInterval("func_interval(objectList["+i+"])",100);
			}else{
				fixObj = obj
				obj.clid = setInterval("setFixPosition()",100);
			}
		}
	}
}

function resizeCurrentWindow ( )
{
	var w;
	var h;
	
	w = document.documentElement.clientWidth;
	h = document.documentElement.clientHeight;
	
	resizeTo(w,h);
	resizeBy(w - document.documentElement.clientWidth,	h - document.documentElement.clientHeight);
}

function func_interval ( obj )
{
	var layer = document.getElementById(obj.id);
	var ar = new Array( 0, 0 );
	
	if ( window.pageXOffset != undefined )							ar = [ window.pageXOffset, window.pageYOffset ];
	else if ( document.documentElement.scrollLeft != undefined )	ar = [ document.documentElement.scrollLeft, document.documentElement.scrollTop ];
	else if ( document.body.scrollLeft != undefined )				ar = [ document.body.scrollLeft, document.body.scrollTop ];
	
	
	layer.style.width  = "100%";
	layer.style.height = "100%";
	
	layer.style.left = ar[0] + "px";
	layer.style.top  = ar[1] + "px";
}

function setFixPosition ()
{
	if( ! fixObj || ! fixH ) return;
	
	var layer = document.getElementById(fixObj.id);
	var ar = new Array( 0, 0 );
	
	if ( window.pageXOffset != undefined )							ar = [ window.pageXOffset, window.pageYOffset ];
	else if ( document.documentElement.scrollLeft != undefined )	ar = [ document.documentElement.scrollLeft, document.documentElement.scrollTop ];
	else if ( document.body.scrollLeft != undefined )				ar = [ document.body.scrollLeft, document.body.scrollTop ];
	
	var inH;
	
	if(document.documentElement.clientHeight != undefined) inH = document.documentElement.clientHeight;
	else if(window.innerHeight != undefined) inH = window.innerHeight;
	else if(document.body.clientHeight != undefined) inH = document.body.clientHeight;
	
	var invH = fixH - inH;
		
	layer.style.width  = "100%";
	layer.style.height = fixH + "px";
	
	layer.style.left = ar[0] + "px";
	
	var top = layer.style.top;
	var exH = parseInt(top.substr(0, top.length - 2));
		
	if( ! exH && exH != 0){
		layer.style.top = ar[1] + "px";
	}else{
		
		if(ar[1] < exH){
			layer.style.top = ar[1] + "px"; 
		}else if(ar[1] > exH + invH){
			layer.style.top = ar[1] - invH + "px";
		}
	}
}

function get_inner_string ( obj, flashvars )
{
	var s = new String();
	
	s =  '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100%" height="100%">';
	s += '<param name="movie" value="'+ obj.url +'" />';
	s += '<param name="wmode" value="transparent" />';
	if ( flashvars ) s += '<param name="flashvars" value="'+ flashvars +'">';
	s += '<embed src="'+ obj.url +'" width="100%" height="100%" wmode="transparent" ';
	if ( flashvars ) s += 'flashvars="'+ flashvars +'" ';
	s += 'type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
	s += '</object>';
	
	return s;
}