function abre_pop(url,largura,altura) {
	window.open(url, "pop", "toolbar=0,location=0,directories=0,status=0,menubar=no,scrollbars=no,resizable=no,width="+largura+",height="+altura);
}

// Verifica se todos os valores são iguais
function EhIgual(campo) { 
	var i = 0
	var j = 1
	var igual = true;
	// Todos os caracteres devem ser diferentes
	while (i < campo.length-1 && igual == true) {
		while (j < campo.length && igual == true) {
			if (campo.charAt(i) != campo.charAt(j)) {
				igual = false;
			}
			else j++;
		}
		i++;
	}
	return igual;
}

function isQtdeCaracter(iCampo, iTamanho, iNomeCampo) {
	if (iCampo.value.length > iTamanho){
		alert(iNomeCampo + ' só aceita ' + iTamanho + ' caracteres.');
		return false;
	}
	return true;
}

function isQtdeCaracter1(iCampo, iTamanho, iNomeCampo) {
	if (iCampo.value.length < iTamanho){
		alert(iNomeCampo + ' tem que possuir pelo menos ' + iTamanho + ' caracteres.');
		return false;
	}
	return true;
}

function isQtdeCaracter2(iCampo, iTamanho, iNomeCampo) {
	if (iCampo.value.length < iTamanho){
		alert(iNomeCampo + ' tem que possuir pelo menos ' + iTamanho + ' dígitos.');
		iCampo.focus();
		return false;
	}
	return true;
}

function isVazio(iForm,iCampo,iNomeCampo) {
	if (iForm.elements[iCampo].value == false) {
	    if (iNomeCampo!='')
		    alert(iNomeCampo + ' é obrigatório.');
		iForm.elements[iCampo].focus();
		return false;
	}
	return true;
}

function isEmailControl(iCampo,iNomeCampo) {
	var str = iCampo.value;
	var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	if (iCampo.value == false){
	    return true
	} else {
	    if ( (!r1.test(str) && r2.test(str)) ) {
		    return true;
	    } else {
		    iCampo.focus();
		    alert(iNomeCampo+" inválido.");
		    return false;
	    }
	}
	return true;
}
function isVazioControl(iCampo,iNomeCampo) {
	if (iCampo.value == false) {
		alert(iNomeCampo + ' é obrigatório.');
		iCampo.focus();
		return false;
	}
	return true;
}

function isChecado(iForm,iCampo,iNomeCampo) {
	var checado = false;
	for (i=0;i<iForm.elements[iCampo].length;i++){
		if (iForm.elements[iCampo][i].checked==true){
			checado = true;
		}
	}
	if (checado != true) {
	    if (iNomeCampo!='')
		    alert( 'Selecione o campo ' + iNomeCampo + '.');
		return false;
	} else {
		return true;
	}
}

function isCnpj(iForm,iCampo, iNomeCampo) {
	var iCnpj = null;
	iCnpj = iForm.elements[iCampo].value;
	invalidChars = " /:,;-..";
	for (i=0; i < invalidChars.length; i++) {
		badChar = invalidChars.charAt(i);
		iCnpj = iCnpj.replace(badChar,"");
	}
	if (EhIgual(iCnpj)==true) { 
		iForm.elements[iCampo].focus();
		if (iNomeCampo!='')
		    alert(iNomeCampo + ' é inválido.');
		return false; 
	}
	dac1 = 0; 
	dac2 = 0; 
	dac = ""; 
	dact = ""; 
	sum = 0;
	iCampo1="";
	dac = iCnpj.substring(iCnpj.length-2, iCnpj.length);
	iCampo1 = iCnpj.substring(0,iCnpj.length-2);
	for (i=iCampo1.length-1, j=2; i >= 0 ; i--, j++) {	
		j = (j == 10) ? 2 : j; 
		sum += (iCampo1.substring(i, i+1) * j); 
	}
	dac1 = ((sum * 10) % 11); 
	dac1 = (dac1 == 10) ? 0 : dac1; 
	sum = 0;
	for (i=iCampo1.length-1, j=3; i >= 0 ; i--, j++){	
		j = (j == 10) ? 2 : j; 
		sum += (iCampo1.substring(i, i+1) * j); 
	}
	sum  += (dac1 * 2); 
	dac2 = ((sum * 10) % 11); 
	dac2 = (dac2 == 10) ? 0 : dac2; 
	dact = dac1+""+dac2;
	if (dact == dac) {
		iForm.elements[iCampo].value = iCnpj;
		return true;
	} else {	
		iForm.elements[iCampo].focus();
		if (iNomeCampo!='')
		    alert(iNomeCampo + ' é inválido.');
		return false; 
	}
}

