// Função para abrir ajax
function openAjax() {
	var ajax;
	try {
		ajax = new XMLHttpRequest();
	} catch(ee) {
		try {
			ajax = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				ajax = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(E) {
				ajax = false;
				
			}
		}
	}
	return ajax;
}
// Função getElementById
function gE(ID) {
	return document.getElementById(ID);
}

// Função getElementsByTagName
function gEs(tag) {
	return document.getElementsByTagName(tag);
}

// Função getElementsByName
function gN(tag) {
	return document.getElementsByName(tag);
}

// Função para enviar dados via post
function cPost(dados){
	dados = dados.replace(/[&]/g,'%26');
	dados = escape(dados);
	return dados;
}

// Abre e fecha box de ajuda
function ajuda(ajudaBox){
	if(gE(ajudaBox).className == 'divAjudaBoxOn'){
		gE(ajudaBox).className = 'divAjudaBoxOff';
	} else {
		gE(ajudaBox).className = 'divAjudaBoxOn';
	}
}

// Contador de caracteres
function contaCaracteres(campo,div,total){
	gE("divContaCaracteres["+div+"]").innerHTML = "- " + gE(campo).value.length + " de "+ total +" caracteres";
}

// Função para validar check box
function validaCheckBox(campo,total,formulario){
	enc = false;
	
	if(document[formulario][total]){
		for(i=0;i<document[formulario][total].value;i++){
			if(document[formulario][campo+"["+i+"]"].checked){
				enc = true;
			}
		}
	}
	
	return enc;
}

// Função para exibir carregando ajax
function ajaxCarregando(status,largura,altura){	
	if(status){
		var browser=navigator.appName;
		if(browser == "Microsoft Internet Explorer"){
			scrollTop = document.documentElement.scrollTop;
		} else { 
			scrollTop = window.pageYOffset;
		}
		
		window.onscroll = function(){
			if(browser == "Microsoft Internet Explorer"){
				scrollTop = document.documentElement.scrollTop;
			} else { 
				scrollTop = window.pageYOffset;
			}
			
			document.getElementById('ajaxCarregandoPage').style.marginTop = (scrollTop-(parseInt(altura+46)/2))+"px";
			document.getElementById('ajaxCarregandoBg').style.top = scrollTop+"px";
		}
		
		document.getElementById('ajaxCarregandoBg').style.display = 'block';
		document.getElementById('ajaxCarregandoPage').style.display = 'block';
		document.getElementById('ajaxCarregandoPage').style.width = largura+'px';
		document.getElementById('ajaxCarregandoPage').style.height = altura+'px';
	 
		document.getElementById('ajaxCarregandoPage').style.marginTop = (scrollTop-(parseInt(altura+46)/2))+"px";
		document.getElementById('ajaxCarregandoPage').style.marginLeft = "-"+(parseInt(largura+46)/2)+"px";
		document.getElementById('ajaxCarregandoBg').style.top = scrollTop+"px";
	} else {
		window.onscroll = function(){ }
		
		document.getElementById('ajaxCarregandoBg').style.display='none';
		document.getElementById('ajaxCarregandoPage').style.display='none';
	}
}

// Função para abrir iframe dentro do ajax
function ajaxIframe(status,largura,altura,src){	
	document.getElementById('ajaxIframeIframe').width = largura;
	document.getElementById('ajaxIframeIframe').height = altura;

	if(status){
		var browser=navigator.appName;
		if(browser == "Microsoft Internet Explorer"){
			scrollTop = document.documentElement.scrollTop;
		} else { 
			scrollTop = window.pageYOffset;
		}
		
		window.onscroll = function(){
			if(browser == "Microsoft Internet Explorer"){
				scrollTop = document.documentElement.scrollTop;
			} else { 
				scrollTop = window.pageYOffset;
			}
			
			document.getElementById('ajaxIframePage').style.marginTop = (scrollTop-(parseInt(altura+6)/2))+"px";
			document.getElementById('ajaxIframeBg').style.top = scrollTop+"px";
		}
		
		document.getElementById('ajaxIframeBg').style.display = 'block';
		document.getElementById('ajaxIframePage').style.display = 'block';
		document.getElementById('ajaxIframePage').style.width = largura+'px';
		document.getElementById('ajaxIframePage').style.height = altura+'px';
	 
		document.getElementById('ajaxIframePage').style.marginTop = (scrollTop-(parseInt(altura+6)/2))+"px";
		document.getElementById('ajaxIframePage').style.marginLeft = "-"+(parseInt(largura+6)/2)+"px";
		document.getElementById('ajaxIframeBg').style.top = scrollTop+"px";
		
		document.getElementById('ajaxIframeIframe').src = src;
		document.getElementById('ajaxIframeBg').onclick = function (){ ajaxIframe(0,0,0,""); }
	} else {
		window.onscroll = function(){ }
		
		document.getElementById('ajaxIframeBg').style.display='none';
		document.getElementById('ajaxIframePage').style.display='none';
	}
}

// Função para validar CPF
function validaCPF(CNUMB) {
	if(Verify(CNUMB, "CPF")) {
		return(true);
	} else {
		return(false);
	}
	return;
}

// Função para validar CNPJ
function validaCNPJ(CNUMB) {
	if(Verify(CNUMB, "CNPJ")) {
		return(true);
	} else {
		return(false);
	}
	return;
}

// Função complementar para valida CPF e CNPJ
function ClearStr(str, char)
{
  while((cx=str.indexOf(char))!=-1)
  {		
    str = str.substring(0,cx)+str.substring(cx+1);
  }
  return(str);
}

// Função complementar para valida CPF e CNPJ
function ParseNumb(c) {
	c=ClearStr(c,'-');
	c=ClearStr(c,'/');
	c=ClearStr(c,',');
	c=ClearStr(c,'.');
	c=ClearStr(c,'(');
	c=ClearStr(c,')');
	c=ClearStr(c,' ');
	if((parseFloat(c) / c != 1)) {
		if(parseFloat(c) * c == 0) {
			return(c);
		} else {
			return(0);
		}
	} else {
		return(c);
	}
}

// Função complementar para valida CPF e CNPJ
function Verify(CNUMB,CTYPE) {
	CNUMB=ParseNumb(CNUMB)
	if(CNUMB == 0) {
		return(false);
	} else {
		g=CNUMB.length-2;
		if(TestDigit(CNUMB,CTYPE,g)) {
			g=CNUMB.length-1;
			if(TestDigit(CNUMB,CTYPE,g)) {	
				return(true);
			} else {
				return(false);
			}
		} else {
			return(false);
		}
	}
}

// Função complementar para valida CPF e CNPJ
function TestDigit(CNUMB,CTYPE,g) {
	var dig=0;
	var ind=2;
	for(f=g;f>0;f--) {
		dig+=parseInt(CNUMB.charAt(f-1))*ind;
		if (CTYPE=='CNPJ') { 
			if(ind>8) {
				ind=2
			} else {
				ind++
			} 
		} else { 
			ind++
		}
	}
	dig%=11;
	if(dig<2) {
		dig=0;
	} else {
		dig=11-dig;
	}
	if(dig!=parseInt(CNUMB.charAt(g))) {
		return(false);
	} else {
		return(true);
	}
}
