// JavaScript Document
// ---------------------------------- 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 mudaCor(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
		var AjaxTemp=new XMLHttpRequest();
	}

	catch (e)
	{
		// Internet Explorer
		try
		{
			var AjaxTemp = new ActiveXObject("Msxml2.XMLHTTP");
		}
	catch (e)
		{
		try
			{
			var AjaxTemp = new ActiveXObject("Microsoft.XMLHTTP");
			}
		catch (e)
		{
			alert("Your browser does not support AJAX!");
			return false;
		}
	}
}

	if (AjaxTemp) {
		return AjaxTemp;
	}

}

function randomico() {
	return "?rnd=" + Math.random();
}


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 checaCPF(objeto) {
	
var CPF = objeto.value; // Recebe o valor digitado no campo

// Verifica se o campo é nulo
if (CPF == '') {
  alert('Este campo é de preenchimento obrigatório!');
  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 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 (tecla == 111) {
		cancelar = true;
	}
	
	if (cancelar == true) {
		return false;
	}
	
}


function autoTab(objeto, size) {
	
	if (size == 0) {	
		var campo = document.getElementsByTagName("input");
		for (i=0; i < campo.length; i++) {
			
			if (campo[i].type != "hidden") {			
				if (campo[i].tabIndex == parseInt(objeto.tabIndex) + 1) {				
					campo[i].focus();				
				}			
			}		
		}
	} else {
		
		if (size == objeto.value.length) {
			var campo = document.getElementsByTagName("input");
			for (i=0; i < campo.length; i++) {
				
				if (campo[i].type != "hidden") {			
					if (campo[i].tabIndex == parseInt(objeto.tabIndex) + 1) {				
						campo[i].focus();				
					}			
				}		
			}
		}
	}
}

function limitaCampo(objeto, total, e) {
	var tecla = e.keyCode||e.charCode;
	if (objeto.value.length >= parseInt(total) && tecla != 8) {
		return false;
	}
}




// --------------------------------- FIM FUNÇÕES GERAIS ------------------------------------------------------ //

