/*
 * Copyright(c) 2000 PROCERGS Direto. Todos os direitos reservados.
 * 
 * Este programa é licenciado de acordo com a L.P.G. - P.C. (Licença Pública 
 *   Genérica para Programas de Computador), versão 1.6 ou qualquer versão 
 *   posterior.
 * 
 * A L.P.G. - P.C. deve acompanhar todas PUBLICAÇÕES, DISTRIBUIÇÕES e 
 *   REPRODUÇÕES deste Programa.
 * 
 * A L.P.G. - P.C. também está disponível em: Licença: http://www.lpg.adv.br/lpgpc.rtf
 * Assinatura digital: http://www.lpg.adv.br/lpgpc.rtf.sig
 * Chave pública do advogado responsável pela licença: http://www.lpg.adv.br/pcc.asc
 * 
 * Para poder USAR, PUBLICAR, DISTRIBUIR, REPRODUZIR ou ALTERAR este Programa é 
 *   preciso estar de acordo com os termos da L.P.G. - P.C., adicionada das 
 *   seguintes condições especiais:
 * 
 *   a) Qualquer modificação, mesmo que para simples USO, deve ser notificada à 
 *      PROCERGS, para permitir a evolução do software. A redistribuição do 
 *      código modificado sem notificação anterior não é permitida de nenhuma 
 *      forma.
 * 
 *   b) Produtos derivados e material de divulgação devem conter o seguintes 
 *      texto: "Este produto inclui o software Direto(www.direto.org.br), 
 *      desenvolvido pela PROCERGS (www.procergs.com.br).".
 * 
 *   c) Os nomes "Direto" e "PROCERGS" não devem ser utilizados para endossar ou 
 *      promover produtos derivados deste software sem autorização da PROCERGS.
 */ 
function xbDetectBrowser()
{
  var oldOnError = window.onerror;
  var element = null;

  window.onerror = null;
  
	
	// work around bug in xpcdom Mozilla 0.9.1
  window.saveNavigator = window.navigator;

  navigator.OS    = '';
  navigator.version  = parseFloat(navigator.appVersion);
  navigator.org    = '';
  navigator.family  = '';
	navigator.resolucao = '';
	
  navigator.resolucao = window.screen.width + "x" + window.screen.height;
	
	var platform;
  if (typeof(window.navigator.platform) != 'undefined')
  {
    platform = window.navigator.platform.toLowerCase();
    if (platform.indexOf('win') != -1)
      navigator.OS = 'windows';
    else if (platform.indexOf('mac') != -1)
      navigator.OS = 'mac';
    else if (platform.indexOf('unix') != -1)
		  navigator.OS = 'unix';
		else if	(platform.indexOf('sun') != -1)
		  navigator.OS = 'sun';		 
		else if (platform.indexOf('linux') != -1) 
      navigator.OS = 'linux';
  }

  var i = 0;
  var ua = window.navigator.userAgent.toLowerCase();
  
  if (ua.indexOf('opera') != -1)
  {
    i = ua.indexOf('opera');
    navigator.family  = 'opera';
    navigator.org    = 'opera';
    navigator.version  = parseFloat('0' + ua.substr(i+6), 10);
  }
  else if ((i = ua.indexOf('msie')) != -1)
  {
    navigator.org    = 'microsoft internet explorer';
    navigator.version  = parseFloat('0' + ua.substr(i+5), 10);
    
    if (navigator.version < 4)
      navigator.family = 'ie3';
    else
      navigator.family = 'ie4'
  }
  else if (ua.indexOf('gecko') != -1)
  {
    navigator.family = 'gecko';
    var rvStart = navigator.userAgent.indexOf('rv:') + 3;
    var rvEnd = navigator.userAgent.indexOf(')', rvStart);
    var rv = navigator.userAgent.substring(rvStart, rvEnd);
//    var decIndex = rv.indexOf('.');
//    if (decIndex != -1)
//    {
//      rv = rv.replace(/\./g, '')
//      rv = rv.substring(0, decIndex-1) + '.' + rv.substr(decIndex)
//    }
//    navigator.version = parseFloat(rv);
    navigator.version = rv;
    
    if (ua.indexOf('netscape') != -1)
      navigator.org = 'netscape';
    else if (ua.indexOf('compuserve') != -1)
      navigator.org = 'compuserve';
    else
      navigator.org = 'mozilla';
  }
  else if ((ua.indexOf('mozilla') !=-1) && (ua.indexOf('spoofer')==-1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('opera')==-1)&& (ua.indexOf('webtv')==-1) && (ua.indexOf('hotjava')==-1))
  {
    var is_major = parseFloat(navigator.appVersion);
    if (is_major < 4)
      navigator.version = is_major;
    else
    {
      i = ua.lastIndexOf('/')
      navigator.version = parseFloat('0' + ua.substr(i+1), 10);
 }
    navigator.org = 'netscape';
    navigator.family = 'nn' + parseInt(navigator.appVersion);
  }
  else if ((i = ua.indexOf('aol')) != -1 )
  {
    // aol
    navigator.family  = 'aol';
    navigator.org    = 'aol';
    navigator.version  = parseFloat('0' + ua.substr(i+4), 10);
  }
  else if ((i = ua.indexOf('hotjava')) != -1 )
  {
    // hotjava
    navigator.family  = 'hotjava';
    navigator.org    = 'sun';
    navigator.version  = parseFloat(navigator.appVersion);
  }

  window.onerror = oldOnError;
}

xbDetectBrowser();

