var SeparadorElementos = '#$%%$#';
var SeparadorInformacaoJanela = '%$##$%';

function AbrirJanelaModal(PaginaDestinoJanelaModal, IdentificadorJanelaModal, LarguraJanela, AlturaJanela, TituloJanela, ControlosSemPostBack)
{
	var WindowManager = document.getElementById('wucBanner_RadWindowManager');
	var TotalJanelasAbertas = WindowManager.getAttribute('TotalJanelasAbertas');
	if (WindowManager.getAttribute('TotalJanelasAbertas')=='0')
	{
		var oWindow = window.radopen(PaginaDestinoJanelaModal, IdentificadorJanelaModal);
	}
	else
	{
		var oManager = GetRadWindow().GetWindowManager();     
		var oWindow = oManager.Open(PaginaDestinoJanelaModal, "_" + IdentificadorJanelaModal  + TotalJanelasAbertas);
		oWindow.SetModal(true);
	}
	oWindow.SetSize(LarguraJanela, AlturaJanela); 
	oWindow.SetTitle(TituloJanela);
	PosicionaJanela(oWindow, LarguraJanela, AlturaJanela);
	oWindow.Argument = ControlosSemPostBack;
	window.setTimeout(function(){oWindow.SetStatus("");}, 1);
}

function AbrirJanelaModalFormulario(PaginaDestinoJanelaModalBotoesGrelha, LarguraJanela, AlturaJanela, Accao, Grelha, TituloJanela)
{
	if (Accao == '1')
	{
		var IDElementoLinha = 0;
	}
	else
	{
		var IDElementoLinha = RetornaValorPrimeiraColunaGrelha(Grelha);
	}
	var PaginaDestinoJanelaModal = PaginaDestinoJanelaModalBotoesGrelha + "&IDElementoLinha=" + IDElementoLinha + "&Accao=" + Accao;
	AbrirJanelaModal(PaginaDestinoJanelaModal, 'JanelaFormulario', LarguraJanela, AlturaJanela, TituloJanela);
}

function AbrirJanelaModalSeleccao(PaginaDestinoJanelaModalBotoesSeleccao, LarguraJanela, AlturaJanela, TituloJanela, ControlosSemPostBack)
{
	try
	{
		AbrirJanelaModal(PaginaDestinoJanelaModalBotoesSeleccao, 'JanelaSeleccao', LarguraJanela, AlturaJanela, TituloJanela, ControlosSemPostBack);
	}
	catch(Excepcao)
	{
	}
}

function AbrirJanelaConfirmacao(FormularioBase, BotaoBase, MensagemJanela, LarguraJanela, AlturaJanela)
{
	FormularioBotaoClicado=FormularioBase;
	BotaoClicado=BotaoBase;
	radconfirm(MensagemJanela, confirmCallBackFnBotao, LarguraJanela, AlturaJanela); 
	return false;
}

function AbrirJanelaConfirmacaoComRetornoRespostaNegativa(FormularioBase, BotaoBase, MensagemJanela, LarguraJanela, AlturaJanela)
{
	FormularioBotaoClicado=FormularioBase;
	BotaoClicado=BotaoBase;
	radconfirm(MensagemJanela, confirmCallBackFnBotaoComRetornoRespostaNegativa, LarguraJanela, AlturaJanela); 
	return false;
}

function AbrirJanelaInformacao(MensagemJanela, LarguraJanela, AlturaJanela) 
{ 
	radalert(MensagemJanela, LarguraJanela, AlturaJanela); 
}

function GetRadWindow()
{
	var oWindow = null;
	if (window.radWindow) oWindow = window.radWindow; 
	else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow;
	return oWindow;
}

