// JavaScript Document
// INICIO VALIDA CAMPOS
function valida(){
	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;
	}
	d = document.pesquisa;
	//validar nome
	if (d.Nome.value == ""){
		alert("ERRO. O campo Nome deve ser preenchido!");
		d.Nome.focus();
		return false;
	}
	//validar cpf
	var cpf = d.CPF.value;
	if (cpf == ""){
		alert("ERRO. O campo CPF deve ser preenchido!");
		d.CPF.focus();
		return false;
	}
	var filtro = /^\d{3}.\d{3}.\d{3}-\d{2}$/i;
	if(!filtro.test(cpf)){
		window.alert("ERRO. CPF incorreto!");
		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("ERRO. CPF incorreto!");
		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("ERRO. CPF incorreto!");
		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("ERRO. CPF incorreto!");
		return false;
	}
	//validar email
	if (d.Email1.value == ""){
		alert("ERRO. O campo Email deve ser preenchido!");
		d.Email1.focus();
		return false;
	}
	//validar email(verificao de endereco eletrônico)
	parte1 = d.Email1.value.indexOf("@");
	parte2 = d.Email1.value.indexOf(".");
	parte3 = d.Email1.value.length;
	if (!(parte1 >= 3 && parte2 >= 3 && parte3 >= 9)) {
		alert ("ERRO. O campo Email deve ser conter um endereco eletronico!");
		d.Email1.focus();
		return false;
	}
	//validar estado e cidade
	if (d.uf.value == "UF" || d.uf.value == "Cidade"){
		alert("Os campos Estado e Cidade devem ser preenchidos!");
		return false;
	}
	//validar tel 1
	if (d.Tel1.value == ""){
		alert("ERRO. O campo Telefone fixo deve ser preenchido!");
		d.Tel1.focus();
		return false;
	}
	//validar possui operadora
	if (!d.Possui[0].checked && !d.Possui[1].checked){
		alert("ERRO. O campo Possui Operadora deve ser preenchido!");
		d.Tel2.focus();
		return false;
	}
	//validar operadoras
	if (d.Possui[1].checked) {
		if (!d.Operadora[0].checked && !d.Operadora[1].checked && !d.Operadora[2].checked && !d.Operadora[3].checked && !d.Operadora[4].checked) {
			alert ("ERRO. Selecione a sua operadora atual!");
			return false;
		}
		if (d.Operadora[4].checked && d.Outra.value == "") {
			alert ("ERRO. Informe o nome da operadora atual!");
			d.Outra.focus();
			return false;
		}
		valor = d.Valor.value;
		if (valor.length > 6 || valor.length < 5) {
			alert ("ERRO. O campo Valor Atual da Mensalidade deve ser informado.");
			d.Valor.focus();
			return false;
		}
	}
return true;
}
// FIM VALIDA CAMPOS


//INICIO FORMATAR CEP, CPF, TELEFONES
function txtFormat(objForm, strField, sMask, evtKeyPress) {
	var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
	if(document.all) { // Internet Explorer
		nTecla = evtKeyPress.keyCode;
	} else if(document.getElementById) { // FireFox
		nTecla = evtKeyPress.which;
	} 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( " ", "" );
	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) == " "))
		bolMask = bolMask || (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
		objForm[strField].value = sCod;
		if (sMask.charAt(i-1) == "9") { // apenas números...
			return ((nTecla > 47) && (nTecla < 58));
		} else { // qualquer caracter...
			return true;
		}
	} else {
		return true;
	}
}


// INICIO FORMATA MOEDA
function MascaraMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){
    var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;
    if (whichCode == 13) return true;
	var t = new String(objTextBox.value);
	if (whichCode == 8){
		objTextBox.value = t.substring(0, t.length-1);
	} 
    key = String.fromCharCode(whichCode); // Valor para o código da Chave
    if (strCheck.indexOf(key) == -1) return false; // Chave inválida
    len = objTextBox.value.length;
    for(i = 0; i < len; i++)
        if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break;
    aux = '';
    for(; i < len; i++)
        if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0) objTextBox.value = '';
    if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;
    if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux;
    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len - 3; i >= 0; i--) {
            if (j == 3) {
                aux2 += SeparadorMilesimo;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        objTextBox.value = '';
        len2 = aux2.length;
        for (i = len2 - 1; i >= 0; i--)
        objTextBox.value += aux2.charAt(i);
        objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
    }
    return false;
}
//FIM FORMATA MOEDA





// INICIO OUTRAS FUNCOES

function mostra() {
	document.getElementById('box_operadora').style.display = "block";
}
function esconde() {
	f = document.pesquisa;
	document.getElementById('box_operadora').style.display = "none";
	f.Operadora[0].checked = false;
	f.Operadora[1].checked = false;
	f.Operadora[2].checked = false;
	f.Operadora[3].checked = false;
	f.Operadora[4].checked = false;
	f.Valor.value = '';
	f.Outra.value = '';
}
function checa() {
	f = document.pesquisa;
	f.Operadora[4].checked = true;
}