
var replacearray = new Array();

function fadeReplace(id, src, classen) {
    if(replacearray[id] == true)
        return false;
    else
        replacearray[id] = true;
        
    var currimg = $(id);
    currimg.id = '';
    currimg.absolutize();
    
    if(classen != '')
        currimg.removeClassName(classen);
        
    var newimg = document.createElement('img');
    Element.extend(newimg);
    newimg.src=src;
    
    if(classen != '')
        newimg.addClassName(classen);
    newimg.id = id;
    Element.insert(currimg, { 'before':newimg });
    currimg.fade({afterFinish: function(el) { 
        currimg.remove();
        replacearray[id] = false;
     }});
    return true;
}

function slowFadeReplace(id, src, classen) {
    if(replacearray[id] == true)
        return false;
    else
        replacearray[id] = true;
        
    var currimg = $(id);
    currimg.id = '';
    currimg.absolutize();
    
    if(classen != '')
        currimg.removeClassName(classen);
        
    var newimg = document.createElement('img');
    Element.extend(newimg);
    newimg.src=src;
    
    if(classen != '')
        newimg.addClassName(classen);
    newimg.id = id;
    Element.insert(currimg, { 'before':newimg });
    currimg.fade({afterFinish: function(el) { 
        currimg.remove();
        replacearray[id] = false;
     }, duration: 3});
    return true;
}

var menueffectarray = new Array();

var menufadearray = new Array();
var menufadein = function(element) {
    var menuitem = $(element);
    
    if (typeof menufadearray !== 'undefined' && typeof menufadearray[menuitem.id] !== 'undefined')
        window.menufadearray[menuitem.id].cancel();
    menufadearray[menuitem.id] = new Effect.Morph($(menuitem.firstDescendant()), { style: "opacity: 1;", duration: 0.4, transition: Effect.Transitions.linear });
}

var menufadeout = function(element) {
    var menuitem = $(element);
    if(typeof menufadearray !== 'undefined' && typeof menufadearray[menuitem.id] !== 'undefined')
        window.menufadearray[menuitem.id].cancel();
    menufadearray[menuitem.id] = new Effect.Morph($(menuitem.firstDescendant()), { style: "opacity: 0;", duration: 3, transition: Effect.Transitions.easeOutExpo });
}

var menufadeoutquick = function(element) {
    var menuitem = $(element);
    if(typeof menufadearray !== 'undefined' && typeof menufadearray[menuitem.id] !== 'undefined')
        window.menufadearray[menuitem.id].cancel();
    menufadearray[menuitem.id] = new Effect.Morph($(menuitem.firstDescendant()), { style: "opacity: 0;", duration: 1.3 , transition: Effect.Transitions.easeOutExpo });
}