function CloseWindow(Controlo, InformacaoItem, SemPostBack)
{	
	var oWindow = GetRadWindow();
	if (Controlo=='Mensagem')
	{
		oWindow.Id = oWindow.Id + '_JanelaJaFechada';
		oWindow.Close();
	}
	else
	{
		if (! SemPostBack)
		{
			var WindowManager = document.getElementById('wucBanner_RadWindowManager');
			var TotalJanelasAbertas = WindowManager.getAttribute('TotalJanelasAbertas');
			if (TotalJanelasAbertas!='0')
			{
				var IdentificadoresTiposJanelasAbertas = WindowManager.getAttribute('IdentificadoresTiposJanelasAbertas');
				var Posicao = IdentificadoresTiposJanelasAbertas.lastIndexOf(SeparadorElementos)
				if (Posicao != -1)
				{
					IdentificadoresTiposJanelasAbertas = IdentificadoresTiposJanelasAbertas.substring(Posicao + SeparadorElementos.length);
				}
				if (IdentificadoresTiposJanelasAbertas == 'JanelaFormulario' || IdentificadoresTiposJanelasAbertas == 'JanelaSeleccao') 
				{
					var JanelaModalPai = oWindow.GetWindowManager().GetWindowByName(IdentificadoresTiposJanelasAbertas);
				}
				else
				{
					var JanelaModalPai = oWindow.GetWindowManager().GetWindowByName("_" + IdentificadoresTiposJanelasAbertas);
				}
				var frameJanelaModalPai = JanelaModalPai.GetContentFrame();
				oWindow.Id=oWindow.Id + SeparadorInformacaoJanela + Controlo + SeparadorInformacaoJanela + InformacaoItem;
				var TipoJanela;            
				if (oWindow.Id.search('_JanelaFormulario' + TotalJanelasAbertas)>-1 || oWindow.Id.search('_JanelaSeleccao' + TotalJanelasAbertas)>-1)
				{
					var InformacaoItem = oWindow.Id.substr(oWindow.Id.lastIndexOf(SeparadorInformacaoJanela)+SeparadorInformacaoJanela.length);
					var StingAuxliar = oWindow.Id.substring(0,oWindow.Id.length-InformacaoItem.length-SeparadorInformacaoJanela.length);
					var Controlo = StingAuxliar.substr(StingAuxliar.lastIndexOf(SeparadorInformacaoJanela)+SeparadorInformacaoJanela.length).replace(/:/g,'_');
					var radWindowID = StingAuxliar.substring(0,StingAuxliar.length-Controlo.length-SeparadorInformacaoJanela.length);
					var FlagAccao;
					if (oWindow.Id.search('_JanelaFormulario'  + TotalJanelasAbertas)>-1)
					{
						TipoJanela = 'JanelaFormulario';
						FlagAccao = 'RefrescaInformacaoGrelha';
					}
					else
					{
						TipoJanela = 'JanelaSeleccao';
						FlagAccao = 'AplicaSeleccao';
					}
				}
				else
				{
					TipoJanela = oWindow.Id.substr(oWindow.Id.lastIndexOf('_')+1);
				}
				if (TipoJanela == 'MensagemBaseJanelaModal')
				{
					oWindow.Close();
				}
				else
				{
					if (TipoJanela == 'JanelaFormulario' || TipoJanela == 'JanelaSeleccao')
					{
						if (InformacaoItem!=0)
						{
							oWindow.Id=radWindowID;
							try{frameJanelaModalPai.contentWindow.SubmitPage(Controlo,FlagAccao + InformacaoItem);}catch(Excepcao){}
						}
						else
						{
							oWindow.Id=radWindowID;
						}
					}
				}
				oWindow.Id = oWindow.Id + '_JanelaJaFechada';
				oWindow.Close();
			}
			else
			{
				oWindow.Id = oWindow.Id + SeparadorInformacaoJanela + Controlo + SeparadorInformacaoJanela + InformacaoItem;
				oWindow.Close();
			}
		}
		else
		{
			if (InformacaoItem ==0)
			{
				oWindow.Id = oWindow.Id + '_JanelaJaFechada';
				oWindow.Close();
			}
			else
			{
				var ControlosValoresIniciais = oWindow.Argument.split(SeparadorElementos);
				var ControlosValoresFinais = '';
				var Valores = InformacaoItem.split(SeparadorElementos);
				for (i=0; i < ControlosValoresIniciais.length; i++) 
				{   
					var Controlo = ControlosValoresIniciais[i].substr(0, ControlosValoresIniciais[i].indexOf('='));
					var valor = Valores[i];
					if (ControlosValoresFinais == '')
					{
						ControlosValoresFinais = ControlosValoresFinais + ControlosValoresIniciais[i] + valor;
					}
					else
					{
						ControlosValoresFinais = ControlosValoresFinais + SeparadorElementos + ControlosValoresIniciais[i] + valor;
					}
				}
				oWindow.Id = oWindow.Id + '_JanelaJaFechada';
				var WindowManager = document.getElementById('wucBanner_RadWindowManager');
				var TotalJanelasAbertas = WindowManager.getAttribute('TotalJanelasAbertas');
				var IdentificadoresTiposJanelasAbertas = WindowManager.getAttribute('IdentificadoresTiposJanelasAbertas');
				oWindow.CallBack(TotalJanelasAbertas + SeparadorInformacaoJanela + IdentificadoresTiposJanelasAbertas + SeparadorInformacaoJanela +ControlosValoresFinais);
			}
		}
	}
}

