$(function()
{
    var getAbsolutePos = function( el )
    {
        var SL = 0, ST = 0;
        var is_div = /^div$/i.test(el.tagName);

        if ( is_div && el.scrollLeft )
            SL = el.scrollLeft;
        if ( is_div && el.scrollTop )
            ST = el.scrollTop;

        var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };

        if ( el.offsetParent )
        {
            var tmp = getAbsolutePos(el.offsetParent);

            r.x += tmp.x;
            r.y += tmp.y;
        }

        return r;
    };

    var timer, menuHover;

    $('div#nav div.submenu').mouseover(function(){
        $('div#nav > ul > li > a[href^=/ingresar/]').addClass('active');
        menuHover = true;
    }).mouseout(function(){
        menuHover = false;
        onOut();
    });

    $('div#nav > ul > li > a[href^=/ingresar/]').mouseover(function(){

        $(this).addClass('active');

        menuHover = true;

        var pos = getAbsolutePos(this);

        var menu  = $('div#nav div.submenu').css('visibility', 'hidden').removeClass('hidden');
        var top   = pos.y + 16;
        var left  = pos.x - menu.width() + $(this).width() + 13;

        if ( jQuery.browser.msie ){
            $('div#search form select#provincia').css('visibility', 'hidden');
            top += 5;
        }

        menu.css({ top: top + 'px', left: left + 'px', visibility: 'visible'});
    })
    .mouseout(function(){
        menuHover = false;
        onOut();
    });

    var onOut = function(){
        if ( timer )
            clearTimeout(timer);

        timer = setTimeout(function(){
            if ( menuHover === false ){
                $('div#nav div.submenu').addClass('hidden');

                if ( jQuery.browser.msie )
                    $('div#search form select#provincia').css('visibility', 'visible');

                $('div#nav > ul > li > a[href^=/ingresar/]').removeClass('active');
            }
        }, 500);
    }
});