/**
 * Generic
 */

var defaultFocusOccur;
var defaultFocusField;

function selectValue( url )
{
	var hWnd = window.open( url, "PopUp", "width=250,height=325,resizable=yes,scrollbars=yes" );
	if( ( document.window != null ) && ( !hWnd.opener ) )
		hWnd.opener = document.window;
}

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 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[ j ];
      if( c == campo.name )
        return campo;
    }
  }
  return null;
}

function setFocus( campofoco )
{
  var campo = getField( campofoco )
  if( campo != null)
    campo.focus();
}

function setFirstFieldFocus()
{
  if( defaultFocusOccur != null )
    window.location.hash = defaultFocusOccur;
  if( defaultFocusField != null )
    setFocus( defaultFocusField );
  else
  {
    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 getQueryString()
{
  var res = "";
  for( var i = 0; i < document.forms[0].elements.length; i++ )
  {
    var field = document.forms[0].elements[i];
    if( i > 0 )
      res = res + "&";
    res = res + field.name + "=" + field.value;
  }
  return res;
}

function getQueryStringWithout( e )
{
  var res = "";
  for( var i = 0; i < document.forms[0].elements.length; i++ )
  {
    var elem = document.forms[0].elements[i];
    if( e != elem.name )
    {
      if( i > 0 )
        res = res + "&";
      res = res + elem.name + "=" + elem.value;
    }
  }
  return res;
}

function getQueryStringWithoutSubmits()
{
  var res = "";
  for( var i = 0; i < document.forms[0].elements.length; i++ )
  {
    var elem = document.forms[0].elements[i];
    if( elem.type != "submit" )
    {
      if( i > 0 )
        res = res + "&";
      res = res + elem.name + "=" + elem.value;
    }
  }
  return res;
}

function getWindowName()
{
  return window.name.length > 0 ? window.name : "_top";
}

function sendOptionEmpty(){
// Troca o valor Option para vazio e submete o formulario
  var form = document.forms[0];
  form.elements['Option'].value   = '';
  form.submit();
}