﻿var Discription;
var currentForumAdminWindow;
var currentProfileWindow;
var expandedMessages = "";

function SetExpandedMessages(id, status)
{
    if (!status)
    {
        expandedMessages = expandedMessages.replace(id, '');
        expandedMessages = expandedMessages.replace(',,', ',');
    }
    else if (status)
    {
        expandedMessages += id + ',';
    }
}

function AdminModeChange()
{
    Discription = $("ForumDiscription").innerHTML;
    $("ForumDiscription").hide();


    element = Builder.node('div', { id: 'EditMode', style: 'width:140px;height:300px;' }, [
         Builder.node('textarea', { className: 'controls', style: 'font-size:11px;overflow:hidden; float:right;' }, Discription, []),
          Builder.node('input', { type: 'button', value: 'אישור', style: 'font-size:11px;overflow:hidden', onclick: 'alert(\'test\');$(\"EditMode\").remove();$("ForumDiscription").show();' }, []),
          Builder.node('input', { type: 'button', value: 'ביטול', style: 'font-size:11px;overflow:hidden', onclick: '$(\"EditMode\").remove();$("ForumDiscription").show();' }, [])
  ]);

    $("ForumDiscription").parentNode.appendChild(element);

}

function CollapseRoot(e)
{
    if ($(e).hasClassName('Collapsed'))
    {
        for (var i = 1; i < e.childNodes.length; i++)
        {
            if (!$(e.childNodes[i]).hasClassName('messageContant'))
            {
                $(e.childNodes[i]).show();
            }
        }

        $(e).removeClassName('Collapsed');
    }
    else
    {
        for (i = 1; i < e.childNodes.length; i++)
        {
            $(e.childNodes[i]).hide();
        }

        $(e).addClassName('Collapsed');
    }


}

function CollapseMessages()
{
    var arr = expandedMessages.substring(0, expandedMessages.length - 1).split(",");

    for (var i = 0; i < arr.length; i++)
    {
        if (arr[i] > 0)
        {
            SetExpandedMessages(arr[i], false);
            if ($('m_' + arr[i]) != null)
            {
                $('m_' + arr[i]).hide();
            }
        }

        expandedMessages = "";
    }
}

function BuildTools(id, isContent, isLocked, isMessage)
{
    var pagePath = baseUrl + "UI/Forums/Message.aspx";
    var prefix;

    if (isMessage != undefined && isMessage)
    {
        prefix = "i_";
    }
    else
    {
        isMessage = false;
        prefix = "m_";
    }
    
    if (!isLocked)
    {
        if (!isContent || (Cookie.get('R') != null && Cookie.get('R').indexOf(id) >= 0))
        {
            return Builder.node('div', { id: prefix + id, className: 'messageContant' }, [
                Builder.node('div', { className: 'messageTools' }, [
                    Builder.node('a', { onclick: 'AddMessage(' + id + ');', className: 'big' }, "תגובה להודעה זו", []),
                    Builder.node('a', { href: pagePath + '?MessageNum=' + id }, "קישור", []),
                ])]);
        }
        else
        {
            return Builder.node('div', { id: prefix + id, className: 'messageContant' }, [
                Builder.node('div', { className: 'messageTools' }, [
                    Builder.node('a', { onclick: 'AddMessage(' + id + ');', className: 'big' }, "תגובה להודעה זו", []),
                    Builder.node('a', { href: pagePath + '?MessageNum=' + id }, "קישור", []),
                    Builder.node('span', {id:'rank'+id,className:'rankS'}, [
                     Builder.node('a', { href: 'javascript:Rank(' + id + ', true, this);' }, [Builder.node('img', { src: 'http://imgs.101.org.il/icons/thumbUp.gif' }, [])]),
                     Builder.node('a', { href: 'javascript:Rank(' + id + ', false, this);' }, [Builder.node('img', { src: 'http://imgs.101.org.il/icons/thumbDown.gif' }, [])])
                     ])
                ])]);
        }
    }
    else
    {
        if (Cookie.get('R') != null && Cookie.get('R').indexOf(id) >= 0 || !isContent)
        {
            return Builder.node('div', { id: prefix + id, className: 'messageContant' }, [
                Builder.node('div', { className: 'messageTools' }, [
                    Builder.node('a', { href: pagePath + '?MessageNum=' + id }, "קישור", [])
                ])]);
        }
        else
        {
            return Builder.node('div', { id: prefix + id, className: 'messageContant' }, [
                Builder.node('div', { className: 'messageTools' }, [
                    Builder.node('a', { href: pagePath + '?MessageNum=' + id }, "קישור", []),
                    Builder.node('span', { id: 'rank' + id, className: 'rankS' }, [
                     Builder.node('a', { href: 'javascript:Rank('+id+', true, this);' }, [Builder.node('img', { src: 'http://imgs.101.org.il/icons/thumbUp.gif' }, [])]),
                     Builder.node('a', { href: 'javascript:Rank(' + id + ', false, this);' }, [Builder.node('img', { src: 'http://imgs.101.org.il/icons/thumbDown.gif' }, [])])
                     ])
                ])]);
        }
    }
}

