function validaEmail(objeto){			
	email = objeto.value;
	if (email != ''){
		posicao = email.indexOf('@'); 
		if (posicao == -1 || posicao == 0 || posicao == email.length-1){					
			emailInvalido(objeto);					
			return false;
		}
		email = email.substr(posicao+1,email.length);
		if (email.indexOf('@') != -1){
			emailInvalido(objeto);					
			return false;
		}
		if (email.indexOf('.') <= 0 || email.indexOf('.') == email.length - 1){
			emailInvalido(objeto);					
			return false;
		} 						
	} else {
		return false;
	}
	return true;
} 

function emailInvalido(objeto){
	alert('E-mail inválido');					
	objeto.value = '';
}

function confereDominio(objeto){
	//ajax('../util/confereDominio.php','?email='+objeto.value,'post',respostaEmail,objeto);
	if (objeto.value != document.getElementById('hiddenEmailBase').value){
		ajax('util/confereEmailBase.php','?email='+objeto.value,'post',respostaEmailBase,objeto);	
	}	
}

function respostaEmail(objeto){
	resposta = xmlhttp.responseText;
	if (resposta != '1'){
		alert('Dominio Inválido ou Inacessível. Digite um e-mail válido ou tente mais tarde');
		objeto.value = '';
		objeto.focus();
		return false;			
	}	
}

function respostaEmailBase(objeto){
	resposta = xmlhttp.responseText;
	if (resposta > 0){
		alert('E-mail já cadastrado em nossa base de dados.');
		objeto.value = '';
		objeto.focus();
	}
}

function confereSenha(objetoSenha, objetoConfirma){
	if (objetoSenha.value == '' || objetoConfirma.value == ''){
		return true;
	}
	if (objetoSenha.value != objetoConfirma.value){
		alert('Confirmação da senha não confere.');
		objetoConfirma.value = '';
		objetoConfirma.focus();
		return false;
	}
	return true;
}

// função padrão para máscaras 
function mascara(evento, objeto, mascara){	
	// verifica o evento para saber o navegador e pega o codigo asc da tecla pressionada
	if (window.event){
		tecla = window.event.keyCode;
	} else {
		tecla = evento.which;
	}	
			
	if (teclaEspeciais(tecla)){
		return true;
	} 
	
	// tranformando mascara em array, com o array auxiliar "mascaraArray" tratamento para o ie 7	
	mascaraArray = new Array();
	for (i=0;i<mascara.length;i++){
		mascaraArray.push(mascara.substr(i,1));
	}
	
	mascara = new Array();
	mascara = mascaraArray;	
										
	if (mascara[objeto.value.length] == '*'){
		if (somenteNumero(evento)){
			return true;
		} else {
			return false;
		}
	} else if (mascara[objeto.value.length] == '#'){
		if (somenteLetra(evento)){
			return true;
		} else {
			return false;
		}
	} else {
		if (objeto.value.length <= mascara.length - 1){
			while (mascara[objeto.value.length] != '#' && mascara[objeto.value.length] != '*'){
				objeto.value += mascara[objeto.value.length];
			}
			if (mascara[objeto.value.length] == '*' && somenteNumero(evento) == false){
				return false;
			}
			if (mascara[objeto.value.length] == '#' && somenteLetra(evento) == false){
				return false;
			}				
			return true;
		} else {
			return false;
		}
	}			
	return true;
}

function somenteNumero(e){
	var tecla=(window.event)?event.keyCode:e.which;
	if (teclaEspeciais(tecla)){
		return true;
	}
	if (tecla > 47 && tecla < 58){
		return true;
	} else {
		return false;
	}
}


function somenteLetra(e){
	var tecla=(window.event)?event.keyCode:e.which;
	if (teclaEspeciais(tecla)){
		return true;
	}
	if(tecla >= 65 && tecla <= 90) {
		return true;
	} else if (tecla >= 97 && tecla <= 122) {
		return true;
	} else {
		return false;
	}
}	

