﻿$(function() 
{ 
    
    ////////////////////////////
    $('#edit_description').keyup(function(){
        //$('#edit_description').wordCount({size: '4000', counter:'charcounter' });
        limitChars('edit_description', 1000, 'charcounter');
    });
    $('#add_description').keyup(function(){
        //$('#edit_description').wordCount({size: '4000', counter:'charcounter' });
        limitChars('add_description', 1000, 'charcounter');
    });

    $('textarea.gcCharcounter').keyup(function() { limitCharsComment(this, 1000, 'charcounter','gc') });
    $('textarea.gjCharcounter').keyup(function() { limitCharsComment(this, 1000, 'charcounter','gj') });
    
    
//    $('textarea.charcounter').keyup(function(){
//        //$('#edit_description').wordCount({size: '4000', counter:'charcounter' });
//        limitChars('','textarea.charcounter', 1000, 'charcounter');
//    });

    ////////////////////////////

    var groupId;
    
    //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    // MENTOR -  TOGGLE DETAILS VIEW OF GROUP CREATED
    //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
    $('a.mentorGroupName').click(function()
    {
         groupId = $(this).attr("id"); 
         var groupId = groupId.substr(3);
         var data = $("#DisplayGroup"  + groupId ).serialize();  
         
            
         $.ajax
         ({
               type: "POST",
               url: "GroupMembers.publisha?groupId=" + groupId,
               data: data,
               async: false,
               success: function(msg)
               {  
                 $('#Members' + groupId).html(msg).css('oveflow', 'auto');
                 $('#details' + groupId).slideToggle();
               },
               error: function(msg)
               {
                  alert('Something unexpected happened, please try again.');
               }
         });
         
         return false;
    });
  
    //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    //  MENTOR - INVITE CONTACTS THATS NOT YET MEMBERS OF THE GROUP CREATED
    //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    $('a.inviteGuests').click(function() 
    {  
        var gid = $(this).attr("id");
        var id = gid.substr(1);
        var data = $("#InviteMember"  + id).serialize();
         
        $.ajax
        ({
            type: "POST",
            url: "InviteMembers.publisha",
            data: data,
            async: false,
            success: function(msg)
            {  
                 $('#memberList' + id).html(msg).css('oveflow', 'auto');
                 $('#InviteMembersDiv' + id).slideToggle('slow');
                 $('#gcComments' + id).hide('slow');
                 $('#gcComS' + id).hide('slow');
                 $('#gcComForm' + id).hide('slow');
                 
            },
            error: function(msg)
            {
                alert('an error occured: ' + msg); 
            }
        }); 
        return false;
    }); 
  
    //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    // MENTEE - TOGGLE DETAILS VIEW OF MENTOR GROUPS
    //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    $('a.joinedGroupTitle').click(function()
    {
        groupId = $(this).attr("id"); 
        var data = $("#DisplayGroup"  + groupId ).serialize();    
        
        $.ajax
        ({
            type: "POST",
            url: "/publisha.content/groups/GroupComments.publisha?groupId=" + groupId,
            data: data,
            async: false,
            success: function(msg)
            {  
                $('#Members' + groupId).html(msg).css('oveflow', 'auto');
                $('#details' + groupId).slideToggle();
                
            },
            error: function(msg)
            {
                alert(msg);
            }
        });
        return false;
    });
  
    //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    //  MENTEE - REQUEST MEMBERSHIP TO A MENTOR GROUP
    //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    $('a.request').click(function()
    {
        var auth = $("#auth").val();
        if(auth == "True")
        {
            gid = $(this).attr("id"); 
            id = gid.substr(3);
            var data = $("#ReqMembership"  + id ).serialize(); 
                      
            $.ajax
            ({
                type: "POST",
                url: "/publisha.content/groups/requestMembership.publisha?postRequest=t",
                data: data,
                async: false,
                success: function(msg)
                {  
                   alert('Your request for membership was sent.');
                },
                error: function(msg)
                {
                   alert('error: ' + msg);
                }
            });
        }
        else
        {
            alert('You have to be logged in to request membership.');
        }
        
        return false;
    });   
     

    //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    // MENTEE -  TOGGLE ADD COMMENT BOX
    //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    $('a.nopaddingleft').click(function()
    {   
        groupId = $(this).attr("id"); 
        var  id = groupId.substr(7);
         $('#postComment' + id).slideToggle();
        return false;
    });
    
    //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    //  MENTEE - ADD COMMENT TO GROUP
    //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    $('a.commentPost').click(function()
    {   
        gid = $(this).attr("id"); 
        id = gid.substr(2);
        var commentBox = $('#commentgrp' + id);
        var comments = $('#commentgrp' + id).val();

        if(comments != "")
        {
            var data = $("#fmPostComment"  + id).serialize(); 

            $.ajax
            ({
                type: "POST",
                url: "/publisha.content/groups/addComment.publisha",
                data: data,
                async: false,
                success: function(msg)
                {  
                   
                   $('#postComment' + id).slideToggle();
                  
                  var UpdateStatus=($(msg).text());
                       
                        if(UpdateStatus != "ok")
                       {
                          alert("Your comment was rejected because \n"+ UpdateStatus +"\nPlease try again");
                       }
                       else
                       {
                        alert("Thank you for your comment");
                       }
                   
                   /*--------display upadated commment----------*/
                                
                                $.ajax
                                ({
                                    type: "POST",
                                    url: "/publisha.content/groups/GroupComments.publisha",
                                    data: "groupId="+ id + "&addComment=y" ,
                                    async: false,
                                    success: function(msg)
                                    {  
                                    
                                    //added for profile section
                                    ($('#Group'+id+'Comments').html(msg));

                                    $('#gcComments' + id).html(msg).css('oveflow', 'auto');
                                        
                                        return false;
                                    },
                                    error: function(msg)
                                    {
                                      alert('Something unexpected happened, please try again.');
                                    }
                                });
                   
                   /*-------end-----------*/
                   

                },
                error: function(msg)
                {
                   alert('Oops - you comment didnt pass our filters!');
                }
            });
        }
        else
        {
            alert('Please enter a comment!');
        }      
        return false;
    });

    //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    // MENTEE = View Groups Joined - ViewGroupsAll.publisha
    //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    $('a.viewJoinedGroup').click(function()
    {   
        gid = $(this).attr("id"); 
        id = gid.substr(2);
        var data = $("#fmGroupJoined"  + id).serialize(); 

        $.ajax
        ({
            type: "POST",
            url: "GroupMembers.publisha?groupId=" + id,
            data: data,
            async: false,
            success: function(msg)
            {  
                $('#MembersJoined' + id).html(msg).css('oveflow', 'auto');
                $('#groupJoinedDetails' + id).slideToggle();            
            },
            error: function(msg)
            {
               
            }
        });

        return false;
    });
    
    //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    // MENTOR - ADD TAGS TO GROUPS CREATED - ViewGroupsAll.publisha
    //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    $('a.addTagsGroupsCreated').click(function()
    {   
        gid = $(this).attr("id");
        var  id = gid.substr(3);
        $('#TC' + id).slideToggle();
        return false;
    });
    
    $('input.AddTagGC').click(function()
    {   
        gid = $(this).attr("id");
        id = gid.substr(8);
        var data = $("#fmAddTagGC"  + id).serialize();        

        $.ajax
        ({
            type: "POST",
            url: "AddTags.publisha",
            data: data,
            async: false,
            success: function(msg)
            {  
                $('#TC' + id).slideToggle();         
            },
            error: function(msg)
            {
                alert('Oops - your tag was either blocked or a duplicate!');
            }
        });

        return false;
    });
    
    //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    //  MENTOR/MENTEE - ADD TAGS TO GROUPS JOINED - ViewGroupsAll.publisha
    //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    $('a.addTagsGroupsJoined').click(function()
    {   
        gid = $(this).attr("id");
        var  id = gid.substr(3);
        $('#TJ' + id).slideToggle();
        return false;
    });
    
    $('input.AddTagGJ').click(function()
    {   
        gid = $(this).attr("id");        
        id = gid.substr(8);        
        var data = $("#fmAddTagGJ"  + id).serialize(); 

        $.ajax
        ({
            type: "POST",
            url: "AddTags.publisha",
            data: data,
            async: false,
            success: function(msg)
            {  
                $('#TJ' + id).slideToggle();        
            },
            error: function(msg)
            {
                alert('error: ' + msg);
            }
        });

        return false;
    });
    
    //::::::::::::::::::::::::::::::::::::::::::::
    //  Thank Mentor
    //::::::::::::::::::::::::::::::::::::::::::::
    $('a.ThMentor').click(function()
    {   
        gid = $(this).attr("id");
        var  id = gid.substr(5);
        
        return false;
    });
    
    
    //##################################################################################
    //  
    //  THIS IS THE GROUPS CREATED COMMENTS SECTION
    //
    //##################################################################################
    
    //Display group comments for group created  in ViewAllGroups
    $('a.grCreatedComment').click(function()
    {   
        groupId = $(this).attr("id"); 
        id = groupId.substr(6);                 
        var data = "groupId="+ id + "&addComment=y";               
         
        $.ajax
        ({
            type: "POST",
            url: "/publisha.content/groups/GroupComments.publisha",
            data: data,
            async: false,
            success: function(msg)
            {  
                $('#gcComments' + id).html(msg).css('oveflow', 'auto');
                $('#gcComments' + id).slideToggle('slow');
                $('#gcComS' + id).slideToggle('slow');
                $('#InviteMembersDiv' + id).hide('slow');
                return false;
            },
            error: function(msg)
            {
              alert('Something unexpected happened, please try again.');
            }
        });

        return false;
    });
    
    //Display comment post form
    $('a.CommentsGC').click(function()
    {   
        var gid = $(this).attr("id");
        var id = gid.substr(6);
        $('#gcComForm'+ id).slideToggle('slow');
        return false;
    });
    
    $('a.gcCommPost').click(function()
    {              
            var fmComm = $(this).attr("id");
            var id = fmComm.substr(7);
            var post = $("#gcpost").val(); 
            var uid = $("#gcUid").val(); 
            var gid = $("#gcGid").val(); 
            var tile = $("#gcCommTitle" + id).val(); 
            var comment = $("#gcCommText" + id).val(); 

            var data = "post=" + post + "&gid=" + id + "&uid=" + uid + "&title=" + tile + "&comment=" + comment; 
            
            $.ajax
            ({
                type: "POST",
                url: "/publisha.content/groups/AddComment.publisha",
                data: data,
                async: false,
                success: function(msg)
                { 
                   $('#gcComForm'+ id).slideToggle('slow');

                    var UpdateStatus=($(msg).text());

                    if(UpdateStatus != "ok")
                       {
                          alert("Your comment was rejected because \n"+ UpdateStatus +"\nPlease try again");
                       }
                    else
                    {   
                   
                       alert('thank you for posting your comment');
                                
                       /*--------display upadated commment----------*/
                                    
             
                                    $.ajax
                                    ({
                                        type: "POST",
                                        url: "/publisha.content/groups/GroupComments.publisha",
                                        data: "groupId="+ id + "&addComment=y" ,
                                        async: false,
                                        success: function(msg)
                                        {  
                                            $('#gcComments' + id).html(msg).css('oveflow', 'auto');
                                            
                                            return false;
                                        },
                                        error: function(msg)
                                        {
                                          alert('Something unexpected happened, please try again.');
                                        }
                                    });
                       
                       /*-------end-----------*/
                   
                   }
                 
                    return false;
                },
                error: function(msg)
                {
                   alert('Something unexpected happened, please try again.');
                }
            });
             return false;

    });
    
    //##################################################################################
    //  
    //  THIS IS THE GROUPS JOINED COMMENTS SECTION
    //
    //##################################################################################

    //Display group comments for group created  in ViewAllGroups
    $('a.grJoinedComment').click(function()
    {   
        groupId = $(this).attr("id"); 
        id = groupId.substr(6);                 
        var data = "groupId="+ id + "&addComment=y";               
         
        $.ajax
        ({
            type: "POST",
            url: "/publisha.content/groups/GroupComments.publisha",
            data: data,
            async: false,
            success: function(msg)
            {  
                $('#gjComments' + id).html(msg).css('oveflow', 'auto');
                $('#gjComments' + id).slideToggle('slow');
                $('#gjComS' + id).slideToggle('slow');
               
            },
            error: function(msg)
            {
              alert('Something unexpected happened, please try again.');
            }
        });

        return false;
    });
    
    //Display comment post form
    $('a.CommentsGJ').click(function()
    {   
        var gid = $(this).attr("id");
        var id = gid.substr(6);
        $('#gjComForm'+ id).slideToggle('slow');
        return false;
    });
    
    //Post comment and toggle comment post fields...!!!
    $('a.gjCommPost').click(function()
    {              
            var fmComm = $(this).attr("id");
            var id = fmComm.substr(7);
            var post = $("#gjpost").val(); 
            var uid = $("#gjUid").val(); 
            var gid = $("#gjGid").val(); 
            var tile = $("#gjCommTitle" + id).val(); 
            var comment = $("#gjCommText" + id).val(); 

            var data = "post=" + post + "&gid=" + id + "&uid=" + uid + "&title=" + tile + "&comment=" + comment;             
            
            $.ajax
            ({
                type: "POST",
                url: "/publisha.content/groups/AddComment.publisha",
                data: data,
                async: false,
                success: function(msg)
                { 
                   $('#gjComForm'+ id).slideToggle('slow');
                    
                    var UpdateStatus=($(msg).text());
                    
                     if(UpdateStatus != "ok")
                       {
                          alert("Your comment was rejected because \n"+ UpdateStatus +"\nPlease try again");
                       }
                       else
                       {
                            alert("Thank you for adding your comment");
                            
                            /*--------display upadated commment----------*/
                                
         
                                $.ajax
                                ({
                                    type: "POST",
                                    url: "/publisha.content/groups/GroupComments.publisha",
                                    data: "groupId="+ id + "&addComment=y" ,
                                    async: false,
                                    success: function(msg)
                                    {  
                                        $('#gjComments' + id).html(msg).css('oveflow', 'auto');
                                        
                                        return false;
                                    },
                                    error: function(msg)
                                    {
                                      alert('Something unexpected happened, please try again.');
                                    }
                                });
                   
                             /*-------end-----------*/
                       }
                    
                   
                },
                error: function(msg)
                {
                   alert('Something unexpected happened, please try again.');
                }
            });
             return false;
    });
    
    
    /*-----------------start- profile section-------------------*/
          // view group details from profile section
    
       $(".groupTitle").click(function(){
       
        
        //change text of  link
        var linktxt = $(this).text(); 
        if(linktxt == "View details")
        {
           $(this).text('Hide details')
        }
        else
        {
          $(this).text('View details')
        }
      
       var groupId =($(this).attr("id") );
       
        var data = $('#DisplayGroup'+groupId).serialize();
        
            $.ajax
         ({
               type: "POST",
               url: "/publisha.content/groups/GroupMembers.publisha?groupId=" + groupId,
               data: data,
               async: false,
               success: function(msg)
               {  
                 $('#Members' + groupId).html(msg).css('oveflow', 'auto');
                 $('#details' + groupId).slideToggle();
                 
                             $.ajax
                                    ({
                                        type: "POST",
                                        url: "/publisha.content/groups/GroupComments.publisha",
                                        data: "groupId="+ groupId + "&addComment=y" ,
                                        async: false,
                                        success: function(msg)
                                        {  
                                            $('#Group'+groupId+'Comments').html(msg).css('oveflow', 'auto');
                                            
                                            return false;
                                        },
                                        error: function(msg)
                                        {
                                          alert('Something unexpected happened, please try again.');
                                        }
                                    });
                 
               },
               error: function(msg)
               {
                  alert('Something unexpected happened, please try again.');
               }
         });
         
         return false;
       
       }); 

    
    /*-----------------end- profile section-------------------*/
    


});