function Rank(messageId, add, e)
{
    ForumAJAX.Rank(messageId, add);
    $('rank' + messageId).replace('<span style="font-size:13px; padding-left:40px; color:#404040;">דירוגך נרשם. תודה.</span>');
}

function GetContent(e, id, isContent, isLocked)
{
    if ($('m_' + id) == undefined || $('m_' + id) == null)
    {
        SetExpandedMessages(id, true);

        var messageContant = "<br/>";
        if (isContent != false)
        {
            messageContant = ForumAJAX.GetMessageContant(id).value;
        }

        var element = BuildTools(id, isContent, isLocked);

        $(e.parentNode.parentNode.parentNode.parentNode).insert({ after: element }).show();

        $(element).insert({ top: messageContant });

    }
    else
    {
        if ($('m_' + id).visible())
        {
            SetExpandedMessages(id, false);

            $('m_' + id).hide();
        }
        else
        {
            SetExpandedMessages(id, true);

            $('m_' + id).show();
        }
    }
}

function AddMessage(messageId)
{
    var x = CommonAJAX.CheckAuthentication().value;
    if (x != null && x != undefined)
    {
        $("ctl00_ContentPlaceHolder1_hdnMessageId").value = messageId;
        Modalbox.show(baseUrl + "UI/Forums/HTML/AddMessage.htm", { title: 'הודעה', width: 680 });
    }
    else
    {
        LogInModal();
    }
}

function SaveMessage()
{
    var messageId, forumId, messageSubject, messageContent, link1Url, link1Text, link2Url, link2Text, isSendNotification, isHasFile;

    $("btnSave").disable();

    messageId = 0;
    if ($("ctl00_ContentPlaceHolder1_hdnMessageId").value != "undefined")
        messageId = parseInt($("ctl00_ContentPlaceHolder1_hdnMessageId").value);
    
    if (messageId == null)
        messageId = 0;

    var isRoot = false;
    if (messageId == 0)
    {
        isRoot = true;
    }

    forumId = parseInt($("ctl00_ContentPlaceHolder1_hdnForumId").value);
    messageSubject = $("txtSubject").value;
    messageContent = $("txtContent").value;
    isSendNotification = false; //$("cbEmailNotifay").checked;

    isHasFile = $("cbUploadFile").checked;


    if (messageSubject.length < 4)
    {
        alert("נושא ההודעה הינו שדה חובה");
        $("btnSave").enable();
    }
    else if (messageId == 0 && messageContent.length < 5)
    {
        alert("לא ניתן לפתוח נושא חדש ללא תוכן");
        $("btnSave").enable();
    }
    else
    {
        var returnValue = ForumAJAX.SaveMessage(messageId, forumId, messageSubject, messageContent, isSendNotification, isHasFile);

        if (isRoot)
        {
            SetPage(1);
        }
        else
        {
            UpdatePage();
        }

        if (!isHasFile)
        {
            Modalbox.hide();
        }
        else
        {
            PopUpUpload();
        }


    }

}


function ShowTools(msg)
{
    var arr = msg.id.split("_");
    
    if (currentForumAdminWindow != undefined)
    {
        $(currentForumAdminWindow).remove();
        currentForumAdminWindow = undefined;
    }


    var autoDiv = document.createElement('div');
    Element.extend(autoDiv);
    autoDiv.addClassName('AdminWindow').hide();

    currentForumAdminWindow = autoDiv.identify();
    autoDiv.setOpacity(0.4);

    var demEleTextBox = $(msg).getDimensions();
    var PosEleTextBox = $(msg).positionedOffset();

    autoDiv.setStyle({
        top: (PosEleTextBox.top + demEleTextBox.height - 95) + "px",
        left: (PosEleTextBox.left + demEleTextBox.width + 2) + "px"
    });
    var val = ForumAJAX.GetAdminTools(arr[1]);
    autoDiv.insert(val.value);
    $("aspnetForm").appendChild(autoDiv);

    new Effect.Appear(autoDiv, { duration: 0.3, to: 0.9, afterFinish: function()
    {
        if ($("txtUserName") != null)
        {
            $("txtUserName").focus();
        }
    }
    });

    if (val == null)
    {
        ClientAdminToolsClose();
    }


}

function ClientAdminToolsClose()
{
    if (currentForumAdminWindow != undefined)
    {
        new Effect.DropOut(
         $(currentForumAdminWindow),
          { afterFinish: function()
          {
              if ($(currentForumAdminWindow) != undefined)
              {
                  $(currentForumAdminWindow).remove();
              }
              currentForumAdminWindow = undefined;
          }
          }
         );

    }
}

