/****************************************************************************************************\

    ATENÇÃO, ESTES SCRIPTS SÃO USADOS EM ALGUNS SISTEMAS DO PORTAL PARA VALIDAÇÃO DE FORMULÁRIOS:
		- ESTACIONAMENTO
		- ORDEM DE COMPRA
		- MALA DIRETA
		- ORÇAMENTO
		- BUSCA DE USUÁRIOS
	AUTOR: Heraldo Carvalho Aranda 2006	
\****************************************************************************************************/
   
    // OTIMIZACAO DO COMANDO document.getElementById
   	function gE(field) {
		return document.getElementById(field)
	}
	
	function $(field) {
		return document.getElementById(field)
	}
   
   //REDIMENSIONA AS COLUNAS DO PORTAL   
   function dimensionarColunas(colunas) {
	   var maior = 0;
	   var alturaReal;
	   var i;
	   for (i = 0; i < colunas.length; i++) {
		  alturaReal = gE(colunas[i]).offsetHeight;
		  if (alturaReal > maior) maior = alturaReal;
	   }
	   for (i = 0; i < colunas.length; i++)
		  gE(colunas[i]).style.height = maior + "px";
   }
   
   //LIMPA TODOS OS CAMPOS DE UM FORMULARIO
   function limpaCampos() {
		var input = document.getElementsByTagName('input')
		var Select = document.getElementsByTagName('select')
		var textarea = document.getElementsByTagName('textarea')
			
		for(var i = 0; i < Select.length; i++)
				Select[i].selectedIndex = 0;
				
		for(var i = 0; i < textarea.length; i++)
				textarea[i].value = '';
								   
		for(var i = 0; i < input.length; i++)
		 {
			switch (input[i].type){
					case 'text': input[i].value = ''; break;
					case 'radio': input[i].checked = ''; break;
					case 'checkbox': input[i].checked = ''; break;                            
			}
		 }
	}
	
	//LIMPA TODOS OS CAMPOS DE UM FORMULARIO
   function blockFields() {
		var input = document.getElementsByTagName('input');
		var Select = document.getElementsByTagName('select');
		var textarea = document.getElementsByTagName('textarea');
			
		for(var i = 0; i < Select.length; i++)
				Select[i].disabled = true;
				
		for(var i = 0; i < textarea.length; i++)
				textarea[i].disabled = true;
								   
		for(var i = 0; i < input.length; i++)
		 {
			switch (input[i].type){
					case 'text': input[i].disabled = true; break;
					case 'radio': input[i].disabled = true; break;
					case 'checkbox': input[i].disabled = true; break;                            
			}
		 }
	}
   
   //SOMENTE LETRAS E NUMEROS
   function somente_letras_numeros(conteudo) {
		var padrao = /^[a-zA-Z0-9]+$/;
		var OK = padrao.exec(conteudo);
		if (!OK) return false;
		 else return true;
   }
   
   //RETIRA ESPAÇOS
   function retira_espacos(string) {
		var word = "";
		string = '' + string;
		splitstring = string.split(" ");
		for(i = 0; i < splitstring.length; i++) word += splitstring[i];
		return word;
	} 
	
   //RETIRA ACENTOS E CARACTERES ESPECIAIS
   function retira_acentos(obj) {  
		com_acento = 'áàãâäéèêëíìîïóòõôöúùûüçÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÖÔÚÙÛÜÇ';  
		sem_acento = 'aaaaaeeeeiiiiooooouuuucAAAAAEEEEIIIIOOOOOUUUUC';
		outros_caracteres = ":~-_{}%&@#!()<>\/.;,=º'`"+'"';
		
		retira_caracteres = '';
		palavra = obj.value;
		nova='';  
		for(i=0;i<palavra.length;i++) {  
				if (palavra.substr(i,1) != "") {
					if (com_acento.search(palavra.substr(i,1))>=0) nova+=sem_acento.substr(com_acento.search(palavra.substr(i,1)),1);  
					else if (outros_caracteres.search(palavra.substr(i,1))>=0) nova+=retira_caracteres.substr(outros_caracteres.search(palavra.substr(i,1)),1);
					else nova+=palavra.substr(i,1);
				}
		}  
		obj.value = retira_espacos(nova);
    }  
	
   //RETIRA ACENTOS E CARACTERES ESPECIAIS
   function retira_carasteres(obj) {  
		outros_caracteres = "~-_{}%&@#!()<>\/=º'`"+'"';
		retira_caracteres = '';
		palavra = obj.value;
		nova='';  
		for(i=0;i<palavra.length;i++) {  
				if (palavra.substr(i,1) != "") {
					if (outros_caracteres.search(palavra.substr(i,1))>=0) nova+=retira_caracteres.substr(outros_caracteres.search(palavra.substr(i,1)),1);
					else nova+=palavra.substr(i,1);
				}
		}  
		obj.value = nova;
    }  
	
	//MUDA PARA MAIUSCULO
	function toUpper(obj) {
		word = obj.value;
		obj.value = word.toUpperCase();
	}
	
	//MUDA PARA MINUSCULO
	function toLower(obj) {
		word = obj.value;
		obj.value = word.toLowerCase();
	}
	
	//VALIDA CPF, CALCULA ATRAVÉS DO DÍGITO VERIFICADOR 
	function VerifyCPF(obj) {
		var Soma, Resto, strCPF, cpf;
		strCPF = obj.value;
		strCPF = strCPF.replace(".","");
		strCPF = strCPF.replace(".","");
		strCPF = strCPF.replace("-","");
		Soma = 0;   
		if ((strCPF == "00000000000") || (strCPF.length > 11)) return false;
		for (i=1; i<=9; i++) Soma = Soma + parseInt(strCPF.substring(i-1, i)) * (11 - i); 
		Resto = (Soma * 10) % 11;
		if ((Resto == 10) || (Resto == 11)) Resto = 0;
		if (Resto != parseInt(strCPF.substring(9, 10)) ) return false;
		Soma = 0;
		for (i = 1; i <= 10; i++) Soma = Soma + parseInt(strCPF.substring(i-1, i)) * (12 - i);
		Resto = (Soma * 10) % 11;
		if ((Resto == 10) || (Resto == 11)) Resto = 0;
		if (Resto != parseInt(strCPF.substring(10, 11) ) ) return false;
		cpf = strCPF.substring(0,3)+"."+strCPF.substring(3,6)+"."+strCPF.substring(6,9)+"-"+strCPF.substring(9,11);
		obj.value = cpf;
		return true;
   }

	//Valida endereços de e-mail
	function VerifyEmail(obj){
		var retorno;
		var str = obj.value;
		var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
		if(filter.test(str))
			retorno = true;
		else
			retorno = false;
		return retorno;
	}
	
	//SOMENTE NÚMEROS(NADA DE <<PONTOS>>, MAIS ABAIXO TEM A FUNÇÃO ESPECÍFICA (money_only) PARA FORMATO DE MOEDA))
	function number_only(obj,e)
	 {
	 		key = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
			keychar = String.fromCharCode(key)
			if(e.preventDefault){//Firefox, Opera
				if (key != 8 && key != 9 && key != 37 && key != 39) {
				    if ((("0123456789").indexOf(keychar) > -1)) e.stopPropagation();
				      else { 
					  		e.preventDefault();
							alert ("Este campo só aceita números.");
							return false;
					  }
			    }
				
			}
			else {//IE
				if ((("0123456789").indexOf(keychar) > -1)) e.returnValue = true;
					else  {
							e.returnValue = false;
							alert ("Este campo só aceita números.");
							return false;
					}
			}
			
	 }
	 
	 //SOMENTE LETRAS
	function letter_only(obj,e)
	 {
	 		key = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
			keychar = String.fromCharCode(key)
			if(e.preventDefault){//Firefox, Opera
				if (key != 8 && key != 9 && key != 37 && key != 39) {
				    if ((("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ").indexOf(keychar) > -1)) e.stopPropagation();
				      else { 
					  		e.preventDefault();
							alert ("Este campo só aceita letras.");
							return false;
					  }
			    }
				
			}
			else {//IE
				if ((("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ").indexOf(keychar) > -1)) e.returnValue = true;
					else  {
							e.returnValue = false;
							alert ("Este campo só aceita letras.");
							return false;
					}
			}
			
	 }


	//FORMATAÇÃO PARA DATA DD/MM/AAAA
	function formata_data(obj,evento)
	{
		key = evento.keyCode
		keychar = String.fromCharCode(key)
		if ((key==null) || (key==0) || (key==8) ||(key==9) || (key==13) || (key==27))
		{
			evento.returnValue = true
		}
		else if ((("0123456789").indexOf(keychar) > -1))
			{
				if ((obj.value.length == 2)||(obj.value.length == 5))
				{
					obj.value = obj.value + "/"
				}
				
				if (obj.value.length == 6)
				{
					data = obj.value.split("/")
					if((data[0]>31)||(data[1]>12))
					{
						alert("data inválida")
						obj.value = ""
						evento.returnValue = false;
						return false
					}
				}
				evento.returnValue = true;
			}
			else
			{
				evento.returnValue = false;
			}
	 }

	//FORMATA PLACA AAA-1111
	function formata_placa(obj,evento)
		{
			key = evento.keyCode
			keychar = String.fromCharCode(key)
			if ((key==null) || (key==0) || (key==8) ||(key==9) || (key==13) || (key==27))
			{
				evento.returnValue = true
			}
					if (obj.value.length <= 1)
					 {
							if ((("0123456789").indexOf(keychar) == -1))
								 evento.returnValue = true;
							 else evento.returnValue = false;
						  
					 }
					 
					 if (obj.value.length == 2)
					 {
							if ((("0123456789").indexOf(keychar) == -1))
								 evento.returnValue = true;
							 else evento.returnValue = false;
						  
					 }
					 if (obj.value.length == 3)
					 {
							obj.value = obj.value + "-" 
							if ((("0123456789").indexOf(keychar) == -1))
								  evento.returnValue = true;
							 else evento.returnValue = false;
						  
					 }
					 
					if(obj.value.length >= 4) 
						{
						  if ((("0123456789").indexOf(keychar) > -1))
							 {
				
								 evento.returnValue = true;
							  }
						   else evento.returnValue = false;
						
						}
			}
	function verify(obj) {
		if (obj.value == "") {
			alert ("Preencha o campo "+obj.name)
			obj.focus()
			return false
		}
		return true
	
	}
    
	//FORMATAÇÃO PARA VALOR MOEDA
	function money_only(obj,e) {
		    key = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
			keychar = String.fromCharCode(key)
			if(e.preventDefault){//Firefox, Opera
				if (key != 8 && key != 9 && key != 37 && key != 39) {
				    if ((("0123456789.").indexOf(keychar) > -1)) e.stopPropagation();
				      else { 
					  		e.preventDefault();
							alert ("Este campo só aceita números. Use ponto no lugar de vírgula.");
							return false;
					  }
			    }
			}
			else {//IE
				if ((("0123456789.").indexOf(keychar) > -1)) e.returnValue = true;
					else  {
							e.returnValue = false;
							alert ("Este campo só aceita números. Use ponto no lugar de vírgula.");
							return false;
					}
			}
    }		 
	
	function criaXMLHttp() {
		if (typeof XMLHttpRequest != "undefined")
			return new XMLHttpRequest();
		else if (window.ActiveXObject){
			var versoes = ["MSXML2.XMLHttp.5.0",
			"MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0",
			"MSXML2.XMLHttp", "Microsoft.XMLHttp"
			];
		}
		for (var i = 0; i < versoes.length; i++){
			try{
				return new ActiveXObject(versoes[i]);
			}catch (e) {}
		}
		throw new Error("Seu browser nao suporta AJAX");
	}
	
