/**
 * Handles toggling the navigation menu for small screens and
 * accessibility for submenu items.
 */
 /**
 * 处理小屏幕设备的导航菜单切换，
 * 并优化子菜单项的无障碍访问性。
 */
( function() {
    // 获取导航容器（ID为site-navigation）、菜单按钮和菜单列表
	var nav = document.getElementById( 'site-navigation' ), button, menu;
	if ( ! nav ) {
		return; // 若导航容器不存在，直接退出
	}
    // 获取导航内的第一个按钮（通常是菜单切换按钮）和第一个ul（菜单列表）
	button = nav.getElementsByTagName( 'button' )[0];
	menu   = nav.getElementsByTagName( 'ul' )[0];
	if ( ! button ) {
		return;
	}

	// Hide button if menu is missing or empty.
	// 若菜单不存在或无子项，隐藏切换按钮
	if ( ! menu || ! menu.childNodes.length ) {
		button.style.display = 'none';
		return;
	}
    // 给切换切换切换按钮绑定点击事件：切换菜单的显示/隐藏状态
	button.onclick = function() {
		if ( -1 === menu.className.indexOf( 'nav-menu' ) ) {
			menu.className = 'nav-menu';
		}

		if ( -1 !== button.className.indexOf( 'toggled-on' ) ) {
			button.className = button.className.replace( ' toggled-on', '' );
			menu.className = menu.className.replace( ' toggled-on', '' );
		} else {
			button.className += ' toggled-on';
			menu.className += ' toggled-on';
		}
	};
} )();

// Better focus for hidden submenu items for accessibility.
// 优化隐藏子菜单的焦点访问（无障碍支持）
( function( $ ) {
    // 为导航内的所有链接绑定焦点/失焦事件
	$( '.main-navigation' ).find( 'a' ).on( 'focus.twentytwelve blur.twentytwelve', function() {
		$( this ).parents( '.menu-item, .page_item' ).toggleClass( 'focus' );
	} );
  // 针对触摸设备：处理含子菜单的菜单项点击
  if ( 'ontouchstart' in window ) {
    $('body').on( 'touchstart.twentytwelve',  '.menu-item-has-children > a, .page_item_has_children > a', function( e ) {
      var el = $( this ).parent( 'li' );
      // 若菜单项未处于焦点状态，则阻止默认跳转，切换焦点状态
      if ( ! el.hasClass( 'focus' ) ) {
        e.preventDefault();
        el.toggleClass( 'focus' );
        el.siblings( '.focus').removeClass( 'focus' );
      }
    } );
  }
} )( jQuery );
