<%@ include file="/portal/include/include_java.jsp" %>
<fmt:setBundle basename="text.jsp.portlet.dt.threadsToolbar"/>

<sp:portalState var="ps" />
<c:set var="chid" value="${ps.currentPortletId}" />
<c:set var="pageId" value="${ps.currentPageId}" />

<c:if test="${empty pageId}">
  <c:set var="pageId" value="${$p}" />
</c:if>
<c:if test="${empty pageId}">
  <c:set var="pageId" value="${pageId}" />
</c:if>
<c:if test="${empty ap_singleTopicView}">
  <c:set var="ap_singleTopicView" value="${ps.currentPortletSession.attributes['ap_singleTopicView']}" />
</c:if>
<c:set var="newThreadAction"><%=com.appiancorp.suiteapi.forums.DiscussionMetadataCoreService.ACTION_FORUM_CREATE_THREAD%></c:set>
<c:set var="forumSubscribeAction"><%=com.appiancorp.suiteapi.forums.DiscussionMetadataCoreService.ACTION_FORUM_SUBSCRIBE%></c:set>
<c:set var="forumUnsubscribeAction"><%=com.appiancorp.suiteapi.forums.DiscussionMetadataCoreService.ACTION_FORUM_UNSUBSCRIBE%></c:set>

<c:if test="${empty ap_singleTopicView}"><asi:link href="/p_dt/main.do?action=forums" title="ReturnToForumListing" portletTarget="true"><p:img page="/components/toolbar/img/previous.gif" altKey="AllForums" /><fmt:message key="AllForums"/></asi:link></c:if>
<c:if test="${ap_configForm.forum.allowedActions[newThreadAction] == 1}" >
	<asi:link href="/p_dt/createTopic.do?forumId=${ap_configForm.forum.id}&portletId=${chid}&pageId=${pageId}&singleTopicView=${ap_singleTopicView}" containerId="asiDialog" title="CreateANewTopic"><p:img page="/components/toolbar/img/forum.gif" altKey="CreateATopic"/><fmt:message key="CreateATopic"/></asi:link>
</c:if>
<span id="subscribeLink_<c:out value='${chid}'/>"><a href="" title="<fmt:message key='ReceiveNotifications'/>" onclick="var chid = '<asi:out encoding="js" value="${chid}"/>'; var forumSubscription = window['forumSubscription_{0}'.supplant(chid)]; forumSubscription.handleSubscription(); return false;"><p:img page="/components/toolbar/img/search.gif" altKey="Subscribe" /><fmt:message key="Subscribe"/></a></span>
<span id="unsubscribeLink_<c:out value='${chid}'/>"><a href="" title="<fmt:message key='StopReceivingNotific'/>" onclick="var chid = '<asi:out encoding="js" value="${chid}"/>'; var forumSubscription = window['forumSubscription_{0}'.supplant(chid)]; forumSubscription.handleSubscription(); return false;"><p:img page="/components/toolbar/img/cancel.gif" altKey="Unsubscribe" /><fmt:message key="Unsubscribe"/></a></span>

<script type="text/javascript">
  var chid = '<asi:out encoding="js" value="${chid}"/>';
  window['forumSubscription_' + chid] = {
    forumId : '<asi:out encoding="js" value="${ap_configForm.forum.id}"/>',
    isUserSubscribed : eval('<asi:out encoding="js" value="${ap_configForm.forum.userSubscribed}"/>'),
    canSubscribe : '<asi:out encoding="js" value="${ap_configForm.forum.allowedActions[forumSubscribeAction]==1}"/>',
    canUnsubscribe : '<asi:out encoding="js" value="${ap_configForm.forum.allowedActions[forumSubscribeAction]==1}"/>',
    handleSubscription : function(){
      ensureJSON(function(){
        var chid = '<asi:out encoding="js" value="${chid}"/>'
        var forumSubscription = window["forumSubscription_{0}".supplant(chid)];
        var isUserSubscribed = forumSubscription.isUserSubscribed;
        server.clientComponent.handleDiscussionForumsSubscription(isUserSubscribed, forumSubscription.forumId, 0);
        forumSubscription.isUserSubscribed = !isUserSubscribed;
        if(forumSubscription.isUserSubscribed==true){
          STATUS.message('<fmt:message key="YouHaveSubscribed"/>');
        } else {
          STATUS.message('<fmt:message key="YouHaveUnsubscribed"/>');
        }
        forumSubscription.updateSubscriptionToolbar();
      });
    },
    updateSubscriptionToolbar : function(){
      var chid = '<asi:out encoding="js" value="${chid}"/>'
      var forumSubscription = window["forumSubscription_{0}".supplant(chid)];
      var isUserSubscribed = forumSubscription.isUserSubscribed;
      $('#subscribeLink_'+chid)[isUserSubscribed ? 'hide' : 'show']();
      $('#unsubscribeLink_'+chid)[isUserSubscribed ? 'show' : 'hide']();
    }
  };
  $('document').ready(function(){
    var chid = '<asi:out encoding="js" value="${chid}"/>'
    var forumSubscription = window["forumSubscription_{0}".supplant(chid)];
    forumSubscription.updateSubscriptionToolbar();
  });
</script>