var actions = new Array();
var running = false;
var speed = 20;
var step=10;
var aktiv="";

function opacity_change(obj,destination,name)
{
    if(!actions[name])
    {
        actions[name] = new Array();
        actions[name]["current"]=0;
        actions[name]['obj']=obj;
    }
    actions[name]["destination"] = destination;
    
    if(!running)
    {
        running = true;
        opacity_calculator();
    }
}

function opacity_calculator()
{
    var name;
    var action;
    var action_performed = false;
    var dif;
    
    for(name in actions)
    {
        action = actions[name];
        if(action["destination"] > action["current"])
        {
            action_performed = true;
            dif = action["destination"] - action["current"];
            if(dif >= step)
            {
                action["current"]+=step;
            }
            else
            {
                action["current"]=action["destination"];
            }     
            opacity_setter(action);       
        }
        else if (action["destination"] < action["current"])
        {
            action_performed = true;
            dif = action["current"] - action["destination"];
            if(dif >= step)
            {
                action["current"]-=step;
            }
            else
            {
                action["current"]=action["destination"];
            }  
            opacity_setter(action);
        }
    }
    
    if(action_performed)
        window.setTimeout(opacity_calculator,speed);
    else
       running=false;     
}

function opacity_setter(action)
{
    var obj = action['obj'];        
    var calc = action['current'];
    calc = calc / 100;
        
    obj.style.opacity = calc;
    action['obj'].style.filter = "alpha(opacity=" + action['current'] + ")";
}

function switch_category (menu)
{
    if(menu != aktiv)
    {
        if(aktiv != "")
            Effect.BlindUp(aktiv);
            
    	Effect.BlindDown(menu);
        aktiv=menu;
    }        
}
