defaultStatus = "www.unimedriopreto.com.br"

// Funcao para abrir uma nova janela
function f_Ajuda(prtFile) 
{
  varOpcoes = "toolbar=no, menubar=no, maximize=no, location=no, directories=no, status=no, resizable=yes, scrollbars=no, width=755, height=600, top=10, left=10";
  window.open(prtFile, 'janAjuda', varOpcoes);
}

// Funcao para abrir uma nova janela
function AbreJanela(prtFile, prtJanela, prtTollBar, prtScroll, prtWidth, prtHeight) 
{
  // Definindo meio da tela
	var left = (screen.width - prtWidth)/2;
	var topo = (screen.height - prtHeight)/2;

  varOpcoes = "toolbar=" + prtTollBar + ", menubar=no, maximize=no, location=no, directories=no, status=no, resizable=yes, scrollbars=" + prtScroll + ", width=" + prtWidth + ", height=" + prtHeight + ", top="+topo+", left="+left+" ";
  window.open(prtFile, prtJanela, varOpcoes);
}

// Funcao para abrir uma nova janela sem maximizar
function AbreJanelaFixa(prtFile, prtJanela, prtTollBar, prtScroll, prtWidth, prtHeight) 
{
  // Definindo meio da tela
	var left = (screen.width - prtWidth)/2;
	var topo = (screen.height - prtHeight)/2;

  varOpcoes = "toolbar=" + prtTollBar + ", menubar=no, maximize=no, location=no, directories=no, status=no, resizable=no, scrollbars=" + prtScroll + ", width=" + prtWidth + ", height=" + prtHeight + ", top="+topo+", left="+left+" ";
  window.open(prtFile, prtJanela, varOpcoes);
}


// Funcao que executa determinado javascript ao carregar a pagina se necessario
function carregaPagina()
{
	// Se existir alguma div chamada onPageLoad na pagina, ele executa a funcao onPageLoad()
	if (document.all.onPageLoad)
	{
		onPageLoad();
	}
	// Chamo a funcao que esconde o calendario
	if(document.all.calendario != undefined)
	{
		if(IframeCalendario.desativaCalendario() != undefined)
		{
			IframeCalendario.desativaCalendario();
		}
	}
}

//Função para exibir a página carregando
function f_Carregando()
{
	location.href="#top";
	document.getElementById("IframeAguarde").style.display = 'block';
	document.body.style.overflow = 'hidden';
}

// Função para ampliar a imagem
function f_AmpliarImagem(img)
{
	varOpcoes = "toolbar=no, menubar=no, maximize=no, location=no, directories=no, status=no, resizable=no, scrollbars=no, width=5, height=5, top=10, left=10";
	window.open('/apt/jsp/inc/htmlAguarde.jsp', 'janAmpliarImagem', varOpcoes);
	frmImagem.fNmImagem.value=img;
	frmImagem.action="/apt/jsp/ampliarImagem.jhtml";
	frmImagem.target="janAmpliarImagem";
	frmImagem.submit();
}

// Função que verifica se o e-mail informada é válido
function f_ValidarEmail(cEmail)
{
  var str=cEmail.value
  var cFiltro=/^.+@.+\..{1,3}$/
  if ((!cFiltro.test(str)) && (cEmail.value.replace(' ','') != ""))
  {
    alert("Por favor, insira um e-mail válido!")
    cEmail.focus();
    cEmail.style.backgroundColor="#FCFE21";
    return false;
  }
  else
  {
    cEmail.style.backgroundColor="";
    return true;
  }
}

// Função que valida o preenchimento do campo Radio
function f_ValidarRadio(cValor, sMsg)
{
  cOk  = false;
  nQtd = cValor.length;
	if( ("" + nQtd) == "undefined")
	{
    if (cValor.checked)
    {
      cOk = true;
		}
	}
	else
	{
    for (i=0;i<nQtd;i++)
    {
      if (cValor[i].checked)
      {
        cOk = true;
        break;
      }
    }
	}
  if (cOk)
  {
    return true;
  }
  else
  {
    alert(sMsg);    
  }
}

// Funcao que limpa a string
function f_ApenasNum(strParm)
{
  strParm = String(strParm);
  var chrPrt = "0";
  var strRet = "";
  var j=0;
  for(var i=0; i < strParm.length; i++)
  {
    chrPrt = strParm.substring(i, i+1);
    if(chrPrt.match(/\d/))
    {
      if(j==0)
      {
        strRet = chrPrt;
        j=1;
      }
      else
      {
        strRet = strRet.concat(chrPrt);
      }
    }
  }
  return strRet;
}

