<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><style type="text/css"><!--
#msg dl { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fc0 solid; padding: 6px; }
#msg ul, pre { overflow: auto; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<title>[14971] trunk: Move the &quot;Add Home Link&quot;
  functionality to a checkbox on the View All tab of the Pages metabox.</title>
</head>
<body>

<div id="msg">
<dl>
<dt>Revision</dt> <dd><a href="http://trac.wordpress.org/changeset/14971">14971</a></dd>
<dt>Author</dt> <dd>nacin</dd>
<dt>Date</dt> <dd>2010-05-27 02:24:33 +0000 (Thu, 27 May 2010)</dd>
</dl>

<h3>Log Message</h3>
<pre>Move the &quot;Add Home Link&quot; functionality to a checkbox on the View All tab of the Pages metabox. Also makes it work non-JS. props filosofo, fixes <a href="http://trac.wordpress.org/ticket/13213">#13213</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkwpadminincludesnavmenuphp">trunk/wp-admin/includes/nav-menu.php</a></li>
<li><a href="#trunkwpadminjsnavmenudevjs">trunk/wp-admin/js/nav-menu.dev.js</a></li>
<li><a href="#trunkwpadminjsnavmenujs">trunk/wp-admin/js/nav-menu.js</a></li>
<li><a href="#trunkwpadminnavmenusphp">trunk/wp-admin/nav-menus.php</a></li>
<li><a href="#trunkwpincludesnavmenutemplatephp">trunk/wp-includes/nav-menu-template.php</a></li>
<li><a href="#trunkwpincludesnavmenuphp">trunk/wp-includes/nav-menu.php</a></li>
<li><a href="#trunkwpincludesscriptloaderphp">trunk/wp-includes/script-loader.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkwpadminincludesnavmenuphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/includes/nav-menu.php (14970 => 14971)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/includes/nav-menu.php        2010-05-27 02:03:06 UTC (rev 14970)
+++ trunk/wp-admin/includes/nav-menu.php        2010-05-27 02:24:33 UTC (rev 14971)
</span><span class="lines">@@ -473,9 +473,6 @@
</span><span class="cx">                         &lt;/p&gt;
</span><span class="cx"> 
</span><span class="cx">                 &lt;p class=&quot;button-controls&quot;&gt;
</span><del>-                        &lt;span class=&quot;list-controls&quot;&gt;
-                                &lt;a href=&quot;#&quot; class=&quot;select-all add-home-link&quot;&gt;&lt;?php _e('Add Home Link'); ?&gt;&lt;/a&gt;
-                        &lt;/span&gt;
</del><span class="cx">                         &lt;span class=&quot;add-to-menu&quot;&gt;
</span><span class="cx">                                 &lt;img class=&quot;waiting&quot; src=&quot;&lt;?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?&gt;&quot; alt=&quot;&quot; /&gt;
</span><span class="cx">                                 &lt;input type=&quot;submit&quot; class=&quot;button-secondary submit-add-to-menu&quot; value=&quot;&lt;?php esc_attr_e('Add to Menu'); ?&gt;&quot; name=&quot;add-custom-menu-item&quot; id=&quot;submit-customlinkdiv&quot; /&gt;
</span><span class="lines">@@ -495,6 +492,8 @@
</span><span class="cx">  * @param string $post_type The post type object.
</span><span class="cx">  */
</span><span class="cx"> function wp_nav_menu_item_post_type_meta_box( $object, $post_type ) {
</span><ins>+        global $_nav_menu_placeholder;
+
</ins><span class="cx">         $post_type_name = $post_type['args']-&gt;name;
</span><span class="cx"> 
</span><span class="cx">         // paginate browsing for large numbers of post objects
</span><span class="lines">@@ -632,12 +631,38 @@
</span><span class="cx">                         &lt;ul id=&quot;&lt;?php echo $post_type_name; ?&gt;checklist&quot; class=&quot;list:&lt;?php echo $post_type_name?&gt; categorychecklist form-no-clear&quot;&gt;
</span><span class="cx">                                 &lt;?php
</span><span class="cx">                                 $args['walker'] = $walker;
</span><ins>+                                
+                                // if we're dealing with pages, let's put a checkbox for the front page at the top of the list
+                                if ( 'page' == $post_type_name ) {
+                                        $front_page = 'page' == get_option('show_on_front') ? (int) get_option( 'page_on_front' ) : 0;
+                                        if ( ! empty( $front_page ) ) {
+                                                $front_page_obj = get_post( $front_page );
+                                                $front_page_obj-&gt;_add_to_top = true;
+                                                $front_page_obj-&gt;label = sprintf( _x('Home: %s', 'nav menu front page title'), $front_page_obj-&gt;post_title );
+                                                array_unshift( $posts, $front_page_obj );
+                                        } else {
+                                                $_nav_menu_placeholder = ( 0 &gt; $_nav_menu_placeholder ) ? intval($_nav_menu_placeholder) - 1 : -1;
+                                                array_unshift( $posts, (object) array(
+                                                        '_add_to_top' =&gt; true,
+                                                        'ID' =&gt; 0,
+                                                        'object_id' =&gt; $_nav_menu_placeholder,
+                                                        'post_content' =&gt; '',
+                                                        'post_excerpt' =&gt; '',
+                                                        'post_title' =&gt; _x('Home', 'nav menu home label'),
+                                                        'post_type' =&gt; 'nav_menu_item',
+                                                        'type' =&gt; 'custom',
+                                                        'url' =&gt; home_url('/'),
+                                                ) );
+                                        }
+                                }
+
</ins><span class="cx">                                 $checkbox_items = walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $posts), 0, (object) $args );
</span><span class="cx"> 
</span><span class="cx">                                 if ( 'all' == $current_tab &amp;&amp; ! empty( $_REQUEST['selectall'] ) ) {
</span><span class="cx">                                         $checkbox_items = preg_replace('/(type=(.)checkbox(\2))/', '$1 checked=$2checked$2', $checkbox_items);
</span><span class="cx"> 
</span><span class="cx">                                 }
</span><ins>+
</ins><span class="cx">                                 echo $checkbox_items;
</span><span class="cx">                                 ?&gt;
</span><span class="cx">                         &lt;/ul&gt;
</span></span></pre></div>
<a id="trunkwpadminjsnavmenudevjs"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/js/nav-menu.dev.js (14970 => 14971)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/js/nav-menu.dev.js        2010-05-27 02:03:06 UTC (rev 14970)
+++ trunk/wp-admin/js/nav-menu.dev.js        2010-05-27 02:24:33 UTC (rev 14971)
</span><span class="lines">@@ -38,8 +38,6 @@
</span><span class="cx"> 
</span><span class="cx">                         this.attachTabsPanelListeners();
</span><span class="cx"> 
</span><del>-                        this.attachHomeLinkListener();
-
</del><span class="cx">                         this.attachUnsavedChangesListener();
</span><span class="cx"> 
</span><span class="cx">                         if( api.menuList.length ) // If no menu, we're in the + tab.
</span><span class="lines">@@ -134,8 +132,11 @@
</span><span class="cx">                                                         var t = $(this),
</span><span class="cx">                                                                 listItemDBIDMatch = re.exec( t.attr('name') ),
</span><span class="cx">                                                                 listItemDBID = 'undefined' == typeof listItemDBIDMatch[1] ? 0 : parseInt(listItemDBIDMatch[1], 10);
</span><ins>+                                                        if ( this.className &amp;&amp; -1 != this.className.indexOf('add-to-top') )
+                                                                processMethod = api.addMenuItemToTop; 
</ins><span class="cx">                                                         menuItems[listItemDBID] = t.closest('li').getItemData( 'add-menu-item', listItemDBID );
</span><span class="cx">                                                 });
</span><ins>+                                                
</ins><span class="cx">                                                 // Add the items
</span><span class="cx">                                                 api.addItemToMenu(menuItems, processMethod, function(){
</span><span class="cx">                                                         // Deselect the items and hide the ajax spinner
</span><span class="lines">@@ -540,13 +541,6 @@
</span><span class="cx">                         $(menuMarkup).hideAdvancedMenuItemFields().prependTo( api.targetList );
</span><span class="cx">                 },
</span><span class="cx"> 
</span><del>-                attachHomeLinkListener : function() {
-                        $('.add-home-link', '.customlinkdiv').click(function(e) {
-                                api.addLinkToMenu( navMenuL10n.homeurl, navMenuL10n.home, api.addMenuItemToTop );
-                                return false;
-                        });
-                },
-
</del><span class="cx">                 attachUnsavedChangesListener : function() {
</span><span class="cx">                         $('#menu-management input, #menu-management select, #menu-management, #menu-management textarea').change(function(){
</span><span class="cx">                                 api.registerChange();
</span></span></pre></div>
<a id="trunkwpadminjsnavmenujs"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/js/nav-menu.js (14970 => 14971)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/js/nav-menu.js        2010-05-27 02:03:06 UTC (rev 14970)
+++ trunk/wp-admin/js/nav-menu.js        2010-05-27 02:24:33 UTC (rev 14971)
</span><span class="lines">@@ -1 +1 @@
</span><del>-var wpNavMenu;(function(b){var a=wpNavMenu={options:{menuItemDepthPerLevel:30,globalMaxDepth:11},menuList:undefined,targetList:undefined,menusChanged:false,init:function(){a.menuList=b(&quot;#menu-to-edit&quot;);a.targetList=a.menuList;this.jQueryExtensions();this.attachMenuEditListeners();this.setupInputWithDefaultTitle();this.attachQuickSearchListeners();this.attachThemeLocationsListeners();this.attachTabsPanelListeners();this.attachHomeLinkListener();this.attachUnsavedChangesListener();if(a.menuList.length){this.initSortables()}this.initToggles();this.initTabManager()},jQueryExtensions:function(){b.fn.extend({menuItemDepth:function(){var c=this.eq(0).css(&quot;margin-left&quot;);return a.pxToDepth(c&amp;&amp;-1!=c.indexOf(&quot;px&quot;)?c.slice(0,-2):0)},updateDepthClass:function(d,c){return this.each(function(){var e=b(this);c=c||e.menuItemDepth();b(this).removeClass(&quot;menu-item-depth-&quot;+c).addClass(&quot;menu-item-depth-&quot;+d)})},shiftDepthClass:function(c){return this.each(function(){var d=b(this),e=d.menuItemDepth();b(this).removeClass(&quot;menu-item-depth-&quot;+e).addClass(&quot;menu-item-depth-&quot;+(e+c))})},childMenuItems:function(){var c=b();this.each(function(){var d=b(this),f=d.menuItemDepth(),e=d.next();while(e.length&amp;&amp;e.menuItemDepth()&gt;f){c=c.add(e);e=e.next()}});return c},updateParentMenuItemDBId:function(){return this.each(function(){var e=b(this),c=e.find(&quot;.menu-item-data-parent-id&quot;),f=e.menuItemDepth(),d=e.prev();if(f==0){c.val(0)}else{while(d.menuItemDepth()!=f-1){d=d.prev()}c.val(d.find(&quot;.menu-item-data-db-id&quot;).val())}})},hideAdvancedMenuItemFields:function(){return this.each(function(){var c=b(this);b(&quot;.hide-column-tog&quot;).not(&quot;:checked&quot;).each(function(){c.find(&quot;.field-&quot;+b(this).val()).addClass(&quot;hidden-field&quot;)})})},addSelectedToMenu:function(c){return this.each(function(){var e=b(this),d={},g=e.find(&quot;.tabs-panel-active .categorychecklist li input:checked&quot;),f=new RegExp(&quot;menu-item\\[([^\\]]*)&quot;);c=c||a.addMenuItemToBottom;if(!g.length){return false}e.find(&quot;img.waiting&quot;).show();b(g).each(function(){var i=b(this),h=f.exec(i.attr(&quot;name&quot;)),j=&quot;undefined&quot;==typeof h[1]?0:parseInt(h[1],10);d[j]=i.closest(&quot;li&quot;).getItemData(&quot;add-menu-item&quot;,j)});a.addItemToMenu(d,c,function(){g.removeAttr(&quot;checked&quot;);e.find(&quot;img.waiting&quot;).hide()})})},getItemData:function(f,g){f=f||&quot;menu-item&quot;;var d={},e,c=[&quot;menu-item-db-id&quot;,&quot;menu-item-object-id&quot;,&quot;menu-item-object&quot;,&quot;menu-item-parent-id&quot;,&quot;menu-item-position&quot;,&quot;menu-item-type&quot;,&quot;menu-item-title&quot;,&quot;menu-item-url&quot;,&quot;menu-item-description&quot;,&quot;menu-item-attr-title&quot;,&quot;menu-item-target&quot;,&quot;menu-item-classes&quot;,&quot;menu-item-xfn&quot;];if(!g&amp;&amp;f==&quot;menu-item&quot;){g=this.find(&quot;.menu-item-data-db-id&quot;).val()}if(!g){return d}this.find(&quot;input&quot;).each(function(){var h;e=c.length;while(e--){if(f==&quot;menu-item&quot;){h=c[e]+&quot;[&quot;+g+&quot;]&quot;}else{if(f==&quot;add-menu-item&quot;){h=&quot;menu-item[&quot;+g+&quot;][&quot;+c[e]+&quot;]&quot;}}if(this.name&amp;&amp;h==this.name){d[c[e]]=this.value}}});return d},setItemData:function(c,d,e){d=d||&quot;menu-item&quot;;if(!e&amp;&amp;d==&quot;menu-item&quot;){e=b(&quot;.menu-item-data-db-id&quot;,this).val()}if(!e){return this}this.find(&quot;input&quot;).each(function(){var f=b(this),g;b.each(c,function(h,i){if(d==&quot;menu-item&quot;){g=h+&quot;[&quot;+e+&quot;]&quot;}else{if(d==&quot;add-menu-item&quot;){g=&quot;menu-item[&quot;+e+&quot;][&quot;+h+&quot;]&quot;}}if(g==f.attr(&quot;name&quot;)){f.val(i)}})});return this}})},initToggles:function(){postboxes.add_postbox_toggles(&quot;nav-menus&quot;);columns.useCheckboxesForHidden();columns.checked=function(c){b(&quot;.field-&quot;+c).removeClass(&quot;hidden-field&quot;)};columns.unchecked=function(c){b(&quot;.field-&quot;+c).addClass(&quot;hidden-field&quot;)};a.menuList.hideAdvancedMenuItemFields()},initSortables:function(){var m=0,l,j,e,h,n,k,o,d,g,i=a.menuList.offset().left;a.menuList.sortable({handle:&quot;.menu-item-handle&quot;,placeholder:&quot;sortable-placeholder&quot;,start:function(w,v){var p,t,s,q,r,u;g=v.item.children(&quot;.menu-item-transport&quot;);l=v.item.menuItemDepth();f(v,l);s=(v.item.next()[0]==v.placeholder[0])?v.item.next():v.item;q=s.childMenuItems();g.append(q);p=g.outerHeight();p+=(p&gt;0)?(v.placeholder.css(&quot;margin-top&quot;).slice(0,-2)*1):0;p+=v.helper.outerHeight();d=p;p-=2;v.placeholder.height(p);r=l;q.each(function(){var x=b(this).menuItemDepth();r=(x&gt;r)?x:r});t=v.helper.find(&quot;.menu-item-handle&quot;).outerWidth();t+=a.depthToPx(r-l);t-=2;v.placeholder.width(t);u=v.placeholder.next();u.css(&quot;margin-top&quot;,d+&quot;px&quot;);v.placeholder.detach();b(this).sortable(&quot;refresh&quot;);v.item.after(v.placeholder);u.css(&quot;margin-top&quot;,0);c(v)},stop:function(s,r){var q,p=m-l;q=g.children().insertAfter(r.item);if(p!=0){r.item.updateDepthClass(m);q.shiftDepthClass(p);a.registerChange()}r.item.updateParentMenuItemDBId();r.item[0].style.top=0},change:function(q,p){if(!p.placeholder.parent().hasClass(&quot;menu&quot;)){(h.length)?h.after(p.placeholder):a.menuList.prepend(p.placeholder)}c(p)},sort:function(q,p){var s=p.helper.offset(),r=a.pxToDepth(s.left-i);if(r&gt;e||s.top&lt;k){r=e}else{if(r&lt;j){r=j}}if(r!=m){f(p,r)}if(o&amp;&amp;s.top+d&gt;o){n.after(p.placeholder);c(p);b(this).sortable(&quot;refreshPositions&quot;)}},update:function(q,p){a.registerChange()}});function c(p){var q;h=p.placeholder.prev();n=p.placeholder.next();if(h[0]==p.item[0]){h=h.prev()}if(n[0]==p.item[0]){n=n.next()}k=(h.length)?h.offset().top+h.height():0;o=(n.length)?n.offset().top+n.height()/3:0;j=(n.length)?n.menuItemDepth():0;if(h.length){e=((q=h.menuItemDepth()+1)&gt;a.options.globalMaxDepth)?a.options.globalMaxDepth:q}else{e=0}}function f(p,q){p.placeholder.updateDepthClass(q,m);m=q}},attachMenuEditListeners:function(){var c=this;b(&quot;#update-nav-menu&quot;).bind(&quot;click&quot;,function(d){if(d.target&amp;&amp;d.target.className){if(-1!=d.target.className.indexOf(&quot;item-edit&quot;)){return c.eventOnClickEditLink(d.target)}else{if(-1!=d.target.className.indexOf(&quot;menu-save&quot;)){return c.eventOnClickMenuSave(d.target)}else{if(-1!=d.target.className.indexOf(&quot;menu-delete&quot;)){return c.eventOnClickMenuDelete(d.target)}else{if(-1!=d.target.className.indexOf(&quot;item-delete&quot;)){return c.eventOnClickMenuItemDelete(d.target)}else{if(-1!=d.target.className.indexOf(&quot;item-cancel&quot;)){return c.eventOnClickCancelLink(d.target)}}}}}}})},setupInputWithDefaultTitle:function(){var c=&quot;input-with-default-title&quot;;b(&quot;.&quot;+c).each(function(){var f=b(this),e=f.attr(&quot;title&quot;),d=f.val();f.data(c,e);if(&quot;&quot;==d){f.val(e)}else{if(e==d){return}else{f.removeClass(c)}}}).focus(function(){var d=b(this);if(d.val()==d.data(c)){d.val(&quot;&quot;).removeClass(c)}}).blur(function(){var d=b(this);if(&quot;&quot;==d.val()){d.addClass(c).val(d.data(c))}})},attachThemeLocationsListeners:function(){var d=b(&quot;#nav-menu-theme-locations&quot;),c={};c.action=&quot;menu-locations-save&quot;;c[&quot;menu-settings-column-nonce&quot;]=b(&quot;#menu-settings-column-nonce&quot;).val();d.find(&quot;input[type=submit]&quot;).click(function(){d.find(&quot;select&quot;).each(function(){c[this.name]=b(this).val()});d.find(&quot;.waiting&quot;).show();b.post(ajaxurl,c,function(e){d.find(&quot;.waiting&quot;).hide()});return false})},attachQuickSearchListeners:function(){var c;b(&quot;.quick-search&quot;).keypress(function(f){var d=b(this);if(13==f.which){a.updateQuickSearchResults(d);return false}if(c){clearTimeout(c)}c=setTimeout(function(){a.updateQuickSearchResults(d)},400)}).attr(&quot;autocomplete&quot;,&quot;off&quot;)},updateQuickSearchResults:function(d){var c,g,e=2,f=d.val();if(f.length&lt;e){return}c=d.parents(&quot;.tabs-panel&quot;);g={action:&quot;menu-quick-search&quot;,&quot;response-format&quot;:&quot;markup&quot;,menu:b(&quot;#menu&quot;).val(),&quot;menu-settings-column-nonce&quot;:b(&quot;#menu-settings-column-nonce&quot;).val(),q:f,type:d.attr(&quot;name&quot;)};b(&quot;img.waiting&quot;,c).show();b.post(ajaxurl,g,function(h){a.processQuickSearchQueryResponse(h,g,c)})},addCustomLink:function(c){var e=b(&quot;#custom-menu-item-url&quot;).val(),d=b(&quot;#custom-menu-item-name&quot;).val();c=c||a.addMenuItemToBottom;if(&quot;&quot;==e||&quot;http://&quot;==e){return false}b(&quot;.customlinkdiv img.waiting&quot;).show();this.addLinkToMenu(e,d,c,function(){b(&quot;.customlinkdiv img.waiting&quot;).hide();b(&quot;#custom-menu-item-name&quot;).val(&quot;&quot;).blur();b(&quot;#custom-menu-item-url&quot;).val(&quot;http://&quot;)})},addLinkToMenu:function(e,d,c,f){c=c||a.addMenuItemToBottom;f=f||function(){};a.addItemToMenu({&quot;-1&quot;:{&quot;menu-item-type&quot;:&quot;custom&quot;,&quot;menu-item-url&quot;:e,&quot;menu-item-title&quot;:d}},c,f)},addItemToMenu:function(e,c,g){var f=b(&quot;#menu&quot;).val(),d=b(&quot;#menu-settings-column-nonce&quot;).val();c=c||function(){};g=g||function(){};params={action:&quot;add-menu-item&quot;,menu:f,&quot;menu-settings-column-nonce&quot;:d,&quot;menu-item&quot;:e};b.post(ajaxurl,params,function(h){var i=b(&quot;#menu-instructions&quot;);c(h,params);if(!i.hasClass(&quot;menu-instructions-inactive&quot;)&amp;&amp;i.siblings().length){i.addClass(&quot;menu-instructions-inactive&quot;)}g()})},addMenuItemToBottom:function(c,d){b(c).hideAdvancedMenuItemFields().appendTo(a.targetList)},addMenuItemToTop:function(c,d){b(c).hideAdvancedMenuItemFields().prependTo(a.targetList)},attachHomeLinkListener:function(){b(&quot;.add-home-link&quot;,&quot;.customlinkdiv&quot;).click(function(c){a.addLinkToMenu(navMenuL10n.homeurl,navMenuL10n.home,a.addMenuItemToTop);return false})},attachUnsavedChangesListener:function(){b(&quot;#menu-management input, #menu-management select, #menu-management, #menu-management textarea&quot;).change(function(){a.registerChange()});window.onbeforeunload=function(){if(a.menusChanged){return navMenuL10n.saveAlert}};b(&quot;input.menu-save&quot;).click(function(){window.onbeforeunload=null})},registerChange:function(){a.menusChanged=true},attachTabsPanelListeners:function(){b(&quot;#menu-settings-column&quot;).bind(&quot;click&quot;,function(h){var f,d,i,c,g=b(h.target);if(g.hasClass(&quot;nav-tab-link&quot;)){d=/#(.*)$/.exec(h.target.href);if(d&amp;&amp;d[1]){d=d[1]}else{return false}i=g.parents(&quot;.inside&quot;).first();b(&quot;input&quot;,i).removeAttr(&quot;checked&quot;);b(&quot;.tabs-panel-active&quot;,i).removeClass(&quot;tabs-panel-active&quot;).addClass(&quot;tabs-panel-inactive&quot;);b(&quot;#&quot;+d,i).removeClass(&quot;tabs-panel-inactive&quot;).addClass(&quot;tabs-panel-active&quot;);b(&quot;.tabs&quot;,i).removeClass(&quot;tabs&quot;);g.parent().addClass(&quot;tabs&quot;);b(&quot;.quick-search&quot;,i).focus();return false}else{if(g.hasClass(&quot;select-all&quot;)){f=/#(.*)$/.exec(h.target.href);if(f&amp;&amp;f[1]){c=b(&quot;#&quot;+f[1]+&quot; .tabs-panel-active .menu-item-title input&quot;);if(c.length===c.filter(&quot;:checked&quot;).length){c.removeAttr(&quot;checked&quot;)}else{c.attr(&quot;checked&quot;,&quot;checked&quot;)}return false}}else{if(g.hasClass(&quot;submit-add-to-menu&quot;)){a.registerChange();if(h.target.id&amp;&amp;&quot;submit-customlinkdiv&quot;==h.target.id){a.addCustomLink(a.addMenuItemToBottom)}else{if(h.target.id&amp;&amp;-1!=h.target.id.indexOf(&quot;submit-&quot;)){b(&quot;#&quot;+h.target.id.replace(/submit-/,&quot;&quot;)).addSelectedToMenu(a.addMenuItemToBottom)}}return false}else{if(g.hasClass(&quot;page-numbers&quot;)){b.post(ajaxurl,h.target.href.replace(/.*\?/,&quot;&quot;).replace(/action=([^&amp;]*)/,&quot;&quot;)+&quot;&amp;action=menu-get-metabox&quot;,function(m){if(-1==m.indexOf(&quot;replace-id&quot;)){return}var l=b.parseJSON(m),e=document.getElementById(l[&quot;replace-id&quot;]),k=document.createElement(&quot;div&quot;),j=document.createElement(&quot;div&quot;);if(!l.markup||!e){return}j.innerHTML=l.markup?l.markup:&quot;&quot;;e.parentNode.insertBefore(k,e);k.parentNode.removeChild(e);k.parentNode.insertBefore(j,k);k.parentNode.removeChild(k)});return false}}}}})},initTabManager:function(){var h=b(&quot;.nav-tabs-wrapper&quot;),i=h.children(&quot;.nav-tabs&quot;),g=i.children(&quot;.nav-tab-active&quot;),l=i.children(&quot;.nav-tab&quot;),e=0,m,f,k,d,j=false;function c(){f=h.offset().left;m=f+h.width();g.makeTabVisible()}b.fn.extend({makeTabVisible:function(){var o=this.eq(0),p,n;if(!o.length){return}p=o.offset().left;n=p+o.outerWidth();if(n&gt;m){i.animate({&quot;margin-left&quot;:&quot;+=&quot;+(m-n)+&quot;px&quot;},&quot;fast&quot;)}else{if(p&lt;f){i.animate({&quot;margin-left&quot;:&quot;-=&quot;+(p-f)+&quot;px&quot;},&quot;fast&quot;)}}return o},isTabVisible:function(){var o=this.eq(0),p=o.offset().left,n=p+o.outerWidth();return(n&lt;=m&amp;&amp;p&gt;=f)?true:false}});l.each(function(){e+=b(this).outerWidth(true)});if(e&lt;=h.width()-i.css(&quot;padding-left&quot;).slice(0,-2)-i.css(&quot;padding-right&quot;).slice(0,-2)){return}i.css({&quot;margin-right&quot;:(-1*e)+&quot;px&quot;,padding:0});k=b('&lt;div class=&quot;nav-tabs-arrow nav-tabs-arrow-left&quot;&gt;&lt;a&gt;&amp;laquo;&lt;/a&gt;&lt;/div&gt;');d=b('&lt;div class=&quot;nav-tabs-arrow nav-tabs-arrow-right&quot;&gt;&lt;a&gt;&amp;raquo;&lt;/a&gt;&lt;/div&gt;');h.wrap('&lt;div class=&quot;nav-tabs-nav&quot;/&gt;').parent().prepend(k).append(d);c();b(window).resize(function(){if(j){return}j=true;setTimeout(function(){c();j=false},1000)});b.each([{arrow:k,next:&quot;next&quot;,last:&quot;first&quot;,operator:&quot;+=&quot;},{arrow:d,next:&quot;prev&quot;,last:&quot;last&quot;,operator:&quot;-=&quot;}],function(){var n=this;this.arrow.mousedown(function(){var p=l[n.last](),o=function(){if(!p.isTabVisible()){i.animate({&quot;margin-left&quot;:n.operator+&quot;90px&quot;},300,&quot;linear&quot;,o)}};o()}).mouseup(function(){var p,o;i.stop(true);p=l[n.last]();while((o=p[n.next]())&amp;&amp;o.length&amp;&amp;!o.isTabVisible()){p=o}p.makeTabVisible()})})},eventOnClickEditLink:function(d){var c,e,f=/#(.*)$/.exec(d.href);if(f&amp;&amp;f[1]){c=b(&quot;#&quot;+f[1]);e=c.parent();if(0!=e.length){if(e.hasClass(&quot;menu-item-edit-inactive&quot;)){if(!c.data(&quot;menu-item-data&quot;)){c.data(&quot;menu-item-data&quot;,c.getItemData())}c.slideDown(&quot;fast&quot;);e.removeClass(&quot;menu-item-edit-inactive&quot;).addClass(&quot;menu-item-edit-active&quot;)}else{c.slideUp(&quot;fast&quot;);e.removeClass(&quot;menu-item-edit-active&quot;).addClass(&quot;menu-item-edit-inactive&quot;)}return false}}},eventOnClickCancelLink:function(d){var c=b(d).closest(&quot;.menu-item-settings&quot;);c.setItemData(c.data(&quot;menu-item-data&quot;));return false},eventOnClickMenuSave:function(c){var d=&quot;&quot;;b(&quot;#nav-menu-theme-locations select&quot;).each(function(){d+='&lt;input type=&quot;hidden&quot; name=&quot;'+this.name+'&quot; value=&quot;'+b(this).val()+'&quot; /&gt;'});b(&quot;#update-nav-menu&quot;).append(d);a.menuList.find(&quot;.menu-item-data-position&quot;).val(function(e){return e+1});return true},eventOnClickMenuDelete:function(c){if(confirm(navMenuL10n.warnDeleteMenu)){return true}else{return false}},eventOnClickMenuItemDelete:function(c){var d=parseInt(c.id.replace(&quot;delete-&quot;,&quot;&quot;),10);a.removeMenuItem(b(&quot;#menu-item-&quot;+d));return false},processQuickSearchQueryResponse:function(g,m,c){var h,e,j,f={},d=document.getElementById(&quot;nav-menu-meta&quot;),l=new RegExp(&quot;menu-item\\[([^\\]]*)&quot;,&quot;g&quot;),k=g.match(/&lt;li&gt;.*&lt;\/li&gt;/g);if(!k){b(&quot;.categorychecklist&quot;,c).html(&quot;&lt;li&gt;&lt;p&gt;&quot;+navMenuL10n.noResultsFound+&quot;&lt;/p&gt;&lt;/li&gt;&quot;);b(&quot;img.waiting&quot;,c).hide();return}h=k.length;while(h--){e=l.exec(k[h]);if(e&amp;&amp;e[1]){j=e[1];while(d.elements[&quot;menu-item[&quot;+j+&quot;][menu-item-type]&quot;]||f[j]){j--}f[j]=true;if(j!=e[1]){k[h]=k[h].replace(new RegExp(&quot;menu-item\\[&quot;+e[1]+&quot;\\]&quot;,&quot;g&quot;),&quot;menu-item[&quot;+j+&quot;]&quot;)}}}b(&quot;.categorychecklist&quot;,c).html(k.join(&quot;&quot;));b(&quot;img.waiting&quot;,c).hide()},removeMenuItem:function(d){var c=d.childMenuItems();d.addClass(&quot;deleting&quot;).animate({opacity:0,height:0},350,function(){var e=b(&quot;#menu-instructions&quot;);d.remove();c.shiftDepthClass(-1).updateParentMenuItemDBId();if(!e.siblings().length){e.removeClass(&quot;menu-instructions-inactive&quot;)}})},depthToPx:function(c){return c*a.options.menuItemDepthPerLevel},pxToDepth:function(c){return Math.floor(c/a.options.menuItemDepthPerLevel)}};b(document).ready(function(){wpNavMenu.init()})})(jQuery);
</del><span class="cx">\ No newline at end of file
</span><ins>+var wpNavMenu;(function(b){var a=wpNavMenu={options:{menuItemDepthPerLevel:30,globalMaxDepth:11},menuList:undefined,targetList:undefined,menusChanged:false,init:function(){a.menuList=b(&quot;#menu-to-edit&quot;);a.targetList=a.menuList;this.jQueryExtensions();this.attachMenuEditListeners();this.setupInputWithDefaultTitle();this.attachQuickSearchListeners();this.attachThemeLocationsListeners();this.attachTabsPanelListeners();this.attachUnsavedChangesListener();if(a.menuList.length){this.initSortables()}this.initToggles();this.initTabManager()},jQueryExtensions:function(){b.fn.extend({menuItemDepth:function(){var c=this.eq(0).css(&quot;margin-left&quot;);return a.pxToDepth(c&amp;&amp;-1!=c.indexOf(&quot;px&quot;)?c.slice(0,-2):0)},updateDepthClass:function(d,c){return this.each(function(){var e=b(this);c=c||e.menuItemDepth();b(this).removeClass(&quot;menu-item-depth-&quot;+c).addClass(&quot;menu-item-depth-&quot;+d)})},shiftDepthClass:function(c){return this.each(function(){var d=b(this),e=d.menuItemDepth();b(this).removeClass(&quot;menu-item-depth-&quot;+e).addClass(&quot;menu-item-depth-&quot;+(e+c))})},childMenuItems:function(){var c=b();this.each(function(){var d=b(this),f=d.menuItemDepth(),e=d.next();while(e.length&amp;&amp;e.menuItemDepth()&gt;f){c=c.add(e);e=e.next()}});return c},updateParentMenuItemDBId:function(){return this.each(function(){var e=b(this),c=e.find(&quot;.menu-item-data-parent-id&quot;),f=e.menuItemDepth(),d=e.prev();if(f==0){c.val(0)}else{while(d.menuItemDepth()!=f-1){d=d.prev()}c.val(d.find(&quot;.menu-item-data-db-id&quot;).val())}})},hideAdvancedMenuItemFields:function(){return this.each(function(){var c=b(this);b(&quot;.hide-column-tog&quot;).not(&quot;:checked&quot;).each(function(){c.find(&quot;.field-&quot;+b(this).val()).addClass(&quot;hidden-field&quot;)})})},addSelectedToMenu:function(c){return this.each(function(){var e=b(this),d={},g=e.find(&quot;.tabs-panel-active .categorychecklist li input:checked&quot;),f=new RegExp(&quot;menu-item\\[([^\\]]*)&quot;);c=c||a.addMenuItemToBottom;if(!g.length){return false}e.find(&quot;img.waiting&quot;).show();b(g).each(function(){var i=b(this),h=f.exec(i.attr(&quot;name&quot;)),j=&quot;undefined&quot;==typeof h[1]?0:parseInt(h[1],10);if(this.className&amp;&amp;-1!=this.className.indexOf(&quot;add-to-top&quot;)){c=a.addMenuItemToTop}d[j]=i.closest(&quot;li&quot;).getItemData(&quot;add-menu-item&quot;,j)});a.addItemToMenu(d,c,function(){g.removeAttr(&quot;checked&quot;);e.find(&quot;img.waiting&quot;).hide()})})},getItemData:function(f,g){f=f||&quot;menu-item&quot;;var d={},e,c=[&quot;menu-item-db-id&quot;,&quot;menu-item-object-id&quot;,&quot;menu-item-object&quot;,&quot;menu-item-parent-id&quot;,&quot;menu-item-position&quot;,&quot;menu-item-type&quot;,&quot;menu-item-title&quot;,&quot;menu-item-url&quot;,&quot;menu-item-description&quot;,&quot;menu-item-attr-title&quot;,&quot;menu-item-target&quot;,&quot;menu-item-classes&quot;,&quot;menu-item-xfn&quot;];if(!g&amp;&amp;f==&quot;menu-item&quot;){g=this.find(&quot;.menu-item-data-db-id&quot;).val()}if(!g){return d}this.find(&quot;input&quot;).each(function(){var h;e=c.length;while(e--){if(f==&quot;menu-item&quot;){h=c[e]+&quot;[&quot;+g+&quot;]&quot;}else{if(f==&quot;add-menu-item&quot;){h=&quot;menu-item[&quot;+g+&quot;][&quot;+c[e]+&quot;]&quot;}}if(this.name&amp;&amp;h==this.name){d[c[e]]=this.value}}});return d},setItemData:function(c,d,e){d=d||&quot;menu-item&quot;;if(!e&amp;&amp;d==&quot;menu-item&quot;){e=b(&quot;.menu-item-data-db-id&quot;,this).val()}if(!e){return this}this.find(&quot;input&quot;).each(function(){var f=b(this),g;b.each(c,function(h,i){if(d==&quot;menu-item&quot;){g=h+&quot;[&quot;+e+&quot;]&quot;}else{if(d==&quot;add-menu-item&quot;){g=&quot;menu-item[&quot;+e+&quot;][&quot;+h+&quot;]&quot;}}if(g==f.attr(&quot;name&quot;)){f.val(i)}})});return this}})},initToggles:function(){postboxes.add_postbox_toggles(&quot;nav-menus&quot;);columns.useCheckboxesForHidden();columns.checked=function(c){b(&quot;.field-&quot;+c).removeClass(&quot;hidden-field&quot;)};columns.unchecked=function(c){b(&quot;.field-&quot;+c).addClass(&quot;hidden-field&quot;)};a.menuList.hideAdvancedMenuItemFields()},initSortables:function(){var m=0,l,j,e,h,n,k,o,d,g,i=a.menuList.offset().left;a.menuList.sortable({handle:&quot;.menu-item-handle&quot;,placeholder:&quot;sortable-placeholder&quot;,start:function(w,v){var p,t,s,q,r,u;g=v.item.children(&quot;.menu-item-transport&quot;);l=v.item.menuItemDepth();f(v,l);s=(v.item.next()[0]==v.placeholder[0])?v.item.next():v.item;q=s.childMenuItems();g.append(q);p=g.outerHeight();p+=(p&gt;0)?(v.placeholder.css(&quot;margin-top&quot;).slice(0,-2)*1):0;p+=v.helper.outerHeight();d=p;p-=2;v.placeholder.height(p);r=l;q.each(function(){var x=b(this).menuItemDepth();r=(x&gt;r)?x:r});t=v.helper.find(&quot;.menu-item-handle&quot;).outerWidth();t+=a.depthToPx(r-l);t-=2;v.placeholder.width(t);u=v.placeholder.next();u.css(&quot;margin-top&quot;,d+&quot;px&quot;);v.placeholder.detach();b(this).sortable(&quot;refresh&quot;);v.item.after(v.placeholder);u.css(&quot;margin-top&quot;,0);c(v)},stop:function(s,r){var q,p=m-l;q=g.children().insertAfter(r.item);if(p!=0){r.item.updateDepthClass(m);q.shiftDepthClass(p);a.registerChange()}r.item.updateParentMenuItemDBId();r.item[0].style.top=0},change:function(q,p){if(!p.placeholder.parent().hasClass(&quot;menu&quot;)){(h.length)?h.after(p.placeholder):a.menuList.prepend(p.placeholder)}c(p)},sort:function(q,p){var s=p.helper.offset(),r=a.pxToDepth(s.left-i);if(r&gt;e||s.top&lt;k){r=e}else{if(r&lt;j){r=j}}if(r!=m){f(p,r)}if(o&amp;&amp;s.top+d&gt;o){n.after(p.placeholder);c(p);b(this).sortable(&quot;refreshPositions&quot;)}},update:function(q,p){a.registerChange()}});function c(p){var q;h=p.placeholder.prev();n=p.placeholder.next();if(h[0]==p.item[0]){h=h.prev()}if(n[0]==p.item[0]){n=n.next()}k=(h.length)?h.offset().top+h.height():0;o=(n.length)?n.offset().top+n.height()/3:0;j=(n.length)?n.menuItemDepth():0;if(h.length){e=((q=h.menuItemDepth()+1)&gt;a.options.globalMaxDepth)?a.options.globalMaxDepth:q}else{e=0}}function f(p,q){p.placeholder.updateDepthClass(q,m);m=q}},attachMenuEditListeners:function(){var c=this;b(&quot;#update-nav-menu&quot;).bind(&quot;click&quot;,function(d){if(d.target&amp;&amp;d.target.className){if(-1!=d.target.className.indexOf(&quot;item-edit&quot;)){return c.eventOnClickEditLink(d.target)}else{if(-1!=d.target.className.indexOf(&quot;menu-save&quot;)){return c.eventOnClickMenuSave(d.target)}else{if(-1!=d.target.className.indexOf(&quot;menu-delete&quot;)){return c.eventOnClickMenuDelete(d.target)}else{if(-1!=d.target.className.indexOf(&quot;item-delete&quot;)){return c.eventOnClickMenuItemDelete(d.target)}else{if(-1!=d.target.className.indexOf(&quot;item-cancel&quot;)){return c.eventOnClickCancelLink(d.target)}}}}}}})},setupInputWithDefaultTitle:function(){var c=&quot;input-with-default-title&quot;;b(&quot;.&quot;+c).each(function(){var f=b(this),e=f.attr(&quot;title&quot;),d=f.val();f.data(c,e);if(&quot;&quot;==d){f.val(e)}else{if(e==d){return}else{f.removeClass(c)}}}).focus(function(){var d=b(this);if(d.val()==d.data(c)){d.val(&quot;&quot;).removeClass(c)}}).blur(function(){var d=b(this);if(&quot;&quot;==d.val()){d.addClass(c).val(d.data(c))}})},attachThemeLocationsListeners:function(){var d=b(&quot;#nav-menu-theme-locations&quot;),c={};c.action=&quot;menu-locations-save&quot;;c[&quot;menu-settings-column-nonce&quot;]=b(&quot;#menu-settings-column-nonce&quot;).val();d.find(&quot;input[type=submit]&quot;).click(function(){d.find(&quot;select&quot;).each(function(){c[this.name]=b(this).val()});d.find(&quot;.waiting&quot;).show();b.post(ajaxurl,c,function(e){d.find(&quot;.waiting&quot;).hide()});return false})},attachQuickSearchListeners:function(){var c;b(&quot;.quick-search&quot;).keypress(function(f){var d=b(this);if(13==f.which){a.updateQuickSearchResults(d);return false}if(c){clearTimeout(c)}c=setTimeout(function(){a.updateQuickSearchResults(d)},400)}).attr(&quot;autocomplete&quot;,&quot;off&quot;)},updateQuickSearchResults:function(d){var c,g,e=2,f=d.val();if(f.length&lt;e){return}c=d.parents(&quot;.tabs-panel&quot;);g={action:&quot;menu-quick-search&quot;,&quot;response-format&quot;:&quot;markup&quot;,menu:b(&quot;#menu&quot;).val(),&quot;menu-settings-column-nonce&quot;:b(&quot;#menu-settings-column-nonce&quot;).val(),q:f,type:d.attr(&quot;name&quot;)};b(&quot;img.waiting&quot;,c).show();b.post(ajaxurl,g,function(h){a.processQuickSearchQueryResponse(h,g,c)})},addCustomLink:function(c){var e=b(&quot;#custom-menu-item-url&quot;).val(),d=b(&quot;#custom-menu-item-name&quot;).val();c=c||a.addMenuItemToBottom;if(&quot;&quot;==e||&quot;http://&quot;==e){return false}b(&quot;.customlinkdiv img.waiting&quot;).show();this.addLinkToMenu(e,d,c,function(){b(&quot;.customlinkdiv img.waiting&quot;).hide();b(&quot;#custom-menu-item-name&quot;).val(&quot;&quot;).blur();b(&quot;#custom-menu-item-url&quot;).val(&quot;http://&quot;)})},addLinkToMenu:function(e,d,c,f){c=c||a.addMenuItemToBottom;f=f||function(){};a.addItemToMenu({&quot;-1&quot;:{&quot;menu-item-type&quot;:&quot;custom&quot;,&quot;menu-item-url&quot;:e,&quot;menu-item-title&quot;:d}},c,f)},addItemToMenu:function(e,c,g){var f=b(&quot;#menu&quot;).val(),d=b(&quot;#menu-settings-column-nonce&quot;).val();c=c||function(){};g=g||function(){};params={action:&quot;add-menu-item&quot;,menu:f,&quot;menu-settings-column-nonce&quot;:d,&quot;menu-item&quot;:e};b.post(ajaxurl,params,function(h){var i=b(&quot;#menu-instructions&quot;);c(h,params);if(!i.hasClass(&quot;menu-instructions-inactive&quot;)&amp;&amp;i.siblings().length){i.addClass(&quot;menu-instructions-inactive&quot;)}g()})},addMenuItemToBottom:function(c,d){b(c).hideAdvancedMenuItemFields().appendTo(a.targetList)},addMenuItemToTop:function(c,d){b(c).hideAdvancedMenuItemFields().prependTo(a.targetList)},attachUnsavedChangesListener:function(){b(&quot;#menu-management input, #menu-management select, #menu-management, #menu-management textarea&quot;).change(function(){a.registerChange()});window.onbeforeunload=function(){if(a.menusChanged){return navMenuL10n.saveAlert}};b(&quot;input.menu-save&quot;).click(function(){window.onbeforeunload=null})},registerChange:function(){a.menusChanged=true},attachTabsPanelListeners:function(){b(&quot;#menu-settings-column&quot;).bind(&quot;click&quot;,function(h){var f,d,i,c,g=b(h.target);if(g.hasClass(&quot;nav-tab-link&quot;)){d=/#(.*)$/.exec(h.target.href);if(d&amp;&amp;d[1]){d=d[1]}else{return false}i=g.parents(&quot;.inside&quot;).first();b(&quot;input&quot;,i).removeAttr(&quot;checked&quot;);b(&quot;.tabs-panel-active&quot;,i).removeClass(&quot;tabs-panel-active&quot;).addClass(&quot;tabs-panel-inactive&quot;);b(&quot;#&quot;+d,i).removeClass(&quot;tabs-panel-inactive&quot;).addClass(&quot;tabs-panel-active&quot;);b(&quot;.tabs&quot;,i).removeClass(&quot;tabs&quot;);g.parent().addClass(&quot;tabs&quot;);b(&quot;.quick-search&quot;,i).focus();return false}else{if(g.hasClass(&quot;select-all&quot;)){f=/#(.*)$/.exec(h.target.href);if(f&amp;&amp;f[1]){c=b(&quot;#&quot;+f[1]+&quot; .tabs-panel-active .menu-item-title input&quot;);if(c.length===c.filter(&quot;:checked&quot;).length){c.removeAttr(&quot;checked&quot;)}else{c.attr(&quot;checked&quot;,&quot;checked&quot;)}return false}}else{if(g.hasClass(&quot;submit-add-to-menu&quot;)){a.registerChange();if(h.target.id&amp;&amp;&quot;submit-customlinkdiv&quot;==h.target.id){a.addCustomLink(a.addMenuItemToBottom)}else{if(h.target.id&amp;&amp;-1!=h.target.id.indexOf(&quot;submit-&quot;)){b(&quot;#&quot;+h.target.id.replace(/submit-/,&quot;&quot;)).addSelectedToMenu(a.addMenuItemToBottom)}}return false}else{if(g.hasClass(&quot;page-numbers&quot;)){b.post(ajaxurl,h.target.href.replace(/.*\?/,&quot;&quot;).replace(/action=([^&amp;]*)/,&quot;&quot;)+&quot;&amp;action=menu-get-metabox&quot;,function(m){if(-1==m.indexOf(&quot;replace-id&quot;)){return}var l=b.parseJSON(m),e=document.getElementById(l[&quot;replace-id&quot;]),k=document.createElement(&quot;div&quot;),j=document.createElement(&quot;div&quot;);if(!l.markup||!e){return}j.innerHTML=l.markup?l.markup:&quot;&quot;;e.parentNode.insertBefore(k,e);k.parentNode.removeChild(e);k.parentNode.insertBefore(j,k);k.parentNode.removeChild(k)});return false}}}}})},initTabManager:function(){var h=b(&quot;.nav-tabs-wrapper&quot;),i=h.children(&quot;.nav-tabs&quot;),g=i.children(&quot;.nav-tab-active&quot;),l=i.children(&quot;.nav-tab&quot;),e=0,m,f,k,d,j=false;function c(){f=h.offset().left;m=f+h.width();g.makeTabVisible()}b.fn.extend({makeTabVisible:function(){var o=this.eq(0),p,n;if(!o.length){return}p=o.offset().left;n=p+o.outerWidth();if(n&gt;m){i.animate({&quot;margin-left&quot;:&quot;+=&quot;+(m-n)+&quot;px&quot;},&quot;fast&quot;)}else{if(p&lt;f){i.animate({&quot;margin-left&quot;:&quot;-=&quot;+(p-f)+&quot;px&quot;},&quot;fast&quot;)}}return o},isTabVisible:function(){var o=this.eq(0),p=o.offset().left,n=p+o.outerWidth();return(n&lt;=m&amp;&amp;p&gt;=f)?true:false}});l.each(function(){e+=b(this).outerWidth(true)});if(e&lt;=h.width()-i.css(&quot;padding-left&quot;).slice(0,-2)-i.css(&quot;padding-right&quot;).slice(0,-2)){return}i.css({&quot;margin-right&quot;:(-1*e)+&quot;px&quot;,padding:0});k=b('&lt;div class=&quot;nav-tabs-arrow nav-tabs-arrow-left&quot;&gt;&lt;a&gt;&amp;laquo;&lt;/a&gt;&lt;/div&gt;');d=b('&lt;div class=&quot;nav-tabs-arrow nav-tabs-arrow-right&quot;&gt;&lt;a&gt;&amp;raquo;&lt;/a&gt;&lt;/div&gt;');h.wrap('&lt;div class=&quot;nav-tabs-nav&quot;/&gt;').parent().prepend(k).append(d);c();b(window).resize(function(){if(j){return}j=true;setTimeout(function(){c();j=false},1000)});b.each([{arrow:k,next:&quot;next&quot;,last:&quot;first&quot;,operator:&quot;+=&quot;},{arrow:d,next:&quot;prev&quot;,last:&quot;last&quot;,operator:&quot;-=&quot;}],function(){var n=this;this.arrow.mousedown(function(){var p=l[n.last](),o=function(){if(!p.isTabVisible()){i.animate({&quot;margin-left&quot;:n.operator+&quot;90px&quot;},300,&quot;linear&quot;,o)}};o()}).mouseup(function(){var p,o;i.stop(true);p=l[n.last]();while((o=p[n.next]())&amp;&amp;o.length&amp;&amp;!o.isTabVisible()){p=o}p.makeTabVisible()})})},eventOnClickEditLink:function(d){var c,e,f=/#(.*)$/.exec(d.href);if(f&amp;&amp;f[1]){c=b(&quot;#&quot;+f[1]);e=c.parent();if(0!=e.length){if(e.hasClass(&quot;menu-item-edit-inactive&quot;)){if(!c.data(&quot;menu-item-data&quot;)){c.data(&quot;menu-item-data&quot;,c.getItemData())}c.slideDown(&quot;fast&quot;);e.removeClass(&quot;menu-item-edit-inactive&quot;).addClass(&quot;menu-item-edit-active&quot;)}else{c.slideUp(&quot;fast&quot;);e.removeClass(&quot;menu-item-edit-active&quot;).addClass(&quot;menu-item-edit-inactive&quot;)}return false}}},eventOnClickCancelLink:function(d){var c=b(d).closest(&quot;.menu-item-settings&quot;);c.setItemData(c.data(&quot;menu-item-data&quot;));return false},eventOnClickMenuSave:function(c){var d=&quot;&quot;;b(&quot;#nav-menu-theme-locations select&quot;).each(function(){d+='&lt;input type=&quot;hidden&quot; name=&quot;'+this.name+'&quot; value=&quot;'+b(this).val()+'&quot; /&gt;'});b(&quot;#update-nav-menu&quot;).append(d);a.menuList.find(&quot;.menu-item-data-position&quot;).val(function(e){return e+1});return true},eventOnClickMenuDelete:function(c){if(confirm(navMenuL10n.warnDeleteMenu)){return true}else{return false}},eventOnClickMenuItemDelete:function(c){var d=parseInt(c.id.replace(&quot;delete-&quot;,&quot;&quot;),10);a.removeMenuItem(b(&quot;#menu-item-&quot;+d));return false},processQuickSearchQueryResponse:function(g,m,c){var h,e,j,f={},d=document.getElementById(&quot;nav-menu-meta&quot;),l=new RegExp(&quot;menu-item\\[([^\\]]*)&quot;,&quot;g&quot;),k=g.match(/&lt;li&gt;.*&lt;\/li&gt;/g);if(!k){b(&quot;.categorychecklist&quot;,c).html(&quot;&lt;li&gt;&lt;p&gt;&quot;+navMenuL10n.noResultsFound+&quot;&lt;/p&gt;&lt;/li&gt;&quot;);b(&quot;img.waiting&quot;,c).hide();return}h=k.length;while(h--){e=l.exec(k[h]);if(e&amp;&amp;e[1]){j=e[1];while(d.elements[&quot;menu-item[&quot;+j+&quot;][menu-item-type]&quot;]||f[j]){j--}f[j]=true;if(j!=e[1]){k[h]=k[h].replace(new RegExp(&quot;menu-item\\[&quot;+e[1]+&quot;\\]&quot;,&quot;g&quot;),&quot;menu-item[&quot;+j+&quot;]&quot;)}}}b(&quot;.categorychecklist&quot;,c).html(k.join(&quot;&quot;));b(&quot;img.waiting&quot;,c).hide()},removeMenuItem:function(d){var c=d.childMenuItems();d.addClass(&quot;deleting&quot;).animate({opacity:0,height:0},350,function(){var e=b(&quot;#menu-instructions&quot;);d.remove();c.shiftDepthClass(-1).updateParentMenuItemDBId();if(!e.siblings().length){e.removeClass(&quot;menu-instructions-inactive&quot;)}})},depthToPx:function(c){return c*a.options.menuItemDepthPerLevel},pxToDepth:function(c){return Math.floor(c/a.options.menuItemDepthPerLevel)}};b(document).ready(function(){wpNavMenu.init()})})(jQuery);
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpadminnavmenusphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/nav-menus.php (14970 => 14971)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/nav-menus.php        2010-05-27 02:03:06 UTC (rev 14970)
+++ trunk/wp-admin/nav-menus.php        2010-05-27 02:24:33 UTC (rev 14971)
</span><span class="lines">@@ -318,7 +318,7 @@
</span><span class="cx">                         // Update menu items
</span><span class="cx"> 
</span><span class="cx">                         if ( ! is_wp_error( $_menu_object ) ) {
</span><del>-                                $unsorted_menu_items = wp_get_nav_menu_items( $nav_menu_selected_id, array('orderby' =&gt; 'ID', 'output' =&gt; ARRAY_A, 'output_key' =&gt; 'ID') );
</del><ins>+                                $unsorted_menu_items = wp_get_nav_menu_items( $nav_menu_selected_id, array('orderby' =&gt; 'ID', 'output' =&gt; ARRAY_A, 'output_key' =&gt; 'ID', 'post_status' =&gt; 'draft,publish') );
</ins><span class="cx">                                 $menu_items = array();
</span><span class="cx">                                 // Index menu items by db ID
</span><span class="cx">                                 foreach( $unsorted_menu_items as $_item )
</span></span></pre></div>
<a id="trunkwpincludesnavmenutemplatephp"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/nav-menu-template.php (14970 => 14971)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/nav-menu-template.php        2010-05-27 02:03:06 UTC (rev 14970)
+++ trunk/wp-includes/nav-menu-template.php        2010-05-27 02:24:33 UTC (rev 14971)
</span><span class="lines">@@ -157,8 +157,13 @@
</span><span class="cx"> 
</span><span class="cx">                 $output .= $indent . '&lt;li&gt;';
</span><span class="cx">                 $output .= '&lt;label class=&quot;menu-item-title&quot;&gt;';
</span><del>-                $output .= '&lt;input type=&quot;checkbox&quot; class=&quot;menu-item-checkbox&quot; name=&quot;menu-item[' . $possible_object_id . '][menu-item-object-id]&quot; value=&quot;'. esc_attr( $item-&gt;object_id ) .'&quot; /&gt; ';
-                $output .= esc_html( $item-&gt;title ) .'&lt;/label&gt;';
</del><ins>+                $output .= '&lt;input type=&quot;checkbox&quot; class=&quot;menu-item-checkbox';
+                if ( ! empty( $item-&gt;_add_to_top ) ) {
+                        $output .= ' add-to-top';
+                }
+                $output .= '&quot; name=&quot;menu-item[' . $possible_object_id . '][menu-item-object-id]&quot; value=&quot;'. esc_attr( $item-&gt;object_id ) .'&quot; /&gt; ';
+                $output .= empty( $item-&gt;label ) ? esc_html( $item-&gt;title ) : esc_html( $item-&gt;label );
+                $output .= '&lt;/label&gt;';
</ins><span class="cx"> 
</span><span class="cx">                 // Menu item hidden fields
</span><span class="cx">                 $output .= '&lt;input type=&quot;hidden&quot; class=&quot;menu-item-db-id&quot; name=&quot;menu-item[' . $possible_object_id . '][menu-item-db-id]&quot; value=&quot;' . $possible_db_id . '&quot; /&gt;';
</span></span></pre></div>
<a id="trunkwpincludesnavmenuphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/nav-menu.php (14970 => 14971)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/nav-menu.php        2010-05-27 02:03:06 UTC (rev 14970)
+++ trunk/wp-includes/nav-menu.php        2010-05-27 02:24:33 UTC (rev 14971)
</span><span class="lines">@@ -545,10 +545,10 @@
</span><span class="cx">         if ( isset( $menu_item-&gt;post_type ) ) {
</span><span class="cx">                 if ( 'nav_menu_item' == $menu_item-&gt;post_type ) {
</span><span class="cx">                         $menu_item-&gt;db_id = (int) $menu_item-&gt;ID;
</span><del>-                        $menu_item-&gt;menu_item_parent = get_post_meta( $menu_item-&gt;ID, '_menu_item_menu_item_parent', true );
-                        $menu_item-&gt;object_id = get_post_meta( $menu_item-&gt;ID, '_menu_item_object_id', true );
-                        $menu_item-&gt;object = get_post_meta( $menu_item-&gt;ID, '_menu_item_object', true );
-                        $menu_item-&gt;type = get_post_meta( $menu_item-&gt;ID, '_menu_item_type', true );
</del><ins>+                        $menu_item-&gt;menu_item_parent = empty( $menu_item-&gt;menu_item_parent ) ? get_post_meta( $menu_item-&gt;ID, '_menu_item_menu_item_parent', true ) : $menu_item-&gt;menu_item_parent;
+                        $menu_item-&gt;object_id = empty( $menu_item-&gt;object_id ) ? get_post_meta( $menu_item-&gt;ID, '_menu_item_object_id', true ) : $menu_item-&gt;object_id;
+                        $menu_item-&gt;object = empty( $menu_item-&gt;object ) ? get_post_meta( $menu_item-&gt;ID, '_menu_item_object', true ) : $menu_item-&gt;object;
+                        $menu_item-&gt;type = empty( $menu_item-&gt;type ) ? get_post_meta( $menu_item-&gt;ID, '_menu_item_type', true ) : $menu_item-&gt;type;
</ins><span class="cx"> 
</span><span class="cx">                         if ( 'post_type' == $menu_item-&gt;type ) {
</span><span class="cx">                                 $object = get_post_type_object( $menu_item-&gt;object );
</span><span class="lines">@@ -571,16 +571,16 @@
</span><span class="cx">                         } else {
</span><span class="cx">                                 $menu_item-&gt;type_label = __('Custom');
</span><span class="cx">                                 $menu_item-&gt;title = $menu_item-&gt;post_title;
</span><del>-                                $menu_item-&gt;url = get_post_meta( $menu_item-&gt;ID, '_menu_item_url', true );
</del><ins>+                                $menu_item-&gt;url = empty( $menu_item-&gt;url ) ? get_post_meta( $menu_item-&gt;ID, '_menu_item_url', true ) : $menu_item-&gt;url;
</ins><span class="cx">                         }
</span><span class="cx"> 
</span><del>-                        $menu_item-&gt;target = get_post_meta( $menu_item-&gt;ID, '_menu_item_target', true );
</del><ins>+                        $menu_item-&gt;target = empty( $menu_item-&gt;target ) ? get_post_meta( $menu_item-&gt;ID, '_menu_item_target', true ) : $menu_item-&gt;target;
</ins><span class="cx"> 
</span><del>-                        $menu_item-&gt;attr_title = apply_filters( 'nav_menu_attr_title', $menu_item-&gt;post_excerpt );
-                        $menu_item-&gt;description = apply_filters( 'nav_menu_description', $menu_item-&gt;post_content );
</del><ins>+                        $menu_item-&gt;attr_title = empty( $menu_item-&gt;attr_title ) ? apply_filters( 'nav_menu_attr_title', $menu_item-&gt;post_excerpt ) : $menu_item-&gt;attr_title;
+                        $menu_item-&gt;description = empty( $menu_item-&gt;description ) ? apply_filters( 'nav_menu_description', $menu_item-&gt;post_content ) : $menu_item-&gt;description;
</ins><span class="cx"> 
</span><del>-                        $menu_item-&gt;classes = (array) get_post_meta( $menu_item-&gt;ID, '_menu_item_classes', true );
-                        $menu_item-&gt;xfn = get_post_meta( $menu_item-&gt;ID, '_menu_item_xfn', true );
</del><ins>+                        $menu_item-&gt;classes = empty( $menu_item-&gt;classes ) ? (array) get_post_meta( $menu_item-&gt;ID, '_menu_item_classes', true ) : $menu_item-&gt;classes;
+                        $menu_item-&gt;xfn = empty( $menu_item-&gt;xfn ) ? get_post_meta( $menu_item-&gt;ID, '_menu_item_xfn', true ) : $menu_item-&gt;xfn;
</ins><span class="cx">                 } else {
</span><span class="cx">                         $menu_item-&gt;db_id = 0;
</span><span class="cx">                         $menu_item-&gt;menu_item_parent = 0;
</span></span></pre></div>
<a id="trunkwpincludesscriptloaderphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/script-loader.php (14970 => 14971)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/script-loader.php        2010-05-27 02:03:06 UTC (rev 14970)
+++ trunk/wp-includes/script-loader.php        2010-05-27 02:24:33 UTC (rev 14971)
</span><span class="lines">@@ -385,7 +385,7 @@
</span><span class="cx">                 ) );
</span><span class="cx"> 
</span><span class="cx">                 // Custom Navigation
</span><del>-                $scripts-&gt;add( 'nav-menu', &quot;/wp-admin/js/nav-menu$suffix.js&quot;, false, '20100525' );
</del><ins>+                $scripts-&gt;add( 'nav-menu', &quot;/wp-admin/js/nav-menu$suffix.js&quot;, false, '20100526' );
</ins><span class="cx">                 $scripts-&gt;localize( 'nav-menu', 'navMenuL10n', array(
</span><span class="cx">                         'home' =&gt; _x('Home', 'nav menu home label'),
</span><span class="cx">                         'homeurl' =&gt; home_url('/'),
</span></span></pre>
</div>
</div>

</body>
</html>