//********************************** SCRIPT PARA PREENCHIMENTO AUTOMATICO NO INPUT *****************************************INICIO
	document.write(
		'<style type="text/css">'+
		'#listHolder{'+
		' position:absolute;'+
		' border:0;'+
		'}'+
		'.list{'+
		' font-family:verdana;'+
		' font-size:10px;'+
		' color:#000000;'+
		' background:#F3F3F3;'+
		' width:250px;'+				
		'}'+
		'<\/style>'
	)
	function checkList(obj,what,e)
	{
		k = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
		var T=findPosY(obj)
		var L=findPosX(obj)
		var hld=document.getElementById('listHolder')
		if(!hld){
			var hld=document.createElement('DIV')
			hld.id='listHolder'
			document.body.appendChild(hld)
		}
		hld.style.top=(T+obj.offsetHeight)
		hld.style.left=L
		hld.style.display='none'
		var txt=obj.value
		if(txt)
		{
			var str='<select class="list" onBlur=hidden() onclick="setOption(\''+obj.id+'\',this.options[this.selectedIndex].value)" onkeyup="selectt(this,event,\''+obj.id+'\')" id="selector" size="3">'
			//var str='<select class="list" onclick="setOption(\''+obj.id+'\',this.options[this.selectedIndex].value)" onkeyup="if(event.keyCode==13){setOption(\''+obj.id+'\',this.options[this.selectedIndex].value)};if(window.event.keyCode==27){document.getElementById(\'listHolder\').style.display=\'none\';document.getElementById(\''+obj.id+'\').focus()};" id="selector" size="3">'
			var match=false
			for(a=0;a<what.length;a++)
			{
				if(txt.toLowerCase()==what[a].toLowerCase().substring(0,txt.length))
				{
					match=true
					str+=('<option value="'+what[a].replace(/\'/gi,'?')+'">'+what[a]+'</option>')
				}
			}
			str+='</select>'
			if(match)
			{
				hld.innerHTML=str
				hld.style.display='block'
				var sel=document.getElementById('selector')
				
				if (k=='40') sel.focus()
				 else if (k == '13' || k == '27') document.getElementById('listHolder').style.display='none'
			}
		}
	}

	function hidden() {
		gE("listHolder").style.display="none"
	}
	
	function selectt(obj,e,vari) {
		k = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
		if (k == 13) setOption(vari,obj.options[obj.selectedIndex].value);
		if (k == 27) 
		 {
			document.getElementById("listHolder").style.display="none";
			path = "document.getElementById('nome').focus()";
			path = eval(path);
		 }
	}
	
	function setOption(obj,val){
		var obj=document.getElementById(obj)
		obj.value=val
		obj.focus()
		document.getElementById('listHolder').style.display='none'
	}

	function findPosX(obj){
		var curleft=0;
		if(obj.offsetParent){
			while(obj.offsetParent){
				curleft+=obj.offsetLeft
				obj=obj.offsetParent;
			}
		}
		else if(obj.x)
			curleft+=obj.x;
		return curleft;
	}

	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;
		return curtop;
	}

	function boxAction(val){
		alert(val)
	}
	
	function verificaCampos(field,msg) {
		path_field = "document.getElementById('"+field+"').value";
		path_field = eval(path_field);
		if (path_field == "") {
			alert(msg);
			path_field_focus = "document.getElementById('"+field+"').focus()";
		    path_field_focus = eval(path_field_focus);
			return false;
		}
		else return true;
	}
	
//FAZ BUSCA E PREENCHE AS CIDADES NO SELECT	
  function doBusca(ajax,url,state,field,city){
    //limpa o select
	url = url+"?uf="+state;
	path_field = "document.getElementById('"+field+"')";
	var c = eval(path_field);
	while(c.options.length>0)c.options[0]=null
    c.options[0]=new Option(" :: Aguarde ... :: "," :: Aguarde ... :: ")
    ajax = criaXMLHttp();
	//Monta a url com a uf
    ajax.open("GET",url,true);
    ajax.onreadystatechange=function() {
        if (ajax.readyState==4 && ajax.status == 200){
            //limpa o select
            path_field = "document.getElementById('"+field+"')";
	        var c = eval(path_field);
            while(c.options.length>0)c.options[0]=null
            //Transforma a lista de cidades JSON em Javascript
            var aCidades=eval((ajax.responseText))
            //popula o select com a lista de cidades obtida
			c.options[c.options.length]=new Option('Selecione','')
            for(var i=0;i<aCidades.length;i++){
                aCidades[i]=unescape(aCidades[i]);
                c.options[c.options.length]=new Option(aCidades[i],aCidades[i])
				if (city == aCidades[i]) {
						c.value = city;
						//c.options[i].selected = true;
				}
            }
        }
    }
//	ajax.send(null)
	ajax.send("true")
}

  //FAZ BUSCA E PREENCHE AS CIDADES NO SELECT COM URL
  function doBuscaURL(url,state,field,city){
    //limpa o select
	path_field = "document.getElementById('"+field+"')";
	var c = eval(path_field);
	while(c.options.length>0)c.options[0]=null
    c.options[0]=new Option(" -- Aguarde ... -- "," -- Aguarde ... -- ")
    xmlhttp = criaXMLHttp();
    //Monta a url com a uf
    xmlhttp.open("GET",url+"cidade.php?uf="+state,true);
    xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState==4 && xmlhttp.status == 200){
            //limpa o select
            path_field = "document.getElementById('"+field+"')";
	        var c = eval(path_field);
            while(c.options.length>0)c.options[0]=null
            //Transforma a lista de cidades JSON em Javascript
            var aCidades=eval((xmlhttp.responseText))
            //popula o select com a lista de cidades obtida
			c.options[c.options.length]=new Option('Selecione','')
            for(var i=0;i<aCidades.length;i++){
                aCidades[i]=unescape(aCidades[i]);
                c.options[c.options.length]=new Option(aCidades[i],aCidades[i])
				if (city == aCidades[i]) c.options[i].selected = true;
            }
        }
    }
