sync
[bootswatch] / mPurpose / js / main-menu.js
1 var mainMenu = (function() {\r
2 \r
3         var $listItems = $( '#mainmenu > ul > li' ),\r
4                 $menuItems = $listItems.children( 'a' ),\r
5                 $body = $( 'body' ),\r
6                 current = -1;\r
7 \r
8         function init() {\r
9                 $menuItems.on( 'click', open );\r
10                 $listItems.on( 'click', function( event ) { event.stopPropagation(); } );\r
11         }\r
12 \r
13         function open( event ) {\r
14 \r
15                 var $item = $( event.currentTarget ).parent( 'li.has-submenu' ),\r
16                         idx = $item.index();\r
17                 if($item.length != 0){\r
18                         if( current !== -1 ) {\r
19                                 $listItems.eq( current ).removeClass( 'mainmenu-open' );\r
20                         }\r
21 \r
22                         if( current === idx ) {\r
23                                 $item.removeClass( 'mainmenu-open' );\r
24                                 current = -1;\r
25                         }\r
26                         else {\r
27                                 $item.addClass( 'mainmenu-open' );\r
28                                 current = idx;\r
29                                 $body.off( 'click' ).on( 'click', close );\r
30                         }\r
31                         return false;\r
32                 }\r
33                 else window.location = $item.find('a').attr('href');\r
34         }\r
35 \r
36         function close( event ) {\r
37                 $listItems.eq( current ).removeClass( 'mainmenu-open' );\r
38                 current = -1;\r
39         }\r
40 \r
41         return { init : init };\r
42 \r
43 })();