// Funcao que valida Numeros
function f_ValidaNumero(){
  if(event.keyCode < 48 || event.keyCode > 57)
  {
    if(event.keyCode != 46)
    {
      event.returnValue = false;
    }
  }
}

// Função para formatar valor
function f_FormataValor(campo)
{
  if (campo.value.length > 0)
  {
    var txt = campo.value;
    if (txt.indexOf(',') == -1)
    {
      txt += ',00';
    }
    if (txt.substring(txt.indexOf(','),txt.length).length == 2)
    {
      txt += '0';
    }
    if (txt.substring(txt.indexOf(','),txt.length).length == 1)
    {
      txt += '00';
    }
    campo.value = txt;
  }
}

// Funcao que valida caracteres
function f_ValidaCaracteres(prCampo)
{
  var wFinal = 1;
  var wInicial = 0;
  stringLen = prCampo.value.length;
  wMatriz = new Array("´","é","É","ê","Ê","è","È","á","Á","â","Â","à","À","ã","Ã","í","Í","î","Î","ì","Ì","ó","Ó","ô","Ô","ò","Ò","õ","Õ","ú","Ú","û","Û","ù","Ù","ç","Ç",'"',"´","'","~","^","`",",","/","#","!","@","$","%","¨","&","*","(",")","_","=","+","{","}","[","]","/","?","<",">");
  while(wInicial != stringLen)
  {
    wCaracter = prCampo.value.substring(wInicial, wFinal);
    var wExato = 0;
    wInicial++;
    wFinal++;
    while(wExato != 67)
    {
      if(wCaracter == wMatriz[wExato])
      {
        alert("ATENÇÃO!!!\nFoi encontrado um caractere inválido, por favor verifique!!!\nCaractere: (" + wMatriz[wExato] + ")");
        prCampo.focus();
        return false;
      }
      wExato++;
    }
  }
  prCampo.value = prCampo.value.toUpperCase();
}

// Funcao que valida caracteres
function f_ValidaCaracteresComAcento(prCampo)
{
	var wFinal = 1;
	var wInicial = 0;
	stringLen = prCampo.value.length;
	wMatriz = new Array("0","1","2","3","4","5","6","7","8","9","´",'"',"´","'","~","^","`","/","#","!","@","$","%","¨","&","*","(",")","_","=","+","{","}","[","]","/","?","<",">");
	while(wInicial != stringLen)
	{
		wCaracter = prCampo.value.substring(wInicial, wFinal);
		var wExato = 0;
		wInicial++;
		wFinal++;
		while(wExato != 77)
		{
			if(wCaracter == wMatriz[wExato])
			{
				alert("ATENÇÃO!!!\nFoi encontrado um caractere inválido, por favor verifique!!!\nCaractere: (" + wMatriz[wExato] + ")");
				prCampo.focus();
				return false;
			}
			wExato++;
		}
	}
	prCampo.value = prCampo.value.toUpperCase();
}


/* ---------------------------------------------------------------------------------
* Nome da Função : Validação de Campo Null
* Analista       : Almir Rogério Castilho Simão
* Data           : 09/02/2007
* Utilidade      : Função que verifica o preenchimento do campo
* Sintaxe        : f_ValidarCampoNulo(Nome do Form + Nome do Campo);
* Exemplo        : Esta função deverá da seguinte forma:, 
*                  return f_ValidarCampoNulo(form1.NmCliente);
* ---------------------------------------------------------------------------------- */
function f_ValidarCampoNulo(cCampo)
{
  if (cCampo.value.replace(' ','') == "")
  {
    alert("Por favor, preencha o campo obrigatório!");
    cCampo.focus();
    cCampo.style.backgroundColor="#FCFE21";
    return false;
  }
  else
  {
    cCampo.style.backgroundColor="";
    return true;
  }
}

