function addEvent( obj, type, fn )
{
	if (obj.addEventListener)
		obj.addEventListener( type, fn, false );
	else if (obj.attachEvent)
	{
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
	
}

function removeEvent( obj, type, fn )
{
	if (obj.removeEventListener)
		obj.removeEventListener( type, fn, false );
	else if (obj.detachEvent)
	{
		obj.detachEvent( "on"+type, obj[type+fn] );
		obj[type+fn] = null;
		obj["e"+type+fn] = null;
	}
}

function getKeyCode(ev)
{
	if(ev)			//Moz
	{
		return ev.keyCode;
	}
	if(window.event)	//IE
	{
		return window.event.keyCode;
	}
};

function getEventSource(ev)
{
	if(ev)			//Moz
	{
		return ev.target;
	}

	if(window.event)	//IE
	{
		return window.event.srcElement;
	}
};

function getEventType(ev)
{
	if(ev)			//Moz
	{
		return ev.type;
	}

	if(window.event)	//IE
	{
		return window.event.type;
	}
};

function cancelEvent(ev)
{
	if(ev)			//Moz
	{
		ev.preventDefault();
		ev.stopPropagation();
	}
	if(window.event)	//IE
	{
		window.event.returnValue = false;
	}
}

function seleciona_uf(obj)
{
	if (obj.value != 0) {
		var consulta = "consulta=SELECT idInstituicao, tblInstituicao.strNome from tblInstituicao inner join tblEstado on tblInstituicao.idEstado = tblEstado.idEstado WHERE tblInstituicao.idEstado = "+obj.value+" ORDER BY tblInstituicao.strNome";
	} else {
		var consulta = "consulta=SELECT idInstituicao, tblInstituicao.strNome from tblInstituicao left join tblEstado on tblInstituicao.idEstado = tblEstado.idEstado WHERE tblInstituicao.idEstado IS NULL ORDER BY tblInstituicao.strNome";
	}
	var indice = "&indice=idInstituicao"
	var campoValor = "&campoValor=strNome"
	var idSelecionado = "&idSelecionado="+0
	var url = consulta+indice+campoValor+idSelecionado
	carrega("../_funcoes/montaselect.asp?"+url, "slcInstituicao");
	
	//document.passo2.action = "../base/novabase.asp?principal=../cadastro/pes_fis_2.asp";
	//document.passo2.submit();
}

function seleciona_instituicao(obj)
{
	document.getElementById("nomeInstituicao").innerHTML = obj.options[obj.selectedIndex].text;
	document.getElementById("inpIdInstituicao").value = obj.value;
	/*
	indice = document.passo2.cmbInstituicao.selectedIndex;
	if (document.passo2.cmbInstituicao.value == "")
		document.passo2.hdInstSelecionada.value = "";
	else
	{				
		document.passo2.hdInstSelecionada.value = document.passo2.cmbInstituicao.options[indice].text;
	}
	spanInst.innerHTML = document.passo2.cmbInstituicao.options[indice].text;
	
	if (document.passo2.cmbInstituicao.value == "0")
	{
		document.passo2.action = "../base/novabase.asp?principal=../cadastro/pes_fis_2b.asp";
		document.passo2.submit();
	}
	*/
}

function cadastraInstituicao(div) {
	
	var nome = escape(document.getElementById('inpCadNomeInstituicao').value);
	var sigla = escape(document.getElementById('inpCadSigla').value);
	var estado = escape(document.getElementById('slcCadEstado').value);
	var pais = escape(document.getElementById('inpCadPais').value);
	
	if (nome == "" || sigla == "" || estado == "" || pais == "") alert('Favor preencher todos os campos ao cadastrar a nova instituição.');
	cadastraNovaInstituicao("../cadastro/cadastraInstituicao.asp?"+"nome="+nome+"&sigla="+sigla+"&estado="+estado+"&pais="+pais, "respostaCadastro");
}

function buscaInstituicao(obj) {

	abre('buscaInstituicao')
	var url = "nome="+obj.value;
	busca("../cadastro/buscaInstituicao.asp?"+url, "buscaInstituicao");
}

function escolheInstituicao(obj, infos) {
	var info = infos.split("|");
	document.getElementById("nomeInstituicao").innerHTML = obj.firstChild.nodeValue;
	document.getElementById("inpCadNomeInstituicao").value = obj.firstChild.nodeValue;
	document.getElementById("inpIdInstituicao").value = info[0];
	document.getElementById("inpCadSigla").value = info[1];
	document.getElementById("slcCadEstado").value = info[2];
	document.getElementById("inpCadPais").value = info[3];
	fecha('buscaInstituicao');
}

function simulateClick(obj) {
  var evt = document.createEvent("MouseEvents");
  evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
  var canceled = !obj.dispatchEvent(evt);
}

function autoComplete(e) 
{
	var TAB = 9;
	var ESC = 27;
	var KEYUP = 38;
	var KEYDN = 40;
	var ENTER = 13;

	switch(getKeyCode(e))
	{
		case TAB:
			if (getEventType(e) == 'keydown') {
				if (window.event) {
					document.getElementById('buscaInstituicao').getElementsByTagName('a')[0].fireEvent('onclick');
				}else {
					simulateClick(document.getElementById('buscaInstituicao').getElementsByTagName('a')[0]);
				}
				return false;
			}

		case ENTER:
			if (getEventType(e) == 'keydown') {
				fecha('buscaInstituicao');
				return false;
			}
		break;

		case ESC:
			if (getEventType(e) == 'keydown') {
				fecha('buscaInstituicao');
				cancelEvent(e);
				return false;
			}
		break;

		case KEYUP:
			return false;
		break;

		case KEYDN:
			return false;
		break;
		
		default:
			if (getEventType(e) == 'keyup') {
				buscaInstituicao(document.getElementById('inpCadNomeInstituicao'));
			}
	}

}

window.onload = function() {
	if (document.getElementById('inpCadNomeInstituicao')) {
		addEvent(document.getElementById('inpCadNomeInstituicao'),'keyup',autoComplete);
		addEvent(document.getElementById('inpCadNomeInstituicao'),'keydown',autoComplete);
	}
}