//	Variável que receberá o objeto XMLHttpRequest
var req;

function validarDados(campo, valor) {

	// Verificar o Browser
	// Firefox, Google Chrorme, Safari e outros
	if(window.XMLHttpRequest) {
		req	= new XMLHttpRequest();
	}
	// Internet Explorer
	else if(window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	// Aqui vão os valores, caso haja mais de um, e o nome do campo que pediu a requisição.
	var url = "ajax/validacao.php?campo="+campo+"&valor="+valor;
	
	// Chamada do método open para processar a requisição
	req.open("Get", url, true); 
    // Quando o objeto recebe o retorno, chamamos a função callback();
	req.onreadystatechange = function() {
		
		// Exibindo mensagem de carregar
		if(req.readyState == 1) {
			document.getElementById('campo_' + campo + '').innerHTML = '<font color="white">Verificando...</font>';
		}
	
		// Verifica se o Ajax realizou todas as operações corretamente (essencial)
		if(req.readyState == 4 && req.status == 200) {
	        // Resposta retornada pelo executor.php
			var resposta = req.responseText;
			
			// Abaixo colocamos a resposta na div do campo que fez a requisição
			document.getElementById('campo_'+ campo +'').innerHTML = resposta;
		}
	
	}
	
	req.send(null);
	
}
//MÁSCARA DE VALORES

function txtBoxFormat(objeto, 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;
} else {
    nTecla = evtKeyPress.which;
    if (nTecla == 8) {
        return true;
    }
}

    sValue = objeto.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( " ", "" );
    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) == "/") || (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++;
    }

    objeto.value = sCod;

    if (nTecla != 8) { // backspace
      if (sMask.charAt(i-1) == "9") { // apenas números...
        return ((nTecla > 47) && (nTecla < 58)); } 
      else { // qualquer caracter...
        return true;
      } 
    }
    else {
      return true;
    }
  }
  //FUNÇÃO TRANSFORMAR MINÚSCULAS EM MAIÚSCULAS
  function UP_Letra(evento, valida, maiuscula) {
 if (evento.target) {
   codigo = evento.target;
 }
 else {
   codigo =  event.srcElement;
 }
 element = codigo.value;
 if (maiuscula == 'true') {
   element = element.toUpperCase();
 }
 var new_element = "";
 for (vIdx=0; vIdx < element.length; vIdx++) {
   if (valida.indexOf(element.substr(vIdx, 1)) != -1
       || (maiuscula == 'false' &&
           valida.toLowerCase().indexOf(element.substr(vIdx, 1)) != -1) ) {
     new_element = new_element + element.substr(vIdx, 1);
   }
 }
 codigo.value = new_element;
}
//FUNÇÃO AUTO TAB
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
var keyCode = (isNN) ? e.which : e.keyCode;
var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
if(input.value.length >= len && !containsElement(filter,keyCode)) {
input.value = input.value.slice(0, len);
input.form[(getIndex(input)+1) % input.form.length].focus();
}
function containsElement(arr, ele) {
var found = false, index = 0;
while(!found && index < arr.length)
if(arr[index] == ele)
found = true;
else
index++;
return found;
}
function getIndex(input) {
var index = -1, i = 0, found = false;
while (i < input.form.length && index == -1)
if (input.form[i] == input)index = i;
else i++;
return index;
}
return true;
}
