// JavaScript Document

// NESSE ARQUIVO, COLOCAR -* APENAS *- FUNÇÕES QUE PODEM SER UTILIZADAS EM VÁRIOS LOCAIS DO SITE
// FUNÇÕES LOCAIS DE CADA ÁREA, FAVOR ADICIONAR UM JS NA PRÓPRIA PASTA.

// ---------------------------------- FUNÇÕES GERAIS ---------------------------------------------------------- //

function getScrollTop() {
	if (self.pageYOffset) // all except Explorer
	{
		return self.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
		// Explorer 6 Strict
	{
		return document.documentElement.scrollTop;
	}
	else if (document.body) // all other Explorers
	{
		return document.body.scrollTop;
	}
}

function getViewportHeight() {
	if (window.innerHeight!=window.undefined) return window.innerHeight;
	if (document.compatMode=='CSS1Compat') return document.documentElement.clientHeight;
	if (document.body) return document.body.clientHeight; 

	return window.undefined; 
}

function getViewportWidth() {
	var offset = 17;
	var width = null;
	if (window.innerWidth!=window.undefined) return window.innerWidth; 
	if (document.compatMode=='CSS1Compat') return document.documentElement.clientWidth; 
	if (document.body) return document.body.clientWidth; 
}

function focaCampo(objeto) {
	objeto.focus();
}


function alteraCor(objeto) {
	
	objeto.style.color = "#FFFFFF";
	objeto.style.backgroundColor = "#FF0000";
	
	focaCampo(objeto);
	
	setTimeout(function(){						
						objeto.style.color = "";
						objeto.style.backgroundColor = "";
						}, 2000);
	
}

function AjaxRequest() {

	try	{
		// Firefox, Opera 8.0+, Safari
		Ajax=new XMLHttpRequest();
	}

	catch (e)
	{
		// Internet Explorer
		try
		{
		Ajax=new ActiveXObject("Msxml2.XMLHTTP");
		}
	catch (e)
		{
		try
			{
			Ajax=new ActiveXObject("Microsoft.XMLHTTP");
			}
		catch (e)
		{
			alert("Your browser does not support AJAX!");
			return false;
		}
	}
}
}

function randomico() {
	return "?rnd=" + Math.random();
}


function setTitle(titulo) {
	document.title = titulo;
}

function checaCPF(valor) {
var CPF = valor; // Recebe o valor digitado no campo

// Verifica se o campo é nulo
if (CPF == '') {
  return false;
}

if (CPF == "11111111111" || CPF == "22222222222" || CPF == "33333333333" || CPF == "44444444444" || CPF == "55555555555" || CPF == "66666666666" || CPF == "77777777777" || CPF == "88888888888" || CPF == "99999999999" || CPF == "00000000000") {
	return false;
}

// Aqui começa a checagem do CPF
var POSICAO, I, SOMA, DV, DV_INFORMADO;
var DIGITO = new Array(10);
DV_INFORMADO = CPF.substr(9, 2); // Retira os dois últimos dígitos do número informado

// Desemembra o número do CPF na array DIGITO
for (I=0; I<=8; I++) {
  DIGITO[I] = CPF.substr( I, 1);
}

// Calcula o valor do 10º dígito da verificação
POSICAO = 10;
SOMA = 0;
   for (I=0; I<=8; I++) {
      SOMA = SOMA + DIGITO[I] * POSICAO;
      POSICAO = POSICAO - 1;
   }
DIGITO[9] = SOMA % 11;
   if (DIGITO[9] < 2) {
        DIGITO[9] = 0;
}
   else{
       DIGITO[9] = 11 - DIGITO[9];
}

// Calcula o valor do 11º dígito da verificação
POSICAO = 11;
SOMA = 0;
   for (I=0; I<=9; I++) {
      SOMA = SOMA + DIGITO[I] * POSICAO;
      POSICAO = POSICAO - 1;
   }
DIGITO[10] = SOMA % 11;
   if (DIGITO[10] < 2) {
        DIGITO[10] = 0;
   }
   else {
        DIGITO[10] = 11 - DIGITO[10];
   }

// Verifica se os valores dos dígitos verificadores conferem
DV = DIGITO[9] * 10 + DIGITO[10];
   if (DV != DV_INFORMADO) {
      return false;
   } else {
	   return true;
   }
}


function checaMail(mail){
    var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);

	if(typeof(mail) == "string"){
		if(er.test(mail)){ 
			return true;
		}
    } else if(typeof(mail) == "object"){
        if(er.test(mail.value)){
			return true;
		}
    } else {
		return false;
    }
}


function somenteNumeros(e) {
	
	var cancelar = true;
	
	var tecla = e.keyCode||e.charCode;
	
	if (tecla == 8) {
		cancelar = false;
	}

	if (tecla == 9) {
		cancelar = false;
	}

	if (tecla >= 48 && tecla <= 57) {
		cancelar = false;
	}

	if (tecla >= 96 && tecla <= 105) {
		cancelar = false;
	}
	
	if (cancelar == true) {
		return false;
	}

}

function mascaraData(e, objeto) {

	var cancelar = true;
	
	var tecla = e.keyCode||e.charCode;
	
	if (tecla == 8) {
		cancelar = false;
	}

	if (tecla == 9) {
		cancelar = false;
	}

	if (tecla >= 48 && tecla <= 57) {
		cancelar = false;
	}

	if (tecla >= 96 && tecla <= 105) {
		cancelar = false;
	}
	
	if (cancelar == true) {
		return false;
	} else {
		if ((objeto.value.length == 2 || objeto.value.length == 5) && tecla != 8) {
			objeto.value += "/";
		}
	}
	

}

function limitaMensagem(objeto, tamanho, e) {
	
	var tecla = e.keyCode||e.charCode;
	
	if (objeto.value.length >= parseInt(tamanho) && tecla != 8) {
		return false;
	}
	
}



// --------------------------------- FIM FUNÇÕES GERAIS ------------------------------------------------------ //

