function beckend() {
}
beckend.prototype.anypopupInit = function() {
this.imageUpload(); /* It's Image Upload function */
this.soundUpload();
this.getPagesList();
this.soundPreview();
this.deletePopup(); /* Delete popup */
this.titleNotEmpty(); /* Check title is Empty */
this.showThemePicture(); /* Show themes pictures */
this.showEffects(); /* Show effect type */
this.pageAcordion(); /* For page accordion divs */
this.fixedPostionSelection(); /* Functionality for selected position */
this.showInfo(); /* Show description options */
this.opacityRange();
this.subOptionContents();
this.addCountries();
this.showCloseTextFieldForTheme();
this.popupReview();
this.reviewPopup();
this.colorPicekr(); /* Color picker */
this.switchPopupActive();
this.initAccordions();
this.popupPreview();
};
beckend.prototype.switchPopupActive = function() {
var that = this;
jQuery(".anypopup-switch-checkbox").bind('change', function() {
var dataOptions = {};
var popupId = jQuery(this).attr('data-switch-id');
var ajaxNonce = jQuery(this).attr('data-checkbox-ajaxNonce');
dataOptions.ajaxNonce = ajaxNonce;
if(jQuery(this).is(":checked")) {
that.chengePopupStatus('on', popupId, dataOptions);
}
else {
that.chengePopupStatus('off', popupId, dataOptions);
}
});
};
beckend.prototype.chengePopupStatus = function(status, popupId, dataOptions) {
var data = {
action: 'change_popup_status',
ajaxNonce: dataOptions.ajaxNonce,
popupId: popupId,
popupStatus: status
};
jQuery.post(ajaxurl, data, function(response,d) {
});
};
beckend.prototype.colorPicekr = function() {
var that = this;
var anypopupColorPicker = jQuery('.anypopupOverlayColor').wpColorPicker({
change: function() {
var anypopupColorpicker = jQuery(this);
that.changeColor(anypopupColorpicker);
}
});
jQuery(".wp-picker-holder").bind('click',function() {
var selectedInput = jQuery(this).prev().find('.anypopupOverlayColor');
that.changeColor(selectedInput);
});
};
beckend.prototype.changeColor = function(elemet) {
var selectedName = elemet.attr("name");
var elementVal = elemet.val();
if(selectedName == 'countdownNumbersTextColor') {
jQuery("#anypopup-counts-text").remove();
jQuery("body").append("");
}
if(selectedName == 'countdownNumbersBgColor') {
jQuery("#anypopup-counts-style").remove();
jQuery("body").append("");
}
};
beckend.prototype.reviewPopup = function () {
jQuery('#anypopupcolorbox').ready(function () {
jQuery('#anypopupcolorbox').on('anypopupCleanup', function () {
var ajaxNonce = jQuery(this).attr('data-ajaxnonce');
var data = {
action: 'change_review_popup_show_period',
ajaxNonce: ANYPOPUP_AJAX_NONCE
};
jQuery.post(ajaxurl, data, function(response,d) {
jQuery.anypopupcolorbox.close();
});
});
});
};
beckend.prototype.popupReview = function() {
jQuery(".anypopup-dont-show-agin").on("click", function() {
var ajaxNonce = jQuery(this).attr('data-ajaxnonce');
var data = {
action: 'close_review_panel',
ajaxNonce: ajaxNonce
};
jQuery.post(ajaxurl, data, function(response,d) {
});
jQuery( ".anypopup-info-panel-wrapper" ).hide(300);
});
jQuery('.anypopup-info-close').on('click', function() {
jQuery( ".anypopup-info-panel-wrapper" ).hide(300);
});
};
beckend.prototype.checkboxAcordion = function(element) {
if(!element.is(':checked')) {
element.nextAll("div").first().css({'display': 'none'});
}
else {
element.nextAll("div").first().css({'display':'inline-block'});
}
};
beckend.prototype.soundUpload = function () {
var custom_uploader;
jQuery('#js-upload-open-sound-button').click(function(e) {
e.preventDefault();
/* If the uploader object has already been created, reopen the dialog */
if (custom_uploader) {
custom_uploader.open();
return;
}
/* Extend the wp.media object */
custom_uploader = wp.media.frames.file_frame = wp.media({
titleFF: 'Change the sound',
button: {
text: 'Change the sound'
},
library : { type : ['audio/mpeg', 'audio/wav']},
multiple: false
});
/* When a file is selected, grab the URL and set it as the text field's value */
custom_uploader.on('select', function() {
var attachment = custom_uploader.state().get('selection').first().toJSON();
jQuery('#js-upload-open-sound').val(attachment.url);
});
/* Open the uploader dialog */
custom_uploader.open();
});
};
beckend.prototype.soundPreview = function () {
var songValue = 1;
var lastSong = undefined;
jQuery('.anypopup-preview-sound').bind('click', function () {
var uploadFile = jQuery('#js-upload-open-sound').val();
if(typeof lastSong == 'undefined') {
lastSong = new Audio(uploadFile);
}
/*
* songValue == 1 should be song
* songValue == 2 song should be pause
* */
if (songValue == 1) {
lastSong.play();
songValue = 2;
} else if (songValue == 2) {
lastSong.pause();
songValue = 1;
}
lastSong.onended = function () {
lastSong = undefined;
songValue = 1;
}
});
jQuery('#js-upload-open-sound').change(function () {
if(typeof lastSong != 'undefined') {
lastSong.pause();
lastSong = undefined;
}
songValue = 1;
});
jQuery('#reset-to-default').click(function (e) {
e.preventDefault();
if(typeof lastSong != 'undefined') {
lastSong.pause();
lastSong = undefined;
}
songValue = 1;
var defaultSong = jQuery(this).attr('data-default-song');
jQuery('#js-upload-open-sound').val(defaultSong);
});
};
beckend.prototype.imageUpload = function() {
if(jQuery("#js-upload-image").val()) {
jQuery(".show-image-contenier").html("");
jQuery(".show-image-contenier").css({'background-image': 'url("' + jQuery("#js-upload-image").val() + '")'});
}
var custom_uploader;
jQuery('#js-upload-image-button').click(function(e) {
e.preventDefault();
/* If the uploader object has already been created, reopen the dialog */
if (custom_uploader) {
custom_uploader.open();
return;
}
/* Extend the wp.media object */
custom_uploader = wp.media.frames.file_frame = wp.media({
titleFF: 'Choose Image',
button: {
text: 'Choose Image'
},
multiple: false
});
/* When a file is selected, grab the URL and set it as the text field's value */
custom_uploader.on('select', function() {
var attachment = custom_uploader.state().get('selection').first().toJSON();
jQuery(".show-image-contenier").css({'background-image': 'url("' + attachment.url + '")'});
jQuery(".show-image-contenier").html("");
jQuery('#js-upload-image').val(attachment.url);
});
/* Open the uploader dialog */
custom_uploader.open();
});
/* its finish image uploader */
};
beckend.prototype.getPagesList = function() {
jQuery(".anypopup-get-pages-checkbox").bind('change', function() {
if(jQuery(this).is(":checked")) {
$('#allSelectedPages').show();
var popup_id = jQuery(this).attr("data-anypopup-popup-id");
var ajaxNonce = jQuery(this).attr('data-checkbox-ajaxnonce');
var data = {
action: 'get_pages_list',
ajaxNonce: ajaxNonce,
popup_id: popup_id
};
jQuery.post(ajaxurl, data, function(response,d) {
var pagesArray = jQuery.parseJSON(response);
$.each(pagesArray, function(key, value) {
$('#allSelectedPages')
.append($("")
.attr("value",value['ID'])
.text(value['post_title']));
});
});
return false;
}
else {
$('#allSelectedPages').hide();
$('#allSelectedPages').empty();
}
});
return false;
}
beckend.prototype.deletePopup = function() {
jQuery(".anypopup-js-delete-link").bind('click',function() {
var request = confirm("Are you sure?");
if(!request) {
return false;
}
var popup_id = jQuery(this).attr("data-anypopup-popup-id");
var ajaxNonce = jQuery(this).attr('data-ajaxNonce');
var data = {
action: 'delete_popup',
ajaxNonce: ajaxNonce,
popup_id: popup_id
};
jQuery.post(ajaxurl, data, function(response,d) {
location.reload();
});
});
};
beckend.prototype.titleNotEmpty = function() {
jQuery("#add-form").submit(function() {
var popupTitle = jQuery(".anypopup-js-popup-title").val();
if(popupTitle == '' || popupTitle == ' ') {
alert('Please fill in title field');
return false;
}
});
};
beckend.prototype.showThemePicture = function() {
jQuery(".popup_theme_name").bind("mouseover",function(e) {
jQuery('.theme'+jQuery(this).attr("anypopuppoupnumber")+'').css('display', 'block');
});
};
beckend.prototype.showEffects = function() {
var effectTimer = '';
jQuery('select[name="effect"]').bind('change', function() {
if (effectTimer!='') {
clearTimeout(effectTimer);
}
effectTimer = setTimeout(function() {
jQuery("#effectShow").hide();
effectTimer = '';
},1400);
jQuery("#effectShow").removeClass();
jQuery("#effectShow").show();
jQuery("#effectShow").addClass('anypopup-animated '+jQuery(this).val()+'');
});
jQuery('.js-preview-effect').click(function() {
if (effectTimer!='') {
clearTimeout(effectTimer);
}
effectTimer = setTimeout(function() {
jQuery("#effectShow").hide();
effectTimer = '';
},1400);
jQuery("#effectShow").removeClass();
jQuery("#effectShow").show();
jQuery("#effectShow").addClass('anypopup-animated '+jQuery('select[name="effect"] option:selected').val()+'');
});
};
beckend.prototype.pageAcordion = function() {
jQuery("#specialoptionsTitle").toggle(function(){
jQuery('.specialOptionsContent').fadeOut();
jQuery("#specialoptionsTitle > img").css("transform", 'rotate(0deg)');
},function(){
jQuery('.specialOptionsContent').fadeIn();
jQuery("#specialoptionsTitle > img").css("transform", 'rotate(180deg)');
});
function acardionDivs(prama1,param2,param3) {
jQuery(prama1).toggle(function() {
jQuery(param2).addClass('closed');
jQuery(param3).fadeOut();
},function() {
jQuery(param3).fadeIn();
jQuery(param2).removeClass('closed');
});
}
acardionDivs(".generalTitle",'.anypopup_general_postbox','.generalContent');
acardionDivs(".effectTitle",'.anypopup_effect_postbox','.effectsContent');
acardionDivs(".optionsTitle",'.anypopup_options_postbox','.optionsContent');
acardionDivs(".dimentionsTitle",'.anypopup_dimention_postbox','.dimensionsContent');
acardionDivs(".js-advanced-title",'.js-advanced-postbox','.advanced-options-content');
acardionDivs(".js-special-title",'.any-popup-special-postbox','.special-options-content');
};
beckend.prototype.fixedPostionSelection = function() {
jQuery(".js-fixed-position-style").bind("click",function() {
var anypopupelement = jQuery(this);
var anypopuppos = anypopupelement.attr('data-anypopupvalue');
jQuery(".js-fixed-position-style").css("backgroundColor","#FFFFFF");
jQuery(this).css("backgroundColor","rgba(70,173,208,0.5)");
jQuery(".js-fixed-postion").val(anypopuppos);
});
jQuery(".js-fixed-position-style").bind("mouseover",function() {
jQuery(".js-fixed-position-style").css("backgroundColor","#FFFFFF");
jQuery(this).css("backgroundColor","rgb(70,173,208)");
jQuery(".js-fixed-position-style").each(function() {
if (jQuery(this).attr("data-anypopupvalue") == jQuery('.js-fixed-postion').val())
jQuery(this).css("backgroundColor","rgba(70,173,208,0.5)");
});
});
jQuery(".js-fixed-position-style").bind("mouseout",function() {
if(jQuery(".js-fixed-position-style").attr("data-anypopupvalue") !== jQuery(".js-fixed-postion").val() || jQuery(".js-fixed-postion").val() == 1) {
jQuery(this).css("backgroundColor","#FFFFFF");
}
jQuery(".js-fixed-position-style").each(function() {
if (jQuery(this).attr("data-anypopupvalue") == jQuery('.js-fixed-postion').val()) {
jQuery(this).css("backgroundColor","rgba(70,173,208,0.5)");
}
});
});
if(jQuery('.js-fixed-postion').val()!='') {
jQuery(".js-fixed-position-style").each(function(){
if (jQuery(this).attr("data-anypopupvalue") == jQuery('.js-fixed-postion').val()) {
jQuery(this).css("backgroundColor","rgba(70,173,208,0.5)");
}
});
}
};
beckend.prototype.showInfo = function() {
jQuery(".dashicons.dashicons-info").hover(
function() {
jQuery(this).next('span').css({"display": 'inline-block'});
}, function() {
jQuery(this).next('span').css({"display": 'none'});
}
);
};
beckend.prototype.opacityRange = function() {
if (typeof Powerange != 'undefined') {
var powerRangeSelectors = ['js-decimal', 'js-popup-content-opacity'];
for(var i in powerRangeSelectors) {
if(jQuery('.'+powerRangeSelectors[i]).length == 0) {
continue;
}
this.powerRange(powerRangeSelectors[i]);
}
}
};
beckend.prototype.powerRange = function (cssSelectorName) {
var dec = document.querySelector('.'+cssSelectorName);
function displayDecimalValue() {
var dec = document.querySelector('.'+cssSelectorName);
document.getElementById(cssSelectorName).innerHTML = jQuery('.'+cssSelectorName).attr("value");
}
if(jQuery('#'+cssSelectorName).attr('data-init') == 'false') {
jQuery('#'+cssSelectorName).attr('data-init', true);
var initDec = new Powerange(dec, { decimal: true, callback: displayDecimalValue, max: 1, start: jQuery('.'+cssSelectorName).attr("value") });
}
};
beckend.prototype.showOptionsInfo = function(cehckboxSelector, param2) {
if(jQuery(""+cehckboxSelector+":checked").length == 0) {
jQuery("."+param2+"").css({'display': 'none'});
}
else
{
jQuery("."+param2+"").css({'display':'inline-block'});
}
jQuery(""+cehckboxSelector+"").bind("click",function() {
if(jQuery(""+cehckboxSelector+":checked").length == 0) {
jQuery("."+param2+"").css({'display':'none'});
}
else {
jQuery("."+param2+"").css({'display':'inline-block'});
}
});
jQuery('input.popup_theme_name').bind('mouseout',function() {
jQuery('.theme1').css('display', 'none');
jQuery('.theme2').css('display', 'none');
jQuery('.theme3').css('display', 'none');
jQuery('.theme4').css('display', 'none');
jQuery('.theme5').css('display', 'none');
jQuery('.theme6').css('display', 'none');
});
};
beckend.prototype.subOptionContents = function() {
this.showOptionsInfo("#js-auto-close", "js-auto-close-content");
this.showOptionsInfo("#js-scrolling-event-inp", "js-scrolling-content");
this.showOptionsInfo("#js-inactivity-event-inp", "js-inactivity-content");
this.showOptionsInfo("#js-countris", "js-countri-content");
this.showOptionsInfo("#js-popup-only-once", "js-popup-only-once-content");
this.showOptionsInfo(".js-on-all-pages", "js-all-pages-content");
this.showOptionsInfo(".js-on-all-posts", "js-all-posts-content");
this.showOptionsInfo(".js-on-all-custom-posts", "js-all-custom-posts-content");
this.showOptionsInfo(".js-user-seperator", "js-user-seperator-content");
this.showOptionsInfo(".js-checkbox-contnet-click", "js-content-click-wrraper");
this.showOptionsInfo(".js-checkbox-contact-success-frequency-click", "js-checkbox-contact-success-frequency-wrraper");
this.showOptionsInfo(".js-checkbox-sound-option", "js-checkbox-sound-option-wrapper");
this.showOptionsInfo(".js-popup-content-bg-image", "js-popup-content-bg-image-wrapper");
var that = this;
var element = jQuery(".js-checkbox-acordion");
element.each(function() {
that.checkboxAcordion(jQuery(this));
});
element.click(function() {
var elements = jQuery(this);
that.checkboxAcordion(jQuery(this));
});
this.radioButtonAcordion(jQuery("[name='allPages']"),jQuery("[name='allPages']:checked"),"selected", jQuery('.js-pages-selectbox-content'));
this.radioButtonAcordion(jQuery("[name='allPosts']"),jQuery("[name='allPosts']:checked"),"selected",jQuery('.js-posts-selectbox-content'));
this.radioButtonAcordion(jQuery("[name='allPosts']"),jQuery("[name='allPosts']:checked"),"allCategories", jQuery(".js-all-categories-content"));
this.radioButtonAcordion(jQuery("[name='allCustomPosts']"),jQuery("[name='allCustomPosts']:checked"),"selected", jQuery(".js-all-custompost-content"));
this.radioButtonAcordion(jQuery("[name='content-click-behavior']"),jQuery("[name='content-click-behavior']:checked"),"redirect",jQuery(".js-readio-buttons-acordion-content"));
this.radioButtonAcordion(jQuery("[name='subs-success-behavior']"),jQuery("[name='subs-success-behavior']:checked"),"showMessage", jQuery('.js-subs-success-message-content'));
this.radioButtonAcordion(jQuery("[name='subs-success-behavior']"),jQuery("[name='subs-success-behavior']:checked"),"redirectToUrl", jQuery('.js-subs-success-redirect-content'));
this.radioButtonAcordion(jQuery("[name='subs-success-behavior']"),jQuery("[name='subs-success-behavior']:checked"),"openPopup", jQuery('.js-subs-success-popups-list-content'));
};
beckend.prototype.radioButtonAcordion = function(element, checkedElement,value, toggleContnet) {
element.on("change", function() {
if(jQuery(this).is(":checked") && jQuery(this).val() == value) {
jQuery(this).after(toggleContnet.css({'display':'inline-block'}));
}
else {
toggleContnet.css({'display': 'none'});
}
});
if(checkedElement.val() == value) {
checkedElement.after(toggleContnet.css({'display':'inline-block'}));
}
else {
toggleContnet.css({'display': 'none'});
}
};
beckend.prototype.initAccordions = function() {
var radioButtonsList = [
jQuery("[name='contact-success-behavior']"),
jQuery("[name='popup-dimension-mode']")
];
for(var radioButtonIndex in radioButtonsList) {
var radioButton = radioButtonsList[radioButtonIndex];
var that = this;
radioButton.each(function () {
that.buildAccordionActions(jQuery(this));
});
radioButton.on("change", function () {
that.buildAccordionActions(jQuery(this), 'change');
});
}
};
beckend.prototype.buildAccordionActions = function (currentRadioButton, event) {
if(event == 'change') {
currentRadioButton.parents('.anypopup-radio-option-behavior').first().find('.js-radio-accordion').css({'display': 'none'});
}
var value = currentRadioButton.val();
var toggleContent = jQuery('.js-accordion-'+value);
if(currentRadioButton.is(':checked')) {
currentRadioButton.after(toggleContent.css({'display':'inline-block'}));
}
else {
toggleContent.css({'display': 'none'});
}
};
beckend.prototype.addCountries = function() {
var countyNames = [];
if(!jQuery('#countryIso').length) {
return;
}
var countryIsos = jQuery('#countryIso').val().split(',');
function addCountry(name,iso) {
countyNames.push(name);
countryIsos.push(iso);
jQuery("#countryIso").val(countryIsos.join(','));
jQuery('#countryName').tagsinput('add', countyNames.join(','));
}
jQuery(".addCountry").bind('click',function(){
var optionCountryName = jQuery(".optionsCountry option:selected").text();
var optionCountryIso = jQuery(".optionsCountry option:selected").val();
addCountry(optionCountryName,optionCountryIso);
});
jQuery('input').on('itemRemoved', function(event) {
var removeCountryName = event.item;
var countryNameIso = countyNames.indexOf(removeCountryName);
countryIsos.splice(countryNameIso,1);
countyNames.splice(countryNameIso,1);
jQuery("#countryIso").val(countryIsos.join(','));
});
if(typeof popupCountries != "undefined" && typeof popupCountries != "undefined"){
var anypopupCountryNameArray = popupCountries.anypopupCountryName.split(",");
var anypopupCountryIsoArray = popupCountries.anypopupCountryIso.split(",");
for(var i=0; i <= anypopupCountryIsoArray.length; i++) {
addCountry(anypopupCountryNameArray[i],anypopupCountryIsoArray[i]);
}
}
};
beckend.prototype.showCloseTextFieldForTheme = function() {
var that = this;
jQuery("[name='theme']").each(function() {
if(jQuery(this).prop("checked")) {
that.anypopupAllowCustomizedThemes(jQuery(this));
}
});
jQuery("[name='theme']").bind("change", function() {
that.anypopupAllowCustomizedThemes(jQuery(this))
});
};
beckend.prototype.anypopupAllowCustomizedThemes = function(cureentRadioButton) {
var customizedThemes = ['2','3','4'];
var themeNumber = cureentRadioButton.attr("anypopuppoupnumber");
var isInCustomThemes = customizedThemes.indexOf(themeNumber);
jQuery(".themes-suboptions").addClass("anypopup-hide");
if(isInCustomThemes != -1) {
if(cureentRadioButton.prop( "checked" )) {
jQuery(".anypopup-popup-theme-"+themeNumber).removeClass("anypopup-hide");
}
else {
jQuery(".anypopup-popup-theme-"+themeNumber).addClass("anypopup-hide");
}
}
};
beckend.prototype.updateQueryStringParameter = function (uri, key, value) {
var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i");
var separator = uri.indexOf('?') !== -1 ? "&" : "?";
if (uri.match(re)) {
return uri.replace(re, '$1' + key + "=" + value + '$2');
}
else {
return uri + separator + key + "=" + value;
}
};
beckend.prototype.popupPreview = function () {
var that = this;
jQuery('.anypopup-popup-preview').bind('click', function (e) {
e.preventDefault();
var previewButton = jQuery(this);
/*checking if it's not null*/
if(typeof tinymce != 'undefined' && !!tinymce.activeEditor) {
jQuery("[name='"+tinymce.activeEditor.id+"']").html(tinymce.activeEditor.getContent());
}
var data = {
action: 'save_popup_preview_data',
ajaxNonce: backendLocalizedData.ajaxNonce,
beforeSend: function () {
previewButton.prop('disabled', true);
previewButton.val('loading');
},
popupDta: jQuery("#add-form").serialize()
};
var newWindow = window.open(jQuery(this).attr('data-page-url'));
jQuery.post(ajaxurl, data, function(response,d) {
var popupId = parseInt(response);
if(isNaN(popupId)) {
console.log("it's not number");
return;
}
previewButton.prop('disabled', false);
previewButton.val('Preview');
var pageUrl = previewButton.attr('data-page-url');
var redirectUrl = that.updateQueryStringParameter(pageUrl, 'anypopup_id', popupId);
newWindow.location = redirectUrl;
});
})
};
jQuery(document).ready(function($){
var anypopupBeckeendObj = new beckend();
anypopupBeckeendObj.anypopupInit();
});