function abre_relatorio(url)
{
	//tipo = "href"
	tipo = "popup"
	
	if(tipo=="popup")
		window.open(url,"Relatorios","left=10,top=10,status=yes,scrollbars=no,resizable=yes,width="+(screen.width-10)+",height="+(screen.height-10));
	else
		location.href = url;
}

// esta função elimina os espaços em branco do início e do fim do string

function trim(st) {

	var len = st.length
	var begin = 0, end = len - 1;

	while (st.charAt(begin) == " " && begin < len) {
	begin++;
	}
	while (st.charAt(end) == " " && begin < end) {
	end--;
	}
	return st.substring(begin, end+1);
	}

	
// verifica se o string é vazio

function ehvazio(st)
		
	{
	
	if (trim(st)=="")
	
	{
		return true
	}	
		
		return false
		
	}

// Função para formatação númerica

function formato(valor)
{
var total = 0;
for (var a=0; a<valor.length; a++)
	{
		var c=valor.charAt(a);
		var b=((c>="0") && (c<="9") || (c==",") || (c=="."));
		if (c == ",") {total++}
		if(!b) { return false; }
	}	
if (total > 1) { return false; }
var v=valor.indexOf(",");	
if ( v!=-1 )
	{			
		var w=valor.length - v;
		var y=4;
		if ( w>=y )
		{
			return false;
		}
	}			
return true;
}

function ponto(milhar)
{
milhar = '' + milhar;
if (milhar.length > 3)
{ var mod = milhar.length % 3;
var saida = (mod > 0 ? (milhar.substring(0,mod)) : '');
for (i=0 ; i < Math.floor(milhar.length / 3); i++)
{ if ((mod == 0) && (i == 0))
saida += milhar.substring(mod+ 3 * i, mod + 3 * i + 3);
else
saida += '.' + milhar.substring(mod + 3 * i, mod + 3 * i + 3); }
return (saida); }
else return milhar;
}

function formatar(numero,tipo)
{
var valor = "";
var inteiro = "";
var decimal = "";
var separador = ".";
var antigo = ",";
var x;
numero = '' + numero;
if (tipo=="real")
	{ separador = ",";
	antigo = "."; }
for (var i = 0; i < numero.length; i ++)
	{ var digito = numero.charAt(i);
	if (digito != separador) { valor = valor + digito; } }
for (var i = 0; i < valor.length; i ++)
	{ var digito = valor.charAt(i);
	if (digito != antigo)
		{ inteiro = inteiro + digito;
		x = valor.length; }
	else
		{ x = i + 1;
		i = valor.length; } }
if ( x < valor.length )
	{ for (var i = x; i < (x + 3); i ++)
		{ var digito = valor.charAt(i);
		decimal = decimal + digito; }
	}
if ( ( decimal.length < 2 ) && ((decimal/1) < 10) )
	{ decimal = (decimal/1) * 10; }
if ( decimal.length > 2)
	{
		if (decimal.substr(2,1) >= 5)
			{decimal = decimal.substr(0,1) + (parseInt(decimal.substr(1,1)) + 1);}
		else
			{decimal = decimal.substr(0,2);}
	}
if ( decimal == 0 )
	{ decimal = "00"; }
if ( tipo == "real" )
	{ inteiro = ponto(inteiro); }
numero = inteiro + separador + decimal;
if ( tipo == "numero" )
	{ numero = numero / 1; }
return numero;
}

function checar(entrada)
{
if (entrada.value == "")
	{
		alert("Por favor, preencha o valor corretamente!");
		entrada.value = "0,00";
		entrada.focus();
		return false;
	}
if (!(formato(entrada.value)))
	{
		alert("O valor devem conter apenas números, ponto,\nvírgula e no máximo 2 casas decimais.");
		entrada.value = "0,00";		
		entrada.focus();
		entrada.select();
		return false;
	}
entrada.value=formatar(formatar(entrada.value,"numero"),"real");
return true;
}

