
var diasMes = new Array(12);
diasMes[1] = 31;
diasMes[2] = 29;
diasMes[3] = 31;
diasMes[4] = 30;
diasMes[5] = 31;
diasMes[6] = 30;
diasMes[7] = 31;
diasMes[8] = 31;
diasMes[9] = 30;
diasMes[10] = 31;
diasMes[11] = 30;
diasMes[12] = 31;

function diasFevereiro (ano) {  
    return ( ((ano % 4 == 0) && ( (!(ano % 100 == 0)) || (ano % 400 == 0) ) ) ? 29 : 28 );
}

function dataValida(data) {
  var i;  
  if ((barra1 = data.indexOf('/')) < 1) return false;
  if ((barra2 = data.substring(barra1+1, data.length).indexOf('/')) < 1) return false;
  if (barra2+barra1+1 != data.lastIndexOf('/')) return false;
  dia = data.substring(0,barra1);
  mes = data.substring(barra1+1, barra2+barra1+1);
  ano = data.substring(barra2+barra1+2, data.length);
  var data = dia + mes + ano;
  for (i = 0; i < data.length; i++) {   
        var ch = data.charAt(i);
        if ((ch < "0" || ch > "9")) return false;
  }
  if ((mes == 2) && (dia > diasFevereiro(ano))) return false;
  if ((dia>diasMes[parseFloat(mes)]) || (dia<1) || (mes<1) || (mes>12) || (ano<1900) || (ano>2078)) return false;
  return true;
}

function digitaData(Campo,teclapres) {
	var tecla = teclapres.keyCode;
	vr = Campo.value;
	vr = vr.replace( ".", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	tam = vr.length + 1;

	if ( tecla != 9 && tecla != 8 ){
		if ( tam > 2 && tam < 5 )
			Campo.value = vr.substr( 0, tam - 2  ) + '/' + vr.substr( tam - 2, tam );
		if ( tam >= 5 && tam <= 10 )
			Campo.value = vr.substr( 0, 2 ) + '/' + vr.substr( 2, 2 ) + '/' + vr.substr( 4, 4 ); }
}

/* 	  #############################################################################
DECLARAÇÃO DE FUNÇÕES GLOBAIS PARA VALIDAÇÃO DE CONTEÚDO E FORMULÁRIOS
############################################### */
var diasMes = new Array(12);
diasMes[1] = 31;
diasMes[2] = 29;
diasMes[3] = 31;
diasMes[4] = 30;
diasMes[5] = 31;
diasMes[6] = 30;
diasMes[7] = 31;
diasMes[8] = 31;
diasMes[9] = 30;
diasMes[10] = 31;
diasMes[11] = 30;
diasMes[12] = 31;


function limpa_string(S){
	// Deixa so' os digitos no numero
	var Digitos = "0123456789";
	var temp = "";
	var digito = "";
   	for (var i=0; i<S.length; i++){
      digito = S.charAt(i);
      if (Digitos.indexOf(digito)>=0){temp=temp+digito}
   	}
   return temp
}

function valida_CPF(s)
{
	var i;
	s = limpa_string(s);
	var c = s.substr(0,9);
	var dv = s.substr(9,2);
	var d1 = 0;
	for (i = 0; i < 9; i++)
	{
		d1 += c.charAt(i)*(10-i);
	}
        if (d1 == 0) return false;
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(0) != d1)
	{
		return false;
	}

	d1 *= 2;
	for (i = 0; i < 9; i++)
	{
		d1 += c.charAt(i)*(11-i);
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(1) != d1)
	{
		return false;
	}
   
   return true;
}

function valida_CGC(s)
{
	var i;
	s = limpa_string(s);
	var c = s.substr(0,12);
	var dv = s.substr(12,2);
	var d1 = 0;
	for (i = 0; i < 12; i++)
	{
		d1 += c.charAt(11-i)*(2+(i % 8));
	}
        if (d1 == 0) return false;
        d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(0) != d1)
	{
		return false;
	}

	d1 *= 2;
	for (i = 0; i < 12; i++)
	{
		d1 += c.charAt(11-i)*(2+((i+1) % 8));
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(1) != d1)
	{
		return false;
	}
        return true;
}

function BloqueiaNumeros()
{
  var tecla = window.event.keyCode;
  tecla     = String.fromCharCode(tecla);
  if ((tecla >= "0") && (tecla <= "9"))
  {
	window.event.keyCode = 0;
  }
}	
function testaCheckRadio(obj){
   for(i=0;i< obj.length ;i++)
      if (obj[i].checked) return true;

   return false;
}

function isnumer(numero){
//Função para verificar se o um valor digitado é número ou não
	var i;
	var letra = 0; //integer para verificar quantas letras achou
	for (i = 0; i < numero.length; i++) {   
	        var ch = numero.charAt(i);
	        if ((ch < "0" || ch > "9")) {
				letra = letra + 1;
	        }
		}
		if (letra == 0 ) {
			return(true);
		}else {
			return(false);
		}
}

