reverting changes
authorAnthony Talarico <talarico@gaslightmedia.com>
Tue, 17 May 2016 18:17:37 +0000 (14:17 -0400)
committerAnthony Talarico <talarico@gaslightmedia.com>
Tue, 17 May 2016 18:17:37 +0000 (14:17 -0400)
classes/glmPluginSupport.php
controllers/admin.php
js/shortcodeBuilder.js

index 2d510f4..634816a 100644 (file)
@@ -612,141 +612,141 @@ class GlmPluginSupport
      *
      */
 
-//    public function glmMembersShortcode(){
-//
-//        // load shortcodeBuilder.js when the shortcode function has been fired if it hasn't been enqueued yet
-//        if( ! wp_script_is( 'jquery-ui-dialog', 'enqueued' ) ){
-//            wp_enqueue_script('jquery-ui-dialog', false, array('jquery'), false, true);
-//            wp_enqueue_style('jquery-style', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css');
-//        }
-//
-//        function custom_js_css() {
-//
-//            wp_enqueue_script('your-meta-box', GLM_MEMBERS_PLUGIN_URL. '/js/shortcodeBuilder.js', array('jquery'), null, true);
-//        }
-//        add_action('admin_print_styles-post.php', 'custom_js_css');
-//        add_action('admin_print_styles-post-new.php', 'custom_js_css');
-//        reset($this->config['addOns']);
-//        foreach ($this->config['addOns'] as $a) {
-//            $cssFile = GLM_MEMBERS_WORDPRESS_PLUGIN_PATH.$a['slug'].'/css/admin.css';
-//            if (is_file($cssFile)) {
-//                $cssName = $a['slug'].'-admin-css';
-//                wp_register_style(
-//                    $cssName,
-//                    GLM_MEMBERS_WORDPRESS_PLUGIN_URL.'/'.$a['slug'].'/css/admin.css',
-//                    false,
-//                    GLM_MEMBERS_PLUGIN_VERSION
-//                );
-//                wp_enqueue_style($cssName);
-//            }
-//        }
-//
-//        add_meta_box("shortcode_builder",
-//            "Shortcode Builder",
-//            array($this,'shortcode_builder_markup'),
-//            "page", 'normal', 'high'
-//        );
-//
-//    }
+    public function glmMembersShortcode(){
+
+        // load shortcodeBuilder.js when the shortcode function has been fired if it hasn't been enqueued yet
+        if( ! wp_script_is( 'jquery-ui-dialog', 'enqueued' ) ){
+            wp_enqueue_script('jquery-ui-dialog', false, array('jquery'), false, true);
+            wp_enqueue_style('jquery-style', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css');
+        }
+
+        function custom_js_css() {
+
+            wp_enqueue_script('your-meta-box', GLM_MEMBERS_PLUGIN_URL. '/js/shortcodeBuilder.js', array('jquery'), null, true);
+        }
+        add_action('admin_print_styles-post.php', 'custom_js_css');
+        add_action('admin_print_styles-post-new.php', 'custom_js_css');
+        reset($this->config['addOns']);
+        foreach ($this->config['addOns'] as $a) {
+            $cssFile = GLM_MEMBERS_WORDPRESS_PLUGIN_PATH.$a['slug'].'/css/admin.css';
+            if (is_file($cssFile)) {
+                $cssName = $a['slug'].'-admin-css';
+                wp_register_style(
+                    $cssName,
+                    GLM_MEMBERS_WORDPRESS_PLUGIN_URL.'/'.$a['slug'].'/css/admin.css',
+                    false,
+                    GLM_MEMBERS_PLUGIN_VERSION
+                );
+                wp_enqueue_style($cssName);
+            }
+        }
+
+        add_meta_box("shortcode_builder",
+            "Shortcode Builder",
+            array($this,'shortcode_builder_markup'),
+            "page", 'normal', 'high'
+        );
+
+    }
 
     // metabox content
-//    public function shortcode_builder_markup(){
-//
-//        require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataCategories.php');
-//        $listAttr = $this->config['addOns']['glm-member-db']['shortcodes']['glm-members-list']['attributes'];
-//        $detailAttr = $this->config['addOns']['glm-member-db']['shortcodes']['glm-member-detail']['attributes'];
-//
-//        $glmcat = new GlmDataCategories($this->wpdb, $this->wpconfig);
-//        $list = $glmcat->getList();
-//        // get the each addOn slugs to pass to the config array later
-//        $addOns = $this->config['addOns'];
-//        foreach($addOns as $addOn){
-//            if(!is_array($addOn['slug'])){
-//                $addOnSlugs[] = $addOn['slug'];
-//            }
-//        }
-//
-//        // use the addOn slugs to access each of the shortcodes
-//        foreach($addOnSlugs as $addOn){
-//            $shortCodeList[] = $this->config['addOns'][$addOn]['shortcodes'];
-//        }
-//        // loop through the shortcodes to pull out the shortcode names
-//        foreach($shortCodeList as $addonInfo) {
-//            foreach($addonInfo as $shortCode=>$value){
-//                if(!is_array($shortCode)){
-//                    $shortCodes[] = $shortCode;
-//                }
-//            }
-//        }
-//
-//        //dropdown for shortcode names
-//        echo '<div id="shortcodeBuilder">';
-//        echo '<select id="shortcodeDropdown">
-//        <option value=""> Select Shortcode </option>';
-//        foreach($shortCodes as $code){
-//            echo '<option value = "' . $code . '">' . $code . '</option>';
-//        }
-//        echo '</select>';
-//
-//        /*
-//         * Member DB Shortcode Attributes
-//         */
-//
-//        //dropdown for categories
-//        echo '<select id="category-scDropdown">';
-//        echo '<option> Select Category </option>';
-//        foreach($list as $key=>$value){
-//            echo '<option value='. $key . '>' . $value['name']  . '</option>';
-//        }
-//        echo '</select>';
-//
-//        // dropdown for blank start
-//        echo '<select id="blank-start-scDropdown">';
-//        echo  '<option> Blank Start </option>
-//        <option value="False"> False </option>
-//        <option value="True"> True </option>';
-//        echo '</select>';
-//
-//        // dropdown for views
-//        echo '<select id="view-scDropdown">';
-//        echo '<option selected="selected" value="bars"> Bars </option>';
-//        echo '<option value="grid"> Grid </option>';
-//        echo '</select>';
-//
-//        // show list options 'scb' = shortcode builder acronym
-//        echo '<div id="showList" title="List Options">';
-//        echo '<label><input class="showLists" type="checkbox" name="listBox" value="all">All</label>';
-//        echo '<label><input class="showLists" type="checkbox" name="listBox" value="none">None</label>';
-//        foreach($listAttr as $key=>$value){
-//            if($value != ''){
-//                echo '<label class="checkList"><input class="showLists" type="checkbox" name="listBox" value='. $key . '>' . $key .'</label>';
-//            }
-//        }
-//        echo '</div>';
-//
-//        // show detail options
-//        echo '<div id="showDetail" title="Detail Options">';
-//        echo '<label><input class="showDetails" type="checkbox" name="detailBox" value="all">All</label>';
-//        echo '<label><input class="showDetails" type="checkbox" name="detailBox" value="none">None</label>';
-//        foreach($detailAttr as $key=>$value){
-//            if($value != ''){
-//                echo '<label class="checkDetails"><input class="showDetails" type="checkbox" name="detailBox" value='. $key . '>' . $key .'</label>';
-//            }
-//        }
-//        echo '</div>';
-//
-//       // packaging addOn mark up
-//        if(file_exists(GLM_MEMBERS_PACKAGING_PLUGIN_PATH . "/setup/shortcodeBuilder.php")){
-//            include GLM_MEMBERS_PACKAGING_PLUGIN_PATH . "/setup/shortcodeBuilder.php";
-//        }
-//
-//        // list and detail buttons to open dialog for member db 'show' attr options
-//        echo '<button id="listBtn" class="glm-button" type="button"> Show List Options </button>';
-//        echo '<button id="detailBtn" class="glm-button" type="button"> Show Detail Options </button>';
-//
-//        echo '<button id="generate" class="glm-button" type="button"> Insert Shortcode </button>';
-//
-//    }
+    public function shortcode_builder_markup(){
+
+        require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataCategories.php');
+        $listAttr = $this->config['addOns']['glm-member-db']['shortcodes']['glm-members-list']['attributes'];
+        $detailAttr = $this->config['addOns']['glm-member-db']['shortcodes']['glm-member-detail']['attributes'];
+
+        $glmcat = new GlmDataCategories($this->wpdb, $this->wpconfig);
+        $list = $glmcat->getList();
+        // get the each addOn slugs to pass to the config array later
+        $addOns = $this->config['addOns'];
+        foreach($addOns as $addOn){
+            if(!is_array($addOn['slug'])){
+                $addOnSlugs[] = $addOn['slug'];
+            }
+        }
+
+        // use the addOn slugs to access each of the shortcodes
+        foreach($addOnSlugs as $addOn){
+            $shortCodeList[] = $this->config['addOns'][$addOn]['shortcodes'];
+        }
+        // loop through the shortcodes to pull out the shortcode names
+        foreach($shortCodeList as $addonInfo) {
+            foreach($addonInfo as $shortCode=>$value){
+                if(!is_array($shortCode)){
+                    $shortCodes[] = $shortCode;
+                }
+            }
+        }
+
+        //dropdown for shortcode names
+        echo '<div id="shortcodeBuilder">';
+        echo '<select id="shortcodeDropdown">
+        <option value=""> Select Shortcode </option>';
+        foreach($shortCodes as $code){
+            echo '<option value = "' . $code . '">' . $code . '</option>';
+        }
+        echo '</select>';
+
+        /*
+         * Member DB Shortcode Attributes
+         */
+
+        //dropdown for categories
+        echo '<select id="category-scDropdown">';
+        echo '<option> Select Category </option>';
+        foreach($list as $key=>$value){
+            echo '<option value='. $key . '>' . $value['name']  . '</option>';
+        }
+        echo '</select>';
+
+        // dropdown for blank start
+        echo '<select id="blank-start-scDropdown">';
+        echo  '<option> Blank Start </option>
+        <option value="False"> False </option>
+        <option value="True"> True </option>';
+        echo '</select>';
+
+        // dropdown for views
+        echo '<select id="view-scDropdown">';
+        echo '<option selected="selected" value="bars"> Bars </option>';
+        echo '<option value="grid"> Grid </option>';
+        echo '</select>';
+
+        // show list options 'scb' = shortcode builder acronym
+        echo '<div id="showList" title="List Options">';
+        echo '<label><input class="showLists" type="checkbox" name="listBox" value="all">All</label>';
+        echo '<label><input class="showLists" type="checkbox" name="listBox" value="none">None</label>';
+        foreach($listAttr as $key=>$value){
+            if($value != ''){
+                echo '<label class="checkList"><input class="showLists" type="checkbox" name="listBox" value='. $key . '>' . $key .'</label>';
+            }
+        }
+        echo '</div>';
+
+        // show detail options
+        echo '<div id="showDetail" title="Detail Options">';
+        echo '<label><input class="showDetails" type="checkbox" name="detailBox" value="all">All</label>';
+        echo '<label><input class="showDetails" type="checkbox" name="detailBox" value="none">None</label>';
+        foreach($detailAttr as $key=>$value){
+            if($value != ''){
+                echo '<label class="checkDetails"><input class="showDetails" type="checkbox" name="detailBox" value='. $key . '>' . $key .'</label>';
+            }
+        }
+        echo '</div>';
+
+       // packaging addOn mark up
+        if(file_exists(GLM_MEMBERS_PACKAGING_PLUGIN_PATH . "/setup/shortcodeBuilder.php")){
+            include GLM_MEMBERS_PACKAGING_PLUGIN_PATH . "/setup/shortcodeBuilder.php";
+        }
+
+        // list and detail buttons to open dialog for member db 'show' attr options
+        echo '<button id="listBtn" class="glm-button" type="button"> Show List Options </button>';
+        echo '<button id="detailBtn" class="glm-button" type="button"> Show Detail Options </button>';
+
+        echo '<button id="generate" class="glm-button" type="button"> Insert Shortcode </button>';
+
+    }
 
 }
 
