$(document).ready(function()
{
  var active        = null;
  var timer         = false;
  var activeElement = $('ul#menu li ul li a.active');
  var isChild = false;
  var opennedMenu = null;

  if(activeElement.length == 0)
    activeElement   = $('ul#menu li a.active');
  else
    isChild = true;

  if(activeElement.length == 0)
    activeElement = 0;

  var activeRel     = activeElement ? activeElement.attr('rel') : 0;

  function setBackgroundPosition(i)
  {
    var position = (Math.round(i) + 1) * (-90);
    $('#header').css('backgroundPosition', 'left '+ position +'px');
  }

  function setDefaultBackgroundPosition(activeElement)
  {
    //active = $('ul#menu li a[rel='+ activeRel +']');
    if (activeElement)
    {

      activeElement.addClass('active');

      if(isChild)
      {
        var parentElement = activeElement.parent().parent().parent().children('a');
        if(parentElement && parentElement.attr('rel') != '')
        {
          setBackgroundPosition(parentElement.attr('rel'));
          parentElement.addClass('active');
          $('ul', parentElement.parent()).show();
        }
      }
      else
      {
        setBackgroundPosition(activeElement.attr('rel'));
        $('ul', activeElement.parent()).show();
      }

    }
    else
    {
      $('#header').css('backgroundPosition', 'left 0px');
    }
  }

  /*****************************************/

  $('ul#menu li ul').hide();

  setDefaultBackgroundPosition(activeElement);

  $('ul#menu li a').hover(function()
  {
    if(timer) clearTimeout(timer);

    if ($(opennedMenu).attr('href') != $(this).attr('href'))
    {
      $('ul#menu li ul').hide();
    }

    opennedMenu = this;

    $('ul#menu li a.active').removeClass('active');

    var parentElement = $(this).parent().parent().parent().children('a');

    if(parentElement && parentElement.attr('rel') != '')
    {
      setBackgroundPosition(parentElement.attr('rel'));
      parentElement.addClass('active');
      $('ul', parentElement.parent()).show();
    }
    else
    {
      $('ul#menu li ul').hide();
      $('ul', $(this).parent()).show();
      setBackgroundPosition($(this).attr('rel'));
    }

  });

  $('ul#menu li a').mouseout(function()
  {
    timer = setTimeout(
      function(){
        if(activeElement == 0 || activeElement.length == 0)
        {
          $('ul#menu li ul').hide();
          $('ul#menu li a.active').removeClass('active');
          $('#header').css('backgroundPosition', 'left 0px');
        }
        else
        {
          $('ul#menu li ul').hide();
          $('ul#menu li a.active').removeClass('active');
          setDefaultBackgroundPosition(activeElement);
        }

        opennedMenu = null;
      },
      '300'
    );
  });
});
