/*
vForm()
	Valida os campos do formulário.
*/
function vForm(vfields){
	for(var i = 0; i < vfields.length;i++){
		var field = document.getElementById(vfields[i]);
	}
}

function fDate(obj){
	var d = retNum(obj.value);
	dd = d.substr(0,2);
	mm = d.substr(2,2);
	aa = d.substr(4,4);
	if (dd.length != 2 || mm.length != 2) {
		obj.className='erro';
		alert('Dia e Mês devem conter 2 números');		
		obj.focus();		
	} else if (aa.length != 4) {
		obj.className='erro';
		alert('O Ano deve conter 4 números');
		obj.focus();
	} else {
		d = d.substr(0,2) + '/' + d.substr(2,2) + '/' + d.substr(4,4);
		obj.value=d;
		obj.className='normal';
	}
}
function vDate(id) {
	var obj = document.getElementById(id);
	hoje = new Date();	
	anoAtual = hoje.getFullYear();
	barras = obj.value.split("/");
	if (barras.length == 3){
		dia = barras[0];
		mes = barras[1];
		ano = barras[2];
		resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (!isNaN(ano) && (ano.length == 4) && (ano <= anoAtual && ano >= 1900));
		if (!resultado) {
			alert('A data informada não é válida');
			return (false);
		}
	} else {
		alert('Faltam dados na data informada.');
		return (false);
		}
		return (true);
}
/*
fFone()
	Valida os campos de telefone do formulário
*/
function fFone(obj){
	var fone=retNum(obj.value);
	var len = fone.length;
	var format = '';
	switch(len){
		case(12): format = '+99(99)9999-9999';	break;
		case(11): format = '+99(99)999-9999';	break;
		case(10): format = '(99)9999-9999';		break;
		case( 9): format = '(99)999-9999' ;		break;
		case( 8): format = '9999-9999'; 		break;
		case( 7): format = '999-9999';			break;
	}
	var ctr=0;
	var txt='';
	for(var i = 0; i<len;i++){
		var chr = fone.charAt(i);
		var fmt = format.charAt(i+ctr);
		if(fmt != '9'){
			txt+=fmt;
			ctr++;
		}
		txt+=chr;
	}
	if(txt.length > format.length || format != ''){
		obj.value = txt.substr(0,format.length);
	} else {
		obj.value=txt;
	}
}
function vFone(id){
	var obj = document.getElementById(id);
	var fone=retNum(obj.value);
	var len = fone.length;
	if(len < 7){
		return (false);
	}
	return (true);
}
/*
vCpf()
	Valida o CPF no formulário
*/
function vCpf(id){
	var obj = document.getElementById(id);
	var cpf  = retNum(obj.value);
	var dig  = cpf.substr(9,11);
	var key  ="098765432";
	var soma = 0;
	var dkey, dcpf;
	for(var i=0;i<9;i++){
		dkey = key.charAt(i);
		dcpf = cpf.charAt(i);
		dkey = i==0 && dkey==0 ? 10 : dkey;
		soma+=dkey * dcpf;
	}
	resultado = soma % 11;
	dv1 = resultado == 0 || resultado == 1 ? 0 : 11 - resultado;
	var key = "1098765432";
	var cpf = cpf.toString() + dv1.toString();
	soma=0;
	for(var i=0;i<10;i++){
		dkey = key.charAt(i);
		dcpf = cpf.charAt(i);
		dkey = i==1 && dkey==0 ? 10 : dkey;
		dkey = i==0 && dkey==1 ? 11 : dkey;
		soma += dkey * dcpf;
	}
	resultado = soma % 11;
	dv2 = resultado == 0 || resultado == 1 ? 0 : 11 - resultado;
	newdig = dv1.toString() + dv2.toString();
	cpf = cpf.substr(0,9);
	cpf = cpf.substr(0,3)+'.'+cpf.substr(3,3)+'.'+cpf.substr(6,3)+'-'+newdig;
	return(dig == newdig ? cpf: false);
}
/*
fCep()
	Valida os campos de CEP no formulário.
*/
function fCep(obj){
	var cep = retNum(obj.value);
	cep = cep.substr(0,2) + '.' + cep.substr(2,3) + '-' + cep.substr(5,3);
	obj.value = cep;
}

function vCep(id){
	var obj = document.getElementById(id);
	var cep=retNum(obj.value);
	var len = cep.length;
	if(len < 8){
		return (false);
	}
	return (true);
}
/*
retNum()
	Retorna apenas os números de uma string.
*/
function retNum(t){
	var validchars = "0123456789";
	var newt="";
	for(var i = 0; i<t.length;i++){
		if(validchars.indexOf(t.charAt(i))!= -1){
			newt+=t.charAt(i);
		}
	}
	return(newt);
}

/*
vMoney()
	Valida os campos de currency no formulário.
*/
/*
function formatAsMoney(mnt) {
    mnt -= 0;
    mnt = (Math.round(mnt*100))/100;
    return (mnt == Math.floor(mnt)) ? mnt + '.00' 
              : ( (mnt*10 == Math.floor(mnt*10)) ? 
                       mnt + '0' : mnt);
}
*/
function vMoney(){
}
/*
vCnpj()
	Valida o CNPJ no formulário
*/
function vCnpj(id){
	var obj = document.getElementById(id);
	var cnpj = retNum(obj.value);
	var dig = cnpj.substr(12,2);
	var cnpj = cnpj.substr(0,12);
	var key = "543298765432";
	var soma = 0;
	for(var i = 0; i < cnpj.length;i++){
		soma += (new Number(cnpj.charAt(i)) * new Number(key.charAt(i)));
	}
	var resultado = soma % 11;
	var dv1 = resultado == 0 || resultado == 1 ? 0 : 11 - resultado;
	cnpj = cnpj.toString() + dv1.toString();
	var key = "6543298765432";
	var soma = 0;
	for(var i=0;i<cnpj.length;i++){
		soma += cnpj.charAt(i) * key.charAt(i);
	}
	var resultado = soma % 11;
	var dv2 = resultado == 0 || resultado == 1 ? 0 : 11 - resultado;
	
	var newdig = dv1.toString() + dv2.toString();
	cnpj = newdig == dig ? cnpj.toString() + dv2.toString() : false;
	return(cnpj);
}

function vNome(id) {
	var obj = document.getElementById(id);
	if (retNum(obj.value) > 0) return (false);
	var len = obj.value.length;	
	if(len < 7){
		return (false);
	}
	if (obj.value.indexOf(" ") < 1) {
		return (false);
	}
	return (true);
}

function vEmail(id) {
	var obj = document.getElementById(id);
	parte1 = obj.value.indexOf("@");
	parte2 = obj.value.indexOf(".");
	parte3 = obj.value.length;
	if (!(parte1 >= 3 && parte2 >= 6 && parte3 >= 9)) {
		return (false);
	}
	return (true);
}

function vNum(id){
	var obj = document.getElementById(id);
	var numbers = "0123456789";
	var txt = obj.value;
	var ret = '';
	for(var i=0;i<txt.length;i++) if(numbers.indexOf(txt.charAt(i)) !== -1) ret+=txt.charAt(i);
	if(txt == ret){
		return(txt);
	} else {
		return(false);
	}
}

function setStyleError(id) {
	var obj = document.getElementById(id);
	obj.className='erro';	
}

function vCommon(id){
	var obj = document.getElementById(id);
	if(obj.value.length < 1){
		return(false);
	} else {
		return(obj.value);
	}
}

function popper(pg,w,h) {
	var open = void(window.open(''+pg+'','','width='+w+',height='+h+''));	
}
