Last active
April 9, 2021 12:25
-
-
Save psahalot/cf6037b0a5fe7339510d28e615613802 to your computer and use it in GitHub Desktop.
PowerPack for Beaver Countdown JS
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| (function($) { | |
| PPCountdown = function( settings ) | |
| { | |
| this.timer_exp_text = ""; | |
| this.settings = settings; | |
| this.nodeClass = '.fl-node-' + settings.id; | |
| this.id = settings.id; | |
| this.timertype = settings.timertype; | |
| this.timerid = '#countdown-' + settings.id; | |
| this.timer_date = settings.timer_date; | |
| this.timer_format = settings.timer_format; | |
| this.timer_layout = settings.timer_layout; | |
| this.timer_labels = settings.timer_labels; | |
| this.timer_labels_singular = settings.timer_labels_singular; | |
| this.redirect_link = settings.redirect_link; | |
| this.redirect_link_target = settings.redirect_link_target; | |
| this.fixed_timer_action = settings.fixed_timer_action; | |
| this.evergreen_timer_action = settings.evergreen_timer_action; | |
| this.evergreen_date_days = settings.evergreen_date_days; | |
| this.evergreen_date_hours = settings.evergreen_date_hours; | |
| this.evergreen_date_minutes = settings.evergreen_date_minutes; | |
| this.evergreen_date_seconds = settings.evergreen_date_seconds; | |
| this.timezone = settings.time_zone; | |
| if (this.timezone == 'NULL') { | |
| this.timezone = null; | |
| } | |
| if ( settings.timer_exp_text ) { | |
| this.timer_exp_text = settings.timer_exp_text; | |
| } | |
| if( this.timertype == "fixed" ) { | |
| this._initFixedTimer(); | |
| } | |
| if( this.timertype == "evergreen" ) { | |
| var currdate = ''; | |
| var timevar = 0; | |
| if( $.cookie( "countdown-" + settings.id) == undefined ) { | |
| $.cookie( "countdown-" + settings.id, true); | |
| $.cookie( "countdown-" + settings.id + "-currdate", new Date()); | |
| $.cookie( "countdown-" + settings.id + "-day", this.evergreen_date_days); | |
| $.cookie( "countdown-" + settings.id + "-hour", this.evergreen_date_hours); | |
| $.cookie( "countdown-" + settings.id + "-min", this.evergreen_date_minutes); | |
| $.cookie( "countdown-" + settings.id + "-sec", this.evergreen_date_seconds); | |
| } | |
| currdate = new Date( $.cookie( "countdown-" + settings.id + "-currdate") ); | |
| timevar = ( parseFloat(this.evergreen_date_days*24*60*60) + parseFloat(this.evergreen_date_hours*60*60) + parseFloat(this.evergreen_date_minutes*60) + parseFloat( this.evergreen_date_seconds ) ) * 1000; | |
| currdate.setTime(currdate.getTime() + timevar); | |
| this.timer_date = currdate; | |
| this._initEverGreenTimer(); | |
| } | |
| this._initCountdown(); | |
| }; | |
| PPCountdown.prototype = { | |
| _initCountdown: function() { | |
| fixed_timer_action = this.fixed_timer_action; | |
| settings = this.settings; | |
| var action = ''; | |
| if( this.timertype == "fixed" ) { | |
| action = this.fixed_timer_action; | |
| } else { | |
| action = this.evergreen_timer_action; | |
| } | |
| $.cookie( "countdown-" + settings.id + "expiremsg", null); | |
| $.cookie( "countdown-" + settings.id + "redirect", null); | |
| $.cookie( "countdown-" + settings.id + "redirectwindow", null); | |
| $.cookie( "countdown-" + settings.id + "hide", null); | |
| $.cookie( "countdown-" + settings.id + "reset", null); | |
| $.removeCookie( "countdown-" + settings.id + "expiremsg"); | |
| $.removeCookie( "countdown-" + settings.id + "redirect"); | |
| $.removeCookie( "countdown-" + settings.id + "redirectwindow"); | |
| $.removeCookie( "countdown-" + settings.id + "hide"); | |
| $.removeCookie( "countdown-" + settings.id + "reset"); | |
| if( action == "msg") { | |
| $.cookie( "countdown-" + settings.id + "expiremsg", settings.expire_message, { expires: 365 } ); | |
| } else if( action == "redirect") { | |
| $.cookie( "countdown-" + settings.id + "redirect", settings.redirect_link, { expires: 365 } ); | |
| $.cookie( "countdown-" + settings.id + "redirectwindow", settings.redirect_link_target, { expires: 365 } ); | |
| } else if( action == "hide") { | |
| $.cookie( "countdown-" + settings.id + "hide", "yes", { expires: 365 } ); | |
| } else if( action == 'reset' ) { | |
| $.cookie( "countdown-" + settings.id + "reset", "yes", { expires: 365 } ); | |
| } | |
| }, | |
| _initFixedTimer: function() { | |
| var dateNow = new Date(); | |
| if( ( dateNow.getTime() - this.timer_date.getTime() ) > 0 ) { | |
| if( this.fixed_timer_action == 'msg' ) { | |
| if( parseInt(window.location.href.toLowerCase().indexOf("?fl_builder")) === parseInt(-1) ) { | |
| $( this.timerid ).append(this.timer_exp_text); | |
| } else { | |
| $( this.timerid ).countdown({ | |
| until: this.timer_date, | |
| format: this.timer_format, | |
| layout: this.timer_layout, | |
| labels: this.timer_labels.split(","), | |
| timezone: this.timezone, | |
| labels1: this.timer_labels_singular.split(","), | |
| expiryText: this.timer_exp_text | |
| }); | |
| } | |
| } else if( this.fixed_timer_action == 'redirect' ) { | |
| if( parseInt(window.location.href.toLowerCase().indexOf("?fl_builder")) === parseInt(-1) ) { | |
| window.open( this.redirect_link, this.redirect_link_target ); | |
| } else { | |
| $( this.timerid ).countdown({ | |
| until: this.timer_date, | |
| format: this.timer_format, | |
| layout: this.timer_layout, | |
| labels: this.timer_labels.split(","), | |
| timezone: this.timezone, | |
| labels1: this.timer_labels_singular.split(","), | |
| expiryText: this.timer_exp_text | |
| }); | |
| } | |
| } else if( this.fixed_timer_action == 'hide' ) { | |
| if( parseInt(window.location.href.toLowerCase().indexOf("?fl_builder")) === parseInt(-1) ) { | |
| $( this.timerid ).countdown('destroy'); | |
| $( this.nodeClass ).find('.pp-countdown-title').remove(); | |
| } else { | |
| $( this.timerid ).countdown({ | |
| until: this.timer_date, | |
| format: this.timer_format, | |
| layout: this.timer_layout, | |
| labels: this.timer_labels.split(","), | |
| timezone: this.timezone, | |
| labels1: this.timer_labels_singular.split(","), | |
| expiryText: this.timer_exp_text | |
| }); | |
| } | |
| } else { | |
| $( this.timerid ).countdown({ | |
| until: this.timer_date, | |
| format: this.timer_format, | |
| layout: this.timer_layout, | |
| labels: this.timer_labels.split(","), | |
| timezone: this.timezone, | |
| labels1: this.timer_labels_singular.split(","), | |
| }); | |
| } | |
| } else { | |
| if( this.fixed_timer_action == 'msg' ) { | |
| if( parseInt(window.location.href.toLowerCase().indexOf("?fl_builder")) === parseInt(-1) ) { | |
| $( this.timerid ).countdown({ | |
| until: this.timer_date, | |
| format: this.timer_format, | |
| layout: this.timer_layout, | |
| labels: this.timer_labels.split(","), | |
| timezone: this.timezone, | |
| labels1: this.timer_labels_singular.split(","), | |
| expiryText: this.timer_exp_text, | |
| }); | |
| } else { | |
| $( this.timerid ).countdown({ | |
| until: this.timer_date, | |
| format: this.timer_format, | |
| layout: this.timer_layout, | |
| labels: this.timer_labels.split(","), | |
| timezone: this.timezone, | |
| labels1: this.timer_labels_singular.split(","), | |
| }); | |
| } | |
| } else if( this.fixed_timer_action == 'redirect' ) { | |
| $( this.timerid ).countdown({ | |
| until: this.timer_date, | |
| format: this.timer_format, | |
| layout: this.timer_layout, | |
| labels: this.timer_labels.split(","), | |
| timezone: this.timezone, | |
| labels1: this.timer_labels_singular.split(","), | |
| expiryText: this.timer_exp_text, | |
| onExpiry: this._redirectCounter | |
| }); | |
| } else if( this.fixed_timer_action == 'hide' ) { | |
| $( this.timerid ).countdown({ | |
| until: this.timer_date, | |
| format: this.timer_format, | |
| layout: this.timer_layout, | |
| labels: this.timer_labels.split(","), | |
| timezone: this.timezone, | |
| labels1: this.timer_labels_singular.split(","), | |
| expiryText: this.timer_exp_text, | |
| onExpiry: $.proxy( this._destroyCounter, this ) | |
| }); | |
| } else { | |
| $( this.timerid ).countdown({ | |
| until: this.timer_date, | |
| format: this.timer_format, | |
| layout: this.timer_layout, | |
| labels: this.timer_labels.split(","), | |
| timezone: this.timezone, | |
| labels1: this.timer_labels_singular.split(","), | |
| expiryText: this.timer_exp_text | |
| }); | |
| } | |
| } | |
| }, | |
| _destroyCounter: function() { | |
| if( parseInt(window.location.href.toLowerCase().indexOf("?fl_builder")) === parseInt(-1) ) { | |
| $( this.timerid ).countdown('destroy'); | |
| $( this.nodeClass ).find('.pp-countdown-title').remove(); | |
| } | |
| }, | |
| _redirectCounter: function() { | |
| redirect_link = jQuery.cookie( jQuery(this)[0].id + "redirect" ); | |
| redirect_link_target = jQuery.cookie( jQuery(this)[0].id + "redirectwindow" ); | |
| if( parseInt(window.location.href.toLowerCase().indexOf("?fl_builder")) === parseInt(-1) ) { | |
| window.open( redirect_link, redirect_link_target ); | |
| } else { | |
| return; | |
| } | |
| }, | |
| _initEverGreenTimer: function() { | |
| var dateNow = new Date(); | |
| if( ( dateNow.getTime() - this.timer_date.getTime() ) > 0 ) { | |
| if( this.evergreen_timer_action == 'msg' ) { | |
| var msg = '<div class="pp-countdown-expire-message">' + $.cookie( "countdown-" + this.settings.id + "expiremsg" ) + '</div>'; | |
| if( parseInt(window.location.href.toLowerCase().indexOf("?fl_builder")) === parseInt(-1) ) { | |
| $( this.timerid ).append(msg); | |
| $( this.timerid ).trigger( 'pp_countdown_expired', [ this ] ); | |
| } else { | |
| $( this.timerid ).countdown({ | |
| until: this.timer_date, | |
| format: this.timer_format, | |
| layout: this.timer_layout, | |
| labels: this.timer_labels.split(","), | |
| //timezone: this.timezone, | |
| labels1: this.timer_labels_singular.split(","), | |
| expiryText: msg, | |
| onExpiry: function() { | |
| $( this.timerid ).trigger( 'pp_countdown_expired', [ this ] ); | |
| } | |
| }); | |
| } | |
| } else if( this.evergreen_timer_action == 'redirect' ) { | |
| if( parseInt(window.location.href.toLowerCase().indexOf("?fl_builder")) === parseInt(-1) ) { | |
| window.open( this.redirect_link, this.redirect_link_target ); | |
| } else { | |
| $( this.timerid ).countdown({ | |
| until: this.timer_date, | |
| format: this.timer_format, | |
| layout: this.timer_layout, | |
| labels: this.timer_labels.split(","), | |
| //timezone: this.timezone, | |
| labels1: this.timer_labels_singular.split(","), | |
| onExpiry: this._redirectCounter | |
| }); | |
| } | |
| } else if( this.evergreen_timer_action == 'hide' ) { | |
| if( parseInt(window.location.href.toLowerCase().indexOf("?fl_builder")) === parseInt(-1) ) { | |
| $( this.timerid ).countdown('destroy'); | |
| $( this.nodeClass ).find('.pp-countdown-title').remove(); | |
| } else { | |
| $( this.timerid ).countdown({ | |
| until: this.timer_date, | |
| format: this.timer_format, | |
| layout: this.timer_layout, | |
| labels: this.timer_labels.split(","), | |
| //timezone: this.timezone, | |
| labels1: this.timer_labels_singular.split(","), | |
| onExpiry: $.proxy( this._destroyCounter, this ) | |
| }); | |
| } | |
| } else if( this.evergreen_timer_action == 'reset' ) { | |
| $( this.timerid ).countdown({ | |
| until: this.timer_date, | |
| format: this.timer_format, | |
| layout: this.timer_layout, | |
| labels: this.timer_labels.split(","), | |
| //timezone: this.timezone, | |
| labels1: this.timer_labels_singular.split(","), | |
| onExpiry: this._restartCountdown | |
| }); | |
| } else { | |
| $( this.timerid ).countdown({ | |
| until: this.timer_date, | |
| format: this.timer_format, | |
| layout: this.timer_layout, | |
| labels: this.timer_labels.split(","), | |
| //timezone: this.timezone, | |
| labels1: this.timer_labels_singular.split(","), | |
| }); | |
| } | |
| } else { | |
| if( this.evergreen_timer_action == 'msg' ) { | |
| var msg = '<div class="pp-countdown-expire-message">' + this.settings.expire_message + '</div>'; | |
| if( parseInt(window.location.href.toLowerCase().indexOf("?fl_builder")) === parseInt(-1) ) { | |
| $( this.timerid ).countdown({ | |
| until: this.timer_date, | |
| format: this.timer_format, | |
| layout: this.timer_layout, | |
| labels: this.timer_labels.split(","), | |
| //timezone: this.timezone, | |
| labels1: this.timer_labels_singular.split(","), | |
| expiryText: msg, | |
| onExpiry: function() { | |
| $( this.timerid ).html( msg ); | |
| $( this.timerid ).trigger( 'pp_countdown_expired', [ this ] ); | |
| } | |
| }); | |
| } else { | |
| $( this.timerid ).countdown({ | |
| until: this.timer_date, | |
| format: this.timer_format, | |
| layout: this.timer_layout, | |
| labels: this.timer_labels.split(","), | |
| //timezone: this.timezone, | |
| labels1: this.timer_labels_singular.split(","), | |
| }); | |
| } | |
| } else if( this.evergreen_timer_action == 'redirect' ) { | |
| $( this.timerid ).countdown({ | |
| until: this.timer_date, | |
| format: this.timer_format, | |
| layout: this.timer_layout, | |
| labels: this.timer_labels.split(","), | |
| //timezone: this.timezone, | |
| labels1: this.timer_labels_singular.split(","), | |
| onExpiry: this._redirectCounter | |
| }); | |
| } else if( this.evergreen_timer_action == 'hide' ) { | |
| $( this.timerid ).countdown({ | |
| until: this.timer_date, | |
| format: this.timer_format, | |
| layout: this.timer_layout, | |
| labels: this.timer_labels.split(","), | |
| //timezone: this.timezone, | |
| labels1: this.timer_labels_singular.split(","), | |
| onExpiry: $.proxy( this._destroyCounter, this ) | |
| }); | |
| } else if( this.evergreen_timer_action == 'reset' ) { | |
| $( this.timerid ).countdown({ | |
| until: this.timer_date, | |
| format: this.timer_format, | |
| layout: this.timer_layout, | |
| labels: this.timer_labels.split(","), | |
| //timezone: this.timezone, | |
| labels1: this.timer_labels_singular.split(","), | |
| onExpiry: this._restartCountdown | |
| }); | |
| } else { | |
| $( this.timerid ).countdown({ | |
| until: this.timer_date, | |
| format: this.timer_format, | |
| layout: this.timer_layout, | |
| labels: this.timer_labels.split(","), | |
| //timezone: this.timezone, | |
| labels1: this.timer_labels_singular.split(","), | |
| }); | |
| } | |
| } | |
| }, | |
| _restartCountdown: function() { | |
| $.cookie( "countdown-" + settings.id + "-currdate", new Date()); | |
| currdate = new Date( $.cookie( "countdown-" + settings.id + "-currdate") ); | |
| var evergreen_date_days = $.cookie( "countdown-" + settings.id + "-day" ); | |
| var evergreen_date_hours = $.cookie( "countdown-" + settings.id + "-hour" ); | |
| var evergreen_date_minutes = $.cookie( "countdown-" + settings.id + "-min" ); | |
| var evergreen_date_seconds = $.cookie( "countdown-" + settings.id + "-sec" ); | |
| var timevar = ( parseFloat(evergreen_date_days*24*60*60) + parseFloat(evergreen_date_hours*60*60) + parseFloat(evergreen_date_minutes*60) + parseFloat( evergreen_date_seconds ) ) * 1000; | |
| currdate.setTime(currdate.getTime() + timevar); | |
| this.timer_date = currdate; | |
| jQuery(this).countdown('option', {until: this.timer_date} ); | |
| }, | |
| }; | |
| })(jQuery); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment