// 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 criaAjax() {

	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;
		}
	}
}
	return Ajax;
}

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") {
	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 checaCNPJ(cnpj)
      {
      var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
      digitos_iguais = 1;
      if (cnpj.length < 14 && cnpj.length < 15)
            return false;
      for (i = 0; i < cnpj.length - 1; i++)
            if (cnpj.charAt(i) != cnpj.charAt(i + 1))
                  {
                  digitos_iguais = 0;
                  break;
                  }
      if (!digitos_iguais)
            {
            tamanho = cnpj.length - 2
            numeros = cnpj.substring(0,tamanho);
            digitos = cnpj.substring(tamanho);
            soma = 0;
            pos = tamanho - 7;
            for (i = tamanho; i >= 1; i--)
                  {
                  soma += numeros.charAt(tamanho - i) * pos--;
                  if (pos < 2)
                        pos = 9;
                  }
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(0))
                  return false;
            tamanho = tamanho + 1;
            numeros = cnpj.substring(0,tamanho);
            soma = 0;
            pos = tamanho - 7;
            for (i = tamanho; i >= 1; i--)
                  {
                  soma += numeros.charAt(tamanho - i) * pos--;
                  if (pos < 2)
                        pos = 9;
                  }
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(1))
                  return false;
            return true;
            }
      else
            return false;
      } 


function limitaMensagem(objeto, tamanho, e) {
	
	var tecla = e.keyCode||e.charCode;
	
	if (objeto.value.length >= parseInt(tamanho) && tecla != 8) {
		return false;
	}
	
}

function extraiScript(texto){
        // inicializa o inicio ><
        var ini = 0;
        // loop enquanto achar um script
        while (ini!=-1){
                // procura uma tag de script
                ini = texto.indexOf('<script', ini);
                // se encontrar
                if (ini >=0){
                        // define o inicio para depois do fechamento dessa tag
                        ini = texto.indexOf('>', ini) + 1;
                        // procura o final do script
                        var fim = texto.indexOf('</script>', ini);
                        // extrai apenas o script
                        codigo = texto.substring(ini,fim);
                        // executa o script
                        eval(codigo);
                }
        }
}

// --------------------------------- FIM FUNÇÕES GERAIS ------------------------------------------------------ //

