PageSourceSearch

https://opengtuning.co.uk/wp-content/plugins/wp-video-profits/js/vidprofits-front.js?ver=1.32

js opengtuning.co.uk collected 2026-10-03 18:59:34 UTC 69,728 bytes, 1,941 lines download raw bytes

1var VIDEO_ACTION_MOMENT_ALL = 0;
2var VIDEO_ACTION_MOMENT_VIDEOLOAD = 1;
3var VIDEO_ACTION_MOMENT_VIDEOSTART = 2;
4var VIDEO_ACTION_MOMENT_VIDEOEND = 3;
5var VIDEO_ACTION_MOMENT_VIDEOMIDDLE = 4;
6var VIDEO_ACTION_MOMENT_AFTERSECS = 5;
7
8
9var VIDPROFITS_ACTION_SHAREBUTTONS = 1;
10var VIDPROFITS_ACTION_OPTINFORM = 2;
11var VIDPROFITS_ACTION_CTA = 3;
12var VIDPROFITS_ACTION_BANNER = 4;
13var VIDPROFITS_ACTION_LIKEUS = 5;
14var VIDPROFITS_ACTION_BELOWVIDEO = 6;
15var VIDPROFITS_ACTION_PLAYVIDEO = 7;
16var VIDPROFITS_ACTION_ANNOTATION = 8;
17var VIDPROFITS_ACTION_HTML = 9;
18var VIDPROFITS_ACTION_CLICKTOCALL = 10;
19var VIDPROFITS_ACTION_AMAZON = 11;
20var VIDPROFITS_ACTION_SURVEY = 12;
21var VIDPROFITS_ACTION_CTTWEET = 13;
22var VIDPROFITS_ACTION_REDIRECT = 14;
23var VIDPROFITS_ACTION_FULLSCREEN = 15;
24var VIDPROFITS_ACTION_SCROLLTOVIDEO = 16;
25var VIDPROFITS_ACTION_CORNER = 17;
26
27var VIDPROFITS_SHARES = new Array();
28VIDPROFITS_SHARES.facebook = 'http://www.facebook.com/sharer.php?u=';
29VIDPROFITS_SHARES.twitter = 'https://twitter.com/share?url=';
30VIDPROFITS_SHARES.googleplus = 'https://plus.google.com/share?url=';
31VIDPROFITS_SHARES.pinterest = 'http://pinterest.com/pin/create/link/?url=';
32VIDPROFITS_SHARES.linkedin = 'http://www.linkedin.com/shareArticle?mini=true&url=';
33
34var VIDPROFITS_DEFAULT_CLOSEBTN = '<span class="fa-stack fa-lg vidpr-closebtn"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-close fa-stack-1x fa-inverse"></i></span>';
35var VIDPROFITS_DEBUG = 0;
36
37jQuery( document ).ready(function(  ) {
38	// a) Skip buttons actions
39
40	// 1. Social share
41	jQuery(document).on('click', '.vidprofits-skip-social', function(e) {
42		e.preventDefault();
43		$this = jQuery(this);
44		// video_id = $this.attr('data-video-id');
45		mejs_id = vidprofits_get_mejs_id_from_child( $this );
46		player = vp_os_vids[mejs_id]['player'];
47		// player = vidprofits_vsettings[video_id].player;
48		vidprofits_hide_overlay( player );
49		vidprofits_enable_controls( player );
50		media = player.media;
51        if( media.paused && media.currentTime != 0 )
52    		media.play();
53		$this.closest('.mep_content').empty();
54	});
55
56	jQuery(document).on('click', '.vidprofits-social-btn-link', function(e) {
57		$this = jQuery(this);
58		mejs_id = vidprofits_get_mejs_id_from_child( $this );
59		player = vp_os_vids[mejs_id]['player'];
60		vidprofits_hide_overlay( player );
61		media = player.media;
62        if( media.paused && media.currentTime != 0 )
63    		media.play();
64		$this.closest('.mep_content').empty();
65	});
66
67	// 2. Optin Form
68	jQuery(document).on('click', '.vidprofits-skip-ar', function(e) {
69		e.preventDefault();
70		$this = jQuery(this);
71		mejs_id = vidprofits_get_mejs_id_from_child( $this );
72		player = vp_os_vids[mejs_id]['player'];
73		vidprofits_hide_overlay( player );
74		vidprofits_enable_controls(player);
75
76		media = player.media;
77        if( media.paused && media.currentTime != 0 )
78    		media.play();
79		$this.closest('.mep_content').empty();
80	});
81
82	jQuery(document).on('click', '.vk-submit-button', function(e) {
83		e.preventDefault();
84		$this = jQuery(this);
85		$form = $this.closest('.vk-optin-form')
86
87		mejs_id = vidprofits_get_mejs_id_from_child( $this );
88		player = vp_os_vids[mejs_id]['player'];
89
90		video_id = $this.attr('data-video-id');
91		action_id = $this.attr('data-action-id');
92
93		// player = vidprofits_vsettings[video_id].player;
94		player = vp_os_vids[mejs_id]['player'];
95
96
97        email = ($form.find('.vk-email').length ? $form.find('.vk-email').val() : '');
98        if( email == '' ) {
99            $form.find('.vp-error').remove();
100            $form.find('.vk-optin-bottom').prepend('<p class="vp-error">Email cannot be blank</p>');
101            return;
102        }
103        else if( !vidprofits_validate_mail( email ) ) {
104            $form.find('.vp-error').remove();
105            $form.find('.vk-optin-bottom').prepend('<p class="vp-error">Email invalid</p>');
106            return;
107        }
108
109		var data = {
110			action: 'vidprofits_subscribe_user',
111			action_id: action_id,
112			name: ($form.find('.vk-name').length ? $form.find('.vk-name').val() : ''),
113			email: email
114		};
115
116		jQuery.post(vidprofits_video.ajaxurl, data, function(response) {
117			if ( response ) {
118				$parent = $form.closest('.vidprofits_optin_form')
119				$parent.find('.vk-optin-form').hide();
120				if ($parent.find('.vk-optin-thank-you').html() == '' ) {
121                    // hide directly
122                    vidprofits_hide_overlay( player );
123                    vidprofits_hide_fake_overlay( player );
124                    media = player.media;
125    				vidprofits_enable_controls( player )
126
127    				if( media.paused && media.currentTime != 0 )
128    					media.play();
129                    $this.closest('.mep_content').empty();
130                }
131                else {
132                    $parent.find('.vk-optin-thank-you').show();
133                    // return;
134    				$parent.find('.vidprofits-skip-ar').html('Continue...');
135
136    				var hide_after = 2000;
137    				myVar = setTimeout(function(){
138    					vidprofits_hide_overlay( player );
139	                    vidprofits_hide_fake_overlay( player );
140    					vidprofits_enable_controls( player )
141    					media = player.media;
142    					if( media.paused && media.currentTime != 0 )
143    						media.play();
144    					$this.closest('.mep_content').empty();
145    				}, hide_after);
146                }
147			}
148		});
149	});
150
151	// 3. CTA
152	jQuery(document).on('click', '.vidprofits-cta', function(e) {
153		$this = jQuery(this);
154		if( $this.attr( 'data-hideclick' ) ) {
155			// hide button
156			mejs_id = vidprofits_get_mejs_id_from_child( $this );
157			player = vp_os_vids[mejs_id]['player'];
158			vidprofits_hide_overlay_from_child( $this )
159			vidprofits_enable_controls_from_child( $this )
160			$this.closest('.cta').remove();
161			media = player.media;
162	        if( media.paused && media.currentTime != 0 )
163	    		media.play();
164		}
165	});
166
167	// 4. Banner
168	jQuery(document).on('click', '.vidprofits-banner', function(e) {
169		$this = jQuery(this);
170		if( $this.attr( 'data-hideclick' ) ) {
171			// hide banner
172			mejs_id = vidprofits_get_mejs_id_from_child( $this );
173			player = vp_os_vids[mejs_id]['player'];
174			vidprofits_hide_overlay_from_child( $this )
175			vidprofits_enable_controls_from_child( $this )
176			$this.closest('.vidprofits_banner').remove();
177			media = player.media;
178	        if( media.paused && media.currentTime != 0 )
179	    		media.play();
180		}
181	});
182
183	// 5. Like Us
184	jQuery(document).on('click', '.vidprofits-skip-likeus', function(e) {
185		e.preventDefault();
186		$this = jQuery(this);
187		mejs_id = vidprofits_get_mejs_id_from_child( $this );
188		player = vp_os_vids[mejs_id]['player'];
189		vidprofits_hide_overlay( player );
190    	vidprofits_enable_controls( player );
191
192		media = player.media;
193        if( media.paused && media.currentTime != 0 )
194        	media.play();
195		$this.closest('.mep_content').empty();
196	});
197
198	jQuery(document).on('click', '.IN-widget', function(e) {
199		$this = jQuery(this);
200
201	    // video_id = jQuery(this).closest('.wp-video').attr('data-vidprofits-id')
202	    // player = vidprofits_vsettings[video_id].player;
203	    mejs_id = vidprofits_get_mejs_id_from_child( $this );
204	    player = vp_os_vids[mejs_id]['player'];
205
206	    vidprofits_hide_overlay( player );
207	    media = player.media;
208	    if( media.paused && media.currentTime != 0 )
209	        media.play();
210	    like_layer = jQuery(this).closest('.wp-video').find('.vidprofits_likeus');
211	    setTimeout(vidprofits_do_hide_liked, 300, like_layer, player );
212	});
213
214	// 6. Element below video
215
216	// 7. Play another video
217	jQuery(document).on('click', '.vidprofits-skip-video', function(e) {
218		e.preventDefault();
219		$this = jQuery(this);
220		mejs_id = vidprofits_get_mejs_id_from_child( $this );
221		player = vp_os_vids[mejs_id]['player'];
222		$this.closest('.mep_content').empty();
223		// vidprofits_vsettings[video_id].playing_original = true;
224		vp_os_vids[mejs_id]['settings'].playing_original = true;
225		player.setSrc( vp_os_vids[mejs_id]['settings'].original_video );
226	    player.load();
227		player.play();
228	});
229
230	// 8. Annotation
231	jQuery(document).on('click', '.vidprofits-skip-ann', function(e) {
232	    e.preventDefault();
233	    $this = jQuery(this);
234	    mejs_id = vidprofits_get_mejs_id_from_child( $this );
235	    player = vp_os_vids[mejs_id]['player'];
236	    vidprofits_hide_overlay( player );
237	    $this.closest('.mep_content').empty();
238	});
239
240	// 9. HTML
241	jQuery(document).on('click', '.vidprofits-skip-html', function(e) {
242	    e.preventDefault();
243	    $this = jQuery(this);
244	    mejs_id = vidprofits_get_mejs_id_from_child( $this );
245	    player = vp_os_vids[mejs_id]['player'];
246	    vidprofits_hide_overlay( player );
247		vidprofits_enable_controls( player );
248
249	    media = player.media;
250	    if( media.paused && media.currentTime != 0 )
251	        media.play();
252	    $this.closest('.mep_content').empty();
253	});
254
255	// 10. Click to Call
256
257	// 11. Amazon
258	jQuery(document).on('click', '.vidprofits-skip-amazon', function(e) {
259	    e.preventDefault();
260	    $this = jQuery(this);
261	    mejs_id = vidprofits_get_mejs_id_from_child( $this );
262	    player = vp_os_vids[mejs_id]['player'];
263	    // console.log(player)
264	    vidprofits_hide_overlay( player );
265		vidprofits_enable_controls(player);
266
267	    media = player.media;
268	    if( media.paused && media.currentTime != 0 )
269	        media.play();
270	    $this.closest('.mep_content').empty();
271	});
272
273	// 12. Survey
274	// TO-DO review doble action
275	/*jQuery(document).on('click', '.surv-ans', function(e) {
276		$this = jQuery(this);
277		if( 1 ) {
278			// hide survey
279			vidprofits_hide_overlay_from_child( $this )
280			vidprofits_enable_controls_from_child( $this )
281			$this.closest('.vidprofits-survey').remove();
282		}
283	});*/
284
285	jQuery(document).on('click', '.surv-ans', function(e) {
286		$this = jQuery(this);
287		action = $this.attr('data-action');
288		if( action != 1)
289			e.preventDefault();
290
291		video_id = $this.closest('.vp_survey').attr('data-video-id');
292		mejs_id = vidprofits_get_mejs_id_from_child( $this );
293		player = vp_os_vids[mejs_id]['player'];
294
295		extra = $this.attr('data-extra');
296		// player = vidprofits_vsettings[video_id].player;
297		vidprofits_hide_fake_overlay( player );
298		media = player.media;
299
300		vidprofits_survey_exec_action( action, extra, media, player, mejs_id );
301        if( media.paused && media.currentTime != 0 )
302        	media.play();
303		vidprofits_hide_overlay_from_child( $this )
304		vidprofits_enable_controls_from_child( $this )
305		$this.closest('.vidprofits-survey').remove();
306		$this.closest('.mep_content').empty();
307	});
308
309
310	jQuery(document).on('click', '.vidprofits-skip-survey', function(e) {
311	    e.preventDefault();
312	    $this = jQuery(this);
313	    mejs_id = vidprofits_get_mejs_id_from_child( $this );
314	    player = vp_os_vids[mejs_id]['player'];
315	    // console.log(player)
316	    vidprofits_hide_overlay( player );
317	    vidprofits_enable_controls( player );
318	    media = player.media;
319	    if( media.paused && media.currentTime != 0 )
320	        media.play();
321	    $this.closest('.mep_content').empty();
322	});
323
324	// 13. Click to Tweet
325
326	// 14. Redirect
327
328	// 15. Full Screen
329
330	// 16. Scroll to video
331
332	// 17. Corner
333    jQuery(document).on('click', '.vidprofits-skip-corner', function(e) {
334        e.preventDefault();
335        $this = jQuery(this);
336        mejs_id = vidprofits_get_mejs_id_from_child( $this );
337        player = vp_os_vids[mejs_id]['player'];
338        vidprofits_hide_overlay( player );
339        container = jQuery( player.container )
340	 	container.closest('.wp-video').removeClass('doscroll cornerpos1 cornerpos2 cornerpos3 cornerpos4');
341        $this.closest('.mep_content').empty();
342    });
343
344});
345
346// https://www.youtube.com/watch?v=wGyUP4AlZ6I   11 seg
347// https://www.youtube.com/watch?v=ESNALzwtWrs   Brendon, largo:
348// https://www.youtube.com/watch?v=a1Y73sPHKxw  chipmunk, 6 s
349
350
351/* Mediaelement Player Functions */
352
353function vidprofits_get_mejs_id( player ) {
354	if (player) {
355		me_id = parseInt(player.media.attributes['data-me-id']);
356		if( isNaN( me_id ) )
357			me_id = parseInt(jQuery(player.media).attr('data-me-id'));
358		return me_id;
359		// return player.media.attributes['data-me-id'];
360	}
361	else {
362		return false;
363	}
364}
365
366function vidprofits_get_mejs_id_from_child( child_el ) {
367	if ( child_el ) {
368		return child_el.closest( '.wp-video' ).attr('data-me-id');
369	}
370	else {
371		return false;
372	}
373}
374
375
376function vidprofits_get_video_id( player ) {
377	if (player) {
378		video_id = parseInt(player.media.attributes['data-vidprofits-id']);
379		if( isNaN( video_id ) )
380			video_id = parseInt(jQuery(player.media).attr('data-vidprofits-id'));
381		return video_id;
382		/*video_id = player.media.attributes['data-vidprofits-id'];
383		if( video_id )
384			return video_id;*/
385		return false;
386		// return player.media.attributes['data-me-id'];
387		/*cid = player.media.attributes['data-vcampaign-id'];
388		if( cid )
389			return cid;
390		return player.media.attributes['data-vidprofits-id'];*/
391	}
392	else {
393		return false;
394	}
395}
396
397function vidprofits_is_campaign( player ) {
398	if (player) {
399		cid = player.media.attributes['data-vcampaign-id'];
400		if( cid )
401			return true;
402	}
403	return false;
404}
405
406/*function vidprofits_get_video_settings( player ) {
407	video_id = player.media.attributes['data-vidprofits-id'];
408	return vidprofits_vsettings[video_id];
409}*/
410
411function vidprofits_get_video_settings_from_id( mejs_id ) {
412	// return vidprofits_vsettings[mejs_id];
413	return vp_os_vids[mejs_id];
414}
415
416/*
417	moment puede ser:
418	0: todos
419	1: on video load
420	2: on video start
421	3: on video end
422	4: on video middle
423	5: after x secs
424
425	var VIDEO_ACTION_MOMENT_ALL = 0;
426	var VIDEO_ACTION_MOMENT_VIDEOLOAD = 1;
427	var VIDEO_ACTION_MOMENT_VIDEOSTART = 2;
428	var VIDEO_ACTION_MOMENT_VIDEOEND = 3;
429	var VIDEO_ACTION_MOMENT_VIDEOMIDDLE = 4;
430	var VIDEO_ACTION_MOMENT_AFTERSECS = 5;
431*/
432
433function vidprofits_get_actions( mejs_id, moment, seconds, is_campaign ) {
434	actions_ret = new Array();
435    /*if( is_campaign && (typeof vidprofits_csettings !== 'undefined') && (typeof vidprofits_csettings[player_id] !== 'undefined'))
436    	actions = vidprofits_csettings[player_id].actions;
437    else if ( typeof vidprofits_vsettings[player_id] !== 'undefined' )
438	   actions = vidprofits_vsettings[player_id].actions;
439    else
440        return;*/
441    // if (VIDPROFITS_DEBUG)
442    	// console.log('getting actions for ' + mejs_id+ 'moment: '+moment)
443    actions = vp_os_vids[mejs_id]['settings']['actions'];
444
445	if ( actions && actions.length ) {
446		n_actions = actions.length;
447		for (i=0;i<n_actions;i++) {
448			if (actions[i] == undefined)
449				continue;
450			if ( moment == VIDEO_ACTION_MOMENT_ALL ) {
451				actions_ret.push( actions[i] );
452			}
453			else if ( moment != VIDEO_ACTION_MOMENT_AFTERSECS ) {
454				if ( actions[i].show_when == moment )
455					actions_ret.push( actions[i] );
456			}
457			else if ( moment == VIDEO_ACTION_MOMENT_AFTERSECS ) {
458				if ( actions[i].show_when == moment && actions[i].show_after_secs == seconds ) {
459					actions_ret.push( actions[i] );
460				}
461			}
462		}
463	}
464	return actions_ret;
465}
466
467
468function vidprofits_do_actions( mejs_id, player, actions ) {
469	if ( actions && actions.length ) {
470		n_actions = actions.length;
471		for (i=0;i<n_actions;i++) {
472			if (!actions[i].done)
473				vidprofits_do_action( mejs_id, player, actions[i], i );
474			else {
475				if( VIDPROFITS_DEBUG )
476					console.log('action already done')
477			}
478		}
479	}
480}
481
482function vidprofits_do_action( mejs_id, player, action ) {
483	if (!action)
484		return;
485	if( action.hide_mobile && vprofits_is_mobile() )
486		return;
487	if( VIDPROFITS_DEBUG )
488		console.log('Going to do action: '+action.type)
489
490	switch ( action.type ) {
491		case VIDPROFITS_ACTION_SHAREBUTTONS:
492		case '1':
493			vidprofits_do_action_sharebuttons( player, action );
494			break;
495		case VIDPROFITS_ACTION_OPTINFORM:
496		case '2':
497			vidprofits_do_action_optinform( player, action );
498			break;
499		case VIDPROFITS_ACTION_CTA:
500		case '3':
501			vidprofits_do_action_cta( player, action );
502			break;
503		case VIDPROFITS_ACTION_BANNER:
504		case '4':
505			vidprofits_do_action_banner( player, action );
506			break;
507		case VIDPROFITS_ACTION_LIKEUS:
508		case '5':
509			vidprofits_do_action_likeus( player, action );
510			break;
511		case VIDPROFITS_ACTION_PLAYVIDEO:
512		case '7':
513			vidprofits_do_action_playvideo( player, action );
514			break;
515		case VIDPROFITS_ACTION_ANNOTATION:
516		case '8':
517			vidprofits_do_action_annotation( player, action );
518			break;
519		case VIDPROFITS_ACTION_HTML:
520		case '9':
521			vidprofits_do_action_html( player, action );
522			break;
523		case VIDPROFITS_ACTION_CLICKTOCALL:
524		case '10':
525			vidprofits_do_action_clicktocall( player, action );
526			break;
527        case VIDPROFITS_ACTION_AMAZON:
528        case '11':
529            vidprofits_do_action_amazon( player, action );
530            break;
531        case VIDPROFITS_ACTION_SURVEY:
532        case '12':
533            vidprofits_do_action_survey( player, action );
534            break;
535        case VIDPROFITS_ACTION_CTTWEET:
536        case '13':
537            vidprofits_do_action_cttweet( player, action );
538            break;
539        case VIDPROFITS_ACTION_BELOWVIDEO:
540        case '6':
541            vidprofits_do_action_belowvideo( player, action );
542            break;
543        case VIDPROFITS_ACTION_REDIRECT:
544        case '14':
545            vidprofits_do_action_redirect( player, action );
546            break;
547        case VIDPROFITS_ACTION_FULLSCREEN:
548        case '15':
549            vidprofits_do_action_fullscreen( player, action );
550            break;
551        case VIDPROFITS_ACTION_SCROLLTOVIDEO:
552        case '16':
553        	vidprofits_do_action_scrolltovid( player, action );
554        	break;
555        case VIDPROFITS_ACTION_CORNER:
556        case '17':
557        	vidprofits_do_action_corner( player, action );
558        	break;
559		default:
560			break;
561	}
562	if( mejs_id )
563		vp_os_vids[mejs_id]['settings']['actions'][action.id].done = true;
564		// vidprofits_vsettings[action.video_id].actions[action.id].done = true;
565}
566
567/******************************************
568   ACTIONS
569******************************************/
570
571
572/* 1. Share Buttons */
573function vidprofits_do_action_sharebuttons( player, action ) {
574	player_id = vidprofits_get_video_id( player );
575	extra_layer = vidprofits_get_extra_layer( player );
576    if( VIDPROFITS_DEBUG )
577	    console.log('## EXECUTING ACTION: 1) Social buttons!');
578
579	if (action.pause_video) {
580		player.pause();
581	}
582
583	if (action.skippable && action.skip_text != '')
584		skip_el = skip_el = '<a class="vidprofits-clickable nounder vidprofits-skip-social" href="#" data-video-id="'+action.video_id+'">'+action.skip_text+'</a>';
585	else if (action.skippable)
586        skip_el = '<a class="vidprofits-clickable nounder vidprofits-skip-social" href="#" data-video-id="'+action.video_id+'">'+VIDPROFITS_DEFAULT_CLOSEBTN+'</a>';
587    else
588		skip_el = '';
589
590	var html_el = '<span class="vk_social_label">'+action.label+'</span>';
591	var social_networks = new Array( 'facebook', 'twitter', 'googleplus', 'pinterest', 'linkedin' );
592
593	for (i=0;i<5;i++) {
594		if ( undefined != action[social_networks[i]] ) {
595			html_el += vidprofits_social_network_el( social_networks[i], action);
596		}
597	}
598	position = action.position ? action.position : 1;
599
600	if (action.disposition == 2)
601		extra_class = 'dispo-vertical';
602	else
603		extra_class = 'dispo-horizontal';
604
605	extra_layer.find('.mep_content').append('<div class="vidprofits_share_btns vidprofits-pos-'+position+'"><div class="vprofits_social_inn '+extra_class+'">'+html_el+skip_el+'</div></div>');
606	extra_layer.find('.mep_content').show();
607
608	if ( action.hide_after )
609		hide_after = (action.hide_after) * 1000;
610	else
611		hide_after = 0;
612	if (hide_after)
613		myVar = setTimeout(function(){ vidprofits_playvideo_do_hide_sharebuttons( player, action ); }, hide_after);
614
615   	var anim_class = (action.entry_anim && (action.entry_anim != 0 ) ) ? 'animated '+action.entry_anim : '';
616   	if( anim_class != '' &&  anim_class != 0 )
617       	extra_layer.find('.mep_content').show().find('.vprofits_social_inn').addClass(anim_class).css('');
618
619   	extra_layer.find('.mep_content').show();
620
621    if( action.show_overlay ) {
622		vidprofits_show_overlay( player );
623		vidprofits_disable_controls( player )
624    }
625
626	extra_layer.show();
627
628    if ( action.hide_after )
629        hide_after = (action.hide_after) * 1000;
630    else
631        hide_after = 0;
632
633    if (hide_after)
634        myVar = setTimeout(function(){ vidprofits_playvideo_do_hide_sharebuttons( player, action ); }, hide_after);
635
636}
637
638function vidprofits_social_network_el( network, action) {
639	if (action.disposition == 2)
640		extra_class = 'disp-vertical';
641	else
642		extra_class = 'disp-horizontal';
643
644	if (action.what_action == 2 || action.what_action == '2') {
645		sharer_url = vidprofits_video.socialsites[network];
646	}
647	else {
648		sharer_url = VIDPROFITS_SHARES[network];
649		if (action.share_what == 2) {
650			sharer_url += action.share_url;
651		}
652		else
653			sharer_url += document.location;
654	}
655	str_ret = '<a class="vidprofits-clickable nounder vidprofits-social-btn-link '+extra_class+'" target="_blank" href="'+sharer_url+'"><img class="vidprofits-social-btn" src="'+vidprofits_video.url+'/img/social/'+action.style+'/'+network+'.png" /></a>';
656	return str_ret;
657}
658
659function vidprofits_playvideo_do_hide_sharebuttons( player, action ) {
660	player_id = vidprofits_get_video_id( player );
661	extra_layer = vidprofits_get_extra_layer( player );
662	extra_layer.find('.mep_content .vidprofits_share_btns').remove();
663	vidprofits_hide_overlay( player );
664	vidprofits_enable_controls( player );
665
666	media = player.media;
667    if( media.paused && media.currentTime != 0 )
668    	media.play();
669	extra_layer.find('.mep_content').empty();
670}
671
672
673/* 2. Optin Form */
674function vidprofits_do_action_optinform( player, action ) {
675	player_id = vidprofits_get_video_id( player );
676	extra_layer = vidprofits_get_extra_layer( player );
677    if( VIDPROFITS_DEBUG )
678	    console.log('## EXECUTING ACTION: 2) Optin Form!');
679
680	if (action.pause_video) {
681		player.pause();
682		vidprofits_show_overlay( player );
683	}
684	else if( action.show_overlay )
685		vidprofits_show_overlay( player );
686
687	if (action.skippable && action.skip_text != '')
688		skip_el = '<a class="vidprofits-clickable vidprofits-skip-ar nounder" href="#" data-video-id="'+action.video_id+'">'+action.skip_text+'</a>';
689	else if (action.skippable)
690        skip_el = '<a class="vidprofits-clickable vidprofits-skip-ar nounder" href="#" data-video-id="'+action.video_id+'">'+VIDPROFITS_DEFAULT_CLOSEBTN+'</a>';
691    else {
692		skip_el = '';
693    }
694   	vidprofits_disable_controls( player );
695
696	var html_el = '';
697
698	position = action.position ? action.position : 1;
699
700	ar_form = vidprofits_get_ar_form_html( player, action );
701	html_el += ar_form;
702	html_el += '<div class="vk-optin-thank-you">'+action.thankyou_txt+'</div>';
703	html_el += skip_el;
704
705	extra_layer.find('.mep_content').append('<div class="vidprofits_optin_form">'+html_el+'</div>');
706
707	var anim_class = (action.entry_anim && (action.entry_anim != 0 ) ) ? 'animated '+action.entry_anim : '';
708	if( anim_class != '' &&  anim_class != 0 )
709    	extra_layer.find('.mep_content').show().find('.vk-optin-form').addClass(anim_class).css('');
710
711	extra_layer.find('.mep_content').show();
712
713	if ( action.hide_after )
714		hide_after = (action.hide_after) * 1000;
715	else
716		hide_after = 0;
717
718	if (hide_after)
719		myVar = setTimeout(function(){ vidprofits_playvideo_do_hide_optinform( player, action ); }, hide_after);
720
721	extra_layer.show();
722}
723
724function vidprofits_get_ar_form_html( player, action ) {
725	str_ret = '';
726	if( action.name_label == '' || !action.name_label )
727		action.name_label = 'Name';
728	if( action.email_label == '' || !action.email_label )
729		action.email_label = 'Email';
730	if( action.button_label == '' || !action.button_label )
731		action.button_label = 'Submit';
732
733	if ( action.ar_type == 10 )
734		str_ret = '<div class="vk-optin-form2"><div class="vk-custom-optin">'+vidprofits_decode_entities( action.ar_html_code )+'</div></div>';
735	else {
736		style = action.style ? action.style : 1;
737		str_ret += '<div class="vk-optin-form vk-style'+style+'"><div class="voptin-header"></div><div class="voptin-body">';
738		if (action.headline_label && action.headline_label != '')
739			str_ret += '<p class="vk-optin-txt">'+action.headline_label+'</p>';
740
741		str_ret += '<div class="vk-optin-fields">';
742		if (action.display_name) {
743			str_ret += '<label class="vk-optin-label">'+action.name_label+'</label>'+
744			'<input name="name" type="text" size="12" class="vk-optin-field vk-name vidprofits-clickable" placeholder="'+action.name_label+'">';
745		}
746
747		str_ret += 	'<label class="vk-optin-label">'+action.email_label+'</label>'+
748			'<input name="email" type="email" size="12" class="vk-optin-field vk-email vidprofits-clickable" placeholder="'+action.email_label+'">'+
749			'</div>'+
750			'<div class="vk-optin-bottom">'+
751			'<a class="vk-submit-button vidprofits-clickable" href="#" data-video-id="'+action.video_id+'" data-action-id="'+action.action_id+'">'+action.button_label+'</a>'+
752			'</div>'+
753			'</div><div class="voptin-footer"></div></div>';
754
755	}
756	return str_ret;
757}
758
759function vidprofits_playvideo_do_hide_optinform( player, action ) {
760	player_id = vidprofits_get_video_id( player );
761	extra_layer = vidprofits_get_extra_layer( player );
762    jQuery('.mep_lightbox').hide();
763	extra_layer.find('.mep_content .vidprofits_optin_form').remove();
764	vidprofits_hide_overlay(player);
765	vidprofits_enable_controls(player);
766    media = player.media;
767    if( media.paused && media.currentTime != 0 )
768        media.play();
769}
770
771/* 3. CTA */
772function vidprofits_do_action_cta( player, action ) {
773	player_id = vidprofits_get_video_id( player );
774	extra_layer = vidprofits_get_extra_layer( player );
775    if( VIDPROFITS_DEBUG )
776	    console.log('## EXECUTING ACTION: 2) CTA!');
777	position = action.position ? action.position : 1;
778    style = action.style ? action.style : 1;
779	new_window = action.new_window ? ' target="_blank" ' : '';
780
781    if (action.pause_video) {
782        player.pause();
783    }
784
785    if( action.show_overlay ) {
786		vidprofits_show_overlay( player );
787		vidprofits_disable_controls( player );
788    }
789
790    extra_el2 = '';
791    if( action.hide_click)
792    	extra_el2 = ' data-hideclick="true" ';
793
794    color_style = '';
795    if( action.headline_color )
796    	color_style = ' style="color:'+action.headline_color+'" ';
797
798    var cta_button = '<span class="cta_headline"'+color_style+'>'+action.headline+'</span><a '+new_window+extra_el2+' class="vidprofits-cta nounder" href="'+action.button_link+'" style="text-decoration:none"><span class="vk-cta-button ckb'+style+'">'+action.button_label+'</span></a>';
799
800	extra_layer.find('.mep_content').append('<div class="cta vidprofits-pos-'+position+'">'+cta_button+'</div>');
801
802	var anim_class = (action.entry_anim && (action.entry_anim != 0 ) ) ? 'animated '+action.entry_anim : '';
803	if( anim_class != '' &&  anim_class != 0 )
804    	extra_layer.find('.mep_content').show().find('.cta').addClass(anim_class).css('');
805
806	extra_layer.find('.mep_content').show();
807
808	if ( action.hide_after )
809		hide_after = (action.hide_after) * 1000;
810	else
811		hide_after = 0;
812
813	if (hide_after)
814		myVar = setTimeout(function(){ vidprofits_playvideo_do_hide_cta( player, action ); }, hide_after);
815	extra_layer.show();
816}
817
818function vidprofits_playvideo_do_hide_cta( player, action ) {
819    player_id = vidprofits_get_video_id( player );
820    extra_layer = vidprofits_get_extra_layer( player );
821    jQuery('.mep_lightbox').hide();
822    extra_layer.find('.mep_content .cta').remove();
823    vidprofits_hide_overlay(player);
824    vidprofits_enable_controls(player);
825    media = player.media;
826    if( media.paused && media.currentTime != 0 )
827        media.play();
828}
829
830
831/* 4. Banner */
832
833function vidprofits_do_action_banner( player, action ) {
834	player_id = vidprofits_get_video_id( player );
835	extra_layer = vidprofits_get_extra_layer( player );
836    if( VIDPROFITS_DEBUG )
837	    console.log('## EXECUTING ACTION: 4) BAnner!');
838	position = action.position ? action.position : 1;
839	new_window = action.new_window ? ' target="_blank" ' : '';
840
841
842    if (action.pause_video) {
843        player.pause();
844    }
845
846    if( action.show_overlay ) {
847		vidprofits_show_overlay( player );
848		vidprofits_disable_controls( player )
849    }
850
851	if( action.skippable )
852	    skip_el = '<a class="vidprofits-clickable vidprofits-skip-amazon nounder" href="#" data-video-id="'+action.video_id+'">'+VIDPROFITS_DEFAULT_CLOSEBTN+'</a>';
853	else
854		skip_el = '';
855
856	extra_el2 = '';
857	if( action.hide_click)
858		extra_el2 = ' data-hideclick="true" ';
859
860	link = action.link ? action.link : '#';
861    var banner = '<a '+new_window+extra_el2+' class="vidprofits-banner nounder" href="'+link+'" style="text-decoration:none;display:inline-block"><img data-do-preload="1" class="vpr-bn-img" src="'+action.image+'" /></a>';
862
863	extra_layer.find('.mep_content').append('<div class="vidprofits_banner vidprofits-pos-'+position+'"><div class="vidprofits-banner-el">'+banner+skip_el+'</div></div>');
864	extra_layer.find('.mep_content').show();
865
866	var anim_class = (action.entry_anim && (action.entry_anim != 0 ) ) ? 'animated '+action.entry_anim : '';
867	if( anim_class != '' &&  anim_class != 0 )
868    	extra_layer.find('.mep_content').show().find('.vidprofits-banner-el').addClass(anim_class).css('');
869
870	extra_layer.find('.mep_content').show();
871
872	if ( action.hide_after )
873		hide_after = (action.hide_after) * 1000;
874	else
875		hide_after = 0;
876	if (hide_after)
877		myVar = setTimeout(function(){ vidprofits_playvideo_do_hide_banner( player, action ); }, hide_after);
878	extra_layer.show();
879}
880
881function vidprofits_playvideo_do_hide_banner( player, action ) {
882    player_id = vidprofits_get_video_id( player );
883    extra_layer = vidprofits_get_extra_layer( player );
884    jQuery('.mep_lightbox').hide();
885    extra_layer.find('.mep_content .vidprofits_banner').remove();
886    vidprofits_hide_overlay(player);
887    vidprofits_enable_controls(player);
888    media = player.media;
889    if( media.paused && media.currentTime != 0 )
890        media.play();
891}
892
893
894/* 5 Like Us */
895function vidprofits_do_action_likeus( player, action ) {
896	player_id = vidprofits_get_video_id( player );
897	extra_layer = vidprofits_get_extra_layer( player );
898    if( VIDPROFITS_DEBUG )
899	    console.log('## EXECUTING ACTION: 5) Like Us!');
900
901	if (action.pause_video) {
902		player.pause();
903	}
904
905	if (action.header_text && action.header_text != '')
906		header_text = '<span class="vk_likeus_header">'+action.header_text+'</span>';
907	else
908		header_text = '';
909
910    var social_networks = new Array( 'facebook', 'twitter', 'googleplus', 'linkedin' );
911    html_likeus = '';
912    for (i=0;i<4;i++) {
913        if ( undefined != action[social_networks[i]] ) {
914            html_likeus += vidprofits_likeus_el( social_networks[i], action);
915        }
916    }
917
918    var likeus = '<div class="vk_likeus_buttons">'+header_text+'<div class="vk_buttons vidprofits-clickable">'+html_likeus+'</div></div>';
919
920	if (action.skippable) {
921		if( action.skip_text == '')
922			action.skip_text = VIDPROFITS_DEFAULT_CLOSEBTN;
923		likeus += '<a class="vidprofits-clickable vidprofits-skip-likeus nounder" href="#" data-video-id="'+action.video_id+'">'+action.skip_text+'</a>';
924	}
925
926   	vidprofits_disable_controls( player );
927
928    if( action.show_overlay )
929    	vidprofits_show_overlay( player );
930
931	extra_layer.find('.mep_content').append('<div class="vidprofits_likeus">'+likeus+'</div>');
932	extra_layer.find('.mep_content').show();
933
934	var anim_class = (action.entry_anim && (action.entry_anim != 0 ) ) ? 'animated '+action.entry_anim : '';
935	if( anim_class != '' &&  anim_class != 0 )
936        extra_layer.find('.mep_content').show().find('.vidprofits_likeus').addClass(anim_class).css('');
937
938
939	if ( action.hide_after )
940		hide_after = (action.hide_after) * 1000;
941	else
942		hide_after = 0;
943	if (hide_after)
944		myVar = setTimeout(function(){ vidprofits_playvideo_do_hide_likeus( player, action ); }, hide_after);
945	extra_layer.show();
946    setTimeout(vprofits_follow_iframes, 4000);
947}
948
949function vidprofits_playvideo_do_hide_likeus( player, action ) {
950	player_id = vidprofits_get_video_id( player );
951	extra_layer = vidprofits_get_extra_layer( player );
952	// extra_layer.find('.mep_content').html('<a class="vidprofits-skip-video" data-video-id="'+player_id+'">'+action.skip_text+'</a>');
953    vidprofits_hide_overlay( player );
954    vidprofits_enable_controls( player );
955	extra_layer.find('.mep_content .vidprofits_likeus').remove();
956	vidprofits_hide_overlay( player );
957}
958
959function vidprofits_likeus_el( network, action ) {
960
961	if (action.share_what == 2) {
962		shared_url = action.share_url;
963	}
964	else
965		shared_url = document.location;
966
967    var html_likeus = Array();
968    html_likeus['facebook'] =  '<div class="facebook button vidprofits-clickable">'+
969    '   <i class="fa fa-facebook"></i>'+
970    '   <div class="social-container fb">'+
971    '       <div class="slide">'+
972    '           <iframe src="//www.facebook.com/plugins/like.php?href='+shared_url+'%2Flike&amp;send=false&amp;layout=button_count&amp;width=90&amp;show_faces=false&amp;font&amp;colorscheme=light&amp;action=like&amp;height=21&amp;appId=568581339861351" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:81px; height:21px;" allowtransparency="true">'+
973    '           </iframe>'+
974    '       </div>'+
975    '        Facebook'+
976    '   </div>'+
977    '</div>';
978
979    html_likeus['twitter'] = '<div class="twitter button vidprofits-clickable">'+
980    '   <i class="fa fa-twitter"></i>'+
981    '   <div class="social-container tw">'+
982    '       <div class="slide">'+
983    '           <a href="https://twitter.com/share" data-url="'+shared_url+'" class="twitter-share-button">'+
984    '           Tweet </a>'+
985    '           <script>'+
986    '    !function(d,s,id){'+
987    '      var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?\'http\':\'https\';'+
988    '      if(!d.getElementById(id)){'+
989    '        js=d.createElement(s);'+
990    '        js.id=id;'+
991    '        js.src=p+\'://platform.twitter.com/widgets.js\';fjs.parentNode.insertBefore(js,fjs);}}(document, \'script\', \'twitter-wjs\');'+
992    '  </script>'+
993    '       </div>'+
994    '        Twitter'+
995    '   </div>'+
996    '</div>';
997
998    html_likeus['googleplus'] = '<div class="google button vidprofits-clickable">'+
999    '   <i class="fa fa-google-plus"></i>'+
1000    '   <div class="social-container tw">'+
1001    '       <div class="slide">'+
1002    '           <div class="g-plusone" data-size="medium" data-href="'+shared_url+'" data-callback="gplus_clicked">'+
1003    '           </div>'+
1004    '           <script type="text/javascript">'+
1005    '    (function() {'+
1006    '      var po = document.createElement(\'script\');'+
1007    '      po.type = \'text/javascript\';'+
1008    '      po.async = true;'+
1009    '      po.src = \'https://apis.google.com/js/plusone.js\';'+
1010    '      var s = document.getElementsByTagName(\'script\')[0];'+
1011    '      s.parentNode.insertBefore(po, s);'+
1012    '    }'+
1013    '    )();'+
1014    '  </script>'+
1015    '       </div>'+
1016    '        Google+'+
1017    '   </div>'+
1018    '</div>';
1019
1020    html_likeus['linkedin'] = '<div class="linkedin button vidprofits-clickable">'+
1021    '   <i class="fa fa-linkedin"></i>'+
1022    '   <div class="social-container tw">'+
1023    '       <div class="slide">'+
1024    '           <script src="//platform.linkedin.com/in.js" type="text/javascript">'+
1025    ' lang: en_US'+
1026    '           </script>'+
1027    '           <script type="IN/Share" data-url="'+shared_url+'"></script>'+
1028    '       </div>'+
1029    '        LinkedIN'+
1030    '   </div>'+
1031    '</div>';
1032
1033    return html_likeus[network];
1034}
1035
1036
1037/* 6. Element below video */
1038function vidprofits_do_action_belowvideo( player, action ) {
1039    // player_id = vidprofits_get_video_id( player );
1040    mejs_id = vidprofits_get_mejs_id( player );
1041    
1042    if (action.pause_video) {
1043        player.pause();
1044    }
1045
1046    jQuery('#vprofits_below_'+mejs_id).slideDown();
1047
1048    if ( action.hide_after )
1049        hide_after = (action.hide_after) * 1000;
1050    else
1051        hide_after = 0;
1052
1053    if (hide_after)
1054        myVar = setTimeout(function(){ vidprofits_playvideo_do_hide_belowvideo( player, action ); }, hide_after);
1055}
1056
1057function vidprofits_playvideo_do_hide_belowvideo( player, action ) {
1058    mejs_id = vidprofits_get_mejs_id( player );
1059    jQuery('#vprofits_below_'+mejs_id).slideUp();
1060	
1061    // jQuery('#'+action.el_id).slideUp();
1062}
1063
1064
1065/* 7. Play Another Video */
1066function vidprofits_do_action_playvideo( player, action ) {
1067    if( VIDPROFITS_DEBUG )
1068	    console.log('## EXECUTING ACTION: Play Video!');
1069	player.pause();
1070	container_el = jQuery( player.container ).closest('.wp-video')
1071	mejs_id = container_el.attr('data-me-id')
1072	/*vidprofits_vsettings[action.video_id].current_time = player.media.currentTime;
1073	vidprofits_vsettings[action.video_id].playing_original = false;
1074	vidprofits_vsettings[action.video_id].do_seek = true;*/
1075
1076	vp_os_vids[mejs_id]['settings'].current_time = player.media.currentTime;
1077	vp_os_vids[mejs_id]['settings'].playing_original = false;
1078	vp_os_vids[mejs_id]['settings'].do_seek = true;
1079
1080	var new_vid = action.video;
1081	new_vid = vidprofits_add_url_param( new_vid, 'rel', 0 );
1082	new_vid = vidprofits_add_url_param( new_vid, 'controls', 0 );
1083	new_vid = vidprofits_add_url_param( new_vid, 'showinfo', 0 );
1084	player.setSrc( new_vid );
1085	player.load(); // load it - this is needed!!
1086	player.play(); // load it - this is needed!!
1087	vidprofits_playvideo_showskip( player, action );
1088}
1089
1090function vidprofits_playvideo_showskip( player, action ) {
1091	if (action.skippable) {
1092		if ( action.skippable_after )
1093			skip_time = ((+action.skippable_after) +1) * 1000;
1094		else
1095			skip_time = 0;
1096		myVar = setTimeout(function(){ vidprofits_playvideo_do_showskip( player, action ); }, skip_time);
1097	}
1098}
1099
1100function vidprofits_playvideo_do_showskip( player, action ) {
1101	player_id = vidprofits_get_video_id( player );
1102	extra_layer = vidprofits_get_extra_layer( player );
1103	extra_layer.find('.mep_content').html('<a class="vidprofits-skip-video" data-video-id="'+player_id+'">'+action.skip_text+'</a>');
1104	extra_layer.find('.mep_content').show();
1105	extra_layer.show();
1106}
1107
1108
1109/* 8. Annotation */
1110function vidprofits_do_action_annotation( player, action ) {
1111	// player_id = vidprofits_get_video_id( player );
1112	extra_layer = vidprofits_get_extra_layer( player );
1113    if( VIDPROFITS_DEBUG )
1114	    console.log('## EXECUTING ACTION: 8) annotation!');
1115
1116	position = action.position ? action.position : 1;
1117	style = action.style ? action.style : 1;
1118
1119	bg_color = action.bg_color ? action.bg_color : '#000000';
1120	text_color = action.text_color ? action.text_color : '#ffffff';
1121
1122	new_window = action.new_window ? ' target="_blank" ' : '';
1123	a_el_open = action.clickable ? '<a class="vidprofits-annotation-button 
1123nounder" style="color:'+text_color+' " href="'+action.link+'"'+new_window+'>' : '';
1124	a_el_close = action.clickable ? '</a>' : '';
1125
1126	if( action.skippable )
1127        skip_el = '<a class="vidprofits-clickable vidprofits-skip-ann nounder" href="#" data-video-id="'+action.video_id+'">'+VIDPROFITS_DEFAULT_CLOSEBTN+'</a>';
1128    else
1129    	skip_el = '';
1130
1131	if( action.show_overlay )
1132		vidprofits_show_overlay( player );
1133
1134    var annotation_button = a_el_open+'<span class="ckb'+style+'">'+action.text+'</span>'+a_el_close;
1135
1136	extra_layer.find('.mep_content').append('<div style="background-color:'+bg_color+' ;color:'+text_color+' " class="vidprofits-annotation-el vidprofits-pos-'+position+'">'+skip_el+annotation_button+'</div>');
1137	extra_layer.find('.mep_content').show();
1138
1139	var anim_class = (action.entry_anim && (action.entry_anim != 0 ) ) ? 'animated '+action.entry_anim : '';
1140	if( anim_class != '' &&  anim_class != 0 )
1141        extra_layer.find('.mep_content').show().find('.vidprofits-annotation-el').addClass(anim_class).css('');
1142
1143	if ( action.hide_after )
1144		hide_after = (action.hide_after) * 1000;
1145	else
1146		hide_after = 0;
1147	if (hide_after)
1148		myVar = setTimeout(function(){ vidprofits_playvideo_do_hide_annotation( player, action ); }, hide_after);
1149	extra_layer.show();
1150}
1151
1152function vidprofits_playvideo_do_hide_annotation( player, action ) {
1153	player_id = vidprofits_get_video_id( player );
1154	extra_layer = vidprofits_get_extra_layer( player );
1155	vidprofits_hide_overlay( player );
1156	vidprofits_enable_controls( player );
1157	extra_layer.find('.mep_content .vidprofits-annotation-el').remove();
1158}
1159
1160
1161/* 9: HTML */
1162function vidprofits_do_action_html( player, action ) {
1163	player_id = vidprofits_get_video_id( player );
1164	extra_layer = vidprofits_get_extra_layer( player );
1165    if( VIDPROFITS_DEBUG )
1166	    console.log('## EXECUTING ACTION: 8) html!');
1167
1168    if (action.pause_video) {
1169        player.pause();
1170    }
1171
1172    if( action.show_overlay ) {
1173		vidprofits_show_overlay( player );
1174		vidprofits_disable_controls( player );
1175    }
1176
1177    var html_button = vidprofits_decode_entities( action.html );
1178
1179    if (action.skippable && action.skip_text != '')
1180        skip_el = '<a class="vidprofits-clickable vidprofits-skip-html nounder" href="#" data-video-id="'+action.video_id+'">'+action.skip_text+'</a>';
1181    else if (action.skippable)
1182        skip_el = '<a class="vidprofits-clickable vidprofits-skip-html nounder" href="#" data-video-id="'+action.video_id+'">'+VIDPROFITS_DEFAULT_CLOSEBTN+'</a>';
1183    else
1184        skip_el = '';
1185
1186    position = action.position ? action.position : 1;
1187
1188	extra_layer.find('.mep_content').append('<div class="vidprofits-html-el vidprofits-pos-'+position+'"><div class="vidprofits-html-el-inner">'+html_button+skip_el+'</div></div>');
1189	extra_layer.find('.mep_content').show();
1190
1191    var anim_class = (action.entry_anim && (action.entry_anim != 0 ) ) ? 'animated '+action.entry_anim : '';
1192    if( anim_class != '' &&  anim_class != 0 )
1193        extra_layer.find('.mep_content').show().find('.vidprofits-html-el-inner').addClass(anim_class).css('');
1194
1195	if ( action.hide_after )
1196		hide_after = (action.hide_after) * 1000;
1197	else
1198		hide_after = 0;
1199	if (hide_after)
1200		myVar = setTimeout(function(){ vidprofits_playvideo_do_hide_html( player, action ); }, hide_after);
1201	extra_layer.show();
1202}
1203
1204function vidprofits_playvideo_do_hide_html( player, action ) {
1205	player_id = vidprofits_get_video_id( player );
1206	extra_layer = vidprofits_get_extra_layer( player );
1207	vidprofits_hide_overlay( player );
1208	vidprofits_enable_controls( player );
1209	// extra_layer.find('.mep_content').html('<a class="vidprofits-skip-video" data-video-id="'+player_id+'">'+action.skip_text+'</a>');
1210	extra_layer.find('.mep_content .vidprofits-html-el').remove();
1211	media = player.media;
1212	if( media.paused && media.currentTime != 0 )
1213	    media.play();
1214}
1215
1216
1217/* 10. Click to Call */
1218function vidprofits_do_action_clicktocall( player, action ) {
1219	player_id = vidprofits_get_video_id( player );
1220	extra_layer = vidprofits_get_extra_layer( player );
1221    if( VIDPROFITS_DEBUG )
1222	    console.log('## EXECUTING ACTION: 10) Click to Call!');
1223
1224    if (action.pause_video) {
1225        player.pause();
1226    }
1227
1228	position = action.position ? action.position : 1;
1229    if( action.call_type && action.call_type == 2)
1230        callme = 'skype:'+action.skype;
1231    else
1232        callme = 'tel:'+action.telephone;
1233
1234	extra_layer.find('.mep_content').append('<div class="clicktocall vidprofits-pos-'+position+'"><a class="nounder" style="display:inline-block" href="'+callme+'" class="vidprofits-clicktocall  " data-video-id="'+player_id+'"><img style="display:inline-block;" src="'+vidprofits_video.url+'/img/fe/ctcall.png" /></a></div>');
1235	extra_layer.find('.mep_content').show();
1236
1237    var anim_class = (action.entry_anim && (action.entry_anim != 0 ) ) ? 'animated '+action.entry_anim : '';
1238    if( anim_class != '' &&  anim_class != 0 )
1239        extra_layer.find('.mep_content').show().find('.clicktocall').addClass(anim_class).css('');
1240
1241    extra_layer.find('.mep_content').show()
1242
1243    if ( action.hide_after )
1244        hide_after = (action.hide_after) * 1000;
1245    else
1246        hide_after = 0;
1247    if (hide_after)
1248        myVar = setTimeout(function(){ vidprofits_playvideo_do_hide_clicktocall( player, action ); }, hide_after);
1249    extra_layer.show();
1250
1251}
1252
1253function vidprofits_playvideo_do_hide_clicktocall( player, action ) {
1254    player_id = vidprofits_get_video_id( player );
1255    extra_layer = vidprofits_get_extra_layer( player );
1256    jQuery('.mep_lightbox').hide();
1257    extra_layer.find('.mep_content .clicktocall').remove();
1258    vidprofits_hide_overlay(player);
1259    media = player.media;
1260    if( media.paused && media.currentTime != 0 )
1261        media.play();
1262}
1263
1264
1265/* 11. Amazon Ads */
1266function vidprofits_do_action_amazon( player, action ) {
1267    player_id = vidprofits_get_video_id( player );
1268    extra_layer = vidprofits_get_extra_layer( player );
1269    if( VIDPROFITS_DEBUG )
1270        console.log('## EXECUTING ACTION: 11) Amazon Ads!');
1271    position = action.position ? action.position : 1;
1272
1273    if (action.pause_video) {
1274        player.pause();
1275    }
1276
1277    if( action.show_overlay ) {
1278		vidprofits_show_overlay( player );
1279		vidprofits_disable_controls( player );
1280    }
1281
1282    var amazon_ads = '<div class="vp_am_ads"><a class="vp_am_close vidprofits-clickable vidprofits-skip-amazon nounder" data-video-id="'+player_id+'" href="#">'+VIDPROFITS_DEFAULT_CLOSEBTN+
1283            '</a><div class="vp_am_ads_inner">';
1284    var num_prods = (action.num_ads && action.num_ads != '0')  ? action.num_ads : action.amazon_prods.length;
1285
1286    if( num_prods ) {
1287        for( i=0; i<num_prods; i++) {
1288            url = decodeURIComponent ( action.amazon_prods[i].url );
1289            amazon_ads += '<div class="vp_am"><img src="'+vidprofits_video.url+'/img/a-logo-amazon.png" class="vp_am_il" /><a class="nounder" href="'+url+'" target="_blank">'+
1290            '<img class="vp_am_i" src="'+action.amazon_prods[i].image+'"/></a><span class="vp_am_t"><a class="vp_am_lt nounder" href="'+url+'" target="_blank">'+
1291            action.amazon_prods[i].name+'</a></span><a class="vp_am_l nounder" href="'+url+'" target="_blank">Buy Now</a></div>';
1292
1293        }
1294    }
1295    amazon_ads += '</div></div>';
1296    extra_layer.find('.mep_content').append('<div class="vidprofits-amads vidprofits-pos-'+position+'">'+amazon_ads+'</div>');
1297
1298    var anim_class = (action.entry_anim && (action.entry_anim != 0 ) ) ? 'animated '+action.entry_anim : '';
1299    if( anim_class != '' &&  anim_class != 0 )
1300        extra_layer.find('.mep_content').show().find('.vidprofits-amads').addClass(anim_class).css('');
1301
1302    extra_layer.find('.mep_content').show();
1303
1304    if ( action.hide_after )
1305        hide_after = (action.hide_after) * 1000;
1306    else
1307        hide_after = 0;
1308    if (hide_after)
1309        myVar = setTimeout(function(){ vidprofits_playvideo_do_hide_amads( player, action ); }, hide_after);
1310
1311    extra_layer.show();
1312
1313    extra_args = [];
1314    if( action.slideshow ) {
1315        jQuery('.vp_am_ads_inner').slick( {dots: false, adaptiveHeight: false, autoplay: true, autoplaySpeed: 2000} );
1316    }
1317    else
1318        jQuery('.vp_am_ads_inner').slick( {dots: false, adaptiveHeight: false} );
1319}
1320
1321function vidprofits_playvideo_do_hide_amads( player, action ) {
1322    player_id = vidprofits_get_video_id( player );
1323    extra_layer = vidprofits_get_extra_layer( player );
1324    jQuery('.mep_lightbox').hide();
1325    extra_layer.find('.mep_content .vp_am_ads').remove();
1326    vidprofits_hide_overlay(player);
1327	vidprofits_enable_controls( player );
1328
1329    media = player.media;
1330    if( media.paused && media.currentTime != 0 )
1331        media.play();
1332}
1333
1334
1335/* 12. Survey */
1336function vidprofits_do_action_survey( player, action ) {
1337	if( VIDPROFITS_DEBUG )
1338	    console.log('## EXECUTING ACTION: 12) Survey');
1339
1340	player_id = vidprofits_get_video_id( player );
1341	extra_layer = vidprofits_get_extra_layer( player );
1342
1343	if (action.pause_video) {
1344	    player.pause();
1345	}
1346
1347	if( action.show_overlay ) {
1348		vidprofits_show_overlay( player );
1349		vidprofits_disable_controls( player );
1350	}
1351
1352	if( action.skippable )
1353		close_txt = '<a class="vp_survey_close vidprofits-clickable vidprofits-skip-survey nounder" data-video-id="'+player_id+'" href="#">'+VIDPROFITS_DEFAULT_CLOSEBTN+
1354	        '</a>';
1355	else
1356		close_txt = '';
1357
1358	// build survey html
1359	html = '<div class="vp-survey-el">';
1360	html += '<span class="surv-title">'+action.text+'</span>';
1361	na = Object.keys(action.answers).length
1362	html += '<div class="surv-answers">';
1363
1364	if( na ) {
1365		for( i = 1; i <= na; i++ ) {
1366			// console.log(action.answers[i])
1367			if( action.answers[i].action == 1 ) // open url
1368				html += '<a class="surv-ans" target="_blank" href="'+action.answers[i].extra+'" data-action="'+action.answers[i].action+'" data-extra="'+action.answers[i].extra+'">'+action.answers[i].reply+'</a>';
1369			else
1370				html += '<a class="surv-ans" href="#" data-action="'+action.answers[i].action+'" data-extra="'+action.answers[i].extra+'">'+action.answers[i].reply+'</a>';
1371
1372		}
1373	}
1374	html += '</div></div>';
1375	var survey_txt = '<div class="vp_survey" data-video-id="'+player_id+'">'+html+close_txt+'</div>';
1376	extra_layer.find('.mep_content').append('<div class="vidprofits-survey">'+survey_txt+'</div>');
1377
1378	var anim_class = (action.entry_anim && (action.entry_anim != 0 ) ) ? 'animated '+action.entry_anim : '';
1379	if( anim_class != '' &&  anim_class != 0 )
1380	    extra_layer.find('.mep_content').show().find('.vp-survey-el').addClass(anim_class).css('');
1381
1382	extra_layer.find('.mep_content').show();
1383	extra_layer.show();
1384
1385	if ( action.hide_after )
1386	    hide_after = (action.hide_after) * 1000;
1387	else
1388	    hide_after = 0;
1389
1390	if (hide_after)
1391	    myVar = setTimeout(function(){ vidprofits_playvideo_do_hide_survey( player, action ); }, hide_after);
1392}
1393
1394function vidprofits_survey_exec_action( action, extra, media, player, mejs_id ) {
1395	if( action == 1 ) {
1396		// window.open( extra );
1397		return;
1398	}
1399	else if( action == 2 ) {
1400		// vidprofits_vsettings[video_id].playing_original = false;
1401		vp_os_vids[mejs_id]['settings'].playing_original = false;
1402		player.setSrc( extra );
1403	    player.load();
1404		player.play();
1405	}
1406}
1407
1408function vidprofits_playvideo_do_hide_survey( player, action ) {
1409	player_id = vidprofits_get_video_id( player );
1410	extra_layer = vidprofits_get_extra_layer( player );
1411	extra_layer.find('.mep_content .vidprofits-survey').remove();
1412	vidprofits_hide_overlay( player );
1413	vidprofits_enable_controls( player );
1414	media = player.media;
1415    if( media.paused && media.currentTime != 0 )
1416    	media.play();
1417	extra_layer.find('.mep_content').empty();
1418}
1419
1420
1421/* 13. Click to Tweet */
1422function vidprofits_do_action_cttweet( player, action ) {
1423    player_id = vidprofits_get_video_id( player );
1424    extra_layer = vidprofits_get_extra_layer( player );
1425    if( VIDPROFITS_DEBUG )
1426        console.log('## EXECUTING ACTION: 11) Amazon Ads!');
1427
1428    position = action.position ? action.position : 1;
1429
1430    if (action.pause_video) {
1431        player.pause();
1432    }
1433
1434    if( action.show_overlay ) {
1435		vidprofits_show_overlay( player );
1436		vidprofits_disable_controls( player );
1437    }
1438
1439    tw_url = 'https://twitter.com/share?text='+encodeURIComponent(action.text);
1440    if( action.user && action.user != '' ) {
1441        tw_url += '&via='+action.user;
1442    }
1443
1444    if( action.tw_url && action.tw_url != '' ) {
1445        tw_url += '&url='+encodeURIComponent( action.tw_url );
1446    }
1447
1448    tw_link = '<a href="'+tw_url+'" target="_blank" class="nounder">';
1449    var cttweet_txt = '<div class="vp_ctt"><a class="vp_am_close vidprofits-clickable vidprofits-skip-amazon nounder" data-video-id="'+player_id+'" href="#">'+VIDPROFITS_DEFAULT_CLOSEBTN+
1450            '</a><div class="vp_ctt_t">'+tw_link+action.text+'</a></div>'+
1451        '<span class="vp_ctt_tip">'+tw_link+'<i class="fa fa-twitter" style="color:#00aced"></i> CLICK TO TWEET</a></span></div>';
1452    extra_layer.find('.mep_content').append('<div class="vidprofits-cttweet vidprofits-pos-'+position+'">'+cttweet_txt+'</div>');
1453
1454    var anim_class = (action.entry_anim && (action.entry_anim != 0 ) ) ? 'animated '+action.entry_anim : '';
1455    if( anim_class != '' &&  anim_class != 0 )
1456        extra_layer.find('.mep_content').show().find('.vp_ctt').addClass(anim_class).css('');
1457
1458    extra_layer.find('.mep_content').show();
1459    extra_layer.show();
1460
1461    if ( action.hide_after )
1462        hide_after = (action.hide_after) * 1000;
1463    else
1464        hide_after = 0;
1465
1466    if (hide_after)
1467        myVar = setTimeout(function(){ vidprofits_playvideo_do_hide_cttweet( player, action ); }, hide_after);
1468
1469}
1470
1471function vidprofits_playvideo_do_hide_cttweet( player, action ) {
1472    player_id = vidprofits_get_video_id( player );
1473    extra_layer = vidprofits_get_extra_layer( player );
1474    jQuery('.mep_lightbox').hide();
1475    extra_layer.find('.mep_content .vp_ctt').remove();
1476    vidprofits_hide_overlay(player);
1477	vidprofits_enable_controls( player );
1478    media = player.media;
1479    if( media.paused && media.currentTime != 0 )
1480        media.play();
1481}
1482
1483
1484/* 14. Redirect */
1485function vidprofits_do_action_redirect( player, action ) {
1486    player_id = vidprofits_get_video_id( player );
1487    if (action.pause_video) {
1488        player.pause();
1489    }
1490    url = action.redirect_url;
1491    if( url && url != '') {
1492        if( action.new_window)
1493            window.open( url );
1494        else
1495            document.location = url;
1496    }
1497}
1498
1499
1500
1501/* 15. Full Screen */
1502function vidprofits_do_action_fullscreen( player, action ) {
1503	if( VIDPROFITS_DEBUG )
1504	    console.log('## EXECUTING ACTION: 15) Full Screen!');
1505
1506	player_id = vidprofits_get_video_id( player );
1507
1508	if ( action.hide_after )
1509	    hide_after = (action.hide_after) * 1000;
1510	else
1511	    hide_after = 0;
1512
1513	if (hide_after)
1514	    myVar = setTimeout(function(){ vidprofits_playvideo_do_hide_fullscreen( player, action ); }, hide_after);
1515	player.enterFullScreen();
1516}
1517
1518function vidprofits_playvideo_do_hide_fullscreen( player, action ) {
1519	player.exitFullScreen();
1520}
1521
1522
1523/* 16. Scroll to Video */
1524function vidprofits_do_action_scrolltovid( player, action ) {
1525	if( VIDPROFITS_DEBUG )
1526	    console.log('## EXECUTING ACTION: 16) Scroll to video!');
1527
1528	var offset = action.offset ? action.offset : 20;
1529	if( offset == '')
1530		offset = 20;
1531
1532	jQuery('html,body').animate({
1533	        scrollTop: (jQuery("#"+player.id).offset().top - offset ) },
1534	        'slow');
1535}
1536
1537
1538/* 17. Small Corner Video */
1539function vidprofits_do_action_corner( player, action ) {
1540	if( VIDPROFITS_DEBUG )
1541	    console.log('## EXECUTING ACTION: 17) Corner Video!');
1542
1543	 player_id = vidprofits_get_video_id( player );
1544	 container = jQuery(player.container)
1545
1546	var position = action.position ? action.position : 1;
1547	if( !position || position == '')
1548		position = 1;
1549
1550	container.closest('.wp-video').addClass('doscroll cornerpos'+position).css( "zIndex", 10000 )/*.css( "width", '350px' )*/;
1551
1552	extra_layer = vidprofits_get_extra_layer( player );
1553
1554    extra_layer.find('.mep_content').append('<div class="vidprofits-close-corner"><a class="vidprofits-clickable vidprofits-skip-corner nounder" href="#" data-video-id="'+action.video_id+'">'+VIDPROFITS_DEFAULT_CLOSEBTN+'</a></div>');
1555
1556    extra_layer.find('.mep_content').show();
1557    extra_layer.show();
1558
1559	if ( action.hide_after )
1560	    hide_after = (action.hide_after) * 1000;
1561	else
1562	    hide_after = 0;
1563
1564	if (hide_after)
1565	    myVar = setTimeout(function(){ vidprofits_playvideo_do_hide_corner( player, action ); }, hide_after);
1566}
1567
1568function vidprofits_playvideo_do_hide_corner( player, action ) {
1569	container = jQuery(player.container)
1570	container.closest('.wp-video').removeClass('doscroll cornerpos1 cornerpos2 cornerpos3 cornerpos4');
1571	extra_layer = vidprofits_get_extra_layer( player );
1572	extra_layer.find('.mep_content .vidprofits-close-corner').remove();
1573}
1574
1575
1576/* end actions */
1577
1578function vidprofits_get_extra_layer( player ) {
1579	if( !player )
1580		return false;
1581	layer = jQuery(player.layers).find('.mejs-layer-extra')
1582	return layer;
1583	player_id = vidprofits_get_video_id( player );
1584	return jQuery('div[data-vidprofits-id="'+player_id+'"]').find('.mejs-layer-extra')
1585}
1586
1587function vidprofits_show_overlay( player ) {
1588	extra_layer = vidprofits_get_extra_layer( player );
1589	extra_layer.find('.mep_lightbox').show();
1590}
1591
1592function vidprofits_hide_overlay( player ) {
1593	if( !player ) return;
1594	extra_layer = vidprofits_get_extra_layer( player );
1595	if( extra_layer )
1596		extra_layer.find('.mep_lightbox').hide();
1597}
1598
1599function vidprofits_hide_overlay_from_child( child_el ) {
1600	child_el.closest('.mejs-layer-extra').find('.mep_lightbox').hide();
1601}
1602
1603function vidprofits_show_fake_overlay( player ) {
1604	extra_layer = vidprofits_get_extra_layer( player );
1605	inner = extra_layer.find('.mejs-layer-extra-inner');
1606	inner.css('background-color', '#ccc');
1607	inner.css('opacity', '1');
1608	inner.css('pointer-events', 'all');
1609}
1610
1611function vidprofits_hide_fake_overlay( player ) {
1612	extra_layer = vidprofits_get_extra_layer( player );
1613	inner = extra_layer.find('.mejs-layer-extra-inner');
1614	inner.css('background-color', 'transparent');
1615	inner.css('opacity', '0');
1616	inner.css('pointer-events', 'none');
1617}
1618
1619function vidprofits_hide_fake_overlay_all( ) {
1620	extra_layer = jQuery('.mejs-layer-extra');
1621	inner = extra_layer.find('.mejs-layer-extra-inner');
1622	inner.css('background-color', 'transparent');
1623	inner.css('opacity', '0');
1624	inner.css('pointer-events', 'none');
1625}
1626
1627function vidprofits_disable_controls( player ) {
1628	jQuery(player.controls).addClass('vpr-ctl-h');
1629}
1630
1631function vidprofits_enable_controls( player ) {
1632	if( player.controls.hasClass( 'vpr-ctl-h' ) ) {
1633		player.controls.removeClass( 'vpr-ctl-h' )
1634	}
1635
1636}
1637
1638function vidprofits_enable_controls_from_child( child_el ) {
1639	controls = child_el.closest('.mejs-vidprofits').find('.mejs-controls');
1640	if( controls.hasClass( 'vpr-ctl-h' ) ) {
1641		controls.removeClass( 'vpr-ctl-h' )
1642	}
1643
1644}
1645
1646
1647/**
1648 * jQuery iframe click tracking plugin
1649 *
1650 * @author Vincent Paré (www.finalclap.com)
1651 * @copyright © 2013-2015 Vincent Paré
1652 * @license http://opensource.org/licenses/Apache-2.0
1653 * @version 1.1.0
1654 */
1655(function($){
1656    // Tracking handler manager
1657    $.fn.iframeTracker = function(handler){
1658        var target = this.get();
1659        if (handler === null || handler === false) {
1660            $.iframeTracker.untrack(target);
1661        } else if (typeof handler == "object") {
1662            $.iframeTracker.track(target, handler);
1663        } else {
1664            throw new Error("Wrong handler type (must be an object, or null|false to untrack)");
1665        }
1666    };
1667
1668    // Iframe tracker common object
1669    $.iframeTracker = {
1670        // State
1671        focusRetriever: null,  // Element used for restoring focus on window (element)
1672        focusRetrieved: false, // Says if the focus was retrived on the current page (bool)
1673        handlersList: [],      // Store a list of every trakers (created by calling $(selector).iframeTracker...)
1674        isIE8AndOlder: false,  // true for Internet Explorer 8 and older
1675
1676        // Init (called once on document ready)
1677        init: function(){
1678            // Determine browser version (IE8-) ($.browser.msie is deprecated since jQuery 1.9)
1679            try {
1680                if ($.browser.msie == true && $.browser.version < 9) {
1681                    this.isIE8AndOlder = true;
1682                }
1683            } catch(ex) {
1684                try {
vendor: 4,511 bytes, lines 1685-1785
1685                    var matches = navigator.userAgent.match(/(msie) ([\w.]+)/i);
1686                    if (matches[2] < 9) {
1687                        this.isIE8AndOlder = true;
1688                    }
1689                } catch(ex2) {}
1690            }
1691
1692            // Listening window blur
1693            $(window).focus();
1694            $(window).blur(function(e){
1695                $.iframeTracker.windowLoseFocus(e);
1696            });
1697
1698            // Focus retriever (get the focus back to the page, on mouse move)
1699            $('body').append('<div style="position:fixed; top:0; left:0; overflow:hidden;"><input style="position:absolute; left:-300px;" type="text" value="" id="focus_retriever" readonly="true" /></div>');
1700            this.focusRetriever = $('#focus_retriever');
1701            this.focusRetrieved = false;
1702            $(document).mousemove(function(e){
1703                if (document.activeElement && document.activeElement.tagName == 'IFRAME') {
1704                    $.iframeTracker.focusRetriever.focus();
1705                    $.iframeTracker.focusRetrieved = true;
1706                }
1707            });
1708
1709            // Special processing to make it work with my old friend IE8 (and older) ;)
1710            if (this.isIE8AndOlder) {
1711                // Blur doesn't works correctly on IE8-, so we need to trigger it manually
1712                this.focusRetriever.blur(function(e){
1713                    e.stopPropagation();
1714                    e.preventDefault();
1715                    $.iframeTracker.windowLoseFocus(e);
1716                });
1717
1718                // Keep focus on window (fix bug IE8-, focusable elements)
1719                $('body').click(function(e){ $(window).focus(); });
1720                $('form').click(function(e){ e.stopPropagation(); });
1721
1722                // Same thing for "post-DOMready" created forms (issue #6)
1723                try {
1724                    $('body').on('click', 'form', function(e){ e.stopPropagation(); });
1725                } catch(ex) {
1726					if( VIDPROFITS_DEBUG )
1727	                    console.log("[iframeTracker] Please update jQuery to 1.7 or newer. (exception: " + ex.message + ")");
1728                }
1729            }
1730        },
1731
1732        // Add tracker to target using handler (bind boundary listener + register handler)
1733        // target: Array of target elements (native DOM elements)
1734        // handler: User handler object
1735        track: function(target, handler){
1736            // Adding target elements references into handler
1737            handler.target = target;
1738
1739            // Storing the new handler into handler list
1740            $.iframeTracker.handlersList.push(handler);
1741
1742            // Binding boundary listener
1743            $(target)
1744                .bind('mouseover', {handler: handler}, $.iframeTracker.mouseoverListener)
1745                .bind('mouseout',  {handler: handler}, $.iframeTracker.mouseoutListener);
1746        },
1747
1748        // Remove tracking on target elements
1749        // target: Array of target elements (native DOM elements)
1750        untrack: function(target){
1751            if (typeof Array.prototype.filter != "function") {
1752                console.log("Your browser doesn't support Array filter, untrack disabled");
1753                return;
1754            }
1755
1756            // Unbinding boundary listener
1757            $(target).each(function(index){
1758                $(this)
1759                    .unbind('mouseover', $.iframeTracker.mouseoverListener)
1760                    .unbind('mouseout', $.iframeTracker.mouseoutListener);
1761            });
1762
1763            // Handler garbage collector
1764            var nullFilter = function(value){
1765                return value === null ? false : true;
1766            };
1767            for (var i in this.handlersList) {
1768                // Prune target
1769                for (var j in this.handlersList[i].target) {
1770                    if ($.inArray(this.handlersList[i].target[j], target) !== -1) {
1771                        this.handlersList[i].target[j] = null;
1772                    }
1773                }
1774                this.handlersList[i].target = this.handlersList[i].target.filter(nullFilter);
1775
1776                // Delete handler if unused
1777                if (this.handlersList[i].target.length == 0) {
1778                    this.handlersList[i] = null;
1779                }
1780            }
1781            this.handlersList = this.handlersList.filter(nullFilter);
1782        },
1783
1784        // Target mouseover event listener
1785        mouseoverListener: function(e){
1786            e.data.handler.over = true;
1787            try {e.data.handler.overCallback(this);} catch(ex) {}
1788        },
1789
1790        // Target mouseout event listener
1791        mouseoutListener: function(e){
1792            e.data.handler.over = false;
1793            $.iframeTracker.focusRetriever.focus();
1794            try {e.data.handler.outCallback(this);} catch(ex) {}
1795        },
1796
1797        // Calls blurCallback for every handler with over=true on window blur
1798        windowLoseFocus: function(event){
1799            for (var i in this.handlersList) {
1800                if (this.handlersList[i].over == true) {
1801                    try {this.handlersList[i].blurCallback();} catch(ex) {}
1802                }
1803            }
1804        }
1805    };
1806
1807    // Init the iframeTracker on document ready
1808    $(document).ready(function(){
1809        $.iframeTracker.init();
1810    });
1811})(jQuery);
1812
1813function vprofits_follow_linkedin() {
1814	// none
1815}
1816
1817function vprofits_follow_iframes() {
1818	jQuery('.vk_likeus_buttons iframe').iframeTracker({
1819        blurCallback: function(/* e*/ ){
1820            // player = vidprofits_vsettings[this._videoId].player;
1821			player = vp_os_vids[this._videoId]['player'];
1822
1823            vidprofits_hide_overlay( player );
1824            media = player.media;
1825            if( media.paused && media.currentTime != 0 )
1826                media.play();
1827            like_layer = jQuery('#'+this._playerId).find('.vidprofits_likeus');
1828            setTimeout(vidprofits_do_hide_liked, 1000, like_layer, player );
1829        },
1830        overCallback: function(element){
1831                // console.log('over')
1832                this._playerId = jQuery(element).closest('.mejs-vidprofits.mejs-video').attr('id'); // Saving the iframe wrapper id
1833                this._videoId = jQuery(element).closest('.wp-video').attr('data-me-id'); // Saving the iframe wrapper id
1834        },
1835        outCallback: function(element){
1836            // console.log('out')
1837            this._playerId = null; // Reset hover iframe wrapper id
1838            this._videoId = null; // Reset hover iframe wrapper id
1839        },
1840        _playerId: null,
1841        _videoId: null
1842    });
1843}
1844
1845function vidprofits_do_hide_liked( like_layer, player ) {
1846    like_layer.remove();
1847    vidprofits_hide_fake_overlay( player );
1848    vidprofits_hide_overlay( player );
1849}
1850
1851function vidprofits_add_url_param(url, param, value) {
1852   var a = document.createElement('a'), regex = /(?:\?|&amp;|&)+([^=]+)(?:=([^&]*))*/g;
1853   var match, str = []; a.href = url; param = encodeURIComponent(param);
1854   while (match = regex.exec(a.search))
1855       if (param != match[1]) str.push(match[1]+(match[2]?"="+match[2]:""));
1856   str.push(param+(value?"="+ encodeURIComponent(value):""));
1857   a.search = str.join("&");
1858   return a.href;
1859}
1860
1861function vidprofits_add_video_play_count( video_id ) {
1862	if( !video_id )
1863		return;
1864	var data = {
1865		action: 'vidprofits_increase_view',
1866		video_id: video_id
1867	};
1868	jQuery.post(vidprofits_video.ajaxurl, data, function(response) {});
1869
1870}
1871
1872
1873function vidprofits_add_video_finish_count( video_id ) {
1874	if( !video_id )
1875		return;
1876
1877	var data = {
1878		action: 'vidprofits_increase_finish',
1879		video_id: video_id
1880	};
1881
1882	jQuery.post(vidprofits_video.ajaxurl, data, function(response) {});
1883}
1884
1885function gplus_clicked( e ) {
1886    setTimeout(gplus_remove_layer, 1600);
1887}
1888
1889function gplus_remove_layer() {
1890    jQuery('.vidprofits_likeus').remove();
1891    vidprofits_hide_fake_overlay_all();
1892}
1893
1894function vidprofits_decode_entities(input) {
1895  var y = document.createElement('textarea');
1896  y.innerHTML = input;
1897  return y.value;
1898}
1899
1900function vidprofits_validate_mail( emailAddress ) {
1901  var sQtext = '[^\\x0d\\x22\\x5c\\x80-\\xff]';
1902  var sDtext = '[^\\x0d\\x5b-\\x5d\\x80-\\xff]';
1903  var sAtom = '[^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+';
1904  var sQuotedPair = '\\x5c[\\x00-\\x7f]';
1905  var sDomainLiteral = '\\x5b(' + sDtext + '|' + sQuotedPair + ')*\\x5d';
1906  var sQuotedString = '\\x22(' + sQtext + '|' + sQuotedPair + ')*\\x22';
1907  var sDomain_ref = sAtom;
1908  var sSubDomain = '(' + sDomain_ref + '|' + sDomainLiteral + ')';
1909  var sWord = '(' + sAtom + '|' + sQuotedString + ')';
1910  var sDomain = sSubDomain + '(\\x2e' + sSubDomain + ')*';
1911  var sLocalPart = sWord + '(\\x2e' + sWord + ')*';
1912  var sAddrSpec = sLocalPart + '\\x40' + sDomain; // complete RFC822 email address spec
1913  var sValidEmail = '^' + sAddrSpec + '$'; // as whole string
1914
1915  var reValidEmail = new RegExp(sValidEmail);
1916
1917  return reValidEmail.test(emailAddress);
1918}
1919
1920function vprofits_is_mobile() {
1921	w = jQuery(window).width()
1922	return (  w < 500 );
1923}
1924
1925
1926/* New additions for changed */ 
1927
1928function vidprofits_get_video_actions( video_id, campaign_id, type ) {
1929	if( type == 1 )  {
1930		// Individual video
1931		if ( typeof vidprofits_vsettings !== 'undefined')
1932			return vidprofits_vsettings[ video_id ];
1933	}
1934	else if( type == 2 ) {
1935		// Campaign
1936		if ( typeof vidprofits_csettings !== 'undefined')
1937			return vidprofits_csettings[ campaign_id ];
1938
1939	}
1940	return false;
1941}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.