function teclaEspeciais(tecla){
	if (tecla == 8 || tecla == 13 || tecla == 0){
		return true;
	} else {
		return false;
	}
}
	
function validaData(objeto){
	if (objeto.value.length == 0){
		return true;
	}
	if (objeto.value.length != 10){
		alert('Data inválida');
		objeto.value = '';
		objeto.focus();
		return false;
	}
	var dia = objeto.value.substr(0,2); 
	var mes = objeto.value.substr(3,2);
	var ano = objeto.value.substr(6,4);
	if (dia < 1 || dia > 32 || mes < 1 || mes > 12){
		alert('Data inválida');
		objeto.value = '';
		objeto.focus();
		return false;
	}		
	if ( (mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12) && (dia > 31)){
		alert('Data inválida');
		objeto.value = '';
		objeto.focus();
		return false;
	}
	if ( (mes == 4 || mes == 6 || mes == 9 || mes == 11) && (dia > 30)){
		alert('Data inválida');
		objeto.value = '';
		objeto.focus();
		return false;
	}
	
	if (ano % 4 == 0){
		if (mes == 2 && dia > 29){
			alert('Data inválida');
			objeto.value = '';
			objeto.focus();
			return false;				
		}
	} else {
		if (mes == 2 && dia > 28){
			alert('Data inválida');
			objeto.value = '';
			objeto.focus();
			return false;				
		}
	}		
	return true;
}

function validaCep(objeto){
	cep = objeto.value;		
	if (cep != ''){
		if (cep.length != 9){
			cepInvalido(objeto);
			return false;
		}
		if ( (cep.indexOf('-') == -1) || (cep.indexOf('-') != 5) ){
			cepInvalido(objeto);
			return false;
		}
		if (isNaN(cep.substr(0,5)) != false || isNaN(cep.substr(6,3)) != false){
			cepInvalido(objeto);
			return false;
		}
	}			
}

function validaNumero(objeto){
	numero = objeto.value;
	if (numero == ''){
		return false;
	}
	if (isNaN(numero) != false){
		alert('Campo só aceita números');
		objeto.value = '';
		return false;
	}		
}

function cepInvalido(objeto){
	alert('Cep Inválido');
	objeto.value = '';
}

function validaCadastro(){
	if (document.getElementById('nome').value == ''){
		alert('Preencha o campo Nome');
		document.getElementById('nome').focus();
		return false;	
	}
	
	if (document.getElementById('email').value == ''){
		alert('Preencha o campo E-mail');
		document.getElementById('email').focus();
		return false;	
	}
	
	if (document.getElementById('estado').value == ''){
		alert('Preencha o campo Estado');
		document.getElementById('estado').focus();
		return false;	
	}
	
	if (document.getElementById('cidade').value == ''){
		alert('Preencha o campo Cidade');
		document.getElementById('cidade').focus();
		return false;	
	}
	
	if (document.getElementById('senha')){
		if (document.getElementById('idUsuario').value == '' || document.getElementById('senha').value != '' || document.getElementById('confirmarsenha').value != ''){
			if (document.getElementById('senha').value == ''){
				alert('Preencha o campo Senha');
				document.getElementById('senha').focus();
				return false;	
			}
			
			if (document.getElementById('confirmarsenha').value == ''){
				alert('Preencha o campo Confirmar Senha');
				document.getElementById('confirmarsenha').focus();
				return false;	
			}
			if (!confereSenha(document.getElementById('senha'),document.getElementById('confirmarsenha'))){
				return false;
			}
			
			if (document.getElementById('senha').value != document.getElementById('confirmarsenha').value){
				alert('Confirmação de senha não confere');
				document.getElementById('confirmarsenha').value = '';
				document.getElementById('confirmarsenha').focus();
				return false;
			}	
			
			if (document.getElementById('senhaAtual')){
				if (document.getElementById('senhaAtual').value == ''){
					alert('Preencha o campo Senha Atual');
					return false;
				}
			}
		}	
	}
	
	if (document.getElementById('foto').value != ''){
		foto = document.getElementById('foto');
		extensao = foto.value.substr(foto.value.length-4,4);
		if (extensao != '.jpg' && extensao != '.gif' && extensao != '.png' && extensao != '.bmp'){
			alert('Arquivo inválido. Escolha um com extensão jpg, gif, png ou bmp');
			return false;
		}
		
	}
	return true;		
}