function isCpf(iForm,iCampo, iNomeCampo){
	var iCpf = null;
	iCpf = iForm.elements[iCampo].value;
	invalidChars = " /:,;-..";
	for (i=0; i < invalidChars.length; i++) {
		badChar = invalidChars.charAt(i);
		iCpf = iCpf.replace(badChar,"");
	}
	if (EhIgual(iCpf)==true) { 
		iForm.elements[iCampo].focus();
	    if (iNomeCampo!='')
    		alert(iNomeCampo + ' é inválido.');
		return false; 
	}
	x=0; 
	soma=0; 
	dig1=0; 
	dig2=0; 
	texto=""; 
	iCampo1="";
	len = iCpf.length; 
	x = len -1;
	for (var i=0; i <= len - 3; i++) {
		y = iCpf.substring(i,i+1); 
		soma = soma + ( y * x);
		x = x - 1; 
		texto = texto + y;
	}
	dig1 = 11 - (soma % 11);
	if (dig1 == 10) dig1=0 ; 
	if (dig1 == 11) dig1=0 ;
	iCampo1 = iCpf.substring(0,len - 2) + dig1 ;
	x = 11; soma=0;
	for (var i=0; i <= len - 2; i++) {
		soma = soma + (iCampo1.substring(i,i+1) * x); 
		x = x - 1;
	}
	dig2= 11 - (soma % 11);
	if (dig2 == 10) dig2=0; 
	if (dig2 == 11) dig2=0;
	if ((dig1 + "" + dig2) == iCpf.substring(len,len-2)) {
		iCampo.value = iCpf;
		return true;
	}
	iForm.elements[iCampo].focus();
	if (iNomeCampo!='')
    	alert(iNomeCampo + ' é inválido.');
	return false; 
}

function isData(iForm,iCampoDia,iCampoMes,iCampoAno, iNomeCampo){
	var dia = iForm.elements[iCampoDia].value
	var mes = iForm.elements[iCampoMes].value
	var ano = iForm.elements[iCampoAno].value
	var now = new Date();
	var MaxAno = now.getFullYear()+50;

	if (!(isInteiro(dia) && isInteiro(mes) && isInteiro(ano))) {
		if (iNomeCampo!='')
    	    alert(iNomeCampo + ' formato inválido.');
		iForm.elements[iCampoDia].focus();
		return false;
	}
	if ((eval(dia) > 31) || (eval(mes) > 12) || (eval(ano) > MaxAno) || (eval(ano) < 1900))	{
		if (iNomeCampo!='')
    	    alert(iNomeCampo + ' é inválido.');
		iForm.elements[iCampoDia].focus();
		return false;
	}
	if((eval(mes) == 1) || (eval(mes) == 3) || (eval(mes) == 5) || (eval(mes) == 7) || (eval(mes) == 8) || (eval(mes) == 10) || (eval(mes) == 12))	{
		if(eval(dia) > 31)	{
			if (iNomeCampo!='')
    	        alert(iNomeCampo + ' é inválido.');
			iForm.elements[iCampoDia].focus();
			return false;
		}				
	}
	if((eval(mes) == 4) || (eval(mes) == 6) || (eval(mes) == 9) || (eval(mes) == 11))	{
		if(eval(dia) > 30)		{
			if (iNomeCampo!='')
    	        alert(iNomeCampo + ' é inválido.');
			iForm.elements[iCampoDia].focus();
			return false;
		}
	}
	
	if(eval(mes) == 2)	{
		var MaxDia = 0
		if(eval(ano) % 4 == 0)		{
			MaxDia = 29
		} else {
			MaxDia = 28
		}
		if(eval(dia) > MaxDia)		{
			if (iNomeCampo!='')
    	        alert(iNomeCampo + ' é inválido.');
			iForm.elements[iCampoDia].focus();
			return false;
		}
	}
	return true;
}


function isEmail(iForm,iCampo,iNomeCampo) {
	var str = iForm.elements[iCampo].value;
	var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	if ( (!r1.test(str) && r2.test(str)) ) {
		return true;
	} else {
		iForm.elements[iCampo].focus();
		if (iNomeCampo != '')
		    alert(iNomeCampo+" inválido.");
		return false;
	}
	return true;
}

function isFormatoData(iCampo){
	var barra = '/';
	var iCampo1 = iCampo.value;
	var pos1 = iCampo1.indexOf(barra);
	var pos2 = iCampo1.indexOf(barra,pos1+1);
	if (pos1 != 2 || pos2 != 5){
		return false;
	}
	var dia = iCampo1.substring(0,pos1);
	var mes = iCampo1.substring(pos1+1,pos2);
	var ano = iCampo1.substring(pos2+1);
	if (!(isInteiro(dia) && isInteiro(mes) && isInteiro(ano))){
		return false;
	}
	return true;
}

function isIgual(iForm, iCampo1, iCampo2, iNomeCampo1, iNomeCampo2) {
	if (iForm.elements[iCampo1].value != iForm.elements[iCampo2].value){
		iForm.elements[iCampo2].focus();
		if (iNomeCampo1 != '')
    		alert('O campo '+iNomeCampo1+' não é igual ao campo '+iNomeCampo2);
		return false;
	}
	return true;
}


function isInteiro(iCampo){
	var i;
    for (i = 0; i < iCampo.length; i++){   
        var c = iCampo.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    return true;
}


function isNumerico(iForm, iCampo, iNomeCampo) {
	var CaractereInvalido = false;
	if (!(isInteiro(iCampo.value))){
		CaractereInvalido = true;
	}
	for (i=0; i < iForm.elements[iCampo].value.length; i++) {
		var Caractere = iForm.elements[iCampo].value.charAt(i);
		if(Caractere != "." && Caractere != "," && Caractere != "-"){
         	if (isNaN(parseInt(Caractere))) CaractereInvalido = true;
		}
	}
	if (!CaractereInvalido == true) {
		return true;
   	} else {
		iForm.elements[iCampo].focus();
		alert(iNomeCampo + ' deve conter apenas números.');
		return false;
	}
}

function isNumMax(iForm,iCampo, iMax, iNomeCampo) {
	if (!(isInteiro(iCampo.value))){
		iForm.elements[iCampo].focus();
		alert(iNomeCampo + ' deve conter apenas números.');
		return false;
	}
	if (iForm.elements[iCampo].value > iMax)
	    {
		iForm.elements[iCampo].focus();
		alert(iNomeCampo + ' deve ser no máximo ' + iMax + '.');
		return false;
	}
	return true;
}

function isSelecionado(iForm,iCampo, iNomeCampo) {
	if (iForm.elements[iCampo].selectedIndex==0) {
		iForm.elements[iCampo].focus();
		if (iNomeCampo != '')
    		alert(iNomeCampo + ' não foi selecionado.');
		return false;
	} else {
		return true;
	}
}

function isTamanhoDefinido(iCampo, iMinimo, iMaximo, iNomeCampo){
	if (eval(iCampo.value.length) < iMinimo || eval(iCampo.value.length) > iMaximo){
		iCampo.focus();
		alert(iNomeCampo + ' deve ter no mínimo ' + iMinimo + ' e no máximo ' + iMaximo + ' caracteres.');
		return false;
	} else {
		return true;
	}
}

function isValor(iCampo, iNomeCampo){
	var objRegExp  =  /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/; 
 	if (!(objRegExp.test(iCampo.value))) {
		alert(iNomeCampo + ' não é um valor válido.');
		iCampo.focus();
		return false;
	} else {
		return true;
	}

}


//FUNÇÃO CEP
function consultaCEP(){
	window.open('http://www.correios.com.br/servicos/cep/cep_default.cfm','CEP','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=690,height=520');
}