function OnClientClose(oWindow)
{   
	if (oWindow.Id.search('_JanelaJaFechada')==-1)     
	{
		var TipoJanela;            
		if (oWindow.Id.search('_JanelaFormulario')>-1 || oWindow.Id.search('_JanelaSeleccao')>-1 || oWindow.Id.search('_JanelaEspecialFormulario')>-1)
		{
			var InformacaoItem = oWindow.Id.substr(oWindow.Id.lastIndexOf(SeparadorInformacaoJanela)+SeparadorInformacaoJanela.length);
			var StingAuxliar = oWindow.Id.substring(0,oWindow.Id.length-InformacaoItem.length-SeparadorInformacaoJanela.length);
			var Controlo = StingAuxliar.substr(StingAuxliar.lastIndexOf(SeparadorInformacaoJanela)+SeparadorInformacaoJanela.length).replace(/:/g,'_');
			var radWindowID = StingAuxliar.substring(0,StingAuxliar.length-Controlo.length-SeparadorInformacaoJanela.length);
			var FlagAccao;
			if (oWindow.Id.search('_JanelaFormulario')>-1)
			{
				TipoJanela = 'JanelaFormulario';
				FlagAccao = 'RefrescaInformacaoGrelha';
			}
			else
			{
				if (oWindow.Id.search('_JanelaSeleccao')>-1)
				{
					TipoJanela = 'JanelaSeleccao';
					FlagAccao = 'AplicaSeleccao';
				}
				else
				{
					TipoJanela = 'JanelaEspecialFormulario';
					FlagAccao = 'AccaoEspecial';
				}
			}
		}
		else
		{
			TipoJanela = oWindow.Id.substr(oWindow.Id.lastIndexOf('_')+1);
		}
		if (TipoJanela == 'MensagemBaseJanelaModal')
		{
			oWindow.Close();
		}
		else
		{
			if (TipoJanela == 'JanelaFormulario' || TipoJanela == 'JanelaSeleccao' || TipoJanela == 'JanelaEspecialFormulario')
			{
				if (InformacaoItem!=0)
				{
					oWindow.Id=radWindowID;
					__doPostBack(Controlo,FlagAccao + InformacaoItem);
				}
				else
				{
					oWindow.Id=radWindowID;
				}
			}
		}
	}
	else
	{
		oWindow.Id=oWindow.Id.substr(0,oWindow.Id.lastIndexOf('_'));
	}
}  

function SubmitPage(Controlo, Informacao)
{        
	__doPostBack(Controlo,Informacao);
}

function PosicionaJanela(Janela, LarguraJanela, AlturaJanela)
{
	var PosicaoEsquerda;
	var PosicaoTopo;
	if ((screen.width - LarguraJanela - 10) <=0)
	{
		PosicaoEsquerda = 0;
	}
	else
	{
		PosicaoEsquerda = ((screen.width/2) - (LarguraJanela/2) - 10);
	}
	if ((screen.height - AlturaJanela - 30) <= 0)
	{
		PosicaoTopo = 0;
	}
	else
	{
		PosicaoTopo = ((screen.height/2) - (AlturaJanela/2) - 30);
	}
	Janela.MoveTo(PosicaoEsquerda, PosicaoTopo);
}

function RadWindowClientCallBackFunction(oWindow, returnValue)
{
		
	var JanelaModalPai;
	var FrameFormModalPai;
	var Valores = returnValue.substr(returnValue.lastIndexOf(SeparadorInformacaoJanela)+SeparadorInformacaoJanela.length);
	var StingAuxliar = returnValue.substring(0,returnValue.length-Valores.length-SeparadorInformacaoJanela.length);
	var IdentificadoresTiposJanelasAbertas = StingAuxliar.substr(StingAuxliar.lastIndexOf(SeparadorInformacaoJanela)+SeparadorInformacaoJanela.length);
	var TotalJanelasAbertas = StingAuxliar.substring(0,StingAuxliar.length-IdentificadoresTiposJanelasAbertas.length-SeparadorInformacaoJanela.length);
	if (TotalJanelasAbertas!='0')
	{
		var Posicao = IdentificadoresTiposJanelasAbertas.lastIndexOf(SeparadorElementos)
		if (Posicao != -1)
		{
			IdentificadoresTiposJanelasAbertas = IdentificadoresTiposJanelasAbertas.substring(Posicao + SeparadorElementos.length);
		}
		if (IdentificadoresTiposJanelasAbertas == 'JanelaFormulario' || IdentificadoresTiposJanelasAbertas == 'JanelaSeleccao') 
		{
			var JanelaModalPai = oWindow.GetWindowManager().GetWindowByName(IdentificadoresTiposJanelasAbertas);
		}
		else
		{
			var JanelaModalPai = oWindow.GetWindowManager().GetWindowByName("_" + IdentificadoresTiposJanelasAbertas);
		}
		var FrameFormModalPai = JanelaModalPai.GetContentFrame();
	}
	var ControlosValores = Valores.split(SeparadorElementos);
	for (i=0; i < ControlosValores.length; i++) 
	{   
		var Controlo = ControlosValores[i].substr(0, ControlosValores[i].indexOf('='));
		var valor = ControlosValores[i].substr(ControlosValores[i].indexOf('=') + 1);
		if (TotalJanelasAbertas == '0')
		{
			document.getElementById(Controlo).value = valor;
		}
		else
		{
			FrameFormModalPai.contentWindow.document.getElementById(Controlo).value = valor;
		}
	}
}