﻿// JScript File

function Processor() //taskHolder)
{

    this.addTask = AddTask;
    this.removeTask = RemoveTask;
    this.setPosition = SetPosition;
    //this.hide = Hide();

    
    var responseTimer = null;
    
    var posX=0, posY=0;
    var el; // = taskHolder;
    var tasks = new Array();
    
    Init(); //taskHolder);
    
    function Init() //obj)
    {
        //el = obj;
        
        el = document.createElement("DIV");
        el.className="ProcessWaiter";
        //el.style.display="none";
        document.body.appendChild(el);
    }
    
    function AddTask(name)
    {
        var obj = new Object();
        
        //debugger;
        
        obj.name = name;
        obj.startTime = Date();
        obj.endTime = null;
        obj.active = true;
        
        tasks[tasks.length] = obj;
        
        UpdateTasks();
        
        return (tasks.length-1);
    }

    function RemoveTask(id)
    {
        tasks[id].active = false;
        tasks[id].endTime = Date();
        
        UpdateTasks();
    }
    
    function UpdateTasks()
    {
        var i, n=1;
        var show = false;
        
        //debugger;
        /*try {
            for(i=el.childNodes-1;i>=0;i--) {
                el.childNodes[0].removeNode(true);
            }
        } catch(e) { 
            alert(e.message); 
            el.innerHTML = "";
        }*/
        //debugger;
        el.innerHTML = "<p><b>Running tasks:</b></p>";
        
        for(i=0;i<tasks.length;i++) {
            if(tasks[i].active) {
                show = true;
                el.innerHTML += (n++)+". "+tasks[i].name+"<br>";
                //alert(i);
            }
        }
        
        if(show) { 
            el.style.top = posY; 
            el.style.left = posX; 
            //el.style.display="block"; 
            el.showMe = function() { this.tOexec = setTimeout('this.style.display="block";',500); }  
        }
        else { el.style.display="none"; clearTimeout(el.tOexec); /*alert(document.body.innerHTML);*/ }
            
    }
    
    function SetPosition(x, y)
    {
        posX = x;
        posY = y;
    }
    
    

}