﻿// JScript File

var UploadStatePanel = function()
{
    //Private members
    var panel = document.getElementById("fileUploadPanel");
    //panel.style.left = "100px";
    //panel.style.top = "50px";
    
    var uploadPercent = document.getElementById("uploadPercent");
    var uploadSpeed = document.getElementById("uploadSpeed");
    var timeReminded = document.getElementById("uploadReminded");
    var progressBar = document.getElementById("uploadProgressBar");
    var fileNumber = document.getElementById("uploadFileNumber");
    var actionName = document.getElementById("actionName");
    
    var progressBarItems = 20;
    
    //Public members
    this.isHidden = true;
   
    this.show = function()
    {
        document.getElementById("btnCancel").disabled = false;
        uploadPercent.innerHTML = "0 %";
        uploadSpeed.innerHTML = " ";
        timeReminded.innerHTML = " ";
        
        for(var i = 1; i <= progressBarItems; i++)
        {
            document.getElementById("pb" + i).className = "empty";
        }
        
        
        panel.style.display = "block";
        this.isHidden = false;
    };
    
    this.render = function(state)
    {
        if(state.timereminded.substr(0,1) != "-")
        {
            if(state.isdownload)
            {
                actionName.innerHTML = "Download:";
            }
            else
            {
                actionName.innerHTML = "Uploading:";
            }

            if(state.filename == "" || state.filename == null)
            {
                fileNumber.innerHTML = "File " + state.filecounter;
            }
            else
            {            
                fileNumber.innerHTML = state.filename;
            }
            
            uploadPercent.innerHTML = state.percent + " %";
            uploadSpeed.innerHTML = state.uploadspeed;
            timeReminded.innerHTML = state.timereminded;
            for(var i = 1; i <= progressBarItems; i++)
            {
                if(parseInt(state.percent) >= i * 5)
                {
                    document.getElementById("pb" + i).className = "filled";
                }
                else
                {
                    document.getElementById("pb" + i).className = "";
                }
            }
        }
        else
        {
            actionName.innerHTML = "Uploading:";
            fileNumber.innerHTML = "";
            uploadPercent.innerHTML = "";
            uploadSpeed.innerHTML = "";
            timeReminded.innerHTML = "";
            for(var i = 1; i <= progressBarItems; i++)
            {
                document.getElementById("pb" + i).className = "";
            }
        }
    };
    
    this.hide = function()
    {
        panel.style.display = "none";
        this.isHidden = true;
    };
}

