//** Verifica se uma string está vazia.
function strEstaVazia(str)
{
  var flagStrVazia = true;
  if(str == '')
  {
    flagStrVazia = true;
  }
  else
  {
    for(var i = 0; i < str.toString().length; i++)
    {
      if(str.toString().substring(i,i + 1) != ' ')
      {
        flagStrVazia = false;
      }
    }
  }
  return flagStrVazia;
}

//** Transforma um string em caixa alta.
function strUCase(obj)
{
	obj.value = obj.value.toUpperCase();
}

//** Dá um replace de uma frase para outra em uma string.
function strReplace(str, vl1, vl2)
{
  aStr = str.split(vl1);
  if(aStr.length > 1)
  {
    str = '';
    for(var i = 0; i < aStr.length; i++)
    {
      if(i > 0)str += vl2;
      str += aStr[i];
    }
  }
  return str;
}

//** Retira os espaços em branco em um string.
function srtRetEspBranco(str)
{
  var str_validado = ''
  var indEspBranco = false;
  var indInicioString = true;
  var indGravaChar = false;
  var sChar
  if(str.indexOf('  ') > -1 || str.substring(0,1) == ' ')
  {
    for(var i = 0; i < str.length; i++)
    {
      sChar = str.substring(i,i + 1);
      if(indInicioString && sChar == ' ')
      {
        indGravaChar = false;
      }
      else
      {
        indInicioString = false
        if(sChar == ' ' && indEspBranco)
        {
          indGravaChar = false;
        }
        else if(sChar == ' ')
        {
          indGravaChar = true;
          indEspBranco = true;
        }
        else
        {
          indGravaChar = true;
          indEspBranco = false;
        }
      }
      if(indGravaChar)str_validado += sChar;
    }
  }
  else
  {
    str_validado = str;
  }
  if(str_validado.substring(str_validado.length - 1,str_validado.length) == ' ')
    str_validado = str_validado.substring(0,str_validado.length - 1)
  return str_validado;
}

//** Verifica se uma texto está em uma string com vários texto, tendo um delimitador para separa o texto. Exemplo: 'texto1|*|texto2|*|texto3'.
function strInStrDelimit(sStr, sStr2, sStrDelimit)
{
  var sStrValida = '';
  var bRetorno = false;
  if(sStr != '')
  {
    for(var i = 0; i < sStr.length; i++)
    {
      if(sStrDelimit == sStr.substr(i,sStrDelimit.length))
      {
        if(sStrValida == sStr2)
          bRetorno = true;
        sStrValida = '';
        i = i + sStrDelimit.length;
      }
      sStrValida += sStr.substr(i,1);
    }
    if(sStrValida == sStr2)
      bRetorno = true;
  }
  return bRetorno;
}

//** Verifica um elemento em uma string com vários textos, tendo um delimitador para separa o texto.
//** Como usar: strDelimitPos(varStr, 2, '|*|'); // retorno "oi", tendo varStr = 'teste1|*|oi|*|teste3|*|teste4'.
function strDelimitPos(sStr, iPos, sStrDelimit)
{
  var sStrValida = '';
  if(sStr == '')
  {
     return '';
  }
  else
  {
    var iContPos = 1;
    for(var i = 0; i < sStr.length; i++)
    {
      if(sStrDelimit == sStr.substr(i,sStrDelimit.length))
      {
        if(iPos == iContPos)
          return sStrValida;
        sStrValida = '';
        i = i + sStrDelimit.length;
        iContPos++;
      }
      sStrValida += sStr.substr(i,1);
    }
    if(iPos == iContPos)
      return sStrValida
    else
      return '';
  }
}

//** Valida se una string tem caracteres especiais.
function verifStrChrEspeciais(string)
{
  for (var i=0, output='', valid="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; i < string.length; i++)
    if (valid.indexOf(string.charAt(i)) == -1)
      return false;
  return true;
} 

//**
function strDecodHtml(sStr, sIndEncodeDecode)
{
  var aChr = new Array('À','Á','Â','Ã','Ä','à','á','â','ã','ä','È','É','Ê','Ë','è','é','ê','ë','Ì','Í','ì','í','Ñ','ñ','Ò','Ó','Ô','Õ','Ö','ò','ó','ô','õ','ö','Ù','Ú','Û','Ü','ù','ú','û','ü');
  var aHtmlDec = new Array('&Agrave;','&Aacute;','&Acirc;','&Atilde;','&Auml;','&agrave;','&aacute;','&acirc;','&atilde;','&auml;','&Egrave;','&Eacute;','&Ecirc;','&Euml;','&egrave;','&eacute;','&ecirc;','&euml;','&Igrave;','&Iacute;','&igrave;','&iacute;','&Ntilde;','&ntilde;','&Ograve;','&Oacute;','&Ocirc;','&Otilde;','&Ouml;','&ograve;','&oacute;','&ocirc;','&otilde;','&ouml;','&Ugrave;','&Uacute;','&Ucirc;','&Uuml;','&ugrave;','&uacute;','&ucirc;','&uuml;');
  var aStr1;
  var aStr2;
  var sStrRet = sStr;
  if(sIndEncodeDecode == 'E')
  {
    aStr1 = aChr;
    aStr2 = aHtmlDec;
  }
  else
  {
    aStr1 = aHtmlDec;
    aStr2 = aChr;
  }
  for(var i=0; i<aStr1.length; i++)
    if(sStrRet.indexOf(aStr1[i]) > -1)
      sStrRet = strReplace(sStrRet, aStr1[i], aStr2[i]);
  
  return sStrRet;
}
