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