wp/wp-admin/js/post.js
author ymh <ymh.work@gmail.com>
Wed, 06 Nov 2013 03:21:17 +0000
changeset 0 d970ebf37754
child 5 5e2f62d02dcd
permissions -rw-r--r--
first import
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
var tagBox, commentsBox, editPermalink, makeSlugeditClickable, WPSetThumbnailHTML, WPSetThumbnailID, WPRemoveThumbnail, wptitlehint;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
// return an array with any duplicate, whitespace or values removed
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
function array_unique_noempty(a) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
	var out = [];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
	jQuery.each( a, function(key, val) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
		val = jQuery.trim(val);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
		if ( val && jQuery.inArray(val, out) == -1 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
			out.push(val);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
		} );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
	return out;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
(function($){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
tagBox = {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
	clean : function(tags) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
		var comma = postL10n.comma;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
		if ( ',' !== comma )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
			tags = tags.replace(new RegExp(comma, 'g'), ',');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
		tags = tags.replace(/\s*,\s*/g, ',').replace(/,+/g, ',').replace(/[,\s]+$/, '').replace(/^[,\s]+/, '');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
		if ( ',' !== comma )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
			tags = tags.replace(/,/g, comma);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
		return tags;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
	parseTags : function(el) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
		var id = el.id, num = id.split('-check-num-')[1], taxbox = $(el).closest('.tagsdiv'),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
			thetags = taxbox.find('.the-tags'), comma = postL10n.comma,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
			current_tags = thetags.val().split(comma), new_tags = [];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
		delete current_tags[num];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
		$.each( current_tags, function(key, val) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
			val = $.trim(val);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
			if ( val ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
				new_tags.push(val);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
		thetags.val( this.clean( new_tags.join(comma) ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
		this.quickClicks(taxbox);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
		return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
	quickClicks : function(el) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
		var thetags = $('.the-tags', el),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
			tagchecklist = $('.tagchecklist', el),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
			id = $(el).attr('id'),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
			current_tags, disabled;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
		if ( !thetags.length )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
			return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
		disabled = thetags.prop('disabled');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
		current_tags = thetags.val().split(postL10n.comma);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
		tagchecklist.empty();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
		$.each( current_tags, function( key, val ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
			var span, xbutton;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
			val = $.trim( val );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
			if ( ! val )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
				return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
			// Create a new span, and ensure the text is properly escaped.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
			span = $('<span />').text( val );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
			// If tags editing isn't disabled, create the X button.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
			if ( ! disabled ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
				xbutton = $( '<a id="' + id + '-check-num-' + key + '" class="ntdelbutton">X</a>' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
				xbutton.click( function(){ tagBox.parseTags(this); });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
				span.prepend('&nbsp;').prepend( xbutton );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
			// Append the span to the tag list.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
			tagchecklist.append( span );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
	flushTags : function(el, a, f) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
		a = a || false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
		var tags = $('.the-tags', el),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
			newtag = $('input.newtag', el),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
			comma = postL10n.comma,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
			newtags, text;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
		text = a ? $(a).text() : newtag.val();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
		tagsval = tags.val();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
		newtags = tagsval ? tagsval + comma + text : text;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
		newtags = this.clean( newtags );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
		newtags = array_unique_noempty( newtags.split(comma) ).join(comma);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
		tags.val(newtags);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
		this.quickClicks(el);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
		if ( !a )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
			newtag.val('');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
		if ( 'undefined' == typeof(f) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
			newtag.focus();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
		return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
	get : function(id) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
		var tax = id.substr(id.indexOf('-')+1);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
		$.post(ajaxurl, {'action':'get-tagcloud', 'tax':tax}, function(r, stat) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
			if ( 0 == r || 'success' != stat )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
				r = wpAjax.broken;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
			r = $('<p id="tagcloud-'+tax+'" class="the-tagcloud">'+r+'</p>');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
			$('a', r).click(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
				tagBox.flushTags( $(this).closest('.inside').children('.tagsdiv'), this);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
			$('#'+id).after(r);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
	init : function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
		var t = this, ajaxtag = $('div.ajaxtag');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
		$('.tagsdiv').each( function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
			tagBox.quickClicks(this);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
		$('input.tagadd', ajaxtag).click(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
			t.flushTags( $(this).closest('.tagsdiv') );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
		$('div.taghint', ajaxtag).click(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
			$(this).css('visibility', 'hidden').parent().siblings('.newtag').focus();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
		$('input.newtag', ajaxtag).blur(function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
			if ( this.value == '' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
				$(this).parent().siblings('.taghint').css('visibility', '');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
		}).focus(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
			$(this).parent().siblings('.taghint').css('visibility', 'hidden');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
		}).keyup(function(e){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
			if ( 13 == e.which ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
				tagBox.flushTags( $(this).closest('.tagsdiv') );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
		}).keypress(function(e){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
			if ( 13 == e.which ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
				e.preventDefault();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
		}).each(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
			var tax = $(this).closest('div.tagsdiv').attr('id');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
			$(this).suggest( ajaxurl + '?action=ajax-tag-search&tax=' + tax, { delay: 500, minchars: 2, multiple: true, multipleSep: postL10n.comma + ' ' } );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
		// save tags on post save/publish
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
		$('#post').submit(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
			$('div.tagsdiv').each( function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
				tagBox.flushTags(this, false, 1);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
		// tag cloud
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
		$('a.tagcloud-link').click(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
			tagBox.get( $(this).attr('id') );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
			$(this).unbind().click(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
				$(this).siblings('.the-tagcloud').toggle();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
commentsBox = {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
	st : 0,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
	get : function(total, num) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
		var st = this.st, data;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
		if ( ! num )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
			num = 20;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
		this.st += num;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
		this.total = total;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
		$('#commentsdiv .spinner').show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
		data = {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
			'action' : 'get-comments',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
			'mode' : 'single',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
			'_ajax_nonce' : $('#add_comment_nonce').val(),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
			'p' : $('#post_ID').val(),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
			'start' : st,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
			'number' : num
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
		};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
		$.post(ajaxurl, data,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
			function(r) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
				r = wpAjax.parseAjaxResponse(r);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
				$('#commentsdiv .widefat').show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
				$('#commentsdiv .spinner').hide();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
				if ( 'object' == typeof r && r.responses[0] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
					$('#the-comment-list').append( r.responses[0].data );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
					theList = theExtraList = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
					$("a[className*=':']").unbind();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
					if ( commentsBox.st > commentsBox.total )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
						$('#show-comments').hide();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
					else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
						$('#show-comments').show().children('a').html(postL10n.showcomm);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
					return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
				} else if ( 1 == r ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
					$('#show-comments').html(postL10n.endcomm);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
					return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
				$('#the-comment-list').append('<tr><td colspan="2">'+wpAjax.broken+'</td></tr>');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
		);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
		return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
WPSetThumbnailHTML = function(html){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
	$('.inside', '#postimagediv').html(html);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
WPSetThumbnailID = function(id){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
	var field = $('input[value="_thumbnail_id"]', '#list-table');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
	if ( field.size() > 0 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
		$('#meta\\[' + field.attr('id').match(/[0-9]+/) + '\\]\\[value\\]').text(id);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   239
};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   241
WPRemoveThumbnail = function(nonce){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
	$.post(ajaxurl, {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   243
		action:"set-post-thumbnail", post_id: $('#post_ID').val(), thumbnail_id: -1, _ajax_nonce: nonce, cookie: encodeURIComponent(document.cookie)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
	}, function(str){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   245
		if ( str == '0' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   246
			alert( setPostThumbnailL10n.error );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   247
		} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   248
			WPSetThumbnailHTML(str);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   249
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   250
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   251
	);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   252
};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   253
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   254
$(document).on( 'heartbeat-send.refresh-lock', function( e, data ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   255
	var lock = $('#active_post_lock').val(),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   256
		post_id = $('#post_ID').val(),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   257
		send = {};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   258
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   259
	if ( ! post_id || ! $('#post-lock-dialog').length )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   260
		return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   261
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   262
	send['post_id'] = post_id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   263
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   264
	if ( lock )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   265
		send['lock'] = lock;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   266
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   267
	data['wp-refresh-post-lock'] = send;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   268
});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   269
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   270
// Post locks: update the lock string or show the dialog if somebody has taken over editing
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   271
$(document).on( 'heartbeat-tick.refresh-lock', function( e, data ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   272
	var received, wrap, avatar;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   273
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   274
	if ( data['wp-refresh-post-lock'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   275
		received = data['wp-refresh-post-lock'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   276
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   277
		if ( received.lock_error ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   278
			// show "editing taken over" message
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   279
			wrap = $('#post-lock-dialog');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   280
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   281
			if ( wrap.length && ! wrap.is(':visible') ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   282
				if ( typeof autosave == 'function' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   283
					$(document).on('autosave-disable-buttons.post-lock', function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   284
						wrap.addClass('saving');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   285
					}).on('autosave-enable-buttons.post-lock', function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   286
						wrap.removeClass('saving').addClass('saved');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   287
						window.onbeforeunload = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   288
					});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   289
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   290
					// Save the latest changes and disable
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   291
					if ( ! autosave() )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   292
						window.onbeforeunload = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   293
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   294
					autosave = function(){};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   295
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   296
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   297
				if ( received.lock_error.avatar_src ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   298
					avatar = $('<img class="avatar avatar-64 photo" width="64" height="64" />').attr( 'src', received.lock_error.avatar_src.replace(/&amp;/g, '&') );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   299
					wrap.find('div.post-locked-avatar').empty().append( avatar );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   300
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   301
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   302
				wrap.show().find('.currently-editing').text( received.lock_error.text );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   303
				wrap.find('.wp-tab-first').focus();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   304
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   305
		} else if ( received.new_lock ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   306
			$('#active_post_lock').val( received.new_lock );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   307
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   308
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   309
});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   310
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   311
}(jQuery));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   312
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   313
(function($) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   314
	var check, timeout;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   315
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   316
	function schedule() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   317
		check = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   318
		window.clearTimeout( timeout );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   319
		timeout = window.setTimeout( function(){ check = true; }, 300000 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   320
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   321
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   322
	$(document).on( 'heartbeat-send.wp-refresh-nonces', function( e, data ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   323
		var nonce, post_id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   324
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   325
		if ( check ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   326
			if ( ( post_id = $('#post_ID').val() ) && ( nonce = $('#_wpnonce').val() ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   327
				data['wp-refresh-post-nonces'] = {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   328
					post_id: post_id,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   329
					post_nonce: nonce
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   330
				};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   331
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   332
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   333
	}).on( 'heartbeat-tick.wp-refresh-nonces', function( e, data ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   334
		var nonces = data['wp-refresh-post-nonces'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   335
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   336
		if ( nonces ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   337
			schedule();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   338
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   339
			if ( nonces.replace ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   340
				$.each( nonces.replace, function( selector, value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   341
					$( '#' + selector ).val( value );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   342
				});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   343
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   344
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   345
			if ( nonces.heartbeatNonce )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   346
				window.heartbeatSettings.nonce = nonces.heartbeatNonce;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   347
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   348
	}).ready( function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   349
		schedule();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   350
	});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   351
}(jQuery));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   352
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   353
jQuery(document).ready( function($) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   354
	var stamp, visibility, sticky = '', last = 0, co = $('#content');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   355
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   356
	postboxes.add_postbox_toggles(pagenow);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   357
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   358
	// Post locks: contain focus inside the dialog. If the dialog is shown, focus the first item.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   359
	$('#post-lock-dialog .notification-dialog').on( 'keydown', function(e) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   360
		if ( e.which != 9 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   361
			return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   362
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   363
		var target = $(e.target);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   364
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   365
		if ( target.hasClass('wp-tab-first') && e.shiftKey ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   366
			$(this).find('.wp-tab-last').focus();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   367
			e.preventDefault();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   368
		} else if ( target.hasClass('wp-tab-last') && ! e.shiftKey ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   369
			$(this).find('.wp-tab-first').focus();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   370
			e.preventDefault();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   371
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   372
	}).filter(':visible').find('.wp-tab-first').focus();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   373
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   374
	// multi-taxonomies
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   375
	if ( $('#tagsdiv-post_tag').length ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   376
		tagBox.init();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   377
	} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   378
		$('#side-sortables, #normal-sortables, #advanced-sortables').children('div.postbox').each(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   379
			if ( this.id.indexOf('tagsdiv-') === 0 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   380
				tagBox.init();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   381
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   382
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   383
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   384
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   385
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   386
	// categories
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   387
	$('.categorydiv').each( function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   388
		var this_id = $(this).attr('id'), catAddBefore, catAddAfter, taxonomyParts, taxonomy, settingName;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   389
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   390
		taxonomyParts = this_id.split('-');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   391
		taxonomyParts.shift();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   392
		taxonomy = taxonomyParts.join('-');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   393
		settingName = taxonomy + '_tab';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   394
		if ( taxonomy == 'category' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   395
			settingName = 'cats';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   396
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   397
		// TODO: move to jQuery 1.3+, support for multiple hierarchical taxonomies, see wp-lists.js
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   398
		$('a', '#' + taxonomy + '-tabs').click( function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   399
			var t = $(this).attr('href');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   400
			$(this).parent().addClass('tabs').siblings('li').removeClass('tabs');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   401
			$('#' + taxonomy + '-tabs').siblings('.tabs-panel').hide();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   402
			$(t).show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   403
			if ( '#' + taxonomy + '-all' == t )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   404
				deleteUserSetting(settingName);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   405
			else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   406
				setUserSetting(settingName, 'pop');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   407
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   408
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   409
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   410
		if ( getUserSetting(settingName) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   411
			$('a[href="#' + taxonomy + '-pop"]', '#' + taxonomy + '-tabs').click();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   412
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   413
		// Ajax Cat
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   414
		$('#new' + taxonomy).one( 'focus', function() { $(this).val( '' ).removeClass( 'form-input-tip' ) } );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   415
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   416
		$('#new' + taxonomy).keypress( function(event){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   417
			if( 13 === event.keyCode ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   418
				event.preventDefault();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   419
				$('#' + taxonomy + '-add-submit').click();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   420
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   421
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   422
		$('#' + taxonomy + '-add-submit').click( function(){ $('#new' + taxonomy).focus(); });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   423
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   424
		catAddBefore = function( s ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   425
			if ( !$('#new'+taxonomy).val() )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   426
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   427
			s.data += '&' + $( ':checked', '#'+taxonomy+'checklist' ).serialize();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   428
			$( '#' + taxonomy + '-add-submit' ).prop( 'disabled', true );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   429
			return s;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   430
		};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   431
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   432
		catAddAfter = function( r, s ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   433
			var sup, drop = $('#new'+taxonomy+'_parent');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   434
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   435
			$( '#' + taxonomy + '-add-submit' ).prop( 'disabled', false );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   436
			if ( 'undefined' != s.parsed.responses[0] && (sup = s.parsed.responses[0].supplemental.newcat_parent) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   437
				drop.before(sup);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   438
				drop.remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   439
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   440
		};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   441
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   442
		$('#' + taxonomy + 'checklist').wpList({
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   443
			alt: '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   444
			response: taxonomy + '-ajax-response',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   445
			addBefore: catAddBefore,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   446
			addAfter: catAddAfter
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   447
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   448
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   449
		$('#' + taxonomy + '-add-toggle').click( function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   450
			$('#' + taxonomy + '-adder').toggleClass( 'wp-hidden-children' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   451
			$('a[href="#' + taxonomy + '-all"]', '#' + taxonomy + '-tabs').click();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   452
			$('#new'+taxonomy).focus();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   453
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   454
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   455
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   456
		$('#' + taxonomy + 'checklist, #' + taxonomy + 'checklist-pop').on( 'click', 'li.popular-category > label input[type="checkbox"]', function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   457
			var t = $(this), c = t.is(':checked'), id = t.val();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   458
			if ( id && t.parents('#taxonomy-'+taxonomy).length )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   459
				$('#in-' + taxonomy + '-' + id + ', #in-popular-' + taxonomy + '-' + id).prop( 'checked', c );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   460
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   461
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   462
	}); // end cats
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   463
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   464
	// Custom Fields
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   465
	if ( $('#postcustom').length ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   466
		$('#the-list').wpList( { addAfter: function( xml, s ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   467
			$('table#list-table').show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   468
		}, addBefore: function( s ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   469
			s.data += '&post_id=' + $('#post_ID').val();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   470
			return s;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   471
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   472
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   473
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   474
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   475
	// submitdiv
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   476
	if ( $('#submitdiv').length ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   477
		stamp = $('#timestamp').html();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   478
		visibility = $('#post-visibility-display').html();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   479
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   480
		function updateVisibility() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   481
			var pvSelect = $('#post-visibility-select');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   482
			if ( $('input:radio:checked', pvSelect).val() != 'public' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   483
				$('#sticky').prop('checked', false);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   484
				$('#sticky-span').hide();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   485
			} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   486
				$('#sticky-span').show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   487
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   488
			if ( $('input:radio:checked', pvSelect).val() != 'password' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   489
				$('#password-span').hide();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   490
			} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   491
				$('#password-span').show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   492
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   493
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   494
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   495
		function updateText() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   496
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   497
			if ( ! $('#timestampdiv').length )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   498
				return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   499
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   500
			var attemptedDate, originalDate, currentDate, publishOn, postStatus = $('#post_status'),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   501
				optPublish = $('option[value="publish"]', postStatus), aa = $('#aa').val(),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   502
				mm = $('#mm').val(), jj = $('#jj').val(), hh = $('#hh').val(), mn = $('#mn').val();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   503
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   504
			attemptedDate = new Date( aa, mm - 1, jj, hh, mn );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   505
			originalDate = new Date( $('#hidden_aa').val(), $('#hidden_mm').val() -1, $('#hidden_jj').val(), $('#hidden_hh').val(), $('#hidden_mn').val() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   506
			currentDate = new Date( $('#cur_aa').val(), $('#cur_mm').val() -1, $('#cur_jj').val(), $('#cur_hh').val(), $('#cur_mn').val() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   507
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   508
			if ( attemptedDate.getFullYear() != aa || (1 + attemptedDate.getMonth()) != mm || attemptedDate.getDate() != jj || attemptedDate.getMinutes() != mn ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   509
				$('.timestamp-wrap', '#timestampdiv').addClass('form-invalid');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   510
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   511
			} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   512
				$('.timestamp-wrap', '#timestampdiv').removeClass('form-invalid');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   513
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   514
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   515
			if ( attemptedDate > currentDate && $('#original_post_status').val() != 'future' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   516
				publishOn = postL10n.publishOnFuture;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   517
				$('#publish').val( postL10n.schedule );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   518
			} else if ( attemptedDate <= currentDate && $('#original_post_status').val() != 'publish' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   519
				publishOn = postL10n.publishOn;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   520
				$('#publish').val( postL10n.publish );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   521
			} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   522
				publishOn = postL10n.publishOnPast;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   523
				$('#publish').val( postL10n.update );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   524
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   525
			if ( originalDate.toUTCString() == attemptedDate.toUTCString() ) { //hack
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   526
				$('#timestamp').html(stamp);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   527
			} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   528
				$('#timestamp').html(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   529
					publishOn + ' <b>' +
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   530
					postL10n.dateFormat.replace( '%1$s', $('option[value="' + $('#mm').val() + '"]', '#mm').text() )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   531
						.replace( '%2$s', jj )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   532
						.replace( '%3$s', aa )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   533
						.replace( '%4$s', hh )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   534
						.replace( '%5$s', mn )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   535
					+ '</b> '
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   536
				);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   537
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   538
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   539
			if ( $('input:radio:checked', '#post-visibility-select').val() == 'private' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   540
				$('#publish').val( postL10n.update );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   541
				if ( optPublish.length == 0 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   542
					postStatus.append('<option value="publish">' + postL10n.privatelyPublished + '</option>');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   543
				} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   544
					optPublish.html( postL10n.privatelyPublished );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   545
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   546
				$('option[value="publish"]', postStatus).prop('selected', true);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   547
				$('.edit-post-status', '#misc-publishing-actions').hide();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   548
			} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   549
				if ( $('#original_post_status').val() == 'future' || $('#original_post_status').val() == 'draft' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   550
					if ( optPublish.length ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   551
						optPublish.remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   552
						postStatus.val($('#hidden_post_status').val());
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   553
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   554
				} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   555
					optPublish.html( postL10n.published );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   556
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   557
				if ( postStatus.is(':hidden') )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   558
					$('.edit-post-status', '#misc-publishing-actions').show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   559
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   560
			$('#post-status-display').html($('option:selected', postStatus).text());
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   561
			if ( $('option:selected', postStatus).val() == 'private' || $('option:selected', postStatus).val() == 'publish' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   562
				$('#save-post').hide();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   563
			} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   564
				$('#save-post').show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   565
				if ( $('option:selected', postStatus).val() == 'pending' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   566
					$('#save-post').show().val( postL10n.savePending );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   567
				} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   568
					$('#save-post').show().val( postL10n.saveDraft );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   569
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   570
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   571
			return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   572
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   573
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   574
		$('.edit-visibility', '#visibility').click(function () {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   575
			if ($('#post-visibility-select').is(":hidden")) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   576
				updateVisibility();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   577
				$('#post-visibility-select').slideDown('fast');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   578
				$(this).hide();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   579
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   580
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   581
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   582
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   583
		$('.cancel-post-visibility', '#post-visibility-select').click(function () {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   584
			$('#post-visibility-select').slideUp('fast');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   585
			$('#visibility-radio-' + $('#hidden-post-visibility').val()).prop('checked', true);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   586
			$('#post_password').val($('#hidden-post-password').val());
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   587
			$('#sticky').prop('checked', $('#hidden-post-sticky').prop('checked'));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   588
			$('#post-visibility-display').html(visibility);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   589
			$('.edit-visibility', '#visibility').show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   590
			updateText();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   591
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   592
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   593
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   594
		$('.save-post-visibility', '#post-visibility-select').click(function () { // crazyhorse - multiple ok cancels
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   595
			var pvSelect = $('#post-visibility-select');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   596
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   597
			pvSelect.slideUp('fast');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   598
			$('.edit-visibility', '#visibility').show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   599
			updateText();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   600
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   601
			if ( $('input:radio:checked', pvSelect).val() != 'public' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   602
				$('#sticky').prop('checked', false);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   603
			} // WEAPON LOCKED
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   604
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   605
			if ( true == $('#sticky').prop('checked') ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   606
				sticky = 'Sticky';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   607
			} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   608
				sticky = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   609
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   610
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   611
			$('#post-visibility-display').html(	postL10n[$('input:radio:checked', pvSelect).val() + sticky]	);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   612
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   613
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   614
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   615
		$('input:radio', '#post-visibility-select').change(function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   616
			updateVisibility();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   617
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   618
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   619
		$('#timestampdiv').siblings('a.edit-timestamp').click(function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   620
			if ($('#timestampdiv').is(":hidden")) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   621
				$('#timestampdiv').slideDown('fast');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   622
				$('#mm').focus();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   623
				$(this).hide();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   624
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   625
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   626
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   627
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   628
		$('.cancel-timestamp', '#timestampdiv').click(function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   629
			$('#timestampdiv').slideUp('fast');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   630
			$('#mm').val($('#hidden_mm').val());
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   631
			$('#jj').val($('#hidden_jj').val());
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   632
			$('#aa').val($('#hidden_aa').val());
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   633
			$('#hh').val($('#hidden_hh').val());
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   634
			$('#mn').val($('#hidden_mn').val());
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   635
			$('#timestampdiv').siblings('a.edit-timestamp').show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   636
			updateText();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   637
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   638
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   639
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   640
		$('.save-timestamp', '#timestampdiv').click(function () { // crazyhorse - multiple ok cancels
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   641
			if ( updateText() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   642
				$('#timestampdiv').slideUp('fast');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   643
				$('#timestampdiv').siblings('a.edit-timestamp').show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   644
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   645
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   646
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   647
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   648
		$('#post').on( 'submit', function(e){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   649
			if ( ! updateText() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   650
				e.preventDefault();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   651
				$('#timestampdiv').show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   652
				$('#publishing-action .spinner').hide();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   653
				$('#publish').prop('disabled', false).removeClass('button-primary-disabled');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   654
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   655
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   656
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   657
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   658
		$('#post-status-select').siblings('a.edit-post-status').click(function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   659
			if ($('#post-status-select').is(":hidden")) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   660
				$('#post-status-select').slideDown('fast');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   661
				$(this).hide();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   662
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   663
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   664
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   665
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   666
		$('.save-post-status', '#post-status-select').click(function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   667
			$('#post-status-select').slideUp('fast');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   668
			$('#post-status-select').siblings('a.edit-post-status').show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   669
			updateText();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   670
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   671
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   672
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   673
		$('.cancel-post-status', '#post-status-select').click(function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   674
			$('#post-status-select').slideUp('fast');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   675
			$('#post_status').val($('#hidden_post_status').val());
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   676
			$('#post-status-select').siblings('a.edit-post-status').show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   677
			updateText();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   678
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   679
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   680
	} // end submitdiv
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   681
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   682
	// permalink
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   683
	if ( $('#edit-slug-box').length ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   684
		editPermalink = function(post_id) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   685
			var i, 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();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   686
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   687
			$('#view-post-btn').hide();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   688
			b.html('<a href="#" class="save button button-small">'+postL10n.ok+'</a> <a class="cancel" href="#">'+postL10n.cancel+'</a>');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   689
			b.children('.save').click(function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   690
				var new_slug = e.children('input').val();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   691
				if ( new_slug == $('#editable-post-name-full').text() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   692
					return $('.cancel', '#edit-slug-buttons').click();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   693
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   694
				$.post(ajaxurl, {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   695
					action: 'sample-permalink',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   696
					post_id: post_id,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   697
					new_slug: new_slug,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   698
					new_title: $('#title').val(),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   699
					samplepermalinknonce: $('#samplepermalinknonce').val()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   700
				}, function(data) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   701
					var box = $('#edit-slug-box');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   702
					box.html(data);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   703
					if (box.hasClass('hidden')) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   704
						box.fadeIn('fast', function () {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   705
							box.removeClass('hidden');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   706
						});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   707
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   708
					b.html(revert_b);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   709
					real_slug.val(new_slug);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   710
					makeSlugeditClickable();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   711
					$('#view-post-btn').show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   712
				});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   713
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   714
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   715
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   716
			$('.cancel', '#edit-slug-buttons').click(function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   717
				$('#view-post-btn').show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   718
				e.html(revert_e);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   719
				b.html(revert_b);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   720
				real_slug.val(revert_slug);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   721
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   722
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   723
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   724
			for ( i = 0; i < full.length; ++i ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   725
				if ( '%' == full.charAt(i) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   726
					c++;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   727
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   728
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   729
			slug_value = ( c > full.length / 4 ) ? '' : full;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   730
			e.html('<input type="text" id="new-post-slug" value="'+slug_value+'" />').children('input').keypress(function(e) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   731
				var key = e.keyCode || 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   732
				// on enter, just save the new slug, don't save the post
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   733
				if ( 13 == key ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   734
					b.children('.save').click();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   735
					return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   736
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   737
				if ( 27 == key ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   738
					b.children('.cancel').click();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   739
					return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   740
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   741
			}).keyup(function(e) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   742
				real_slug.val(this.value);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   743
			}).focus();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   744
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   745
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   746
		makeSlugeditClickable = function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   747
			$('#editable-post-name').click(function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   748
				$('#edit-slug-buttons').children('.edit-slug').click();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   749
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   750
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   751
		makeSlugeditClickable();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   752
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   753
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   754
	// word count
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   755
	if ( typeof(wpWordCount) != 'undefined' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   756
		$(document).triggerHandler('wpcountwords', [ co.val() ]);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   757
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   758
		co.keyup( function(e) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   759
			var k = e.keyCode || e.charCode;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   760
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   761
			if ( k == last )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   762
				return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   763
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   764
			if ( 13 == k || 8 == last || 46 == last )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   765
				$(document).triggerHandler('wpcountwords', [ co.val() ]);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   766
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   767
			last = k;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   768
			return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   769
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   770
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   771
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   772
	wptitlehint = function(id) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   773
		id = id || 'title';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   774
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   775
		var title = $('#' + id), titleprompt = $('#' + id + '-prompt-text');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   776
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   777
		if ( title.val() == '' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   778
			titleprompt.removeClass('screen-reader-text');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   779
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   780
		titleprompt.click(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   781
			$(this).addClass('screen-reader-text');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   782
			title.focus();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   783
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   784
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   785
		title.blur(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   786
			if ( this.value == '' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   787
				titleprompt.removeClass('screen-reader-text');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   788
		}).focus(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   789
			titleprompt.addClass('screen-reader-text');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   790
		}).keydown(function(e){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   791
			titleprompt.addClass('screen-reader-text');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   792
			$(this).unbind(e);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   793
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   794
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   795
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   796
	wptitlehint();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   797
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   798
	// resizable textarea#content
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   799
	(function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   800
		var textarea = $('textarea#content'), offset = null, el;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   801
		// No point for touch devices
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   802
		if ( !textarea.length || 'ontouchstart' in window )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   803
			return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   804
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   805
		function dragging(e) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   806
			textarea.height( Math.max(50, offset + e.pageY) + 'px' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   807
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   808
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   809
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   810
		function endDrag(e) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   811
			var height;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   812
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   813
			textarea.focus();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   814
			$(document).unbind('mousemove', dragging).unbind('mouseup', endDrag);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   815
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   816
			height = parseInt( textarea.css('height'), 10 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   817
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   818
			// sanity check
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   819
			if ( height && height > 50 && height < 5000 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   820
				setUserSetting( 'ed_size', height );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   821
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   822
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   823
		textarea.css('resize', 'none');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   824
		el = $('<div id="content-resize-handle"><br></div>');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   825
		$('#wp-content-wrap').append(el);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   826
		el.on('mousedown', function(e) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   827
			offset = textarea.height() - e.pageY;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   828
			textarea.blur();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   829
			$(document).mousemove(dragging).mouseup(endDrag);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   830
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   831
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   832
	})();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   833
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   834
	if ( typeof(tinymce) != 'undefined' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   835
		tinymce.onAddEditor.add(function(mce, ed){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   836
			// iOS expands the iframe to full height and the user cannot adjust it.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   837
			if ( ed.id != 'content' || tinymce.isIOS5 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   838
				return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   839
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   840
			function getHeight() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   841
				var height, node = document.getElementById('content_ifr'),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   842
					ifr_height = node ? parseInt( node.style.height, 10 ) : 0,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   843
					tb_height = $('#content_tbl tr.mceFirst').height();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   844
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   845
				if ( !ifr_height || !tb_height )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   846
					return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   847
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   848
				// total height including toolbar and statusbar
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   849
				height = ifr_height + tb_height + 21;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   850
				// textarea height = total height - 33px toolbar
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   851
				height -= 33;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   852
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   853
				return height;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   854
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   855
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   856
			// resize TinyMCE to match the textarea height when switching Text -> Visual
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   857
			ed.onLoadContent.add( function(ed, o) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   858
				var ifr_height, node = document.getElementById('content'),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   859
					height = node ? parseInt( node.style.height, 10 ) : 0,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   860
					tb_height = $('#content_tbl tr.mceFirst').height() || 33;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   861
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   862
				// height cannot be under 50 or over 5000
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   863
				if ( !height || height < 50 || height > 5000 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   864
					height = 360; // default height for the main editor
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   865
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   866
				if ( getUserSetting( 'ed_size' ) > 5000  )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   867
					setUserSetting( 'ed_size', 360 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   868
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   869
				// compensate for padding and toolbars
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   870
				ifr_height = ( height - tb_height ) + 12;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   871
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   872
				// sanity check
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   873
				if ( ifr_height > 50 && ifr_height < 5000 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   874
					$('#content_tbl').css('height', '' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   875
					$('#content_ifr').css('height', ifr_height + 'px' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   876
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   877
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   878
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   879
			// resize the textarea to match TinyMCE's height when switching Visual -> Text
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   880
			ed.onSaveContent.add( function(ed, o) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   881
				var height = getHeight();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   882
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   883
				if ( !height || height < 50 || height > 5000 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   884
					return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   885
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   886
				$('textarea#content').css( 'height', height + 'px' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   887
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   888
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   889
			// save on resizing TinyMCE
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   890
			ed.onPostRender.add(function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   891
				$('#content_resize').on('mousedown.wp-mce-resize', function(e){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   892
					$(document).on('mouseup.wp-mce-resize', function(e){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   893
						var height;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   894
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   895
						$(document).off('mouseup.wp-mce-resize');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   896
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   897
						height = getHeight();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   898
						// sanity check
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   899
						if ( height && height > 50 && height < 5000 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   900
							setUserSetting( 'ed_size', height );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   901
					});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   902
				});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   903
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   904
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   905
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   906
		// When changing post formats, change the editor body class
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   907
		$('#post-formats-select input.post-format').on( 'change.set-editor-class', function( event ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   908
			var editor, body, format = this.id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   909
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   910
			if ( format && $( this ).prop('checked') ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   911
				editor = tinymce.get( 'content' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   912
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   913
				if ( editor ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   914
					body = editor.getBody();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   915
					body.className = body.className.replace( /\bpost-format-[^ ]+/, '' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   916
					editor.dom.addClass( body, format == 'post-format-0' ? 'post-format-standard' : format );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   917
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   918
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   919
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   920
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   921
});