| Server IP : 209.209.40.120 / Your IP : 216.73.217.112 Web Server : Microsoft-IIS/10.0 System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586 User : NEWWWW$ ( 0) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/Program Files (x86)/Mail Enable/Bin/NETWebMail/Mondo/lang/sys/Forms/MAI/ |
Upload File : |
<%@ Register TagPrefix="uc1" TagName="uscStyleHeader" Src="../../../Controls/uscStyleHeader.ascx" %>
<%@ Register TagPrefix="uc1" TagName="ScriptsInclude" Src="../../../Controls/ScriptsInclude.ascx" %>
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="ListAttachments.aspx.vb" Inherits="MailEnable.Clients.WebMail.Mondo.ListAttachments" %>
<%@ Register TagPrefix="uc2" TagName="uscLanguageTokenMondo" Src="../../../Controls/uscLanguageToken.ascx" %>
<%@ Register TagPrefix="uc3" TagName="uscScriptTranslationsArray" Src="../../../Controls/ScriptTranslationsArray.ascx" %>
<uc2:uscLanguageTokenMondo id="uscToken" runat="server"></uc2:uscLanguageTokenMondo>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><%=uscToken.GetText("[ME_TXT-UploadAttachment]")%></title>
<uc1:uscStyleHeader id="UscStyleHeader1" runat="server"></uc1:uscStyleHeader>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- Note: we need to include ScriptTranslationsArray here in order for the
Attach From Storage dialog to have the translated tokens (when this page is viewed in a new window) -->
<% If gAllowNewWindows Then %>
<uc3:uscScriptTranslationsArray id="ScriptTranslationsArray" runat="server"></uc3:uscScriptTranslationsArray>
<% End If %>
<uc1:ScriptsInclude id="ScriptsInclude1" runat="server"></uc1:ScriptsInclude>
<script type="text/javascript">
<!--
var TR_C = 0;
var gPageMode = 'Read';
var gSource = '';
var SkinRoot = '<%=Session("skin")%>';
var gBrowserType = GetBrowserType();
var DATATABLE_ID = "tblAttachments";
var DATATABLE_CELL_CLASS_TICKBOX = "dataTable_tickbox";
var DATATABLE_CELL_CLASS_NOWIDTH = "dataTable_noWidth";
var DATATABLE_CELL_CLASS_NAME = "dataTable_name";
var DATATABLE_CELL_CLASS_SIZE = "dataTable_size_right"
var oProgressDialog = null;
var oAlertDialog = null;
var oConfirmDialog = null;
var oFileDialog = null;
var MODE_READ = 0;
var MODE_COMPOSE = 1;
var g_opt = {};
g_opt['ME_VALIDATIONTOKEN'] = '<% =Session.item("ME_VALIDATIONTOKEN") %>';
window.onresize = BrowserResize;
$(document).ready(function() {
ResizePage();
});
function BrowserResize()
{
ResizePage();
}
function ShowAlert(Title, Message, IsWarning) {
if (oAlertDialog != null) {
oAlertDialog.Alert(Title, Message, IsWarning);
}
else {
alert(Message);
}
}
function ResizePage()
{
var min_body_height = 400; //min-height on class "body_shell" set in CSS
var body_height = $("body").height();
var paneiframe_padding = $('.pane-iframe').css('padding-top').replace('px', '');
if (body_height > min_body_height) {
document.getElementById("level0_shell_js").style.height = body_height + "px";
} else{
document.getElementById("level0_shell_js").style.height = min_body_height + "px";
}
if (document.getElementById("options_footer_js"))
{
var footer_height = document.getElementById("options_footer_js").clientHeight;
document.getElementById("options_shell_js").style.height = body_height - footer_height - paneiframe_padding + "px";
}
}
function PageLoad()
{
gPageMode = '<%=gPageMode%>';
gSource = '<%=gSource%>';
oProgressDialog = new ProgressDialog("ProgressDialog");
oAlertDialog = new MessageDialog("AlertDialog");
oConfirmDialog = new MessageDialog("ConfirmDialog");
oFileDialog = new FileChooserDialog("SaveAttachment");
ListAttachments();
}
function Continue()
{
__doPostBack('btnContinue', '');
}
function ShowUploadProgress()
{
DisableOKButton("btnContinue", BTTN_FLOAT_LEFT);
DisableOKButton("btnRemove", BTTN_FLOAT_RIGHT);
oProgressDialog.Show({ Message: t_("[ME_TXT-UploadInProgress]") });
}
function HideUploadProgress()
{
EnableOKButton("btnContinue", function() { Continue(); }, BTTN_FLOAT_LEFT);
oProgressDialog.Hide();
}
function ListAttachments()
{
ServerRequest("LIST-ATTACHMENTS", "<%= GetJSListAttachmentsURLParams() %>", false);
}
function AddAttachmentRowRead(DisplayName, FileName, FileType, FileSize, SaveURL, SeqID)
{
AddAttachmentRow(DisplayName, FileName, FileType, FileSize, MODE_READ, SaveURL, SeqID);
}
function AddAttachmentRowCompose(DisplayName, FileName, FileType, FileSize)
{
AddAttachmentRow(DisplayName, FileName, FileType, FileSize, MODE_COMPOSE, "", "");
}
function StoreFile(FilePath, SourceFile, FileName)
{
oProgressDialog.Show({ Message: t_("[ME_TXT-Pleasewait]") + "..." });
window.setTimeout(function(){
var Parameters = "Destination=$FILEROOT" + encodeURIComponent(FilePath) + "&Filename=" + encodeURIComponent(FileName) + "&AttachFilename=" + encodeURIComponent(SourceFile) + "&Folder=<%= Server.URLEncode(gRelativeFolderPath) %>&Message=<%= gMessageID %>";
ServerRequest("STORE-ATTACHMENT", Parameters, false );
}, 2000);
}
function ConfirmOverwrite(FilePath, SourceFile, FileName)
{
var Top = oFileDialog.GetTop();
var Left = oFileDialog.GetLeft();
if (Top && Left) {
Top = Top + 100;
Left = Left + 150;
}
oConfirmDialog.Confirm(t_("[ME_TXT-ConfirmOverwrite]"), t_("[ME_TXT-FilenameAlreadyExist.Overwrite?]"), function (){ StoreFile(FilePath, SourceFile, FileName); });
}
function AddAttachmentRow(DisplayName, FileName, FileType, FileSize, Mode, DownloadURL)
{
// Mode 0 - Read; Mode 1 - Compose
// add the following:
// <tr>
// <td>
// <table class="dataTable_listTable" border="0" cellspacing="0" cellpadding="0">
// <tr>
// <td class="dataTable_tickbox"><input name="pop_tickbox" type="checkbox" value="" /></td>
// <td class="dataTable_noWidth">icon_admin.gif</td>
// <td class="dataTable_name">image/gif</td>
// <td class="dataTable_size_right">7 KB</td>
// </tr>
// </table>
// </td>
// </tr>
var oTBody = document.getElementById(DATATABLE_ID).getElementsByTagName("TBODY")[0];
var oIMG, oRow, oCell, oAttribute, oLink, oText;
var oButton;
if ( !oTBody )
{
// TBODY doesn't exist; so we can't add
return false;
}
oRow = document.createElement("TR");
oRow.id = GetRowID(FileName); // e.g. "tr_filename"
oCell = document.createElement("TD");
var oInnerTable, oInnerTBody;
oInnerTable = document.createElement("TABLE");
oInnerTBody = document.createElement("TBODY");
oInnerTable.className = "dataTable_listTable";
var numRows = $("#" + DATATABLE_ID + " > tbody > tr").length;
if (numRows % 2 != 0) {
oInnerTable.className = oInnerTable.className + " dataTable_listTable_bordered";
}
oInnerTable.border = 0;
oInnerTable.cellPadding = 0;
oInnerTable.cellSpacing = 0;
oInnerTable.appendChild(oInnerTBody);
oCell.appendChild(oInnerTable);
oRow.appendChild(oCell);
oTBody.appendChild(oRow);
// now add the row cells...
oRow = document.createElement("TR");
oInnerTBody.appendChild(oRow);
//
// Checkbox
//
oCell = document.createElement("TD");
oCell.className = DATATABLE_CELL_CLASS_TICKBOX;
var oChkbox = document.createElement("INPUT");
oChkbox.id = FileName;
oChkbox.type = "checkbox";
oChkbox.onclick = new Function("CheckboxCallback(\"" + GetRowID(FileName) + "\", \"" + FileName + "\");");
oCell.appendChild(oChkbox);
oRow.appendChild(oCell);
//
// File Name
//
oCell = document.createElement("TD");
if ( Mode == 0 ) // Read mode
{
// Create a link to allow user to save the attachment to their filesystem.
oLink = document.createElement("A");
oLink.appendChild(document.createTextNode(DisplayName));
oLink.href = DownloadURL;
oCell.title = DisplayName;
oCell.appendChild(oLink);
}
else // Compose mode
{
oText = document.createTextNode(DisplayName);
oCell.className = DATATABLE_CELL_CLASS_NOWIDTH;
oCell.title = DisplayName;
oCell.appendChild(oText);
}
oRow.appendChild(oCell);
//
// File Type
//
oCell = document.createElement("TD");
oCell.className = DATATABLE_CELL_CLASS_NAME;
oCell.title = FileType;
oText = document.createTextNode(FileType);
oCell.appendChild(oText);
oRow.appendChild(oCell);
//
// File Size
//
oCell = document.createElement("TD");
oCell.className = DATATABLE_CELL_CLASS_SIZE;
oCell.title = FileSize + " Bytes";
oText = document.createTextNode(Math.round(FileSize/1024) + " KB");
oCell.appendChild(oText);
oRow.appendChild(oCell);
}
function GetRowIndex(TableID, RowID)
{
var oRows, i;
var oTable = document.getElementById(TableID);
if ( oTable )
{
oRows = oTable.rows;
if ( oRows )
{
for (i = 0; i < oRows.length; i++)
{
if ( oRows[i].id == RowID)
{
return i;
}
}
}
}
return -1;
}
function RemoveAttachmentFromList(Filename)
{
var index = -1;
var oTblAttachments = document.getElementById(DATATABLE_ID);
if ( !oTblAttachments )
{
return false;
}
// Get the row index of the attached file and remove the corresponding row
index = GetRowIndex(DATATABLE_ID, GetRowID(Filename));
if ( index != -1 )
{
oTblAttachments.deleteRow(index);
return true;
}
return false;
}
function NumRows()
{
return $("#" + DATATABLE_ID + " > tbody > tr").length;
}
function NumRowsSelected()
{
var num = 0;
$("#" + DATATABLE_ID + " > tbody > tr").each(function() // this way is faster than using '.children'
{
// set the checkbox checked status
if ($(this).find("td:first table input").prop("checked"))
num++;
});
return num;
}
function SetSelectAllCheckbox(Selected)
{
try
{
document.getElementById("chk_selectAll").checked = Selected;
} catch (ex) { }
}
function RedrawRowStyles()
{
var i = 0;
var sClass = "";
$("#" + DATATABLE_ID + " > tbody > tr").each(function() // this way is faster than using '.children'
{
// set the checkbox checked status
sClass = "dataTable_listTable";
if (i % 2 != 0) // odd row
{
sClass = sClass + " dataTable_listTable_bordered"; // add border
}
$(this).find("td:first table").attr("class", sClass);
i++;
});
// untick the Select All checkbox if no rows
if (NumRows() == 0)
SetSelectAllCheckbox(false);
}
function SelectAllRows(Selected)
{
$("#" + DATATABLE_ID + " > tbody > tr").each(function() // this way is faster than using '.children'
{
// set the checkbox checked status
$(this).find("td:first table input").prop("checked", Selected);
// also set the style for selected row...
if (Selected) {
DataItemList_HighLightRow(DATATABLE_ID, $(this).attr("id"));
}
else {
DataItemList_UnHightLightRow(DATATABLE_ID, $(this).attr("id"));
}
});
}
function SelectAllCheckboxCallback(Checkbox)
{
if (Checkbox.checked)
{
SelectAllRows(true);
if (NumRows() > 0) {
if (gPageMode == 'Read')
{
EnableOKButton("btnSaveToStorage", function() { SaveToStorage(); }, BTTN_FLOAT_RIGHT);
}
else {
EnableOKButton("btnRemove", function() { RemoveSelectedAttachments(); }, BTTN_FLOAT_RIGHT);
}
}
}
else
{
SelectAllRows(false);
if (gPageMode == 'Read')
{
DisableOKButton("btnSaveToStorage", BTTN_FLOAT_RIGHT);
}
else {
DisableOKButton("btnRemove", BTTN_FLOAT_RIGHT);
}
}
}
function CheckboxCallback(RowID, ChkboxID)
{
if (RowID)
{
var oChkbox = document.getElementById(ChkboxID);
if (oChkbox && oChkbox.checked)
{
// checkbox ticked
DataItemList_HighLightRow(DATATABLE_ID, RowID);
if (gPageMode == 'Read')
{
EnableOKButton("btnSaveToStorage", function() { SaveToStorage(); }, BTTN_FLOAT_RIGHT);
}
else
{
EnableOKButton("btnRemove", function() { RemoveSelectedAttachments(); }, BTTN_FLOAT_RIGHT);
}
}
else {
// checkbox unticked
DataItemList_UnHightLightRow(DATATABLE_ID, RowID);
if (NumRowsSelected() == 0)
{
if (gPageMode == 'Read')
{
DisableOKButton("btnSaveToStorage", BTTN_FLOAT_RIGHT);
}
else {
DisableOKButton("btnRemove", BTTN_FLOAT_RIGHT);
}
}
}
if (NumRowsSelected() == NumRows())
SetSelectAllCheckbox(true);
else
SetSelectAllCheckbox(false);
}
}
function GetRowID(AttachmentName)
{
if ( AttachmentName && (AttachmentName.length > 0) )
{
var sRowID = "tr_" + AttachmentName;
sRowID = sRowID.replace(/\./g, "-");
sRowID = sRowID.replace(/ /g, "_");
return sRowID;
}
var id = 'tr_' + TR_C;
TR_C++;
return id;
}
function SaveToStorage()
{
var sFileList = "";
var oInputs;
var i, j;
// start by putting all of the checked files into a list (delimited by "|")
var oTbl = document.getElementById(DATATABLE_ID);
var oInputs = oTbl.getElementsByTagName("INPUT");
var count = 0;
var chkbox = null;
var sFilename = "";
var sb = new StringBuffer();
for (var i=0; i < oInputs.length; i++)
{
chkbox = oInputs[i];
if ((chkbox.type == "checkbox") && chkbox.checked)
{
sFilename = chkbox.id;
if (count > 0) {
sb.append(" | ");
}
sb.append(sFilename);
count++;
}
}
sFileList = sb.toString();
// it shouldn't be possible to get here if there are no attachments selected,
// but just in case...
if( sFileList.length > 0 )
{
// remove the last ':'
//sFileList = sFileList.slice(0, sFileList.length-1);
oFileDialog.Prompt( t_("[ME_TXT-SaveAs]"), sFileList, true, true,
function(Path, SourceFile, Filename)
{
return StoreFile(Path, SourceFile, Filename);
},
function (Path, SourceFile, Filename)
{
return ConfirmOverwrite(Path, SourceFile, Filename);
}
);
}
}
function RemoveSelectedAttachments()
{
// loop through list and get the filenames of those selected
// (from the checkbox ID)
var oTbl = document.getElementById(DATATABLE_ID);
var oInputs = oTbl.getElementsByTagName("INPUT");
var count = 0;
var chkbox = null;
var sFilename = "";
var sb = new StringBuffer();
for (var i=0; i < oInputs.length; i++)
{
chkbox = oInputs[i];
if ((chkbox.type == "checkbox") && chkbox.checked)
{
sFilename = chkbox.id;
if (count > 0) {
sb.append("|");
}
sb.append(sFilename);
count++;
}
}
ServerRemoveAttachment(sb.toString());
}
function Back()
{
if (gSource != '')
{
// just hide the frame
getTopAppWindow().document.getElementById('frmRead').style.visibility = 'hidden';
getTopAppWindow().document.getElementById('divRead').style.display = 'none';
getTopAppWindow().ShowListPane(getTopAppWindow().VIEW_PERSONAL,true);
}
else
{
window.location = "<%= GetJSReturnToMessageURL() %>";
}
}
// AJAX functions...
function ServerRemoveAttachment(Filename)
{
var sCommand;
var sData;
sCommand = "REMOVE-ATTACHMENT";
sData = "MessageID=" + "<%=gMessageID%>" + "&Folder=" + "<%=Server.URLEncode(gRelativeFolderPath)%>" + "&Attachment=" + encodeURIComponent(Filename);
ServerRequest(sCommand, sData, true);
}
function ServerRequest(sCommand, sData, bUseCallback, sFrameName)
{
return LIBAjax_ServerRequest(sCommand, sData, bUseCallback, sFrameName);
}
function ServerPost(sCommand, sData, bUseCallback, sFrameName)
{
return LIBAjax_ServerPost(sCommand, sData, bUseCallback, sFrameName);
}
// Results Processing...
function ProcessXMLResult(responseXML)
{
var BaseNode = responseXML.getElementsByTagName("BASEELEMENT")[0];
if (BaseNode) // valid response XML
{
var Schema = GetXMLValue(BaseNode.attributes.getNamedItem("SCHEMA"));
var Command = GetXMLValue(BaseNode.attributes.getNamedItem("METHOD"));
var sDestination = GetXMLValue(BaseNode.attributes.getNamedItem('RESULT_DEST'));
if( sDestination == 'DIALOG' )
{
return oFileDialog.ProcessXMLResult( BaseNode );
}
if (Schema == "RESULT")
{
if (Command == "REMOVE-ATTACHMENT")
{
ProcessRemoveResult(BaseNode);
}
if (Command == "LIST-ATTACHMENTS")
{
ProcessListResult(BaseNode);
}
}
else if (Schema == "ATTACHMENTS")
{
ProcessAttachments(BaseNode);
}
else if (Schema == "FILES")
{
if (Command == "STORE-ATTACHMENT")
{
oProgressDialog.Hide();
// report any error messages
var errorNode = responseXML.getElementsByTagName("ERROR")[0];
if( errorNode )
{
ShowAlert(t_("[ME_TXT-Error]"), GetXMLValue(errorNode), true);
}
}
}
}
return true;
}
function ProcessListResult(BaseNode)
{
var sResult = GetXMLValue(BaseNode.getElementsByTagName("RETURNVALUE")[0]);
if ( sResult == "0" )
{
var sErrMsg = GetXMLValue(BaseNode.getElementsByTagName("ERROR_DESCRIPTION")[0]);
ShowAlert(t_("[ME_TXT-Error]"), sErrMsg, true);
}
}
function ProcessAttachments(BaseNode)
{
var MessageID = GetXMLValue(BaseNode.getElementsByTagName("MESSAGEID")[0]);
var Folder = GetXMLValue(BaseNode.getElementsByTagName("FOLDER")[0]);
var AttachmentNodes = BaseNode.getElementsByTagName("ITEM");
for (var i = 0; i < AttachmentNodes.length; i++)
{
var AttachmentNode = AttachmentNodes[i];
var Sequence = parseInt(GetXMLValue(AttachmentNode.getElementsByTagName("SEQUENCE")[0]));
var Name = GetXMLValue(AttachmentNode.getElementsByTagName("NAME")[0]);
var FileName = GetXMLValue(AttachmentNode.getElementsByTagName("FILENAME")[0]);
var Type = GetXMLValue(AttachmentNode.getElementsByTagName("TYPE")[0]);
var Size = GetXMLValue(AttachmentNode.getElementsByTagName("SIZE")[0]);
var URL = GetXMLValue(AttachmentNode.getElementsByTagName("READER")[0]);
var VCalAttachment = GetXMLValue(AttachmentNode.getElementsByTagName("VCAL_ATTACHMENT")[0]);
if (gPageMode == 'Read')
{
URL = URL + "&MessageID=" + MessageID + "&Folder=" + encodeURIComponent(Folder) + "&FileName=" + encodeURIComponent(FileName) + "&Seq=" + Sequence;
if (VCalAttachment && VCalAttachment == "1")
{
URL = URL + "&Mode=ReadAttachedVCAL";
}
AddAttachmentRowRead(Name, FileName, Type, Size, URL, Sequence);
}
else
{
AddAttachmentRowCompose(Name, FileName, Type, Size);
}
}
if (gPageMode == 'Read')
{
DisableOKButton("btnSaveToStorage", BTTN_FLOAT_RIGHT);
//getTopAppWindow().SetPageContextMode(getTopAppWindow().CONTEXT_READ);
//getTopAppWindow().HideWait();
}
else {
DisableOKButton("btnRemove", BTTN_FLOAT_RIGHT);
}
$('#btnDownloadAll').toggle(Boolean(gPageMode == 'Read' && AttachmentNodes.length > 1));
}
function ProcessRemoveResult(BaseNode)
{
var sResult = "";
var sAttachmentName = "";
var sFailedAtt = "";
var AttachmentNodes = BaseNode.getElementsByTagName("ATTACHMENT");
if (AttachmentNodes && AttachmentNodes.length == 0) {
if (gPageMode == 'Read')
{
DisableOKButton("btnSaveToStorage", BTTN_FLOAT_RIGHT);
}
else {
DisableOKButton("btnRemove", BTTN_FLOAT_RIGHT);
}
return;
}
for (var i = 0; i < AttachmentNodes.length; i++)
{
sAttachmentName = GetXMLValue(AttachmentNodes[i].getElementsByTagName("ID")[0]);
sResult = GetXMLValue(AttachmentNodes[i].getElementsByTagName("RETURNVALUE")[0]);
if ( sResult == "1" ) {
RemoveAttachmentFromList(sAttachmentName);
}
else
{
if (sFailedAtt.length > 0)
sFailedAtt += ", " + sAttachmentName;
else
sFailedAtt += sAttachmentName;
}
}
RedrawRowStyles();
if (sFailedAtt.length > 0) {
ShowAlert(t_("[ME_TXT-Error]"), t_("[ME_TXT-FailedToRemoveTheFollowing]") + ": " + sFailedAtt, true);
}
}
// -->
</script>
<!--[if lte IE 7]>
<style type="text/css">
.bttn_right {float:left;}
select {margin:0;padding:0;border:0;}
#diag_SaveAttachment_btnCancel {position:relative;top:-42px;}
#diag_SaveAttachment_btnOK {position:relative;top:-42px;}
</style>
<![endif]-->
</head>
<body onload="PageLoad();" style="background:transparent;">
<form id="frmListAttachments" runat="server">
<div class="level0_shell pane-iframe" id="level0_shell_js">
<div class="options_background" id="options_shell_js" style="overflow:auto;">
<div class="options_shell_inner">
<table class="optionsPanel_table" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="optionsPanel_table_topLeft"><div class="optionsPanel_table_topLeft_div"></div></td>
<td class="optionsPanel_table_top">
<div class="optionsPanel_head">
<div class="optionsPanel_top_title" onselectstart="return false;">
<h1><%=uscToken.GetText("[ME_TXT-Attachments]")%></h1>
</div>
</div>
</td>
<td class="optionsPanel_table_topRight"></td>
</tr>
<tr>
<td colspan="3" class="optionsPanel_table_body">
<div class="optionsPanel_body_shell">
<% Select Case ParseRequestArgument("Mode")
Case "Read" %>
<% Case Else %> <!-- Attachments for message being composed -->
<iframe id="frameUpload" name="frameUpload" border="0" frameborder="0" width="100%" height="75" src="Uploader.aspx" scrolling="no" allowTransparency="true" style="background-color:Transparent;"></iframe>
<div class="options_form_gap"></div>
<% End Select %>
<div class="options_form_description">
<%=uscToken.GetText("[ME_TXT-Thefollowingfileshavebeenattachedtothismailmessage]")%>:
</div>
<div class="options_form_gap"></div>
<div class="dataTable2_shell">
<div class="dataTable_table_head_shell">
<table class="dataTable2_table_head" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<div class="dataTable_table_head_shell_inner">
<table class="dataTable_table_head" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="dataTable_tickbox"><input id="chk_selectAll" type="checkbox" onclick="SelectAllCheckboxCallback(this)"/></td>
<td class="dataTable_noWidth">
<div class="tableHead_bttn_shell" style="cursor:default;">
<div class="tableHead_bttn_txt"><%=uscToken.GetText("[ME_TXT-Name]")%></div>
</div>
</td>
<td class="dataTable_name">
<div class="tableHead_bttn_shell" style="cursor:default;">
<div class="tableHead_bttn_txt"><%=uscToken.GetText("[ME_TXT-Type]")%></div>
</div>
</td>
<td class="dataTable_size_right">
<div class="tableHead_bttn_shell" style="float:right;cursor:default;">
<div class="tableHead_bttn_txt" style="float:right"><%=uscToken.GetText("[ME_TXT-Size]")%></div>
</div>
</td>
</tr>
</table>
</div><!-- dataTable_table_head_shell_inner -->
</td>
<td class="dataTable_table_head_right"></td>
</tr>
</table>
</div><!-- dataTable_table_head_shell -->
<div class="dataTable_body_shell" onscroll="fnScroll()" style="height:150px;">
<div class="dataTable_shell_inner">
<table id="tblAttachments" class="dataTable_table" border="0" cellspacing="0" cellpadding="0">
<tbody>
<!-- Attachment rows goes here -->
</tbody>
</table>
</div><!-- dataTable_shell_inner -->
</div><!-- dataTable_body_shell -->
</div><!-- dataTable2_shell -->
<% Select Case ParseRequestArgument("Mode")
Case "Read" %> <!-- We are listing attachments for a message being read -->
<div class="options_form_gap"></div>
<!-- Footer Bttns -->
<%If gDownloadAllEnabled Then%>
<a href="GetAttachment.aspx?MessageID=<%=gMessageID%>&Folder=<%=Server.URLEncode(gRelativeFolderPath)%>">
<div id="btnDownloadAll" class="bttn_float_right">
<div class="bttn_left" onselectstart="return false;">
<div class="bttn_icon_download"></div>
<div class="bttn_txt"><%=uscToken.GetText("[ME_TXT-DownloadAll]")%></div>
</div>
<div class="bttn_right"></div>
</div>
</a>
<% end if %>
<% If gFileStoreEnabled Then%>
<div id="btnSaveToStorage" class="bttn_float_right" onclick="SaveToStorage()">
<div class="bttn_left" onselectstart="return false;">
<div class="bttn_icon_saveToStorage"></div>
<div class="bttn_txt"><%=uscToken.GetText("[ME_TXT-SaveToStorage]")%></div>
</div>
<div class="bttn_right"></div>
</div>
<% end if %>
<% Case Else %> <!-- Attachments for message being composed -->
<asp:Label ID="lblMaxSize" runat="server" style="color:#333;font-style:italic"></asp:Label>
<div class="options_form_gap"></div>
<!-- Footer Bttns -->
<div class="bttn_float_right" id="btnRemove" onclick="RemoveSelectedAttachments()">
<div class="bttn_left" onselectstart="return false;">
<div class="compose_bttn_okCancel"><%=uscToken.GetText("[ME_TXT-Remove]")%></div>
</div>
<div class="bttn_right"></div>
</div>
<% End Select %>
</div><!-- optionsPanel_body_shell -->
</td>
</tr>
</table><!-- optionsPanel_table -->
</div>
</div>
<% Select Case ParseRequestArgument("Mode")
Case "Read" %> <!-- We are listing attachments for a message being read -->
<div class="options_footer" id="options_footer_js">
<!-- Save / Cancel -->
<div class="bttn_float_left" onclick="Back()">
<div class="bttn_left" onselectstart="return false;">
<div class="compose_bttn_okCancel"><%=uscToken.GetText("[ME_TXT-Back]")%></div>
</div>
<div class="bttn_right"></div>
</div>
</div><!-- options_footer -->
<% Case Else %> <!-- Attachments for message being composed -->
<div class="options_footer" id="options_footer_js">
<!-- Save / Cancel -->
<div class="bttn_float_left" id="btnContinue" onclick="Continue()">
<div class="bttn_left" onselectstart="return false;">
<div class="compose_bttn_okCancel"><%=uscToken.GetText("[ME_TXT-Continue..]")%></div>
</div>
<div class="bttn_right"></div>
</div>
</div><!-- options_footer -->
<% End Select %>
<!-- We need the LinkButton below so that the javascript function '__doPostBack()'
is written out on the client page. -->
<asp:LinkButton ID="LinkButton1" runat="server" style="display:none">LinkButton</asp:LinkButton>
</div>
</form>
</body>
</html>