﻿function showMessageSearch() {
    messageView = 'user_srch';
    $(".msgtabs .msgtab").removeClass("active");
    $(".msgtabs .user_srch").addClass("active");
    $(".msgsearch").fadeIn('slow');
    $("#msgList").html("");
    $(".mainstatusinput").hide();
}

function searchMessages() {
    if ($("#tMessageSearch").val().length > 0) {
        getMessages(profileUserID, 'user_srch');
    }
}

function newMessages() {
    if (userID > 0 && liveUpdatesEnabled && !statusFocused && typeof (parentObjectTypeEnum) != 'undefined') {
        var maxID = $(".MaxSeenID").html();
        var term = $("#tMessageSearch").val();
        if (maxID != null && maxID.length > 0) {
            $.post("/AjaxCalls/Ajax_GetNewMessages.aspx",
                { pot: parentObjectTypeEnum, pod: parentObjectID, v: messageView, i: maxID, p: profileUserID, pn: profileUserName, t: term, w: whitelabelID, l: language, prv: inPublicPreviewMode },
                function (data) {
                    if (data != "-1") {
                        if (data == "") {
                            //Nothing new
                        } else {
                            var tokens = data.split("~msghdrdat~");
                            var msgtokens = tokens[1].split("~msgsep~");
                            var i = 0;
                            while (i < msgtokens.length) {
                                var params = msgtokens[i].split("~msgdatsep~");
                                var ids = params[0].split("|");
                                var mid = parseInt(ids[0]);
                                var pid = parseInt(ids[1]);
                                var html = params[1];
                                displayMessage(mid, pid, html, false, true);
                                i++;
                            }
                            var dat = tokens[0].split("|");
                            updateUnreadDisplay(dat[0]);
                            var highlight = dat[1];
                            if (highlight.length > 0) {
                                $("#msgList").highlight(highlight);
                            }
                        }
                    }
                    initMessagePoll();
                });
        }
    } else {
        initMessagePoll();
    }
}

var newMsgTimer;
function initMessagePoll() {
    if (pollingSwitch == "true") {
        newMsgTimer = setTimeout("newMessages();", messagePollingInterval);
    }
}

function displayMessage(mid, pid, html, hidereply, incrementSeen, parentRating, parentMsgListClass) {
    if (pid == "0") {
        if (parentMsgListClass == undefined || parentMsgListClass == "") {
            parentMsgListClass = "";
        } else {
            parentMsgListClass = "." + parentMsgListClass + " ";
        }
        $(parentMsgListClass + "#feed_messagelist").prepend(html);
        $(parentMsgListClass + "#feed_messagelist > div").first().css('background-color', '#fcf8c8');
        $(parentMsgListClass + "#feed_messagelist > div").first().css('display', 'none').slideDown('slow');
        $(parentMsgListClass + "#feed_messagelist > div").first().animate({ backgroundColor: "#fff" }, 1000);
    } else {
        $(".commentarrow_" + pid).hide();
        $(".msgcomments_" + pid).prepend(html);
        $(".msgcomments_" + pid + " > div").first().css('display', 'none').slideDown('slow');
        if (hidereply) {
            hideReplyBox(pid);
        }
        //Update parent rating
        if (parentRating != undefined && parentRating != null) {
            if (parentRating > -1) {
                $("input[clientname=" + pid + "_ckrating]").rating('readOnly', false);
                $("input[clientname=" + pid + "_ckrating]").rating('select', parentRating.toString());
                $("input[clientname=" + pid + "_ckrating]").rating('readOnly', true);
                $(".ratingdisplay_" + pid).show();
                $("." + pid + "_revcnt").hide();
            }
        }
    }
    initThumbTips("#athumb_" + mid);
    initMapTips("#amap_" + mid);
    setDisplayedMaxMinMsgIDs(mid, incrementSeen);
    $("#nomessages").fadeOut('slow');
}