function isvalid(campo){
//Função para verificar se o um valor digitado é número ou não
	proibidos = "/\!@#$%¨&*()=+'|][{}";

	for (i=0; i<proibidos.length; i++) {  
	    if ( campo.indexOf( proibidos.charAt(i) ) != -1) return false;
    }
	return true;
}


function isnumer_alert(elemento, texto){
//Função para verificar se o um valor digitado é número ou não e manda alert
	var numero = elemento.value
	var i;
	var letra = 0; //integer para verificar quantas letras achou
	for (i = 0; i < numero.length; i++) {   
	        var ch = numero.charAt(i);
	        if ((ch < "0" || ch > "9")) {
				letra = letra + 1;
	        }
		}
		if (letra == 0 ) {
			return(true);
		}else {
			alert("Informe "+ texto);
			elemento.focus();
			return(false);
		}
}

function diasFevereiro (ano) {  
    return ( ((ano % 4 == 0) && ( (!(ano % 100 == 0)) || (ano % 400 == 0) ) ) ? 29 : 28 );
}

function dataValida(data) {
  var i;  
  if ((barra1 = data.indexOf('/')) < 1) return false;
  if ((barra2 = data.substring(barra1+1, data.length).indexOf('/')) < 1) return false;
  if (barra2+barra1+1 != data.lastIndexOf('/')) return false;
  dia = data.substring(0,barra1);
  mes = data.substring(barra1+1, barra2+barra1+1);
  ano = data.substring(barra2+barra1+2, data.length);
  var data = dia + mes + ano;
  for (i = 0; i < data.length; i++) {   
        var ch = data.charAt(i);
        if ((ch < "0" || ch > "9")) return false;
  }
  if ((mes == 2) && (dia > diasFevereiro(ano))) return false;
  if ((dia>diasMes[parseFloat(mes)]) || (dia<1) || (mes<1) || (mes>12) || (ano<1900) || (ano>2078)) return false;
  return true;
}

function comparadata(data1,data2){
		
		var Ano1 = data1.substring(6);
		var Ano2 = data2.substring(6);
		
		var Mes1 = data1.substring(3,5);
		var Mes2 = data2.substring(3,5);
		
		var Dia1 = data1.substring(0,2);
		var Dia2 = data2.substring(0,2);
		
		if(Ano2<Ano1){
			alert('A DATA FINAL deve ser MAIOR que a DATA INICIAL!!');
			return false;
		}else{
			if(Ano2==Ano1){
				if(Mes2<Mes1){
					alert('A DATA FINAL deve ser MAIOR que a DATA INICIAL!!');
				return false;
				}else{
					if(Mes2==Mes1){
						if(Dia2<Dia1){
							alert('A DATA FINAL deve ser MAIOR que a DATA INICIAL!!');
							return false;
						}
					}
				}
			}
		}
	return true	
}

function testaVazio(elemento, texto) {
// Função principal para verificação de campos em formulários
  str = (elemento.value);
  if ((str=="") || (str.length==0) || (str=="Null")) {
	alert("Informe "+ texto);
	elemento.focus();
	return false;
  }
  return true;
}

function testaEmail(txtInput) {
// Função para verificar se email possui caracteres válidos
	var email = txtInput.value;
	var proibido
	var checkMail
	
	//define os proibicoes
	proibido = " +)(*&%$#,!+;='\/`[]~?<>áéíóúýàèìòùäëïöüÿçãõâêîôû£¢¬§³²¹´"
	
	//testa se é vazio
	if (email == "") {
		alert("Informe um e-mail.");
		txtInput.focus();
		return false;
	} else {
  		if ((email.indexOf('@') == email.lastIndexOf('@')) &&	// só tem um @
  			(email.indexOf('@') > 0) &&			// existe @ e não é prim
  			(email.charAt(email.length-1) != '@') &&		// @ não é o último
  			(email.lastIndexOf('.') > email.indexOf('@')) &&	// existe . após @
  			(email.charAt(email.indexOf('@') + 1) != '.') &&	// sem . logo após @
  			(email.charAt(email.indexOf('@') - 1) != '.') &&	// sem . logo antes @
  			(email.indexOf('.') > 0) &&			// existe . e não é prim
			(email.charAt(email.length-1) != '.')) {		// . não é o último
				
			// verifica se não há pontos seguidos
			sub = email.substring(email.indexOf('.')+1, email.length);
			while (sub.indexOf('.') != -1) {
				if (sub.charAt(0) == '.') {
					alert("Formato de e-mail incorreto!");
					txtInput.focus();
					return false;
				} else {
					sub = sub.substring(sub.indexOf('.')+1, sub.length);
				}
			}
			//return true;

			for(c=0;c<email.length;c++){
				for (j=0; j<proibido.length;j++){
					if (proibido.charAt(j)==email.charAt(c)){
						alert ("Caracteres inválidos no e-mail");
						checkMail = false;
						return false;
					}
				}
			}
			if (checkMail==false) {
				return false
			} else {
				return true
			}

		} else {
			alert("Formato de e-mail incorreto!");
			txtInput.focus();
			return false;
		}
	}
}