//    xmlhttp.send(null)	
    xmlhttp.send("true")	
}

//FAZ BUSCA E PREENCHE AS DISCIPLINAS NO SELECT	
  function doBuscaDisc(ajax,url,curso,field){
    //limpa o select
	url = url+"?curso="+curso;
	path_field = "document.getElementById('"+field+"')";
	var c = eval(path_field);
	while(c.options.length>0)c.options[0]=null
    c.options[0]=new Option(" :: Aguarde ... :: "," :: Aguarde ... :: ")
    ajax = criaXMLHttp();
	//Monta a url com a uf
    ajax.open("GET",url,true);
    ajax.onreadystatechange=function() {
        if (ajax.readyState==4 && ajax.status == 200){
            //limpa o select
            path_field = "document.getElementById('"+field+"')";
	        var c = eval(path_field);
            while(c.options.length>0)c.options[0]=null;
            //Transforma a lista de cidades JSON em Javascript
            var aDisc=eval((ajax.responseText));
            //popula o select com a lista de cidades obtida
			c.options[c.options.length]=new Option('Selecione','');
            for(var i=0;i<aDisc.length;i++){
                vetDisc = aDisc[i].split("@");
				c.options[c.options.length]=new Option(vetDisc[1],vetDisc[0]);
				//if (city == aDisc[i]) {
						//c.value = city;
						//c.options[i].selected = true;
				//}
            }
        }
    }
	ajax.send("true")
}