function getMessages(profileUserID, newMessageView) {
    clearTimeout(newMsgTimer);
    if (newMessageView != 'user_srch') {
        $(".msgsearch").hide();
    }
    var term = $("#tMessageSearch").val();
    showAjaxProgress();
    $.post("/AjaxCalls/Ajax_GetMessages.aspx",
            { v: newMessageView, p: profileUserID, pn: profileUserName, t: escape(term), w: whitelabelID, l: language, prv: inPublicPreviewMode },
            function (data) {
                hideAjaxProgress();
                if (data != "-1") {
                    var tokens = data.split("~msgdatsep~");
                    var params = tokens[0].split("|");
                    //Set the current view
                    messageView = params[0];
                    $(".msgtabs .msgtab").removeClass("active");
                    $(".msgtabs ." + params[0]).addClass("active");
                    var repele = $(".mainstatusinput");
                    if (params[1] == "1") {
                        repele.fadeTo('fast', 0);
                        repele.slideDown('slow',
                                function () {
                                    repele.fadeTo('fast', 1);
                                });
                    } else {
                        repele.hide();
                    }
                    $("#msgList").html(tokens[1]);
                    updateUnreadDisplay(params[2]);
                    var highlighttokens = params[3].split("~");

                    if (params[3].length > 0) {
                        for (var i = 0; i < highlighttokens.length; i++) {
                            $("#msgList").highlight(highlighttokens[i]);
                        }
                    }
                    initThumbTips("#msgList .thumbtip");
                    initMapTips("#msgList .maptip");
                    if (messageView != "user_sent" && profileUserID == userID) {
                        initMessagePoll();
                    }
                } else {
                    popAlert(pleaseTryAgain, "An error occurred. Please try again.");
                }
            });
}

function moreMessages() {
    var minID = $(".MinMsgID").html();
    var term = $("#tMessageSearch").val();
    if (minID.length > 0) {
        showAjaxProgress();
        $.post("/AjaxCalls/Ajax_GetMoreMessages.aspx",
                { v: messageView, i: minID, p: profileUserID, pn: profileUserName, t: escape(term), w: whitelabelID, l: language, poi: parentObjectID, pot: parentObjectTypeEnum, prv: inPublicPreviewMode },
                function (data) {
                    hideAjaxProgress();
                    if (data != "-1") {
                        if (data == "") {
                            $(".bmoremessages").fadeOut();
                        } else {
                            var tokens = data.split("~msgdatsep~");
                            var params = tokens[0].split("|");
                            setDisplayedMaxMinMsgIDs(parseInt(params[0]));
                            $(".olderMessageHolder").append("<div style='display:none;'></div>");
                            $(".olderMessageHolder > div").last().append(tokens[1]);
                            $(".olderMessageHolder > div").last().slideDown('slow');
                            $(".olderMessageHolder > div").last().find(".thumbtip").tooltip({ onBeforeShow: function () {
                                jsLoadAjaxThumb(this.getTrigger().attr("id"), this.getTrigger().attr("uid"));
                            }, relative: 'true', effect: 'bouncy', offset: [-20, 0], predelay: 500
                            });
                            var highlight = params[1];
                            if (highlight.length > 0) {
                                $(".olderMessageHolder > div").last().highlight(highlight);
                            }
                        }
                    }
                });
    }
}
function moreComments(i, y) {
    if (y == 1) {
        $("#" + i + "_msgcmtopen").hide();
        $("#" + i + "_msgcmtclose").show();
        $("#" + i + "_commentspan").slideDown('slow');
    } else {

        $("#" + i + "_msgcmtclose").hide();
        $("#" + i + "_commentspan").slideUp('slow', function () {
            $("#" + i + "_msgcmtopen").slideDown('fast');
        });
    }
}
var curReplyBox;
function hideReplyBox(cid) {
    $("#reply_" + cid).slideUp();
}

function getReplyBox(cid) {
    showAjaxProgress();
    $.post("/AjaxCalls/Ajax_GetReplyBox.aspx",
                { c: cid, po: parentObjectTypeEnum, pi: parentObjectID },
                function (data) {
                    hideAjaxProgress();
                    if (data != "") {
                        var tokens = data.split("~");
                        if (tokens[0] != "0") {
                            var ele = $("#reply_" + tokens[0])
                            ele.html(tokens[1]);
                            curReplyBox = $("#statusUpdate_" + tokens[0])
                            curReplyBox.fadeTo('fast', 0);
                            ele.slideDown('slow',
                                function () {
                                    curReplyBox.fadeTo('fast', 1);
                                    document.getElementById(tokens[0] + "_tStatusUpdate").focus();
                                });
                        }
                    }
                });
}

