<%@ include file="/portal/include/include_java.jsp" %>
<%@ page import="java.util.*"%>
<%@ page import="org.apache.struts.tiles.*"%>
<%@ page import="org.apache.struts.tiles.taglib.*"%>
<%@ page import="com.appiancorp.ap2.PortalPage" %>
<fmt:setBundle basename="text.jsp.portal.template.portletarea"/>

<c:set var="asiPortalPageHeader"><s:trim>
<c:choose><c:when test="${!empty process_details}">
  <c:out value="${process_details.name}" escapeXml="false"/>
</c:when><c:when test="${!empty processModel}">
  <c:out value="${processModel.name}" escapeXml="false"/>
</c:when><c:otherwise>
  <c:out value="${requestScope['portal.page.title']}" escapeXml="false"/>
</c:otherwise></c:choose>
</s:trim></c:set>


<%ComponentContext c = ComponentContext.getContext(request);%>
<c:set var="context" value="${requestScope['org.apache.struts.tiles.taglib.CompContext']}" />

<c:choose><c:when test="${!empty processModel || !empty process_details}">
  <c:set var="navMenu" value="processesNav"/>
  <c:set var="navButton" value="processes"/>
</c:when><c:otherwise>
  <c:set var="navMenu" value="homeNav"/>
  <c:set var="navButton" value="home"/>
</c:otherwise></c:choose>

<html>
<head>
<meta name="navMenu" content="<c:out value="${navMenu}"/>" />
<meta name="navButton" content="<c:out value="${navButton}"/>" />
<title><c:out value="${asiPortalPageHeader}" /></title></head>
<body>
<script type="text/javascript">
  window.portalContentData.isPortalPage = true;
  importScript('/portal/js/editpage.js');
</script>
<c:set var="depts" value="${applicationScope.defaultGroupTypeIds['departments']}"/>
<c:set var="teams" value="${applicationScope.defaultGroupTypeIds['teams']}"/>
<c:set var="default" value="${applicationScope.defaultGroupTypeIds['default']}"/>

<%-- TOOLBARS --%>
<c:choose>
  <c:when test="${cust=='1'}">
    <c:import url="/portal/customizepage.do" charEncoding="UTF-8" />
  </c:when>
  <c:otherwise>
    <div class="asiPortalPageHeader"><h1><c:out value="${asiPortalPageHeader}" /></h1>
    <c:if test='${!empty groupid}'>
      <p><c:import url="/portal/template/breadcrumbs.jsp" charEncoding="UTF-8" /></p>
     </c:if> 
    </div>

    <div class="asiToolbar" id="portalPageToolbar">
      <c:if test="${portalpage.type==2 && ((!empty param.$dashboardModelId) || (!empty param.$dashboardProcessId))}">
        <c:if test="${!empty param.$dashboardProcessId}">
          <asi:link href="/process/switchprocessdashboardordetails.do?processId=${param.$dashboardProcessId}&showDashboard=false"><p:img page="/components/toolbar/img/info.gif" altKey="ProcessDetails" /> <fmt:message key="ProcessDetails" /></asi:link>
          <%@ include file="/process/process_toolbar.jsp" %>
          <asi:link href="/process/switchmodeldashboardordetails.do?showDashboard=true&processModelId=${process.processModelId}" decorator="background" title="ViewProcessModel" background="true"><p:img page="/components/toolbar/img/dashboard.gif" altKey="ProcessModel" /><fmt:message key="ProcessModel"/></asi:link>
        </c:if>
        <c:if test="${!empty param.$dashboardModelId}">
          <c:if test="${processModel.permissions.viewReport == true}">
            <asi:link href="/process/switchmodeldashboardordetails.do?processModelId=${param.$dashboardModelId}&showDashboard=false"><p:img page="/components/toolbar/img/info.gif" altKey="ProcessModelDetails" /> <fmt:message key="ProcessModelDetails" /></asi:link>
          </c:if>
          <%@ include file="/process/process_model_toolbar.jsp" %>
          <%@ include file="/process/js/modelactions.jsp" %>
        </c:if>
      </c:if>
      <c:import url="/environments/${requestScope.$env}/jsp/portalPageActions.jsp" charEncoding="UTF-8"/>
    </div>
    <script type="text/javascript">
      if(executeJavaScript()){
        var appt = $$('portalPageToolbar');
        if(!appt.getElementsByTagName('A').length) hide(appt);
        delete appt;
      }
    </script>
  </c:otherwise>
</c:choose>
<%-- CONTENT --%>
<c:if test="${propertiesLocked}">
  <c:import url="/portal/error_properties_locked.jsp" charEncoding="UTF-8" />
</c:if>
<c:import url="/portal/decorators/errors.jsp" charEncoding="UTF-8" />
<c:choose>
  <c:when test="${!empty perm}">
    <c:import url="/viewsecurity.do" charEncoding="UTF-8" />
  </c:when>
  <c:when test="${!empty share}">
    <c:import url="/viewsharing.do" charEncoding="UTF-8" />
  </c:when>
  <c:otherwise>
