﻿function opacity(id, opacStart, opacEnd, millisec, onDone) { 
    if (speed == 0)
    {
        changeOpac(opacEnd);
        eval(onDone);
        return;
    }
    //speed for each frame 
    var speed = Math.round(millisec / 100); 
    var timer = 0; 

    //determine the direction for the blending, if start and end are the same nothing happens 
    if(opacStart > opacEnd) { 
        for(i = opacStart; i >= opacEnd; i--) { 
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        }         
    } else if(opacStart < opacEnd) { 
        for(i = opacStart; i <= opacEnd; i++) 
            { 
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } 
    if (onDone)
    {
        setTimeout(onDone, (timer * speed));
    }
} 

//change the opacity for different browsers 
function changeOpac(opacity, id) { 
    var element = document.getElementById(id);
    var object = element.style; 
    
    if (opacity == 0)
    {
        object.visibility = 'hidden';
    }
    else
    {
        object.visibility = 'visible';
        if (element.filters)
        {
            if (opacity == 100)
            {
                object.filter = "";
            }
            else
            {
                var filters = element.filters;
                var createFilter = true;
                if (filters.length !== 0) {
                    var alphaFilter = filters.item('DXImageTransform.Microsoft.Alpha');
                    if (alphaFilter) {
                        createFilter = false;
                        alphaFilter.opacity = opacity;
                    }
                }
                if (createFilter) {
                    object.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + opacity + ')';
                }
            }
        }
        else
        {
            object.opacity = (opacity / 100); 
            object.MozOpacity = (opacity / 100); 
            object.KhtmlOpacity = (opacity / 100); 
        }
    }    
} 
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();