var curDelMsg;
function deleteMessage(i) {
    showAjaxProgress();
    $.post("/AjaxCalls/Ajax_DeleteMessage.ashx",
             { i: i },
             function (data) {
                 hideAjaxProgress();
                 var tokens = data.split("|");
                 if (tokens[0] == "-1") {
                     alert("An error occurred. Please try again.");
                 } else {
                     updateUnreadDisplay(parseInt(tokens[1]));
                     curDelMsg = $(".msg_" + tokens[0]);
                     var pid = tokens[2];
                     var parentRating = parseInt(tokens[3]);
                     if (pid > 0) {
                         if (parentRating > -1) {
                             $("input[clientname=" + pid + "_ckrating]").rating('readOnly', false);
                             $("input[clientname=" + pid + "_ckrating]").rating('select', parentRating.toString());
                             $("input[clientname=" + pid + "_ckrating]").rating('readOnly', true);
                             $(".ratingdisplay_" + pid).show();
                             $("." + pid + "_revcnt").hide();
                         } else {
                             $("input[clientname=" + pid + "_ckrating]").rating('readOnly', false);
                             $("input[clientname=" + pid + "_ckrating]").rating('select', "0");
                             $("input[clientname=" + pid + "_ckrating]").rating('readOnly', true);
                             $("." + pid + "_revcnt").hide();
                         }
                     }
                     curDelMsg.fadeTo('slow', 0,
                                function () {
                                    curDelMsg.remove();
                                });
                 }
             });
}


function updateUnreadDisplay(cnt) {
    $("#tabprvcnt").html(cnt);
    $(".unreaddisplay").attr("src", "/DynamicMessageImage.ashx?t=" + themeID + "&a=" + cnt + "&l=" + language);
    $("#prvcntlbl").html(cnt);
}

function markRead(i) {
    showAjaxProgress();
    $.post("/AjaxCalls/Ajax_SetMessageRead.ashx",
             { i: i },
             function (data) {
                 hideAjaxProgress();
                 var tokens = data.split("~");
                 if (tokens[0] == "-1") {
                     alert("An error occurred. Please try again.");
                 } else {
                     $(".readlink_" + tokens[0]).html(readText);
                     $(".readico_" + tokens[0]).attr("src", "/images/msgread.png");
                     updateUnreadDisplay(tokens[1]);
                 }
             });
}

function markFavorite(i, isfav) {
    showAjaxProgress();
    $.post("/AjaxCalls/Ajax_SetMessageFavorite.ashx",
             { i: i, f: isfav },
             function (data) {
                 hideAjaxProgress();
                 var tokens = data.split("~");
                 if (tokens[0] == "-1") {
                     popAlert(pleaseTryAgain, "An error occurred. Please try again.");
                 } else {
                     $(".favlink_" + tokens[0]).html(tokens[2]);
                 }
             });
}

function DelMsgDealAttachment(controlID, psid) {
    $("#" + controlID + "_DealList").remove();
    $("#" + controlID + "_dealid").html("0");
}

function DelMsgStatAttachment(controlID, mai) {
    showAjaxProgress();
    $.post("/AjaxCalls/Ajax_DeleteMessageAttachment.ashx",
             { c: "" + controlID + "", i: mai },
             function (data) {
                 hideAjaxProgress();
                 if (data == "-1") {
                     alert("An error occurred. Please try again.");
                 } else {
                     var tokens = data.split(":");
                     $("#" + controlID + "_MsgAttachmentList > #mai_" + tokens[1]).remove();
                     var ele = document.getElementById(controlID + "_hMsgAttachments");
                     ele.value = ele.value.replace(mai + ",", "");
                     if (ele.value == "") {
                         $("#" + controlID + "_AttLabel").hide();
                         $("#" + controlID + "_AttList").slideUp();
                     }
                 }
             });
}

