if(window.$)
{
    $(function(){
        if($('#menu > ul > li > ul').length > 0)
        {
            var _hide;
            var _docMouseOver = function(){
                clearTimeout(_hide);
                _hide = setTimeout(function(){
                    $('#menu > ul ul').hide();
                    $(document).unbind('mouseover.top_filters');
                }, 100);
            };

            var _menuMouseOver = function(e, iphone){
                clearTimeout(_hide);
                
                var menu = $('#menu > ul'); 
                var item = $(this);
                var submenu = item.find('ul'); 
                
                menu.find('ul').data('jg_visible', false).hide();
                submenu.show();
                submenu.data('jg_visible', true);
                
                if(!iphone)$(document).bind('mouseover.top_filters', _docMouseOver);
                
                var rightBoundary = menu.offset().left + menu.outerWidth();
                var deltaX = rightBoundary - (item.offset().left + submenu.width());
                if(deltaX < 0)
                {
                    submenu.css('left', deltaX + 'px');
                }
                
                e.stopPropagation();
            };
		
	        if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) 
	        {       
                $('#menu > ul > li').click(function(e){   
                    var item = $(this); 
                    var submenu = item.find('ul');
                    var submenuVisible= submenu.data('jg_visible');            
                    _menuMouseOver.call(item, e, true);

                    if(submenu.length > 0 && !submenuVisible) return false;
                });

                $(document).click(function(){
                    $('#menu > ul ul').each(function(){
                        $(this).data('jg_visible', false).hide();
                    });
                });
	        }
            else
            {
                $('#menu > ul > li').mouseover(function(e){
                    _menuMouseOver.call(this, e, false);
                }); 
            }
        }
    });
}
