Plugin Directory

Changeset 2900743


Ignore:
Timestamp:
04/18/2023 01:55:13 PM (3 years ago)
Author:
mintunmedia
Message:

Update to version 2.3.3 from GitHub

Location:
groups-for-membermouse
Files:
4 edited
1 copied

Legend:

Unmodified
Added
Removed
  • groups-for-membermouse/tags/2.3.3/groups-for-membermouse.php

    r2867087 r2900743  
    44 * Plugin Name: Groups for MemberMouse
    55 * Description: Adds group support to MemberMouse. You can define different types of groups allowing a single customer to pay for multiple seats and members to join existing groups for free or for a price based on how you configure the group type. <strong>Requires MemberMouse to activate and use.</strong>
    6  * Version: 2.3.2
     6 * Version: 2.3.3
    77 * Author: Mintun Media
    88 * Plugin URI:  https://www.mintunmedia.com
  • groups-for-membermouse/tags/2.3.3/js/admin.js

    r2856767 r2900743  
    1 jQuery(document).ready(function(){
    2     // Admin Notices Functionality
    3     // Checkout Page notice
    4     $(document).on('click', '.checkoutpage_notice .notice-dismiss', function(){
    5         jQuery.ajax({
    6             url: dismiss_notices.ajax_url,
    7             data: {
    8                 action: 'dismiss_checkoutpage_notice'
    9             }
    10         });
    11     });
    12 
    13     // Confirmation Page notice
    14     $(document).on('click', '.confirmationpage_notice .notice-dismiss', function(){
    15         jQuery.ajax({
    16             url: dismiss_notices.ajax_url,
    17             data: {
    18                 action: 'dismiss_confirmationpage_notice'
    19             }
    20         });
    21     });
    22 
    23     // Create Group Functionality
    24     jQuery("a#create_group").click(function(){
    25         var height = MGROUP.contentheight();
    26         var width  = MGROUP.contentwidth();
    27         var top    = MGROUP.contentLoadingTop();
    28         var left   = MGROUP.contentLoadingLeft();
    29         jQuery("#create_group_background").height(height);
    30         jQuery("#create_group_loading").css({"top":top, "left":left});
    31         jQuery("#create_group_background").show();
    32         jQuery("#create_group_loading").show();
    33         jQuery("#create_group_content").show();
    34         jQuery
    35             .post( create_group.ajax_url, { _wpnonce: rest_nonce._wpnonce }, 'html' )
    36             .done( function( data ) {
    37                 jQuery("#create_group_content").html(data);
    38                 var contentLeft = MGROUP.contentDataLeft();
    39                 var contentTop = MGROUP.contentDataTop();
    40                 jQuery("#create_group_content").css({"top": contentTop, "left":contentLeft});
    41                 jQuery("#create_group_loading").hide();
    42                 jQuery("#create_group_content").show();
    43             });
    44 
    45     });
     1jQuery(function ($) {
     2  // Admin Notices Functionality
     3  // Checkout Page notice
     4  $(document).on("click", ".checkoutpage_notice .notice-dismiss", function () {
     5    jQuery.ajax({
     6      url: dismiss_notices.ajax_url,
     7      data: {
     8        action: "dismiss_checkoutpage_notice",
     9      },
     10    });
     11  });
     12
     13  // Confirmation Page notice
     14  $(document).on(
     15    "click",
     16    ".confirmationpage_notice .notice-dismiss",
     17    function () {
     18      jQuery.ajax({
     19        url: dismiss_notices.ajax_url,
     20        data: {
     21          action: "dismiss_confirmationpage_notice",
     22        },
     23      });
     24    }
     25  );
     26
     27  // Create Group Functionality
     28  jQuery("a#create_group").click(function () {
     29    var height = MGROUP.contentheight();
     30    var width = MGROUP.contentwidth();
     31    var top = MGROUP.contentLoadingTop();
     32    var left = MGROUP.contentLoadingLeft();
     33    jQuery("#create_group_background").height(height);
     34    jQuery("#create_group_loading").css({ top: top, left: left });
     35    jQuery("#create_group_background").show();
     36    jQuery("#create_group_loading").show();
     37    jQuery("#create_group_content").show();
     38    jQuery
     39      .post(create_group.ajax_url, { _wpnonce: rest_nonce._wpnonce }, "html")
     40      .done(function (data) {
     41        jQuery("#create_group_content").html(data);
     42        var contentLeft = MGROUP.contentDataLeft();
     43        var contentTop = MGROUP.contentDataTop();
     44        jQuery("#create_group_content").css({
     45          top: contentTop,
     46          left: contentLeft,
     47        });
     48        jQuery("#create_group_loading").hide();
     49        jQuery("#create_group_content").show();
     50      });
     51  });
    4652});
    4753
    48 (function($){
    49     MGROUP = {
    50         init: function() {
    51 
    52         },
    53         changeAssociatedAccessValue:function(gVal){
    54             $("#associated_access_value").val(gVal);
    55             if(gVal == 'none'){
    56                 $("#group_membership_access_container").hide();
    57                 $("#group_bundle_access_container").hide();
    58             }else if(gVal == 'membership'){
    59                 $("#group_membership_access_container").show();
    60                 $("#group_bundle_access_container").hide();
    61             }else if(gVal == 'bundle'){
    62                 $("#group_membership_access_container").hide();
    63                 $("#group_bundle_access_container").show();
    64             }
    65         },
    66         closeGroupPopup:function(){
    67             $("#create_group_loading").hide();
    68             $("#create_group_content").html('');
    69             $("#create_group_content").hide();
    70             $("#create_group_background").hide();
    71         },
    72         saveGroupForm:function(groupId){
    73             $(".group-loading-container").show();
    74             var name                = $("#name").val();
    75             var leader_memlevel     = $("#leader_memlevel").val();
    76             var member_memlevel     = $("#member_memlevel").val();
    77             var lCost               = $("#leaderCost").val();
    78             var leader_cost         = 0;
    79             if(lCost == 1){
    80                 leader_cost         = $("#group_leader_cost").val();
    81             }
    82             var mCost               = $("#memberCost").val();
    83             var member_cost         = 0;
    84             if(mCost == 1){
    85                 member_cost         = $("#group_member_cost").val();
    86             }
    87             var group_size          = $("#group_size").val();
    88             var retVar              = false;
    89 
    90             // Error Handling
    91             if(name == ''){
    92                 $("#name").css({"border-color":"#FF0000"});
    93                 $("#nameErr").html("Please enter the Name.");
    94                 retVar = true;
    95             }else{
    96                 $("#name").css({"border-color":"#DFDFDF"});
    97                 $("#nameErr").html('');
    98                 retVar = false;
    99             }
    100 
    101             if(leader_memlevel == ''){
    102                 $("#leader_memlevel").css({"border-color":"#FF0000"});
    103                 $("#leadermemlevelErr").html("Please select the Group Leader Associated Access (Membership Level).");
    104                 retVar = true;
    105             }else{
    106                 $("#leader_memlevel").css({"border-color":"#DFDFDF"});
    107                 $("#leadermemlevelErr").html('');
    108                 retVar = false;
    109             }
    110 
    111             if(lCost == 1 && leader_cost == ''){
    112                 $("#group_leader_cost").css({"border-color":"#FF0000"});
    113                 $("#groupLeaderCostErr").html("Please select the Group Leader Associated Cost (Product).");
    114                 retVar = true;
    115             }else{
    116                 $("#group_leader_cost").css({"border-color":"#DFDFDF"});
    117                 $("#groupLeaderCostErr").html('');
    118                 retVar = false;
    119             }
    120 
    121             if(member_memlevel == ''){
    122                 $("#member_memlevel").css({"border-color":"#FF0000"});
    123                 $("#membermemlevelErr").html("Please select the Group Member Associated Access (Membership Level).");
    124                 retVar = true;
    125             }else{
    126                 $("#member_memlevel").css({"border-color":"#DFDFDF"});
    127                 $("#membermemlevelErr").html('');
    128                 retVar = false;
    129             }
    130 
    131             if(mCost == 1 && member_cost == ''){
    132                 $("#group_member_cost").css({"border-color":"#FF0000"});
    133                 $("#groupMemberCostErr").html("Please select the Group Member Associated Cost.");
    134                 retVar = true;
    135             }else{
    136                 $("#group_member_cost").css({"border-color":"#DFDFDF"});
    137                 $("#groupMemberCostErr").html('');
    138                 retVar = false;
    139             }
    140 
    141             if(group_size == ''){
    142                 $("#group_size").css({"border-color":"#FF0000"});
    143                 $("#groupSizeErr").html("Please enter the Group Size.");
    144                 retVar = true;
    145             }else{
    146                 $("#group_size").css({"border-color":"#DFDFDF"});
    147                 $("#groupSizeErr").html('');
    148                 retVar = false;
    149             }
    150 
    151             if(retVar == true){
    152                 $(".group-loading-container").hide();
    153             }else{
    154                 $(".group-loading-container").show();
    155                 $.ajax({
    156                     type: 'post',
    157                     url : add_group.ajax_url,
    158                     dataType : 'json',
    159                     data: 'name='+name+'&leader_memlevel='+leader_memlevel+'&lCost='+lCost+'&leader_cost='+leader_cost+'&member_memlevel='+member_memlevel+'&mCost='+mCost+'&member_cost='+member_cost+'&group_size='+group_size+'&groupId='+groupId+'&_wpnonce='+rest_nonce._wpnonce,
    160                     success: function(data){
    161                         $.each(data, function(i){
    162                             if(i == "name"){
    163                                 $("#name").css({"border-color":"#FF0000"});
    164                                 $("#nameErr").html(data[i]);
    165                             }else if(i == "leader_memlevel"){
    166                                 $("#leader_memlevel").css({"border-color":"#FF0000"});
    167                                 $("#leadermemlevelErr").html(data[i]);
    168                             }else if(i == "leader_cost"){
    169                                 $("#group_leader_cost").css({"border-color":"#FF0000"});
    170                                 $("#groupLeaderCostErr").html(data[i]);
    171                             }else if(i == "member_memlevel"){
    172                                 $("#member_memlevel").css({"border-color":"#FF0000"});
    173                                 $("#membermemlevelErr").html(data[i]);
    174                             }else if(i == "member_cost"){
    175                                 $("#group_member_cost").css({"border-color":"#FF0000"});
    176                                 $("#groupMemberCostErr").html(data[i]);
    177                             }else if(i == "group_size"){
    178                                 $("#group_size").css({"border-color":"#FF0000"});
    179                                 $("#groupSizeErr").html(data[i]);
    180                             }else if(i == "success"){
    181                                 if(data[i] == "yes"){
    182                                     $(".group-loading-container").hide();
    183                                     $("#group_popup_msg").html('<div class="group_success">Success! Group Saved.</div>');
    184                                     $("#group_popup_msg").show();
    185                                     window.location = 'admin.php?page=groupsformm';
    186                                 }else if(data[i] == "no"){
    187                                     $(".group-loading-container").hide();
    188                                     $("#group_popup_msg").html('<div class="group_failure">Uh oh! An error occured. Please try again.</div>');
    189                                     $("#group_popup_msg").show();
    190                                 }
    191                             }
    192                         });
    193                     }
    194                 });
    195             }
    196         },
    197         showHelpWindow:function(){
    198             var height = MGROUP.contentheight();
    199             var width  = MGROUP.contentwidth();
    200             var top    = MGROUP.contentLoadingTop();
    201             var left   = MGROUP.contentLoadingLeft();
    202             $("#create_group_background").height(height);
    203             $("#create_group_loading").css({"top":top, "left":left});
    204             $("#create_group_background").show();
    205             $("#create_group_loading").show();
    206             $("#create_group_content").show();
    207             $.ajax({
    208                 type: 'post',
    209                 url : show_help_window.ajax_url,
    210                 data: '_wpnonce='+rest_nonce._wpnonce,
    211                 success: function(data){
    212                     $("#create_group_content").html(data);
    213                     var contentLeft = MGROUP.contentDataLeft();
    214                     var contentTop = MGROUP.contentDataTop();
    215                     $("#create_group_content").css({"top": contentTop, "left":contentLeft});
    216                     $("#create_group_loading").hide();
    217                     $("#create_group_content").show();
    218                 }
    219             });
    220         },
    221         editGroup:function(groupId){
    222             var height = MGROUP.contentheight();
    223             var width  = MGROUP.contentwidth();
    224             var top    = MGROUP.contentLoadingTop();
    225             var left   = MGROUP.contentLoadingLeft();
    226             $("#create_group_background").height(height);
    227             $("#create_group_loading").css({"top":top, "left":left});
    228             $("#create_group_background").show();
    229             $("#create_group_loading").show();
    230             $("#create_group_content").show();
    231             $.ajax({
    232                 type: 'post',
    233                 url : create_group.ajax_url,
    234                 data: 'groupId='+groupId+'&_wpnonce='+rest_nonce._wpnonce,
    235                 success: function(data){
    236                     $("#create_group_content").html(data);
    237                     var contentLeft = MGROUP.contentDataLeft();
    238                     var contentTop = MGROUP.contentDataTop();
    239                     $("#create_group_content").css({"top": contentTop, "left":contentLeft});
    240                     $("#create_group_loading").hide();
    241                     $("#create_group_content").show();
    242                 }
    243             });
    244         },
    245         deleteGroup:function(groupId){
    246             var c = confirm("Are you sure you want to delete this group.");
    247             if(c == true){
    248                 var height = MGROUP.contentheight();
    249                 var width  = MGROUP.contentwidth();
    250                 var top    = MGROUP.contentLoadingTop();
    251                 var left   = MGROUP.contentLoadingLeft();
    252                 $("#create_group_background").height(height);
    253                 $("#create_group_loading").css({"top":top, "left":left});
    254                 $("#create_group_background").show();
    255                 $("#create_group_loading").show();
    256                 $.ajax({
    257                     type: 'post',
    258                     url : delete_group.ajax_url,
    259                     dataType : 'json',
    260                     data: 'groupId='+groupId+'&_wpnonce='+rest_nonce._wpnonce,
    261                     success: function(data){
    262                         $.each(data, function(i){
    263                             if(i == "success"){
    264                                 if(data[i] == "yes"){
    265                                     $("#create_group_loading").hide();
    266                                     $("#create_group_background").hide();
    267                                     window.location = 'admin.php?page=groupsformm&delete=1';
    268                                 }else if(data[i] == "no"){
    269                                     $("#create_group_loading").hide();
    270                                     $("#create_group_background").hide();
    271                                     window.location = 'admin.php?page=groupsformm&delete=0';
    272                                 }
    273                             }
    274                         });
    275 
    276                     }
    277                 });
    278             }
    279         },
    280 
    281         deleteGroupData: function(id){
    282             if(confirm("Are you sure you want to delete this Group?")){
    283                 var height = MGROUP.contentheight();
    284                 var width  = MGROUP.contentwidth();
    285                 var top    = MGROUP.contentLoadingTop();
    286                 var left   = MGROUP.contentLoadingLeft();
    287                 $("#create_group_background").height(height);
    288                 $("#create_group_loading").css({"top":top, "left":left});
    289                 $("#create_group_background").show();
    290                 $("#create_group_loading").show();
    291                 $.ajax({
    292                     type        : 'POST',
    293                     url         : delete_group_data.ajax_url,
    294                     data        : 'id='+id+'&_wpnonce='+rest_nonce._wpnonce,
    295                     dataType    : 'json',
    296                     success     : function(data){
    297                         $.each(data, function(i){
    298                             if(data[i] == "yes"){
    299                                 $("#create_group_loading").hide();
    300                                 $("#create_group_background").hide();
    301                                 window.location = 'admin.php?page=groupsformm&type=manage&msg=1';
    302                             }else if(data[i] == "no"){
    303                                 $("#create_group_loading").hide();
    304                                 $("#create_group_background").hide();
    305                                 window.location = 'admin.php?page=groupsformm&type=manage&msg=2';
    306                             }
    307                         });
    308                     }
    309                 });
    310             }
    311         },
    312 
    313         cancelGroup: function(id){
    314             if(confirm('Are you sure you want to cancel this group?')){
    315                 var height = MGROUP.contentheight();
    316                 var width  = MGROUP.contentwidth();
    317                 var top    = MGROUP.contentLoadingTop();
    318                 var left   = MGROUP.contentLoadingLeft();
    319                 $("#create_group_background").height(height);
    320                 $("#create_group_loading").css({"top":top, "left":left});
    321                 $("#create_group_background").show();
    322                 $("#create_group_loading").show();
    323                 $.ajax({
    324                     type        : 'POST',
    325                     url         : cancel_group.ajax_url,
    326                     data        : 'id='+id+'&_wpnonce='+rest_nonce._wpnonce,
    327                     dataType    : 'json',
    328                     success     : function(data){
    329                         $.each(data, function(i){
    330                             if(data[i] == "yes"){
    331                                 $("#create_group_loading").hide();
    332                                 $("#create_group_background").hide();
    333                                 window.location = 'admin.php?page=groupsformm&type=manage&msg=1';
    334                             }else if(data[i] == "no"){
    335                                 $("#create_group_loading").hide();
    336                                 $("#create_group_background").hide();
    337                                 window.location = 'admin.php?page=groupsformm&type=manage&msg=2';
    338                             }
    339                         });
    340                     }
    341                 });
    342             }
    343         },
    344 
    345         activateGroup: function(id){
    346             var height = MGROUP.contentheight();
    347             var width  = MGROUP.contentwidth();
    348             var top    = MGROUP.contentLoadingTop();
    349             var left   = MGROUP.contentLoadingLeft();
    350             $("#create_group_background").height(height);
    351             $("#create_group_loading").css({"top":top, "left":left});
    352             $("#create_group_background").show();
    353             $("#create_group_loading").show();
    354             $.ajax({
    355                 type        : 'POST',
    356                 url         : activate_group.ajax_url,
    357                 data        : 'id='+id+'&_wpnonce='+rest_nonce._wpnonce,
    358                 dataType    : 'json',
    359                 success     : function(data){
    360                     $.each(data, function(i){
    361                         if(data[i] == "yes"){
    362                             $("#create_group_loading").hide();
    363                             $("#create_group_background").hide();
    364                             window.location = 'admin.php?page=groupsformm&type=manage&msg=1';
    365                         }else if(data[i] == "no"){
    366                             $("#create_group_loading").hide();
    367                             $("#create_group_background").hide();
    368                             window.location = 'admin.php?page=groupsformm&type=manage&msg=2';
    369                         }
    370                     });
    371                 }
    372             });
    373         },
    374 
    375         showPurchaseLink:function(prodId, groupId){
    376             var height = MGROUP.contentheight();
    377             var width  = MGROUP.contentwidth();
    378             var top    = MGROUP.contentLoadingTop();
    379             var left   = MGROUP.contentLoadingLeft();
    380             $("#create_group_background").height(height);
    381             $("#create_group_loading").css({"top":top, "left":left});
    382             $("#create_group_background").show();
    383             $("#create_group_loading").show();
    384             $("#create_group_content").show();
    385             $.ajax({
    386                 type: 'post',
    387                 url : purchase_link.ajax_url,
    388                 data: 'prodId='+prodId+'&groupId='+groupId+'&_wpnonce='+rest_nonce._wpnonce,
    389                 success: function(data){
    390                     $("#create_group_content").html(data);
    391                     var contentLeft = MGROUP.contentDataLeft();
    392                     var contentTop = MGROUP.contentDataTop();
    393                     $("#create_group_content").css({"top": contentTop, "left":contentLeft});
    394                     $("#create_group_loading").hide();
    395                     $("#create_group_content").show();
    396                 }
    397             });
    398         },
    399         changeRecordVal:function(recordVal,targetPage){
    400             window.location = targetPage+'&show='+recordVal;
    401         },
    402         editGroupForm:function(gId){
    403             var height = MGROUP.contentheight();
    404             var width  = MGROUP.contentwidth();
    405             var top    = MGROUP.contentLoadingTop();
    406             var left   = MGROUP.contentLoadingLeft();
    407             $("#create_group_background").height(height);
    408             $("#create_group_loading").css({"top":top, "left":left});
    409             $("#create_group_background").show();
    410             $("#create_group_loading").show();
    411             $("#create_group_content").show();
    412             $.ajax({
    413                 type: 'post',
    414                 url : edit_group.ajax_url,
    415                 data: 'gId='+gId+'&_wpnonce='+rest_nonce._wpnonce,
    416                 success: function(data){
    417                     $("#create_group_content").html(data);
    418                     var contentLeft = MGROUP.contentDataLeft();
    419                     var contentTop = MGROUP.contentDataTop();
    420                     $("#create_group_content").css({"top": contentTop, "left":contentLeft});
    421                     $("#create_group_loading").hide();
    422                     $("#create_group_content").show();
    423                 }
    424             });
    425         },
    426         updateGroup:function(gId){
    427             $(".group-loading-container").show();
    428             var group_name              = $("#group_name").val();
    429             var group_size              = $("#group_size").val();
    430             var retVar                      = false;
    431             var current_location    = window.location;
    432 
    433             if(group_name == ''){
    434                 $("#group_namee").css({"border-color":"#FF0000"});
    435                 $("#groupNameErr").html("Please enter the Group  Name.");
    436                 retVar = true;
    437             }else{
    438                 $("#group_name").css({"border-color":"#DFDFDF"});
    439                 $("#groupNaeErr").html('');
    440                 retVar = false;
    441             }
    442 
    443             if(group_size == ''){
    444                 $("#group_size").css({"border-color":"#FF0000"});
    445                 $("#groupSizeErr").html("Please enter the Group Size.");
    446                 retVar = true;
    447             }else{
    448                 $("#group_size").css({"border-color":"#DFDFDF"});
    449                 $("#groupSizeErr").html('');
    450                 retVar = false;
    451             }
    452 
    453             if(retVar == true){
    454                 $(".group-loading-container").hide();
    455             }else{
    456                 $(".group-loading-container").show();
    457                 $.ajax({
    458                     type: 'post',
    459                     url : update_group.ajax_url,
    460                     dataType : 'json',
    461                     data: 'gId='+gId+'&group_size='+group_size+'&group_name='+group_name+'&_wpnonce='+rest_nonce._wpnonce,
    462                     success: function(data){
    463                         $.each(data, function(i){
    464                             if(i == "group_size"){
    465                                 $("#group_size").css({"border-color":"#FF0000"});
    466                                 $("#groupSizeErr").html(data[i]);
    467                             }else if(i == "success"){
    468                                 if(data[i] == "yes"){
    469                                     $(".group-loading-container").hide();
    470                                     $("#group_popup_msg").html('<div class="group_success">Update successful.</div>');
    471                                     $("#group_popup_msg").show();
    472                                     window.location = current_location;
    473                                 }else if(data[i] == "no"){
    474                                     $(".group-loading-container").hide();
    475                                     $("#group_popup_msg").html('<div class="group_failure">An error occured. Please try again later.</div>');
    476                                     $("#group_popup_msg").show();
    477                                 }
    478                             }
    479                         });
    480                     }
    481                 });
    482             }
    483         },
    484         editGroupNameForm:function(group_id,member_id){
    485             var height = MGROUP.contentheight();
    486             var width  = MGROUP.contentwidth();
    487             var top    = MGROUP.contentLoadingTop();
    488             var left   = MGROUP.contentLoadingLeft();
    489             $("#create_group_background").height(height);
    490             $("#create_group_loading").css({"top":top, "left":left});
    491             $("#create_group_background").show();
    492             $("#create_group_loading").show();
    493             $("#create_group_content").show();
    494             $.ajax({
    495                 type: 'post',
    496                 url : edit_group_name.ajax_url,
    497                 data: 'group_id='+group_id+'&member_id='+member_id+'&_wpnonce='+rest_nonce._wpnonce,
    498                 success: function(data){
    499                     $("#create_group_content").html(data);
    500                     var contentLeft = MGROUP.contentDataLeft();
    501                     var contentTop = MGROUP.contentDataTop();
    502                     $("#create_group_content").css({"top": contentTop, "left":contentLeft});
    503                     $("#create_group_loading").hide();
    504                     $("#create_group_content").show();
    505                 }
    506             });
    507         },
    508         updateGroupName:function(group_id, member_id){
    509             $(".group-loading-container").show();
    510             var name                            = $("#name").val();
    511             var retVar                      = false;
    512             var current_location    = window.location;
    513             if(name == ''){
    514                 $("#name").css({"border-color":"#FF0000"});
    515                 $("#nameErr").html("Please enter the Name.");
    516                 retVar = true;
    517             }else{
    518                 $("#name").css({"border-color":"#DFDFDF"});
    519                 $("#nameErr").html('');
    520                 retVar = false;
    521             }
    522 
    523             if(retVar == true){
    524                 $(".group-loading-container").hide();
    525             }else{
    526                 $(".group-loading-container").show();
    527                 $.ajax({
    528                     type: 'post',
    529                     url : update_group_name.ajax_url,
    530                     dataType : 'json',
    531                     data: 'group_id='+group_id+'&name='+name+'&member_id='+member_id+'&_wpnonce='+rest_nonce._wpnonce,
    532                     success: function(data){
    533                         $.each(data, function(i){
    534                             if(i == "name"){
    535                                 $("#name").css({"border-color":"#FF0000"});
    536                                 $("#nameErr").html(data[i]);
    537                             }else if(i == "success"){
    538                                 if(data[i] == "yes"){
    539                                     $(".group-loading-container").hide();
    540                                     $("#group_popup_msg").html('<div class="group_success">Update successful.</div>');
    541                                     $("#group_popup_msg").show();
    542                                     window.location = current_location;
    543                                 }else if(data[i] == "no"){
    544                                     $(".group-loading-container").hide();
    545                                     $("#group_popup_msg").html('<div class="group_failure">An error occured. Please try again later.</div>');
    546                                     $("#group_popup_msg").show();
    547                                 }
    548                             }
    549                         });
    550                     }
    551                 });
    552             }
    553         },
    554         showMemberPurchaseLink:function(group_id, member_id){
    555             var height = MGROUP.contentheight();
    556             var width  = MGROUP.contentwidth();
    557             var top    = MGROUP.contentLoadingTop();
    558             var left   = MGROUP.contentLoadingLeft();
    559             $("#create_group_background").height(height);
    560             $("#create_group_loading").css({"top":top, "left":left});
    561             $("#create_group_background").show();
    562             $("#create_group_loading").show();
    563             $("#create_group_content").show();
    564             $.ajax({
    565                 type: 'post',
    566                 url : show_purchase_link.ajax_url,
    567                 data: 'group_id='+group_id+'&member_id='+member_id+'&_wpnonce='+rest_nonce._wpnonce,
    568                 success: function(data){
    569                     $("#create_group_content").html(data);
    570                     var contentLeft = MGROUP.contentDataLeft();
    571                     var contentTop = MGROUP.contentDataTop();
    572                     $("#create_group_content").css({"top": contentTop, "left":contentLeft});
    573                     $("#create_group_loading").hide();
    574                     $("#create_group_content").show();
    575                 }
    576             });
    577         },
    578         checkUsername:function(group_id){
    579             var username = $("#username").val();
    580             $("#add_user_loading").show();
    581             $.ajax({
    582                 type        : 'post',
    583                 dataType    : 'json',
    584                 data        : 'username='+encodeURIComponent(username)+'&group_id='+group_id+'&_wpnonce='+rest_nonce._wpnonce,
    585                 url         : check_username.ajax_url,
    586                 success     : function(data){
    587                     $("#add_user_loading").hide();
    588                     $.each(data, function(i){
    589                         if(i == "error"){
    590                             $("#add_user_msg").html(data[i]);
    591                             $("#add_user_msg").show();
    592                             $("#add_user_container").html("<a class=\"group-button\" title=\"Check Availability\" onclick=\"javascript:MGROUP.checkUsername('"+group_id+"');\">Check Availability</a>");
    593                             $("#user_id").val(0);
    594                         }else{
    595                             $("#add_user_msg").html(data[i]);
    596                             $("#add_user_msg").show();
    597                             $("#add_user_container").html("<a class=\"group-button button-green\" title=\"Add Member\" id=\"add_user_button\" onclick=\"javascript:MGROUP.addGroupUsers('"+group_id+"','"+i+"');\">Add Member</a>");
    598                             $("#user_id").val(i);
    599                         }
    600                     });
    601                 }
    602 
    603             });
    604         },
    605         addGroupUsers:function(group_id, member_id){
    606             $("#add_user_loading").show();
    607             $.ajax({
    608                 type            : 'POST',
    609                 dataType    : 'json',
    610                 data            : 'group_id='+group_id+'&member_id='+member_id+'&_wpnonce='+rest_nonce._wpnonce,
    611                 url             : add_group_user.ajax_url,
    612                 success     : function(data){
    613                     $("#add_user_loading").hide();
    614                     $.each(data, function(i){
    615                         if(data[i] == "yes"){
    616                             $("#add_user_msg").html('<font class="green-text">Success! We added the member.</font>');
    617                             $("#add_user_msg").show();
    618                             $("#username").val('');
    619                             $("#user_id").val('0');
    620                         }else{
    621                             $("#add_user_msg").html('<font class="red-text">An error occured. Please try again later.</font>');
    622                             $("#add_user_msg").show();
    623                             $("#username").val('');
    624                             $("#user_id").val('0');
    625                         }
    626                     });
    627                 }
    628             });
    629         },
    630         deleteGroupMember:function(gmId, member_id){
    631             var c = confirm('Are you sure you want to remove this member from the group?');
    632             if(c == true){
    633                 var height = MGROUP.contentheight();
    634                 var width  = MGROUP.contentwidth();
    635                 var top    = MGROUP.contentLoadingTop();
    636                 var left   = MGROUP.contentLoadingLeft();
    637                 var current_location = window.location;
    638                 $("#create_group_background").height(height);
    639                 $("#create_group_loading").css({"top":top, "left":left});
    640                 $("#create_group_background").show();
    641                 $("#create_group_loading").show();
    642                 $.ajax({
    643                     type: 'post',
    644                     url : delete_group_member.ajax_url,
    645                     dataType : 'json',
    646                     data: 'gmId='+gmId+'&member_id='+member_id+'&_wpnonce='+rest_nonce._wpnonce,
    647                     success: function(data){
    648                         $.each(data, function(i){
    649                             if(i == "success"){
    650                                 if(data[i] == "yes"){
    651                                     $("#create_group_loading").hide();
    652                                     $("#create_group_background").hide();
    653                                     window.location = current_location + '&delete=1';
    654                                 }else if(data[i] == "no"){
    655                                     $("#create_group_loading").hide();
    656                                     $("#create_group_background").hide();
    657                                     window.location = current_location + '&delete=0';
    658                                 }
    659                             }
    660                         });
    661 
    662                     }
    663                 });
    664             }
    665         },
    666         contentheight:function(){
    667             var height = $(document).height();
    668             return height;
    669         },
    670         contentwidth:function(){
    671             var width  = $(window).width();
    672             return width;
    673         },
    674         contentLoadingTop:function(){
    675             var top = ($(window).height() - 22) / 2;
    676             return top;
    677         },
    678         contentLoadingLeft:function(){
    679             var left = ($(window).width() - 425) / 2;
    680             return left;
    681         },
    682         contentDataLeft:function(){
    683             var width       = $("#group_popup_container").width() + 165;
    684             var contentLeft = ($(window).width() - width) / 2;
    685             return contentLeft;
    686         },
    687         contentDataTop:function(){
    688             var height = $("#group_popup_container").height();
    689             var contentTop = ($(window).height() - height) / 2;
    690             return contentTop;
    691         },
    692         GroupLeaderForm:function(){
    693             var height = MGROUP.contentheight();
    694             var width  = MGROUP.contentwidth();
    695             var top    = MGROUP.contentLoadingTop();
    696             var left   = MGROUP.contentLoadingLeft();
    697             $("#create_group_background").height(height);
    698             $("#create_group_loading").css({"top":top, "left":left});
    699             $("#create_group_background").show();
    700             $("#create_group_loading").show();
    701             $("#create_group_content").show();
    702             $.ajax({
    703                 type: 'post',
    704                 url : group_leader_form.ajax_url,
    705                 data: '_wpnonce='+rest_nonce._wpnonce,
    706                 success: function(data){
    707                     $("#create_group_content").html(data);
    708                     var contentLeft = MGROUP.contentDataLeft();
    709                     var contentTop = MGROUP.contentDataTop();
    710                     $("#create_group_content").css({"top": contentTop, "left":contentLeft});
    711                     $("#create_group_loading").hide();
    712                     $("#create_group_content").show();
    713                 }
    714             });
    715         },
    716         checkGroupUser:function(user){
    717             if(user != ""){
    718                 $("#userLoading").show();
    719                 $.ajax({
    720                     type        : 'POST',
    721                     url         : check_user.ajax_url,
    722                     dataType    : 'json',
    723                     data        : 'user='+encodeURIComponent(user)+'&_wpnonce='+rest_nonce._wpnonce,
    724                     success     : function(data){
    725                         $("#userLoading").hide();
    726                         $.each(data, function(i){
    727                             if(i == "error"){
    728                                 $("#userErr").html(data[i]);
    729                                 $("#user").css({"border-color":"#FF0000"});
    730                                 $("#user_id").val(0);
    731                             }else{
    732                                 $("#user_id").val(data[i]);
    733                                 $("#userErr").html('');
    734                                 $("#user").css({"border-color":"#DFDFDF"});
    735                             }
    736                         });
    737 
    738                     }
    739                 });
    740             }else{
    741                 $("#user").css({"border-color":"#FF0000"});
    742                 $("#user_id").val(0);
    743                 $("#userErr").html('');
    744             }
    745         },
    746         createGroupLeader:function(){
    747             var group_name  = $("#group_name").val();
    748             var group       = $("#group").val();
    749             var user        = $("#user").val();
    750             var user_id     = $("#user_id").val();
    751             var retVar      = false;
    752 
    753             if(group_name == ''){
    754                 $("#groupNameErr").html('Please type the Group Name.');
    755                 $("#group_name").css({"border-color":"#FF0000"});
    756                 retVar = true;
    757             }else{
    758                 $("#groupNameErr").html('');
    759                 $("#group_name").css({"border-color":"#DFDFDF"});
    760                 retVar = false;
    761             }
    762 
    763             if(group == ''){
    764                 $("#groupErr").html('Please select the Group Type.');
    765                 $("#group").css({"border-color":"#FF0000"});
    766                 retVar = true;
    767             }else{
    768                 $("#groupErr").html('');
    769                 $("#group").css({"border-color":"#DFDFDF"});
    770                 retVar = false;
    771             }
    772             if(user == ''){
    773                 $("#userErr").html('Please enter the Group Leader.');
    774                 $("#user").css({"border-color":"#FF0000"});
    775                 retVar = true;
    776             }else{
    777                 $("#userErr").html('');
    778                 $("#user").css({"border-color":"#DFDFDF"});
    779                 retVar = false;
    780             }
    781 
    782             if(retVar == false){
    783                 $(".group-loading-container").show();
    784                 $("#group").css({"border-color":"#DFDFDF"});
    785                 $("#user").css({"border-color":"#DFDFDF"});
    786                 $("#groupErr").html('');
    787                 $("#userErr").html('');
    788                 $.ajax({
    789                     type: 'post',
    790                     url : create_group_leader.ajax_url,
    791                     dataType : 'json',
    792                     data: 'group='+group+'&user='+encodeURIComponent(user)+'&user_id='+user_id+'&group_name='+group_name+'&_wpnonce='+rest_nonce._wpnonce,
    793                     success: function(data){
    794                         $(".group-loading-container").hide();
    795                         $.each(data, function(i){
    796                             if(i == "group"){
    797                                 $("#group").css({"border-color":"#FF0000"});
    798                                 $("#groupErr").html(data[i]);
    799                             }else if(i == "user"){
    800                                 $("#user").css({"border-color":"#FF0000"});
    801                                 $("#userErr").html(data[i]);
    802                             }else if(i == "success"){
    803                                 if(data[i] == "yes"){
    804                                     $(".group-loading-container").hide();
    805                                     $("#group_popup_msg").html('<div class="group_success">Success! We created the group.</div>');
    806                                     $("#group_popup_msg").show();
    807                                     window.location = 'admin.php?page=groupsformm&type=manage';
    808                                 }else if(data[i] == "no"){
    809                                     $(".group-loading-container").hide();
    810                                     $("#group_popup_msg").html('<div class="group_failure">Uh oh, an error occured. Please try again.</div>');
    811                                     $("#group_popup_msg").show();
    812                                 }
    813                             }
    814                         });
    815                     }
    816                 });
    817             }else{
    818                 $(".group-loading-container").hide();
    819             }
    820         },
    821         changeGroupMemberCost:function(levelId){
    822             $("#memberLoading").show();
    823             $.ajax({
    824                 type: 'post',
    825                 url : change_group_cost.ajax_url,
    826                 data: 'levelId='+levelId+'&type=member&_wpnonce='+rest_nonce._wpnonce,
    827                 success: function(data){
    828                     $("#member_associated_cost").html(data);
    829                     $("#memberLoading").hide();
    830                 }
    831             });
    832         },
    833         changeGroupLeaderCost:function(levelId){
    834             $("#leadermemLoading").show();
    835             $.ajax({
    836                 type: 'post',
    837                 url : change_group_cost.ajax_url,
    838                 data: 'levelId='+levelId+'&type=leader&_wpnonce='+rest_nonce._wpnonce,
    839                 success: function(data){
    840                     $("#leader_associated_cost").html(data);
    841                     $("#leadermemLoading").hide();
    842                 }
    843             });
    844         },
    845     }
    846     $(document).ready(function(){
    847         MGROUP.init();
    848     });
     54(function ($) {
     55  MGROUP = {
     56    init: function () {},
     57    changeAssociatedAccessValue: function (gVal) {
     58      $("#associated_access_value").val(gVal);
     59      if (gVal == "none") {
     60        $("#group_membership_access_container").hide();
     61        $("#group_bundle_access_container").hide();
     62      } else if (gVal == "membership") {
     63        $("#group_membership_access_container").show();
     64        $("#group_bundle_access_container").hide();
     65      } else if (gVal == "bundle") {
     66        $("#group_membership_access_container").hide();
     67        $("#group_bundle_access_container").show();
     68      }
     69    },
     70    closeGroupPopup: function () {
     71      $("#create_group_loading").hide();
     72      $("#create_group_content").html("");
     73      $("#create_group_content").hide();
     74      $("#create_group_background").hide();
     75    },
     76    saveGroupForm: function (groupId) {
     77      $(".group-loading-container").show();
     78      var name = $("#name").val();
     79      var leader_memlevel = $("#leader_memlevel").val();
     80      var member_memlevel = $("#member_memlevel").val();
     81      var lCost = $("#leaderCost").val();
     82      var leader_cost = 0;
     83      if (lCost == 1) {
     84        leader_cost = $("#group_leader_cost").val();
     85      }
     86      var mCost = $("#memberCost").val();
     87      var member_cost = 0;
     88      if (mCost == 1) {
     89        member_cost = $("#group_member_cost").val();
     90      }
     91      var group_size = $("#group_size").val();
     92      var retVar = false;
     93
     94      // Error Handling
     95      if (name == "") {
     96        $("#name").css({ "border-color": "#FF0000" });
     97        $("#nameErr").html("Please enter the Name.");
     98        retVar = true;
     99      } else {
     100        $("#name").css({ "border-color": "#DFDFDF" });
     101        $("#nameErr").html("");
     102        retVar = false;
     103      }
     104
     105      if (leader_memlevel == "") {
     106        $("#leader_memlevel").css({ "border-color": "#FF0000" });
     107        $("#leadermemlevelErr").html(
     108          "Please select the Group Leader Associated Access (Membership Level)."
     109        );
     110        retVar = true;
     111      } else {
     112        $("#leader_memlevel").css({ "border-color": "#DFDFDF" });
     113        $("#leadermemlevelErr").html("");
     114        retVar = false;
     115      }
     116
     117      if (lCost == 1 && leader_cost == "") {
     118        $("#group_leader_cost").css({ "border-color": "#FF0000" });
     119        $("#groupLeaderCostErr").html(
     120          "Please select the Group Leader Associated Cost (Product)."
     121        );
     122        retVar = true;
     123      } else {
     124        $("#group_leader_cost").css({ "border-color": "#DFDFDF" });
     125        $("#groupLeaderCostErr").html("");
     126        retVar = false;
     127      }
     128
     129      if (member_memlevel == "") {
     130        $("#member_memlevel").css({ "border-color": "#FF0000" });
     131        $("#membermemlevelErr").html(
     132          "Please select the Group Member Associated Access (Membership Level)."
     133        );
     134        retVar = true;
     135      } else {
     136        $("#member_memlevel").css({ "border-color": "#DFDFDF" });
     137        $("#membermemlevelErr").html("");
     138        retVar = false;
     139      }
     140
     141      if (mCost == 1 && member_cost == "") {
     142        $("#group_member_cost").css({ "border-color": "#FF0000" });
     143        $("#groupMemberCostErr").html(
     144          "Please select the Group Member Associated Cost."
     145        );
     146        retVar = true;
     147      } else {
     148        $("#group_member_cost").css({ "border-color": "#DFDFDF" });
     149        $("#groupMemberCostErr").html("");
     150        retVar = false;
     151      }
     152
     153      if (group_size == "") {
     154        $("#group_size").css({ "border-color": "#FF0000" });
     155        $("#groupSizeErr").html("Please enter the Group Size.");
     156        retVar = true;
     157      } else {
     158        $("#group_size").css({ "border-color": "#DFDFDF" });
     159        $("#groupSizeErr").html("");
     160        retVar = false;
     161      }
     162
     163      if (retVar == true) {
     164        $(".group-loading-container").hide();
     165      } else {
     166        $(".group-loading-container").show();
     167        $.ajax({
     168          type: "post",
     169          url: add_group.ajax_url,
     170          dataType: "json",
     171          data:
     172            "name=" +
     173            name +
     174            "&leader_memlevel=" +
     175            leader_memlevel +
     176            "&lCost=" +
     177            lCost +
     178            "&leader_cost=" +
     179            leader_cost +
     180            "&member_memlevel=" +
     181            member_memlevel +
     182            "&mCost=" +
     183            mCost +
     184            "&member_cost=" +
     185            member_cost +
     186            "&group_size=" +
     187            group_size +
     188            "&groupId=" +
     189            groupId +
     190            "&_wpnonce=" +
     191            rest_nonce._wpnonce,
     192          success: function (data) {
     193            $.each(data, function (i) {
     194              if (i == "name") {
     195                $("#name").css({ "border-color": "#FF0000" });
     196                $("#nameErr").html(data[i]);
     197              } else if (i == "leader_memlevel") {
     198                $("#leader_memlevel").css({ "border-color": "#FF0000" });
     199                $("#leadermemlevelErr").html(data[i]);
     200              } else if (i == "leader_cost") {
     201                $("#group_leader_cost").css({ "border-color": "#FF0000" });
     202                $("#groupLeaderCostErr").html(data[i]);
     203              } else if (i == "member_memlevel") {
     204                $("#member_memlevel").css({ "border-color": "#FF0000" });
     205                $("#membermemlevelErr").html(data[i]);
     206              } else if (i == "member_cost") {
     207                $("#group_member_cost").css({ "border-color": "#FF0000" });
     208                $("#groupMemberCostErr").html(data[i]);
     209              } else if (i == "group_size") {
     210                $("#group_size").css({ "border-color": "#FF0000" });
     211                $("#groupSizeErr").html(data[i]);
     212              } else if (i == "success") {
     213                if (data[i] == "yes") {
     214                  $(".group-loading-container").hide();
     215                  $("#group_popup_msg").html(
     216                    '<div class="group_success">Success! Group Saved.</div>'
     217                  );
     218                  $("#group_popup_msg").show();
     219                  window.location = "admin.php?page=groupsformm";
     220                } else if (data[i] == "no") {
     221                  $(".group-loading-container").hide();
     222                  $("#group_popup_msg").html(
     223                    '<div class="group_failure">Uh oh! An error occured. Please try again.</div>'
     224                  );
     225                  $("#group_popup_msg").show();
     226                }
     227              }
     228            });
     229          },
     230        });
     231      }
     232    },
     233    showHelpWindow: function () {
     234      var height = MGROUP.contentheight();
     235      var width = MGROUP.contentwidth();
     236      var top = MGROUP.contentLoadingTop();
     237      var left = MGROUP.contentLoadingLeft();
     238      $("#create_group_background").height(height);
     239      $("#create_group_loading").css({ top: top, left: left });
     240      $("#create_group_background").show();
     241      $("#create_group_loading").show();
     242      $("#create_group_content").show();
     243      $.ajax({
     244        type: "post",
     245        url: show_help_window.ajax_url,
     246        data: "_wpnonce=" + rest_nonce._wpnonce,
     247        success: function (data) {
     248          $("#create_group_content").html(data);
     249          var contentLeft = MGROUP.contentDataLeft();
     250          var contentTop = MGROUP.contentDataTop();
     251          $("#create_group_content").css({
     252            top: contentTop,
     253            left: contentLeft,
     254          });
     255          $("#create_group_loading").hide();
     256          $("#create_group_content").show();
     257        },
     258      });
     259    },
     260    editGroup: function (groupId) {
     261      var height = MGROUP.contentheight();
     262      var width = MGROUP.contentwidth();
     263      var top = MGROUP.contentLoadingTop();
     264      var left = MGROUP.contentLoadingLeft();
     265      $("#create_group_background").height(height);
     266      $("#create_group_loading").css({ top: top, left: left });
     267      $("#create_group_background").show();
     268      $("#create_group_loading").show();
     269      $("#create_group_content").show();
     270      $.ajax({
     271        type: "post",
     272        url: create_group.ajax_url,
     273        data: "groupId=" + groupId + "&_wpnonce=" + rest_nonce._wpnonce,
     274        success: function (data) {
     275          $("#create_group_content").html(data);
     276          var contentLeft = MGROUP.contentDataLeft();
     277          var contentTop = MGROUP.contentDataTop();
     278          $("#create_group_content").css({
     279            top: contentTop,
     280            left: contentLeft,
     281          });
     282          $("#create_group_loading").hide();
     283          $("#create_group_content").show();
     284        },
     285      });
     286    },
     287    deleteGroup: function (groupId) {
     288      var c = confirm("Are you sure you want to delete this group.");
     289      if (c == true) {
     290        var height = MGROUP.contentheight();
     291        var width = MGROUP.contentwidth();
     292        var top = MGROUP.contentLoadingTop();
     293        var left = MGROUP.contentLoadingLeft();
     294        $("#create_group_background").height(height);
     295        $("#create_group_loading").css({ top: top, left: left });
     296        $("#create_group_background").show();
     297        $("#create_group_loading").show();
     298        $.ajax({
     299          type: "post",
     300          url: delete_group.ajax_url,
     301          dataType: "json",
     302          data: "groupId=" + groupId + "&_wpnonce=" + rest_nonce._wpnonce,
     303          success: function (data) {
     304            $.each(data, function (i) {
     305              if (i == "success") {
     306                if (data[i] == "yes") {
     307                  $("#create_group_loading").hide();
     308                  $("#create_group_background").hide();
     309                  window.location = "admin.php?page=groupsformm&delete=1";
     310                } else if (data[i] == "no") {
     311                  $("#create_group_loading").hide();
     312                  $("#create_group_background").hide();
     313                  window.location = "admin.php?page=groupsformm&delete=0";
     314                }
     315              }
     316            });
     317          },
     318        });
     319      }
     320    },
     321
     322    deleteGroupData: function (id) {
     323      if (confirm("Are you sure you want to delete this Group?")) {
     324        var height = MGROUP.contentheight();
     325        var width = MGROUP.contentwidth();
     326        var top = MGROUP.contentLoadingTop();
     327        var left = MGROUP.contentLoadingLeft();
     328        $("#create_group_background").height(height);
     329        $("#create_group_loading").css({ top: top, left: left });
     330        $("#create_group_background").show();
     331        $("#create_group_loading").show();
     332        $.ajax({
     333          type: "POST",
     334          url: delete_group_data.ajax_url,
     335          data: "id=" + id + "&_wpnonce=" + rest_nonce._wpnonce,
     336          dataType: "json",
     337          success: function (data) {
     338            $.each(data, function (i) {
     339              if (data[i] == "yes") {
     340                $("#create_group_loading").hide();
     341                $("#create_group_background").hide();
     342                window.location =
     343                  "admin.php?page=groupsformm&type=manage&msg=1";
     344              } else if (data[i] == "no") {
     345                $("#create_group_loading").hide();
     346                $("#create_group_background").hide();
     347                window.location =
     348                  "admin.php?page=groupsformm&type=manage&msg=2";
     349              }
     350            });
     351          },
     352        });
     353      }
     354    },
     355
     356    cancelGroup: function (id) {
     357      if (confirm("Are you sure you want to cancel this group?")) {
     358        var height = MGROUP.contentheight();
     359        var width = MGROUP.contentwidth();
     360        var top = MGROUP.contentLoadingTop();
     361        var left = MGROUP.contentLoadingLeft();
     362        $("#create_group_background").height(height);
     363        $("#create_group_loading").css({ top: top, left: left });
     364        $("#create_group_background").show();
     365        $("#create_group_loading").show();
     366        $.ajax({
     367          type: "POST",
     368          url: cancel_group.ajax_url,
     369          data: "id=" + id + "&_wpnonce=" + rest_nonce._wpnonce,
     370          dataType: "json",
     371          success: function (data) {
     372            $.each(data, function (i) {
     373              if (data[i] == "yes") {
     374                $("#create_group_loading").hide();
     375                $("#create_group_background").hide();
     376                window.location =
     377                  "admin.php?page=groupsformm&type=manage&msg=1";
     378              } else if (data[i] == "no") {
     379                $("#create_group_loading").hide();
     380                $("#create_group_background").hide();
     381                window.location =
     382                  "admin.php?page=groupsformm&type=manage&msg=2";
     383              }
     384            });
     385          },
     386        });
     387      }
     388    },
     389
     390    activateGroup: function (id) {
     391      var height = MGROUP.contentheight();
     392      var width = MGROUP.contentwidth();
     393      var top = MGROUP.contentLoadingTop();
     394      var left = MGROUP.contentLoadingLeft();
     395      $("#create_group_background").height(height);
     396      $("#create_group_loading").css({ top: top, left: left });
     397      $("#create_group_background").show();
     398      $("#create_group_loading").show();
     399      $.ajax({
     400        type: "POST",
     401        url: activate_group.ajax_url,
     402        data: "id=" + id + "&_wpnonce=" + rest_nonce._wpnonce,
     403        dataType: "json",
     404        success: function (data) {
     405          $.each(data, function (i) {
     406            if (data[i] == "yes") {
     407              $("#create_group_loading").hide();
     408              $("#create_group_background").hide();
     409              window.location = "admin.php?page=groupsformm&type=manage&msg=1";
     410            } else if (data[i] == "no") {
     411              $("#create_group_loading").hide();
     412              $("#create_group_background").hide();
     413              window.location = "admin.php?page=groupsformm&type=manage&msg=2";
     414            }
     415          });
     416        },
     417      });
     418    },
     419
     420    showPurchaseLink: function (prodId, groupId) {
     421      var height = MGROUP.contentheight();
     422      var width = MGROUP.contentwidth();
     423      var top = MGROUP.contentLoadingTop();
     424      var left = MGROUP.contentLoadingLeft();
     425      $("#create_group_background").height(height);
     426      $("#create_group_loading").css({ top: top, left: left });
     427      $("#create_group_background").show();
     428      $("#create_group_loading").show();
     429      $("#create_group_content").show();
     430      $.ajax({
     431        type: "post",
     432        url: purchase_link.ajax_url,
     433        data:
     434          "prodId=" +
     435          prodId +
     436          "&groupId=" +
     437          groupId +
     438          "&_wpnonce=" +
     439          rest_nonce._wpnonce,
     440        success: function (data) {
     441          $("#create_group_content").html(data);
     442          var contentLeft = MGROUP.contentDataLeft();
     443          var contentTop = MGROUP.contentDataTop();
     444          $("#create_group_content").css({
     445            top: contentTop,
     446            left: contentLeft,
     447          });
     448          $("#create_group_loading").hide();
     449          $("#create_group_content").show();
     450        },
     451      });
     452    },
     453    changeRecordVal: function (recordVal, targetPage) {
     454      window.location = targetPage + "&show=" + recordVal;
     455    },
     456    editGroupForm: function (gId) {
     457      var height = MGROUP.contentheight();
     458      var width = MGROUP.contentwidth();
     459      var top = MGROUP.contentLoadingTop();
     460      var left = MGROUP.contentLoadingLeft();
     461      $("#create_group_background").height(height);
     462      $("#create_group_loading").css({ top: top, left: left });
     463      $("#create_group_background").show();
     464      $("#create_group_loading").show();
     465      $("#create_group_content").show();
     466      $.ajax({
     467        type: "post",
     468        url: edit_group.ajax_url,
     469        data: "gId=" + gId + "&_wpnonce=" + rest_nonce._wpnonce,
     470        success: function (data) {
     471          $("#create_group_content").html(data);
     472          var contentLeft = MGROUP.contentDataLeft();
     473          var contentTop = MGROUP.contentDataTop();
     474          $("#create_group_content").css({
     475            top: contentTop,
     476            left: contentLeft,
     477          });
     478          $("#create_group_loading").hide();
     479          $("#create_group_content").show();
     480        },
     481      });
     482    },
     483    updateGroup: function (gId) {
     484      $(".group-loading-container").show();
     485      var group_name = $("#group_name").val();
     486      var group_size = $("#group_size").val();
     487      var retVar = false;
     488      var current_location = window.location;
     489
     490      if (group_name == "") {
     491        $("#group_namee").css({ "border-color": "#FF0000" });
     492        $("#groupNameErr").html("Please enter the Group  Name.");
     493        retVar = true;
     494      } else {
     495        $("#group_name").css({ "border-color": "#DFDFDF" });
     496        $("#groupNaeErr").html("");
     497        retVar = false;
     498      }
     499
     500      if (group_size == "") {
     501        $("#group_size").css({ "border-color": "#FF0000" });
     502        $("#groupSizeErr").html("Please enter the Group Size.");
     503        retVar = true;
     504      } else {
     505        $("#group_size").css({ "border-color": "#DFDFDF" });
     506        $("#groupSizeErr").html("");
     507        retVar = false;
     508      }
     509
     510      if (retVar == true) {
     511        $(".group-loading-container").hide();
     512      } else {
     513        $(".group-loading-container").show();
     514        $.ajax({
     515          type: "post",
     516          url: update_group.ajax_url,
     517          dataType: "json",
     518          data:
     519            "gId=" +
     520            gId +
     521            "&group_size=" +
     522            group_size +
     523            "&group_name=" +
     524            group_name +
     525            "&_wpnonce=" +
     526            rest_nonce._wpnonce,
     527          success: function (data) {
     528            $.each(data, function (i) {
     529              if (i == "group_size") {
     530                $("#group_size").css({ "border-color": "#FF0000" });
     531                $("#groupSizeErr").html(data[i]);
     532              } else if (i == "success") {
     533                if (data[i] == "yes") {
     534                  $(".group-loading-container").hide();
     535                  $("#group_popup_msg").html(
     536                    '<div class="group_success">Update successful.</div>'
     537                  );
     538                  $("#group_popup_msg").show();
     539                  window.location = current_location;
     540                } else if (data[i] == "no") {
     541                  $(".group-loading-container").hide();
     542                  $("#group_popup_msg").html(
     543                    '<div class="group_failure">An error occured. Please try again later.</div>'
     544                  );
     545                  $("#group_popup_msg").show();
     546                }
     547              }
     548            });
     549          },
     550        });
     551      }
     552    },
     553    editGroupNameForm: function (group_id, member_id) {
     554      var height = MGROUP.contentheight();
     555      var width = MGROUP.contentwidth();
     556      var top = MGROUP.contentLoadingTop();
     557      var left = MGROUP.contentLoadingLeft();
     558      $("#create_group_background").height(height);
     559      $("#create_group_loading").css({ top: top, left: left });
     560      $("#create_group_background").show();
     561      $("#create_group_loading").show();
     562      $("#create_group_content").show();
     563      $.ajax({
     564        type: "post",
     565        url: edit_group_name.ajax_url,
     566        data:
     567          "group_id=" +
     568          group_id +
     569          "&member_id=" +
     570          member_id +
     571          "&_wpnonce=" +
     572          rest_nonce._wpnonce,
     573        success: function (data) {
     574          $("#create_group_content").html(data);
     575          var contentLeft = MGROUP.contentDataLeft();
     576          var contentTop = MGROUP.contentDataTop();
     577          $("#create_group_content").css({
     578            top: contentTop,
     579            left: contentLeft,
     580          });
     581          $("#create_group_loading").hide();
     582          $("#create_group_content").show();
     583        },
     584      });
     585    },
     586    updateGroupName: function (group_id, member_id) {
     587      $(".group-loading-container").show();
     588      var name = $("#name").val();
     589      var retVar = false;
     590      var current_location = window.location;
     591      if (name == "") {
     592        $("#name").css({ "border-color": "#FF0000" });
     593        $("#nameErr").html("Please enter the Name.");
     594        retVar = true;
     595      } else {
     596        $("#name").css({ "border-color": "#DFDFDF" });
     597        $("#nameErr").html("");
     598        retVar = false;
     599      }
     600
     601      if (retVar == true) {
     602        $(".group-loading-container").hide();
     603      } else {
     604        $(".group-loading-container").show();
     605        $.ajax({
     606          type: "post",
     607          url: update_group_name.ajax_url,
     608          dataType: "json",
     609          data:
     610            "group_id=" +
     611            group_id +
     612            "&name=" +
     613            name +
     614            "&member_id=" +
     615            member_id +
     616            "&_wpnonce=" +
     617            rest_nonce._wpnonce,
     618          success: function (data) {
     619            $.each(data, function (i) {
     620              if (i == "name") {
     621                $("#name").css({ "border-color": "#FF0000" });
     622                $("#nameErr").html(data[i]);
     623              } else if (i == "success") {
     624                if (data[i] == "yes") {
     625                  $(".group-loading-container").hide();
     626                  $("#group_popup_msg").html(
     627                    '<div class="group_success">Update successful.</div>'
     628                  );
     629                  $("#group_popup_msg").show();
     630                  window.location = current_location;
     631                } else if (data[i] == "no") {
     632                  $(".group-loading-container").hide();
     633                  $("#group_popup_msg").html(
     634                    '<div class="group_failure">An error occured. Please try again later.</div>'
     635                  );
     636                  $("#group_popup_msg").show();
     637                }
     638              }
     639            });
     640          },
     641        });
     642      }
     643    },
     644    showMemberPurchaseLink: function (group_id, member_id) {
     645      var height = MGROUP.contentheight();
     646      var width = MGROUP.contentwidth();
     647      var top = MGROUP.contentLoadingTop();
     648      var left = MGROUP.contentLoadingLeft();
     649      $("#create_group_background").height(height);
     650      $("#create_group_loading").css({ top: top, left: left });
     651      $("#create_group_background").show();
     652      $("#create_group_loading").show();
     653      $("#create_group_content").show();
     654      $.ajax({
     655        type: "post",
     656        url: show_purchase_link.ajax_url,
     657        data:
     658          "group_id=" +
     659          group_id +
     660          "&member_id=" +
     661          member_id +
     662          "&_wpnonce=" +
     663          rest_nonce._wpnonce,
     664        success: function (data) {
     665          $("#create_group_content").html(data);
     666          var contentLeft = MGROUP.contentDataLeft();
     667          var contentTop = MGROUP.contentDataTop();
     668          $("#create_group_content").css({
     669            top: contentTop,
     670            left: contentLeft,
     671          });
     672          $("#create_group_loading").hide();
     673          $("#create_group_content").show();
     674        },
     675      });
     676    },
     677    checkUsername: function (group_id) {
     678      var username = $("#username").val();
     679      $("#add_user_loading").show();
     680      $.ajax({
     681        type: "post",
     682        dataType: "json",
     683        data:
     684          "username=" +
     685          encodeURIComponent(username) +
     686          "&group_id=" +
     687          group_id +
     688          "&_wpnonce=" +
     689          rest_nonce._wpnonce,
     690        url: check_username.ajax_url,
     691        success: function (data) {
     692          $("#add_user_loading").hide();
     693          $.each(data, function (i) {
     694            if (i == "error") {
     695              $("#add_user_msg").html(data[i]);
     696              $("#add_user_msg").show();
     697              $("#add_user_container").html(
     698                '<a class="group-button" title="Check Availability" onclick="javascript:MGROUP.checkUsername(\'' +
     699                  group_id +
     700                  "');\">Check Availability</a>"
     701              );
     702              $("#user_id").val(0);
     703            } else {
     704              $("#add_user_msg").html(data[i]);
     705              $("#add_user_msg").show();
     706              $("#add_user_container").html(
     707                '<a class="group-button button-green" title="Add Member" id="add_user_button" onclick="javascript:MGROUP.addGroupUsers(\'' +
     708                  group_id +
     709                  "','" +
     710                  i +
     711                  "');\">Add Member</a>"
     712              );
     713              $("#user_id").val(i);
     714            }
     715          });
     716        },
     717      });
     718    },
     719    addGroupUsers: function (group_id, member_id) {
     720      $("#add_user_loading").show();
     721      $.ajax({
     722        type: "POST",
     723        dataType: "json",
     724        data:
     725          "group_id=" +
     726          group_id +
     727          "&member_id=" +
     728          member_id +
     729          "&_wpnonce=" +
     730          rest_nonce._wpnonce,
     731        url: add_group_user.ajax_url,
     732        success: function (data) {
     733          $("#add_user_loading").hide();
     734          $.each(data, function (i) {
     735            if (data[i] == "yes") {
     736              $("#add_user_msg").html(
     737                '<font class="green-text">Success! We added the member.</font>'
     738              );
     739              $("#add_user_msg").show();
     740              $("#username").val("");
     741              $("#user_id").val("0");
     742            } else {
     743              $("#add_user_msg").html(
     744                '<font class="red-text">An error occured. Please try again later.</font>'
     745              );
     746              $("#add_user_msg").show();
     747              $("#username").val("");
     748              $("#user_id").val("0");
     749            }
     750          });
     751        },
     752      });
     753    },
     754    deleteGroupMember: function (gmId, member_id) {
     755      var c = confirm(
     756        "Are you sure you want to remove this member from the group?"
     757      );
     758      if (c == true) {
     759        var height = MGROUP.contentheight();
     760        var width = MGROUP.contentwidth();
     761        var top = MGROUP.contentLoadingTop();
     762        var left = MGROUP.contentLoadingLeft();
     763        var current_location = window.location;
     764        $("#create_group_background").height(height);
     765        $("#create_group_loading").css({ top: top, left: left });
     766        $("#create_group_background").show();
     767        $("#create_group_loading").show();
     768        $.ajax({
     769          type: "post",
     770          url: delete_group_member.ajax_url,
     771          dataType: "json",
     772          data:
     773            "gmId=" +
     774            gmId +
     775            "&member_id=" +
     776            member_id +
     777            "&_wpnonce=" +
     778            rest_nonce._wpnonce,
     779          success: function (data) {
     780            $.each(data, function (i) {
     781              if (i == "success") {
     782                if (data[i] == "yes") {
     783                  $("#create_group_loading").hide();
     784                  $("#create_group_background").hide();
     785                  window.location = current_location + "&delete=1";
     786                } else if (data[i] == "no") {
     787                  $("#create_group_loading").hide();
     788                  $("#create_group_background").hide();
     789                  window.location = current_location + "&delete=0";
     790                }
     791              }
     792            });
     793          },
     794        });
     795      }
     796    },
     797    contentheight: function () {
     798      var height = $(document).height();
     799      return height;
     800    },
     801    contentwidth: function () {
     802      var width = $(window).width();
     803      return width;
     804    },
     805    contentLoadingTop: function () {
     806      var top = ($(window).height() - 22) / 2;
     807      return top;
     808    },
     809    contentLoadingLeft: function () {
     810      var left = ($(window).width() - 425) / 2;
     811      return left;
     812    },
     813    contentDataLeft: function () {
     814      var width = $("#group_popup_container").width() + 165;
     815      var contentLeft = ($(window).width() - width) / 2;
     816      return contentLeft;
     817    },
     818    contentDataTop: function () {
     819      var height = $("#group_popup_container").height();
     820      var contentTop = ($(window).height() - height) / 2;
     821      return contentTop;
     822    },
     823    GroupLeaderForm: function () {
     824      var height = MGROUP.contentheight();
     825      var width = MGROUP.contentwidth();
     826      var top = MGROUP.contentLoadingTop();
     827      var left = MGROUP.contentLoadingLeft();
     828      $("#create_group_background").height(height);
     829      $("#create_group_loading").css({ top: top, left: left });
     830      $("#create_group_background").show();
     831      $("#create_group_loading").show();
     832      $("#create_group_content").show();
     833      $.ajax({
     834        type: "post",
     835        url: group_leader_form.ajax_url,
     836        data: "_wpnonce=" + rest_nonce._wpnonce,
     837        success: function (data) {
     838          $("#create_group_content").html(data);
     839          var contentLeft = MGROUP.contentDataLeft();
     840          var contentTop = MGROUP.contentDataTop();
     841          $("#create_group_content").css({
     842            top: contentTop,
     843            left: contentLeft,
     844          });
     845          $("#create_group_loading").hide();
     846          $("#create_group_content").show();
     847        },
     848      });
     849    },
     850    checkGroupUser: function (user) {
     851      if (user != "") {
     852        $("#userLoading").show();
     853        $.ajax({
     854          type: "POST",
     855          url: check_user.ajax_url,
     856          dataType: "json",
     857          data:
     858            "user=" +
     859            encodeURIComponent(user) +
     860            "&_wpnonce=" +
     861            rest_nonce._wpnonce,
     862          success: function (data) {
     863            $("#userLoading").hide();
     864            $.each(data, function (i) {
     865              if (i == "error") {
     866                $("#userErr").html(data[i]);
     867                $("#user").css({ "border-color": "#FF0000" });
     868                $("#user_id").val(0);
     869              } else {
     870                $("#user_id").val(data[i]);
     871                $("#userErr").html("");
     872                $("#user").css({ "border-color": "#DFDFDF" });
     873              }
     874            });
     875          },
     876        });
     877      } else {
     878        $("#user").css({ "border-color": "#FF0000" });
     879        $("#user_id").val(0);
     880        $("#userErr").html("");
     881      }
     882    },
     883    createGroupLeader: function () {
     884      var group_name = $("#group_name").val();
     885      var group = $("#group").val();
     886      var user = $("#user").val();
     887      var user_id = $("#user_id").val();
     888      var retVar = false;
     889
     890      if (group_name == "") {
     891        $("#groupNameErr").html("Please type the Group Name.");
     892        $("#group_name").css({ "border-color": "#FF0000" });
     893        retVar = true;
     894      } else {
     895        $("#groupNameErr").html("");
     896        $("#group_name").css({ "border-color": "#DFDFDF" });
     897        retVar = false;
     898      }
     899
     900      if (group == "") {
     901        $("#groupErr").html("Please select the Group Type.");
     902        $("#group").css({ "border-color": "#FF0000" });
     903        retVar = true;
     904      } else {
     905        $("#groupErr").html("");
     906        $("#group").css({ "border-color": "#DFDFDF" });
     907        retVar = false;
     908      }
     909      if (user == "") {
     910        $("#userErr").html("Please enter the Group Leader.");
     911        $("#user").css({ "border-color": "#FF0000" });
     912        retVar = true;
     913      } else {
     914        $("#userErr").html("");
     915        $("#user").css({ "border-color": "#DFDFDF" });
     916        retVar = false;
     917      }
     918
     919      if (retVar == false) {
     920        $(".group-loading-container").show();
     921        $("#group").css({ "border-color": "#DFDFDF" });
     922        $("#user").css({ "border-color": "#DFDFDF" });
     923        $("#groupErr").html("");
     924        $("#userErr").html("");
     925        $.ajax({
     926          type: "post",
     927          url: create_group_leader.ajax_url,
     928          dataType: "json",
     929          data:
     930            "group=" +
     931            group +
     932            "&user=" +
     933            encodeURIComponent(user) +
     934            "&user_id=" +
     935            user_id +
     936            "&group_name=" +
     937            group_name +
     938            "&_wpnonce=" +
     939            rest_nonce._wpnonce,
     940          success: function (data) {
     941            $(".group-loading-container").hide();
     942            $.each(data, function (i) {
     943              if (i == "group") {
     944                $("#group").css({ "border-color": "#FF0000" });
     945                $("#groupErr").html(data[i]);
     946              } else if (i == "user") {
     947                $("#user").css({ "border-color": "#FF0000" });
     948                $("#userErr").html(data[i]);
     949              } else if (i == "success") {
     950                if (data[i] == "yes") {
     951                  $(".group-loading-container").hide();
     952                  $("#group_popup_msg").html(
     953                    '<div class="group_success">Success! We created the group.</div>'
     954                  );
     955                  $("#group_popup_msg").show();
     956                  window.location = "admin.php?page=groupsformm&type=manage";
     957                } else if (data[i] == "no") {
     958                  $(".group-loading-container").hide();
     959                  $("#group_popup_msg").html(
     960                    '<div class="group_failure">Uh oh, an error occured. Please try again.</div>'
     961                  );
     962                  $("#group_popup_msg").show();
     963                }
     964              }
     965            });
     966          },
     967        });
     968      } else {
     969        $(".group-loading-container").hide();
     970      }
     971    },
     972    changeGroupMemberCost: function (levelId) {
     973      $("#memberLoading").show();
     974      $.ajax({
     975        type: "post",
     976        url: change_group_cost.ajax_url,
     977        data:
     978          "levelId=" + levelId + "&type=member&_wpnonce=" + rest_nonce._wpnonce,
     979        success: function (data) {
     980          $("#member_associated_cost").html(data);
     981          $("#memberLoading").hide();
     982        },
     983      });
     984    },
     985    changeGroupLeaderCost: function (levelId) {
     986      $("#leadermemLoading").show();
     987      $.ajax({
     988        type: "post",
     989        url: change_group_cost.ajax_url,
     990        data:
     991          "levelId=" + levelId + "&type=leader&_wpnonce=" + rest_nonce._wpnonce,
     992        success: function (data) {
     993          $("#leader_associated_cost").html(data);
     994          $("#leadermemLoading").hide();
     995        },
     996      });
     997    },
     998  };
     999  $(document).ready(function () {
     1000    MGROUP.init();
     1001  });
    8491002})(jQuery);
  • groups-for-membermouse/trunk/groups-for-membermouse.php

    r2867087 r2900743  
    44 * Plugin Name: Groups for MemberMouse
    55 * Description: Adds group support to MemberMouse. You can define different types of groups allowing a single customer to pay for multiple seats and members to join existing groups for free or for a price based on how you configure the group type. <strong>Requires MemberMouse to activate and use.</strong>
    6  * Version: 2.3.2
     6 * Version: 2.3.3
    77 * Author: Mintun Media
    88 * Plugin URI:  https://www.mintunmedia.com
  • groups-for-membermouse/trunk/js/admin.js

    r2856767 r2900743  
    1 jQuery(document).ready(function(){
    2     // Admin Notices Functionality
    3     // Checkout Page notice
    4     $(document).on('click', '.checkoutpage_notice .notice-dismiss', function(){
    5         jQuery.ajax({
    6             url: dismiss_notices.ajax_url,
    7             data: {
    8                 action: 'dismiss_checkoutpage_notice'
    9             }
    10         });
    11     });
    12 
    13     // Confirmation Page notice
    14     $(document).on('click', '.confirmationpage_notice .notice-dismiss', function(){
    15         jQuery.ajax({
    16             url: dismiss_notices.ajax_url,
    17             data: {
    18                 action: 'dismiss_confirmationpage_notice'
    19             }
    20         });
    21     });
    22 
    23     // Create Group Functionality
    24     jQuery("a#create_group").click(function(){
    25         var height = MGROUP.contentheight();
    26         var width  = MGROUP.contentwidth();
    27         var top    = MGROUP.contentLoadingTop();
    28         var left   = MGROUP.contentLoadingLeft();
    29         jQuery("#create_group_background").height(height);
    30         jQuery("#create_group_loading").css({"top":top, "left":left});
    31         jQuery("#create_group_background").show();
    32         jQuery("#create_group_loading").show();
    33         jQuery("#create_group_content").show();
    34         jQuery
    35             .post( create_group.ajax_url, { _wpnonce: rest_nonce._wpnonce }, 'html' )
    36             .done( function( data ) {
    37                 jQuery("#create_group_content").html(data);
    38                 var contentLeft = MGROUP.contentDataLeft();
    39                 var contentTop = MGROUP.contentDataTop();
    40                 jQuery("#create_group_content").css({"top": contentTop, "left":contentLeft});
    41                 jQuery("#create_group_loading").hide();
    42                 jQuery("#create_group_content").show();
    43             });
    44 
    45     });
     1jQuery(function ($) {
     2  // Admin Notices Functionality
     3  // Checkout Page notice
     4  $(document).on("click", ".checkoutpage_notice .notice-dismiss", function () {
     5    jQuery.ajax({
     6      url: dismiss_notices.ajax_url,
     7      data: {
     8        action: "dismiss_checkoutpage_notice",
     9      },
     10    });
     11  });
     12
     13  // Confirmation Page notice
     14  $(document).on(
     15    "click",
     16    ".confirmationpage_notice .notice-dismiss",
     17    function () {
     18      jQuery.ajax({
     19        url: dismiss_notices.ajax_url,
     20        data: {
     21          action: "dismiss_confirmationpage_notice",
     22        },
     23      });
     24    }
     25  );
     26
     27  // Create Group Functionality
     28  jQuery("a#create_group").click(function () {
     29    var height = MGROUP.contentheight();
     30    var width = MGROUP.contentwidth();
     31    var top = MGROUP.contentLoadingTop();
     32    var left = MGROUP.contentLoadingLeft();
     33    jQuery("#create_group_background").height(height);
     34    jQuery("#create_group_loading").css({ top: top, left: left });
     35    jQuery("#create_group_background").show();
     36    jQuery("#create_group_loading").show();
     37    jQuery("#create_group_content").show();
     38    jQuery
     39      .post(create_group.ajax_url, { _wpnonce: rest_nonce._wpnonce }, "html")
     40      .done(function (data) {
     41        jQuery("#create_group_content").html(data);
     42        var contentLeft = MGROUP.contentDataLeft();
     43        var contentTop = MGROUP.contentDataTop();
     44        jQuery("#create_group_content").css({
     45          top: contentTop,
     46          left: contentLeft,
     47        });
     48        jQuery("#create_group_loading").hide();
     49        jQuery("#create_group_content").show();
     50      });
     51  });
    4652});
    4753
    48 (function($){
    49     MGROUP = {
    50         init: function() {
    51 
    52         },
    53         changeAssociatedAccessValue:function(gVal){
    54             $("#associated_access_value").val(gVal);
    55             if(gVal == 'none'){
    56                 $("#group_membership_access_container").hide();
    57                 $("#group_bundle_access_container").hide();
    58             }else if(gVal == 'membership'){
    59                 $("#group_membership_access_container").show();
    60                 $("#group_bundle_access_container").hide();
    61             }else if(gVal == 'bundle'){
    62                 $("#group_membership_access_container").hide();
    63                 $("#group_bundle_access_container").show();
    64             }
    65         },
    66         closeGroupPopup:function(){
    67             $("#create_group_loading").hide();
    68             $("#create_group_content").html('');
    69             $("#create_group_content").hide();
    70             $("#create_group_background").hide();
    71         },
    72         saveGroupForm:function(groupId){
    73             $(".group-loading-container").show();
    74             var name                = $("#name").val();
    75             var leader_memlevel     = $("#leader_memlevel").val();
    76             var member_memlevel     = $("#member_memlevel").val();
    77             var lCost               = $("#leaderCost").val();
    78             var leader_cost         = 0;
    79             if(lCost == 1){
    80                 leader_cost         = $("#group_leader_cost").val();
    81             }
    82             var mCost               = $("#memberCost").val();
    83             var member_cost         = 0;
    84             if(mCost == 1){
    85                 member_cost         = $("#group_member_cost").val();
    86             }
    87             var group_size          = $("#group_size").val();
    88             var retVar              = false;
    89 
    90             // Error Handling
    91             if(name == ''){
    92                 $("#name").css({"border-color":"#FF0000"});
    93                 $("#nameErr").html("Please enter the Name.");
    94                 retVar = true;
    95             }else{
    96                 $("#name").css({"border-color":"#DFDFDF"});
    97                 $("#nameErr").html('');
    98                 retVar = false;
    99             }
    100 
    101             if(leader_memlevel == ''){
    102                 $("#leader_memlevel").css({"border-color":"#FF0000"});
    103                 $("#leadermemlevelErr").html("Please select the Group Leader Associated Access (Membership Level).");
    104                 retVar = true;
    105             }else{
    106                 $("#leader_memlevel").css({"border-color":"#DFDFDF"});
    107                 $("#leadermemlevelErr").html('');
    108                 retVar = false;
    109             }
    110 
    111             if(lCost == 1 && leader_cost == ''){
    112                 $("#group_leader_cost").css({"border-color":"#FF0000"});
    113                 $("#groupLeaderCostErr").html("Please select the Group Leader Associated Cost (Product).");
    114                 retVar = true;
    115             }else{
    116                 $("#group_leader_cost").css({"border-color":"#DFDFDF"});
    117                 $("#groupLeaderCostErr").html('');
    118                 retVar = false;
    119             }
    120 
    121             if(member_memlevel == ''){
    122                 $("#member_memlevel").css({"border-color":"#FF0000"});
    123                 $("#membermemlevelErr").html("Please select the Group Member Associated Access (Membership Level).");
    124                 retVar = true;
    125             }else{
    126                 $("#member_memlevel").css({"border-color":"#DFDFDF"});
    127                 $("#membermemlevelErr").html('');
    128                 retVar = false;
    129             }
    130 
    131             if(mCost == 1 && member_cost == ''){
    132                 $("#group_member_cost").css({"border-color":"#FF0000"});
    133                 $("#groupMemberCostErr").html("Please select the Group Member Associated Cost.");
    134                 retVar = true;
    135             }else{
    136                 $("#group_member_cost").css({"border-color":"#DFDFDF"});
    137                 $("#groupMemberCostErr").html('');
    138                 retVar = false;
    139             }
    140 
    141             if(group_size == ''){
    142                 $("#group_size").css({"border-color":"#FF0000"});
    143                 $("#groupSizeErr").html("Please enter the Group Size.");
    144                 retVar = true;
    145             }else{
    146                 $("#group_size").css({"border-color":"#DFDFDF"});
    147                 $("#groupSizeErr").html('');
    148                 retVar = false;
    149             }
    150 
    151             if(retVar == true){
    152                 $(".group-loading-container").hide();
    153             }else{
    154                 $(".group-loading-container").show();
    155                 $.ajax({
    156                     type: 'post',
    157                     url : add_group.ajax_url,
    158                     dataType : 'json',
    159                     data: 'name='+name+'&leader_memlevel='+leader_memlevel+'&lCost='+lCost+'&leader_cost='+leader_cost+'&member_memlevel='+member_memlevel+'&mCost='+mCost+'&member_cost='+member_cost+'&group_size='+group_size+'&groupId='+groupId+'&_wpnonce='+rest_nonce._wpnonce,
    160                     success: function(data){
    161                         $.each(data, function(i){
    162                             if(i == "name"){
    163                                 $("#name").css({"border-color":"#FF0000"});
    164                                 $("#nameErr").html(data[i]);
    165                             }else if(i == "leader_memlevel"){
    166                                 $("#leader_memlevel").css({"border-color":"#FF0000"});
    167                                 $("#leadermemlevelErr").html(data[i]);
    168                             }else if(i == "leader_cost"){
    169                                 $("#group_leader_cost").css({"border-color":"#FF0000"});
    170                                 $("#groupLeaderCostErr").html(data[i]);
    171                             }else if(i == "member_memlevel"){
    172                                 $("#member_memlevel").css({"border-color":"#FF0000"});
    173                                 $("#membermemlevelErr").html(data[i]);
    174                             }else if(i == "member_cost"){
    175                                 $("#group_member_cost").css({"border-color":"#FF0000"});
    176                                 $("#groupMemberCostErr").html(data[i]);
    177                             }else if(i == "group_size"){
    178                                 $("#group_size").css({"border-color":"#FF0000"});
    179                                 $("#groupSizeErr").html(data[i]);
    180                             }else if(i == "success"){
    181                                 if(data[i] == "yes"){
    182                                     $(".group-loading-container").hide();
    183                                     $("#group_popup_msg").html('<div class="group_success">Success! Group Saved.</div>');
    184                                     $("#group_popup_msg").show();
    185                                     window.location = 'admin.php?page=groupsformm';
    186                                 }else if(data[i] == "no"){
    187                                     $(".group-loading-container").hide();
    188                                     $("#group_popup_msg").html('<div class="group_failure">Uh oh! An error occured. Please try again.</div>');
    189                                     $("#group_popup_msg").show();
    190                                 }
    191                             }
    192                         });
    193                     }
    194                 });
    195             }
    196         },
    197         showHelpWindow:function(){
    198             var height = MGROUP.contentheight();
    199             var width  = MGROUP.contentwidth();
    200             var top    = MGROUP.contentLoadingTop();
    201             var left   = MGROUP.contentLoadingLeft();
    202             $("#create_group_background").height(height);
    203             $("#create_group_loading").css({"top":top, "left":left});
    204             $("#create_group_background").show();
    205             $("#create_group_loading").show();
    206             $("#create_group_content").show();
    207             $.ajax({
    208                 type: 'post',
    209                 url : show_help_window.ajax_url,
    210                 data: '_wpnonce='+rest_nonce._wpnonce,
    211                 success: function(data){
    212                     $("#create_group_content").html(data);
    213                     var contentLeft = MGROUP.contentDataLeft();
    214                     var contentTop = MGROUP.contentDataTop();
    215                     $("#create_group_content").css({"top": contentTop, "left":contentLeft});
    216                     $("#create_group_loading").hide();
    217                     $("#create_group_content").show();
    218                 }
    219             });
    220         },
    221         editGroup:function(groupId){
    222             var height = MGROUP.contentheight();
    223             var width  = MGROUP.contentwidth();
    224             var top    = MGROUP.contentLoadingTop();
    225             var left   = MGROUP.contentLoadingLeft();
    226             $("#create_group_background").height(height);
    227             $("#create_group_loading").css({"top":top, "left":left});
    228             $("#create_group_background").show();
    229             $("#create_group_loading").show();
    230             $("#create_group_content").show();
    231             $.ajax({
    232                 type: 'post',
    233                 url : create_group.ajax_url,
    234                 data: 'groupId='+groupId+'&_wpnonce='+rest_nonce._wpnonce,
    235                 success: function(data){
    236                     $("#create_group_content").html(data);
    237                     var contentLeft = MGROUP.contentDataLeft();
    238                     var contentTop = MGROUP.contentDataTop();
    239                     $("#create_group_content").css({"top": contentTop, "left":contentLeft});
    240                     $("#create_group_loading").hide();
    241                     $("#create_group_content").show();
    242                 }
    243             });
    244         },
    245         deleteGroup:function(groupId){
    246             var c = confirm("Are you sure you want to delete this group.");
    247             if(c == true){
    248                 var height = MGROUP.contentheight();
    249                 var width  = MGROUP.contentwidth();
    250                 var top    = MGROUP.contentLoadingTop();
    251                 var left   = MGROUP.contentLoadingLeft();
    252                 $("#create_group_background").height(height);
    253                 $("#create_group_loading").css({"top":top, "left":left});
    254                 $("#create_group_background").show();
    255                 $("#create_group_loading").show();
    256                 $.ajax({
    257                     type: 'post',
    258                     url : delete_group.ajax_url,
    259                     dataType : 'json',
    260                     data: 'groupId='+groupId+'&_wpnonce='+rest_nonce._wpnonce,
    261                     success: function(data){
    262                         $.each(data, function(i){
    263                             if(i == "success"){
    264                                 if(data[i] == "yes"){
    265                                     $("#create_group_loading").hide();
    266                                     $("#create_group_background").hide();
    267                                     window.location = 'admin.php?page=groupsformm&delete=1';
    268                                 }else if(data[i] == "no"){
    269                                     $("#create_group_loading").hide();
    270                                     $("#create_group_background").hide();
    271                                     window.location = 'admin.php?page=groupsformm&delete=0';
    272                                 }
    273                             }
    274                         });
    275 
    276                     }
    277                 });
    278             }
    279         },
    280 
    281         deleteGroupData: function(id){
    282             if(confirm("Are you sure you want to delete this Group?")){
    283                 var height = MGROUP.contentheight();
    284                 var width  = MGROUP.contentwidth();
    285                 var top    = MGROUP.contentLoadingTop();
    286                 var left   = MGROUP.contentLoadingLeft();
    287                 $("#create_group_background").height(height);
    288                 $("#create_group_loading").css({"top":top, "left":left});
    289                 $("#create_group_background").show();
    290                 $("#create_group_loading").show();
    291                 $.ajax({
    292                     type        : 'POST',
    293                     url         : delete_group_data.ajax_url,
    294                     data        : 'id='+id+'&_wpnonce='+rest_nonce._wpnonce,
    295                     dataType    : 'json',
    296                     success     : function(data){
    297                         $.each(data, function(i){
    298                             if(data[i] == "yes"){
    299                                 $("#create_group_loading").hide();
    300                                 $("#create_group_background").hide();
    301                                 window.location = 'admin.php?page=groupsformm&type=manage&msg=1';
    302                             }else if(data[i] == "no"){
    303                                 $("#create_group_loading").hide();
    304                                 $("#create_group_background").hide();
    305                                 window.location = 'admin.php?page=groupsformm&type=manage&msg=2';
    306                             }
    307                         });
    308                     }
    309                 });
    310             }
    311         },
    312 
    313         cancelGroup: function(id){
    314             if(confirm('Are you sure you want to cancel this group?')){
    315                 var height = MGROUP.contentheight();
    316                 var width  = MGROUP.contentwidth();
    317                 var top    = MGROUP.contentLoadingTop();
    318                 var left   = MGROUP.contentLoadingLeft();
    319                 $("#create_group_background").height(height);
    320                 $("#create_group_loading").css({"top":top, "left":left});
    321                 $("#create_group_background").show();
    322                 $("#create_group_loading").show();
    323                 $.ajax({
    324                     type        : 'POST',
    325                     url         : cancel_group.ajax_url,
    326                     data        : 'id='+id+'&_wpnonce='+rest_nonce._wpnonce,
    327                     dataType    : 'json',
    328                     success     : function(data){
    329                         $.each(data, function(i){
    330                             if(data[i] == "yes"){
    331                                 $("#create_group_loading").hide();
    332                                 $("#create_group_background").hide();
    333                                 window.location = 'admin.php?page=groupsformm&type=manage&msg=1';
    334                             }else if(data[i] == "no"){
    335                                 $("#create_group_loading").hide();
    336                                 $("#create_group_background").hide();
    337                                 window.location = 'admin.php?page=groupsformm&type=manage&msg=2';
    338                             }
    339                         });
    340                     }
    341                 });
    342             }
    343         },
    344 
    345         activateGroup: function(id){
    346             var height = MGROUP.contentheight();
    347             var width  = MGROUP.contentwidth();
    348             var top    = MGROUP.contentLoadingTop();
    349             var left   = MGROUP.contentLoadingLeft();
    350             $("#create_group_background").height(height);
    351             $("#create_group_loading").css({"top":top, "left":left});
    352             $("#create_group_background").show();
    353             $("#create_group_loading").show();
    354             $.ajax({
    355                 type        : 'POST',
    356                 url         : activate_group.ajax_url,
    357                 data        : 'id='+id+'&_wpnonce='+rest_nonce._wpnonce,
    358                 dataType    : 'json',
    359                 success     : function(data){
    360                     $.each(data, function(i){
    361                         if(data[i] == "yes"){
    362                             $("#create_group_loading").hide();
    363                             $("#create_group_background").hide();
    364                             window.location = 'admin.php?page=groupsformm&type=manage&msg=1';
    365                         }else if(data[i] == "no"){
    366                             $("#create_group_loading").hide();
    367                             $("#create_group_background").hide();
    368                             window.location = 'admin.php?page=groupsformm&type=manage&msg=2';
    369                         }
    370                     });
    371                 }
    372             });
    373         },
    374 
    375         showPurchaseLink:function(prodId, groupId){
    376             var height = MGROUP.contentheight();
    377             var width  = MGROUP.contentwidth();
    378             var top    = MGROUP.contentLoadingTop();
    379             var left   = MGROUP.contentLoadingLeft();
    380             $("#create_group_background").height(height);
    381             $("#create_group_loading").css({"top":top, "left":left});
    382             $("#create_group_background").show();
    383             $("#create_group_loading").show();
    384             $("#create_group_content").show();
    385             $.ajax({
    386                 type: 'post',
    387                 url : purchase_link.ajax_url,
    388                 data: 'prodId='+prodId+'&groupId='+groupId+'&_wpnonce='+rest_nonce._wpnonce,
    389                 success: function(data){
    390                     $("#create_group_content").html(data);
    391                     var contentLeft = MGROUP.contentDataLeft();
    392                     var contentTop = MGROUP.contentDataTop();
    393                     $("#create_group_content").css({"top": contentTop, "left":contentLeft});
    394                     $("#create_group_loading").hide();
    395                     $("#create_group_content").show();
    396                 }
    397             });
    398         },
    399         changeRecordVal:function(recordVal,targetPage){
    400             window.location = targetPage+'&show='+recordVal;
    401         },
    402         editGroupForm:function(gId){
    403             var height = MGROUP.contentheight();
    404             var width  = MGROUP.contentwidth();
    405             var top    = MGROUP.contentLoadingTop();
    406             var left   = MGROUP.contentLoadingLeft();
    407             $("#create_group_background").height(height);
    408             $("#create_group_loading").css({"top":top, "left":left});
    409             $("#create_group_background").show();
    410             $("#create_group_loading").show();
    411             $("#create_group_content").show();
    412             $.ajax({
    413                 type: 'post',
    414                 url : edit_group.ajax_url,
    415                 data: 'gId='+gId+'&_wpnonce='+rest_nonce._wpnonce,
    416                 success: function(data){
    417                     $("#create_group_content").html(data);
    418                     var contentLeft = MGROUP.contentDataLeft();
    419                     var contentTop = MGROUP.contentDataTop();
    420                     $("#create_group_content").css({"top": contentTop, "left":contentLeft});
    421                     $("#create_group_loading").hide();
    422                     $("#create_group_content").show();
    423                 }
    424             });
    425         },
    426         updateGroup:function(gId){
    427             $(".group-loading-container").show();
    428             var group_name              = $("#group_name").val();
    429             var group_size              = $("#group_size").val();
    430             var retVar                      = false;
    431             var current_location    = window.location;
    432 
    433             if(group_name == ''){
    434                 $("#group_namee").css({"border-color":"#FF0000"});
    435                 $("#groupNameErr").html("Please enter the Group  Name.");
    436                 retVar = true;
    437             }else{
    438                 $("#group_name").css({"border-color":"#DFDFDF"});
    439                 $("#groupNaeErr").html('');
    440                 retVar = false;
    441             }
    442 
    443             if(group_size == ''){
    444                 $("#group_size").css({"border-color":"#FF0000"});
    445                 $("#groupSizeErr").html("Please enter the Group Size.");
    446                 retVar = true;
    447             }else{
    448                 $("#group_size").css({"border-color":"#DFDFDF"});
    449                 $("#groupSizeErr").html('');
    450                 retVar = false;
    451             }
    452 
    453             if(retVar == true){
    454                 $(".group-loading-container").hide();
    455             }else{
    456                 $(".group-loading-container").show();
    457                 $.ajax({
    458                     type: 'post',
    459                     url : update_group.ajax_url,
    460                     dataType : 'json',
    461                     data: 'gId='+gId+'&group_size='+group_size+'&group_name='+group_name+'&_wpnonce='+rest_nonce._wpnonce,
    462                     success: function(data){
    463                         $.each(data, function(i){
    464                             if(i == "group_size"){
    465                                 $("#group_size").css({"border-color":"#FF0000"});
    466                                 $("#groupSizeErr").html(data[i]);
    467                             }else if(i == "success"){
    468                                 if(data[i] == "yes"){
    469                                     $(".group-loading-container").hide();
    470                                     $("#group_popup_msg").html('<div class="group_success">Update successful.</div>');
    471                                     $("#group_popup_msg").show();
    472                                     window.location = current_location;
    473                                 }else if(data[i] == "no"){
    474                                     $(".group-loading-container").hide();
    475                                     $("#group_popup_msg").html('<div class="group_failure">An error occured. Please try again later.</div>');
    476                                     $("#group_popup_msg").show();
    477                                 }
    478                             }
    479                         });
    480                     }
    481                 });
    482             }
    483         },
    484         editGroupNameForm:function(group_id,member_id){
    485             var height = MGROUP.contentheight();
    486             var width  = MGROUP.contentwidth();
    487             var top    = MGROUP.contentLoadingTop();
    488             var left   = MGROUP.contentLoadingLeft();
    489             $("#create_group_background").height(height);
    490             $("#create_group_loading").css({"top":top, "left":left});
    491             $("#create_group_background").show();
    492             $("#create_group_loading").show();
    493             $("#create_group_content").show();
    494             $.ajax({
    495                 type: 'post',
    496                 url : edit_group_name.ajax_url,
    497                 data: 'group_id='+group_id+'&member_id='+member_id+'&_wpnonce='+rest_nonce._wpnonce,
    498                 success: function(data){
    499                     $("#create_group_content").html(data);
    500                     var contentLeft = MGROUP.contentDataLeft();
    501                     var contentTop = MGROUP.contentDataTop();
    502                     $("#create_group_content").css({"top": contentTop, "left":contentLeft});
    503                     $("#create_group_loading").hide();
    504                     $("#create_group_content").show();
    505                 }
    506             });
    507         },
    508         updateGroupName:function(group_id, member_id){
    509             $(".group-loading-container").show();
    510             var name                            = $("#name").val();
    511             var retVar                      = false;
    512             var current_location    = window.location;
    513             if(name == ''){
    514                 $("#name").css({"border-color":"#FF0000"});
    515                 $("#nameErr").html("Please enter the Name.");
    516                 retVar = true;
    517             }else{
    518                 $("#name").css({"border-color":"#DFDFDF"});
    519                 $("#nameErr").html('');
    520                 retVar = false;
    521             }
    522 
    523             if(retVar == true){
    524                 $(".group-loading-container").hide();
    525             }else{
    526                 $(".group-loading-container").show();
    527                 $.ajax({
    528                     type: 'post',
    529                     url : update_group_name.ajax_url,
    530                     dataType : 'json',
    531                     data: 'group_id='+group_id+'&name='+name+'&member_id='+member_id+'&_wpnonce='+rest_nonce._wpnonce,
    532                     success: function(data){
    533                         $.each(data, function(i){
    534                             if(i == "name"){
    535                                 $("#name").css({"border-color":"#FF0000"});
    536                                 $("#nameErr").html(data[i]);
    537                             }else if(i == "success"){
    538                                 if(data[i] == "yes"){
    539                                     $(".group-loading-container").hide();
    540                                     $("#group_popup_msg").html('<div class="group_success">Update successful.</div>');
    541                                     $("#group_popup_msg").show();
    542                                     window.location = current_location;
    543                                 }else if(data[i] == "no"){
    544                                     $(".group-loading-container").hide();
    545                                     $("#group_popup_msg").html('<div class="group_failure">An error occured. Please try again later.</div>');
    546                                     $("#group_popup_msg").show();
    547                                 }
    548                             }
    549                         });
    550                     }
    551                 });
    552             }
    553         },
    554         showMemberPurchaseLink:function(group_id, member_id){
    555             var height = MGROUP.contentheight();
    556             var width  = MGROUP.contentwidth();
    557             var top    = MGROUP.contentLoadingTop();
    558             var left   = MGROUP.contentLoadingLeft();
    559             $("#create_group_background").height(height);
    560             $("#create_group_loading").css({"top":top, "left":left});
    561             $("#create_group_background").show();
    562             $("#create_group_loading").show();
    563             $("#create_group_content").show();
    564             $.ajax({
    565                 type: 'post',
    566                 url : show_purchase_link.ajax_url,
    567                 data: 'group_id='+group_id+'&member_id='+member_id+'&_wpnonce='+rest_nonce._wpnonce,
    568                 success: function(data){
    569                     $("#create_group_content").html(data);
    570                     var contentLeft = MGROUP.contentDataLeft();
    571                     var contentTop = MGROUP.contentDataTop();
    572                     $("#create_group_content").css({"top": contentTop, "left":contentLeft});
    573                     $("#create_group_loading").hide();
    574                     $("#create_group_content").show();
    575                 }
    576             });
    577         },
    578         checkUsername:function(group_id){
    579             var username = $("#username").val();
    580             $("#add_user_loading").show();
    581             $.ajax({
    582                 type        : 'post',
    583                 dataType    : 'json',
    584                 data        : 'username='+encodeURIComponent(username)+'&group_id='+group_id+'&_wpnonce='+rest_nonce._wpnonce,
    585                 url         : check_username.ajax_url,
    586                 success     : function(data){
    587                     $("#add_user_loading").hide();
    588                     $.each(data, function(i){
    589                         if(i == "error"){
    590                             $("#add_user_msg").html(data[i]);
    591                             $("#add_user_msg").show();
    592                             $("#add_user_container").html("<a class=\"group-button\" title=\"Check Availability\" onclick=\"javascript:MGROUP.checkUsername('"+group_id+"');\">Check Availability</a>");
    593                             $("#user_id").val(0);
    594                         }else{
    595                             $("#add_user_msg").html(data[i]);
    596                             $("#add_user_msg").show();
    597                             $("#add_user_container").html("<a class=\"group-button button-green\" title=\"Add Member\" id=\"add_user_button\" onclick=\"javascript:MGROUP.addGroupUsers('"+group_id+"','"+i+"');\">Add Member</a>");
    598                             $("#user_id").val(i);
    599                         }
    600                     });
    601                 }
    602 
    603             });
    604         },
    605         addGroupUsers:function(group_id, member_id){
    606             $("#add_user_loading").show();
    607             $.ajax({
    608                 type            : 'POST',
    609                 dataType    : 'json',
    610                 data            : 'group_id='+group_id+'&member_id='+member_id+'&_wpnonce='+rest_nonce._wpnonce,
    611                 url             : add_group_user.ajax_url,
    612                 success     : function(data){
    613                     $("#add_user_loading").hide();
    614                     $.each(data, function(i){
    615                         if(data[i] == "yes"){
    616                             $("#add_user_msg").html('<font class="green-text">Success! We added the member.</font>');
    617                             $("#add_user_msg").show();
    618                             $("#username").val('');
    619                             $("#user_id").val('0');
    620                         }else{
    621                             $("#add_user_msg").html('<font class="red-text">An error occured. Please try again later.</font>');
    622                             $("#add_user_msg").show();
    623                             $("#username").val('');
    624                             $("#user_id").val('0');
    625                         }
    626                     });
    627                 }
    628             });
    629         },
    630         deleteGroupMember:function(gmId, member_id){
    631             var c = confirm('Are you sure you want to remove this member from the group?');
    632             if(c == true){
    633                 var height = MGROUP.contentheight();
    634                 var width  = MGROUP.contentwidth();
    635                 var top    = MGROUP.contentLoadingTop();
    636                 var left   = MGROUP.contentLoadingLeft();
    637                 var current_location = window.location;
    638                 $("#create_group_background").height(height);
    639                 $("#create_group_loading").css({"top":top, "left":left});
    640                 $("#create_group_background").show();
    641                 $("#create_group_loading").show();
    642                 $.ajax({
    643                     type: 'post',
    644                     url : delete_group_member.ajax_url,
    645                     dataType : 'json',
    646                     data: 'gmId='+gmId+'&member_id='+member_id+'&_wpnonce='+rest_nonce._wpnonce,
    647                     success: function(data){
    648                         $.each(data, function(i){
    649                             if(i == "success"){
    650                                 if(data[i] == "yes"){
    651                                     $("#create_group_loading").hide();
    652                                     $("#create_group_background").hide();
    653                                     window.location = current_location + '&delete=1';
    654                                 }else if(data[i] == "no"){
    655                                     $("#create_group_loading").hide();
    656                                     $("#create_group_background").hide();
    657                                     window.location = current_location + '&delete=0';
    658                                 }
    659                             }
    660                         });
    661 
    662                     }
    663                 });
    664             }
    665         },
    666         contentheight:function(){
    667             var height = $(document).height();
    668             return height;
    669         },
    670         contentwidth:function(){
    671             var width  = $(window).width();
    672             return width;
    673         },
    674         contentLoadingTop:function(){
    675             var top = ($(window).height() - 22) / 2;
    676             return top;
    677         },
    678         contentLoadingLeft:function(){
    679             var left = ($(window).width() - 425) / 2;
    680             return left;
    681         },
    682         contentDataLeft:function(){
    683             var width       = $("#group_popup_container").width() + 165;
    684             var contentLeft = ($(window).width() - width) / 2;
    685             return contentLeft;
    686         },
    687         contentDataTop:function(){
    688             var height = $("#group_popup_container").height();
    689             var contentTop = ($(window).height() - height) / 2;
    690             return contentTop;
    691         },
    692         GroupLeaderForm:function(){
    693             var height = MGROUP.contentheight();
    694             var width  = MGROUP.contentwidth();
    695             var top    = MGROUP.contentLoadingTop();
    696             var left   = MGROUP.contentLoadingLeft();
    697             $("#create_group_background").height(height);
    698             $("#create_group_loading").css({"top":top, "left":left});
    699             $("#create_group_background").show();
    700             $("#create_group_loading").show();
    701             $("#create_group_content").show();
    702             $.ajax({
    703                 type: 'post',
    704                 url : group_leader_form.ajax_url,
    705                 data: '_wpnonce='+rest_nonce._wpnonce,
    706                 success: function(data){
    707                     $("#create_group_content").html(data);
    708                     var contentLeft = MGROUP.contentDataLeft();
    709                     var contentTop = MGROUP.contentDataTop();
    710                     $("#create_group_content").css({"top": contentTop, "left":contentLeft});
    711                     $("#create_group_loading").hide();
    712                     $("#create_group_content").show();
    713                 }
    714             });
    715         },
    716         checkGroupUser:function(user){
    717             if(user != ""){
    718                 $("#userLoading").show();
    719                 $.ajax({
    720                     type        : 'POST',
    721                     url         : check_user.ajax_url,
    722                     dataType    : 'json',
    723                     data        : 'user='+encodeURIComponent(user)+'&_wpnonce='+rest_nonce._wpnonce,
    724                     success     : function(data){
    725                         $("#userLoading").hide();
    726                         $.each(data, function(i){
    727                             if(i == "error"){
    728                                 $("#userErr").html(data[i]);
    729                                 $("#user").css({"border-color":"#FF0000"});
    730                                 $("#user_id").val(0);
    731                             }else{
    732                                 $("#user_id").val(data[i]);
    733                                 $("#userErr").html('');
    734                                 $("#user").css({"border-color":"#DFDFDF"});
    735                             }
    736                         });
    737 
    738                     }
    739                 });
    740             }else{
    741                 $("#user").css({"border-color":"#FF0000"});
    742                 $("#user_id").val(0);
    743                 $("#userErr").html('');
    744             }
    745         },
    746         createGroupLeader:function(){
    747             var group_name  = $("#group_name").val();
    748             var group       = $("#group").val();
    749             var user        = $("#user").val();
    750             var user_id     = $("#user_id").val();
    751             var retVar      = false;
    752 
    753             if(group_name == ''){
    754                 $("#groupNameErr").html('Please type the Group Name.');
    755                 $("#group_name").css({"border-color":"#FF0000"});
    756                 retVar = true;
    757             }else{
    758                 $("#groupNameErr").html('');
    759                 $("#group_name").css({"border-color":"#DFDFDF"});
    760                 retVar = false;
    761             }
    762 
    763             if(group == ''){
    764                 $("#groupErr").html('Please select the Group Type.');
    765                 $("#group").css({"border-color":"#FF0000"});
    766                 retVar = true;
    767             }else{
    768                 $("#groupErr").html('');
    769                 $("#group").css({"border-color":"#DFDFDF"});
    770                 retVar = false;
    771             }
    772             if(user == ''){
    773                 $("#userErr").html('Please enter the Group Leader.');
    774                 $("#user").css({"border-color":"#FF0000"});
    775                 retVar = true;
    776             }else{
    777                 $("#userErr").html('');
    778                 $("#user").css({"border-color":"#DFDFDF"});
    779                 retVar = false;
    780             }
    781 
    782             if(retVar == false){
    783                 $(".group-loading-container").show();
    784                 $("#group").css({"border-color":"#DFDFDF"});
    785                 $("#user").css({"border-color":"#DFDFDF"});
    786                 $("#groupErr").html('');
    787                 $("#userErr").html('');
    788                 $.ajax({
    789                     type: 'post',
    790                     url : create_group_leader.ajax_url,
    791                     dataType : 'json',
    792                     data: 'group='+group+'&user='+encodeURIComponent(user)+'&user_id='+user_id+'&group_name='+group_name+'&_wpnonce='+rest_nonce._wpnonce,
    793                     success: function(data){
    794                         $(".group-loading-container").hide();
    795                         $.each(data, function(i){
    796                             if(i == "group"){
    797                                 $("#group").css({"border-color":"#FF0000"});
    798                                 $("#groupErr").html(data[i]);
    799                             }else if(i == "user"){
    800                                 $("#user").css({"border-color":"#FF0000"});
    801                                 $("#userErr").html(data[i]);
    802                             }else if(i == "success"){
    803                                 if(data[i] == "yes"){
    804                                     $(".group-loading-container").hide();
    805                                     $("#group_popup_msg").html('<div class="group_success">Success! We created the group.</div>');
    806                                     $("#group_popup_msg").show();
    807                                     window.location = 'admin.php?page=groupsformm&type=manage';
    808                                 }else if(data[i] == "no"){
    809                                     $(".group-loading-container").hide();
    810                                     $("#group_popup_msg").html('<div class="group_failure">Uh oh, an error occured. Please try again.</div>');
    811                                     $("#group_popup_msg").show();
    812                                 }
    813                             }
    814                         });
    815                     }
    816                 });
    817             }else{
    818                 $(".group-loading-container").hide();
    819             }
    820         },
    821         changeGroupMemberCost:function(levelId){
    822             $("#memberLoading").show();
    823             $.ajax({
    824                 type: 'post',
    825                 url : change_group_cost.ajax_url,
    826                 data: 'levelId='+levelId+'&type=member&_wpnonce='+rest_nonce._wpnonce,
    827                 success: function(data){
    828                     $("#member_associated_cost").html(data);
    829                     $("#memberLoading").hide();
    830                 }
    831             });
    832         },
    833         changeGroupLeaderCost:function(levelId){
    834             $("#leadermemLoading").show();
    835             $.ajax({
    836                 type: 'post',
    837                 url : change_group_cost.ajax_url,
    838                 data: 'levelId='+levelId+'&type=leader&_wpnonce='+rest_nonce._wpnonce,
    839                 success: function(data){
    840                     $("#leader_associated_cost").html(data);
    841                     $("#leadermemLoading").hide();
    842                 }
    843             });
    844         },
    845     }
    846     $(document).ready(function(){
    847         MGROUP.init();
    848     });
     54(function ($) {
     55  MGROUP = {
     56    init: function () {},
     57    changeAssociatedAccessValue: function (gVal) {
     58      $("#associated_access_value").val(gVal);
     59      if (gVal == "none") {
     60        $("#group_membership_access_container").hide();
     61        $("#group_bundle_access_container").hide();
     62      } else if (gVal == "membership") {
     63        $("#group_membership_access_container").show();
     64        $("#group_bundle_access_container").hide();
     65      } else if (gVal == "bundle") {
     66        $("#group_membership_access_container").hide();
     67        $("#group_bundle_access_container").show();
     68      }
     69    },
     70    closeGroupPopup: function () {
     71      $("#create_group_loading").hide();
     72      $("#create_group_content").html("");
     73      $("#create_group_content").hide();
     74      $("#create_group_background").hide();
     75    },
     76    saveGroupForm: function (groupId) {
     77      $(".group-loading-container").show();
     78      var name = $("#name").val();
     79      var leader_memlevel = $("#leader_memlevel").val();
     80      var member_memlevel = $("#member_memlevel").val();
     81      var lCost = $("#leaderCost").val();
     82      var leader_cost = 0;
     83      if (lCost == 1) {
     84        leader_cost = $("#group_leader_cost").val();
     85      }
     86      var mCost = $("#memberCost").val();
     87      var member_cost = 0;
     88      if (mCost == 1) {
     89        member_cost = $("#group_member_cost").val();
     90      }
     91      var group_size = $("#group_size").val();
     92      var retVar = false;
     93
     94      // Error Handling
     95      if (name == "") {
     96        $("#name").css({ "border-color": "#FF0000" });
     97        $("#nameErr").html("Please enter the Name.");
     98        retVar = true;
     99      } else {
     100        $("#name").css({ "border-color": "#DFDFDF" });
     101        $("#nameErr").html("");
     102        retVar = false;
     103      }
     104
     105      if (leader_memlevel == "") {
     106        $("#leader_memlevel").css({ "border-color": "#FF0000" });
     107        $("#leadermemlevelErr").html(
     108          "Please select the Group Leader Associated Access (Membership Level)."
     109        );
     110        retVar = true;
     111      } else {
     112        $("#leader_memlevel").css({ "border-color": "#DFDFDF" });
     113        $("#leadermemlevelErr").html("");
     114        retVar = false;
     115      }
     116
     117      if (lCost == 1 && leader_cost == "") {
     118        $("#group_leader_cost").css({ "border-color": "#FF0000" });
     119        $("#groupLeaderCostErr").html(
     120          "Please select the Group Leader Associated Cost (Product)."
     121        );
     122        retVar = true;
     123      } else {
     124        $("#group_leader_cost").css({ "border-color": "#DFDFDF" });
     125        $("#groupLeaderCostErr").html("");
     126        retVar = false;
     127      }
     128
     129      if (member_memlevel == "") {
     130        $("#member_memlevel").css({ "border-color": "#FF0000" });
     131        $("#membermemlevelErr").html(
     132          "Please select the Group Member Associated Access (Membership Level)."
     133        );
     134        retVar = true;
     135      } else {
     136        $("#member_memlevel").css({ "border-color": "#DFDFDF" });
     137        $("#membermemlevelErr").html("");
     138        retVar = false;
     139      }
     140
     141      if (mCost == 1 && member_cost == "") {
     142        $("#group_member_cost").css({ "border-color": "#FF0000" });
     143        $("#groupMemberCostErr").html(
     144          "Please select the Group Member Associated Cost."
     145        );
     146        retVar = true;
     147      } else {
     148        $("#group_member_cost").css({ "border-color": "#DFDFDF" });
     149        $("#groupMemberCostErr").html("");
     150        retVar = false;
     151      }
     152
     153      if (group_size == "") {
     154        $("#group_size").css({ "border-color": "#FF0000" });
     155        $("#groupSizeErr").html("Please enter the Group Size.");
     156        retVar = true;
     157      } else {
     158        $("#group_size").css({ "border-color": "#DFDFDF" });
     159        $("#groupSizeErr").html("");
     160        retVar = false;
     161      }
     162
     163      if (retVar == true) {
     164        $(".group-loading-container").hide();
     165      } else {
     166        $(".group-loading-container").show();
     167        $.ajax({
     168          type: "post",
     169          url: add_group.ajax_url,
     170          dataType: "json",
     171          data:
     172            "name=" +
     173            name +
     174            "&leader_memlevel=" +
     175            leader_memlevel +
     176            "&lCost=" +
     177            lCost +
     178            "&leader_cost=" +
     179            leader_cost +
     180            "&member_memlevel=" +
     181            member_memlevel +
     182            "&mCost=" +
     183            mCost +
     184            "&member_cost=" +
     185            member_cost +
     186            "&group_size=" +
     187            group_size +
     188            "&groupId=" +
     189            groupId +
     190            "&_wpnonce=" +
     191            rest_nonce._wpnonce,
     192          success: function (data) {
     193            $.each(data, function (i) {
     194              if (i == "name") {
     195                $("#name").css({ "border-color": "#FF0000" });
     196                $("#nameErr").html(data[i]);
     197              } else if (i == "leader_memlevel") {
     198                $("#leader_memlevel").css({ "border-color": "#FF0000" });
     199                $("#leadermemlevelErr").html(data[i]);
     200              } else if (i == "leader_cost") {
     201                $("#group_leader_cost").css({ "border-color": "#FF0000" });
     202                $("#groupLeaderCostErr").html(data[i]);
     203              } else if (i == "member_memlevel") {
     204                $("#member_memlevel").css({ "border-color": "#FF0000" });
     205                $("#membermemlevelErr").html(data[i]);
     206              } else if (i == "member_cost") {
     207                $("#group_member_cost").css({ "border-color": "#FF0000" });
     208                $("#groupMemberCostErr").html(data[i]);
     209              } else if (i == "group_size") {
     210                $("#group_size").css({ "border-color": "#FF0000" });
     211                $("#groupSizeErr").html(data[i]);
     212              } else if (i == "success") {
     213                if (data[i] == "yes") {
     214                  $(".group-loading-container").hide();
     215                  $("#group_popup_msg").html(
     216                    '<div class="group_success">Success! Group Saved.</div>'
     217                  );
     218                  $("#group_popup_msg").show();
     219                  window.location = "admin.php?page=groupsformm";
     220                } else if (data[i] == "no") {
     221                  $(".group-loading-container").hide();
     222                  $("#group_popup_msg").html(
     223                    '<div class="group_failure">Uh oh! An error occured. Please try again.</div>'
     224                  );
     225                  $("#group_popup_msg").show();
     226                }
     227              }
     228            });
     229          },
     230        });
     231      }
     232    },
     233    showHelpWindow: function () {
     234      var height = MGROUP.contentheight();
     235      var width = MGROUP.contentwidth();
     236      var top = MGROUP.contentLoadingTop();
     237      var left = MGROUP.contentLoadingLeft();
     238      $("#create_group_background").height(height);
     239      $("#create_group_loading").css({ top: top, left: left });
     240      $("#create_group_background").show();
     241      $("#create_group_loading").show();
     242      $("#create_group_content").show();
     243      $.ajax({
     244        type: "post",
     245        url: show_help_window.ajax_url,
     246        data: "_wpnonce=" + rest_nonce._wpnonce,
     247        success: function (data) {
     248          $("#create_group_content").html(data);
     249          var contentLeft = MGROUP.contentDataLeft();
     250          var contentTop = MGROUP.contentDataTop();
     251          $("#create_group_content").css({
     252            top: contentTop,
     253            left: contentLeft,
     254          });
     255          $("#create_group_loading").hide();
     256          $("#create_group_content").show();
     257        },
     258      });
     259    },
     260    editGroup: function (groupId) {
     261      var height = MGROUP.contentheight();
     262      var width = MGROUP.contentwidth();
     263      var top = MGROUP.contentLoadingTop();
     264      var left = MGROUP.contentLoadingLeft();
     265      $("#create_group_background").height(height);
     266      $("#create_group_loading").css({ top: top, left: left });
     267      $("#create_group_background").show();
     268      $("#create_group_loading").show();
     269      $("#create_group_content").show();
     270      $.ajax({
     271        type: "post",
     272        url: create_group.ajax_url,
     273        data: "groupId=" + groupId + "&_wpnonce=" + rest_nonce._wpnonce,
     274        success: function (data) {
     275          $("#create_group_content").html(data);
     276          var contentLeft = MGROUP.contentDataLeft();
     277          var contentTop = MGROUP.contentDataTop();
     278          $("#create_group_content").css({
     279            top: contentTop,
     280            left: contentLeft,
     281          });
     282          $("#create_group_loading").hide();
     283          $("#create_group_content").show();
     284        },
     285      });
     286    },
     287    deleteGroup: function (groupId) {
     288      var c = confirm("Are you sure you want to delete this group.");
     289      if (c == true) {
     290        var height = MGROUP.contentheight();
     291        var width = MGROUP.contentwidth();
     292        var top = MGROUP.contentLoadingTop();
     293        var left = MGROUP.contentLoadingLeft();
     294        $("#create_group_background").height(height);
     295        $("#create_group_loading").css({ top: top, left: left });
     296        $("#create_group_background").show();
     297        $("#create_group_loading").show();
     298        $.ajax({
     299          type: "post",
     300          url: delete_group.ajax_url,
     301          dataType: "json",
     302          data: "groupId=" + groupId + "&_wpnonce=" + rest_nonce._wpnonce,
     303          success: function (data) {
     304            $.each(data, function (i) {
     305              if (i == "success") {
     306                if (data[i] == "yes") {
     307                  $("#create_group_loading").hide();
     308                  $("#create_group_background").hide();
     309                  window.location = "admin.php?page=groupsformm&delete=1";
     310                } else if (data[i] == "no") {
     311                  $("#create_group_loading").hide();
     312                  $("#create_group_background").hide();
     313                  window.location = "admin.php?page=groupsformm&delete=0";
     314                }
     315              }
     316            });
     317          },
     318        });
     319      }
     320    },
     321
     322    deleteGroupData: function (id) {
     323      if (confirm("Are you sure you want to delete this Group?")) {
     324        var height = MGROUP.contentheight();
     325        var width = MGROUP.contentwidth();
     326        var top = MGROUP.contentLoadingTop();
     327        var left = MGROUP.contentLoadingLeft();
     328        $("#create_group_background").height(height);
     329        $("#create_group_loading").css({ top: top, left: left });
     330        $("#create_group_background").show();
     331        $("#create_group_loading").show();
     332        $.ajax({
     333          type: "POST",
     334          url: delete_group_data.ajax_url,
     335          data: "id=" + id + "&_wpnonce=" + rest_nonce._wpnonce,
     336          dataType: "json",
     337          success: function (data) {
     338            $.each(data, function (i) {
     339              if (data[i] == "yes") {
     340                $("#create_group_loading").hide();
     341                $("#create_group_background").hide();
     342                window.location =
     343                  "admin.php?page=groupsformm&type=manage&msg=1";
     344              } else if (data[i] == "no") {
     345                $("#create_group_loading").hide();
     346                $("#create_group_background").hide();
     347                window.location =
     348                  "admin.php?page=groupsformm&type=manage&msg=2";
     349              }
     350            });
     351          },
     352        });
     353      }
     354    },
     355
     356    cancelGroup: function (id) {
     357      if (confirm("Are you sure you want to cancel this group?")) {
     358        var height = MGROUP.contentheight();
     359        var width = MGROUP.contentwidth();
     360        var top = MGROUP.contentLoadingTop();
     361        var left = MGROUP.contentLoadingLeft();
     362        $("#create_group_background").height(height);
     363        $("#create_group_loading").css({ top: top, left: left });
     364        $("#create_group_background").show();
     365        $("#create_group_loading").show();
     366        $.ajax({
     367          type: "POST",
     368          url: cancel_group.ajax_url,
     369          data: "id=" + id + "&_wpnonce=" + rest_nonce._wpnonce,
     370          dataType: "json",
     371          success: function (data) {
     372            $.each(data, function (i) {
     373              if (data[i] == "yes") {
     374                $("#create_group_loading").hide();
     375                $("#create_group_background").hide();
     376                window.location =
     377                  "admin.php?page=groupsformm&type=manage&msg=1";
     378              } else if (data[i] == "no") {
     379                $("#create_group_loading").hide();
     380                $("#create_group_background").hide();
     381                window.location =
     382                  "admin.php?page=groupsformm&type=manage&msg=2";
     383              }
     384            });
     385          },
     386        });
     387      }
     388    },
     389
     390    activateGroup: function (id) {
     391      var height = MGROUP.contentheight();
     392      var width = MGROUP.contentwidth();
     393      var top = MGROUP.contentLoadingTop();
     394      var left = MGROUP.contentLoadingLeft();
     395      $("#create_group_background").height(height);
     396      $("#create_group_loading").css({ top: top, left: left });
     397      $("#create_group_background").show();
     398      $("#create_group_loading").show();
     399      $.ajax({
     400        type: "POST",
     401        url: activate_group.ajax_url,
     402        data: "id=" + id + "&_wpnonce=" + rest_nonce._wpnonce,
     403        dataType: "json",
     404        success: function (data) {
     405          $.each(data, function (i) {
     406            if (data[i] == "yes") {
     407              $("#create_group_loading").hide();
     408              $("#create_group_background").hide();
     409              window.location = "admin.php?page=groupsformm&type=manage&msg=1";
     410            } else if (data[i] == "no") {
     411              $("#create_group_loading").hide();
     412              $("#create_group_background").hide();
     413              window.location = "admin.php?page=groupsformm&type=manage&msg=2";
     414            }
     415          });
     416        },
     417      });
     418    },
     419
     420    showPurchaseLink: function (prodId, groupId) {
     421      var height = MGROUP.contentheight();
     422      var width = MGROUP.contentwidth();
     423      var top = MGROUP.contentLoadingTop();
     424      var left = MGROUP.contentLoadingLeft();
     425      $("#create_group_background").height(height);
     426      $("#create_group_loading").css({ top: top, left: left });
     427      $("#create_group_background").show();
     428      $("#create_group_loading").show();
     429      $("#create_group_content").show();
     430      $.ajax({
     431        type: "post",
     432        url: purchase_link.ajax_url,
     433        data:
     434          "prodId=" +
     435          prodId +
     436          "&groupId=" +
     437          groupId +
     438          "&_wpnonce=" +
     439          rest_nonce._wpnonce,
     440        success: function (data) {
     441          $("#create_group_content").html(data);
     442          var contentLeft = MGROUP.contentDataLeft();
     443          var contentTop = MGROUP.contentDataTop();
     444          $("#create_group_content").css({
     445            top: contentTop,
     446            left: contentLeft,
     447          });
     448          $("#create_group_loading").hide();
     449          $("#create_group_content").show();
     450        },
     451      });
     452    },
     453    changeRecordVal: function (recordVal, targetPage) {
     454      window.location = targetPage + "&show=" + recordVal;
     455    },
     456    editGroupForm: function (gId) {
     457      var height = MGROUP.contentheight();
     458      var width = MGROUP.contentwidth();
     459      var top = MGROUP.contentLoadingTop();
     460      var left = MGROUP.contentLoadingLeft();
     461      $("#create_group_background").height(height);
     462      $("#create_group_loading").css({ top: top, left: left });
     463      $("#create_group_background").show();
     464      $("#create_group_loading").show();
     465      $("#create_group_content").show();
     466      $.ajax({
     467        type: "post",
     468        url: edit_group.ajax_url,
     469        data: "gId=" + gId + "&_wpnonce=" + rest_nonce._wpnonce,
     470        success: function (data) {
     471          $("#create_group_content").html(data);
     472          var contentLeft = MGROUP.contentDataLeft();
     473          var contentTop = MGROUP.contentDataTop();
     474          $("#create_group_content").css({
     475            top: contentTop,
     476            left: contentLeft,
     477          });
     478          $("#create_group_loading").hide();
     479          $("#create_group_content").show();
     480        },
     481      });
     482    },
     483    updateGroup: function (gId) {
     484      $(".group-loading-container").show();
     485      var group_name = $("#group_name").val();
     486      var group_size = $("#group_size").val();
     487      var retVar = false;
     488      var current_location = window.location;
     489
     490      if (group_name == "") {
     491        $("#group_namee").css({ "border-color": "#FF0000" });
     492        $("#groupNameErr").html("Please enter the Group  Name.");
     493        retVar = true;
     494      } else {
     495        $("#group_name").css({ "border-color": "#DFDFDF" });
     496        $("#groupNaeErr").html("");
     497        retVar = false;
     498      }
     499
     500      if (group_size == "") {
     501        $("#group_size").css({ "border-color": "#FF0000" });
     502        $("#groupSizeErr").html("Please enter the Group Size.");
     503        retVar = true;
     504      } else {
     505        $("#group_size").css({ "border-color": "#DFDFDF" });
     506        $("#groupSizeErr").html("");
     507        retVar = false;
     508      }
     509
     510      if (retVar == true) {
     511        $(".group-loading-container").hide();
     512      } else {
     513        $(".group-loading-container").show();
     514        $.ajax({
     515          type: "post",
     516          url: update_group.ajax_url,
     517          dataType: "json",
     518          data:
     519            "gId=" +
     520            gId +
     521            "&group_size=" +
     522            group_size +
     523            "&group_name=" +
     524            group_name +
     525            "&_wpnonce=" +
     526            rest_nonce._wpnonce,
     527          success: function (data) {
     528            $.each(data, function (i) {
     529              if (i == "group_size") {
     530                $("#group_size").css({ "border-color": "#FF0000" });
     531                $("#groupSizeErr").html(data[i]);
     532              } else if (i == "success") {
     533                if (data[i] == "yes") {
     534                  $(".group-loading-container").hide();
     535                  $("#group_popup_msg").html(
     536                    '<div class="group_success">Update successful.</div>'
     537                  );
     538                  $("#group_popup_msg").show();
     539                  window.location = current_location;
     540                } else if (data[i] == "no") {
     541                  $(".group-loading-container").hide();
     542                  $("#group_popup_msg").html(
     543                    '<div class="group_failure">An error occured. Please try again later.</div>'
     544                  );
     545                  $("#group_popup_msg").show();
     546                }
     547              }
     548            });
     549          },
     550        });
     551      }
     552    },
     553    editGroupNameForm: function (group_id, member_id) {
     554      var height = MGROUP.contentheight();
     555      var width = MGROUP.contentwidth();
     556      var top = MGROUP.contentLoadingTop();
     557      var left = MGROUP.contentLoadingLeft();
     558      $("#create_group_background").height(height);
     559      $("#create_group_loading").css({ top: top, left: left });
     560      $("#create_group_background").show();
     561      $("#create_group_loading").show();
     562      $("#create_group_content").show();
     563      $.ajax({
     564        type: "post",
     565        url: edit_group_name.ajax_url,
     566        data:
     567          "group_id=" +
     568          group_id +
     569          "&member_id=" +
     570          member_id +
     571          "&_wpnonce=" +
     572          rest_nonce._wpnonce,
     573        success: function (data) {
     574          $("#create_group_content").html(data);
     575          var contentLeft = MGROUP.contentDataLeft();
     576          var contentTop = MGROUP.contentDataTop();
     577          $("#create_group_content").css({
     578            top: contentTop,
     579            left: contentLeft,
     580          });
     581          $("#create_group_loading").hide();
     582          $("#create_group_content").show();
     583        },
     584      });
     585    },
     586    updateGroupName: function (group_id, member_id) {
     587      $(".group-loading-container").show();
     588      var name = $("#name").val();
     589      var retVar = false;
     590      var current_location = window.location;
     591      if (name == "") {
     592        $("#name").css({ "border-color": "#FF0000" });
     593        $("#nameErr").html("Please enter the Name.");
     594        retVar = true;
     595      } else {
     596        $("#name").css({ "border-color": "#DFDFDF" });
     597        $("#nameErr").html("");
     598        retVar = false;
     599      }
     600
     601      if (retVar == true) {
     602        $(".group-loading-container").hide();
     603      } else {
     604        $(".group-loading-container").show();
     605        $.ajax({
     606          type: "post",
     607          url: update_group_name.ajax_url,
     608          dataType: "json",
     609          data:
     610            "group_id=" +
     611            group_id +
     612            "&name=" +
     613            name +
     614            "&member_id=" +
     615            member_id +
     616            "&_wpnonce=" +
     617            rest_nonce._wpnonce,
     618          success: function (data) {
     619            $.each(data, function (i) {
     620              if (i == "name") {
     621                $("#name").css({ "border-color": "#FF0000" });
     622                $("#nameErr").html(data[i]);
     623              } else if (i == "success") {
     624                if (data[i] == "yes") {
     625                  $(".group-loading-container").hide();
     626                  $("#group_popup_msg").html(
     627                    '<div class="group_success">Update successful.</div>'
     628                  );
     629                  $("#group_popup_msg").show();
     630                  window.location = current_location;
     631                } else if (data[i] == "no") {
     632                  $(".group-loading-container").hide();
     633                  $("#group_popup_msg").html(
     634                    '<div class="group_failure">An error occured. Please try again later.</div>'
     635                  );
     636                  $("#group_popup_msg").show();
     637                }
     638              }
     639            });
     640          },
     641        });
     642      }
     643    },
     644    showMemberPurchaseLink: function (group_id, member_id) {
     645      var height = MGROUP.contentheight();
     646      var width = MGROUP.contentwidth();
     647      var top = MGROUP.contentLoadingTop();
     648      var left = MGROUP.contentLoadingLeft();
     649      $("#create_group_background").height(height);
     650      $("#create_group_loading").css({ top: top, left: left });
     651      $("#create_group_background").show();
     652      $("#create_group_loading").show();
     653      $("#create_group_content").show();
     654      $.ajax({
     655        type: "post",
     656        url: show_purchase_link.ajax_url,
     657        data:
     658          "group_id=" +
     659          group_id +
     660          "&member_id=" +
     661          member_id +
     662          "&_wpnonce=" +
     663          rest_nonce._wpnonce,
     664        success: function (data) {
     665          $("#create_group_content").html(data);
     666          var contentLeft = MGROUP.contentDataLeft();
     667          var contentTop = MGROUP.contentDataTop();
     668          $("#create_group_content").css({
     669            top: contentTop,
     670            left: contentLeft,
     671          });
     672          $("#create_group_loading").hide();
     673          $("#create_group_content").show();
     674        },
     675      });
     676    },
     677    checkUsername: function (group_id) {
     678      var username = $("#username").val();
     679      $("#add_user_loading").show();
     680      $.ajax({
     681        type: "post",
     682        dataType: "json",
     683        data:
     684          "username=" +
     685          encodeURIComponent(username) +
     686          "&group_id=" +
     687          group_id +
     688          "&_wpnonce=" +
     689          rest_nonce._wpnonce,
     690        url: check_username.ajax_url,
     691        success: function (data) {
     692          $("#add_user_loading").hide();
     693          $.each(data, function (i) {
     694            if (i == "error") {
     695              $("#add_user_msg").html(data[i]);
     696              $("#add_user_msg").show();
     697              $("#add_user_container").html(
     698                '<a class="group-button" title="Check Availability" onclick="javascript:MGROUP.checkUsername(\'' +
     699                  group_id +
     700                  "');\">Check Availability</a>"
     701              );
     702              $("#user_id").val(0);
     703            } else {
     704              $("#add_user_msg").html(data[i]);
     705              $("#add_user_msg").show();
     706              $("#add_user_container").html(
     707                '<a class="group-button button-green" title="Add Member" id="add_user_button" onclick="javascript:MGROUP.addGroupUsers(\'' +
     708                  group_id +
     709                  "','" +
     710                  i +
     711                  "');\">Add Member</a>"
     712              );
     713              $("#user_id").val(i);
     714            }
     715          });
     716        },
     717      });
     718    },
     719    addGroupUsers: function (group_id, member_id) {
     720      $("#add_user_loading").show();
     721      $.ajax({
     722        type: "POST",
     723        dataType: "json",
     724        data:
     725          "group_id=" +
     726          group_id +
     727          "&member_id=" +
     728          member_id +
     729          "&_wpnonce=" +
     730          rest_nonce._wpnonce,
     731        url: add_group_user.ajax_url,
     732        success: function (data) {
     733          $("#add_user_loading").hide();
     734          $.each(data, function (i) {
     735            if (data[i] == "yes") {
     736              $("#add_user_msg").html(
     737                '<font class="green-text">Success! We added the member.</font>'
     738              );
     739              $("#add_user_msg").show();
     740              $("#username").val("");
     741              $("#user_id").val("0");
     742            } else {
     743              $("#add_user_msg").html(
     744                '<font class="red-text">An error occured. Please try again later.</font>'
     745              );
     746              $("#add_user_msg").show();
     747              $("#username").val("");
     748              $("#user_id").val("0");
     749            }
     750          });
     751        },
     752      });
     753    },
     754    deleteGroupMember: function (gmId, member_id) {
     755      var c = confirm(
     756        "Are you sure you want to remove this member from the group?"
     757      );
     758      if (c == true) {
     759        var height = MGROUP.contentheight();
     760        var width = MGROUP.contentwidth();
     761        var top = MGROUP.contentLoadingTop();
     762        var left = MGROUP.contentLoadingLeft();
     763        var current_location = window.location;
     764        $("#create_group_background").height(height);
     765        $("#create_group_loading").css({ top: top, left: left });
     766        $("#create_group_background").show();
     767        $("#create_group_loading").show();
     768        $.ajax({
     769          type: "post",
     770          url: delete_group_member.ajax_url,
     771          dataType: "json",
     772          data:
     773            "gmId=" +
     774            gmId +
     775            "&member_id=" +
     776            member_id +
     777            "&_wpnonce=" +
     778            rest_nonce._wpnonce,
     779          success: function (data) {
     780            $.each(data, function (i) {
     781              if (i == "success") {
     782                if (data[i] == "yes") {
     783                  $("#create_group_loading").hide();
     784                  $("#create_group_background").hide();
     785                  window.location = current_location + "&delete=1";
     786                } else if (data[i] == "no") {
     787                  $("#create_group_loading").hide();
     788                  $("#create_group_background").hide();
     789                  window.location = current_location + "&delete=0";
     790                }
     791              }
     792            });
     793          },
     794        });
     795      }
     796    },
     797    contentheight: function () {
     798      var height = $(document).height();
     799      return height;
     800    },
     801    contentwidth: function () {
     802      var width = $(window).width();
     803      return width;
     804    },
     805    contentLoadingTop: function () {
     806      var top = ($(window).height() - 22) / 2;
     807      return top;
     808    },
     809    contentLoadingLeft: function () {
     810      var left = ($(window).width() - 425) / 2;
     811      return left;
     812    },
     813    contentDataLeft: function () {
     814      var width = $("#group_popup_container").width() + 165;
     815      var contentLeft = ($(window).width() - width) / 2;
     816      return contentLeft;
     817    },
     818    contentDataTop: function () {
     819      var height = $("#group_popup_container").height();
     820      var contentTop = ($(window).height() - height) / 2;
     821      return contentTop;
     822    },
     823    GroupLeaderForm: function () {
     824      var height = MGROUP.contentheight();
     825      var width = MGROUP.contentwidth();
     826      var top = MGROUP.contentLoadingTop();
     827      var left = MGROUP.contentLoadingLeft();
     828      $("#create_group_background").height(height);
     829      $("#create_group_loading").css({ top: top, left: left });
     830      $("#create_group_background").show();
     831      $("#create_group_loading").show();
     832      $("#create_group_content").show();
     833      $.ajax({
     834        type: "post",
     835        url: group_leader_form.ajax_url,
     836        data: "_wpnonce=" + rest_nonce._wpnonce,
     837        success: function (data) {
     838          $("#create_group_content").html(data);
     839          var contentLeft = MGROUP.contentDataLeft();
     840          var contentTop = MGROUP.contentDataTop();
     841          $("#create_group_content").css({
     842            top: contentTop,
     843            left: contentLeft,
     844          });
     845          $("#create_group_loading").hide();
     846          $("#create_group_content").show();
     847        },
     848      });
     849    },
     850    checkGroupUser: function (user) {
     851      if (user != "") {
     852        $("#userLoading").show();
     853        $.ajax({
     854          type: "POST",
     855          url: check_user.ajax_url,
     856          dataType: "json",
     857          data:
     858            "user=" +
     859            encodeURIComponent(user) +
     860            "&_wpnonce=" +
     861            rest_nonce._wpnonce,
     862          success: function (data) {
     863            $("#userLoading").hide();
     864            $.each(data, function (i) {
     865              if (i == "error") {
     866                $("#userErr").html(data[i]);
     867                $("#user").css({ "border-color": "#FF0000" });
     868                $("#user_id").val(0);
     869              } else {
     870                $("#user_id").val(data[i]);
     871                $("#userErr").html("");
     872                $("#user").css({ "border-color": "#DFDFDF" });
     873              }
     874            });
     875          },
     876        });
     877      } else {
     878        $("#user").css({ "border-color": "#FF0000" });
     879        $("#user_id").val(0);
     880        $("#userErr").html("");
     881      }
     882    },
     883    createGroupLeader: function () {
     884      var group_name = $("#group_name").val();
     885      var group = $("#group").val();
     886      var user = $("#user").val();
     887      var user_id = $("#user_id").val();
     888      var retVar = false;
     889
     890      if (group_name == "") {
     891        $("#groupNameErr").html("Please type the Group Name.");
     892        $("#group_name").css({ "border-color": "#FF0000" });
     893        retVar = true;
     894      } else {
     895        $("#groupNameErr").html("");
     896        $("#group_name").css({ "border-color": "#DFDFDF" });
     897        retVar = false;
     898      }
     899
     900      if (group == "") {
     901        $("#groupErr").html("Please select the Group Type.");
     902        $("#group").css({ "border-color": "#FF0000" });
     903        retVar = true;
     904      } else {
     905        $("#groupErr").html("");
     906        $("#group").css({ "border-color": "#DFDFDF" });
     907        retVar = false;
     908      }
     909      if (user == "") {
     910        $("#userErr").html("Please enter the Group Leader.");
     911        $("#user").css({ "border-color": "#FF0000" });
     912        retVar = true;
     913      } else {
     914        $("#userErr").html("");
     915        $("#user").css({ "border-color": "#DFDFDF" });
     916        retVar = false;
     917      }
     918
     919      if (retVar == false) {
     920        $(".group-loading-container").show();
     921        $("#group").css({ "border-color": "#DFDFDF" });
     922        $("#user").css({ "border-color": "#DFDFDF" });
     923        $("#groupErr").html("");
     924        $("#userErr").html("");
     925        $.ajax({
     926          type: "post",
     927          url: create_group_leader.ajax_url,
     928          dataType: "json",
     929          data:
     930            "group=" +
     931            group +
     932            "&user=" +
     933            encodeURIComponent(user) +
     934            "&user_id=" +
     935            user_id +
     936            "&group_name=" +
     937            group_name +
     938            "&_wpnonce=" +
     939            rest_nonce._wpnonce,
     940          success: function (data) {
     941            $(".group-loading-container").hide();
     942            $.each(data, function (i) {
     943              if (i == "group") {
     944                $("#group").css({ "border-color": "#FF0000" });
     945                $("#groupErr").html(data[i]);
     946              } else if (i == "user") {
     947                $("#user").css({ "border-color": "#FF0000" });
     948                $("#userErr").html(data[i]);
     949              } else if (i == "success") {
     950                if (data[i] == "yes") {
     951                  $(".group-loading-container").hide();
     952                  $("#group_popup_msg").html(
     953                    '<div class="group_success">Success! We created the group.</div>'
     954                  );
     955                  $("#group_popup_msg").show();
     956                  window.location = "admin.php?page=groupsformm&type=manage";
     957                } else if (data[i] == "no") {
     958                  $(".group-loading-container").hide();
     959                  $("#group_popup_msg").html(
     960                    '<div class="group_failure">Uh oh, an error occured. Please try again.</div>'
     961                  );
     962                  $("#group_popup_msg").show();
     963                }
     964              }
     965            });
     966          },
     967        });
     968      } else {
     969        $(".group-loading-container").hide();
     970      }
     971    },
     972    changeGroupMemberCost: function (levelId) {
     973      $("#memberLoading").show();
     974      $.ajax({
     975        type: "post",
     976        url: change_group_cost.ajax_url,
     977        data:
     978          "levelId=" + levelId + "&type=member&_wpnonce=" + rest_nonce._wpnonce,
     979        success: function (data) {
     980          $("#member_associated_cost").html(data);
     981          $("#memberLoading").hide();
     982        },
     983      });
     984    },
     985    changeGroupLeaderCost: function (levelId) {
     986      $("#leadermemLoading").show();
     987      $.ajax({
     988        type: "post",
     989        url: change_group_cost.ajax_url,
     990        data:
     991          "levelId=" + levelId + "&type=leader&_wpnonce=" + rest_nonce._wpnonce,
     992        success: function (data) {
     993          $("#leader_associated_cost").html(data);
     994          $("#leadermemLoading").hide();
     995        },
     996      });
     997    },
     998  };
     999  $(document).ready(function () {
     1000    MGROUP.init();
     1001  });
    8491002})(jQuery);
Note: See TracChangeset for help on using the changeset viewer.