function testaCampo(txtInput, nomeCampo) {
// Função para verificar se campos possuem caracteres inválidos
	var campo = txtInput.value;
	var proibido

	proibido = " +)(*&%$#,!+;='\/`[]~?<>áéíóúýàèìòùäëïöüÿçãõâêîôû£¢¬§³²¹´"
	for(c=0;c<campo.length;c++){
		for (j=0; j<proibido.length;j++){
			if (proibido.charAt(j) == campo.charAt(c)){
				alert ("Caracteres inválidos no campo " + nomeCampo);
				txtInput.focus();
				return false;
			}
		}
	}
	return true;
}

function testaCampovalido(txtInput, nomeCampo) {
// Função para verificar se campos possuem caracteres inválidos
	var campo = txtInput.value;
	var proibido = "/\!@#$%¨&*()=+'|][{}\\";

	proibido 
	for(c=0;c<campo.length;c++){
		for (j=0; j<proibido.length;j++){
			if (proibido.charAt(j) == campo.charAt(c)){
				alert ("Caracteres inválidos no campo " + nomeCampo);
				txtInput.focus();
				return false;
			}
		}
	}
	return true;
}



function mostralayer(identificador){
	identificador.style.visibility = 'visible';
}

function ocultalayer(identificador){
	identificador.style.visibility = 'hidden';
}

function valida_arquivo(arquivo, extencao){
	//valida as extenções permitidas num campo
	if (!(arquivo.length  == 0)) {
	var vetor = arquivo.split('.');
		if (vetor.length > 0) {
			//Transforma as extenções possíveis em um vetor
			var vt_possivel = extencao.split(',');
			//transforma o arquivo em vetor para poder pegar a parte final
			
			var conta = 0;
		
			for (var i=0; i < vt_possivel.length; i++) {
				if (vt_possivel[i] == vetor[vetor.length-1]) {
				conta++;
				}
			}
			
			if (conta == 0)	{
				alert('Informe um tipo de arquivo válido (' + extencao + ')');
				return false;
			} else {
				return true;
			}
		}else{
			
			alert('Informe um tipo de arquivo válido (' + extencao + ')');
			return false;
		}
	 }
}

function validaUpFile(arquivo){

 if ((arquivo.length > 0))
    return (! (((arquivo.indexOf(":") == -1) ||(arquivo.indexOf("\\") == -1)) && (arquivo.indexOf(".") == -1)) )  

  return true;
}

function valida_arquivoSM(arquivo, extencao){
	//valida as extenções permitidas num campo
	if (!(arquivo.length  == 0)) {
	var vetor = arquivo.split('.');
		if (vetor.length > 0) {
			//Transforma as extenções possíveis em um vetor
			var vt_possivel = extencao.split(',');
			//transforma o arquivo em vetor para poder pegar a parte final
			var conta = 0;
		
			for (var i=0; i < vt_possivel.length; i++) {
				if (vt_possivel[i] == vetor[vetor.length-1]) {
				conta++;
				}
			}
			
			if (conta == 0)	{
				return false;
			} else {
				return true;
			}
		}
	 }
   return false;
}


/*
###############################################
DECLARAÇÃO DE FUNÇÕES ESPECÍFICAS DO SITE
############################################### 
*/

function ValidadeFornecedor(frm){

		if (!testaVazio(frm.nome_fornecedor, 'o Fornecedor.')) return false;
		if (!testaVazio(frm.contato, 'o Contato.')) return false;
		if (!testaVazio(frm.endereco, 'o Endereço.')) return false;
        if (frm.pais.selectedIndex <= 0 ){
			alert("É necessário selecionar o país");
			frm.pais.focus();
			return false;
       } 
//        if (frm.cidade.selectedIndex <= 0 ){
//			alert("É necessário selecionar a Cidade");
//			frm.cidade.focus();
//			return false;
 //      } 
		if(!testaVazio(frm.fone, 'o Telefone.')) return false;
		if(!testaVazio(frm.markup, 'o Markup.')) return false;
//		if (!testaEmail(frm.email)) return false;
		return true;
}
function validaLocadora(frm){

		if (!testaVazio(frm.locadora, 'a Locadora.')) return false;
		 
		return true;
}
function validaGrupoCarro(frm){

		if (!testaVazio(frm.sigla_grupo_carro, 'a sigla do grupo.')) return false;
		 if (!testaVazio(frm.grupo_carro, 'o Grupo.')) return false;
		return true;
}

function validaCarro(frm){

		if (!testaVazio(frm.carro, 'o Veículo.')) return false;
		// if (!testaVazio(frm.desc_carro, 'a Descrição.')) return false;
		 if (!testaVazio(frm.capacidade_pessoas, 'o número de pessoas.')) return false;
		  if (!testaVazio(frm.capacidade_bagagem, 'o número de bagagens.')) return false;
		return true;
}