//function to delete commments

        function deletecomment(cid,gid)
        {
            var confirmed;
            var data;
            
            confirmed = confirm("are you sure, you want to delete this comment?");
            
            data= "delcomment=1&cid="+cid+"&gid="+gid;
            
            
            if (confirmed)
            {
                jQuery.post('/publisha.content/groups/DelComment.publisha', data, function(){
                    
                 $('#'+cid).hide();   
              
                })
            }
            
            return false;
            
        };


//function to edit comments

function editcomment(gid,mid)
{
     var mesageid = mid;
     var groupid = gid;
     var containerCommentTitle = $('#'+mid).find('.historysubject');
     var containerCommentMessage = $('#'+mid).find('.historymessage');
         
     var OriginalcontainerCommentTitle   = containerCommentTitle.text();
     var OriginalcontainerCommentMessage = containerCommentMessage.text();
     
     var editform = $('#editcomment'+mesageid);
     
     containerCommentTitle.hide();
     containerCommentMessage.hide();
     
     editform.show();  
     
    
   
}


function canceledit(mid)
{
     var mesageid = mid;
     var containerCommentTitle = $('#'+mid).find('.historysubject');
     var containerCommentMessage = $('#'+mid).find('.historymessage');
     var editform = $('#editcomment'+mesageid);
     
     containerCommentTitle.show();
     containerCommentMessage.show();
     
     editform.hide();  
        
}