function validaEdicao(){
	if (document.getElementById('nome').value == ''){
		alert('Preencha o campo Nome');
		document.getElementById('nome').focus();
		return false;	
	}		
	
	if ( (document.getElementById('senha').value != '' || document.getElementById('confirmarsenha').value != '') && (document.getElementById('senha').value == '' || document.getElementById('confirmarsenha').value == '') ){
		if (document.getElementById('senha').value == ''){
			alert('Preencha o campo Senha');
			document.getElementById('senha').focus();
			return false;
		}
		if (document.getElementById('confirmarsenha').value == ''){
			alert('Preencha o campo Confirmar Senha');
			document.getElementById('confirmarsenha').focus();
			return false;
		} 	
	}
	if (!confereSenha(document.getElementById('senha'),document.getElementById('confirmarsenha'))){
		return false;
	}		
			
	return true;		
}

function trataCaracteresEspeciais(string){
	string = string.replace('á','\u00e1');
	string = string.replace('à','\u00e0');	
	string = string.replace('â','\u00e2');
	string = string.replace('ã','\u00e3');
	string = string.replace('ä','\u00e4');
	string = string.replace('Á','\u00c1');
	string = string.replace('À','\u00c0'); 
	string = string.replace('Â','\u00c2'); 
	string = string.replace('Ã','\u00c3'); 
	string = string.replace('Ä','\u00c4');
	string = string.replace('é','\u00e9'); 
	string = string.replace('è','\u00e8');
	string = string.replace('ê','\u00ea'); 
	string = string.replace('ê','\u00ea'); 
	string = string.replace('É','\u00c9'); 
	string = string.replace('È','\u00c8'); 
	string = string.replace('Ê','\u00ca'); 
	string = string.replace('Ë','\u00cb'); 
	string = string.replace('í','\u00ed'); 
	string = string.replace('ì','\u00ec');
	string = string.replace('î','\u00ee'); 
	string = string.replace('ï','\u00ef');
	string = string.replace('Í','\u00cd'); 
	string = string.replace('Ì','\u00cc'); 
	string = string.replace('Î','\u00ce');
	string = string.replace('Ï','\u00cf'); 
	string = string.replace('ó','\u00f3'); 
	string = string.replace('ò','\u00f2'); 
	string = string.replace('ô','\u00f4');
	string = string.replace('õ','\u00f5'); 
	string = string.replace('ö','\u00f6');
	string = string.replace('Ó','\u00d3');
	string = string.replace('Ò','\u00d2');
	string = string.replace('Ô','\u00d4'); 
	string = string.replace('Õ','\u00d5');
	string = string.replace('Ö','\u00d6');
	string = string.replace('ú','\u00fa');
	string = string.replace('ù','\u00f9');
	string = string.replace('û','\u00fb');
	string = string.replace('ü','\u00fc'); 
	string = string.replace('Ú','\u00da'); 
	string = string.replace('Ù','\u00d9');
	string = string.replace('Û','\u00db'); 
	string = string.replace('ç','\u00e7'); 
	string = string.replace('Ç','\u00c7');
	string = string.replace('ñ','\u00f1'); 
	string = string.replace('Ñ','\u00d1');
	string = string.replace('&','\u0026'); 
	string = string.replace('\'','\u0027');
	return string;
}
