+ });
+ }
+
+ // submitdiv
+ if ( $('#submitdiv').length ) {
+ stamp = $('#timestamp').html();
+ visibility = $('#post-visibility-display').html();
+
+ updateVisibility = function() {
+ if ( $postVisibilitySelect.find('input:radio:checked').val() != 'public' ) {
+ $('#sticky').prop('checked', false);
+ $('#sticky-span').hide();
+ } else {
+ $('#sticky-span').show();
+ }
+ if ( $postVisibilitySelect.find('input:radio:checked').val() != 'password' ) {
+ $('#password-span').hide();
+ } else {
+ $('#password-span').show();
+ }
+ };
+
+ updateText = function() {
+
+ if ( ! $timestampdiv.length )
+ return true;
+
+ var attemptedDate, originalDate, currentDate, publishOn, postStatus = $('#post_status'),
+ optPublish = $('option[value="publish"]', postStatus), aa = $('#aa').val(),
+ mm = $('#mm').val(), jj = $('#jj').val(), hh = $('#hh').val(), mn = $('#mn').val();
+
+ attemptedDate = new Date( aa, mm - 1, jj, hh, mn );
+ originalDate = new Date( $('#hidden_aa').val(), $('#hidden_mm').val() -1, $('#hidden_jj').val(), $('#hidden_hh').val(), $('#hidden_mn').val() );
+ currentDate = new Date( $('#cur_aa').val(), $('#cur_mm').val() -1, $('#cur_jj').val(), $('#cur_hh').val(), $('#cur_mn').val() );
+
+ if ( attemptedDate.getFullYear() != aa || (1 + attemptedDate.getMonth()) != mm || attemptedDate.getDate() != jj || attemptedDate.getMinutes() != mn ) {
+ $timestampdiv.find('.timestamp-wrap').addClass('form-invalid');
+ return false;
+ } else {
+ $timestampdiv.find('.timestamp-wrap').removeClass('form-invalid');
+ }
+
+ if ( attemptedDate > currentDate && $('#original_post_status').val() != 'future' ) {
+ publishOn = postL10n.publishOnFuture;
+ $('#publish').val( postL10n.schedule );
+ } else if ( attemptedDate <= currentDate && $('#original_post_status').val() != 'publish' ) {
+ publishOn = postL10n.publishOn;
+ $('#publish').val( postL10n.publish );
+ } else {
+ publishOn = postL10n.publishOnPast;
+ $('#publish').val( postL10n.update );
+ }
+ if ( originalDate.toUTCString() == attemptedDate.toUTCString() ) { //hack
+ $('#timestamp').html(stamp);
+ } else {
+ $('#timestamp').html(
+ publishOn + ' <b>' +
+ postL10n.dateFormat.replace( '%1$s', $('option[value="' + $('#mm').val() + '"]', '#mm').text() )
+ .replace( '%2$s', jj )
+ .replace( '%3$s', aa )
+ .replace( '%4$s', hh )
+ .replace( '%5$s', mn ) +
+ '</b> '
+ );
+ }
+
+ if ( $postVisibilitySelect.find('input:radio:checked').val() == 'private' ) {
+ $('#publish').val( postL10n.update );
+ if ( 0 === optPublish.length ) {
+ postStatus.append('<option value="publish">' + postL10n.privatelyPublished + '</option>');
+ } else {
+ optPublish.html( postL10n.privatelyPublished );
+ }
+ $('option[value="publish"]', postStatus).prop('selected', true);
+ $('#misc-publishing-actions .edit-post-status').hide();
+ } else {
+ if ( $('#original_post_status').val() == 'future' || $('#original_post_status').val() == 'draft' ) {
+ if ( optPublish.length ) {
+ optPublish.remove();
+ postStatus.val($('#hidden_post_status').val());
+ }
+ } else {
+ optPublish.html( postL10n.published );
+ }
+ if ( postStatus.is(':hidden') )
+ $('#misc-publishing-actions .edit-post-status').show();
+ }
+ $('#post-status-display').html($('option:selected', postStatus).text());
+ if ( $('option:selected', postStatus).val() == 'private' || $('option:selected', postStatus).val() == 'publish' ) {
+ $('#save-post').hide();
+ } else {
+ $('#save-post').show();
+ if ( $('option:selected', postStatus).val() == 'pending' ) {
+ $('#save-post').show().val( postL10n.savePending );
+ } else {
+ $('#save-post').show().val( postL10n.saveDraft );
+ }
+ }
+ return true;
+ };
+
+ $( '#visibility .edit-visibility').click( function () {
+ if ( $postVisibilitySelect.is(':hidden') ) {
+ updateVisibility();
+ $postVisibilitySelect.slideDown('fast').find('input[type="radio"]').first().focus();
+ $(this).hide();
+ }
+ return false;
+ });
+
+ $postVisibilitySelect.find('.cancel-post-visibility').click( function( event ) {
+ $postVisibilitySelect.slideUp('fast');
+ $('#visibility-radio-' + $('#hidden-post-visibility').val()).prop('checked', true);
+ $('#post_password').val($('#hidden-post-password').val());
+ $('#sticky').prop('checked', $('#hidden-post-sticky').prop('checked'));
+ $('#post-visibility-display').html(visibility);
+ $('#visibility .edit-visibility').show().focus();
+ updateText();
+ event.preventDefault();
+ });
+
+ $postVisibilitySelect.find('.save-post-visibility').click( function( event ) { // crazyhorse - multiple ok cancels
+ $postVisibilitySelect.slideUp('fast');
+ $('#visibility .edit-visibility').show();
+ updateText();
+
+ if ( $postVisibilitySelect.find('input:radio:checked').val() != 'public' ) {
+ $('#sticky').prop('checked', false);
+ } // WEAPON LOCKED
+
+ if ( $('#sticky').prop('checked') ) {
+ sticky = 'Sticky';
+ } else {
+ sticky = '';
+ }
+
+ $('#post-visibility-display').html( postL10n[ $postVisibilitySelect.find('input:radio:checked').val() + sticky ] );
+ event.preventDefault();
+ });
+
+ $postVisibilitySelect.find('input:radio').change( function() {
+ updateVisibility();
+ });
+
+ $timestampdiv.siblings('a.edit-timestamp').click( function( event ) {
+ if ( $timestampdiv.is( ':hidden' ) ) {
+ $timestampdiv.slideDown('fast');
+ $('#mm').focus();
+ $(this).hide();
+ }
+ event.preventDefault();
+ });
+
+ $timestampdiv.find('.cancel-timestamp').click( function( event ) {
+ $timestampdiv.slideUp('fast').siblings('a.edit-timestamp').show().focus();
+ $('#mm').val($('#hidden_mm').val());
+ $('#jj').val($('#hidden_jj').val());
+ $('#aa').val($('#hidden_aa').val());
+ $('#hh').val($('#hidden_hh').val());
+ $('#mn').val($('#hidden_mn').val());
+ updateText();
+ event.preventDefault();
+ });
+
+ $timestampdiv.find('.save-timestamp').click( function( event ) { // crazyhorse - multiple ok cancels
+ if ( updateText() ) {
+ $timestampdiv.slideUp('fast');
+ $timestampdiv.siblings('a.edit-timestamp').show();
+ }
+ event.preventDefault();
+ });
+
+ $('#post').on( 'submit', function( event ) {
+ if ( ! updateText() ) {
+ event.preventDefault();
+ $timestampdiv.show();
+
+ if ( wp.autosave ) {
+ wp.autosave.enableButtons();
+ }
+
+ $('#publishing-action .spinner').hide();
+ }
+ });
+
+ $postStatusSelect.siblings('a.edit-post-status').click( function( event ) {
+ if ( $postStatusSelect.is( ':hidden' ) ) {
+ $postStatusSelect.slideDown('fast').find('select').focus();
+ $(this).hide();
+ }
+ event.preventDefault();
+ });
+
+ $postStatusSelect.find('.save-post-status').click( function( event ) {
+ $postStatusSelect.slideUp('fast').siblings('a.edit-post-status').show();
+ updateText();
+ event.preventDefault();
+ });
+
+ $postStatusSelect.find('.cancel-post-status').click( function( event ) {
+ $('#post-status-select').slideUp('fast').siblings( 'a.edit-post-status' ).show().focus();
+ $('#post_status').val( $('#hidden_post_status').val() );
+ updateText();
+ event.preventDefault();
+ });
+ } // end submitdiv
+
+ // permalink
+ function editPermalink() {
+ var i, slug_value,
+ c = 0,
+ e = $('#editable-post-name'),
+ revert_e = e.html(),
+ real_slug = $('#post_name'),
+ revert_slug = real_slug.val(),
+ b = $('#edit-slug-buttons'),
+ revert_b = b.html(),
+ full = $('#editable-post-name-full').html();
+
+ $('#view-post-btn').hide();
+ b.html('<a href="#" class="save button button-small">'+postL10n.ok+'</a> <a class="cancel" href="#">'+postL10n.cancel+'</a>');
+ b.children('.save').click(function() {
+ var new_slug = e.children('input').val();
+ if ( new_slug == $('#editable-post-name-full').text() ) {
+ b.children('.cancel').click();
+ return false;
+ }
+ $.post(ajaxurl, {
+ action: 'sample-permalink',
+ post_id: postId,
+ new_slug: new_slug,
+ new_title: $('#title').val(),
+ samplepermalinknonce: $('#samplepermalinknonce').val()
+ }, function(data) {
+ var box = $('#edit-slug-box');
+ box.html(data);
+ if (box.hasClass('hidden')) {
+ box.fadeIn('fast', function () {
+ box.removeClass('hidden');
+ });
+ }
+ b.html(revert_b);
+ real_slug.val(new_slug);
+ $('#view-post-btn').show();
+ });
+ return false;
+ });
+
+ b.children('.cancel').click(function() {
+ $('#view-post-btn').show();
+ e.html(revert_e);
+ b.html(revert_b);
+ real_slug.val(revert_slug);
+ return false;
+ });
+
+ for ( i = 0; i < full.length; ++i ) {
+ if ( '%' == full.charAt(i) )
+ c++;
+ }
+
+ slug_value = ( c > full.length / 4 ) ? '' : full;
+ e.html('<input type="text" id="new-post-slug" value="'+slug_value+'" />').children('input').keypress(function(e) {
+ var key = e.keyCode || 0;
+ // on enter, just save the new slug, don't save the post
+ if ( 13 == key ) {
+ b.children('.save').click();
+ return false;
+ }
+ if ( 27 == key ) {
+ b.children('.cancel').click();
+ return false;
+ }
+ } ).keyup( function() {
+ real_slug.val(this.value);
+ }).focus();
+ }
+
+ if ( $editSlugWrap.length ) {
+ $editSlugWrap.on( 'click', function( event ) {
+ var $target = $( event.target );
+
+ if ( $target.is('#editable-post-name') || $target.hasClass('edit-slug') ) {
+ editPermalink();
+ }
+ });
+ }
+
+ // word count
+ if ( typeof(wpWordCount) != 'undefined' ) {
+ $document.triggerHandler('wpcountwords', [ co.val() ]);
+
+ co.keyup( function(e) {
+ var k = e.keyCode || e.charCode;
+
+ if ( k == last )
+ return true;
+
+ if ( 13 == k || 8 == last || 46 == last )
+ $document.triggerHandler('wpcountwords', [ co.val() ]);
+
+ last = k;
+ return true;
+ });
+ }
+
+ wptitlehint = function(id) {
+ id = id || 'title';
+
+ var title = $('#' + id), titleprompt = $('#' + id + '-prompt-text');
+
+ if ( '' === title.val() )
+ titleprompt.removeClass('screen-reader-text');
+
+ titleprompt.click(function(){
+ $(this).addClass('screen-reader-text');
+ title.focus();
+ });
+
+ title.blur(function(){
+ if ( '' === this.value )
+ titleprompt.removeClass('screen-reader-text');
+ }).focus(function(){
+ titleprompt.addClass('screen-reader-text');
+ }).keydown(function(e){
+ titleprompt.addClass('screen-reader-text');
+ $(this).unbind(e);
+ });
+ };
+
+ wptitlehint();
+
+ // Resize the visual and text editors
+ ( function() {
+ var editor, offset, mce,
+ $textarea = $('textarea#content'),
+ $handle = $('#post-status-info'),
+ $postdivrich = $('#postdivrich');
+
+ // No point for touch devices
+ if ( ! $textarea.length || 'ontouchstart' in window ) {
+ // Hide the resize handle
+ $('#content-resize-handle').hide();
+ return;
+ }
+
+ function dragging( event ) {
+ if ( $postdivrich.hasClass( 'wp-editor-expand' ) ) {
+ return;
+ }
+
+ if ( mce ) {
+ editor.theme.resizeTo( null, offset + event.pageY );
+ } else {
+ $textarea.height( Math.max( 50, offset + event.pageY ) );
+ }
+
+ event.preventDefault();
+ }
+
+ function endDrag() {
+ var height, toolbarHeight;
+
+ if ( $postdivrich.hasClass( 'wp-editor-expand' ) ) {
+ return;
+ }
+
+ if ( mce ) {
+ editor.focus();
+ toolbarHeight = parseInt( $( '#wp-content-editor-container .mce-toolbar-grp' ).height(), 10 );
+
+ if ( toolbarHeight < 10 || toolbarHeight > 200 ) {
+ toolbarHeight = 30;
+ }
+
+ height = parseInt( $('#content_ifr').css('height'), 10 ) + toolbarHeight - 28;
+ } else {
+ $textarea.focus();
+ height = parseInt( $textarea.css('height'), 10 );
+ }
+
+ $document.off( '.wp-editor-resize' );
+
+ // sanity check
+ if ( height && height > 50 && height < 5000 ) {
+ setUserSetting( 'ed_size', height );
+ }
+ }
+
+ $handle.on( 'mousedown.wp-editor-resize', function( event ) {
+ if ( typeof tinymce !== 'undefined' ) {
+ editor = tinymce.get('content');
+ }
+
+ if ( editor && ! editor.isHidden() ) {
+ mce = true;
+ offset = $('#content_ifr').height() - event.pageY;
+ } else {
+ mce = false;
+ offset = $textarea.height() - event.pageY;
+ $textarea.blur();
+ }
+
+ $document.on( 'mousemove.wp-editor-resize', dragging )
+ .on( 'mouseup.wp-editor-resize mouseleave.wp-editor-resize', endDrag );
+
+ event.preventDefault();
+ }).on( 'mouseup.wp-editor-resize', endDrag );
+ })();
+
+ if ( typeof tinymce !== 'undefined' ) {
+ // When changing post formats, change the editor body class
+ $( '#post-formats-select input.post-format' ).on( 'change.set-editor-class', function() {
+ var editor, body, format = this.id;
+
+ if ( format && $( this ).prop( 'checked' ) && ( editor = tinymce.get( 'content' ) ) ) {
+ body = editor.getBody();
+ body.className = body.className.replace( /\bpost-format-[^ ]+/, '' );
+ editor.dom.addClass( body, format == 'post-format-0' ? 'post-format-standard' : format );
+ $( document ).trigger( 'editor-classchange' );
+ }
+ });
+ }