//+----------------------------------------------------------------------------------------------------+
//| Programador...........: Marcos Roberto Nava                                                        |
//| Data..................: 17/08/2007                                                                 |
//| Nome do programa......: scripts.js                                                                 |
//| Descrição do programa.: Funções em JavaScript para o calendário.                                   |
//+----------------------------------------------------------------------------------------------------+

var request = false;
try 
{
	request = new XMLHttpRequest();
} 
catch (trymicrosoft) 
{
	try 
	{
		request = new ActiveXObject("Msxml2.XMLHTTP");
	} 
	catch (othermicrosoft) 
	{
		try 
		{
			request = new ActiveXObject("Microsoft.XMLHTTP");
		} 
		catch (failed) 
		{
			request = false;
		}
	}
}

if (!request)
{
	alert("Error initializing XMLHttpRequest!");
}

function calendario2(idComponente, evt)
{
	//+----------------------------------------------------------------------------------------------------+
	//|                                        Descrição da Função                                         |
	//+----------------------------------------------------------------------------------------------------+
	//| Nome......................: calendario2                                                            |
	//| Parâmetros................: (STRING) idComponente, (EVENT) evt                                     |
	//| Retorno...................:                                                                        |
	//| Programador...............: Marcos Roberto Nava                                                    |
	//| Data......................: 13/07/2007                                                             |
	//| Descrição.................: Script de calendário usando Web 2.0.                                   |
	//+----------------------------------------------------------------------------------------------------+
	//|                                       Alterações do programa                                       |
	//+----------------------------------------------------------------------------------------------------+
	//| Programador...............:                                                                        |
	//| Data......................:                                                                        |
	//| Detalhamendo da alteração.:                                                                        |
	//+----------------------------------------------------------------------------------------------------+
	
	var ajxCalendario;
	var ajxConteudo;
	var ajxTop;
	var ajxLeft;
	var ajxData
	var ajxDia
	var ajxMes
	var ajxAno
	
	ajxTop = parseInt(evt.y) + document.body.scrollTop;
	ajxLeft = parseInt(evt.x) + document.body.scrollLeft;
	ajxCalendario = document.getElementById("calendario");
	ajxCalendario.style.display = "block";
	ajxCalendario.style.top = ajxTop;
	ajxCalendario.style.left = ajxLeft;
	ajxCalendario.style.height = 40;
	ajxCalendario.style.backgroundColor = "#FF0000";
	
	ajxConteudo = "<iframe id='ifCalendario' style='position: absolute; width: 203px; top: 0px; ";
	ajxConteudo += "left: 0px; height: 40px;'></iframe>";
	ajxConteudo += "<div id='diCalendario' style='position: absolute; width: 203px; top: 0px; ";
	ajxConteudo += "left: 0px; background-color: #EEEEEE; height: 40px'><center><img src='/imagens/calendario/calAtualizando.gif' width='40' height='40'></center></div>"
	
	ajxCalendario.innerHTML = ajxConteudo;
	
	ajxData = document.getElementById(idComponente).value;
	if(ajxData != "")
	{
		ajxDia = ajxData.substring(0,2);
		ajxMes = ajxData.substring(3,5);
		ajxAno = ajxData.substring(6);
	}
	else
	{
		ajxDia = ""
		ajxMes = ""
		ajxAno = ""
	}
	
	url = "/calendario.asp?idComponente=" + encodeURI(idComponente) + "&ano=" + encodeURI(ajxAno) + "&mes=" + encodeURI(ajxMes) + "&dia=" + encodeURI(ajxDia) + "&ts=" + encodeURI(new Date().getMilliseconds());
	request.open("GET", url, true);
	request.onreadystatechange = mostraCalendario2;
	request.send(null);
}

function mostraCalendario2()
{
	//+----------------------------------------------------------------------------------------------------+
	//|                                        Descrição da Função                                         |
	//+----------------------------------------------------------------------------------------------------+
	//| Nome......................: mostraCalendario2                                                      |
	//| Parâmetros................:                                                                        |
	//| Retorno...................:                                                                        |
	//| Programador...............: Marcos Roberto Nava                                                    |
	//| Data......................: 13/07/2007                                                             |
	//| Descrição.................: Atualiza o calendário na tela.                                         |
	//+----------------------------------------------------------------------------------------------------+
	//|                                       Alterações do programa                                       |
	//+----------------------------------------------------------------------------------------------------+
	//| Programador...............:                                                                        |
	//| Data......................:                                                                        |
	//| Detalhamendo da alteração.:                                                                        |
	//+----------------------------------------------------------------------------------------------------+
	
	var ajxDiCalendario = document.getElementById("diCalendario")
	var ajxIfCalendario = document.getElementById("ifCalendario")
	var resposta;
	if(request.readyState == 4)
	{
		if(request.status == 200)
		{
			ajxDiCalendario.innerHTML = request.responseText;
			ajxIfCalendario.style.height = ajxDiCalendario.offsetHeight;
		}
		else
		{
			alert("Problemas no sistema. Erro = " + request.status)
			document.getElementById("erro").innerHTML = request.responseText;
		}
	}
}

function calendarioNavegacao2(idComponente, ajxDia, ajxMes, ajxAno)
{
	//+----------------------------------------------------------------------------------------------------+
	//|                                        Descrição da Função                                         |
	//+----------------------------------------------------------------------------------------------------+
	//| Nome......................: calendarioNavegacao2                                                   |
	//| Parâmetros................: (STRING) idComponente, (INTEGER) ajxDia, (INTEGER) ajxMes,             |
	//|                             (INTEGER) ajxAno                                                       |
	//| Retorno...................:                                                                        |
	//| Programador...............: Marcos Roberto Nava                                                    |
	//| Data......................: 13/07/2007                                                             |
	//| Descrição.................: Script de calendário usando Web 2.0.                                   |
	//+----------------------------------------------------------------------------------------------------+
	//|                                       Alterações do programa                                       |
	//+----------------------------------------------------------------------------------------------------+
	//| Programador...............:                                                                        |
	//| Data......................:                                                                        |
	//| Detalhamendo da alteração.:                                                                        |
	//+----------------------------------------------------------------------------------------------------+
	
	url = "/calendario.asp?idComponente=" + encodeURI(idComponente) + "&ano=" + encodeURI(ajxAno) + "&mes=" + encodeURI(ajxMes) + "&dia=" + encodeURI(ajxDia) + "&ts=" + encodeURI(new Date().getMilliseconds());
	request.open("GET", url, true);
	request.onreadystatechange = mostraCalendario2;
	request.send(null);
}

function calendarioProcessa2(idComponente, ajxData)
{
	//+----------------------------------------------------------------------------------------------------+
	//|                                        Descrição da Função                                         |
	//+----------------------------------------------------------------------------------------------------+
	//| Nome......................: calendarioProcessa2                                                    |
	//| Parâmetros................: (STRING) idComponente, (STRING) ajxData                                |
	//| Retorno...................:                                                                        |
	//| Programador...............: Marcos Roberto Nava                                                    |
	//| Data......................: 16/07/2007                                                             |
	//| Descrição.................: Script de calendário usando Web 2.0.                                   |
	//+----------------------------------------------------------------------------------------------------+
	//|                                       Alterações do programa                                       |
	//+----------------------------------------------------------------------------------------------------+
	//| Programador...............:                                                                        |
	//| Data......................:                                                                        |
	//| Detalhamendo da alteração.:                                                                        |
	//+----------------------------------------------------------------------------------------------------+
	
	document.getElementById(idComponente).value = ajxData;
	document.getElementById("calendario").style.display = "none";
}
