
var actorvirtual_Global;

function DesativarFlashNoFim() 
{
	actorvirtual_Global.DesactivarFlashNoFim();
}

function actorVirtual(filme, largura, altura, posicaoX, posicaoY) 
{
	this.filme=filme;
	this.largura=largura;
	this.altura=altura;	
	this.posicao=new this.Point();
	this.posicao.X=posicaoX;
	this.posicao.Y=posicaoY;
	this.DoNotShowDays=0;
	this.PauseIfShown=0;
	this.modoposicionamento='absolute';
	this.posicionamentovertical='fromBottom';
	this.posicionamentohorizontal='fromLeft';
	this.ReferenceID=null;
	if(document.body.attachEvent) { this.isIE=true;} else { this.isIE=false;}
	this.ValidarBrowser();
	this.WriteWrapper=false;
	this.FlashVars='';
	this.urlArray=null;
	this.anchorMode='static';
	this.InitialX=0;
	this.cookie=null;
}

actorVirtual.MouseX=function( e ) 
{
	return e.pageX || ( e.clientX + ( document.documentElement.scrollLeft || document.body.scrollLeft ) );
}

actorVirtual.MouseY=function ( e ) {
	return e.pageY|| ( e.clientY + ( document.documentElement.scrollTop|| document.body.scrollTop ) );
}

actorVirtual.prototype.LockMouse=function() 
{	
	this.MouseStartX=null;
	this.MouseStartY=null;
	if(this.isIE) 
	{
		document.attachEvent('onmousemove', actorVirtual.TrackMouse);
		document.attachEvent('onmouseup', actorVirtual.ReleaseMouse);
	} 
	else 
	{
		document.addEventListener('mousemove', actorVirtual.TrackMouse,false);
		document.addEventListener('mouseup', actorVirtual.ReleaseMouse,false);
	}
}

actorVirtual.ReleaseMouse=function(e) 
{
	if(document.body.attachEvent)	
	{
		document.detachEvent('onmousemove', actorVirtual.TrackMouse);
		document.detachEvent('onmouseup', actorVirtual.ReleaseMouse);
	}
	else 
	{
		document.removeEventListener('mousemove', actorVirtual.TrackMouse,false);
		document.removeEventListener('mouseup', actorVirtual.ReleaseMouse,false);
	}
}

actorVirtual.TrackMouse=function(e) 
{
	if(actorVirtual.MouseStartX!=null)  
	{
		var curX=actorVirtual.MouseX(e);
		var curY=actorVirtual.MouseY(e);
		var diffX=curX-actorVirtual.MouseStartX;
		var diffY=curY-actorVirtual.MouseStartY;
		var obj=actorvirtual_Global.el('actorvirtual_Container');
		var src = actorvirtual_Global.el(actorvirtual_Global.ReferenceID);
		var srcX = actorvirtual_Global.GetObjectAbsoluteX(obj);
		var srcY = actorvirtual_Global.GetObjectAbsoluteY(obj);	
		srcX += diffX;
		srcY += diffY;
		obj.style.left = srcX + 'px';
		obj.style.top = srcY + 'px';
	}
	
	actorVirtual.MouseStartX=actorVirtual.MouseX(e);
	actorVirtual.MouseStartY=actorVirtual.MouseY(e);
}

actorVirtual.prototype.Query=function(x) 
{
	if(this.urlArray==null) 
	{
		var res=new Array();
		var href=new String(window.location.href);
		var qi=href.indexOf('?');
		
		if(qi!=-1) 
		{
			var tail=new String(href.substr(qi+1));
			var params=tail.split('&');
			for(var i=0;i<params.length;i++)
			{
				if(params[i].indexOf('=')!=-1) 
				{
					var split=params[i].split('=');
					res[split[0].toLowerCase()]=split[1];
				}
				else 
				{
						res[params[i].toLowerCase()]='';
				}
			}
		}
		
		this.urlArray=res;
	}
	
	return this.urlArray[x];
}

