<%@ page buffer="8kb" autoFlush="true" %>
<%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="zm" uri="com.zimbra.zm" %>
<%@ taglib prefix="app" uri="com.zimbra.htmlclient" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:setBundle basename="/msgs/ZhMsg" scope="session"/>
<app:handleError>
    <zm:getMailbox var="mailbox"/>
    <fmt:message var="title" key="compose"/>
    <zm:composeUploader var="uploader"/>
    <c:set var="compose" value="${uploader.compose}"/>
</app:handleError>

<app:handleError>
    <c:choose>
        <c:when test="${!empty param.id or !empty compose.draftId or !empty requestScope.draftid}">
            <c:choose>
                <c:when test="${!empty compose.draftId or !empty requestScope.draftid}">
                    <zm:getMessage var="message" id="${empty requestScope.draftid ? compose.draftId : requestScope.draftid}" wanthtml="${false}"/>
                </c:when>
                <c:otherwise>
                    <zm:getMessage var="message" id="${param.id}" part="${param.part}" wanthtml="${false}"/>
                </c:otherwise>
            </c:choose>
        </c:when>
        <c:otherwise>
            <c:set var="message" value="${null}"/>
        </c:otherwise>
    </c:choose>

    <c:choose>
        <c:when test="${empty compose }">
            <zm:messageCompose var="compose" message="${message}" action="${message.isDraft ? 'draft' : param.op}"/>
        </c:when>
        <c:when test="${uploader.isUpload and !empty message}">
            <zm:fixupMessageCompose message="${message}" compose="${compose}" newattachments="${uploader.compose.hasFileItems}"/>
        </c:when>
    </c:choose>

</app:handleError>


