// JavaScript Document
//  Verifica o endereco d eemail
// true se o email eh valido, false se nao
function validaEmail(email){
	var at		= "@";
	var dot		= ".";
	var lat		= email.indexOf(at);
	var lstr	= email.length;
	var ldot	= email.indexOf(dot);

	// Nao encontrou o @ ou posicao dele eh igual a 0 ou a posicao dele eh ultimo caracter 
	if (email.indexOf(at) == -1 || email.indexOf(at) == 0 || email.indexOf(at) == lstr){
	   return false;
	}
	
	// Nao encontrou o ponto ou posicao do ponto igual a 0 ou posicao do ponto eh ultimo caracter
	if (email.indexOf(dot) == -1 || email.indexOf(dot) == 0 || email.indexOf(dot) == lstr){
	   return false;
	}

	// Encontrou outra arroba depois da primeira encontrada
	 if (email.indexOf(at,(lat+1))!= -1){
	    return false;
	 }

	 if (email.substring(lat-1,lat) == dot || email.substring(lat+1,lat+2) == dot){
	    return false;
	 }

	// Se nao houver ponto depois da arroba
	 if (email.indexOf(dot,(lat+2)) == -1){
	    return false;
	 }

	 // Se encontrar espaco email invalido
	 if (email.indexOf(" ")!= -1){
	    return false;
	 }

	return true;					
}

/**
 * Valida preenchimento de campos
 *
 * @tipo_campo ('','data','hora')
 */
function verif_campos_all(nome, titulo, tipo_campo){
//==TIPOS DE CAMPO: texto, data. hora;
	campo = eval("document.getElementById('"+nome+"')");

	try	{
		if(campo.value == ''){
			alert("O campo \""+titulo+"\" deve ser preenchido!");
			try{
			campo.focus();
			campo.style.background='#FFFF2A';
			}catch(e){}
			return 'erro';
		}
	}catch(e){ 

		// DEVE-SE HABILITAR APENAS PARA TESTE INTERNO!!- caso contrário aparecerão erros desenecessarios
//		alert("Erro na validação de campos, o campo \""+nome+"\" não existe!"); 
	}

	situacao = true; 
	if(tipo_campo == 'data'){
	   dia = (campo.value.substring(0,2)); 
	   mes = (campo.value.substring(3,5)); 
	   ano = (campo.value.substring(6,10)); 
	   // verifica o dia valido para cada mes 
	   if ((dia < 01)||(dia < 01 || dia > 30) && (  mes == 04 || mes == 06 || mes == 09 || mes == 11 ) || dia > 31) { 
		   situacao = false; 
	   } 
		// verifica se o mes e valido 
	   if (mes < 01 || mes > 12 ) { 
		   situacao = false; 
	   } 
		// verifica se e ano bissexto 
	   if (mes == 2 && ( dia < 01 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4)))) { 
		   situacao = false; 
	   } 
	
	   if (campo.value == '') { 
		   situacao = false;
	   } 
	
	   if (!situacao) { 
			alert("O campo '"+titulo+"' é inválido!");
			try{
		   campo.focus(); 
			campo.style.background='#FFFF2A';
			}catch(e){}
			return 'erro';
	 } 
	}	
	erro_hora = false;
	if(tipo_campo == 'hora'){
		if(campo.value.length != 5){
			erro_hora = true;
		}
		
		hora = (campo.value.substring(0,2)); 
		minuto = (campo.value.substring(3,5));
	   
		if(hora > 24){
			erro_hora = true;
	   }
	   if(minuto > 59){
			erro_hora = true;
		}
		if(erro_hora == true){
			alert("O campo '"+titulo+"' é inválido!");
			try{
			campo.focus(); 
			campo.style.background='#FFFF2A';
			}catch(e){}
			return 'erro';
		}
	}
	if(situacao == true && erro_hora == false){
		try{
		campo.style.background='';		
		}catch(e){}
	}
}

//  Verifica o endereco d eemail
// true se o email eh valido, false se nao
function validaEmail(email){
	var at		= "@";
	var dot		= ".";
	var lat		= email.indexOf(at);
	var lstr	= email.length;
	var ldot	= email.indexOf(dot);

	// Nao encontrou o @ ou posicao dele eh igual a 0 ou a posicao dele eh ultimo caracter 
	if (email.indexOf(at) == -1 || email.indexOf(at) == 0 || email.indexOf(at) == lstr){
	   return false;
	}
	
	// Nao encontrou o ponto ou posicao do ponto igual a 0 ou posicao do ponto eh ultimo caracter
	if (email.indexOf(dot) == -1 || email.indexOf(dot) == 0 || email.indexOf(dot) == lstr){
	   return false;
	}

	// Encontrou outra arroba depois da primeira encontrada
	 if (email.indexOf(at,(lat+1))!= -1){
	    return false;
	 }

	 if (email.substring(lat-1,lat) == dot || email.substring(lat+1,lat+2) == dot){
	    return false;
	 }

	// Se nao houver ponto depois da arroba
	 if (email.indexOf(dot,(lat+2)) == -1){
	    return false;
	 }

	 // Se encontrar espaco email invalido
	 if (email.indexOf(" ")!= -1){
	    return false;
	 }

	return true;					
}

// Remove caracteres invalidos da consulta 
function filtroHtml(str){ 
	
	var de = new Array("/","\"", "\'" ); 
	var para = new Array("&47$","%22", "%27"); 
	for (var i=0; i<de.length; i++) { 
	   reg = new RegExp(de[i],"g");
	   str = str.replace(reg, para[i]); 
	} 
	
	return str; 
}