actorVirtual.prototype.AddUrlVarToFlashVars=function(a) 
{
	this.AddVarToFlashVars(a,this.Query(a));
} 

actorVirtual.prototype.AddVarToFlashVars=function(n,v) 
{
	this.FlashVars=this.FlashVars+n+'='+v+'&';
}

actorVirtual.prototype.AddUrlVarToFlashVarsRenamed=function(a,name) 
{
	this.FlashVars=this.FlashVars+name+'='+this.Query(a)+'&';
}

actorVirtual.prototype.Point=function(x,y)
{
	this.X=x;
	this.Y=y;
}

actorVirtual.prototype.ObterCookie=function() 
{
	var n = "isvTime=";
	var cookies = document.cookie.split(';');
	for(var i=0;i < cookies.length;i++) 
	{
		var c = cookies[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(n) == 0) 
		{
			this.cookie=c.substring(n.length,c.length);
			return;
		}
	}
	
	return null;
}

actorVirtual.prototype.AlterarCookie=function() 
{
	var date = new Date();
	date.setTime(date.getTime()+(this.DoNotShowDays*24*60*60*1000));
	var expires = "; expires="+date.toGMTString();
	document.cookie = "isvTime=nos"+expires+"; path=/";
}

actorVirtual.prototype.ValidarBrowser=function()
{
	this.isNetscape=false;
	this.isFirefox=false;
	this.isIE=false;
	this.isOpera=false;
	this.isSafari=false;
	this.appName=navigator.appName;
	this.appVersion=navigator.appVersion;
	if(this.appName=="Netscape"&&parseFloat(this.appVersion)>4.7) 
	{
		var uai=navigator.userAgent.indexOf("Firefox");
		if(uai!=-1) 
		{
			this.isFirefox=true
			this.browserVersionMaj=parseInt(navigator.userAgent.charAt(uai+8));
		} 
		else 
		{
			this.isNetscape=true;
			this.browserVersionMaj=parseFloat(this.appVersion);
		}
	} 
	else 
	{
		var uai=navigator.appVersion.indexOf("MSIE");
		if(uai!=-1) 
		{
			this.isIE=true;
			var temp=navigator.appVersion.split("MSIE")
			this.appVersion=parseFloat(temp[1]);
			this.browserVersionMaj=parseInt(this.appVersion);
		}
		else 
		{
			var uai=navigator.userAgent.indexOf("Opera");
			if(uai!=-1)
			{
				this.isOpera=true;
				this.browserVersionMaj=parseInt(navigator.userAgent.charAt(uai+6));
			}
		}
	}
}

actorVirtual.prototype.el=function(e) 
{ 
	return document.getElementById(e);
}

actorVirtual.prototype.AnchorToObjectX=function()
{
	if(this.isIE) 
	{		
		window.attachEvent('onresize',AnchorResizedX);
		window.attachEvent('onload',AnchorResizedX);
	} else 
	{
		window.addEventListener('load',AnchorResizedX,false);
		window.addEventListener('resize',AnchorResizedX,false);
	}
}

actorVirtual.prototype.IsToBePaused=function() 
{
	if(this.DoNotShowDays>0){
		if(this.cookie!=null) {
			return true;
		} 
	}
	return false;
}

actorVirtual.prototype.Iniciar=function() 
{
	actorvirtual_Global=this;
	cookie=this.ObterCookie();
	
	if(this.DoNotShowDays>0)
	{	
		this.ObterCookie();

		if(this.cookie!=null && this.PauseIfShown==0)
			return true;

		this.AlterarCookie();
	}
	this.InitialX=this.posicao.X;

	if(this.ReferenceID!=null && this.el(this.ReferenceID)!=null) 
	{
			this.AnchorToObjectX();
			this.LockInitialX();
	}
	
	if(this.anchorMode=='static')
	{
		this.modoposicionamento='fixed';
		if(this.isIE) 
		{
			if(this.appVersion!=7 || !this.isCompatible)	
			{
				this.modoposicionamento='absolute';
				this.NeedsFix=true;
			}
		}

		if(this.isFirefox && this.browserVersionMaj<2) 
		{
			this.modoposicionamento='absolute';
			window.addEventListener('scroll',RetomarPosicao,false);
			window.addEventListener('size',RetomarPosicao,false);
		}
		
		this.WriteDiv();
	} 
	else 
	{
		this.modoposicionamento='absolute';
		this.WriteDiv();
	}
	
	if(this.ReferenceID!=null && this.el(this.ReferenceID)!=null)
		this.AnchorToObjectX();
}

