function vpchk(pw){
	var f = 0;

	if(pw.length >= 6 && pw.length <= 20){
		if(pw.match(/[!@#$%&*?,;.:\-_+a-zA-Z0-9]/)){
			if(vform(pw)){	
				if(vseq(pw)){
					f++;
					if(pw.match(/[0-9]/) && pw.match(/[^0-9]/)){
						f++; 
					}
					if(pw.match(/[a-z]/) && pw.match(/[A-Z]/)){
						f++;
					}
					if(pw.match(/[!@#$%&*?,;.:\-_+]/)){
						f++;
					}
					f += Math.floor((pw.length-6)/3); //Ganha até 4 pontos com relação ao tamanho (18,19,20 ganha 4)
				
					if(f < 3){
						document.getElementById("display").innerHTML = "Força da senha: fraca";
					}else if(f >= 3 && f < 5){
						document.getElementById("display").innerHTML = "Força da senha: media";
					}else if(f >= 5 && f < 7){
						document.getElementById("display").innerHTML = "Força da senha: forte";
					}else{
						document.getElementById("display").innerHTML = "Força da senha: muito forte";
					}
					return true;
				}else{
					document.getElementById("display").innerHTML = "Mais de 3 caracteres repetidos ou em sequencia comum";	
					return false;
				}
			}else{
				document.getElementById("display").innerHTML = "Há informações do seu cadastro em sua senha";
				return false;
			}
		}else{
			document.getElementById("display").innerHTML = "Caracteres inválidos";
			return false;
		}
	}else{
		document.getElementById("display").innerHTML = "Digite de 6 a 20 caracteres";
		return false;
	}
}

function vseq(pw){
	repeat = 3;
	lower   = "abcdefghijklmnopqrstuvwxyz";
	upper   = lower.toUpperCase();
	numbers = "0123456789";
	lqwerty  = "qwertyuiopasdfghjklzxcvbnm";
	uquerty = lqwerty.toUpperCase();
	
	var lstr = "";
	var ustr = "";
	for(i = 0; i < lower.length-repeat+1; i++){
		lstr = lower.substr(i, repeat+1);
		ustr = upper.substr(i, repeat+1);
		if(pw.indexOf(lstr)>=0 || pw.indexOf(ustr)>=0){
			return false;
		}
	}
	
	var nstr = "";
	for(i = 0; i < numbers.length-repeat+1; i++){
		nstr = numbers.substr(i, repeat+1);
		if(pw.indexOf(nstr)>=0){
			return false;
		}
	}

	var lqstr = "";
	var uqstr = "";
	for(i = 0; i < lqwerty.length-repeat+1; i++){
		lqstr = lqwerty.substr(i, repeat+1);
		uqstr = uquerty.substr(i, repeat+1);
		if(pw.indexOf(lqstr)>=0 || pw.indexOf(uqstr)>=0){
			return false;
		}
	}
	
	r = 0;
	for(i = 0; i <= pw.length; i++){
		if(pw.substr(i, 1)==pw.substr(i+1, 1)){
			r++;
			if(r >= repeat){
				return false;
			}
		}else{
			r = 0;
		}
	}
	
	
	return true;
}

function vform(pw){
	
	var form = document.getElementsByTagName("form");
	
	elem = form[1].elements;
	
	for(i = 0;i < elem.length; i++){
		if(elem[i].getAttribute("type")!="password" && elem[i].value.length > 0 && elem[i].value.indexOf(pw)>=0){
			return false;	
		}
	}

	return true;

}

function right(e) 
{
    if (navigator.appName == 'Netscape' && (e.which == 3 || e.which == 2))
        return false;
    else if (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 2 || event.button == 3)) 
    {
         alert("Caso deseje algo, entre em contato com nosso departamento Comercial.");
         return false;
    }
    return true;
}

//document.onmousedown=right;

//if (document.layers) 
//     window.captureEvents(Event.MOUSEDOWN);

//window.onmousedown=right;


function chkCPFCNPJ(digitado){
  
	if (digitado.value == ""){
		alert("Por favor digite o CPF ou CNPJ");
		digitado.focus();
		return (false);
	}
  
	if ((digitado.value.length == 11) && (digitado.value == 11111111111 || digitado.value == 22222222222 || digitado.value == 33333333333 || digitado.value == 44444444444 || digitado.value == 55555555555 || digitado.value == 66666666666 || digitado.value == 77777777777 || digitado.value == 88888888888 || digitado.value == 99999999999 || digitado.value == 00000000000)){
		
		alert("CPF inválido.");
		digitado.focus();
		return (false);
	}
	
	if ((digitado.value.length == 14) && (digitado.value == 11111111111111 || digitado.value == 22222222222222 || digitado.value == 3333333333333 || digitado.value == 44444444444444 || digitado.value == 5555555555555 || digitado.value == 66666666666666 || digitado.value == 77777777777777 || digitado.value == 88888888888888 || digitado.value == 99999999999999 || digitado.value == 00000000000000)){
		
		alert("CNPJ inválido.");
		digitado.focus();
		return (false);
	}

	if (!((digitado.value.length == 11) || (digitado.value.length == 14))){
		alert("CPF/CNPJ inválido.");
		digitado.focus();
		return (false);
	}

	var checkOK = "0123456789";
	var checkStr = digitado.value;
	var allValid = true;
	var allNum = "";
	
	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++){
			if (ch == checkOK.charAt(j))
				break;
		}
			
		if (j == checkOK.length){
			allValid = false;
			break;
		}
		allNum += ch;
	}
  
	if (!allValid){
		alert("Favor preencher somente com números o campo CPF/CNPJ.");
		digitado.focus();
		return (false);
	}

	var chkVal = allNum;
	var prsVal = parseFloat(allNum);
	if (chkVal != "" && !(prsVal > "0")){
		alert("Favor preencher o campo CPF/CNPJ com números.");
		digitado.focus();
		return (false);
	}

	if (digitado.value.length == 11){
		var tot = 0;

		for (i = 2;  i <= 10;  i++){
			tot += i * parseInt(checkStr.charAt(10 - i));
		}
		
		if ((tot * 10 % 11 % 10) != parseInt(checkStr.charAt(9))){
			alert("CPF inválido.");
			digitado.focus();
			return (false);
		}
  
		tot = 0;
  
		for (i = 2;  i <= 11;  i++){
			tot += i * parseInt(checkStr.charAt(11 - i));
		}

		if ((tot * 10 % 11 % 10) != parseInt(checkStr.charAt(10))){
			alert("CPF inválido.");
			digitado.focus();
			return (false);
		}
	}else{
		var tot  = 0;
		var peso = 2;
  
		for (i = 0;  i <= 11;  i++){
			tot += peso * parseInt(checkStr.charAt(11 - i));
			peso++;
			if (peso == 10){
				peso = 2;
			}
		}

		if ((tot * 10 % 11 % 10) != parseInt(checkStr.charAt(12))){
			alert("CNPJ inválido.");
			digitado.focus();
			return (false);
		}
  
		tot  = 0;
		peso = 2;
  
		for (i = 0;  i <= 12;  i++){
			tot += peso * parseInt(checkStr.charAt(12 - i));	
			peso++;
			if (peso == 10){
				peso = 2;
			}
		}

		if ((tot * 10 % 11 % 10) != parseInt(checkStr.charAt(13))){
			alert("CNPJ inválido.");
			digitado.focus();
			return (false);
		}
	}
	return(true);
}