/* ---------------------------------------------------------------------------------
* Nome da Função : Validação de Campo Null
* Analista       : Ederson R Silva
* Data           : 23/07/2009
* Utilidade      : Função que verifica o preenchimento do campo
* Sintaxe        : f_ValidarCampoNulo2(Nome do Form + Nome do Campo);
* Exemplo        : Esta função deverá da seguinte forma:, 
*                  return f_ValidarCampoNulo2(form1.NmCliente);
* ---------------------------------------------------------------------------------- */
function f_ValidarCampoNulo2(cCampo)
{
  if (cCampo.value.replace(' ','') == "")
  {    
    return false;
  }
  else
  {    
    return true;
  }
}

/* ---------------------------------------------------------------------------------
* Nome da Função : Validação de Campo Senha
* Analista       : Almir Rogério Castilho Simão
* Data           : 14/06/2007
* Utilidade      : Função que verifica a política de segurança da senha
* Sintaxe        : f_ValidarTamanhoSenha(Nome do Form + Nome do Campo);
* Exemplo        : Esta função deverá da seguinte forma: return f_ValidarTamanhoSenha(form1.DsSenha);
* ---------------------------------------------------------------------------------- */
function f_ValidarTamanhoSenha(cCampo)
{
  if (cCampo.value.replace(' ','').length<6)
  {
    alert("Sua nova senha deverá possuir no mínimo 6 caracteres.\n\nPolítica de Segurança:\nUtilize letras e números para cria-la.");
    cCampo.focus();
    return false;
  }
  else
  {
     return true;
  }
}


/* ---------------------------------------------------------------------------------
* Nome da Função : Validação de Campo Senha
* Analista       : Almir Rogério Castilho Simão
* Data           : 14/06/2007
* Utilidade      : Função que verifica a política de segurança da senha
* Sintaxe        : f_ValidarSenhaSenhaRepetida(Nome do Form + Nome do Campo, Nome do Form + Nome do Campo);
* Exemplo        : Esta função deverá da seguinte forma: return f_ValidarSenhaSenhaRepetida(form1.DsSenha, form1.DsSenha2);
* ---------------------------------------------------------------------------------- */
function f_ValidarSenhaSenhaRepetida(cCampo1, cCampo2)
{
  if (cCampo1.value.replace(' ','') != cCampo2.value.replace(' ',''))
  {
    alert("Senhas não conferem, verifique.");
		cCampo2.value="";
    cCampo2.focus();
    return false;
  }
  else
  {
    return true;
  }
}


/* ---------------------------------------------------------------------------------
* Nome da Função : Validação de Campo Senha
* Analista       : Almir Rogério Castilho Simão
* Data           : 14/06/2007
* Utilidade      : Função que verifica a política de segurança da senha
* Sintaxe        : f_ValidarSenhaAtualNovaSenha(Nome do Form + Nome do Campo, Nome do Form + Nome do Campo, Nome do Form + Nome do Campo);
* Exemplo        : Esta função deverá da seguinte forma: return f_ValidarSenhaAtualNovaSenha(form1.DsSenha, form1.DsSenha2, form1.DsSenha3);
* ---------------------------------------------------------------------------------- */
function f_ValidarSenhaAtualNovaSenha(cCampo1, cCampo2, cCampo3)
{
  if (cCampo1.value.replace(' ','') == cCampo2.value.replace(' ',''))
  {
    alert("Sua nova senha deve ser diferente da senha atual, verifique.");
		cCampo2.value="";
		cCampo3.value="";
    cCampo2.focus();
    return false;
  }
  else
  {
    return true;
  }
}


/* ---------------------------------------------------------------------------------
* Nome da Função : Validação de Campo Null Hidden
* Analista       : Almir Rogério Castilho Simão
* Data           : 26/04/2007
* Utilidade      : Função que verifica o preenchimento do campo
* Sintaxe        : f_ValidarCampoNulo(Nome do Form + Nome do Campo);
* Exemplo        : Esta função deverá da seguinte forma:, 
*                  return f_ValidarCampoNuloHidden(form1.NmCliente, nmCampo);
* ---------------------------------------------------------------------------------- */
function f_ValidarCampoNuloHidden(cCampo, nmCampo)
{
  if (cCampo.value.replace(' ','') == "")
  {
    alert("Por favor, preencha o campo obrigatório: "+nmCampo);
    return false;
  }
  else
  {
    return true;
  }
}