function setDisplayedMaxMinMsgIDs(newMsgID, incrementSeen) {
    var minID = parseInt($(".MinMsgID").html());
    if (newMsgID < minID) {
        $(".MinMsgID").html(newMsgID.toString())
    }
    var maxID = parseInt($(".MaxMsgID").html());
    if (newMsgID > maxID) {
        $(".MaxMsgID").html(newMsgID.toString())
    }
    if (incrementSeen) {
        var maxSeenID = parseInt($(".MaxSeenID").html());
        if (newMsgID > maxSeenID) {
            $(".MaxSeenID").html(newMsgID.toString())
        }
    }
}

var statusUpdateCallback = "";
var statusUpdateOptions = "";
var statusMsgListClass = "";
function SubmitStatus(controlID) {

    var cid = controlID;
    var msg = document.getElementById(controlID + "_tStatusUpdate").value;
    if (msg.length == 0 || msg == statusUpdateLabel) {
        popAlert(pleaseTryAgain, emptyMessageAlert);
    } else {
        att = $("#" + controlID + "_hMsgAttachments").val();
        vd = $("#" + controlID + "_hVidAttachments").val();
        la = $("#" + controlID + "_hLocAttachments").val();
        ev = $("#" + controlID + "_hEvtAttachments").val();
        rv = $("#" + controlID + "_hRevAttachments").val();
        dl = $("#" + controlID + "_dealid").html();
        var po = document.getElementById(controlID + "_hParentObjectType").value;
        var pi = document.getElementById(controlID + "_hParentObjectID").value;
        var pr = document.getElementById(controlID + "_hIsPrivate").value;
        var pm = document.getElementById(controlID + "_hParentMessageID").value;
        showAjaxProgress();
        $.post("/AjaxCalls/Ajax_StatusSubmit.aspx",
                { opt: statusUpdateOptions, pcl: statusMsgListClass, cb: statusUpdateCallback, c: cid, m: escape(msg), a: escape(att), v: escape(vd), l: escape(la), e: escape(ev), r: rv, po: po, pi: pi, pr: pr, pm: pm, dl: dl, w: whitelabelID },
                function (data) {
                    hideAjaxProgress();
                    if (data != "") {
                        var tokens = data.split('~|~');

                        if (tokens[0] == '1') {
                            document.getElementById(controlID + "_tStatusUpdate").value = "";
                            resetAttachmentForms(controlID);

                            //Prepend the message to the feed or commented message
                            var mid = tokens[1];
                            var pid = tokens[2];
                            var vc = tokens[3];
                            var parentRating = tokens[7];
                            var callback = tokens[8];
                            var parmsglistclass = tokens[9];
                            if (vc.length > 0) {
                                $(".currencyimg").attr("src", "/DynamicCurrencyImage.ashx?t=" + themeID + "&a=" + vc + "&l=" + language + "&w=" + whitelabelID);
                            }

                            displayMessage(mid, pid, tokens[4], true, false, parentRating, parmsglistclass);

                            if (tokens[5].length > 0 && tokens[6].length > 0) {
                                $("#userLocationName_" + userID).html(tokens[5]);
                                $("#userLocationAddr_" + userID).attr('href', tokens[6]);
                            }

                            if (callback.length > 0) {
                                eval(callback);
                            }
                        } else {
                            popAlert(pleaseTryAgain, "An error occurred. Please try again.");
                        }
                    } else {
                        popAlert(pleaseTryAgain, "An error occurred. Please try again.");
                    }
                });
    }
}

var inStatusUpdate = false;
var statusTimer;
var statusDelay = autoSearchDelayMs;
var noStatusUpdateBlur = false;
var statusTerm = "";
var searchPStart = 0;
var searchPEnd = 0;
var currentStatusCtlID = "";

function statusupdatekeydown(evt) {
    //Future: Firefox fix needed here - keycode doesn't come through
    var k = evt.keyCode;
    if (k == 13 || k == 38 || k == 40) {
        evt.returnValue = false;
        evt.cancel = true;
    }
}

