var ajax_requests = new Array();
var ajax_id = 0;
var lucajaxUrl = "ajax.asp";
var exitSubmitado = false;
var openedPos = -1;
var totalImprimir = 0;
var vtResultadosImpressao = new Array();
var vtObraOpen = new Array();

var ajax_autocomplete_nms = new Array();
var ajax_autocomplete_idx = new Array();
var ajax_autocomplete_sel = new Array();
var ajax_autocomplete_osb = new Array();
var ajax_autocomplete_txt = new Array();
var ajax_autocomplete_hid = new Array();
var ajax_admin = false;

function init_new_lucajax()
{	
	if (window.XMLHttpRequest)
	{
		ajax_requests[ajax_id] = new XMLHttpRequest();
		if (ajax_requests[ajax_id].overrideMimeType)
		{
			ajax_requests[ajax_id].overrideMimeType('text/xml');
		}
	}
	else if (window.ActiveXObject)
	{
		try
		{
			ajax_requests[ajax_id] = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
				ajax_requests[ajax_id] = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				alert("AJAX_ERROR :: Ajax nÃ£o suportado!");
			}
		}
	}
	
	return ajax_id++;
}

function findPosX(obj)
{
	var curleft = 0;
	
	if (obj.offsetParent)
	{
		x =0;
		while (obj.offsetParent)
		{
			if (x<3) {
				curleft += obj.offsetLeft;
			}
			obj = obj.offsetParent;
			x++;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	if (ajax_admin) {
		curleft = curleft - 20;
	}
	return curleft+20;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	
	if (ajax_admin) {
		curtop = curtop + 350;
	}
	return curtop;
}

function ajax_onsubmit()
{
	if (openedPos>-1)
		ajax_autocomplete_exit(openedPos);
	if (!exitSubmitado) {
		exitSubmitado = true;
		return false;
	} else {
		return true;
	}
}

function ajax_autocomplete(aid,lucajaxQuery,ajaxInt)
{
	openedPos = aid;
	exitSubmitado = false;
	textField = ajax_autocomplete_txt[aid];
	hiddenField = ajax_autocomplete_hid[aid];
	celobj = document.getElementById("ajax_autocomplete_"+aid);
	celobj.style.top = findPosY(textField)-329;
	//celobj.style.left = findPosX(textField)-310;
	celobj.style.left = findPosX(textField);
	celobj.style.width = textField.offsetWidth;
	if (ajax_admin) {
		celobj.style.width = 400;
	}
	ajax_like = textField.value;
	
	if (ajax_like.length>=3)
	{
		//document.getElementById('teste').innerHTML = 'pediu';
		//setTimeout("document.getElementById('teste').innerHTML = ''",1000);
		var urlAjax = lucajaxUrl + '?ajax_int=' + ajaxInt + '&ajax_query=' + lucajaxQuery + '&ajax_like=' + ajax_like + '&t=' + (Math.round((Math.random()*9)+1)) + (Math.random()*55 + 145);
		
		ajax_requests[aid].open('GET', urlAjax, true);
		ajax_requests[aid].onreadystatechange = function()
		{
			if (ajax_requests[aid].readyState==4){
				// 200 (OK)
				if (ajax_requests[aid].status==200){
					
					ajax_autocomplete_nms[aid] = new Array();
					ajax_autocomplete_idx[aid] = new Array();
					ajax_autocomplete_sel[aid] = -1;
					
					if (!ajax_autocomplete_osb[aid])
					{
						ajax_autocomplete_osb[aid] = textField.form.onsubmit;
						textField.form.onsubmit = ajax_onsubmit;
					}
					
					retHtml = '<table id="ajax_autocomplete_table_'+aid+'" width="100%">';								
					var xmldoc = ajax_requests[aid].responseXML;
					c = 0;
					var qryLike = "";
					
					for (i=0;i<xmldoc.documentElement.childNodes.length;i++){
						if (xmldoc.documentElement.childNodes[i].nodeName=='it')
						{
							qryLike = xmldoc.documentElement.childNodes[i].getAttribute('se');
							ajax_autocomplete_nms[aid][c] = xmldoc.documentElement.childNodes[i].getAttribute('nm');
							ajax_autocomplete_idx[aid][c] = xmldoc.documentElement.childNodes[i].getAttribute('cd');
							retHtml += '<tr id="ajax_autocomplete_table_'+aid+'_cell_'+c+'" onMouseMove="ajax_autocomplete_mark(' + aid + ',' + c + ');" style="cursor:hand;"><td>';
							if(xmldoc.documentElement.childNodes[i].getAttribute('ic_identificacao') && xmldoc.documentElement.childNodes[i].getAttribute('ic_identificacao') == 2) retHtml += '<font color=#FF0000> ';
							else retHtml += '<font color=#000000> ';
							retHtml += '<a  onClick="ajax_autocomplete_exit('+aid+');">' + xmldoc.documentElement.childNodes[i].getAttribute('nm') + '</a></font><br>';
							retHtml += '</td></tr>';
							c++;
						}
					}
					if (xmldoc.documentElement.childNodes.length>0)
					{
						retHtml += '</table>';
						if (xmldoc.documentElement.childNodes.length == 10)
							retHtml += '<font color=#000000><a href="javascript:void(0);" onClick="ajax_autocomplete_exit('+aid+');ajax_autocomplete_txt['+aid+'].value=\'' + qryLike + '\';ajax_autocomplete(\''+aid+'\',\''+lucajaxQuery+'\','+(ajaxInt+1)+');">MOSTRAR MAIS SUGESTÕES...</a></font>';
						celobj.innerHTML = retHtml;
						document.getElementById("ajax_autocomplete_table_"+aid).className = textField.className;
						celobj.style.display = '';
					}
					else
					{
						celobj.innerHTML = '';
						celobj.style.display = 'none';									
						ajax_autocomplete_exit(aid);
						exitSubmitado = true;
					}
				}
			}
		};
		ajax_requests[aid].send(null);				
	}
	else
	{
		celobj.innerHTML = '';
		celobj.style.display = 'none';
	}
}

function ajax_autocomplete_deselect(aid)
{
		i = ajax_autocomplete_sel[aid];
		
		if (i>=0)
		{
			celobj = document.getElementById('ajax_autocomplete_table_'+aid+'_cell_'+i);
			celobj.style.backgroundColor = '';
			celobj.style.color = '';
		}
}

function ajax_autocomplete_mark(aid,id)
{
	if (id>=0)
	{
		i = ajax_autocomplete_sel[aid];
		
		if (i>=0)
		{
			celobj = document.getElementById('ajax_autocomplete_table_'+aid+'_cell_'+i);
			celobj.style.backgroundColor = '';
			celobj.style.color = '';
		}
							
		ajax_autocomplete_sel[aid] = id;
		
		celobj = document.getElementById('ajax_autocomplete_table_'+aid+'_cell_'+ajax_autocomplete_sel[aid]);
		celobj.style.backgroundColor = '#cdf68b';
		celobj.style.color = '#FFFFFF';
		
		ajax_autocomplete_select(aid);
	}
}

function ajax_autocomplete_up(aid)
{
	i = ajax_autocomplete_sel[aid];
	
	if (i>=0)
	{
		ajax_autocomplete_sel[aid]--;
		
		celobj = document.getElementById('ajax_autocomplete_table_'+aid+'_cell_'+i);
		celobj.style.backgroundColor = '';
		celobj.style.color = '';
		
		if (i>0)
		{
			celobj = document.getElementById('ajax_autocomplete_table_'+aid+'_cell_'+ajax_autocomplete_sel[aid]);
			celobj.style.backgroundColor = '#cdf68b';
			celobj.style.color = '#FFFFFF';
		}
	}
}

function ajax_autocomplete_down(aid)
{
	i = ajax_autocomplete_sel[aid];
	
	if (i<ajax_autocomplete_idx[aid].length-1)
	{
		ajax_autocomplete_sel[aid]++;

		if (i>=0)
		{
			celobj = document.getElementById('ajax_autocomplete_table_'+aid+'_cell_'+i);
			celobj.style.backgroundColor = '';
			celobj.style.color = '';
		}
		
		celobj = document.getElementById('ajax_autocomplete_table_'+aid+'_cell_'+ajax_autocomplete_sel[aid]);
		celobj.style.backgroundColor = '#cdf68b';
		celobj.style.color = '#FFFFFF';
	}
}

function ajax_autocomplete_exit(aid)
{
	//alert(aid);
	if (aid >= 0) {
	
		if (exitSubmitado)
		{
			ajax_autocomplete_select(aid);
		}
	
		celobj = document.getElementById("ajax_autocomplete_"+aid);
		celobj.style.display = 'none';
	
		if (!ajax_admin)
			//ajax_autocomplete_txt[aid].focus();
		ajax_autocomplete_txt[aid].form.onsubmit = ajax_autocomplete_osb[aid];
		ajax_autocomplete_osb[aid] = null;
	}
}
			
function ajax_autocomplete_select(aid)
{
	if ((aid>=0) && (ajax_autocomplete_sel[aid]>=0))
	{
		ajax_autocomplete_txt[aid].value = ajax_autocomplete_nms[aid][ajax_autocomplete_sel[aid]];
		ajax_autocomplete_hid[aid].value = ajax_autocomplete_idx[aid][ajax_autocomplete_sel[aid]];
	}
	
	if (exitSubmitado)
	{
		exitSubmitado = false;
	}
	if (aid>=0)
		if (!ajax_admin)
			ajax_autocomplete_txt[aid].focus();
}


function ajaxObra (cdObra) {
	ajaxObras(cdObra, false);
}

function ajaxObras (cdObra, icApenasExpande) {
	if (vtObraOpen[cdObra]) {
		if (document.getElementById('obra'+cdObra).style.display == "") {
			if (!icApenasExpande)
			document.getElementById('obra'+cdObra).style.display = "none";
		} else {
			document.getElementById('obra'+cdObra).style.display = "";
		}
	} else {
		var aid = init_new_lucajax();
		var urlAjax = lucajaxUrl + "?detalhe=" + cdObra + '&t=' + (Math.round((Math.random()*9)+1)) + (Math.random()*55 + 145);
		document.getElementById('obra'+cdObra).style.display = "";
		ajax_requests[aid].open('GET', urlAjax, true);
		ajax_requests[aid].onreadystatechange = function()
		{
			if (ajax_requests[aid].readyState==4){
				// 200 (OK)
				if (ajax_requests[aid].status==200){
					var xmldoc = ajax_requests[aid].responseXML;
					for (i=0;i<xmldoc.documentElement.childNodes.length;i++){
						if (xmldoc.documentElement.childNodes[i].nodeName=='it')
						{
							vtObraOpen[cdObra] = true;
							totalImprimir = totalImprimir + 1;
							strHtml  = "<table cellspacing=0 cellpadding=4 border=0>";
							strHtml += "<tr><td><b>Classe:</b></td><td>" +  xmldoc.documentElement.childNodes[i].getAttribute('id_classe') + "</td></tr>";
							strHtml += "<tr><td><b>PHA:</b></td><td>" +  xmldoc.documentElement.childNodes[i].getAttribute('nm_pha') + "</td></tr>";
							strHtml += "<tr><td><b>Tombo:</b></td><td>" +  xmldoc.documentElement.childNodes[i].getAttribute('id_obra') + "</td></tr>";
							strHtml += "<tr><td><b>Tipo:</b></td><td>" +  xmldoc.documentElement.childNodes[i].getAttribute('nm_tipodocto') + "</td></tr>";
							strHtml += "<tr><td><b>Cidade:</b></td><td>" +  xmldoc.documentElement.childNodes[i].getAttribute('nm_cidade') + "</td></tr>";
							strHtml += "<tr><td><b>Editora:</b></td><td>" +  xmldoc.documentElement.childNodes[i].getAttribute('nm_editora') + "</td></tr>";
							strHtml += "</table>";
							document.getElementById('obraConteudo'+cdObra).innerHTML = strHtml;
						}
					}
				}
			}
		};
		ajax_requests[aid].send(null);				
	}	
}

function retirarObra (cdObra) {
	var aid = init_new_lucajax();
	var urlAjax = lucajaxUrl + "?retirar=" + cdObra + '&t=' + (Math.round((Math.random()*9)+1)) + (Math.random()*55 + 145);
		// PROMPT PRA TESTES!!!!!!!
		//prompt('a',urlAjax);
	ajax_requests[aid].open('GET', urlAjax, true);
	ajax_requests[aid].onreadystatechange = function()
	{
		if (ajax_requests[aid].readyState==4){
			// 200 (OK)
			if (ajax_requests[aid].status==200){
				var xmldoc = ajax_requests[aid].responseXML;
				for (i=0;i<xmldoc.documentElement.childNodes.length;i++){
					if (xmldoc.documentElement.childNodes[i].nodeName=='it')
					{
						if (xmldoc.documentElement.childNodes[i].getAttribute('ok') == "1") {
							alert("Retirado com sucesso!");
							if (confirm("Deseja atualizar a pesquisa?")) {
								document.Fpesq.submit();
							}
						} else {
							alert("Não foi possível realizar a retirada!");
							if (confirm("Deseja atualizar a pesquisa?")) {
								document.Fpesq.submit();
							}
						}
					}
				}
			}
		}
	};
	ajax_requests[aid].send(null);				
	
}

function lembrarSenhaEmail (nmLogin) {
	var aid = init_new_lucajax();
	var urlAjax = lucajaxUrl + "?senha=" + nmLogin + '&t=' + (Math.round((Math.random()*9)+1)) + (Math.random()*55 + 145);
	ajax_requests[aid].open('GET', urlAjax, true);
	ajax_requests[aid].onreadystatechange = function()
	{
		if (ajax_requests[aid].readyState==4){
			// 200 (OK)
			if (ajax_requests[aid].status==200){
				var xmldoc = ajax_requests[aid].responseXML;
				for (i=0;i<xmldoc.documentElement.childNodes.length;i++){
					if (xmldoc.documentElement.childNodes[i].nodeName=='it')
					{
						if (xmldoc.documentElement.childNodes[i].getAttribute('ok') == "1") {
							alert("E-Mail enviado sucesso!");
						} else {
							alert("Não foi possível enviar o e-mail!");
						}
					}
				}
			}
		}
	};
	ajax_requests[aid].send(null);				
	
}

function reservarObra (cdObra) {
	var aid = init_new_lucajax();
	var urlAjax = lucajaxUrl + "?reservar=" + cdObra + '&t=' + (Math.round((Math.random()*9)+1)) + (Math.random()*55 + 145);

	ajax_requests[aid].open('GET', urlAjax, true);
	ajax_requests[aid].onreadystatechange = function()
	{
		if (ajax_requests[aid].readyState==4){
			// 200 (OK)
			if (ajax_requests[aid].status==200){
				var xmldoc = ajax_requests[aid].responseXML;
				for (i=0;i<xmldoc.documentElement.childNodes.length;i++){
					if (xmldoc.documentElement.childNodes[i].nodeName=='it')
					{
						if (xmldoc.documentElement.childNodes[i].getAttribute('ok') == "1") {
							alert("Reservado com sucesso!");
							if (confirm("Deseja atualizar a pesquisa?")) {
								document.Fpesq.submit();
							}
						} else if (xmldoc.documentElement.childNodes[i].getAttribute('ok') == "2") {
							alert("Reserva abortada! Você já possui uma reserva para esta obra!");
						} else if (xmldoc.documentElement.childNodes[i].getAttribute('ok') == "3") {
							alert("Reserva abortada! Você já está com a obra requisitada!");
						} else {
							alert("Não foi possível realizar a reserva!");
							if (confirm("Deseja atualizar a pesquisa?")) {
								document.Fpesq.submit();
							}
						}
					}
				}
			}
		}
	};
	ajax_requests[aid].send(null);				
	
}

function monitoraPrinter () {
	if (totalImprimir == (vtResultadosImpressao.length-1)) {
		window.print();
	} else {
		setTimeout("monitoraPrinter()",200);
	}
}
function abrePrinter() {
	if (vtResultadosImpressao.length < 1) {
		alert("Espere todos os resultados serem exibidos para depois imprimir!");
	} else {
		if (vtResultadosImpressao.length > 2) {
			if (confirm("Deseja expandir todos os detalhes para imprimir?")) {
				for (x=1;x<vtResultadosImpressao.length;x++) {
					ajaxObras(vtResultadosImpressao[x],true);
				}
				monitoraPrinter();
			} else {
				window.print();
			}
		} else {
			ajaxObras(vtResultadosImpressao[1],true);
			window.print();
		}
	}
}


function writeAjax(nmForm, nmTextField, nmHiddenField) {
	
	var currPos = ajax_autocomplete_idx.length;
	
	strContent = "<div class='ajax_autocomplete' id='ajax_autocomplete_" + currPos + "' style='display:none'></div>";
	
	document.getElementById("autoCompleteIE6").insertAdjacentHTML("beforeEnd",strContent);
	ajax_autocomplete_idx[currPos] = new Array();
	ajax_autocomplete_sel[currPos] = -1;
	ajax_autocomplete_osb[currPos] = null;
	ajax_autocomplete_txt[currPos] = document.forms[nmForm][nmTextField];
	ajax_autocomplete_hid[currPos] = document.forms[nmForm][nmHiddenField];
				
	init_new_lucajax();
	document.forms[nmForm][nmTextField].onkeyup = function(e)
	{
		if (window.event)
			key = window.event.keyCode;
		else if (e)
			key = e.which;
			
		if (key==27)
		{
			ajax_autocomplete_exit(currPos);
		}
		else if ((key==8) || (key>=32))
		{
			if (key==38)
			{
				ajax_autocomplete_up(currPos);
			}
			else if (key==40)
			{
				ajax_autocomplete_down(currPos);
			}
			else
			{
				ajax_autocomplete(currPos,nmTextField,1);
			}
		}
		else if (key==13)
		{
			ajax_autocomplete_exit(currPos);
		}
	};
	
	
	/*
	document.forms[nmForm][nmTextField].onblur = function()
	{
		setTimeout("ajax_autocomplete_exit("+currPos+");",80);
	}
	*/
	

}
