function ietruebody()
{
  return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
}

function Abrir_Grafico(sURL){
 var strOpener = "alwaysRaised=yes,resizable=yes,dependent=yes,menubar=no,location=no,status=yes,toolbar=no,width=650,height=600";
 var tempWindow = window.open(sURL, "GRAFICO", strOpener);
 if (sURL !== '') {tempWindow.location.href = sURL;}
 if (tempWindow !== null && tempWindow.opener === null) {tempWindow.opener=self;}
 tempWindow.focus();
 } 

function valida_numeros(s)
{
  var i;
  var dif = 0;
  for (i = 0; i < s.length; i=i+1)
  {
    var c = s.charAt(i);
    if (!((c >= "0") && (c <= "9")))
    {
     dif = 1;
    }
   }
  if (dif == 1)
   {
    return false;
   }
    return true;
}
 
function SelecionarTodosItens(Lista) {
  for(i=0; i<Lista.options.length; i=i+1) {
	  Lista.options[i].selected=true;}
}

function checkLength(field, len) { 
   if(field.value.length > len) {
      field.value = field.value.substr(0, len); }
}

function Abrir_URL(sURL, sTarget, strOpener){
  if (strOpener === null)
  {
    strOpener = "alwaysRaised=yes,resizable=yes,dependent=yes,menubar=no,location=no,status=yes,scrollbars=yes,toolbar=no,width=850,height=500";
  }
  var tempWindow = window.open("", sTarget, strOpener);
  if (sURL !== '') {tempWindow.location.href = sURL;}
  if (tempWindow !== null && tempWindow.opener===null) {tempWindow.opener=self;}
  tempWindow.focus();
} 

function Voltar_Historico()
{
  if (confirm('Deseja voltar ?'))
  {
    history.go(-1);
  }
}

function Excluir_Itens()
{
  if (confirm('Confirma a exclusão ?'))
  {
    Formulario.submit();
  }
}

function Fechar_Tela()
{
  close();
}

function Abrir_Menu(IDENTIFICADOR)
{
	var c = document.getElementsByTagName("body")[0].getElementsByTagName("*");
	
  qtd_filhos = c.length;
  for(var y=0; y < qtd_filhos; y=y+1)
  {
    if (document.all[y].id == 'MENU' + IDENTIFICADOR) 
    {
      if (document.all[y].style.display == 'none') 
      {
        document.all[y].style.display = 'block';
        document.all['IMAGEMABRIR' + IDENTIFICADOR].src = "../../imagens/Img029.gif";         
      } else {
        document.all[y].style.display = 'none';
        document.all['IMAGEMABRIR' + IDENTIFICADOR].src = "../../imagens/Img030.gif";         
      }
    }
  }   
}

function snapIn(jumpSpaces,position) {
var msg = "";
var out = "";
if (killScroll) {return false;}
for (var i=0; i<position; i=i+1){
out += msg.charAt(i);}
for (i=1;i<jumpSpaces;i=i+1) {
out += " ";}
out += msg.charAt(position);
if (jumpSpaces <= 1) {
	position=position+1;
	if (msg.charAt(position) == ' ') {position=position+1; }
	jumpSpaces = 100-position;
}
else if (jumpSpaces > 3) {
jumpSpaces *= .75}
else {jumpSpaces=jumpSpaces-1;}
if (position != msg.length) {
var cmd = "snapIn(" + jumpSpaces + "," + position + ")";
scrollID = window.setTimeout(cmd,5);
}
else {
scrolling = false
return false
}
return true
}
function snapSetup() {
if (scrolling)
if (!confirm('Re-initialize snapIn?'))
return false
killScroll = true
scrolling = true
var killID = window.setTimeout('killScroll=false',6)
scrollID = window.setTimeout('snapIn(100,0)',10)
return true
}
var scrollID = Object
var scrolling = false
var killScroll = false

function limpa_string(S){
// Deixa so' os digitos no numero
var Digitos = "0123456789";
var temp = "";
var digito = "";
  for (var i=0; i<S.length; i=i+1)  {
  digito = S.charAt(i);
    if (Digitos.indexOf(digito)>=0) {
      temp=temp+digito  }
  } //for
  return temp
}

function valida_cep(s){
  s = limpa_string(s);
  if (s.length < 8) 
{
    return false; 
}
  if (valida_numeros(s) == false)
  {
    return false;
  }
}

function valida_CPF_CGC(s) 
{
  s = limpa_string(s);
  // checa se é cpf
  if (s.length == 11)
  {
    if (valida_CPF(s) == false)
      {
        return false;
      }
  }
  // checa se é cgc
  else if (s.length == 14)
  {
    if (valida_CGC(s) == false)
    {
      return false;
    }
  }
  else 
  {
      return false;
  }
}
	