// Função que formata a data (dd/mm/yyyy)
function f_FormataData(i, delKey, direction)
{
  if (i.value.length < 11) 
  {
    if (delKey!=9) 
    { // se for tab
      if(delKey!=8 && delKey!=46 && delKey!=16 &&  !(delKey>36 && delKey<41))
      { // teclas delete, backspace, shift, nao disparam o evento
        var fieldLen = i.value.length
        if ((delKey >= 48 && delKey <= 57) || (delKey >= 96 && delKey <=105)) 
        {
          if (fieldLen == 2 || fieldLen == 5) 
          {
            i.value = i.value + "/";
          }
        } 
        else 
        {
          if (direction == "up") 
          {
            if (i.value.length == 0) 
            {
              i.value = "";
            } 
            else 
            {
              i.value = i.value.substring(0,i.value.length-1);
            }
          }
        }
        i.focus();
      }
    } 
    else 
    {
      return false;
    }
  }
}

// Função que Valida a Data Informada
function f_ValidarData(dtaDate)
{
  if(dtaDate.value!="")
  {
    var err=0;
    dtaValue=dtaDate.value;
    if (dtaValue.length != 8 && dtaValue.length != 10 ) err=1
    mm = dtaValue.substring(3, 5);
    dd = dtaValue.substring(0, 2);
    yy = dtaValue.substring(6, 10);
    if (mm<1 || mm>12) err = 1
    if (dd<1 || dd>31) err = 1
    if (yy.length == 4)
    {
      if (yy<1900) err = 1
    }
    else 
    {
      // se ano for inferior a 30 se entende 20??
      // se for maior que 29 se entende 19??
      yy=parseInt(yy,10)
      yy += yy<30?2000:1900
    }
    if (mm==4 || mm==6 || mm==9 || mm==11)
    {
      if (dd==31) err=1
    }
    if (mm==2)
    {
      var dtaYear=parseInt(yy/4);
      if (isNaN(dtaYear)) 
      {
        err=1;
      }
      if (dd>29) err=1
      if (dd==29 && ((yy/4)!=parseInt(yy/4))) err=1
    }
    dtaDate.value = dd + '/' + mm + '/' + yy

    if (err==1) 
    {
      if (dtaValue.length < 8) // verifica se a data digitada está completa
      {
        dtaDate.value = ""
      }
      else
      {
        alert('Data inválida!');
		dtaDate.style.backgroundColor="#FCFE21";
		dtaDate.focus();
        return false;
      }
    }
    return true;
  }
}

// Funcao que valida campo data com caracteres
function f_ValidaDataCaracteres(prCampo)
{
  var wFinal = 1;
  var wInicial = 0;
  stringLen = prCampo.value.length;
  wMatriz = new Array(".","´",'"',"´","'","~","^","`","#","!","@","$","%","¨","&","*","(",")","_","=","+","{","}","[","]","?","<",">");
  while(wInicial != stringLen)
  {
    wCaracter = prCampo.value.substring(wInicial, wFinal);
    var wExato = 0;
    wInicial++;
    wFinal++;
    while(wExato != 77)
    {
      if(wCaracter == wMatriz[wExato])
      {
        alert("ATENÇÃO!!!\nFoi encontrado um caractere inválido, por favor verifique!!!\nCaractere: (" + wMatriz[wExato] + ")");
        prCampo.focus();
        return false;
      }
      wExato++;
    }
  }
  prCampo.value = prCampo.value.toUpperCase();
}

// Funcao que calcula os digitos
function f_ValidarCpfCnpj(prNumero)
{
  var numLim;
  var numDois = prNumero.value.substring( prNumero.value.length - 2, prNumero.value.length);
  var novoCPF = prNumero.value.substring( 0, prNumero.value.length - 2);
  if(prNumero.value.length == 11)
  {
    numLim = 11;
  }
  else if(prNumero.value.length == 14)
  {
    numLim = 9;
  }
  else
  {
    alert("ATENÇÃO!!!\nDigite um CPF ou CNPJ válido!");
    prNumero.focus();
    return false;
  }
  var Fator = 1;
  var numSoma = 0;
  for (var i = novoCPF.length-1; i >= 0; i--)
  {
    Fator = Fator + 1;
    if (Fator > numLim)
    {
      Fator = 2;
    }
    numSoma = numSoma + ( Fator * Number( novoCPF.substring( i, i + 1)));
  }
  numSoma = numSoma/11;
  var numResto = Math.round( 11 * ( numSoma - Math.floor( numSoma)));
  if (numResto > 1)
  {
    numResto = 11 - numResto;
  }
  else
  {
    numResto = 0;
  }
 
  var numDigito = String(numResto);
  novoCPF = novoCPF.concat(numResto);

  numSoma = 0;
  Fator = 1;
  for (var i = novoCPF.length - 1; i >= 0; i--)
  {
    Fator = Fator + 1;
    if (Fator > numLim)
    {
      Fator = 2;
    }
    numSoma = numSoma + (Fator * Number( novoCPF.substring( i, i + 1)));
  }
  numSoma = numSoma / 11;
  numResto = numResto = Math.round( 11 * (numSoma - Math.floor( numSoma)));
  if (numResto > 1)
  {
    numResto = 11 - numResto;
  }
  else
  {
    numResto = 0;
  }
  numDigito = numDigito.concat(numResto);
  if (numDigito == numDois)
  {
    return true;
  }
  else
  {
    alert("ATENÇÃO!!!\nDigite um CPF ou CNPJ válido!");
    prNumero.focus();
    return false;
  }
}

