// Variaveis de controle de tempo.
var UB_CLOSE_ON_OUT_TIMEOUT = 1000;
var UB_INIT_SHOW_TIMEOUT = 3000;

// Variavel que mantem os timeouts ativos.
var timers = [];

$(document).ready(function(){
  
  // Cria uma div como primeiro item dentro do body para ser
  // o container do upper-box.
  $('#wrap_upperbox').prepend("<div id='upper-box-main_empresa'></div>");
  
  // Atribui os css basicos de estrutura ao container principal.
  var boxMain = $('#upper-box-main_empresa');
  boxMain.css('position', 'absolute');
  boxMain.css('top', '-12px');
  boxMain.css('left', '-50px');
  boxMain.css('width', '680px');
  boxMain.css('z-index', '1');
  
  // Colca o upper-box para dentro do container principal.
  var box = $('.upper-box_empresa');
  boxMain.append(box);
  
  // Atribui os css basicos de estrutura ao upper-box.
  box.css('margin-left', 'auto');
  box.css('margin-right', 'auto');
  
  // Adiciona o knob (macaneta/puxador) ao upper-box.
  box.after("<div id='upper-box-knob_empresa'></div>");
  
  // Atribui os css basicos de estrutura ao knob.
  var knob = $('#upper-box-knob_empresa');
  knob.css('height', '15px');
  knob.css('margin-left', 'auto');
  knob.css('margin-right', 'auto');
	knob.css('width', box.width());
  
  // Esconde o upper-box.
  box.hide();
  
  // Adiciona o evento que dispara a abertura do upper-box.
  $('.lnk_empresa').click(function(){
    showUpperBox_empresa();
  });
  
  // Apaga os eventos que estao "esperando" para fechar o upper-box.
  box.mouseover(function(){
    clearTimers();
  });
  
  // Dispara o evento que fecha o upper-box.
  box.mouseout(function(){
    timers.push(setTimeout('hideUpperBox_empresa()', UB_CLOSE_ON_OUT_TIMEOUT));
  });

});

// Funcao para mostrar o upper-box.
function showUpperBox_empresa()
{
  $('.upper-box').slideUp();
  $('.upper-box_inovacoes').slideUp();
  $('.upper-box_tecnologia').slideUp();
  $('.upper-box_galeria').slideUp();
  $('.upper-box_empresa').slideDown();
  
    // Dispara timeout para servir como um "timeout".
  box.mouseout(function(){
    timers.push(setTimeout('hideUpperBox_empresa()', UB_CLOSE_ON_OUT_TIMEOUT));
  });
}



// Funcao para esconder o upper-box.
function hideUpperBox_empresa()
{
  $('.upper-box_empresa').slideUp();
}

// Funcao que apaga os timeouts que estao ativos.
function clearTimers()
{
  for(var i=0; i<timers.length; i++) clearTimeout(timers[i]);
  timers = [];
}