function SomenteNumerico(e)
{
	if (!e)
		var e = window.event;
	if (e.keyCode) 
		tecla = e.keyCode;
	else
		if (e.which) 
			tecla = e.which;
	
	if ((tecla > 8 && tecla < 58) || tecla == 8 || tecla == 9 || tecla == 13 ||  tecla == 35 || tecla == 36 || tecla == 37 || tecla == 39 || tecla == 46) 
		return true;
	else
		return false;
}

function SomenteLetra(e)
{
	if (!e)
		var codigocaracter = window.event;
	if (e.keyCode) 
		codigocaracter = e.keyCode;
	else
		if (e.which) 
			codigocaracter = e.which;
   	
			
			
       var caracterpermitido = "'abcçdefhgijklmnopqrstuvxywzABCÇDEFGHIJKLMNOPQRSTUVXYWZáâãéêóôõúüÁÂÃÉÊÓÔÕÜÚ ";
       chave = String.fromCharCode(codigocaracter);

	if (codigocaracter == 8 || codigocaracter == 9 || codigocaracter == 13 || codigocaracter == 35 || codigocaracter == 36 || codigocaracter == 37 || codigocaracter == 39 || codigocaracter == 46  || !codigocaracter) return true;

	if (caracterpermitido.indexOf(chave) == -1) {
           return false;
   	}

	return true;
}

function SoNumero(nro)
{
 var valid    = "0123456789";
 var numerook = "";
 var temp;

  for (var i=0; i< nro.length; i++) {
    temp = nro.substr(i, 1);
    if (valid.indexOf(temp) != "-1") 
      numerook = numerook + temp;
   } 
 return(numerook);
}

function DigitaLetra(obj)
{
 var valid    = "abcdefghijklmnopqrstuvwxyz???ABCDEFGHIJKLMNOPQRSTUVWXYZ???";
 var numerook = "";
 var temp;

  for (var i=0; i< obj.value.length; i++) {
    temp = obj.value.substr(i, 1);
    if (valid.indexOf(temp) != "-1") 
      numerook = numerook + temp;
   } 
 obj.value = numerook;
}

function DigitaNumero(obj)
{
 var valid    = "1234567890";
 var numerook = "";
 var temp;

  for (var i=0; i< obj.value.length; i++) {
    temp = obj.value.substr(i, 1);
    if (valid.indexOf(temp) != "-1") 
      numerook = numerook + temp;
   } 
 obj.value = numerook;
}

function TamanhoMax(campo, TamanhoMaximo)
{
	if (campo.value.length > TamanhoMaximo)
	{
	  campo.value = campo.value.substring(0,TamanhoMaximo);
    }
	
}

function desviaPagina(endereco){
	window.location = endereco;
}

function AtualizaAjax(url, parametros, destino)
{
	var url = url;
	var pars = parametros;
	
	var myAjax = new Ajax.Updater(
		destino, 
		url, 
		{
			method: 'get', 
			parameters: pars
		});
}

//chama Layer de busca de localidades
//idCod 	= id do elemento que vai receber o codigo da localidade
//idDesc	= id do elemento que vai receber a descrição da localidade
//idLocal 	= id do elemento onde irá aparecer a busca 
//metodo	= metodo da classe ajaxAction que irá receber a requisição
//parametro = lista de parametros que o metodo irá receber
function Localidade(idCod, idDesc, idLocal, metodo, parametro)
{
	document.getElementById(idLocal).innerHTML = "";
			
	if (metodo == "") {
		metodo = "obterLocalidadePorNome";	
	}

	param = parametro.toString().replace(/&/g, "@@");
	param = param.replace(/=/g, "**");		
		
	var url = 'Main.php?do=ajax&action=editLocalidade';
 		var pars = 'idCod=' + idCod + '&idDesc=' + idDesc + '&idLocal=' + idLocal + '&metodo=' + metodo + '&parametro=' + param;
	var destino = idLocal;
	
	
	AtualizaAjax(url, pars, destino);
	
	document.getElementById(idLocal).style.display = 'block';	
}

//resultados da busca de localidade
//nome parametro da busca
function obterLocalidade(idCod, idDesc, idLocal, nome, metodo, parametro)
{
	
	
	parametro = parametro.toString().replace(/@@/g, "&");
	parametro = parametro.toString().replace(/\*\*/g, "=");	
	
	
	if (nome.length > 2) {		
			
		var url = 'Main.php?do=ajax&action=' + metodo;
 			var pars = 'idCod=' + idCod + '&idDesc=' + idDesc + '&nome=' + nome + '&idLocal=' + idLocal + parametro;
		var destino = 'resultadosLocalidade';

		AtualizaAjax(url, pars, destino);
	}
}
	
