﻿// JScript File
var uploadFileId = null;
var uploadFileName = null;
var statePanel = null;
var timeOut = null;

function uploadStarted(guid, fileName)
{
    uploadFileId = guid;
    uploadFileName = fileName;
    statePanel.show();
    timeout = window.setTimeout(getUploadState, 1000);
}

function showUploadState(response, context)
{
    if(timeOut != null)
    {
        window.clearTimeout(timeOut);
        timeOut = null;
    }
    
    if(statePanel.isHidden)
    {
        return;
    }
    
    if(response == "null")
    {
        timeOut = window.setTimeout(getUploadState, timeInterval);
        return;
    }
    else
    {
        eval("response=" + response);
    }
    
    if(response.cancel)
    {
        if(response.readed)
        {
            document.getElementById('uploadEngineFrame').src = 'UploadEngine.aspx';
            return;
        }
    }  
    
    if(response.error != null)
    {
        if(response.error != '')
        {
            alert(response.error);
            statePanel.hide();
            return;
        }
    }

    statePanel.render(response);
    
    if(parseInt(response.percent) < 100)
    {
        timeOut = window.setTimeout(getUploadState, timeInterval);
    }
}

function showUploadInfo(info)
{
    if(timeOut != null)
    {
        window.clearTimeout(timeOut);
        timeOut = null;
    }
    
    var container = document.getElementById("fileInfoContainer");
    if(container.hasChildNodes())
    {
        var oldBlocks = container.childNodes;
        
        for(var i = 0; i < oldBlocks.length; i++)
        {
            container.removeChild(oldBlocks[i]);
        }
    }
    
    if(info.length > 0 && info[0].finalspeed != "" && statePanel != null)
    {
        var state = {percent:100,uploadspeed:info[0].finalspeed,timereminded:'0 seconds'};
        statePanel.render(state);
    }
    
    document.getElementById("fileName0").innerHTML = "";
    document.getElementById("fileSize0").innerHTML = "";
    document.getElementById("description0").innerHTML = "";
    
    var downloadLink = document.getElementById("downloadLink0");
    var deleteLink = document.getElementById("deleteLink0");
    
    downloadLink.href = "";
    downloadLink.innerHTML = "";

    deleteLink.href = "";
    deleteLink.innerHTML = "";

    if(info.length == 1)
    {
        document.getElementById("infoTitle").innerHTML = "1 file has been uploaded successfully";
    }
    else
    {
        document.getElementById("infoTitle").innerHTML = info.length + " files were uploaded successfully";
    }

    if(info.length > 0)
    {         
        for(var i = 0; i < info.length; i++)
        {
            if(info[i].filename.length > 0)
            {
                if(i > 0)
                {
                    var newBlock = document.getElementById("fileInfoBlock").cloneNode(true);
                    newBlock.id = "fileInfoBlock" + i;
                    /*newBlock.name = "newFileInfoBlock";
                    alert(newBlock.name);
                    alert(document.getElementsByName(newBlock.name).length);
                    */
                    var tds = newBlock.getElementsByTagName("TD");
                    for(var k = 0; k < tds.length; k++)
                    {
                        if(tds[k].id != null && tds[k].id != "")
                        {
                            tds[k].id = tds[k].id.substr(0, tds[k].id.length - 1) + i;
                        }
                    }
                    
                    var as = newBlock.getElementsByTagName("A");
                    for(var k = 0; k < as.length; k++)
                    {
                        if(as[k].id != null && as[k].id != "")
                        {
                            as[k].id = as[k].id.substr(0, as[k].id.length - 1) + i;
                        }
                    }
                    
                    container.appendChild(newBlock);
                }
                
                document.getElementById("fileName" + i).innerHTML = info[i].filename;
                document.getElementById("fileSize" + i).innerHTML = info[i].filesize;
                document.getElementById("description" + i).innerHTML = info[i].description;
    
                var downloadLink = document.getElementById("downloadLink" + i);
                var deleteLink = document.getElementById("deleteLink" + i);
    
                downloadLink.href = info[i].downloadlink;
                downloadLink.innerHTML = info[i].downloadlink;

                deleteLink.href = info[i].deletelink;
                deleteLink.innerHTML = info[i].deletelink;
            }
        }

        document.getElementById("uploadInfo").style.visibility = "visible";

        if(!logged)
        {
            if(confirm(_gNotLoggedMessage))
            {
                window.location = "register.aspx";
            }
        }
    }
    
    document.getElementById('uploadEngineFrame').height = uploadEngineFrameHeight;
    window.setTimeout('statePanel.hide()', 500);
}

function onError(err)
{
    alert(err);
}

function init()
{
    statePanel = new UploadStatePanel();
}

window.onload = init;


