(function() { /* Register the buttons */ tinymce.create('tinymce.plugins.AdSauceButtons', { init : function(ed, url) { /** * Inserts shortcode content */ ed.addButton( 'adSauce_toolBar_button', { title : 'Insert AdSauce Shortcode', image : '../wp-includes/images/smilies/icon_eek.gif', cmd: 'adSauce_plugin_command'//, }); // Called when we click the Insert Gistpen button ed.addCommand( 'adSauce_plugin_command', function() { // Calls the pop-up modal ed.windowManager.open({ // Modal settings title: 'Insert AdSauce Shortcode', width: 400, // minus head and foot of dialog box height: 400, inline: 1, id: 'plugin-slug-insert-dialog', buttons: [{ text: 'Insert', id: 'plugin-slug-button-insert', class: 'insert', onclick: function( e ) { adSauceInsertShortCode(ed); jQuery('#plugin-slug-button-cancel').click(); }, }, { text: 'Cancel', id: 'plugin-slug-button-cancel', onclick: 'close' }], }); appendInsertDialog(); }); }, createControl : function(n, cm) { return null; }, }); /* Start the buttons */ tinymce.PluginManager.add( 'adSauce_button_script', tinymce.plugins.AdSauceButtons ); function appendInsertDialog () { var dialogBody = jQuery( '#plugin-slug-insert-dialog-body' ); // Get the form template from WordPress jQuery.post( ajaxurl, { action: 'adSauce_plugin_slug_insert_dialog' }, function( response ) { template = response; dialogBody.children( '.loading' ).remove(); dialogBody.html( template ); jQuery( '.spinner' ).hide(); }); } function adSauceInsertShortCode (ed) { var shortcode = '' if(mieAdSauceAdSetupObject.websiteLocation.AdSizeTypeName == 'Business Directory') { shortcode = 'iframe src="https://tad.adsauce.co/adindex.html#/servicewebsitelocation/directory/' + mieAdSauceAdSetupObject.websiteLocation.Id + '"'; shortcode += ' style="width: 100%; height: 1000px;"'; } else if(mieAdSauceAdSetupObject.websiteLocation.AdSizeTypeName == 'Social Message Board') { shortcode = 'iframe src="https://tad.adsauce.co/adindex.html#/servicewebsitelocation/messagewall/' + mieAdSauceAdSetupObject.websiteLocation.Id + '"'; shortcode += ' style="width: 100%; height: 987px; min-width: 315px; max-width: 1260px;"' } else { shortcode = 'iframe src="https://tad.adsauce.co/adindex.html#/servicewebsitelocation/displayad/' + mieAdSauceAdSetupObject.websiteLocation.Id + '"'; shortcode += ' style="border: none; padding: 0; margin: 0; width: ' + mieAdSauceAdSetupObject.websiteLocation.AdSizeType.Width + 'px; height: ' + mieAdSauceAdSetupObject.websiteLocation.AdSizeType.Height + 'px;"'; } shortcode = '[' + shortcode + ']'; ed.selection.setContent(shortcode); } })(); //VARIABLES var mieAdSauceAdSetupObject = { bearerToken: '', websiteFK: null, websiteLocationFK: null, user: {}, website: {}, websiteLocation: {}, websites: [], websiteLocations: [] }; var mieAdSauceSettings = { websiteNameComboId: 'adSauce_WebsiteName', websiteLocationNameTypeComboId: 'adSauce_websiteLocationNameType', websiteLocationIdHiddenId: 'adSauce_WebsiteLocationId', adSizeTypeNameHiddenId: 'adSauce_AdSizeTypeName', heightHiddenId: 'adSauce_Ad_Width', widthHiddenId: 'adSauce_Ad_Height', }; //EVENTS function websiteLocationChanged () { var websiteName = jQuery('#' + mieAdSauceSettings.websiteNameComboId).val(); var websiteLocationNameType = jQuery('#' + mieAdSauceSettings.websiteLocationNameTypeComboId).val(); for(var i = 0; i < mieAdSauceAdSetupObject.websites.length; i++) { if (websiteName == mieAdSauceAdSetupObject.websites[i].Name) { mieAdSauceAdSetupObject.website = mieAdSauceAdSetupObject.websites[i]; break; } } for(var i = 0; i < mieAdSauceAdSetupObject.websiteLocations.length; i++) { if (websiteLocationNameType == mieAdSauceAdSetupObject.websiteLocations[i].Name + ', ' + mieAdSauceAdSetupObject.websiteLocations[i].AdSizeTypeName) { mieAdSauceAdSetupObject.websiteLocation = mieAdSauceAdSetupObject.websiteLocations[i]; break; } } jQuery('#' + mieAdSauceSettings.websiteLocationIdHiddenId).val(mieAdSauceAdSetupObject.websiteLocation.Id); jQuery('#' + mieAdSauceSettings.adSizeTypeNameHiddenId).val(mieAdSauceAdSetupObject.websiteLocation.AdSizeType.Name); jQuery('#' + mieAdSauceSettings.heightHiddenId).val(mieAdSauceAdSetupObject.websiteLocation.AdSizeType.Height); jQuery('#' + mieAdSauceSettings.widthHiddenId).val(mieAdSauceAdSetupObject.websiteLocation.AdSizeType.Width); } //REUSED FUNCTIONS function blockUI (message) { var top = (jQuery(window).height() / 2) - 15; jQuery('#plugin-slug-insert-dialog-body').append('