//FAZ BUSCA E PREENCHE AS SALAS DE AULAS NO SELECT	
  function doBuscaSalas(ajax,url,predio,field){
    //limpa o select
	url = url+"?predio="+predio;
	path_field = "document.getElementById('"+field+"')";
	var c = eval(path_field);
	while(c.options.length>0)c.options[0]=null
    c.options[0]=new Option(" :: Aguarde ... :: "," :: Aguarde ... :: ")
    ajax = criaXMLHttp();
	//Monta a url com a uf
    ajax.open("GET",url,true);
    ajax.onreadystatechange=function() {
        if (ajax.readyState==4 && ajax.status == 200){
            //limpa o select
            path_field = "document.getElementById('"+field+"')";
	        var c = eval(path_field);
            while(c.options.length>0)c.options[0]=null;
            //Transforma a lista de cidades JSON em Javascript
            var aDisc=eval((ajax.responseText));
            //popula o select com a lista de cidades obtida
			c.options[c.options.length]=new Option('Selecione','');
            for(var i=0;i<aDisc.length;i++){
                vetDisc = aDisc[i].split("@");
				c.options[c.options.length]=new Option(vetDisc[1],vetDisc[0]);
            }
        }
    }
	ajax.send("true")
}




//********************************** SCRIPT PARA PREENCHIMENTO AUTOMATICO NO INPUT *****************************************FIM