<script type="text/javascript">
function renamePortlet(pid, pgid, currName) {
  pid = encodeURIComponent(pid);
  pgid = encodeURIComponent(pgid);
  currName = encodeURIComponent(currName);
  var strURL = "<asi:url value="/portal/rename_portlet.jsp" keepNavigationContext="true" keepDashboardContext="true" popup="true" />";
  strURL = ampersandOrQuestion(strURL);
  strURL += "pid=" + pid +"&pgid=" + pgid + "&cn=" + currName;
  var rpwin = popup(strURL,"rpwin","top=100,left=200,width=500,height=250,scrollbars=no");
}
function changePortletTemplate(pid, pgid) { 
  pid = encodeURIComponent(pid);
  pgid = encodeURIComponent(pgid);
  var strURL = "<asi:url value="/portal/changepttemplateprepare.do" keepNavigationContext="true" keepDashboardContext="true" popup="true" />";
  strURL = ampersandOrQuestion(strURL);
  strURL += "pid=" + pid+ "&pgid=" + pgid;
  var cptwin = popup(strURL,"cptwin","top=100,left=200,width=450,height=300,scrollbars=no");
}
function viewPortletPermissions(portletId, pageId){
  portletId = encodeURIComponent(portletId);
  pageId = encodeURIComponent(pageId);
  var strURL = "<asi:url value="/portal/portletpermprepare.do" keepNavigationContext="true" keepDashboardContext="true" popup="true" />";
  strURL = ampersandOrQuestion(strURL);
  strURL += "$i=" + portletId + "&$p=" + pageId + "&prepare=permissions";
  var pPermWindow = popup(strURL,'pPermWindow','top=10,left=10,width=750,height=660,scrollbars=no,resizable=yes');
}
function viewPortletTargeting(portletId, pageId){
  portletId = encodeURIComponent(portletId);
  pageId = encodeURIComponent(pageId);
  var strURL = "<asi:url value="/portal/portletpermprepare.do" keepNavigationContext="true" keepDashboardContext="true" popup="true" />";
  strURL = ampersandOrQuestion(strURL);
  strURL += "$i=" + portletId + "&$p=" + pageId + "&prepare=targeting";
  var pPermWindow = popup(strURL,'pPermWindow','top=10,left=10,width=750,height=660,scrollbars=no,resizable=yes');
}
function ampersandOrQuestion(strURL) {
  if (strURL.indexOf("?") != -1) return strURL += "&";
  else return strURL += "?";
}
function sharePortlet(portletId, pageId) {
  var sharePortletCall = function() {
    ensureJSON(function() {
      var success = server.clientComponent.sharePortlet(portletId, pageId);
      if(success) {
        $('#sharePortletOption_'+portletId).hide();
        $('#unsharePortletOption_'+portletId).show();
        togglePortletAdmin($('#sharePortletOption_'+portletId).get(0));
      } else {
        asi.alert('<fmt:message key="ErrorSharingPortlet"/>');
      }
      refreshPortal(pageId);
    });
  };
  asi.confirm('<fmt:message key="AllowOthersToSharePortlet"/>', sharePortletCall);
}
function unsharePortlet(portletId, pageId) {
  var unsharePortletCall = function() {
    ensureJSON(function() {
      var success = server.clientComponent.unsharePortlet(portletId, pageId);
      if(success) {
        $('#sharePortletOption_'+portletId).show();
        $('#unsharePortletOption_'+portletId).hide();
        togglePortletAdmin($('#unsharePortletOption_'+portletId).get(0));
      } else {
        asi.alert('<fmt:message key="ErrorUnsharingPortlet"/>');
      }
      refreshPortal(pageId);
    });
  };
  asi.confirm('<fmt:message key="PreventOthersFromSharingPortlet"/>', unsharePortletCall);
}
function refreshPortal(pageId) {
  var strURL = "<asi:url value="/portal.do" keepNavigationContext="true" keepDashboardContext="true" />";
  strURL = ampersandOrQuestion(strURL);
  strURL += "$p=" + pageId;
  backgroundAction(strURL);
}
</script>
<c:if test="${cust!='1'}">
  <l:greaterThan name="privileges" scope="request" value="1">
    <l:notEqual name="portalpage" property="state" scope="request" value="<%=String.valueOf(PortalPage.LOCKED)%>">
      <c:set var="NEWDRAFT"><%=String.valueOf(PortalPage.NEW_DRAFT)%></c:set>
      <c:set var="DRAFT"><%=String.valueOf(PortalPage.DRAFT)%></c:set>
      <c:set var="NEWSUBMITTED"><%=String.valueOf(PortalPage.NEW_SUBMITTED)%></c:set>
      <c:set var="SUBMITTED"><%=String.valueOf(PortalPage.SUBMITTED)%></c:set>
      <c:if test="${portalpage.state == NEWDRAFT || portalpage.state == DRAFT || portalpage.state == NEWSUBMITTED ||  portalpage.state == SUBMITTED}">
        <c:set var="isPendingDraftMessageShown" value="true" />
        <div class="messageBar">
          <p:img page="/components/toolbar/img/blueinfo.gif" altKey="Tip"/>
          <fmt:message key="ThisPageHasAPending">
            <fmt:param><a href="#" onclick="backgroundPage('<asi:url value='/portal.do?$c=1' keepNavigationContext='true' keepDashboardContext='true' decorator='background'><asi:param name="$p" value="${$p}"/></asi:url>')"></fmt:param>
            <fmt:param></a></fmt:param>
          </fmt:message>
        </div>
      </c:if>
    </l:notEqual>
  </l:greaterThan>