function mostraValorLocalidade(idDesc, val)
{
	document.getElementById(idDesc).value = val;
}

//coloca o codigo da localidade em um hidden;
function preencheCodLocalidade(idCod, cod)
{
	document.getElementById(idCod).value = cod;
}

function fecharLocalidade(idLocal)
{
	document.getElementById(idLocal).style.display = "none";
}

// Adicionado por Manny

String.prototype.trim = function()
{
	return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

function somenteLetras(texto)
{
	var soLetras = /^[A-Za-zçáéíóúâãàêõôúüÇÁÂÃÀÉÊÍÓÔÕÚÜ ]{1,999}$/;
	return soLetras.test(texto.trim());
}

function somenteletrasCarEspeciais(texto)
{
	var soLetrasCarEspeciais = /^[A-Za-zçáéíóúâãàêõôúüÇÁÂÃÀÉÊÍÓÔÕÚÜ_'&%$@:!?\/\+=\-\.\,\(\)\d ]{1,999}$/;
	return soLetrasCarEspeciais.test(texto.trim());
}

function somenteAlfaNumericos(texto)
{
	var soAlfaNumericos = /^[A-Za-zçáéíóúâãàêõôúüÇÁÂÃÀÉÊÍÓÔÕÚÜ'\d ]{1,999}$/;
	return soAlfaNumericos.test(texto.trim());
}

function somenteDigitos(texto)
{
	var soDigitos = /^\d+$/;
	return soDigitos.test(texto.trim());
}

function destacarCampo(campo)
{
	campo.style.backgroundColor = "#FFFFCC";
}

function normalizarCampo(campo)
{
	campo.style.backgroundColor = "#FFFFFF";
}

function validarCampoTexto(campo)
{
	if(somenteLetras(campo.value))
	{
		normalizarCampo(campo);
		return true;
	}
	else
	{
		destacarCampo(campo);
		return false;
	}
}

function validarCampoNumerico(campo)
{
	if(somenteDigitos(campo.value))
	{
		normalizarCampo(campo);
		return true;
	}
	else
	{
		destacarCampo(campo);
		return false;
	}
}

function validarTextArea(campo)
{
	if(campo.value.length > 0)
	{
		normalizarCampo(campo);
		return true;
	}
	else
	{
		destacarCampo(campo);
		return false;
	}
}

function validarCombo(campo)
{
	if(campo.value.trim())
	{
		normalizarCampo(campo);
		return true;
	}
	else
	{
		destacarCampo(campo);
		return false;
	}
}

function validarCampoEspecial(campo)
{
	if(somenteletrasCarEspeciais(campo.value))
	{
		normalizarCampo(campo);
		return true;
	}
	else
	{
		destacarCampo(campo);
		return false;
	}
}

function validarCampoEmail(campo)
{
	var emailValido = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	
	if(emailValido.test(campo.value.trim()))
	{
		normalizarCampo(campo);
		return true;
	}
	else
	{
		destacarCampo(campo);
		return false;
	}
}

function validarCampoSite(campo)
{
	var siteValido = /^[a-zA-Z&#%$@?\+=\.\d\/\: ]{1,999}$/;
	
	if(siteValido.test(campo.value.trim()))
	{
		normalizarCampo(campo);
		return true;
	}
	else
	{
		destacarCampo(campo);
		return false;
	}
}

function validarCampoAlfaNumerico(campo)
{
	if(somenteAlfaNumericos(campo.value.trim()))
	{
		normalizarCampo(campo);
		return true;
	}
	else
	{
		destacarCampo(campo);
		return false;
	}
}

function validarCampoData(campo)
{
	if(ValidaData(campo))
	{
		normalizarCampo(campo);
		return true;
	}
	else
	{
		destacarCampo(campo);
		return false;
	}
}

function verificarCampoPreenchido(campo, tamanho)
{
	if(campo.value.trim().length >= tamanho)
	{
		normalizarCampo(campo);
		return true;
	}
	else
	{
		destacarCampo(campo);
		return false;
	}
}

function limitarNumeroCaracteres(campoPrincipal, numeroMaximoCaracteres, campoContador)
{
	var numeroCaracteres = campoPrincipal.value.length;
	
	if(numeroCaracteres > numeroMaximoCaracteres)
	{
		campoPrincipal.value = campoPrincipal.value.substring(0, numeroMaximoCaracteres);
	}
	else if(campoContador != null)
	{
		campoContador.value = numeroMaximoCaracteres - numeroCaracteres;
	}
}

function alterarVisibilidadeElemento(nomeElemento, visibilidade)
{
	var objetoDiv = document.getElementById(nomeElemento);
	
	if(objetoDiv)
	{
		objetoDiv.style.display = visibilidade;
	}
}
