// Form Validation Functions
//
//----------------------------------------------------------------------------------------------------------
function MM_format(e,src,mask) {
	if(window.event) { 
		_TXT = e.keyCode; }
	else 
		if(e.which) { 
			_TXT = e.which; 
		}
	if(_TXT > 47 && _TXT < 58) {
		var i = src.value.length; 
		var saida = mask.substring(0,1); 
		var texto = mask.substring(i)
		if (texto.substring(0,1) != saida) { 
			src.value += texto.substring(0,1); 
		}
    	return true; } 
	else { 
		if (_TXT != 8) { 
			return false; }
		else { 
			return true; 
		}
	}
}

//----------------------------------------------------------------------------------------------------------
function validaDATA(dt)  {

	// O parâmetro passado deve ter o formato: "99/99/9999"
	var dia = dt.substr(0,2);
	var mes = dt.substr(3,2);
	var ano = dt.substr(6,4);
	var erro = false;
	if (dia == 0 || dia > 31) {erro = true;}
	if (dia > 30 && (mes == 4 || mes == 6 || mes == 9 || mes == 11)) {erro = true;}
	if (dia > 29 && mes == 2) {erro = true;}
	// Calcula ano bissexto
	if (dia == 29 && mes == 2 && ((ano%4)!=0)) {erro = true;}
	if (mes == 0 || mes > 12) {erro = true;}
	if (ano == 0 || ano < 1900) {erro = true;}
	if (erro) {
		return(false);
	} else {
		return(true);
	}	
}

//----------------------------------------------------------------------------------------------------------
function validaCPF(theForm) {
	// O campo deve vir formatado (999.999.999-99)
	// Para isso trabalha em conjunto com a função MM_format()
	//
	cpf1 = theForm.cpf.value;
	var erro = new String;
	var cpf = new String;
	for (i=0; i<14; i++){
		if (cpf1.charAt(i) != "." && cpf1.charAt(i) != "-" && cpf1.charAt(i) != "/") {
			cpf += cpf1.charAt(i);
		}
	}
	if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){
//		alert("<?php echo $txt_wrong_cpf; ?>");
		return(false);
	} 
	var a = [];
	var b = new Number;
	var c = 11;
	for (i=0; i<11; i++){
		a[i] = cpf.charAt(i);
		if (i < 9) b += (a[i] * --c);
	}
	if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
	b = 0;
	c = 11;
	for (y=0; y<10; y++) b += (a[y] * c--);
	if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
		if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
			return(false);
		}
	if (erro.length > 0){
		return(false);
	}
	return true;
}

//----------------------------------------------------------------------------------------------------------
function validaCNPJ(theForm) {
	// O campo deve vir formatado (99.999.999/9999-99)
	// Para isso trabalha em conjunto com a função MM_format()
	//
	CNPJ1 = theForm.cgc.value;
	var erro = new String;
	var CNPJ = new String;
	for (i=0; i<18; i++){
		if (CNPJ1.charAt(i) != "." && CNPJ1.charAt(i) != "-" && CNPJ1.charAt(i) != "/") {
			CNPJ += CNPJ1.charAt(i);
		}
	}
	erro = new String;
	var a = [];
	var b = new Number;
	var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
	for (i=0; i<12; i++){
		a[i] = CNPJ.charAt(i);
		b += a[i] * c[i+1];
	}
	if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
	b = 0;
	for (y=0; y<13; y++) {
		b += (a[y] * c[y]);
	}
	if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
	if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
			return(false);
	}
	if (erro.length > 0){
		return(false);
	}
	return true;
}

function aguarde() {
	document.getElementById('cidades').innerHTML = '<select name="cidade" class="Edicao"><option value="">Carregando cidades...</option></select>';	
}

function carregaCidades(UF,Cidade) {
	http.open("GET", "ajax_cidades.php?uf=" + UF + '&cidade=' + Cidade + "&maiusculas=FALSE", false);
//	http.onreadystatechange =  handleHttpResponse;
	http.send(null);
    results = http.responseText;
	if(results != "ERRO") {
		document.getElementById('cidades').innerHTML = results;
	}
}

function habilitaSubmit() {
	document.getElementById("botao_avancar").innerHTML = "<input name='bt_avancar' type='submit' value='Enviar'>";
	return true;
}

//----------------------------------------------------------------------------------------------------------
function sanitizeLogin(login) {
	loginSanitized=         login.replace(/[^A-Za-z0-9]/g,"");
	loginSanitized=loginSanitized.replace(/\b_/,"");
	loginSanitized=loginSanitized.replace(/_\b/,"");
	loginSanitized=loginSanitized.replace(/_{2.}/,"");
	return loginSanitized;
}