function valida_CPF(s) 
{
 var i;
 s = limpa_string(s);
 var c = s.substr(0,9);
 var dv = s.substr(9,2);
 var d1 = 0;
 for (i = 0; i < 9; i=i+1)
 {
   d1 += c.charAt(i)*(10-i);
 }
        if (d1 == 0) return false;
 d1 = 11 - (d1 % 11);
 if (d1 > 9) d1 = 0;
 if (dv.charAt(0) != d1)
 {
   return false;
 }

 d1 *= 2;
 for (i = 0; i < 9; i=i+1)
 {
   d1 += c.charAt(i)*(11-i);
 }
 d1 = 11 - (d1 % 11);
 if (d1 > 9) d1 = 0;
 if (dv.charAt(1) != d1)
 {
   return false;
 }
        return true;
}

function valida_CGC(s)
{
 var i;
 s = limpa_string(s);
 var c = s.substr(0,12);
 var dv = s.substr(12,2);
 var d1 = 0;
 for (i = 0; i < 12; i=i+1)
 {
   d1 += c.charAt(11-i)*(2+(i % 8));
 }
        if (d1 == 0) return false;
        d1 = 11 - (d1 % 11);
 if (d1 > 9) d1 = 0;
 if (dv.charAt(0) != d1)
 {
   return false;
 }

 d1 *= 2;
 for (i = 0; i < 12; i=i+1)
 {
   d1 += c.charAt(11-i)*(2+((i+1) % 8));
 }
 d1 = 11 - (d1 % 11);
 if (d1 > 9) d1 = 0;
 if (dv.charAt(1) != d1)
 {
   return false;
 }
 return true;
}

function valida_data (Data) 
{
  var dma = -1;
  var data = Array(3);
  var ch = Data.charAt(0);
  if (Data.length < 10) {
  	return false
  }
  
  for(i=0; i < Data.length && (( ch >= '0' && ch <= '9' ) || ( ch == '/' && i != 0 ) ); ){
   dma=dma+1;
   data[dma] = '';
   if(ch!='/' && i != 0) return false;
   if(i != 0 ) {
  	i=i+1;
   	ch = Data.charAt(i);
   }
   if(ch=='0') {
  	i=i+1;
   	ch = Data.charAt(i);
   }
   while( ch >= '0' && ch <= '9' ){
    data[dma] += ch;
  	i=i+1;
    ch = Data.charAt(i);
   }
  }
  if(ch!='') return false;
  if(data[0] == '' || isNaN(data[0]) || parseInt(data[0]) < 1) return false;
  if(data[1] == '' || isNaN(data[1]) || parseInt(data[1]) < 1 || parseInt(data[1]) > 12) return false;
  if(data[2] == '' || isNaN(data[2]) || ((parseInt(data[2]) < 0 || parseInt(data[2]) > 99 ) && (parseInt(data[2]) < 1900 || parseInt(data[2]) > 9999))) return false;
  if(data[2] < 50) data[2] = parseInt(data[2]) + 2000;
  else if(data[2] < 100) data[2] = parseInt(data[2]) + 1900;
  switch(parseInt(data[1])){
   case 2: { if(((parseInt(data[2])%4!=0 || (parseInt(data[2])%100==0 && parseInt(data[2])%400!=0)) && parseInt(data[0]) > 28) || parseInt(data[0]) > 29 ) return false; break; }
   case 4: case 6: case 9: case 11: { if(parseInt(data[0]) > 30) return false; break;}
   default: { if(parseInt(data[0]) > 31) return false;}
  }
  return true;
}

function valida_email(emailStr) 
{
var checkTLD=1;
var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")"; 
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

emailStr=emailStr.toLowerCase();

var matchArray=emailStr.match(emailPat);

if (matchArray==null) {
  alert("Email em branco ou incorreto.");
  return false;
}
var user=matchArray[1];
var domain=matchArray[2];
for (i=0; i<user.length; i=i+1) {
  if (user.charCodeAt(i)>127) {
    alert("Nome do usu‡rio possui caracteres inv‡lidos.");
    return false;
   }
}
for (i=0; i<domain.length; i=i+1) {
  if (domain.charCodeAt(i)>127) {
    alert("Nome de dom’nio possui caracteres inv‡lidos.");
    return false;
   }
}

if (user.match(userPat)==null) {
   alert("Nome do Usu‡rio inv‡lido.");
  return false;
}
 
var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {
  for (var i=1;i<=4;i=i+1) {
  if (IPArray[i]>255) {
    alert("Nœmero de IP inv‡lido!");
    return false;
   }
}
return true;
}
var atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for (i=0;i<len;i=i+1) {
  if (domArr[i].search(atomPat)==-1) {
    alert("Nome de dom’nio parece estar inv‡lido."); 
    return false;
   }
}

if (checkTLD && domArr[domArr.length-1].length!=2 &&
    domArr[domArr.length-1].search(knownDomsPat)==-1) {
    alert("O email deve terminar com um dom’nio v‡lido ou duas letras do pa’s.");
    return false;
}

if (len<2) {
  alert("Hostname inv‡lido!");
  return false;
}

return true;
}