actorVirtual.prototype.PlaceElement=function (o,s,l,t) 
{
	var obj=this.el(o); 
	var src=this.el(s);
	var srcLoc=GetObjectPosition(src);
	var nl=l+srcLoc[0];
	var nt=t+srcLoc[1];
	obj.style.left=nl + 'px';
	obj.style.top= nt + 'px';
}

actorVirtual.prototype.ValidarVersaoFlash = function() 
{
	var maj=0;
	var min=0;
	
	if(navigator.plugins != null && navigator.plugins.length > 0) 
	{
		if(navigator.plugins["Shockwave Flash"]) 
		{
			var d=navigator.plugins["Shockwave Flash"].description;
			var a=d.split(" ");
			var version=a[2];
			var a1=version.split(".");
			maj=a1[0];
			min=a1[1];
		} 
	}
	else 
	{
		try 
		{
			// version will be set for 7.X or greater players
			var o = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		 	var d = o.GetVariable("$version");
			var a=d.split(" ");
			var version=a[1];
			var a1=version.split(",");
			maj=a1[0];
			min=a1[1];
		} 
		catch (e) 
		{
		}
	}
	
	if(maj>9 || (maj==9 && min>=0)) 
		return true;
	else 
		return false;
}
	
actorVirtual.prototype.GetObjectPosition=function(o) 
{
	var l,t;
	l=t=0;
	if(o.offsetParent) 
	{
		l=o.offsetLeft;
		t=o.offsetTop;
		while((o=o.offsetParent)) 
		{
			l+=o.offsetLeft;
			t+=o.offsetTop;
		}
	}
	return [l,t];
}

actorVirtual.prototype.DesactivarFlashNoFim=function()
{
	this.el('actorvirtual_Container').style.display='none';
}

actorVirtual.prototype.GetObjectAbsoluteX=function(o) 
{
	var x;
	x=0;
	while(o!=null) 
	{
		x+=o.offsetLeft;
		o=o.offsetParent
	}
	return x;
}

actorVirtual.prototype.GetObjectAbsoluteY=function(o) 
{
	var y;
	y=0;
	while(o!=null) 
	{
		y+=o.offsetTop;
		o=o.offsetParent
	}
	return y;
}

actorVirtual.prototype.WriteStandardContainer= function()
{
	document.write('<div id="actorvirtual_Container" style="z-index:10001;');
	this.WritePositionStyleInfo();
	document.write('z-index: 10000;border: 0px; width:'+this.largura+'px;height:'+this.altura+';">');
}

actorVirtual.prototype.WritePositionStyleInfo=function() 
{
	document.write('position: '+this.modoposicionamento+'; ');
	if(this.posicionamentovertical=='fromBottom')
		document.write('bottom: ');
	else {document.write('top: ');}
		document.write(this.posicao.Y+'px; ');

	if(this.posicionamentohorizontal=='fromLeft')
		document.write('left: ');
	else
		document.write('right: ');

	document.write(
	this.InitialX+'px;'); 
}