function saveedit(mid,gid,uid)
{

    var newtitle = $('#editcomenttitle'+mid).val();
    var newbody  = $('#editcommentbody'+mid).val();
    var editform = $('#editcomment'+mid);
    var containerCommentTitle = $('#'+mid).find('.historysubject');
    var containerCommentMessage = $('#'+mid).find('.historymessage');
    
    var data = "cid="+mid+"&gid="+gid+"&uid="+uid+"&title="+newtitle+"&comment="+newbody+"&visible=true&ispublic=true";
     
     
        $.ajax   ({
                    type: "POST",
                    url: "/publisha.content/groups/UpdateComment.publisha",
                    data: data ,
                    async: false,
                    success: function(msg)
                    {  
                       var UpdateStatus=($(msg).text());
                       
                        if(UpdateStatus != "ok")
                       {
                          alert("Your comment was rejected because \n"+ UpdateStatus +"\nPlease try again");
                       }
                       else
                       {
                            alert("Thank you for updating your comment");
                            containerCommentTitle.text(newtitle);
                            containerCommentMessage.text(newbody);
                            editform.hide();
                            containerCommentTitle.show();   
                            containerCommentMessage.show();
                       }
                            
                        
                        return false;
                    },
                    error: function(msg)
                    {
                     alert('Something unexpected happened, please try again.');
                    }
                });


    return false;
    
}

    
function limitChars(textid, limit, infodiv)
{
    var text = $('#'+textid).val();
    var textlength = text.length;
    if(textlength > limit)
    {
        $('#' + infodiv).html('all '+limit+' characters used');
        $('#'+textid).val(text.substr(0,limit));/// <reference path="spell.js" />
        return false;
    }
    else
    {
        $('#' + infodiv).html((limit - textlength) +' characters left.');
        return true;
    }
}
function limitCharsComment(objtextbox, limit, infodiv,prefix)
{
    var groupid=objtextbox.id.replace(prefix+'CommText','');
    var text = $('#'+objtextbox.id).val();
    var textlength = text.length;
    //alert('infodiv: ' + infodiv);
    if(textlength > limit)
    {
        $('#' + infodiv+groupid).html('all '+limit+' characters used');
        $('#'+textid).val(text.substr(0,limit));/// <reference path="spell.js" />
        return false;
    }
    else
    {
        $('#' + infodiv+groupid).html((limit - textlength) +' characters left.');
        return true;
    }
}