function valida_numeros(s)
{
  var i;
  var dif = 0;
  for (i = 0; i < s.length; i=i+1)
  {
    var c = s.charAt(i);
    if (!((c >= "0") && (c <= "9")))
    {
     dif = 1;
    }
   }
  if (dif == 1)
   {
    return false;
   }
    return true;
}

function valida_valor(s)
{
 var sValor;
  sValor = s;
  sValor = sValor.replace(".", "");
  sValor = sValor.replace(",", "");
  if (valida_numeros(sValor) == false)
  {
    return (false);
  }
  return true;
}

function dataExtenso() 
{
	Hoje = new Date();
	Data = Hoje.getDate();
	Dia = Hoje.getDay();
	Mes = Hoje.getMonth();
	Ano = Hoje.getFullYear();
  
	if (Data<10)
		Data = "0" + Data;
	if (Ano < 2000) 
		Ano = "19" + Ano;
  
	NomeDia = new Array(7);
	NomeDia[0] = "Domingo"; 
	NomeDia[1] = "Segunda-feira";
	NomeDia[2] = "Terça-feira";
	NomeDia[3] = "Quarta-feira";
	NomeDia[4] = "Quinta-feira";
	NomeDia[5] = "Sexta-feira";
	NomeDia[6] = "Sábado";
  
	NomeMes = new Array(12);
	NomeMes[0] = "Janeiro";
	NomeMes[1] = "Fevereiro";
	NomeMes[2] = "Março";
	NomeMes[3] = "Abril";
	NomeMes[4] = "Maio";
	NomeMes[5] = "Junho";
	NomeMes[6] = "Julho";
	NomeMes[7] = "Agosto";
	NomeMes[8] = "Setembro";
	NomeMes[9] = "Outubro";
	NomeMes[10] = "Novembro";
	NomeMes[11] = "Dezembro";
  
	return NomeDia[Dia] + ", " + Data + " de " + NomeMes[Mes] + " de " + Ano; 
  
}

function mesReduzido(Mes) 
{
	NomeMes = new Array(12);
	NomeMes[0] = "JAN";
	NomeMes[1] = "FEV";
	NomeMes[2] = "MAR";
	NomeMes[3] = "ABR";
	NomeMes[4] = "MAI";
	NomeMes[5] = "JUN";
	NomeMes[6] = "JUL";
	NomeMes[7] = "AGO";
	NomeMes[8] = "SET";
	NomeMes[9] = "OUT";
	NomeMes[10] = "NOV";
	NomeMes[11] = "DEZ";
  
	return NomeMes[Mes]; 
  
}

function validarCpf(campoCpf) 
{   
	if (campoCpf.value.length == 0){
		return false;
	}

   if (valida_CPF(campoCpf.value) == false) {
   	alert('CPF inválido!!!');
   	campoCpf.focus();
    return false;
   }
}		

function validarNumero(campoNumero) {
	if (valida_numeros(campoNumero.value) == false) {
   		alert('Número inválido!!!');
   		campoNumero.focus();
    	return false;
	}		
	return true;
}
function validarData(campoData) 
{   
	if (campoData.value.length == 0){
		return false;
	}

   if (valida_data(campoData.value) == false) {
   	alert('Data inválida!!!');
   	campoData.focus();
    return false;
   }
}		

function validarValor(campoValor) 
{   
	if (campoValor.value.length == 0){
		return true;
	}

   if (valida_valor(campoValor.value) == false) {
   	alert('Valor inválido!!!');
   	campoValor.focus();
    return false;
   }
	return true;
}		

function validarCep(campoCep) 
{   
	if (campoCep.value.length == 0){
		return false;
	}

   if (valida_cep(campoCep.value) == false) {
   	alert('CEP inválido!!!');
   	campoCep.focus();
    return false;
   }
}		

/**
* Função para validar o browser.
* Retorna uma variável boolean.
*
* @return IE - boolean com true = IE / false = Mozilla
*/
function validaBrowser(){
	var IE = true;
	if(window.ActiveXObject){
		IE = true;
	}else{
		IE = false;
	}
	return IE;
}

function marcaDesmarcaCheck(valor){ 
	for (i=0;i<document.ChequeForm.elements.length;i++) 
 		if(document.ChequeForm.elements[i].type == "checkbox") 
    		document.ChequeForm.elements[i].checked=valor
} 
