/**
 * Generic
 */

var urlAtual = window.location.href;
if ( (urlAtual.indexOf("process.jsp") > 0) ) {
	history.go(1);
}

function updateField( field, value )
{
  field.value = value;
  window.close();
}


function isDigit( str )
{
  for( var i = 0; i < str.length; i++ )
  {
    var charCode = str.charCodeAt( i );
    if( !(charCode >= 48 && charCode <= 57) )
      return( false );
  }
  return( true );
}

function isLetter( str )
{
  for( var i = 0; i < str.length; i++ )
  {
    var charCode = str.charCodeAt( i );
    if( !(charCode >= 65 && charCode <= 90 || charCode >= 97 && charCode <= 122) )
      return( false );
  }
  return( true );
}

function isLetterOrDigit( str )
{
  for( var i = 0; i < str.length; i++ )
  {
    var character = str.charAt( i );
    if( !isDigit( character ) && !isLetter( character ) )
      return( false );
  }
  return( true );
}


function searchKey( campo, keyEvent )
{
  var key = keyEvent.keyCode;
  document.form[campo].value = key;
}

function nextFocus( field, size, event )
{
  // Alteração feita por Darlan necessário para remover acentuações dos campos.
  var value = field.value;
  var valueFormated = removerAcentuacao( value );
  if( value != valueFormated )
    field.value = valueFormated;

  /* Tenta recuperar a tecla pelo Netscape */
  var key = event.keyCode;
  /* ou pelo IE */
  if( key == null )
    key = event.which;
  /* Se não conseguir por nenhum dos dois, seta como A */
  if( key == null )
    key = 65;

  var i;
  var value = field.value;
  var selected = false; 

  if( field.form.elements.length != 0 &&
      size <= value.length &&
      key != 0 && key != 8 && key != 9 && key != 16 && key != 20 && key != 27 &&
      !(key >= 33 && key <= 46) &&
      !(key >= 16 && key <= 18) &&
      !(key >= 90 && key <= 93) &&
      !(key >= 112 && key <= 123) &&
      !(key >= 144 && key <= 145) )
    for( i = 0; i < field.form.elements.length - 1 && ! selected; i++ )
      if( field == field.form[ i ] )
        for( j = i + 1; j < field.form.elements.length && ! selected; j++ )
          if( field.form[ j ].type != "hidden" && field.form[ j ].disabled != true )
          {
            field.form[ j ].focus();
            selected = true
          }
}

function nextFocusNormal( field, size, event )
{
  // Remove apenas Aspas Simples "\'"
  var value = field.value;
  var valueFormated = removerAspasSimples( value );
  if( value != valueFormated )
    field.value = valueFormated;

  /* Tenta recuperar a tecla pelo Netscape */
  var key = event.keyCode;
  /* ou pelo IE */
  if( key == null )
    key = event.which;
  /* Se não conseguir por nenhum dos dois, seta como A */
  if( key == null )
    key = 65;

  var i;
  var value = field.value;
  var selected = false; 

  if( field.form.elements.length != 0 &&
      size <= value.length &&
      key != 0 && key != 8 && key != 9 && key != 16 && key != 20 && key != 27 &&
      !(key >= 33 && key <= 46) &&
      !(key >= 16 && key <= 18) &&
      !(key >= 90 && key <= 93) &&
      !(key >= 112 && key <= 123) &&
      !(key >= 144 && key <= 145) )
    for( i = 0; i < field.form.elements.length - 1 && ! selected; i++ )
      if( field == field.form[ i ] )
        for( j = i + 1; j < field.form.elements.length && ! selected; j++ )
          if( field.form[ j ].type != "hidden" && field.form[ j ].disabled != true )
          {
            field.form[ j ].focus();
            selected = true
          }
}

function getField( c )
{
  var i;
  var j;
  for( i = 0; i < document.forms.length; i++ )
  {
    var f = document.forms[ i ];
    for( j = 0; j < f.elements.length; j++ )
    {
//      var campo = f.elements[ j ];
      var campo = f[ j ];
      if( c == campo.name )
        return campo;
    }
  }
  return null;
}

function setFocus( campofoco )
{
  var campo = getField( campofoco )
  if( campo != null)
    campo.focus();
}

function setFirstFieldFocus()
{
  var form = document.forms[ 0 ];
  if( form != null )
    for( var i = 0; i < form.elements.length; ++i )
      if( form[ i ].type != 'hidden' )
      {
        form[ i ].focus();
        break;
      }
}

function selectAll( newState )
{
  for( var i = 0; i < document.forms[0].elements.length; i++ )
    document.forms[0].elements[i].checked = newState;
}

function sendOptionEmpty(){
// Troca o valor Option para vazio e submete o formulario
  var form = document.forms[0];
  form.elements['Option'].value   = '';
  form.submit();
}

function maxLengthTextArea(c, e, l) {
// Impede a inclusão de caracteres excedendo o limite em textareas
// Obs: somente IE.
  if (c.value.length >= l && !(e.keyCode in {37:'seta_esquerda', 38:'seta_cima', 39:'seta_direita', 40:'seta_baixo', 8:'backspace', 36:'delete' })) {
    return false;
  }else if (e.ctrlKey && e.keyCode==86 && (window.clipboardData.getData('TEXT').length + c.value.length) > l) {
    return false;
  } else {
    return true;
  }
}