function descamufla(campo){

//Atribui à variável feedbackSel o valor que está na DIV txtFeedback1
    var feedbackSel = document.getElementById(campo).value;

// Comando que descamufla a string camuflada pela função camuflador.php
    var tamFeedback = feedbackSel.length; // Atribui à variável tamFeedback o interiro que indica o nº de caracteres da string
    tamFeedback = (tamFeedback/2) //Como a camuflagem substitui cada caractere por 2 outros o tam do texto original deve ter apenas metade no tam do texto camuflado

   // Loop que substitui as letras da string: dá o loop o mesmo nº de caracteres que tem a string (cobre caso da string ser toda da mesma letra
   for(i=0;i<tamFeedback;i++) {
    feedbackSel = feedbackSel.replace(/_1/,"a");
    feedbackSel = feedbackSel.replace(/_2/,"e");
    feedbackSel = feedbackSel.replace(/Y3/,"i");
    feedbackSel = feedbackSel.replace(/K4/,"o");
    feedbackSel = feedbackSel.replace(/Y5/,"u");
    feedbackSel = feedbackSel.replace(/W6/,"A");
    feedbackSel = feedbackSel.replace(/_7/,"E");
    feedbackSel = feedbackSel.replace(/Y8/,"é");
    feedbackSel = feedbackSel.replace(/K9/,"P");
    feedbackSel = feedbackSel.replace(/_0/,"ê");
    feedbackSel = feedbackSel.replace(/_Q/,"<");
    feedbackSel = feedbackSel.replace(/_Y/,">");
    feedbackSel = feedbackSel.replace(/_T/,"=");
    }

	//Atribui à DIV txtFeedback1 o valor que está na variável feedbackSel (agora já descamuflada)
	//document.getElementById(objeto).innerHTML = feedbackSel;
	
	return feedbackSel;
} 

function captchaCheck(valor) {
	http.open("GET", "captcha/ajax_captcha.php?senha_imagem=" + valor , false);
	http.send(null);
   	results = http.responseText;
	return (results==1?true:false);
}

function alterError(value) {
	if (value<=0.99) {
		newDollar = '0';
	} else {
		newDollar = parseInt(value);
	}
	newCent = parseInt((value+.0008 - newDollar)* 100);
	if (eval(newCent) <= 9) newCent='0'+newCent;
	newString = newDollar + '.' + newCent;
	return (newString);
}

function IsNumeric(campo){
	// Se tem vírgula troca por ponto
	var ok = true;
	var caracteresInvalidos = "";
	var campoNovo = new String;
	var campoVelho = document.getElementById(campo).value;
	var qtPontos = 0;
	for (i=0; i<campoVelho.length; i++){
		if (campoVelho.charAt(i) == ",") {
			campoNovo += ".";
			qtPontos++;
		} else if(((campoVelho.charAt(i)>=0) && (campoVelho.charAt(i)<=9)) || (campoVelho.charAt(i)==".")) { // Aceita somente números
			campoNovo += campoVelho.charAt(i);
			if(campoVelho.charAt(i)==".") qtPontos++;
		} else { // Caracteres inválidos
			caracteresInvalidos+=campoVelho.charAt(i);
			ok=false;
		}
	}
	document.getElementById(campo).value=campoNovo;
	// Se não tem a parte decimal adiciona ".00"
	if((document.getElementById(campo).value>0) && (qtPontos<=1)) {
		document.getElementById(campo).value=alterError(eval(document.getElementById(campo).value));
	} else { // Ficou somente o PONTO
		ok=false;
	}
	var er = /^[0-9]{0,12}\.[0-9]{0,2}$/;
	if(!er.test(document.getElementById(campo).value) || !ok) {
		document.getElementById(campo).value="";
		alert('Preenchimento inválido!!! '+(caracteresInvalidos.length?"("+caracteresInvalidos+")":"")+'\nNeste campo são permitidos somente NÚMEROS.\nUse PONTO como separador de centavos.\nMáximo de DUAS casas decimais.\nNão é permitido deixar zerado (0.00)');
		document.getElementById(campo).focus();
	}

}

function MM_formatMoney(e) {
	if(window.event) { 
		_TXT = e.keyCode; }
	else 
		if(e.which) { 
			_TXT = e.which; 
		}
	if( (_TXT > 47 && _TXT < 58) || (_TXT == 8) || (_TXT == 46) || (_TXT == 44)  || (_TXT == 3) ){
		return true; 
	} else { 
		return false; 
	}
}


