function validacpf(cpf,req){
	var msg='';
	cpf = tiraSimb(cpf);
	if ((cpf.length == 0) && (req)){
		msg = 'obrigatório';
	}else if (cpf.length == 11) {
		var n1 = parseInt(cpf.charAt(0),10);
		var n2 = parseInt(cpf.charAt(1),10);
		var n3 = parseInt(cpf.charAt(2),10);
		var n4 = parseInt(cpf.charAt(3),10);
		var n5 = parseInt(cpf.charAt(4),10);
		var n6 = parseInt(cpf.charAt(5),10);
		var n7 = parseInt(cpf.charAt(6),10);
		var n8 = parseInt(cpf.charAt(7),10);
		var n9 = parseInt(cpf.charAt(8),10);
		var dig = cpf.substr(9,2);
		var calc = '';
		var d1=0;
		var d2=0;
		d1 = n9*2 + n8*3 + n7*4 + n6*5 + n5*6 + n4*7 + n3*8 + n2*9 + n1*10; 
		d1 = 11 - (d1 % 11);
		if (d1 >= 10) 
			d1 = 0; 
		d2 = d1*2 + n9*3 + n8*4 + n7*5 + n6*6 + n5*7 + n4*8 + n3*9 + n2*10 + n1*11; 
		d2 = 11 -(d2 % 11); 
		if (d2 >= 10) 
			d2 = 0; 
		calc = ''+d1+d2; 
		if (calc == dig) 
			ret = true 
		else 
			ret = false; 
		if (!ret) {
			msg = 'inválido';
		}else  msg = '';
	}else if ((cpf.length > 0) && (cpf.length <11))  msg = 'inválido';
	return (msg);
}
