var v_cpf 	= /^[0-9]{3}\.[0-9]{3}\.[0-9]{3}-[0-9]{2}$/;
var v_cnpj	= /^[0-9]{2}\.[0-9]{3}\.[0-9]{3}\/[0-9]{4}-[0-9]{2}$/;
var v_data	= /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/;
var v_doc	= /^[0-9]{8,11}$/;
var v_ddd	= /^[0-9]{2,3}$/;
var v_fone 	= /^[0-9]{7,8}$/;
var v_num	= /^[0-9]{1,5}$/;
var v_cep	= /^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/;
var v_pgto1_numero 	= /^[0-9]{16}$/;
var v_pgto2_agencia 	= /^[0-9]{4,5}$/;
var v_pgto2_conta 	= /^[0-9]{6,8}$/;

function valida(campos) {
	var bErro = true;
	var msg = 'Campo(s) inválido(s):\n\n';

	for (i=0;i<campos.length;i++) {
            var aCampo = campos[i];
            if (!aCampo[1].test(aCampo[0]))
                msg += '* '+aCampo[2]+'\n';
	}
        if (bErro)
	   alert(msg);
	return bErro;
}

function formata(obj, tipo) {
	var num	= /^[0-9]$/;

	str_final = "";
	str = obj.value;
	aux = "";

	for(i=0; i<str.length; i++) {
		if(num.test(str.charAt(i)) == true)
			aux += str.charAt(i);
	}

	switch(tipo) {
		case 'cpf':
			if(aux.length <= 11) {
				str = "";
				len = 11 - aux.length;
				for(i=0; i<len; i++)
					str += '0';
				str += aux;
			}
			if(eval(str) == 0)
				str_final = "";
			else
				str_final = str.substr(0,3) + '.' + str.substr(3,3) + '.' + str.substr(6,3) + '-' + str.substr(9,2);
			break;

		case 'cnpj':
			if(aux.length <= 15) {
				str = "";
				len = 15 - aux.length;
				for(i=0; i<len; i++)
					str += '0';
				str += aux;
			}
			if(eval(str) == 0)
				str_final = "";
			else
				str_final = str.substr(0,3)+'.'+str.substr(3,3)+'.'+str.substr(6,3)+'/'+ str.substr(9,4)+'-'+str.substr(13,2);
			break;

		case 'data':
			if(aux.length <= 8) {
				str = "";
				len = 8 - aux.length;
				for(i=0; i<len; i++)
					str += '0';
				str += aux;
			}
			if(eval(str) == 0)
				str_final = "";
			else
				str_final = str.substr(0,2)+'/'+str.substr(2,2)+'/'+str.substr(4,4);
			break;
			
		case 'cep':
			if(aux.length <= 8) {
				str = "";
				len = 8 - aux.length;
				for(i=0; i<len; i++)
					str += '0';
				str += aux;
			}
			if(eval(str) == 0)
				str_final = "";
			else
				str_final = str.substr(0,2)+'.'+str.substr(2,3)+'-'+str.substr(5,3);
			break;
	}
	obj.value = str_final;
}

function somenteNumero(campo,event){
	var LEFT=37, RIGHT=39, DEL=46, BCK=8, ETR=13, TAB=9, key, tecla; 
	
	if(event.which)
		tecla = event.which;
	else
		tecla = event.keyCode;
		
	key=String.fromCharCode(tecla);
	
	if(tecla == ETR)
		return false;
	if(tecla==BCK || tecla==TAB || tecla==DEL || tecla==LEFT || tecla==RIGHT)
		return true;
		
    if (key.toUpperCase() == 'X') {//Gamby para funcionar o Banco do Brasil!!! :-P
		if(event.which)
			event.which = 88;
		else
			event.keyCode = 88; //88 eh 'X' na tabela ASCII.
    	return true;
    }
        
	return(/[0-9]/.test(key));
}