function number_format( number, decimals, dec_point, thousands_sep ) {
    // %        nota 1: Para 1000.55 retorna com precisão 1 no FF/Opera é 1,000.5, mas no IE é 1,000.6
    // *     exemplo 1: number_format(1234.56);
    // *     retorno 1: '1,235'
    // *     exemplo 2: number_format(1234.56, 2, ',', ' ');
    // *     retorno 2: '1 234,56'
    // *     exemplo 3: number_format(1234.5678, 2, '.', '');
    // *     retorno 3: '1234.57'
    // *     exemplo 4: number_format(67, 2, ',', '.');
    // *     retorno 4: '67,00'
    // *     exemplo 5: number_format(1000);
    // *     retorno 5: '1,000'
    // *     exemplo 6: number_format(67.311, 2);
    // *     retorno 6: '67.31'
 
    var n = number, prec = decimals;
    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep == "undefined") ? ',' : thousands_sep;
    var dec = (typeof dec_point == "undefined") ? '.' : dec_point;
 
    var s = (prec > 0) ? n.toFixed(prec) : Math.round(n).toFixed(prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
 
    var abs = Math.abs(n).toFixed(prec);
    var _, i;
 
    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;
 
        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
 
        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }
 
    return s;
}

// Flopes AutoCompletar - inicio
document.write(
	'<style type="text/css">'+
	'#AutoCompletar_listHolder{'+
	' position:absolute;'+
	' border:0;'+
	'}'+
	'.AutoCompletar_list{'+
	' font-family:verdana;'+
	' font-size:10px;'+
	' color:#000000;'+
	' background:#FFFFFF;'+
	' width:250px;'+				
	'}'+
	'<\/style>'
)
function AutoCompletar(obj,what,e) {
	k = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
	var T=AutoCompletar_findPosY(obj)
	var L=AutoCompletar_findPosX(obj)
	var hld=document.getElementById('AutoCompletar_listHolder')
	if(!hld) {
		var hld=document.createElement('DIV')
		hld.id='AutoCompletar_listHolder'
		document.body.appendChild(hld)
	}
	hld.style.top=(T+obj.offsetHeight)+'px';
	hld.style.left=L+'px';
	hld.style.display='none'
	var txt=obj.value
	if(txt) {
		var str='<select class="AutoCompletar_list" onBlur=AutoCompletar_hidden() onclick="AutoCompletar_setOption(\''+obj.id+'\',this.options[this.selectedIndex].value)" onkeyup="AutoCompletar_selectt(this,event,\''+obj.id+'\')" id="selector" size="8">'
		var match=false
		for(a=0;a<what.length;a++) {
			if(txt.toLowerCase()==what[a].toLowerCase().substring(0,txt.length)) {
				match=true
				str+=('<option onmouseover="this.style.backgroundColor=\'#CCFFFF\'" onmouseout="this.style.backgroundColor=\'#FFFFCC\'" value="'+what[a].replace(/\'/gi,'?')+'">'+what[a]+'</option>')
			}
		}
		str+='</select>'
		if(match) {
			hld.innerHTML=str
			hld.style.display='block'
			var sel=document.getElementById('selector')
			if (k=='40') {
				sel.focus()
			}
			else if (k == '13' || k == '27') {
				document.getElementById('AutoCompletar_listHolder').style.display='none'
			}
		}
	}
}

function AutoCompletar_hidden() {
	gE("AutoCompletar_listHolder").style.display="none"
}
	
function AutoCompletar_selectt(obj,e,vari) {
	k = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
	if (k == 13){
		if (obj.selectedIndex < 0)
			obj.selectedIndex = 0;
		AutoCompletar_setOption(vari,obj.options[obj.selectedIndex].value);
	}
	if (k == 27) {
		document.getElementById("AutoCompletar_listHolder").style.display="none";
		//path = "document.getElementById('nome').focus()";
		//path = eval(path);
	}
}
	
function AutoCompletar_setOption(obj,val) {
	var obj=document.getElementById(obj)
	obj.value=val
	obj.focus()
	document.getElementById('AutoCompletar_listHolder').style.display='none'
}

function AutoCompletar_findPosX(obj) {
	var curleft=0;
	if(obj.offsetParent){
		while(obj.offsetParent){
			curleft+=obj.offsetLeft
			obj=obj.offsetParent;
		}
	}
	else if(obj.x)
		curleft+=obj.x;
	return curleft;
}

function AutoCompletar_findPosY(obj) {
	var curtop=0;
	if(obj.offsetParent){
		while(obj.offsetParent){
			curtop+=obj.offsetTop
			obj=obj.offsetParent;
		}
	}
	else if(obj.y)
		curtop+=obj.y;
	return curtop;
}
// Flopes AutoCompletar - fim

function in_array (needle, haystack, argStrict) {
    if (strict) {
        for (key in haystack) {
            if (haystack[key] === needle) {
                return true;
            }
        }
    } else {
        for (key in haystack) {
            if (haystack[key] == needle) {
                return true;
            }
        }
    } 
    return false;
}