function statusupdatekeyup(controlID, k) {
    if (k == 38) { //Up
        var selItem = $('#' + controlID + '_sStatusUpdateResults').find('.keyselected');
        if (selItem.length == 0) {
            $('#' + controlID + '_sStatusUpdateResults .statusresultitem').last().addClass('keyselected');
        } else {
            selItem.removeClass('keyselected');
            var s = selItem.parent().prevAll('.statusresulta');
            if (s.length > 0) {
                s.find(".statusresultitem").first().addClass('keyselected');
            } else {
                $('#' + controlID + '_sStatusUpdateResults .statusresultitem').last().addClass('keyselected');
            }
        }
    } else if (k == 40) { //Down
        var selItem = $('#' + controlID + '_sStatusUpdateResults').find('.keyselected');
        if (selItem.length == 0) {
            $('#' + controlID + '_sStatusUpdateResults .statusresultitem').first().addClass('keyselected');
        } else {
            selItem.removeClass('keyselected');
            var s = selItem.parent().nextAll('.statusresulta');
            if (s.length > 0) {
                s.find(".statusresultitem").first().addClass('keyselected');
            } else {
                $('#' + controlID + '_sStatusUpdateResults .statusresultitem').first().addClass('keyselected');
            }
        }
    } else if (k == 13) { //Enter
        var s = $('#' + controlID + '_sStatusUpdateResults').find('.keyselected');
        if (s.length > 0) {
            var t = s.parent().attr('dat').split(',');
            onStatusMatch(controlID, t[0], t[1], t[2]);
        }
        hideStatusResults(controlID);
    } else {
        var w = getHashWord(controlID);
        if (w.length > 0) {
            sulw = "";
            clearTimeout(statusTimer);
            statusTerm = w;
            currentStatusCtlID = controlID;
            statusTimer = setTimeout(function () { queryStatusOptions() }, statusDelay);
        } else {
            hideStatusResults(controlID);
        }
    }
}

function hideStatusResults(controlID) {
    $("#" + controlID + "_sStatusUpdateResults").fadeOut()
}

//Prevent multiple event firings
var sulw = "";
var suls = 0;
var sule = 0;
function onStatusMatch(controlID, w, s, e) {
    if (w != sulw || s != suls || e != sule) {
        var f = document.getElementById(controlID + "_tStatusUpdate");
        var v = f.value;
        var pre = v.substring(0, s - 1);
        var suf = v.substring(e, v.length);
        sulw = w;
        suls = s;
        sule = e;
        f.value = pre + w + suf;
        setCaretPosition(f, (pre + w).length);
    }
    hideStatusResults(controlID);
}

function getHashWord(controlID) {
    var ctl = document.getElementById(controlID + "_tStatusUpdate");
    var v = ctl.value;
    var p = getCaretPos(ctl);
    var i;
    var w = "";
    var e = p;
    var c;
    searchPEnd = p;
    for (i = p + 1; i < v.length; i++) {
        c = v.substring(i - 1, i);
        if (c == " ") {
            break;
        } else {
            e = e + 1;
            searchPEnd = i;
        }
    }
    var idx = e;
    for (i = e; i > 0; i--) {
        c = v.substring(i - 1, i);
        if (c != " ") {
            w = c + w;
            if (c == "#" || c == "@") {
                idx = i;
            }
            searchPStart = i;
        }
        if (c == " ") {
            break;
        }
    }
    if (idx > 1) {
        var pre = v.substring(idx - 2, idx - 1);
        if (pre != " ") {
            return "";
        }
    }
    w = w.trim();

    if (w.length > 1 && (w.indexOf("#") == 0 || w.indexOf("@") == 0)) {
        return w;
    } else {
        return "";
    }
}

function queryStatusOptions() {
    var controlID = currentStatusCtlID;
    var inputString = statusTerm;
    if (inputString.length == 0) {
        hideStatusResults(controlID);
    } else {
        if (inputString.length > 2) {
            inStatusUpdate = true;
            $.post("/AjaxCalls/AutoSuggest_StatusUpdate.ashx", { c: "" + controlID + "", t: "" + escape(inputString) + "", u: userID, l: language, w: whitelabelID, s: "" + searchPStart + "", e: "" + searchPEnd + "" }, function (data) { // Do an AJAX call
                var tokens = data.split("~");
                $("#" + controlID + "_sStatusUpdateResults").fadeIn(); // Show the suggestions box
                $("#" + controlID + "_sStatusUpdateResults").html(tokens[tokens.length - 1]); // Fill the suggestions box
                for (var i = 0; i < tokens.length - 1; i++) {
                    $("#" + controlID + "_sStatusUpdateResults .statusresultitem").highlight(tokens[i]);
                }
                inStatusUpdate = false;
            });
        }
    }
}