function zero(valor)
{
for (var i = 0; i < valor.length; i ++)
	{
	var d = valor.charAt(i);
	var x = ((d == "0") || (d == ",") || (d == "."));
	if (!x)
		{
		return false;
		}
	return true;
	}
}


// Função para limpar campos do form
function limpa_campos(form)
{			
	for(i=0;i<eval(form + ".elements.length");i++)
	{			
		switch(eval(form + ".elements[i].type"))
		{						
			case "checkbox":
				eval(form + ".elements[i]").checked = false;
			case "text":
				eval(form + ".elements[i]").value = "";			
			case "radio":
				eval(form + ".elements[i]").checked = false;	
			case "select-one":
				eval(form + ".elements[i]").value = "";
		}
	}	
}

// Funcao para checar campo data

function calcdat(z) {
	var string = "";
	var temp;
	var err = 0;
	string = z.value;
	if (string!="") {
		var valid = "0123456789/";
		var ok = "yes";
		for (var i=0; i< string.length; i++) {
		temp = "" + string.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") err = 1;
	}
	if (string.length != 10) err=1
	d = string.substring(0, 2) // month
	c = string.substring(2, 3)// '/'
	b = string.substring(3, 5) // day
	e = string.substring(5, 6)// '/'
	f = string.substring(6, 10) // year
	if (b<1 || b>12) err = 1
	if (c != '/') err = 1
	if (d<1 || d>31) err = 1
	if (e != '/') err = 1
	if (f.indexOf("/") > -1) err = 1
	if (f<1900 || f>2050) err = 1
	if (b==4 || b==6 || b==9 || b==11){
		if (d==31) err=1
	}
		if (b==2){
			var g=parseInt(f/4)
			if (isNaN(g)) {
				err=1
			}
			if (d>29) err=1
			if (d==29 && ((f/4)!=parseInt(f/4))) err=1
		}
	}
		if (err==1) {			
			alert("Data invalida, por favor verifique de estar inserindo uma data valida.");
			z.value="";
			z.focus();
			return false;
		}
}

function verifica_email(objeto,mensagem) {
//Vagner Guedes - 08/08/2002
//Funcao que verifica o Email

	if (ehvazio(objeto.value) == false) {
		var erro = 0 ;
		aux = objeto.value.split("@") ;		
		if (aux.length != 2) { 		
			erro++ ;	
		}
		else {
			if (aux[0].length == 0 || aux[1].length == 0) {
				erro++ ;
			}
			else {
				if (objeto.value.indexOf(" ") != -1) {			
					erro++ ;			
				}					
			}		
		}	
							
		if (objeto.value.indexOf(".") == -1) {			
			erro++ ;			
		}
		else {
			if (objeto.value.substring(objeto.value.length - 1,objeto.value.length) == ".")  {
				erro++ ;
			}
		}
		
		if (objeto.value.indexOf("..") != -1) {			
			erro++ ;			
		}
		
		if (objeto.value.indexOf("/") != -1 || objeto.value.indexOf("(") != -1 || objeto.value.indexOf(")") != -1) {			
			erro++ ;			
		}
		
		
		if (erro > 0) {		
			alert (mensagem) ;
			objeto.focus() ;			
			return false ;
		}
		else {
			return true ;
		}		
	}
}	

function FmascTempoRealDt(ConteudoCampo)
{

if (((event.keyCode) > 47) && ((event.keyCode) < 58))
  {
   NumDig = ConteudoCampo.value;
   TamDig = NumDig.length;
   if (TamDig == 2)
      ConteudoCampo.value = NumDig.substr(0,2)+"/";
   else if (TamDig == 5)	  
      ConteudoCampo.value = NumDig.substr(0,5)+"/";
   else if (TamDig == 9)
       ConteudoCampo.value = NumDig.substr(0,10);

   return(true);}
else return(false)
}

function busca(form,valor)
{		
	for(i=0;i<eval(form).options.length;i++)		
	{		
		if (eval(form).options[i].text.substr(0,valor.length).toLowerCase() == valor.toLowerCase())
		{				
			eval(form).options[i].selected = true;			
			return false;
		}	
	}
}