// Funcao que formata o CPF ou CNPJ
function f_FormatarCpfCnpj(numCPFCNPJ)
{
  numCPFCNPJ = String(numCPFCNPJ);
  if(numCPFCNPJ.length == 11)
  {
    return numCPFCNPJ.substring(0,3) + "." + numCPFCNPJ.substring(3,6) + "." + numCPFCNPJ.substring(6,9) + "-" + numCPFCNPJ.substring(9,11);
  }
  else if(numCPFCNPJ.length == 14)
  {
    return numCPFCNPJ.substring(0,2) + "." + numCPFCNPJ.substring(2,5) + "." + numCPFCNPJ.substring(5,8) + "/" + numCPFCNPJ.substring(8,12) + "-" + numCPFCNPJ.substring(12,14);
  }
  else
  {
    alert("ATENÇÃO!!!\nTamanho incorreto do CPF ou CNPJ!");
    return false;
  }
}

/*--------------------------------------------------------------------------------
* Nome da Função: Validação de número inteiro
* Analista:       Almir Simão
* Utilidade:      Função que valida número inteiro (Ex.: 10)
* Exemplo:        f_ValidarNumeroInteiro(form1.this)
* ------------------------------------------------------------------------------*/
function f_ValidarNumeroInteiro(nNumero)
{
  var x=nNumero.value
  var cFiltro=/(^\d+$)|(^\d+\\d+$)/
  if ((!cFiltro.test(x)) && (nNumero.value.replace(' ','') != ""))
  {
    alert("Por favor, use somente algarismos!");
    nNumero.focus();
		nNumero.style.backgroundColor="#FCFE21";
    return false;
  }
  else
  {
		nNumero.style.backgroundColor="";
    return true;
  }
}

/*--------------------------------------------------------------------------------
* Nome da Função: Validação CheckBox
* Analista      : Almir Simão
* Utilidade     : Função para validar checkboxs nulos
* Sintaxe       : f_ValidarCheckBox(Nome do Form, Nome do Campo, Qtd Indexação);
* Exemplo       : Esta função deverá ser usada no final do formulário, 
*                 no momento da validação do formulário
*                 return f_ValidarCheckBox(form1,"fOpcao",3);
* ------------------------------------------------------------------------------*/
function f_ValidarCheckBox(cForm, cValor, nQtd)
{
   var cEnc = false;
   for (var x=1;x<nQtd;x++)
   {
      cOpcao = cValor+x;
      if (cForm.elements[cOpcao].checked)
      {
         cEnc = true;
      }
   }
   if (cEnc == false)
   {
      alert("Por favor, preencha o campo obrigatório");
      return false;
   }
   else
   {
      return true;
   }
}