<app:view title="${not empty compose.subject ? compose.subject : title}" selected='compose' folders="true" tags="true" searches="true" context="${null}" keys="false">
    <c:set var="toolbar">
        <table width=100% cellspacing=0 cellpadding=0>
            <tr valign='middle'>
                <td>
                    <table cellspacing=2 cellpadding=0 class='Tb'>
                        <tr>
                            <app:button name="actionSend" src="mail/Send.gif" tooltip="send" text="send"/>
                            <td><div class='vertSep'></div></td>
                            <app:button name="actionCancel" src="common/Cancel.gif" tooltip="cancel" text="cancel"/>
                            <td><div class='vertSep'></div></td>
                            <app:button name="actionDraft" src="mail/DraftFolder.gif" tooltip="saveDraft" text="saveDraft"/>
                            <td><div class='vertSep'></div></td>
                            <app:button name="actionAttachAdd" src="common/Attachment.gif" tooltip="addAttachments" text="addAttachments"/>
                            <c:if test="${mailbox.features.contacts or mailbox.features.gal}">
                                <td><div class='vertSep'></div></td>
                                <app:button name="actionContactAdd" src="contacts/ContactsPicker.gif" tooltip="addFromContacts" text="addFromContacts"/>
                            </c:if>
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
    </c:set>

    <form action="" method="post" enctype="multipart/form-data" accept-charset="utf-8">
        <table width=100% cellpadding="0" cellspacing="0">
            <tr>
                <td class='TbTop'>
                    ${toolbar}
                </td>
            </tr>
            <tr>
                <td class='ZhAppContent'>
                        <table cellpadding=2 cellspacing=5 height=80% width=100% class='Compose'>
                            <tr>
                                <td valign='top' width=1% align=right nowrap> <fmt:message key="to"/>: </td>
                                <td colspan=2 nowrap><textarea rows="2" style='width:99%' cols="80"
                                                               name="to">${fn:escapeXml(compose.to)}</textarea></td>
                            </tr>
                            <tr>
                                <td valign='top' align=right nowrap> <fmt:message key="cc"/>: </td>
                                <td colspan=2 nowrap><input style='width:99%' type="text" value="${fn:escapeXml(compose.cc)}" size=100 name="cc"></td>
                            </tr>
                            <tr>
                                <td valign='top' align=right nowrap> <fmt:message key="bcc"/>: </td>
                                <td colspan=2 nowrap><input style='width:99%' type="text" value="${fn:escapeXml(compose.bcc)}" size=100 name="bcc"></td>
                            </tr>
                            <tr>
                                <td valign='top' align=right nowrap> <fmt:message key="subject"/>: </td>
                                <td colspan=2 nowrap><input style='width:99%' type="text" size=100 name="subject"
                                                            value="${fn:escapeXml(compose.subject)}"></td>
                            </tr>
                            <c:set var="firstAttachment" value="${true}"/>
                            <c:if test="${!empty compose.messageAttachments}">
                                <c:forEach var="ma" items="${compose.messageAttachments}" varStatus="status">
                                    <tr>
                                        <td align='right'>
                                            <c:if test="${firstAttachment}">
                                                <app:img altkey="ALT_ATTACHMENT" src="common/Attachment.gif"/>
                                                <c:set var="firstAttachment" value="${false}"/>
                                            </c:if>
                                        </td>
                                        <td colspan=2>
                                            <c:choose>
                                                <c:when test="${empty ma.subject}"><fmt:message var="subj" key="noSubject"/></c:when>
                                                <c:otherwise><c:set var="subj" value="${zm:truncate(ma.subject,100,true)}"/></c:otherwise>
                                            </c:choose>
                                                ${fn:escapeXml(subj)}
                                            <input type="hidden" name="messageAttachment" value="${ma.id}:${fn:escapeXml(ma.subject)}"/>
                                        </td>
                                    </tr>
                                </c:forEach>
                            </c:if>
                            <c:if test="${!empty compose.originalAttachments}">
                                <c:forEach var="part" items="${compose.originalAttachments}" varStatus="status">
                                    <tr class="CompOrigAtt" valign="middle">
                                        <td align='right'>
                                            <c:if test="${firstAttachment}">
                                                <app:img altkey="ALT_ATTACHMENT" src="common/Attachment.gif"/>
                                                <c:set var="firstAttachment" value="${false}"/>
                                            </c:if>
                                        </td>
                                        <c:set var="url" value="/service/home/~/?id=${message.id}&part=${part.partName}&auth=co"/>
                                        <c:set var="pname" value="${part.displayName}"/>
                                        <c:if test="${empty pname}">
                                            <fmt:message key="unknownContentType" var="pname">
                                                <fmt:param value="${part.contentType}"/>
                                            </fmt:message>
                                        </c:if>
                                        <td>
                                            <table cellpadding=0 cellspacing=0 border="0">
                                                <tr valign="middle">
                                                    <td>
                                                        <input <c:if test="${compose.checkedAttachmentNames[part.partName]}">checked </c:if>type=checkbox name="originalAttachment" value="${part.partName}">
                                                    </td>
                                                    <td>&nbsp;</td>
                                                    <td>
                                                        <a target="_blank" href="${url}&disp=i">${fn:escapeXml(pname)}</a>&nbsp;(${part.displaySize})
                                                    </td>
                                                </tr>
                                            </table>
                                        </td>
                                    </tr>
                                </c:forEach>
                            </c:if>
                            <tr>
                                <td colspan="3" >
                                    <textarea class='MsgCompose' rows="30" cols="80" style='width:100%'
                                              name="body">${fn:escapeXml(compose.content)}</textarea>
                                </td>
                            </tr>
                        </table>
                </td>
            </tr>
            <tr>
                <td class='TbBottom'>
                    ${toolbar}
                </td>
            </tr>
        </table>
        <input type="hidden" name="replyto" value="${fn:escapeXml(compose.replyTo)}"/>
        <input type="hidden" name="from" value="${fn:escapeXml(compose.from)}"/>
        <input type="hidden" name="inreplyto" value="${fn:escapeXml(compose.inReplyTo)}"/>
        <input type="hidden" name="messageid" value="${fn:escapeXml(compose.messageId)}"/>
        <input type="hidden" name="replytype" value="${fn:escapeXml(compose.replyType)}"/>
        <c:if test="${message.isDraft}">
            <input type="hidden" name="draftid" value="${message.id}"/>
        </c:if>
    </form>
</app:view>
