//*********************************************
//Abre a janela do site no tamanho da resolução
function abreJanela(Url,NomeJanela,x,y,largura,altura) { 
	novaJanela=window.open(''+ Url + '',''+ NomeJanela + '','width=' + largura + ',height=' + altura + ',top=' + y + ',left=' + x + ',toolbar=no,location=no,status=yes,menubar=no,scrollbars=auto,resizable=no');
	if (novaJanela == null){
	  	alert('Este site utiliza janelas pop-up. Se você possuir algum programa bloqueador de pop-up, por favor, desabilite-o.');
	} novaJanela.focus();
}
//Abre a janela do site no tamanho da resolução
function abreJanelaScroll(Url,NomeJanela,x,y,largura,altura) { 
	novaJanela=window.open(''+ Url + '',''+ NomeJanela + '','width=' + largura + ',height=' + altura + ',top=' + y + ',left=' + x + ',toolbar=no,location=no,status=yes,menubar=no,scrollbars=yes,resizable=no');
	if (novaJanela == null){
	  	alert('Este site utiliza janelas pop-up. Se você possuir algum programa bloqueador de pop-up, por favor, desabilite-o.');
	} novaJanela.focus();
}

//*********************************************
//Abre a janela do site no tamanho da resolução
function abreSite(Url,NomeJanela,width,height) { 
    var largura = width;
    var altura = height;
    var topo = (screen.height-altura)/2;
    var esquerda = (screen.width-largura)/2;
	
    
    text = "Este site utiliza janelas pop-up. Se você possuir algum programa bloqueador de pop-up, por favor, desabilite-o.\n";
	 
	remote = window.open(''+ Url + '',''+ NomeJanela + '','toolbar=no,location=no,status=yes,menubar=no,scrollbars=yes,resizable=no,top=0,left=0');
    if(remote == null) { alert(text); return; }
	remote.resizeTo(window.screen.availWidth, window.screen.availHeight);
}



//*********************************
//Exibe a mensagem de erro de login
function LoginInvalido(tentativas){
	if (tentativas == 0) {
		alert('Acesso negado. Usuário ou senha inválidos.');
	} else {
		tentativas = 5-tentativas;
		alert('Acesso negado. Usuário ou senha inválidos.\nAinda resta(m) ' + tentativas + ' tentativa(s).');
	}
	history.back(-1);
}

//**********************************
//Desabilita as teclas Backspace, F5
function BlockedButton() {
	if (event.keyCode==8 || event.keyCode==116)	{
		event.keyCode=0;
		event.returnValue=false;
	}	
}

