(function() { tinymce.create('tinymce.plugins.BarberGallery', { init : function(ed, url) { ed.addButton('barbergallery', { title : 'Barber Gallery', image : '../wp-content/themes/barber/images/video-icon.png', onclick : function() { // triggers the thickbox var width = jQuery(window).width(), H = jQuery(window).height(), W = ( 720 < width ) ? 720 : width; W = W - 80; H = H - 84; tb_show( '8square Gallery', '#TB_inline?width=' + W + '&height=' + H + '&inlineId=barbergallery-form' ); } }); }, createControl : function(n, cm) { return null; }, getInfo : function() { return { longname : "Barber Gallery Shortcode", author : 'theme-demo.net', version : "1.0" }; } }); tinymce.PluginManager.add('barbergallery', tinymce.plugins.BarberGallery); // executes this when the DOM is ready jQuery(function(){ // creates a form to be displayed everytime the button is clicked // you should achieve this using AJAX instead of direct html code like this var form = jQuery('
\ \ \ \ \ \ \ \ \ \ \

Click here to add video to gallery.


Click here to add image to gallery.

\
'); var selectedGallery; var table = form.find('table'); form.appendTo('body').hide(); // handles the click event of the video form submit button form.find('#barbergallery-video-submit').click(function(){ // defines the options and their default values // again, this is not the most elegant way to do this // but well, this gets the job done nonetheless var options = { 'image': '', 'videolink': '' }; if(document.getElementById('barbergallery-image').value!='' && document.getElementById('barbergallery-videolink').value!='') { var shortcode = '[barber_gallery][barber_video'; for( var index in options) { var value = table.find('#barbergallery-' + index).val(); if ( value !== options[index] ) shortcode += ' ' + index + '="' + value + '"'; } shortcode += '][/barber_gallery]'; // inserts the shortcode into the active editor var res; res=tinyMCE.activeEditor.execCommand('mceInsertContent', 0, shortcode); if(res){ alert('Shrotcode added. Click on the close button to close the window.');} jQuery("#barbergallery-image").val(''); jQuery("#barbergallery-videolink").val(''); jQuery("#videoForm").hide(); jQuery("#add-video").prop('disabled', false); } else { return false; } // closes Thickbox //tb_remove(); }); // handles the click event of the video form image button form.find('#barbergallery-image-submit').click(function(){ // defines the options and their default values // again, this is not the most elegant way to do this // but well, this gets the job done nonetheless var options = { 'title': '', 'desc': '', 'imagelink': '' }; if(document.getElementById('barbergallery-title').value!='' && document.getElementById('barbergallery-imagelink').value!='') { var shortcode = '[barber_gallery][img'; for( var index in options) { var value = table.find('#barbergallery-' + index).val(); if ( value !== options[index] ) shortcode += ' ' + index + '="' + value + '"'; } shortcode += '][/barber_gallery]'; // inserts the shortcode into the active editor var res; res=tinyMCE.activeEditor.execCommand('mceInsertContent', 0, shortcode); if(res){ alert('Shrotcode added. Click on the close button to close the window.');} jQuery("#barbergallery-title").val(''); jQuery("#barbergallery-desc").val(''); jQuery("#barbergallery-imagelink").val(''); jQuery("#imageForm").hide(); jQuery("#add-image").prop('disabled', false); } else { return false; } // closes Thickbox //tb_remove(); }); }); })(); jQuery(document).ready(function(){ jQuery("#add-video").click(function(){ jQuery("#result").empty(); jQuery("#videoForm").show(); jQuery("#imageForm").hide(); jQuery("#add-video").prop('disabled', true); jQuery("#add-image").prop('disabled', false); jQuery("#result").html('
Image
Link
'); }); jQuery("#add-image").click(function(){ jQuery("#result2").empty(); jQuery("#imageForm").show(); jQuery("#videoForm").hide(); jQuery("#add-image").prop('disabled', true); jQuery("#add-video").prop('disabled', false); jQuery("#result2").html('
Title
Description
Link
'); }); jQuery('#barbergallery-video-submit').click(function(){ if(jQuery("#barbergallery-image").val().length<1) { jQuery("#barbergallery-image").css('background','rgb(255, 229, 242)'); } if(jQuery("#barbergallery-videolink").val().length<1) { jQuery("#barbergallery-videolink").css('background','rgb(255, 229, 242)'); } }); jQuery('#barbergallery-image-submit').click(function(){ if(jQuery("#barbergallery-title").val().length<1) { jQuery("#barbergallery-title").css('background','rgb(255, 229, 242)'); } if(jQuery("#barbergallery-imagelink").val().length<1) { jQuery("#barbergallery-imagelink").css('background','rgb(255, 229, 242)'); } }); });