﻿var Dcc_CommentsAPI = null;
if (!window.jqsDCCJMG) jqsDCCJMG = jQuery.noConflict();
(function(jQuery) {
    Dcc_CommentsAPI = {
        StopEventBubbeling: function(e) {
            var ev = e || window.event;
            var obj = ev.target || ev.srcElement;
            if (ev.keyCode == 37 || ev.keyCode == 39) {
                ev.cancelBubble = true;
            }
        },
        CommentLengthCkecker: function(e) {
            var ev = e || window.event;
            var obj = ev.target || ev.srcElement;
            if (obj.value.length > 150) {
                obj.value = obj.value.substring(0, 150);
            }
        },
        RefreshCaptchaImage: function(e) {
            var ev = e || window.event;
            var obj = ev.target || ev.srcElement;
            var parent = jQuery(obj).parent();
            var captchaImage = parent.find("img:first")
            captchaImage.attr("src", strModulePath + 'Thumbnail.ashx?ot=3&mid=' + MediaGallery.ModuleId + '&rnd=' + Math.random());

            return false;
        },
        GetAllComments: function() {
            DNNCentric.JMediaGallery.MediaGalleryController.GetComments(parseInt(mediaIds[window.currentindex]), 1, Dcc_CommentsAPI.GetCommentSuccessCallBack, Dcc_CommentsAPI.GetCommentFailureCallBack);
        },
        ClearMessage: function() {
            //    document.getElementById('lblMessage').innerHTML = '';
            jQuery('#lblMessage').html("").css("color", "black");
        },
        AddCommentSuccessCallBack: function(result, eventArgs) {
            document.getElementById('btnAddComment').disabled = false;
            if (result == -2) {
                jQuery('#imgCaptcha').attr("src", strModulePath + 'Thumbnail.ashx?ot=3&mid=' + MediaGallery.ModuleId + '&rnd=' + Math.random());
                jQuery('#lblMessage').html(strJcapErrorMessage).css("color", "red");
                setTimeout("Dcc_CommentsAPI.ClearMessage();", 5000);
                return;
            }
            if (MediaGallery.LoggedInUserId == -1 && MediaGallery.IsModerationEnabled) {
                jQuery('#lblMessage').html(strAnonymousCommentMessage).css("color", "red");
                setTimeout("Dcc_CommentsAPI.ClearMessage();", 5000);
            }
            else {
                document.getElementById('lblMessage').innerHTML = "";
            }
            document.getElementById('txtComment').value = "";
            document.getElementById('uword').value = "";
            document.getElementById('txtAnonymousName').value = strAnonymousText;
            document.getElementById('txtAnonymousEmail').value = strAnonymousEmailText;
            if (result == 0) {
                Dcc_CommentsAPI.GetAllComments();
            }
            if (MediaGallery.LoggedInUserId == -1) {
                jQuery("#rowCaptcha").css("display", "inline-block");
                var parent = jQuery("#pp_comments");
                document.getElementById('uword').value = "";
                var captchaImage = parent.find("img:first")
                captchaImage.attr("src", strModulePath + 'Thumbnail.ashx?ot=3&mid=' + MediaGallery.ModuleId + '&rnd=' + Math.random());
            }
        },
        AddCommentFailureCallBack: function(error) {
        },
        NextPage: function(e) {
            var ev = e || window.event;
            var obj = jQuery(ev.srcElement || ev.target);
            var currentPageNumber = parseInt(obj.attr("CurrentPageNumber"));
            var mediaid = parseInt(obj.attr("mediaid"));
            document.getElementById("txtAnonymousName").value = "";
            document.getElementById("uword").value = "";
            Dcc_CommentsAPI.NextClicked = true;
            DNNCentric.JMediaGallery.MediaGalleryController.GetComments(mediaid, currentPageNumber + 1, Dcc_CommentsAPI.GetCommentSuccessCallBack, Dcc_CommentsAPI.GetCommentFailureCallBack);
            return false;
        },
        PreviousPage: function(e) {
            var ev = e || window.event;
            var obj = jQuery(ev.srcElement || ev.target);
            var currentPageNumber = parseInt(obj.attr("CurrentPageNumber"));
            var mediaid = parseInt(obj.attr("mediaid"));
            document.getElementById("txtAnonymousName").value = "";
            document.getElementById("uword").value = "";
            Dcc_CommentsAPI.NextClicked = true;
            DNNCentric.JMediaGallery.MediaGalleryController.GetComments(mediaid, currentPageNumber - 1, Dcc_CommentsAPI.GetCommentSuccessCallBack, Dcc_CommentsAPI.GetCommentFailureCallBack);
            return false;
        },
        TableComments: null,
        GetCommentSuccessCallBack: function(result, eventArgs) {
            if (Dcc_CommentsAPI.TableComments == null) {
                Dcc_CommentsAPI.TableComments = jQuery('#tblComments');
            }
            Dcc_CommentsAPI.TableComments.find("tr").remove();
            if (result != null || result != "-1") {
                jQuery("#pp_comments").find("#lnkComments").html(strMediaCommentsLinkText + "(" + result.TotalComments + ")");
                var arrComments = result.Comments;
                if (arrComments.length > 0) {
                    var row = null;
                    var cell = null;
                    for (var i = 0; i < arrComments.length; i++) {
                        var objComment = arrComments[i];
                        row = document.createElement("tr");
                        cell = document.createElement("td");
                        cell.innerHTML = '<div id="dvCommentContainer"><table style="width:100%"><tr><td style="width:77.8%" class="dcc_gallery_arial_14">' + objComment.UserName + ':</td><td style="width:20%" class="dcc_gallery_arial_111" rowspan="2" valign="middle">' + objComment.PostingDate + '<br />' + objComment.PostingTime + ' </td><td class="arial_11" style="width:10%" rowspan="2" >' + (MediaGallery.LoggedInUserId != -1 ? ((MediaGallery.IsAdminLogin || MediaGallery.LoggedInUserId == objComment.UserID) ? '<img onclick="return Dcc_CommentsAPI.DeleteComment(event);" src="' + strBaseURLforIMG + 'images/delete_button.png" commentid="' + objComment.CommentID + '"  mediaid="' + result.MediaId + '" CurrentPageNumber="' + result.CurrentPageNumber + '" class="dcc_gallery_delete_button"/>' : ' ') : ' ') + '</td></tr><tr><td ><span class="dcc_gallery_arial_122">' + objComment.CommentText + '</span></td></tr></table></div>';
                        jQuery(cell).attr("width", "70%");
                        row.appendChild(cell);
                        Dcc_CommentsAPI.TableComments.append(row);
                    }
                    row = document.createElement("tr");
                    cell = null;
                    cell = document.createElement("td");
                    jQuery(cell).width("100%").attr("valign", "top").attr("align", "right");
                    if (result.CurrentPageNumber < result.TotalPages) {
                        if (result.CurrentPageNumber == 1) {
                            cell.innerHTML = "<table border='0' align='left' cellpadding='0' cellspacing='0'><tr><td>&nbsp;</td><td><img src='" + strBaseURLforIMG + "images/next1.jpg' onclick='return Dcc_CommentsAPI.NextPage(event);' mediaid='" + result.MediaId + "' CurrentPageNumber='" + result.CurrentPageNumber + "' style='border-width:0px;' alt='' /></td></tr></table>";
                            row.appendChild(cell);
                        }
                        if (result.CurrentPageNumber > 1) {
                            //Comments Paging Previous button
                            cell.innerHTML = "<table border='0' align='left' cellpadding='0' cellspacing='0'><tr><td><img src='" + strBaseURLforIMG + "images/prev1.jpg' onclick='return Dcc_CommentsAPI.PreviousPage(event);' mediaid='" + result.MediaId + "' CurrentPageNumber='" + result.CurrentPageNumber + "' style='border-width:0px;' alt='' />&nbsp;</td><td>&nbsp;<img src='" + strBaseURLforIMG + "images/next1.jpg' onclick='return Dcc_CommentsAPI.NextPage(event);' mediaid='" + result.MediaId + "' CurrentPageNumber='" + result.CurrentPageNumber + "' style='border-width:0px;' alt='' /></td></tr></table>";
                            row.appendChild(cell);
                        }
                    }
                    else {
                        if (result.CurrentPageNumber > 1) {
                            //Comments Paging Next button
                            cell.innerHTML = "<table border='0' align='left' cellpadding='0' cellspacing='0'><tr><td><img src='" + strBaseURLforIMG + "images/prev1.jpg' onclick='return Dcc_CommentsAPI.PreviousPage(event);' mediaid='" + result.MediaId + "' CurrentPageNumber='" + result.CurrentPageNumber + "' style='border-width:0px;' alt='' /></td></tr></table>";
                            row.appendChild(cell);
                        }
                    }
                    Dcc_CommentsAPI.TableComments.append(row);
                    Dcc_CommentsAPI.TableComments.width(pp_contentWidth);
                    Dcc_CommentsAPI.TableComments.find("#dvCommentContainer").width(pp_contentWidth - 20);
                    var strDisplay = jQuery("#tblComments").css("display");
                    if (strDisplay == "block" || strDisplay == "table" || strDisplay == "inline-block") {
                        MediaGallery.SetCommentsHeight(MediaGallery.tblCommentsHeight, false);
                        MediaGallery.tblCommentsHeight = jQuery(".pp_commentsTable").height();
                        MediaGallery.SetCommentsHeight(MediaGallery.tblCommentsHeight, true);
                    }
                }
            }
            jQuery("#pp_comments").css("display", "inline-block");
        },
        GetCommentFailureCallBack: function(error) {
        },
        DeleteComment: function(e) {
            if (confirm(strDeleteMsgText)) {
                var ev = e || window.event;
                var obj = ev.srcElement || ev.target;
                Dcc_CommentsAPI.DeleteComment.row = jQuery(obj).parent().parent().get()[0];
                var commentID = parseInt(jQuery(obj).attr("commentid"));
                Dcc_CommentsAPI.mediaid = parseInt(jQuery(obj).attr("mediaid"));
                Dcc_CommentsAPI.CurrentPageNumber = parseInt(jQuery(obj).attr("CurrentPageNumber"));
                DNNCentric.JMediaGallery.MediaGalleryController.DeleteComment(commentID, Dcc_CommentsAPI.DeleteCommentSuccessCallback, Dcc_CommentsAPI.DeleteCommentFailureCallback);
                return false;
            }
            else {
                return false;
            }
        },
        DeleteCommentSuccessCallback: function(result, eventArgs) {
            if (result == 0) {
                DNNCentric.JMediaGallery.MediaGalleryController.GetComments(Dcc_CommentsAPI.mediaid, Dcc_CommentsAPI.CurrentPageNumber, Dcc_CommentsAPI.GetCommentSuccessCallBack, Dcc_CommentsAPI.GetCommentFailureCallBack);
            }
        },
        DeleteCommentFailureCallback: function(error)
        { },
        ShowHideEmailText: function(e) {
            var ev = e || window.event;
            var obj = ev.target || ev.srcElement;
            obj.value = (jQuery.trim(obj.value) == "" ? strAnonymousEmailText : obj.value);
        },
        ShowHideNameText: function(e) {
            var ev = e || window.event;
            var obj = ev.target || ev.srcElement;
            obj.value = (jQuery.trim(obj.value) == "" ? strAnonymousText : obj.value);
        },
        ClearText: function(e) {
            var ev = e || window.event;
            var obj = ev.target || ev.srcElement;
            if (obj.id == 'txtAnonymousEmail') {
                if (obj.value == strAnonymousEmailText) {
                    obj.value = '';
                }
            }
            else {
                if (obj.value == strAnonymousText) {
                    obj.value = '';
                }
            }
        }
    };
})(jqsDCCJMG);