index 227d751..51f82ce 100644 (file)
@@ -169,10 +169,10 @@ class glmMembersAdmin extends GlmPluginSupport
         );
 
         // add shortcode metabox
-//        add_action('add_meta_boxes', array(
-//            $this,
-//            'glmMembersShortcode'
-//        ) );
+        add_action('add_meta_boxes', array(
+            $this,
+            'glmMembersShortcode'
+        ) );
 
         // Add AJAX image upload action
         add_action( 'wp_ajax_glm_members_admin_ajax',
index 8d3fc95..6a5364b 100644 (file)
  */
 jQuery(document).ready(function ($) {
 //
-//    var shortcodeDropdown, shortcodeCategory, blankStart, listBox, detailBox, target, boxTarget, shortcodeString;
-//    var shortcodeValues = {};
-//    $("#showDetail").hide();
-//    $("#showList").hide();
-//    $("#listBtn").hide();
-//    $("#detailBtn").hide();
-//    $("[id$=-scDropdown]").hide();
-//    $("#packageListAttr").hide();
-//    
-//   // fire core events when switching between shortcodes
-//    $("#shortcodeDropdown").on("change", function () {
-//        // reset the dropdowns and checkbox if when switching shortcodes
-//        document.getElementById('category-scDropdown').options[0].selected = 'selected';
-//        if($('#blank-start-scDropdown').length)
-//            document.getElementById('blank-start-scDropdown').options[0].selected = 'selected';
-//        if($('#id-scDropdown').length)
-//            document.getElementById('id-scDropdown').options[0].selected = 'selected';
-//        UncheckAll();
-//        
-//        // delete the object properties to reset the object
-//        shortcodeString = "";
-//        for (var prop in shortcodeValues){
-//            delete shortcodeValues[prop];
-//        }
-//        
-//        // get the shortcode option name and hide / show necessary elements
-//        shortcodeDropdown = $("#shortcodeDropdown option:selected").text();
-//        
-//        if(shortcodeDropdown === "glm-members-list"){
-//            $("#listBtn").show();
-//            $("#detailBtn").hide();
-//            $("#category-scDropdown").show();
-//            $("#blank-start-scDropdown").show();
-//            $("#id-scDropdown").hide();
-//            $("#view-scDropdown").show();
-//            $("#map-opened-scDropdown").show();
-//            $("[id^='packageList']").hide();
-//        }
-//        
-//        if(shortcodeDropdown === "glm-member-detail") {
-//            $("#detailBtn").show();
-//            $("#listBtn").hide();
-//            $("#blank-start-scDropdown").show();
-//            $("#category-scDropdown").hide();  
-//            $("#id-scDropdown").hide();
-//            $("[id^='packageList']").hide();
-//        } 
-//        
-//        if(shortcodeDropdown === "glm-members-packaging-list"){
-//            $("#blank-start-scDropdown").hide();
-//            $("#listBtn").hide();
-//            $("#category-scDropdown").hide();
-//            $("#detailBtn").hide();
-//            $("#id-scDropdown").hide();
-//            $("#packageListAttr").children().show();
-//            $("[id^='packageList']").show();
-//        } 
-//        
-//        if (shortcodeDropdown === "glm-members-packaging-detail"){
-//            $("#blank-start-scDropdown").hide();
-//            $("#listBtn").hide();
-//            $("#category-scDropdown").hide();
-//            $("#detailBtn").hide();
-//            $("#id-scDropdown").show();
-//            $("[id^='packageList']").hide();
-//        }
-//        if (shortcodeDropdown === "glm-members-event-list"){
-//            $("#blank-start-scDropdown").hide();
-//            $("#listBtn").hide();
-//            $("#category-scDropdown").hide();
-//            $("#detailBtn").hide();
-//            $("[id^='packageList']").hide();
-//             $("#id-scDropdown").hide();
-//        }
-//        if (shortcodeDropdown === "glm-members-event-detail"){
-//            $("#blank-start-scDropdown").hide();
-//            $("#listBtn").hide();
-//            $("#category-scDropdown").hide();
-//            $("#detailBtn").hide();
-//            $("[id^='packageList']").hide();
-//             $("#id-scDropdown").hide();
-//        }
-//        if (shortcodeDropdown === "glm-members-event-front-add"){
-//            $("#blank-start-scDropdown").hide();
-//            $("#listBtn").hide();
-//            $("#category-scDropdown").hide();
-//            $("#detailBtn").hide();
-//            $("[id^='packageList']").hide();
-//             $("#id-scDropdown").hide();
-//        }
-//    });
-// 
-//     
-//     // shortcode attribute name from dropdowns containing '-scDropdown' in their ID
-//     // Then append the values to the shortcode object
-//     $("[id$=-scDropdown]").on("change", function () {
-//         target = $(this).attr("id").slice(0, -11);
-//         var targetVal = $("#" + target + "-scDropdown option:selected").val();
-//         shortcodeValues[target] = targetVal;
-//    });
-//    // use jquery dialog to separate the checkbox lists
-//    $("#listBtn").on("click", function () {
-//        $("#showList").dialog().dialog("option", "width", 422 );
-//    });
-//    $("#detailBtn").on("click", function () {
-//        $("#showDetail").dialog().dialog("option", "width", 422);
-//    });
-//  
-//    // generate the shortcode into a string and insert into the content upon clicking
-//    $("#generate").on("click", function () {
-//        // enforce the selection of a shortcode
-//        if(shortcodeDropdown){
-//            // set up properties for shortcode lists
-//            if(shortcodeDropdown === "glm-members-list"){
-//            var listValues = $('input[name="listBox"]:checkbox:checked').map(function() {
-//                 boxTarget = $(this).attr("class").slice(0, -5);
-//                return this.value;
-//            }).get();
-//
-//            var listString = "";
-//                listValues.forEach(function(value){
-//                    listString += value + ",";
-//                });
-//                
-//                if(listValues !== ""){
-//                    listString = listString.replace(/,\s*$/, "");
-//                    shortcodeValues[boxTarget] = listString;
-//                }
-//
-//                // set up properties for detail shortcode
-//            } else if( shortcodeDropdown === "glm-member-detail"){
-//                var detailValues = $('input[name="detailBox"]:checkbox:checked').map(function() {
-//                boxTarget = $(this).attr("class").slice(0, -7);
-//                return this.value;
-//            }).get();
-//            
-//                var detailString = '';
-//                detailValues.forEach(function(value){
-//                    detailString += value + ",";
-//                });
-//                if(detailValues !== ""){
-//                    detailString = detailString.replace(/,\s*$/, "");
-//                    shortcodeValues[boxTarget] = detailString;
-//                }
-//            }
-//            // start the shortcode string that will be added to the tinymce editor
-//            shortcodeString = "[" + shortcodeDropdown;
-//            
-//            // populate the shortcode object
-//            for (var key in shortcodeValues) {
-//                if (shortcodeValues.hasOwnProperty(key)) {
-//                    if(key !== "undefined"){
-//                        shortcodeString += " " + key + '="' + shortcodeValues[key] +'"';
-//                    }
-//                }
-//            }
-//            shortcodeString += ']';
-//
-//            // insert shortcode at current cursor position
-//             if($("#content").css("display") !== "none"){
-//                var cursorPos = $('#content').prop('selectionStart');
-//                var v = $('#content').val();
-//                var textBefore = v.substring(0,  cursorPos );
-//                var textAfter  = v.substring( cursorPos, v.length );
-//                $('#content').val( textBefore + shortcodeString + textAfter );
-//                 
-//            } else if($("#content").css("display") === "none") {
-//                function insert_tag(text){
-//                    if(tinyMCE && tinyMCE.activeEditor)
-//                    {
-//                        tinyMCE.activeEditor.selection.setContent(text);
-//                    }
-//                        return false;
-//                }
-//                insert_tag(shortcodeString);
-//            }
-//            } else {
-//            alert("Please Select a Shortcode");
-//        }
-//    });
-//
-//    // reset dropdowns and checkboxes to default values on page reload
-//    var scd = document.getElementById('shortcodeDropdown');
-//    var catscd = document.getElementById('category-scDropdown');
-//    var blank = document.getElementById('blank-start-scDropdown');
-//    var list = document.getElementById('type-scList');
-//    var members = document.getElementById('member-scDropdown');
-//    
-//    if(scd){
-//        window.onload = document.getElementById('shortcodeDropdown').options[0].selected = 'selected';
-//    }
-//    if(catscd){
-//        window.onload = document.getElementById('category-scDropdown').options[0].selected = 'selected';
-//    }
-//    if(blank){
-//        window.onload = document.getElementById('blank-start-scDropdown').options[0].selected = 'selected';
-//    }
-//    if(list){
-//        window.onload = document.getElementById('type-scList').options[0].selected = 'selected';
-//    }
-//    if(members){
-//        window.onload = document.getElementById('member-scDropdown').options[0].selected = 'selected';
-//    }
-//   window.onload = UncheckAll();
-//     
-//    function UncheckAll(){ 
-//      var w = document.getElementsByTagName('input'); 
-//      for(var i = 0; i < w.length; i++){ 
-//        if(w[i].type === 'checkbox'){ 
-//          w[i].checked = false; 
-//        }
-//      }
-//    }
+    var shortcodeDropdown, shortcodeCategory, blankStart, listBox, detailBox, target, boxTarget, shortcodeString;
+    var shortcodeValues = {};
+    $("#showDetail").hide();
+    $("#showList").hide();
+    $("#listBtn").hide();
+    $("#detailBtn").hide();
+    $("[id$=-scDropdown]").hide();
+    $("#packageListAttr").hide();
+    
+   // fire core events when switching between shortcodes
+    $("#shortcodeDropdown").on("change", function () {
+        // reset the dropdowns and checkbox if when switching shortcodes
+        document.getElementById('category-scDropdown').options[0].selected = 'selected';
+        if($('#blank-start-scDropdown').length)
+            document.getElementById('blank-start-scDropdown').options[0].selected = 'selected';
+        if($('#id-scDropdown').length)
+            document.getElementById('id-scDropdown').options[0].selected = 'selected';
+        UncheckAll();
+        
+        // delete the object properties to reset the object
+        shortcodeString = "";
+        for (var prop in shortcodeValues){
+            delete shortcodeValues[prop];
+        }
+        
+        // get the shortcode option name and hide / show necessary elements
+        shortcodeDropdown = $("#shortcodeDropdown option:selected").text();
+        
+        if(shortcodeDropdown === "glm-members-list"){
+            $("#listBtn").show();
+            $("#detailBtn").hide();
+            $("#category-scDropdown").show();
+            $("#blank-start-scDropdown").show();
+            $("#id-scDropdown").hide();
+            $("#view-scDropdown").show();
+            $("#map-opened-scDropdown").show();
+            $("[id^='packageList']").hide();
+        }
+        
+        if(shortcodeDropdown === "glm-member-detail") {
+            $("#detailBtn").show();
+            $("#listBtn").hide();
+            $("#blank-start-scDropdown").show();
+            $("#category-scDropdown").hide();  
+            $("#id-scDropdown").hide();
+            $("[id^='packageList']").hide();
+        } 
+        
+        if(shortcodeDropdown === "glm-members-packaging-list"){
+            $("#blank-start-scDropdown").hide();
+            $("#listBtn").hide();
+            $("#category-scDropdown").hide();
+            $("#detailBtn").hide();
+            $("#id-scDropdown").hide();
+            $("#packageListAttr").children().show();
+            $("[id^='packageList']").show();
+        } 
+        
+        if (shortcodeDropdown === "glm-members-packaging-detail"){
+            $("#blank-start-scDropdown").hide();
+            $("#listBtn").hide();
+            $("#category-scDropdown").hide();
+            $("#detailBtn").hide();
+            $("#id-scDropdown").show();
+            $("[id^='packageList']").hide();
+        }
+        if (shortcodeDropdown === "glm-members-event-list"){
+            $("#blank-start-scDropdown").hide();
+            $("#listBtn").hide();
+            $("#category-scDropdown").hide();
+            $("#detailBtn").hide();
+            $("[id^='packageList']").hide();
+             $("#id-scDropdown").hide();
+        }
+        if (shortcodeDropdown === "glm-members-event-detail"){
+            $("#blank-start-scDropdown").hide();
+            $("#listBtn").hide();
+            $("#category-scDropdown").hide();
+            $("#detailBtn").hide();
+            $("[id^='packageList']").hide();
+             $("#id-scDropdown").hide();
+        }
+        if (shortcodeDropdown === "glm-members-event-front-add"){
+            $("#blank-start-scDropdown").hide();
+            $("#listBtn").hide();
+            $("#category-scDropdown").hide();
+            $("#detailBtn").hide();
+            $("[id^='packageList']").hide();
+             $("#id-scDropdown").hide();
+        }
+    });
+     
+     // shortcode attribute name from dropdowns containing '-scDropdown' in their ID
+     // Then append the values to the shortcode object
+     $("[id$=-scDropdown]").on("change", function () {
+         target = $(this).attr("id").slice(0, -11);
+         var targetVal = $("#" + target + "-scDropdown option:selected").val();
+         shortcodeValues[target] = targetVal;
+    });
+    // use jquery dialog to separate the checkbox lists
+    $("#listBtn").on("click", function () {
+        $("#showList").dialog().dialog("option", "width", 422 );
+    });
+    $("#detailBtn").on("click", function () {
+        $("#showDetail").dialog().dialog("option", "width", 422);
+    });
+  
+    // generate the shortcode into a string and insert into the content upon clicking
+    $("#generate").on("click", function () {
+        // enforce the selection of a shortcode
+        if(shortcodeDropdown){
+            // set up properties for shortcode lists
+            if(shortcodeDropdown === "glm-members-list"){
+            var listValues = $('input[name="listBox"]:checkbox:checked').map(function() {
+                 boxTarget = $(this).attr("class").slice(0, -5);
+                return this.value;
+            }).get();
+
+            var listString = "";
+                listValues.forEach(function(value){
+                    listString += value + ",";
+                });
+                
+                if(listValues !== ""){
+                    listString = listString.replace(/,\s*$/, "");
+                    shortcodeValues[boxTarget] = listString;
+                }
+
+                // set up properties for detail shortcode
+            } else if( shortcodeDropdown === "glm-member-detail"){
+                var detailValues = $('input[name="detailBox"]:checkbox:checked').map(function() {
+                boxTarget = $(this).attr("class").slice(0, -7);
+                return this.value;
+            }).get();
+            
+                var detailString = '';
+                detailValues.forEach(function(value){
+                    detailString += value + ",";
+                });
+                if(detailValues !== ""){
+                    detailString = detailString.replace(/,\s*$/, "");
+                    shortcodeValues[boxTarget] = detailString;
+                }
+            }
+            // start the shortcode string that will be added to the tinymce editor
+            shortcodeString = "[" + shortcodeDropdown;
+            
+            // populate the shortcode object
+            for (var key in shortcodeValues) {
+                if (shortcodeValues.hasOwnProperty(key)) {
+                    if(key !== "undefined"){
+                        shortcodeString += " " + key + '="' + shortcodeValues[key] +'"';
+                    }
+                }
+            }
+            shortcodeString += ']';
+
+            // insert shortcode at current cursor position
+             if($("#content").css("display") !== "none"){
+                var cursorPos = $('#content').prop('selectionStart');
+                var v = $('#content').val();
+                var textBefore = v.substring(0,  cursorPos );
+                var textAfter  = v.substring( cursorPos, v.length );
+                $('#content').val( textBefore + shortcodeString + textAfter );
+                 
+            } else if($("#content").css("display") === "none") {
+                function insert_tag(text){
+                    if(tinyMCE && tinyMCE.activeEditor)
+                    {
+                        tinyMCE.activeEditor.selection.setContent(text);
+                    }
+                        return false;
+                }
+                insert_tag(shortcodeString);
+            }
+            } else {
+            alert("Please Select a Shortcode");
+        }
+    });
+
+    // reset dropdowns and checkboxes to default values on page reload
+    var scd = document.getElementById('shortcodeDropdown');
+    var catscd = document.getElementById('category-scDropdown');
+    var blank = document.getElementById('blank-start-scDropdown');
+    var list = document.getElementById('type-scList');
+    var members = document.getElementById('member-scDropdown');
+    
+    if(scd){
+        window.onload = document.getElementById('shortcodeDropdown').options[0].selected = 'selected';
+    }
+    if(catscd){
+        window.onload = document.getElementById('category-scDropdown').options[0].selected = 'selected';
+    }
+    if(blank){
+        window.onload = document.getElementById('blank-start-scDropdown').options[0].selected = 'selected';
+    }
+    if(list){
+        window.onload = document.getElementById('type-scList').options[0].selected = 'selected';
+    }
+    if(members){
+        window.onload = document.getElementById('member-scDropdown').options[0].selected = 'selected';
+    }
+   window.onload = UncheckAll();
+     
+    function UncheckAll(){ 
+      var w = document.getElementsByTagName('input'); 
+      for(var i = 0; i < w.length; i++){ 
+        if(w[i].type === 'checkbox'){ 
+          w[i].checked = false; 
+        }
+      }
+    }
 }); 
\ No newline at end of file