//*********************************************************************
//Tipo = 0 : Só permite a entrada de números, ENTER, BACKSPACE e DELETE
//Tipo = 1 : Só permite a entrada de números, ponto(.), ENTER, vírgula(,), BACKSPACE e DELETE
function CampoNumerico(tipo) {
	switch (tipo) {
	case 0 :
		if((event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 13  && event.keyCode != 8 && event.keyCode != 127) event.returnValue = false;
		break;
	case 1 :
		if((event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 46 && event.keyCode != 13 && event.keyCode != 44 && event.keyCode != 8 && event.keyCode != 127) event.returnValue = false;
		break;
	} 
}

//*********************************
//Função TRIM do vb para Javascript
function Trim(str) {
	while (str.charAt(0) == " ")
		str = str.substr(1,str.length -1);

	while (str.charAt(str.length-1) == " ")
		str = str.substr(0,str.length-1);

	return str;
} 

//*****************************************
//Formata o número para duas casas decimais
function formatNumber(valor) {
	var indPontoDec; // localizacao do ponto decimal
	var valorLimpo = ""; // valor filtrado (apenas numeros e virgula)
	var cont = 0; // contador
	var indPonto = 0; // localizacao do último ponto
	var indVirgula = 0; // localizacao da última virgula
	var numero = "0123456789"; // domínio de dígitos válidos
	var limite = 0; // limite da colocação do ponto de milhar

	//=====================================================================================
	// descobre qual o último separador que está sendo utilizado
	//=====================================================================================

	indVirgula = valor.lastIndexOf(',');
	indPonto = valor.lastIndexOf('.');
	if (indVirgula == indPonto)
		indPontoDec = -1;
	else
		if (indVirgula > indPonto)
			indPontoDec = indVirgula;
		else
			indPontoDec = indPonto;

	//=====================================================================================
	// limpa dígitos não numéricos do valor
	//=====================================================================================

	for (cont=0; cont < valor.length; cont++)	{
		if (numero.indexOf(valor.charAt(cont)) != -1)
			valorLimpo += valor.charAt(cont);
			// substitui ponto decimal por vírgula
			if (cont+1 == indPontoDec)	{
				cont++;
				valorLimpo += ',';
			}
			else
				if ((cont==0) && (indPontoDec==0))
					valorLimpo += ',';
	}

	if (valorLimpo.indexOf(",") == -1)
		valorLimpo += ",00";
	if (valorLimpo.indexOf(",") == valorLimpo.length-1)
		valorLimpo += "00";
	if (valorLimpo.indexOf(",") == valorLimpo.length-2)
		valorLimpo += "0";

	//=====================================================================================
	// retira zeros à esquerda
	//=====================================================================================
	
	while (valorLimpo.charAt(0)=='0')
		valorLimpo = valorLimpo.substring(1, valorLimpo.length);


	//=====================================================================================
	// transforma ",xx" em "0,xx"
	//=====================================================================================

	if (valorLimpo.charAt(0)==',')
		valorLimpo = '0' + valorLimpo;

	//=====================================================================================
	// Deixa só duas casas depois da vírgula
	//=====================================================================================

	if((valor != "") && (valorLimpo != "")) {
		while (valorLimpo.indexOf(",") != valorLimpo.length-3) 
			valorLimpo = valorLimpo.substring(0, valorLimpo.length-1);
	}

	return valorLimpo;
}

//*******************************************
//Faz com que a tecla ENTER funcione como TAB
function Enter(form,field)
{
var next=0, found=false
var f=form
if(event.keyCode!=13) return;
for(var i=0;i<f.length;i++)	{
	if(field.name==f.item(i).name){
		next=i+1;
		found=true
		break;
	}
}
while(found){
	if( f.item(next).disabled==false &&  f.item(next).type!='hidden'){
		f.item(next).focus();
		break;
	}
	else{
		if(next<f.length-1)
			next=next+1;
		else
			break;
	}
}
}

//***********************************************
//Alteram a cor do campo texto e da célula (grid)
function CampoFocus(cel, idcel){
	cel.style.backgroundColor="#D1E9FC";
	cel.style.borderColor="#D1E9FC";
	document.getElementById(idcel).style.background='#D1E9FC';
}

function CampoBlur(cel, campo){
	document.getElementById(cel).style.background='#FFFFFF';	
	document.getElementById(campo).style.borderColor='#FFFFFF';	
	document.getElementById(campo).style.background='#FFFFFF';			
}

//***************************************************************************************************
//Altera a cor dos registros no grid

function RegistroAtivo(cel){
	cel.style.color="#FF9900";
	cel.style.textDecoration = "underline";
}

function RegistroNormal(cel){
	cel.style.color="#FF6600";
	cel.style.textDecoration = "none";
}
//***************************************************************************************************

//**************
//Sai do sistema
function Sair(){
	if (confirm("Sair do sistema ?")) {
		parent.window.close();
	}
}

//*******************************************************
//Limita o númeto de caracteres digitados em um TextField
function ContaCaracteres(campo, contador, limite) {
	if (campo.value.length > limite)
		campo.value = campo.value.substring(0, limite);
	else 
		contador.value = limite - campo.value.length;
}


function validaData(valor){
	var erro = true;
	hoje = new Date();
	barras = valor.split('/');
	
	if (barras != '') {
		if (barras.length == 3){
			dia = barras[0];
			mes = barras[1];
			ano = barras[2];
	
			// Validação Básica
			if (mes<1 || mes>12) erro = false;
			if (dia<1 || dia>31) erro = false;
			if (ano<0 || ano>9999) erro = false;
			
			if (mes == 4 || mes == 6 || mes == 9 || mes == 11){
				if (dia == 31) erro = false;
			}
	
			// Validação do mês de fevereiro (Anos bissextos)
			if (mes == 2){
				var g=parseInt(ano/4);
				if (isNaN(g)) {
					erro = false;
				}
		
				if (dia>29) erro= false;
				if (dia==29 && ((ano/4)!=parseInt(ano/4))) erro = false;
			}
		
			if (!erro) {
			    return false;
			} else {
				return true;
			}		  
		} else {
			return false;
		}
	}
}