</c:if>
<c:if test="${(empty isPendingDraftMessageShown) && (!empty process_details || !empty processModel) && param.$isDefaultDashboard}">
  <l:greaterThan name="privileges" scope="request" value="1">
    <div class="messageBar">
      <p:img page="/components/toolbar/img/blueinfo.gif" altKey="Tip"/>
      <fmt:message key="ChangeAffectsAllDash" />
    </div>
  </l:greaterThan>
</c:if>
<t:useAttribute id="layout" name="layout" ignore="true" />
<%
  int zone, index, n, numCols, index0;
  List cols=new ArrayList(), l, widths = new ArrayList();
  for(zone=0; null!=(l=(List)c.getAttribute(""+zone)); zone++){cols.add(l);}
  if ("half".equals(layout)) {
    widths.add(new Integer(50));
  } else if ("third".equals(layout)) {
    widths.add(new Integer(70));
  } else if ("newsletter".equals(layout)) {
    widths.add(new Integer(50));
    if (cols.get(0)!=null && ((List)cols.get(0)).size()>0) {
      pageContext.setAttribute("portlet",((List)cols.get(0)).get(0));
    %>
    
    <div style="width:100%" class="portletColumn">
      <c:if test="${cust=='1'}">
        <a class="targetArea" id="target0_0" href="#" onclick="moveTarget(0,0); return false;">&#187;&nbsp;<fmt:message key="ClickToPlaceChannelH"/>&nbsp;&#171;</a>
      </c:if>
      <div id="portletContainer_<c:out value="${portlet.attributes['$i']}" escapeXml="false"/>">
        <t:insert beanName="portlet" beanScope="page">
          <t:put name="zone">0</t:put>
          <t:put name="index">0</t:put>
        </t:insert>
        <c:remove var="$e" scope="request"/>
      </div>
    </div><% } else {%>
    <div style="width:100%" class="portletColumn">
      <c:if test="${cust=='1'}">
        <a class="targetArea" href="#" onclick="moveTarget(0,0); return false;">&#187;&nbsp;<fmt:message key="ClickToPlaceChannelH"/>&nbsp;&#171;</a>
      </c:if>
    </div>        
    <% } } else {widths.add(new Integer(99));} %>
      <% int availWidth = 99;
      for (zone=0,numCols=cols.size();zone<numCols;zone++){
          l=(List)cols.get(zone); %>
          <div <%
          if("single".equals(layout) || layout==null){availWidth = 99;}
          if (numCols>1 && zone<numCols - 1) {
            int thisWidth = ((Integer)widths.get(zone)).intValue();
            availWidth = availWidth - thisWidth;
          %>style="float: left; width: <%=thisWidth%>%;" id="leftColumn"<%
          } else if(numCols>1 && zone==numCols - 1){
            %>style="float: right; width: <%=availWidth%>%;" id="rightColumn"<%
          }
            %> class="portletColumn"><%
            if ("newsletter".equals(layout) && zone == 0) {index0=1;}
            else {index0=0;}
            for(index=index0,n=l.size();index<n;index++){
                pageContext.setAttribute("portlet",l.get(index));%><c:if test="${cust=='1'}"><a class="targetArea" id="target<%=zone%>_<%=index%>" href="#" onclick="moveTarget(<%=zone%>,<%=index%>); return false;">&#187;&nbsp;<fmt:message key="ClickToPlaceChannelH"/>&nbsp;&#171;</a></c:if><div id="portletContainer_<c:out value="${portlet.attributes['$i']}" escapeXml="false"/>">
                    <t:insert beanName="portlet" beanScope="page">
                       <t:put name="zone"><%=zone%></t:put>
                       <t:put name="index"><%=index%></t:put>
                    </t:insert>
                    <c:remove var="$e" scope="request"/>
                </div>
            <%}%>           
            <c:if test="${cust=='1'}">
              <a class="targetArea" href="#" onclick="moveTarget(<%=zone%>,<%=index%>); return false;">&#187;&nbsp;<fmt:message key="ClickToPlaceChannelH_2"/>&nbsp;&#171;</a>
            </c:if>
          </div>
        <%}%>
        <br style="clear: both;" />&nbsp;
  </c:otherwise>
</c:choose>
</body></html>

 