/* ---------------------------------------------------------------------------------
* Nome da Função : Validação de Período
* Analista       : Almir Rogério Castilho Simão
* Data           : 14-06-2005
* Utilidade      : Função que verifica a validade de um período
* Sintaxe        : f_ValidarPeriodo(Nome do Form, Data inicial, Data Final, QtdMaxDias);
*                  Se QtdMinDias = 0, então não haverá limite para o período
* Exemplo        : Esta função deverá ser usada no final do formulário, 
*                  no momento da validação do formulário
*                  return f_ValidarPeriodo(form1,form1.DtIni, form1.DtFim, 0);
* ---------------------------------------------------------------------------------- */
function f_ValidarPeriodo( cCampo1, cCampo2, cDtIni, cDtFim )
{ 
 // Se forneceu uma data e não forneceu a outra
 if((cDtIni == "" && cDtFim == "") ||
    (cDtIni == "" || cDtFim == ""))
 {
  alert( 'Para fornecer um período as duas datas devem ser informadas!' );
  if(cCampo1.value == "")
  {
   cCampo1.focus();
   cCampo1.style.backgroundColor="#FCFE21";
  }
  else
  {
   cCampo2.focus();
   cCampo1.style.backgroundColor="";
   cCampo2.style.backgroundColor="#FCFE21";	  
  }
   return (false);
 }

 var cDtIniAux, cDtFimAux;
 cDtIniAux = cDtIni.substr(6,4) + cDtIni.substr(3,2) + cDtIni.substr(0,2);
 cDtFimAux = cDtFim.substr(6,4) + cDtFim.substr(3,2) + cDtFim.substr(0,2);

 if(cDtIniAux > cDtFimAux)
 {
  alert( 'A Data Inicial não pode ser posterior à Data Final do período' );
  cCampo2.value = "";
  cCampo2.style.backgroundColor="";
  cCampo1.style.backgroundColor="#FCFE21";
  cCampo1.focus();
  return false;
 }
  return true;
}


/* ---------------------------------------------------------------------------------
// Nome da Função      : Formatação de campos numéricos
// Analista            : Almir Rogério Castilho Simão
// Data                : 14/07/2005
// Utilidade           : Função para verificar digitação de campos numéricos com máscara
// Sintaxe             : f_FormataCampoNumerico( nome do campo , máscara );
// Exemplo             : Esta função deverá ser associada ao evento onKeyUp,
                         para que durante o preenchimento do campo seja verificado se a máscara definida 
                         está sendo respeitada.
                         Nota : os algarismos serão representados pelo caractere #
                         a máscara poderá ser composta pelos caracteres '/','.',',' e '-'
                         f_FormataCpNum( cCampo, cTecla, '##/##' )
// ----------------------------------------------------------------------------------
*/
function f_FormataNumero(cCampo, cMascara)
{
  var i;
  // Compara o conteúdo do campo com a máscara. Se um caractere em uma determinada
  // posição não condizer com a máscara, ele é eliminado
  for(i=0; i<cCampo.value.length; i++)
  { 
    // Se for posição de algarismo
    if( cMascara.charAt(i) == "#" )
    {
      // Se não for algarismo, apaga o caractere
      if( "0123456789".indexOf( cCampo.value.charAt(i) ) == -1 )
      {
        cCampo.value.replace( cCampo.value.charAt(i) , "" );
      }
      cCampo.value = cCampo.value.substr( 0, (cCampo.value.length - 1) );
    }
  }
}

// Funcoes para exibir bloco de ajuda
function f_LabelAjuda(e, texto, controle, isEsquerda)
{
    // Verifico se o elemento nao existe
	if(typeof(lblAjuda) == "undefined")
	{
		var div = document.createElement('div');
		div.id = "lblAjuda";
		div.style.color = "#000000";
		div.style.zIndex = "1";
		div.style.backgroundColor = "#FFFFEC";
		div.style.fontFamily = "Arial, Helvetica, sans-serif";
		div.style.position = "absolute";
		div.style.visibility = "hidden";
		div.style.border = "1px solid #CC0000";
		div.style.fontSize = "12px";
		div.style.padding = "4px";
		div.style.filter = "progid:DXImageTransform.Microsoft.Shadow(color=gray, direction=135, strength=4)";
		document.body.appendChild(div);
	}
	var ajuda = document.getElementById('lblAjuda');
	ajuda.style.visibility = 'visible';

	controle.onmouseout = function ()
	{
		ajuda.style.visibility = 'hidden';
	}


	ajuda.innerHTML = texto;

	var ev = (!e) ? window.event : e;
	
	var SomaLeft = 20;
	var SomaTop = 10;
	if(isEsquerda)
	{
		var SomaLeft = -20 - (ajuda.innerHTML.length * 6);
		var SomaTop = -10;
	}
	
	if (ev.pageX)
	{
		ajuda.style.left = (ev.pageX + document.body.scrollLeft + SomaLeft) + 'px';
		ajuda.style.top  = (ev.pageY + document.body.scrollTop + SomaTop) + 'px';
	}
	else
	{
		ajuda.style.left = (ev.clientX + document.body.scrollLeft + SomaLeft) + 'px';
		ajuda.style.top = (ev.clientY + document.body.scrollTop + SomaTop) + 'px';
	}
}

