// 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_tecnologia'></div>");
  
  // Atribui os css basicos de estrutura ao container principal.
  var boxMain = $('#upper-box-main_tecnologia');
  boxMain.css('position', 'absolute');
  boxMain.css('top', '73px');
  boxMain.css('left', '170px');
  boxMain.css('width', '650px');
  boxMain.css('z-index', '1');
  
  // Colca o upper-box para dentro do container principal.
  var box = $('.upper-box_tecnologia');
  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_tecnologia'></div>");
  
  // Atribui os css basicos de estrutura ao knob.
  var knob = $('#upper-box-knob_tecnologia');
  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_tecnologia').click(function(){
    showUpperBox_tecnologia();
  });
  
  // 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_tecnologia()', UB_CLOSE_ON_OUT_TIMEOUT));
  });

});

// Funcao para mostrar o upper-box.
function showUpperBox_tecnologia()
{
  $('.upper-box').slideUp();
  $('.upper-box_inovacoes').slideUp();
  $('.upper-box_tecnologia').slideDown();
  $('.upper-box_galeria').slideUp();
  $('.upper-box_empresa').slideUp();
  
    // Dispara timeout para servir como um "timeout".
  box.mouseout(function(){
    timers.push(setTimeout('hideUpperBox_tecnologia()', UB_CLOSE_ON_OUT_TIMEOUT));
  });
}



// Funcao para esconder o upper-box.
function hideUpperBox_tecnologia()
{
  $('.upper-box_tecnologia').slideUp();
}

// Funcao que apaga os timeouts que estao ativos.
function clearTimers()
{
  for(var i=0; i<timers.length; i++) clearTimeout(timers[i]);
  timers = [];
}
