// ------------------------------------------------------------------------------
// Função Popup
function popUp(a, b, c, d) {
	var page = a;
	var lenX = b;
	var lenY = c;
	var scrl = d > 0 ? 'yes' : 'no';
	var posX = parseInt((screen.width / 2) - (lenX / 2));
	var posY = parseInt((screen.height / 2) - (lenY / 2));
	var name = 'POPUP';
	var attr = 'width=' + lenX + ',height=' + lenY + ',left=' + posX + ',top=' + posY + ',scrollbars=' + scrl;
	window.open(page, name, attr);
	void(0);
}
// Fim da Função Popup

// ------------------------------------------------------------------------------
// Função Valida CPF
function validaCPFCNPJ(objeto) {
	campo = eval (objeto);
	var invalid, s;
	invalid = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;
	var s;
	s = limpa_string(campo.value);
	
	// checa se é cpf	
	if (s.length == 11) {
		if (valida_CPF(campo.value) == false ) {
			alert("O CPF inválido !");
			setTimeout('campo.focus()',100)			
			return false;	
		}
        vc1 = s.substr(0,3);
        vc2 = s.substr(3,3);
        vc3 = s.substr(6,3);
		vc4 = s.substr(9,2);
		vcampo = vc1+"."+vc2+"."+vc3+"-"+vc4
		campo.value = vcampo
    }
     
    // checa se é cnpj
	else if (s.length == 14) {
		if (valida_CNPJ(campo.value) == false ) {
			alert("O CNPJ inválido !");
			setTimeout('campo.focus()',100)			
			//campo.focus();
			return false;	
		}
        vc1 = s.substr(0,2);
        vc2 = s.substr(2,3);
        vc3 = s.substr(5,3);
		vc4 = s.substr(8,4);
		vc5 = s.substr(12,2);
		vcampo = vc1+"."+vc2+"."+vc3+"/"+vc4+"-"+vc5
		campo.value = vcampo
	} else {
		if (s.length != 0) {
			alert("O CPF/CNPJ não é válido !");
			setTimeout('campo.focus()',100)			
			return false;
		}
	}
}

function limpa_string(S){
	var Digitos = "0123456789";
	var temp = "";
	var digito = "";
	for (var i=0; i<S.length; i++)	{
		digito = S.charAt(i);
		if (Digitos.indexOf(digito)>=0)	{
			temp=temp+digito	
		}
	} 
	return temp
}

function valida_CPF(s)	{
	var i;
	s = limpa_string(s);
	var c = s.substr(0,9);
	var dv = s.substr(9,2);
	var d1 = 0;
	for (i = 0; i < 9; i++)	{
		d1 += c.charAt(i)*(10-i);
	}
    if (d1 == 0) return false;
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(0) != d1){
		return false;
	}
	d1 *= 2;
	for (i = 0; i < 9; i++)	{
		d1 += c.charAt(i)*(11-i);
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(1) != d1)	{
		return false;
	}
    return true;
}

function valida_CNPJ(s){
	var i;
	s = limpa_string(s);
	var c = s.substr(0,12);
	var dv = s.substr(12,2);
	var d1 = 0;
	for (i = 0; i < 12; i++){
		d1 += c.charAt(11-i)*(2+(i % 8));
	}
    if (d1 == 0) return false;
    d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(0) != d1){
		return false;
	}
	d1 *= 2;
	for (i = 0; i < 12; i++){
		d1 += c.charAt(11-i)*(2+((i+1) % 8));
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(1) != d1){
		return false;
	}
	return true;
}

// --------------------------------------------------------------------------------------------------------
// Fim da Função Valida CPF

//Função de contador de texto
var ns6=document.getElementById&&!document.all		
function restrictinput(maxlength,e,placeholder){
	if (window.event&&event.srcElement.value.length>=maxlength)
		return false
	else if (e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength){
		var pressedkey=/[a-zA-Z0-9\.\,\/]/ //detect alphanumeric keys
		if (pressedkey.test(String.fromCharCode(e.which)))
			e.stopPropagation()
	}
}
function countlimit(maxlength,e,placeholder){
	var theform=eval(placeholder)
	var lengthleft=maxlength-theform.value.length
	var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder)
	if (window.event||e.target&&e.target==eval(placeholder)){
		if (lengthleft<0)
			theform.value=theform.value.substring(0,maxlength)
		placeholderobj.innerHTML=lengthleft
	}
}
function displaylimit(thename, theid, thelimit){
	var theform=theid!=""? document.getElementById(theid) : thename
	var limit_text='<span id="'+theform.toString()+'" class="span">'+thelimit+'</span>'
	if (document.all||ns6)
		document.write(limit_text)
	if (document.all){
		eval(theform).onkeypress=function(){ return restrictinput(thelimit,event,theform)}
		eval(theform).onkeyup=function(){ countlimit(thelimit,event,theform)}
	}
	else if (ns6){
		document.body.addEventListener('keypress', function(event) { restrictinput(thelimit,event,theform) }, true); 
		document.body.addEventListener('keyup', function(event) { countlimit(thelimit,event,theform) }, true); 
	}
}
