// ============================================================================
// flash.js
// ----------------------------------------------------------------------------
// Data Criacao	: 23/09/2005
// Autor		: Alessandro S. Angeruzzi
// Descrição	: Bibilioteca para manipulação de objetos Flash
// Observacao	: .utiliza script definido em page.js 
// ----------------------------------------------------------------------------

// ----------------------------------------------------------------------------
//Funções Gerais de Manipulação
// ----------------------------------------------------------------------------

//Captura o Objeto Flash
function getFlash(id)
{
	if (window.document[id]) 
	{
		return window.document[id];
	}
	if (navigator.appName.indexOf("Microsoft Internet")==-1)
	{
		if (document.embeds && document.embeds[id])
		  return document.embeds[id]; 
	}
	else
		return document.getElementById(id);
}

//Seta o valor de uma variável no flash
function setVar(id, variable, value)
{
     try{
		 var flash = getFlash(id);
		 flash.SetVariable(variable, value);
	 	 return true;
	 }
	 catch(e) { 
	 	return false;
	}
}

//Recupera o valor de uma variável no flash
function getVar(id, variable)
{
     try{
		 var flash = getFlash(id);
		 return flash.GetVariable(variable);
	 }
	 catch(e) { 
	 	return null;
	}	 
}

// ----------------------------------------------------------------------------
//Funções específicas de nossa solução
// ----------------------------------------------------------------------------

//Array dos Ids dos Objetos Flash da página
var FlashCollection = new Array("menuFlash");

//Definição da variável de controle do Flash
var varControlFlash = 'PermiteAcao';

//chama a funcao modStatusFlash passando o 
//valor de bloqueio da variável de controle
function blockAction()
{
	modStatusFlash(false);
}

function liberateAction()
{
	modStatusFlash(true);
}

//Seta um valor dado na variável de controle de
//todos os objetos definidos em FlashCollection
function modStatusFlash(val)
{
	for(i=0;i<FlashCollection.length; i++)
	{
		setVar(FlashCollection[i], varControlFlash, val);
	}
}

//Função que deve ser chamada pelo Flash em todas 
//as solicitações de redirecionamento de página
function redirectFlash(end)
{
	blockAction();
	window.location = end;
}

//Adiciona chamada no onload da página para 
//liberação das actions nos objetos flash
addEvent(window,"load",liberateAction);

//Adiciona chamada no OnKeyPress da página para verificação 
//se deve ocorrer liberação ou bloqueio dos objetos flash
document.onkeydown = VerTecla;

function VerTecla()
{
	if(event.keyCode==27)//ESC
	{
		liberateAction();
	}
	return true;
}