function validacategoria(frm){
		if (!testaVazio(frm.categoria_hosp, 'a Categoria Hotel.')) return false;
		return true;
}

function validacategoriaap(frm){
		if (!testaVazio(frm.categ_apto, 'a Categoria Apartamento.')) return false;
		return true;
}

function validacategoriaserv(frm){
		if (!testaVazio(frm.categoria, 'a Categoria .')) return false;
		return true;
}


function digitaNumeroPessoas()
{
	var capacidade_pessoas = window.event.keyCode;
	event.cancelBubble = true;
	if((capacidade_pessoas > 47 && capacidade_pessoas < 58))
		event.returnValue = true;
	else
		event.returnValue = false;
}
function digitaNumeroBagagem()
{
	var capacidade_bagagem = window.event.keyCode;
	event.cancelBubble = true;
	if((capacidade_bagagem > 47 && capacidade_bagagem < 58))
		event.returnValue = true;
	else
		event.returnValue = false;
}



/**
#######################################
*  Função do cadastro de Fornecedores
*  campo: markup / form_fornecedor.asp
* Serve para aceitar apenas números
#######################################
*/


/****** mascara */


function apenasnumericos(caracter) {

 if(document.all) { // Internet Explorer
  var tecla = event.keyCode;
 }
 else {
  if(document.layers) { // Nestcape
   var tecla = caracter.which;
  }
 }
 if(tecla > 45 && tecla < 58 ) { // numeros de 0 a 9
  return true;
 }
 else {
  if (tecla != 8) { // backspace
   return false;
  }
  else {
   return true;
  }
 }
}
//formato cnpj
function pcFormataCNPJ(vloCampo) {
    var vlsTecla2 = event.keyCode;
    var vlsTecla1 = event.which;
    vlsTecla1 = event.keyCode;

    if ((vlsTecla1 >= 48 && vlsTecla1 <= 57) || (vlsTecla1 >= 96 && vlsTecla1 <= 105)) {
        var vlsStr = "";
        var vlsAux = "";
        var s = "";

        for (x = 0; x <= vloCampo.value.length; x++) {
            if ((vloCampo.value.substring(x, x + 1) != '.') && (vloCampo.value.substring(x, x + 1) != '/') && (vloCampo.value.substring(x, x + 1) != '-'))
                vlsStr += vloCampo.value.substring(x, x + 1);
        }

        s = vlsStr.substring(0, 2);
        vlsAux = s;
        if (s.length >= 2)
            vlsAux += ".";

        s = vlsStr.substring(2, 5);
        vlsAux += s;
        if (s.length >= 3)
            vlsAux += ".";

        s = vlsStr.substring(5, 8);
        vlsAux += s;
        if (s.length >= 3)
            vlsAux += "/";

        s = vlsStr.substring(8, 12);
        vlsAux += s;
        if (s.length >= 4)
            vlsAux += "-";

        vlsAux += vlsStr.substring(12, 14);

        vloCampo.value = vlsAux;
        if (vlsAux.length == 18) {
            try {
                for (x = 0; x <= document.forms[0].length - 1; x++) {
                    if (document.forms[0].elements[x].name == vloCampo.name) {
                        document.forms[0].elements[x + 1].focus();
                        break;
                    }
                }
            }
            catch (e) {
                return true;
            }
        }
    }
}