// CNPJ
function valcgc(s)  
{  
 var varFirstChr = s.charAt(0);  
 var vlMult,vlControle,s1, s2 = ""; 
 var i,j,vlDgito,vlSoma = 0; 
 for ( var i=0; i<=13; i++ )  
 {   
   var c = s.charAt(i);  
   if( ! (c>="0")&&(c<="9") ) { return false; } 
   if( c!=varFirstChr ) { vaCharCPF = true; } 
 }   
 if( ! vaCharCPF ){ return false; }  
 s1 = s.substring(0,12);  
 s2 = s.substring(12,15); 
 vlMult = "543298765432"; 
 vlControle = ""; 
 for ( j=1; j<3; j++ )   
 {  
  vlSoma = 0; 
  for ( i=0; i<12; i++ ) 
    { vlSoma += eval( s1.charAt(i) )* eval( vlMult.charAt(i) );} 
    if( j == 2 ){ vlSoma += (2 * vlDgito); }  
    vlDgito = ((vlSoma*10) % 11); 
    if( vlDgito == 10 ){ vlDgito = 0; } 
    vlControle = vlControle + vlDgito; 
    vlMult = "654329876543"; 
 }   
 if( vlControle != s2 ) 
 { return false }  
 else 
 { return true }  
}  

// CPF
function valcpf(numcpf)
{
x = 0;
soma = 0;
dig1 = 0;
dig2 = 0;
texto = "";
numcpf1="";
len = numcpf.length;
x = len -1;
for (var i=0; i <= len - 3; i++)
	{ y = numcpf.substring(i,i+1);
	soma = soma + ( y * x);
	x = x - 1;
	texto = texto + y; }
dig1 = 11 - (soma % 11);
if (dig1 == 10) dig1=0;
if (dig1 == 11) dig1=0;
numcpf1 = numcpf.substring(0,len - 2) + dig1 ; x = 11; soma=0;
for (var i=0; i <= len - 2; i++)
	{ soma = soma + (numcpf1.substring(i,i+1) * x); x = x - 1; }
dig2= 11 - (soma % 11);
if (dig2 == 10) dig2=0;
if (dig2 == 11) dig2=0;
if ((dig1 + "" + dig2) == numcpf.substring(len,len-2))
{ return true; }
return false;
}

function mudarPainel(painel) 
{	
	var paineis = new Array(2);
	
	paineis[0] = "panelDadosPrincipais";
	paineis[1] = "panelDetalhes";	

	for (var i = 0; i < paineis.length; i++) {
		if (painel == paineis[i]) {
			document.getElementById(painel).style.display = "block";
			document.getElementById("lnk_" + paineis[i]).className = "linkPanelSelecionado";
		} else {
			document.getElementById(paineis[i]).style.display = "none";
			document.getElementById("lnk_" + paineis[i]).className = "linkpanel";
		}
	}
	
	document.getElementById("hiddenPainel_atual").value = painel;
}

function CarregaPainel()
{
	var atual = document.getElementById("hiddenPainel_atual").value;
	
	if (atual == '')
	{
		mudarPainel('panelDadosPrincipais');
	}
	else
	{
		mudarPainel(atual);
	}	 
}
function abrejanela(url,largura,altura,nomejanela,modal) {

	var larguraTela = screen.availWidth;
	var alturaTela  = screen.availHeight;
	
	var x = Math.floor((alturaTela - altura) / 2);
	var y = Math.floor((larguraTela - largura) / 2);

	// alert ('Altura Tela = ' + alturaTela + '\nAltura da Caixa: ' + altura + '\nValor do x: ' + x);

	var remote = null;
	if (modal == 1)  
	{
		remote = window.showModalDialog(url,'','dialogWidth:'+largura+'px;dialogHeight:'+altura+'px;center:on;help:0;resizable:off;scroll:1;status:off;edge:sunken;unadorned:on');
	} else {
		remote = window.open(url,nomejanela,'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,maximize=no,resizable=no,menubar=no,width='+largura+',height='+altura+',top='+x+',left='+y);
	}
}