// Body onload/onunload utility (supports multiple onload/onunload functions)

var gSafeOnload = new Array();
var gSafeOnunload = new Array();

// to add an onLoad event just call this function from your .js script
// i.e. if you have a function called myOnLoad() you would put SafeAddOnload(myOnLoad) at the bottom of your script.
function SafeAddOnload(f)
{
    // Browser Detection
    isMac = (navigator.appVersion.indexOf("Mac")!=-1) ? true : false;
    NS4 = (document.layers) ? true : false;
    IEmac = ((document.all)&&(isMac)) ? true : false;
    IE4plus = (document.all) ? true : false;
    IE4 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 4.")!=-1)) ? true : false;
    IE5 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 5.")!=-1)) ? true : false;
    ver4 = (NS4 || IE4plus) ? true : false;
    NS6 = (!document.layers) && (navigator.userAgent.indexOf('Netscape')!=-1)?true:false;

    if (IEmac && IE4)  // IE 4.5 blows out on testing window.onload
    {
        window.onload = SafeOnload;
        gSafeOnload[gSafeOnload.length] = f;
    }
    else if  (window.onload)
    {
        if (window.onload != SafeOnload)
        {
            gSafeOnload[0] = window.onload;
            window.onload = SafeOnload;
        }       
        gSafeOnload[gSafeOnload.length] = f;
    }
    else
    {
        window.onload = f;
    }
        
}

function SafeAddOnunload(f)
{
    // Browser Detection
    isMac = (navigator.appVersion.indexOf("Mac")!=-1) ? true : false;
    NS4 = (document.layers) ? true : false;
    IEmac = ((document.all)&&(isMac)) ? true : false;
    IE4plus = (document.all) ? true : false;
    IE4 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 4.")!=-1)) ? true : false;
    IE5 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 5.")!=-1)) ? true : false;
    ver4 = (NS4 || IE4plus) ? true : false;
    NS6 = (!document.layers) && (navigator.userAgent.indexOf('Netscape')!=-1)?true:false;

    if (IEmac && IE4)  // IE 4.5 blows out on testing window.onload
    {
        window.onunload = SafeOnunload;
        gSafeOnunload[gSafeOnunload.length] = f;
    }
    else if  (window.onunload)
    {
        if (window.onunload != SafeOnunload)
        {
            gSafeOnunload[0] = window.onunload;
            window.onunload = SafeOnunload;
        }       
        gSafeOnunload[gSafeOnunload.length] = f;
    }
    else
        window.onunload = f;
}

function SafeOnload()
{
    for (var i=0; i < gSafeOnload.length; i++)
        gSafeOnload[i]();
}
function SafeOnunload()
{
    for (var i=0;i<gSafeOnunload.length;i++)
        gSafeOnunload[i]();
}