//---telefone
function txtBoxFormat(objForm, strField, sMask, evtKeyPress) {
var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

if(document.all) { // Internet Explorer
nTecla = evtKeyPress.keyCode; }
else if(document.layers) { // Nestcape
nTecla = evtKeyPress.which;
}

sValue = objForm[strField].value;

// Limpa todos os caracteres de formatação que
// já estiverem no campo.
sValue = sValue.toString().replace( "-", "" );
sValue = sValue.toString().replace( "-", "" );
sValue = sValue.toString().replace( ".", "" );
sValue = sValue.toString().replace( ".", "" );
sValue = sValue.toString().replace( "/", "" );
sValue = sValue.toString().replace( "/", "" );
sValue = sValue.toString().replace( "(", "" );
sValue = sValue.toString().replace( "(", "" );
sValue = sValue.toString().replace( ")", "" );
sValue = sValue.toString().replace( ")", "" );
sValue = sValue.toString().replace( " ", "" );
sValue = sValue.toString().replace( " ", "" );
fldLen = sValue.length;
mskLen = sMask.length;

i = 0;
nCount = 0;
sCod = "";
mskLen = fldLen;

while (i <= mskLen) {
bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

if (bolMask) {
sCod += sMask.charAt(i);
mskLen++; }
else {
sCod += sValue.charAt(nCount);
nCount++;
}

i++;
}

objForm[strField].value = sCod;

if (nTecla != 8) { // backspace
if (sMask.charAt(i-1) == "9") { // apenas números...
return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
else { // qualquer caracter...
return true;
} }
else {
return true;
}
}


/*******/

function digitaNumeroMarkup()
{
	var markup = window.event.keyCode;
	event.cancelBubble = true;
	if((markup > 47 && markup < 58))
		event.returnValue = true;
	else
		event.returnValue = false;
}
function validapromocao(frm){

		if (!testaVazio(frm.titulo, 'o Título.')) return false;
		if (!testaVazio(frm.subtitulo, 'o Subtítulo.')) return false;
		if (!testaVazio(frm.inicio, 'o Início.')) return false;
		if (!dataValida(frm.inicio.value)) {
			alert('Data Inicial inválida!');
			frm.inicio.focus();
			return (false);
	    }
		if (!testaVazio(frm.fim, 'o Fim.')) return false;
		if (!dataValida(frm.fim.value)) {
			alert('Data Final inválida!');
			frm.fim.focus();
			return (false);
		}
		return true;
}

function validacontinente(frm){
		if (!testaVazio(frm.continente, 'o Continente.')) return false;
		return true;
}

function validapais(frm){
        if (frm.Cod_Continente.selectedIndex <= 0 ){
			alert("É necessário selecionar o Continente");
			frm.Cod_Continente.focus();
			return false;
       } 
		if (!testaVazio(frm.pais, 'o País.')) return false;
		if (!testaVazio(frm.abrev_pais, 'o Abreviatura.')) return false;		
		return true;
}

function validacidade(frm){

        if (frm.cod_Pais.selectedIndex <= 0 ){
			alert("É necessário selecionar o País");
			frm.cod_Pais.focus();
			return false;
       } 
		if (!testaVazio(frm.cidade, 'o Cidade.')) return false;
		return true;
}


function validaregiao(frm){
       if (frm.cod_pais.selectedIndex <= 0 ){
			alert("É necessário selecionar o País");
			frm.cod_pais.focus();
			return false;
       }
	   
		if (!testaVazio(frm.regiao, 'a Cidade.')) return false;
		return true;
}

function ValidaAssistencia(frm){
       if (frm.cod_fornecedor.selectedIndex <= 0 ){
			alert("É necessário selecionar o Fornecedor");
			frm.cod_fornecedor.focus();
			return false;
       }
	if (!testaVazio(frm.plano, 'o Plano da Assistência.')) return false;	
	if (!testaVazio(frm.data_inicial, 'a Data Inicial.')) return false;
		if (!dataValida(frm.data_inicial.value)) {
			alert('Data Inicial inválida!');
			frm.data_inicial.focus();
			return (false);
		}
	if (!testaVazio(frm.data_final, 'a Data Final.')) return false;
		if (!dataValida(frm.data_final.value)) {
			alert('Data Final inválida!');
			frm.data_final.focus();
			return (false);
		}
return true;
}
function validaass(frm){
	if (!testaVazio(frm.tit_preco, 'o Titulo do Preço.')) return false;	
	if (!testaVazio(frm.preco, 'o Preço.')) return false;
return true;
}



//function ValidaFormBuscaOndeEncontrar(frm){

//		if (!testaVazio(frm.cidade, 'a Cidade.')) return false;
//          if (frm.estado.selectedIndex <= 0 ){
//			alert("É necessário selecionar o Estado");
//			frm.estado.focus();
//			return false;
 //         } 
//		return true;
//}


function ValidaEnquete(frm){

		if (!testaVazio(frm.pergunta, 'a Pergunta.')) return false;
		if (!testaVazio(frm.descricao, 'a Descricao.')) return false;
//		if (!testaVazio(frm.Resposta, 'a Resposta.')) return false;		
		if (!testaVazio(frm.datainicial, 'a Data Inicial.')) return false;
		if (!dataValida(frm.datainicial.value)) {
		alert('Data Inicial inválida!');
		frm.datainicial.focus();
		return (false);
	}
		if (!testaVazio(frm.datafinal, 'a Data Final.')) return false;		
		if (!dataValida(frm.datafinal.value)) {
		alert('Data Final inválida!');
		frm.datafinal.focus();
		return (false);
	}

		return true;
}

function ValidaFormPerguntaResposta(frm){

		if (!testaVazio(frm.resposta, 'a Resposta.')) return false;		

		return true;
}


function ValidaNoticia(frm){

		if (!testaVazio(frm.titulo, 'o Titulo.')) return false;
        if (frm.id_categoriaNoticia.selectedIndex <= 0 ){
			alert("É necessário selecionar a Categoria");
			frm.id_categoriaNoticia.focus();
			return false;
        } 
		if (!testaVazio(frm.texto, 'o Texto.')) return false;
//		if (!testaVazio(frm.data, 'a Data.')) return false;
		if (!testaVazio(frm.fonte, 'a Fonte.')) return false;
//		if (!testaEmail(frm.email)) return false;
		return true;
}
function validaCruzeiro(frm){
        if (frm.cod_fornecedor.selectedIndex <= 0 ){
			alert("É necessário selecionar o Fornecedor");
			frm.cod_fornecedor.focus();
			return false;
        } 

	if (!testaVazio(frm.cruzeiro, 'o Cruzeiro.')) return false;
        if (frm.cod_navio.selectedIndex <= 0 ){
			alert("É necessário selecionar o Navio");
			frm.cod_navio.focus();
			return false;
        } 
        if (frm.cod_dest_cruz.selectedIndex <= 0 ){
			alert("É necessário selecionar a Região");
			frm.cod_dest_cruz.focus();
			return false;
        } 
	if (!testaVazio(frm.nro_dias, 'a Duração.')) return false;		
}

function validaregiao(frm){
	if (!testaVazio(frm.pais, 'o País.')) return false;
	if (!testaVazio(frm.regiao, 'a Região.')) return false;
}

// validação campos form
function validaCambio(frm){
	if (!testaVazio(frm.data_cambio, 'a Data Inicial.')) return false;
		if (!dataValida(frm.data_cambio.value)) {
			alert('Data Inicial inválida!');
			frm.data_cambio.focus();
			return (false);
		}
		if (!testaVazio(frm.dolar_mercatur, 'o Dólar.')) return false;
		if (!testaVazio(frm.dolar_costa, 'o Dolar Costa.')) return false;
		if (!testaVazio(frm.canadense, 'o Canadense.')) return false;
		if (!testaVazio(frm.euro_mercatur, 'o Euro.')) return false;
}
function validaCategoria(frm){
	if (!testaVazio(frm.desc_categoria, 'a Descrição da catgoria.')) return false;
}

function validaTipo_Servico(frm){
	if (!testaVazio(frm.Tipo_Servico, 'o Tipo Serviços.')) return false;
}

function validaCategoria(frm){
	if (!testaVazio(frm.desc_categoria, 'a Descrição da catgoria.')) return false;
}

function validaTipo_Servico(frm){
	if (!testaVazio(frm.Tipo_Servico, 'o Tipo Serviços.')) return false;
}
function Validademoto(frm){
	if (!testaVazio(frm.moto, 'a Moto.')) return false;
}


function validaPrompt (Ctrl, string){
	alert  (string)          // manda mensagem definida em string
	Ctrl.focus()         // e coloca o foco para o campo que contem erro
	Ctrl.select()
	return;
}

function validabuscahotel(frm){
	if (!testaVazio(frm.txDestino, 'o Destino.')) return false;
}

function validabuscahome(frm){
	if (!testaVazio(frm.destino, 'o Destino.')) return false;
}
function validacad_news(frm){
	if (!testaVazio(frm.email, 'o E-mail.')) return false;
	if (!testaEmail(frm.email)) return false;
}

function ValidaCadastro(frm)
{
	if (!testaVazio(frm.nome,'o Nome.')) return false;
	if (!testaVazio(frm.agencia,'a Agência.')) return false;
	if (!testaVazio(frm.telefone,'o Telefone.')) return false;
	if (!testaVazio(frm.email, 'o E-mail.')) return false;
	if (!testaEmail(frm.email)) return false;

	if (!testaVazio(frm.senha,'a Senha.')) return false;
	if (frm.senha.value != frm.conf_senha.value)
	{
		alert("Sua Confirmação de Senha não confere com sua Senha");
		return false;
	}else{
	}
}



function Validafaleconosco(frm)
{
	if (!testaVazio(frm.nome,'o Nome.')) return false;
	if (!testaVazio(frm.email, 'o E-mail.')) return false;
	if (!testaEmail(frm.email)) return false;
	if (!testaVazio(frm.cidade_uf_pais,'a Cidade.')) return false;
}

function ValidaCadastro(frm)
{
	if (!testaVazio(frm.nome,'o Nome.')) return false;
	if (!testaVazio(frm.agencia,'a Agência.')) return false;
	if (!testaVazio(frm.cpfcnpj,'o CPF ou CNPJ.')) return false;
	if (!testaVazio(frm.endereco,'o Endereço.')) return false;
	if (!testaVazio(frm.cidade,'a Cidade.')) return false;
	if (!testaVazio(frm.estado,'o Estado.')) return false;
	if (!testaVazio(frm.telefone,'o Telefone.')) return false;
	if (!testaVazio(frm.email, 'o E-mail.')) return false;
	if (!testaEmail(frm.email)) return false;

	if (!testaVazio(frm.senha,'a Senha.')) return false;
	if (frm.senha.value != frm.conf_senha.value)
	{
		alert("Sua Confirmação de Senha não confere com sua Senha");
		return false;
	}else{
	}
}


function Validareserva(frm)
{
	if (!testaVazio(frm.nome,'o Nome.')) return false;
	if (!testaVazio(frm.email, 'o E-mail.')) return false;
	if (!testaEmail(frm.email)) return false;
//	if (!testaVazio(frm.cidade_uf_pais,'a Cidade.')) return false;
}

function Validaindicacao(frm)
{
	if (!testaVazio(frm.nome_remetente,'o Remetente.')) return false;
	if (!testaVazio(frm.email_remetente, 'o E-mail Remetente.')) return false;
	if (!testaEmail(frm.email_remetente)) return false;
	if (!testaVazio(frm.nome_destinatario,'o Destinatario.')) return false;
	if (!testaVazio(frm.email_destinatario, 'o E-mail Destinatario.')) return false;
	if (!testaEmail(frm.email_destinatario)) return false;

//	if (!testaVazio(frm.cidade_uf_pais,'a Cidade.')) return false;
}

function validaReservaHotelcal(frm)
{
	if (!testaVazio(frm.entrada,'a Entrada.')) return false;
			if (!dataValida(frm.entrada.value)) {
			alert('Data Entrada inválida!');
			frm.entrada.focus();
			return (false);
			}
	if (!testaVazio(frm.saida, 'a Saída.')) return false;
			if (!dataValida(frm.saida.value)) {
			alert('Data de Saída inválida!');
			frm.saida.focus();
			return (false);
			}
        if (frm.tipoacomodacao.selectedIndex <= 0 ){
			alert("É necessário selecionar o Tipo de Acomodação");
			frm.tipoacomodacao.focus();
			return false;
        } 
}


function validaReservaHotel(frm)
{
	if (!testaVazio(frm.entrada,'a Entrada.')) return false;
			if (!dataValida(frm.entrada.value)) {
			alert('Data Entrada inválida!');
			frm.entrada.focus();
			return (false);
			}
	if (!testaVazio(frm.saida, 'a Saída.')) return false;
			if (!dataValida(frm.saida.value)) {
			alert('Data de Saída inválida!');
			frm.saida.focus();
			return (false);
			}
        if (frm.tipoacomodacao.selectedIndex <= 0 ){
			alert("É necessário selecionar o Tipo de Acomodação");
			frm.tipoacomodacao.focus();
			return false;
        } 

	if (!testaVazio(frm.pax1, 'o Pax.')) return false;

}


function validabusca1(frm){
	if (frm.cidade1.value == ''){ 		
		if (!testaCheckRadio(frm.cidade))
		{
			alert('A cidade deve ser informada')
			return false;
		} 
	}
}



var win = null;
function pop(mypage,myname,w,h,scroll){
LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
settings ='height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable=no'
win = window.open(mypage,myname,settings)
}


////*********cpf cnpj*//

function isNUMB(c) 
 { 
 if((cx=c.indexOf(","))!=-1) 
  { 
  c = c.substring(0,cx)+"."+c.substring(cx+1); 
  } 
 if((parseFloat(c) / c != 1)) 
  { 
  if(parseFloat(c) * c == 0) 
   { 
   return(1); 
   } 
  else 
   { 
   return(0); 
   } 
  } 
 else 
  { 
  return(1); 
  } 
 } 

function LIMP(c) 
 { 
 while((cx=c.indexOf("-"))!=-1) 
  { 
  c = c.substring(0,cx)+c.substring(cx+1); 
  } 
 while((cx=c.indexOf("/"))!=-1) 
  { 
  c = c.substring(0,cx)+c.substring(cx+1); 
  } 
 while((cx=c.indexOf(","))!=-1) 
  { 
  c = c.substring(0,cx)+c.substring(cx+1); 
  } 
 while((cx=c.indexOf("."))!=-1) 
  { 
  c = c.substring(0,cx)+c.substring(cx+1); 
  } 
 while((cx=c.indexOf("("))!=-1) 
  { 
  c = c.substring(0,cx)+c.substring(cx+1); 
  } 
 while((cx=c.indexOf(")"))!=-1) 
  { 
  c = c.substring(0,cx)+c.substring(cx+1); 
  } 
 while((cx=c.indexOf(" "))!=-1) 
  { 
  c = c.substring(0,cx)+c.substring(cx+1); 
  } 
 return(c); 
 } 

function VerifyCNPJ(CNPJ) 
 { 
 CNPJ = LIMP(CNPJ); 
 if(isNUMB(CNPJ) != 1) 
  { 
  return(0); 
  } 
 else 
  { 
  if(CNPJ == 0) 
   { 
   return(0); 
   } 
  else 
   { 
   g=CNPJ.length-2; 
   if(RealTestaCNPJ(CNPJ,g) == 1) 
    { 
    g=CNPJ.length-1; 
    if(RealTestaCNPJ(CNPJ,g) == 1) 
     { 
     return(1); 
     } 
    else 
     { 
     return(0); 
     } 
    } 
   else 
    { 
    return(0); 
    } 
   } 
  } 
 } 
function RealTestaCNPJ(CNPJ,g) 
 { 
 var VerCNPJ=0; 
 var ind=2; 
 var tam; 
 for(f=g;f>0;f--) 
  { 
  VerCNPJ+=parseInt(CNPJ.charAt(f-1))*ind; 
  if(ind>8) 
   { 
   ind=2; 
   } 
  else 
   { 
   ind++; 
   } 
  } 
  VerCNPJ%=11; 
  if(VerCNPJ==0 || VerCNPJ==1) 
   { 
   VerCNPJ=0; 
   } 
  else 
   { 
   VerCNPJ=11-VerCNPJ; 
   } 
 if(VerCNPJ!=parseInt(CNPJ.charAt(g))) 
  { 
  return(0); 
  } 
 else 
  { 
  return(1); 
  } 
 } 
  

  function FormataCGC(Formulario, Campo, TeclaPres) 
  { 
    var tecla = TeclaPres.keyCode; 
    var strCampo; 
    var vr; 
    var tam; 
    var TamanhoMaximo = 14; 
  
    eval("strCampo = document." + Formulario + "." + Campo); 
  
    vr = strCampo.value; 
    vr = vr.replace("/", ""); 
    vr = vr.replace("/", ""); 
    vr = vr.replace("/", ""); 
    vr = vr.replace(",", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace(".", ""); 
    vr = vr.replace("-", ""); 
    vr = vr.replace("-", ""); 
    vr = vr.replace("-", ""); 
    vr = vr.replace("-", ""); 
    vr = vr.replace("-", ""); 
    tam = vr.length; 

    if (tam < TamanhoMaximo && tecla != 8) 
    { 
      tam = vr.length + 1; 
    } 

    if (tecla == 8) 
    { 
      tam = tam - 1; 
    } 

    if (tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105) 
    { 
      if (tam <= 2) 
      { 
        strCampo.value = vr; 
      } 
       if ((tam > 2) && (tam <= 6)) 
       { 
         strCampo.value = vr.substr(0, tam - 2) + '-' + vr.substr(tam - 2, tam); 
       } 
       if ((tam >= 7) && (tam <= 9)) 
       { 
         strCampo.value = vr.substr(0, tam - 6) + '/' + vr.substr(tam - 6, 4) + '-' + vr.substr(tam - 2, tam); 
      } 
       if ((tam >= 10) && (tam <= 12)) 
       { 
         strCampo.value = vr.substr(0, tam - 9) + '.' + vr.substr(tam - 9, 3) + '/' + vr.substr(tam - 6, 4) + '-' + vr.substr(tam - 2, tam); 
      } 
       if ((tam >= 13) && (tam <= 14)) 
       { 
         strCampo.value = vr.substr(0, tam - 12) + '.' + vr.substr(tam - 12, 3) + '.' + vr.substr(tam - 9, 3) + '/' + vr.substr(tam - 6, 4) + '-' + vr.substr(tam - 2, tam); 
      } 
       if ((tam >= 15) && (tam <= 17)) 
       { 
         strCampo.value = vr.substr(0, tam - 14) + '.' + vr.substr(tam - 14, 3) + '.' + vr.substr(tam - 11, 3) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + '-' + vr.substr(tam - 2, tam); 
      } 
    } 
  } 


function TESTA() 
 { 
	 if(VerifyCNPJ(document.form1.CNPJ.value) == 1) 
	  { 
		 // alert("CNPJ válido!"); 
		   return true; 	  
	  } 
	 else 
	  { 
		  alert("CNPJ não é válido!"); 
   	  	  document.form1.CNPJ.focus(); 
 		  return false; 

	  } 
  	  
 } 
////***fim cnpj***////

//*******inicio cpf****//

function validarCPF1(campo){
   var cpf = campo;//document.cadastro.cpf.value;
   var filtro = /^\d{3}.\d{3}.\d{3}-\d{2}$/i;
   if(!filtro.test(cpf)){
     window.alert("CPF inválido. Tente novamente.");
	 return false;
   }
   
   cpf = remove(cpf, ".");
   cpf = remove(cpf, "-");
    
   if(cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" ||
	  cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" ||
	  cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" ||
	  cpf == "88888888888" || cpf == "99999999999"){
	  window.alert("CPF inválido. Tente novamente.");
	  return false;
   }

   soma = 0;
   for(i = 0; i < 9; i++)
   	 soma += parseInt(cpf.charAt(i)) * (10 - i);
   resto = 11 - (soma % 11);
   if(resto == 10 || resto == 11)
	 resto = 0;
   if(resto != parseInt(cpf.charAt(9))){
	 window.alert("CPF inválido. Tente novamente.");
	 return false;
   }
   soma = 0;
   for(i = 0; i < 10; i ++)
	 soma += parseInt(cpf.charAt(i)) * (11 - i);
   resto = 11 - (soma % 11);
   if(resto == 10 || resto == 11)
	 resto = 0;
   if(resto != parseInt(cpf.charAt(10))){
     window.alert("CPF inválido. Tente novamente.");
	 return false;
   }
   return true;
 }
 
 function remove(str, sub) {
   i = str.indexOf(sub);
   r = "";
   if (i == -1) return str;
   r += str.substring(0,i) + remove(str.substring(i + sub.length), sub);
   return r;
 }