actorVirtual.prototype.WriteDiv=function() 
{
	if(this.ValidarVersaoFlash()) 
	{
		if(this.WriteWrapper)
			this.WriteStandardContainer();

		this.WriteMovieObject();
	}
	else 
	{
		document.write('<div id="actorvirtual_Container" style="');
		this.WritePositionStyleInfo();
		document.write('z-index: 10000;border: 0px; width:'+this.largura+'px; background-color:#FFF; padding:4px 4px 4px 4px; border:inset 3px #F00 ">');

		document.write("Flash Version 9.0 is needed.<br/><a href='http://www.adobe.com/go/getflash/' target='_blank'>Get it here</a>");
	}
	
	if(this.NeedsFix)
	    this.el('actorvirtual_Container').style.setExpression('top','MovimentarPosicaoY()');

	if(this.WriteWrapper) 
		document.write('</div>');
}

actorVirtual.prototype.LockInitialX=function() 
{
	var src=this.el(actorvirtual_Global.ReferenceID);
	var srcLoc=this.GetObjectAbsoluteX(src);
	this.InitialX=srcLoc+this.posicao.X;
}
	
function AnchorResizedX() 
{
	var obj=actorvirtual_Global.el('actorvirtual_Container');
	var src=actorvirtual_Global.el(actorvirtual_Global.ReferenceID);
	var srcLoc=actorvirtual_Global.GetObjectAbsoluteX(src);
	var nl=video.posicao.X+srcLoc;
	obj.style.left=nl + 'px';
}

actorVirtual.prototype.WriteMovieObject=function()
{
	document.write('<object ');
	
	if(!this.WriteWrapper) 
	{ 
		document.write(' id="actorvirtual_Container"  style="');
		this.WritePositionStyleInfo();
		document.write('z-index: 1000;"');
	}
	else 
	{
		document.write(' id="_Container_o"  ');
	}
	
	document.write('classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,19,0" width="');
	document.write(this.largura+'px" height="'+this.altura+'">\n');
	document.write('\t<param name="movie" value="'+this.filme+'" />\n');
	document.write('\t<param name="quality" value="high" />\n');

	if(this.FlashVars!='') 
		document.write('\t<param name="FlashVars" value="'+this.FlashVars+'"');

	document.write('\t<param name="menu" value="false" />\n');
	document.write('\t<param name="wmode" value="transparent" />\n');
	document.write('\t<embed id="actorvirtualVideo" src="'+this.filme+'" quality="high" wmode="transparent" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="');
	document.write(this.largura+'px" height="'+this.altura+'" menu="false"');

	if(this.FlashVars!='') 
		document.write('FlashVars="'+this.FlashVars+'"');

	document.write('></embed>\n');
	document.write('</object>\n');
}

var shown=0;
var lastNum=0;
function MovimentarPosicaoY() 
{
	var loc;
	var scrollTop;
	var clientHeight;

	if( typeof( window.innerWidth ) == 'number' ) 
		clientHeight = window.innerHeight;
	else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) 
		clientHeight  = document.documentElement.clientHeight;
	else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) 
		clientHeight  = document.body.clientHeight;

	if( typeof( window.pageYOffset ) == 'number' ) 
	    scrollTop = window.pageYOffset;
	else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) 
	    scrollTop = document.body.scrollTop;
	else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) 
	    scrollTop = document.documentElement.scrollTop;
	else 
		scrollTop=0;
	
	if(actorvirtual_Global.posicionamentovertical=='fromBottom')
		loc=scrollTop+clientHeight-actorvirtual_Global.posicao.Y-actorvirtual_Global.el('actorvirtual_Container').clientHeight ;	
	else
		loc=scrollTop+actorvirtual_Global.posicao.Y;

	return loc;
}

function RetomarPosicao() 
{
	var scrollTop=	window.pageYOffset;
	var clientHeight=window.innerHeight;

	if(this.InitialHeight== undefined) { this.InitialHeight=this.el('actorvirtual_Container').clientHeight;}
	if(this.posicionamentovertical=='fromBottom')
		loc = scrollTop + clientHeight - this.posicao.Y-this.InitialHeight ;	
	else
		loc=scrollTop+actorvirtual_Global.posicao.Y;
	this.el('actorvirtual_Container').style.top=loc+'px';
}
