/* Parametros das funcoes (acaoSimParam e acaoNaoParam) devem ser passados com # no inicio e no fim */


// variáveis que vão receber as ações
var acao_afazer = "";
var param_ausar = "";
var acao_contraria = "";
var param_contraria = "";
var tempoBox;
//função para pegar o tamanho da área útil do IE
function getPageSize() {
	var xScroll, yScroll;
	if (window.innerHeight && window.scrollMaxY){
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else {
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	var windowWidth, windowHeight;
	if (self.innerHeight) {
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) {
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) {
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	if(yScroll < windowHeight) pageHeight = windowHeight;
	else pageHeight = yScroll;
	if(xScroll < windowWidth) pageWidth = windowWidth;
	else pageWidth = xScroll;
	arrayPageSize = {pageWidth:pageWidth,pageHeight:pageHeight,windowWidth:windowWidth,windowHeight:windowHeight}
	return arrayPageSize;
}


//classe Mesagem
function Mensagem(tipoMensagem, larguraMensagem, tituloMensagem, mensagem, acaoSim, acaoSimParam, acaoNao, acaoNaoParam, tempoMensagem, imagem, tamanhoImagemX,tamanhoImagemY,caminhoImagens)
{
	//definindo variaveis
	this.caminhoImagens	= (caminhoImagens == null?'lib/msgJanelas/':caminhoImagens);
	this.tipoMensagem = tipoMensagem;
	this.largura = (larguraMensagem == null?695:larguraMensagem);
	this.tituloMensagem = tituloMensagem;
	this.mensagem = mensagem;
	this.acaoSim = acaoSim;
	this.acaoSimParam = acaoSimParam;
	this.acaoNao = acaoNao;
	this.acaoNaoParam = acaoNaoParam;
	this.imagem = imagem;
	this.tempoMensagem = tempoMensagem
	this.tamanhoImagemX= (tamanhoImagemX == null?48:tamanhoImagemX);
	this.tamanhoImagemY= (tamanhoImagemY == null?48:tamanhoImagemY);
	
	
	//definindo Metodos
	this.popup = popup;
	this.fechar = msgFechar;
}

//Métodos da Classe Mensagem
function popup()
{	
	//verificando tipo de janela
	switch(this.tipoMensagem)
	{
		case 'Erro':
		{
			if(this.acaoSim == null)
			{
				document.getElementById('msgBotoes').innerHTML = '<button type="button" class="botao" onclick="msgFechar()" id="msgOK">Ok</button>';
			}
			else
			{
				acao_afazer = this.acaoSim;
				//aplicando parametros, caso existam
				if(this.acaoSimParam != null){param_ausar = this.acaoSimParam;param_ausar = param_ausar.replace(/#/g,'\'');}
				document.getElementById('msgBotoes').innerHTML = '<button type="button" class="botao" onclick="popup_sim()" id="msgOK">Ok</button>';
			}
			
			document.getElementById('msgImg').src = this.caminhoImagens+'icones/erro.png';
	
			document.getElementById('msgTitulo').className = 'tituloErro';
			
			document.getElementById('msgMascara').className = 'mascara_negra';
//			document.getElementById('msgMascara').className = 'mascara_transparente';
			break;
		}
		
		case 'Ok':
		{
			if(this.acaoSim == null)
			{
				//document.getElementById('msgBotoes').innerHTML = '<button type="button" class="botao" id="msgSim" value="Ok" onclick="msgFechar()" id="msgOK">Ok</button>';
			}
			else
			{
				acao_afazer = this.acaoSim;
				//aplicando parametros, caso existam
				if(this.acaoSimParam != null){param_ausar = this.acaoSimParam;param_ausar = param_ausar.replace(/#/g,'\'');}
				//document.getElementById('msgBotoes').innerHTML = '<button type="button" class="botao" id="msgSim" onclick="popup_sim()" id="msgOK">Ok</button>';
			}
			
			document.getElementById('msgImg').src = this.caminhoImagens+'icones/ok.png';
			document.getElementById('msgTitulo').className = 'tituloOK';
			document.getElementById('msgMascara').className = 'mascara_transparente';
			
			break;
		}
		
		case 'Aguarde':
		{
			
			document.getElementById('msgTitulo').style.display = 'none';
			document.getElementById('msgBotoes').style.display = 'none';
			document.getElementById('msgImg').style.display = 'none';
			document.getElementById('msgMascara').className = 'mascara_transparente';

			break;
		}
		
		case 'Questao':
		{
			document.getElementById('msgBotoes').innerHTML = '<button type="button" class="botao" onclick="popup_sim()" id="msgSim">Sim</button>'
			+'&nbsp;<button type="button" class="botao" onclick="popup_nao()" id="msgNao">N&atilde;o</button>';
			
			if(this.imagem == null)
			{			
				document.getElementById('msgImg').src = this.caminhoImagens+'icones/alerta.png';
			}
			else
			{
					document.getElementById('msgImg').src = this.imagem;
			}
		
			document.getElementById('msgTitulo').className = 'janela_titulo_alerta';
			
			//guardando acao
			if(this.acaoSim != null)
			{
				acao_afazer = this.acaoSim;
				//aplicando parametros, caso existam
				if(this.acaoSimParam != null){param_ausar = this.acaoSimParam;param_ausar = param_ausar.replace(/#/g,'\'');}
			}
			else
			{
				alert('Faltam parametros para a ação de confirmação');
				return false;
			}
			
			//guardando Contra-acao
			if(this.acaoNao != null)
			{
				acao_contraria = this.acaoNao;
				//aplicando parametros, caso existam
				if(this.acaoNaoParam != null){param_contraria = this.acaoNaoParam;param_contraria = param_contraria.replace(/#/g,'\'');}			
			}
			else
			{
				acao_contraria = "msgFechar";
			}
	
			document.getElementById('msgTitulo').className = 'tituloAlerta';
//			document.getElementById('msgMascara').className = 'mascara_negra';
			document.getElementById('msgMascara').className = 'transparente';
			break;
		}
	}
	
	//setando dimenssõs da imagem
	document.getElementById('msgImg').style.width = this.tamanhoImagemX + 'px';
	document.getElementById('msgImg').style.height = this.tamanhoImagemY + 'px';
	
	//setando larguar e posicionamento da mensagem
	document.getElementById('msgBox').style.width = this.largura+'px';
	document.getElementById('msgBox').style.marginLeft = '-'+(this.largura/2) + 'px';

	//setando mensagem
	document.getElementById('msgTexto').innerHTML = this.mensagem;
	if(this.tituloMensagem != null)
		document.getElementById('msgTitulo').innerHTML = this.tituloMensagem;
	
	//mostrando elementos
	var pageSize = getPageSize();
	document.getElementById('msgMascara').style.height = pageSize.pageHeight + 'px';
	document.getElementById('msgMascara').style.display = '';
	document.getElementById('msgBox').style.display = '';
	
	//setando o foco nos botões, caso existam
	if(document.getElementById('msgOK'))document.getElementById('msgOK').focus();
	if(document.getElementById('msgSim'))document.getElementById('msgSim').focus();
	
	//setando tempo de exibição, caso necessário
	if(this.tempoMensagem != null)
	{
		tempoBox = this.acaoSim == null?setTimeout(msgFechar, this.tempoMensagem * 1000):setTimeout(popup_sim, this.tempoMensagem * 1000)	
	}
}

function msgFechar()
{
	document.getElementById('msgMascara').style.display = 'none';
	document.getElementById('msgBox').style.display = 'none';
	document.getElementById('msgImg').style.display = '';
	document.getElementById('msgImg').src='';
	document.getElementById('msgBotoes').style.display = '';
	document.getElementById('msgBotoes').innerHTML = '';
	document.getElementById('msgTexto').innerHTML = '';
	document.getElementById('msgTitulo').innerHTML = '';
	document.getElementById('msgTitulo').className = '';
	document.getElementById('msgTitulo').style.display = '';
	document.getElementById('msgMascara').className = '';

	acao_afazer = "";
	param_ausar = "";
	acao_contraria = "";
	param_contraria = "";
	if (tempoBox) 
		clearTimeout(tempoBox);
}

//funções que executam as ações passadas pelos parametros de popup()
function popup_sim()
{
	eval(acao_afazer+"("+param_ausar+");");
}
function popup_nao()
{
	eval(acao_contraria+"("+param_contraria+");");
}

// definindo ações a serem executadas na janela de popup
function sim()
{
	alert('ok');
	msgFechar();
}

function focoJan(campo)
{
	campo.focus();
	msgFechar();
}

function carregaSugestao(d, m, e){
	var dia			= document.getElementById('dia');
	var mes			= document.getElementById('meses');
	var estada		= document.getElementById('numDias');
	var formulario	= document.getElementById('formDatas');
	
	if(d < 10){
		d = '0'+d;
	}

	dia.value = d
	mes.value = m;
	estada.value = e;
	formulario.submit();
	
}