function GetRoot(element, rootId)
{
    var e = $(element.parentNode.parentNode.parentNode.parentNode.parentNode);

    var content = ForumAJAX.GetRootMessages(rootId).value;

    $(e).innerHTML = content;
}

function SetPage(page)
{
    var forumId = parseInt($("ctl00_ContentPlaceHolder1_hdnForumId").value);

    var content = ForumAJAX.GetForumMessages(forumId, page, null, null, null).value;

    $("ForumContent").innerHTML = content;

    $("ctl00_ContentPlaceHolder1_hdnCurrentPage").value = page;
    window.scroll(0, 0);
}

function UpdatePage()
{
    var forumId = parseInt($("ctl00_ContentPlaceHolder1_hdnForumId").value);
    var page = parseInt($("ctl00_ContentPlaceHolder1_hdnCurrentPage").value);
    if (page == NaN)
        page = 1;
        
    var content = ForumAJAX.GetForumMessages(forumId, page, null, null, null).value;

    $("ForumContent").innerHTML = content;
    window.scroll(0, 0);
}

function UpdateRecentPage()
{
    var content = ForumAJAX.GetRecentMessages(1, 20).value;
    $("ForumContent").innerHTML = content;
    window.scroll(0, 0);
}


function PopUpUpload()
{
    var url = baseUrl + "UI/Forums/Upload.aspx";
    var strFeatures = "toolbar=no,status=no,menubar=no,location=no,scrollbars=no,resizable=no"
    strFeatures = strFeatures + ",height=240,width=400"

    newWin = window.open(url, "Upload", strFeatures);

    newWin.opener = top;

}

function UploadAfter()
{
    UpdatePage();
    Modalbox.hide();
}


function UserProfile(element, userId)
{
    if (currentProfileWindow != undefined)
    {
        $(currentProfileWindow).remove();
        currentProfileWindow = undefined;
    }

    var autoDiv = document.createElement('div');
    Element.extend(autoDiv);
    autoDiv.addClassName('UserWindow').hide();

    currentProfileWindow = autoDiv.identify();

    var demEleTextBox = $(element).getDimensions();
    var PosEleTextBox = $(element).positionedOffset();
  
    
    autoDiv.setStyle({
    top: (PosEleTextBox.top + demEleTextBox.height - 83 - 23 ) + "px",
    left: (PosEleTextBox.left + demEleTextBox.width - 243) + "px"
        });

    var val = ForumAJAX.MiniProfileGet(userId);
    autoDiv.insert(val.value.toString());
    $("aspnetForm").appendChild(autoDiv);

    new Effect.Appear(autoDiv, { duration: 0.3, to: 0.9 });

}

function UserProfileClose()
{
    if (currentProfileWindow != undefined)
    {
        new Effect.DropOut(
         $(currentProfileWindow),
          { afterFinish: function()
          {
              if ($(currentProfileWindow) != undefined)
              {
                  $(currentProfileWindow).remove();
              }
              currentProfileWindow = undefined;
          } 
          }
         );

    }
}


function PopUpSmiles()
{
    var url = baseUrl + "UI/Forums/Icons.aspx";
    var strFeatures = "toolbar=no,status=no,menubar=no,location=no,scrollbars=no,resizable=no"
    strFeatures = strFeatures + ",height=300,width=400"

    newWin = window.open(url, "Icons", strFeatures);

    newWin.opener = top;

}

function SetBold(Txt_Obj)
{

    var is_Ok = 1;

    startBoldText = '|הדגש| ';
    endBoldText = ' |סדגש|';

    if (document.selection)
    {
        if (document.selection.createRange().text.length > 0)
        {
            document.selection.createRange().select();
            if (document.activeElement.id == "txtContent")
            {
                document.selection.createRange().text = startBoldText + document.selection.createRange().text + endBoldText;
            }
            else
            { is_Ok = 0; }
        }
        else
        { is_Ok = 0; }
    }
    else
    {
        startPos = Txt_Obj.selectionStart;
        endPos = Txt_Obj.selectionEnd;
        if (startPos == endPos)
        {
            is_Ok = 0;
        }
        else
        { Txt_Obj.value = Txt_Obj.value.substring(0, startPos) + startBoldText + Txt_Obj.value.substring(startPos, endPos) + endBoldText + Txt_Obj.value.substring(endPos, Txt_Obj.value.length); }

    }

    if (is_Ok == 0)
    {
        alert('יש לסמן את הטקסט להדגשה');
    }

}

function RemoveMessage(msg)
{
    ForumAJAX.RemoveMessage(msg);
    UpdatePage();
    ClientAdminToolsClose();
}

function LockMessage(msg, isLock)
{
    ForumAJAX.LockMessage(msg, isLock);
    UpdatePage();
    ClientAdminToolsClose();
}

function StickMessage(msg, isStick)
{
    ForumAJAX.StickMessage(msg, isStick);
    UpdatePage();
    ClientAdminToolsClose();
}