//Função ação botão
function mkBtRunOnce(nome, action)
{
  str='<table border=0 cellspacing=0 cellpadding=0><tr valign="middle"><td><img src="/apt/img/botao/b_esquerda.gif" width=3 height=17></td><td class="bt-bg" valign="top"><a onclick="javascript:'+action+'" style="cursor:pointer;" class="link-bt"><font class="botao">&nbsp;'+nome+'&nbsp;</font></a></td><td><img src="/apt/img/botao/b_direita.gif" width=17 height=17></td></tr></table>';
  document.write(str);
}

//Função ação botão
function mkBtRunOnceSolicitar(nome, action)
{
  str='<table border=0 cellspacing=0 cellpadding=0><tr valign="middle"><td><img src="/apt/img/botao/b_esquerda_solicitar.gif" width=3 height=17></td><td class="bt-bg-solicitar" valign="top"><a onclick="javascript:'+action+'" style="cursor:pointer;" class="link-bt"><font class="botao">&nbsp;'+nome+'&nbsp;</font></a></td><td><img src="/apt/img/botao/b_direita_solicitar.gif" width=17 height=17></td></tr></table>';
  document.write(str);
}

//Função ação botão
function f_BotaoVoltar(nome, action)
{
  str='<table border=0 cellspacing=0 cellpadding=0><tr valign="middle"><td><img src="/apt/img/botao/b-voltar-inicio.gif" width=17 height=17></td><td class="bt-bg" valign="top"><a onclick="javascript:'+action+'" style="cursor:pointer;" class="link-bt"><font class="botao">&nbsp;'+nome+'&nbsp;</font></a></td><td><img src="/apt/img/botao/b-voltar-fim.gif" width=4 height=17></td></tr></table>';
  document.write(str);
}

function f_UCase(cCampo)
{
	cCampo.value=cCampo.value.toUpperCase()
}

function f_LCase(cCampo)
{
	cCampo.value=cCampo.value.toLowerCase()
}

function f_LimpaRelatorio()
{
	iRelatorio.location.href="/med/html/vazio.html";
}

// Função para formatar campo de Hora - 08/06/2009
function f_FormataHora(Tecla,cCampo)
{
 if (Tecla > 47 && Tecla < 58)
 {
  event.returnValue = true;
  ConsisteHora(cCampo);     
 }
 else
 {
  event.returnValue = false;
 }
}
	
function ConsisteHora(cCampo)
{
 back = '';
 if(cCampo.value.length == 2)
 { 
  hrs = (cCampo.value.substring(0,2));
  if (hrs >= 00 && hrs <= 23)
  {
   cCampo.value += ":";
   event.returnValue = true;
   back = (cCampo.value.substring(0,3));
  }
  else
  {
   cCampo.value = "";
   event.returnValue = false;
  }
 }
 else if(cCampo.value.length == 4)
 {
  min = (cCampo.value.substring(3,4));
  if (min >= 0 && min < 6)
  {
   event.returnValue = true; 
  }
  else
  {
   back = (cCampo.value.substring(0,3));
   cCampo.value = "";
   cCampo.value    = back;
   event.returnValue = false;
  }
 }		
}
//Função que retorna a diferença de dias entre a data inicial e a data final
function verificaTamanhoData(strDtInicio,strDtFim)
{				
	strDtInicio = strDtInicio.replace(/(\d+).(\d+).(\d+)/, "$3/$2/$1");
	dtInicio    = new Date(strDtInicio);		
	
	strDtFim = strDtFim.replace(/(\d+).(\d+).(\d+)/, "$3/$2/$1");
	dtFim    = new Date(strDtFim);

	return diferencaDias(dtFim, dtInicio);
}
//Função que retorna a diferença de dias entre duas datas
function diferencaDias(data1, data2){
	var dif =
			Date.UTC(data1.getYear(),data1.getMonth(),data1.getDate(),0,0,0)
		- Date.UTC(data2.getYear(),data2.getMonth(),data2.getDate(),0,0,0);
	return (dif / 1000 / 60 / 60 / 24);
}