function attachVideo(ctl) {
    var url = document.getElementById(ctl + "_videoInput").value;
    if (url.length > 0) {
        $("." + ctl + "_hVideo").fadeOut();
        $("#" + ctl + "_MsgVideoList").prepend("<li class='as-selection-item blur' id='vi_1'><a class='as-close' onclick='DelVideoAttachment(\"" + ctl + "\",1);'>×</a>" + videoAttachedLabel + "</li>");
        $("#" + ctl + "_VidList").slideDown();
        document.getElementById(ctl + "_hVidAttachments").value = url;
        $("#" + ctl + "_VidLabel").show();
        $("#" + ctl + "_videoSelect").slideUp('slow');
    }
}

function attachReview(ctl) {
    var revscore = $("input[name=" + ctl + "_reviewInput]:radio:checked").val();
    if (revscore != undefined && revscore != null) {
        $("." + ctl + "_hReview").fadeOut();
        $("#" + ctl + "_MsgReviewList").prepend("<li class='as-selection-item blur' id='rv_1'><a class='as-close' onclick='DelReviewAttachment(\"" + ctl + "\",1);'>×</a>" + revscore + " " + reviewAttachedLabel + "</li>");
        $("#" + ctl + "_RevList").slideDown();
        document.getElementById(ctl + "_hRevAttachments").value = revscore;
        $("#" + ctl + "_RevLabel").show();
        $("#" + ctl + "_reviewSelect").slideUp('slow');
    }
    $("input[name=" + ctl + "_reviewInput]").rating('select', '0');
}

function attachLocation(ctl) {
    var a = $("#" + ctl + "_locationAddr").val();
    if (a.length > 0) {
        var n = $("#" + ctl + "_locationName").val();
        var a = $("#" + ctl + "_locationAddr").val();
        showAjaxProgress();
        $.post("/AjaxCalls/Ajax_GeocodeLocation.ashx",
             { i: ctl, n: escape(n), a: escape(a) },
             function (data) {
                 hideAjaxProgress();
                 if (data != "-1") {
                     var tokens = data.split("|");
                     $("." + ctl + "_hLocation").fadeOut();
                     if (tokens[1].length == 0) {
                         tokens[1] = locationAttachedLabel;
                     }
                     $("#" + ctl + "_MsgLocationList").prepend("<li class='as-selection-item blur' id='li_1'><a class='as-close' onclick='DelLocationAttachment(\"" + ctl + "\",1);'>×</a>" + tokens[1] + "</li>");
                     $("#" + ctl + "_LocList").slideDown();
                     $("#" + ctl + "_hLocAttachments").val(tokens[1] + "|" + tokens[2] + "|" + tokens[3] + "|" + tokens[4]);
                     $("#" + ctl + "_LocLabel").show();
                     $("#" + ctl + "_locationSelect").slideUp('slow');
                 }
             });
    }
}

function attachCalEvent(ctl) {
    var n = $("#" + ctl + "_eventName").val();
    if (n.length > 0) {
        var tz = $("#" + ctl + "_timeZone").val();
        var sd = $("#" + ctl + "_eventStartDate").val();
        var st = $("#" + ctl + "_eventStartTime").val();
        var ed = $("#" + ctl + "_eventEndDate").val();
        var et = $("#" + ctl + "_eventEndTime").val();
        showAjaxProgress();
        $.post("/AjaxCalls/Ajax_ValidateEvent.ashx",
             { i: ctl, n: escape(n), tz: tz, sd: sd, st: st, ed: ed, et: et },
             function (data) {
                 hideAjaxProgress();
                 var tokens = data.split("|");
                 if (tokens[0] == "1") {
                     var prms = tokens[2].split("~");
                     $("." + ctl + "_hEvent").fadeOut();
                     $("#" + ctl + "_MsgEventList").prepend("<li class='as-selection-item blur' id='ev_1'><a class='as-close' onclick='DelEventAttachment(\"" + ctl + "\",1);'>×</a>" + prms[0] + "</li>");
                     $("#" + ctl + "_EvtList").slideDown();
                     $("#" + ctl + "_hEvtAttachments").val(tokens[2]);
                     $("#" + ctl + "_EvtLabel").show();
                     $("#" + ctl + "_eventSelect").slideUp('slow');
                 } else {
                     alert(tokens[1]);
                 }
             });
    }
}
function selectReview(ctl) {
    $(".divReviewInput").show();
    $("#" + ctl + "_locationSelect").slideUp();
    $("#" + ctl + "_eventSelect").slideUp();
    $("#" + ctl + "_videoSelect").slideUp();
    $("#" + ctl + "_reviewSelect").slideDown();
}

