show_upload_progression (p.toString() + '%');
}
-function upload_failed (e)
+function control_selected_file_size(max_size, error_str)
{
- /* Todo: Considere showing a error div. */
- alert ('Sorry, upload failed');
+ f_size = document.getElementById('file_select').files[0].size;
+ if (max_size > 0 && f_size > max_size * 1024 * 1024)
+ {
+ pop_failure(error_str);
+ document.getElementById('send').style.display = 'none';
+ }
+ else
+ {
+ document.getElementById('options').style.display = '';
+ document.getElementById('send').style.display = '';
+ document.getElementById('error_pop').style.display = 'none';
+ }
+}
+
+function pop_failure (e)
+{
+ var text = "An error occured";
+ if (typeof e !== 'undefined')
+ text = e;
+ text = "<p>" + text + "</p>";
+ document.getElementById('error_pop').innerHTML = e;
+
+ document.getElementById('uploading').style.display = 'none';
+ document.getElementById('error_pop').style.display = '';
+ document.getElementById('upload').style.display = '';
+ document.getElementById('send').style.display = '';
}
function classic_upload (url, file, time, password, one_time, upload_password)
{
var req = new XMLHttpRequest ();
req.upload.addEventListener ("progress", upload_progress, false);
- req.addEventListener ("error", upload_failed, false);
- req.addEventListener ("abort", upload_failed, false);
+ req.addEventListener ("error", pop_failure, false);
+ req.addEventListener ("abort", pop_failure, false);
req.onreadystatechange = function ()
{
if (req.readyState == 4 && req.status == 200)
{
var res = req.responseText;
if (res == "Error")
+ {
+ pop_failure ();
return;
+ }
res = res.split ("\n");
if (time != 'none')
{
async_global_time = time;
var req = new XMLHttpRequest ();
- req.addEventListener ("error", upload_failed, false);
- req.addEventListener ("abort", upload_failed, false);
+ req.addEventListener ("error", pop_failure, false);
+ req.addEventListener ("abort", pop_failure, false);
req.onreadystatechange = function ()
{
if (req.readyState == 4 && req.status == 200)
{
var res = req.responseText;
if (res == "Error")
+ {
+ pop_failure ();
return;
+ }
res = res.split ("\n");
async_global_ref = res[0];
var code = res[1];
}
var req = new XMLHttpRequest ();
req.upload.addEventListener ("progress", async_upload_progress, false);
- req.addEventListener ("error", upload_failed, false);
- req.addEventListener ("abort", upload_failed, false);
+ req.addEventListener ("error", pop_failure, false);
+ req.addEventListener ("abort", pop_failure, false);
req.onreadystatechange = function ()
{
if (req.readyState == 4 && req.status == 200)
{
var res = req.responseText;
if (res == "Error")
+ {
+ pop_failure ();
return;
+ }
res = res.split ("\n");
var code = res[0]
async_global_transfered = async_global_transfering;
function async_upload_end (code)
{
var req = new XMLHttpRequest ();
- req.addEventListener ("error", upload_failed, false);
- req.addEventListener ("abort", upload_failed, false);
+ req.addEventListener ("error", pop_failure, false);
+ req.addEventListener ("abort", pop_failure, false);
req.onreadystatechange = function ()
{
if (req.readyState == 4 && req.status == 200)
{
var res = req.responseText;
if (res == "Error")
+ {
+ pop_failure ();
return;
+ }
res = res.split ("\n");
if (async_global_time != 'none')
{