function selectVideo(ctl) {
    $("#" + ctl + "_locationSelect").slideUp();
    $("#" + ctl + "_eventSelect").slideUp();
    $("#" + ctl + "_reviewSelect").slideUp();
    $("#" + ctl + "_videoSelect").slideDown();
}

function selectLocation(ctl) {
    $("#" + ctl + "_videoSelect").slideUp();
    $("#" + ctl + "_eventSelect").slideUp();
    $("#" + ctl + "_reviewSelect").slideUp();
    $("#" + ctl + "_locationSelect").slideDown();
}

function selectEvent(ctl) {
    $("#" + ctl + "_videoSelect").slideUp();
    $("#" + ctl + "_locationSelect").slideUp();
    $("#" + ctl + "_reviewSelect").slideUp();
    $("#" + ctl + "_eventSelect").slideDown();
}

function DelVideoAttachment(ctl, vi) {
    $("#" + ctl + "_MsgVideoList > #vi_" + vi).remove();
    $("." + ctl + "_hVideo").show();
    $("#" + ctl + "_VidLabel").hide();
    $("#" + ctl + "_hVidAttachments").val("");
    $("#" + ctl + "_videoInput").val("");
    $("#" + ctl + "_VidList").slideUp();
}

function DelReviewAttachment(ctl, ri) {
    $("#" + ctl + "_MsgReviewList > #rv_" + ri).remove();
    $("." + ctl + "_hReview").show();
    $("#" + ctl + "_RevLabel").hide();
    $("#" + ctl + "_hRevAttachments").val("");
    $("#" + ctl + "_reviewInput").val("");
    $("#" + ctl + "_RevList").slideUp();
}

function DelLocationAttachment(ctl, li) {
    $("#" + ctl + "_MsgLocationList > #li_" + li).remove();
    $("." + ctl + "_hLocation").show();
    $("#" + ctl + "_LocLabel").hide();
    $("#" + ctl + "_hLocAttachments").val("");
    $("#" + ctl + "_locationAddr").val("");
    $("#" + ctl + "_locationName").val("");
    $("#" + ctl + "_LocList").slideUp();
}

function DelEventAttachment(ctl, li) {
    $("#" + ctl + "_MsgEventList > #ev_" + li).remove();
    $("." + ctl + "_hEvent").show();
    $("#" + ctl + "_EvtLabel").hide();
    $("#" + ctl + "_hEvtAttachments").val("");
    $("#" + ctl + "_eventName").val("");
    $("#" + ctl + "_eventStartDate").val("");
    $("#" + ctl + "_eventStartTime").val("");
    $("#" + ctl + "_eventEndDate").val("");
    $("#" + ctl + "_eventEndTime").val("");
    $("#" + ctl + "_EvtList").slideUp();
}

function resetAttachmentForms(ctl) {
    $("#" + ctl + "_locationSelect").slideUp();
    $("#" + ctl + "_videoSelect").slideUp();
    $("#" + ctl + "_reviewSelect").slideUp();
    $("#" + ctl + "_locationAddr").val("");
    $("#" + ctl + "_locationName").val("");
    $("#" + ctl + "_eventName").val("");
    $("#" + ctl + "_eventStartDate").val("");
    $("#" + ctl + "_eventStartTime").val("");
    $("#" + ctl + "_eventEndDate").val("");
    $("#" + ctl + "_eventEndTime").val("");
    $("#" + ctl + "_videoInput").val("");
    $("#" + ctl + "_reviewInput").val("");
    $("#" + ctl + "_hMsgAttachments").val("");
    $("#" + ctl + "_hVidAttachments").val("");
    $("#" + ctl + "_hRevAttachments").val("");
    $("#" + ctl + "_hLocAttachments").val("");
    $("#" + ctl + "_hEvtAttachments").val("");
    $("#" + ctl + "_MsgAttachmentList > .as-selection-item").remove();
    $("#" + ctl + "_MsgVideoList > .as-selection-item").remove();
    $("#" + ctl + "_MsgReviewList > .as-selection-item").remove();
    $("#" + ctl + "_MsgLocationList > .as-selection-item").remove();
    $("#" + ctl + "_MsgEventList > .as-selection-item").remove();
    $("#" + ctl + "_AttLabel").hide();
    $("#" + ctl + "_VidLabel").hide();
    $("#" + ctl + "_RevLabel").hide();
    $("#" + ctl + "_EvtLabel").hide();
    $("#" + ctl + "_LocLabel").hide();
    $("." + ctl + "_hVideo").show();
    $("." + ctl + "_hReview").show();
    $("." + ctl + "_hLocation").show();
    $("." + ctl + "_hEvent").show();
    $("#" + ctl + "_AttList").hide();
    $("#" + ctl + "_VidList").hide();
    $("#" + ctl + "_RevList").hide();
    $("#" + ctl + "_EvtList").hide();
    $("#" + ctl + "_LocList").hide();
    $(".charleft").html("&nbsp;");
    $("#" + ctl + "_DealList").remove();
    $("#" + ctl + "_dealid").html("0");
    $("input[name=" + ctl + "_reviewInput]").rating('select', '0');
}

var statusUpdateOptions = {
    'maxCharacterSize': maxStatusCharacters,
    'textFontSize': '12px',
    'textColor': '#333',
    'textFamily': 'Calibri,Arial',
    'textAlign': 'right',
    'warningColor': '#CC3300',
    'warningNumber': 10,
    'isCharacterCount': true,
    'isWordCount': false,
    'location': 'top',
    'characters': ''
};

$(document).ready(function () {
    try {
        $('.statustext').textareaCount(statusUpdateOptions);
    } catch (err) {
    }
    initMessagePoll();
});

function getReviewBox(pid) {
    showAjaxProgress();
    $.post("/AjaxCalls/Ajax_GetReviewBox.aspx",
                { p: pid },
                function (data) {
                    hideAjaxProgress();
                    if (data != "") {
                        var tokens = data.split("~");
                        if (tokens[0] != "0") {
                            $(".divprodrev_" + tokens[0]).show();
                            var ele = $(".PRODREVIEW_" + tokens[0])
                            ele.html(tokens[1]);
                            curReplyBox = $("#statusUpdate_" + tokens[0])
                            curReplyBox.fadeTo('fast', 0);
                            ele.slideDown('slow',
                                function () {
                                    curReplyBox.fadeTo('fast', 1);
                                    document.getElementById("ctlreview_" + tokens[0] + "_tStatusUpdate").focus();
                                });
                        }
                    }
                });
}

function getRecentProductReviews(pid) {
    showAjaxProgress();
    $.post("/AjaxCalls/Ajax_GetRecentProductReviews.aspx",
                { w: whitelabelID, l: language, p: pid },
                function (data) {
                    hideAjaxProgress();
                    if (data != "-1") {
                        if (data == "") {
                        } else {
                            var tokens = data.split("|");
                            if (tokens[0] == "0") {
                                $(".divprodrev_" + tokens[1]).html("<div style='padding:20px' class='subtext'>Sorry, there are currently no reviews available.</div>");
                                $(".divprodrev_" + tokens[1]).slideDown();
                            } else {
                                var pid = tokens[0];
                                $(".reviews_" + pid).html(tokens[1]);
                                $(".reviews_" + pid + " > div").last().find(".thumbtip").tooltip({ onBeforeShow: function () {
                                    jsLoadAjaxThumb(this.getTrigger().attr("id"), this.getTrigger().attr("uid"));
                                }, relative: 'true', effect: 'bouncy', offset: [-20, 0], predelay: 500
                                });
                                $(".divprodrev_" + pid).slideDown();
                            }
                        }
                    }
                });
}

function onReviewStatSubmit(ctl) {
    var tokens = ctl.split("_");
    if (tokens.length == 2) {
        $(".PRODREVIEW_" + tokens[1]).hide();
        $(".prdfrstrev_" + tokens[1]).html("Write another review");
    }
}
