function MM_preloadImages()
{   //v3.0
    var d=document;
    if (d.images)
    {
        if (!d.MM_p) d.MM_p = new Array();
        var i, j = d.MM_p.length, a = MM_preloadImages.arguments;
        for (i=0; i<a.length; i++)
        if (a[i].indexOf("#") != 0)
        {
            d.MM_p[j] = new Image;
            d.MM_p[j++].src = a[i];
        }
    }
}

function MM_swapImgRestore()
{   //v3.0
    var i, x, a = document.MM_sr;
    for(i=0; a&&i<a.length && (x=a[i]) && x.oSrc; i++) x.src = x.oSrc;
}

function MM_findObj(n, d)
{   //v4.01
    var p, i, x;

    if (!d) d=document;
    if ((p = n.indexOf("?")) > 0 && parent.frames.length)
    {
        d = parent.frames[n.substring(p+1)].document;
        n = n.substring(0,p);
    }
    if (!(x=d[n]) && d.all) x = d.all[n];
    for (i=0; !x && i<d.forms.length; i++) x = d.forms[i][n];
    for (i=0; !x && d.layers && i<d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
    if (!x && d.getElementById) x=d.getElementById(n);
    return x;
}

function MM_swapImage()
{   //v3.0
    var i, j=0, x, a = MM_swapImage.arguments;
    document.MM_sr = new Array;
    for (i=0; i<(a.length-2); i+=3)
    if ((x = MM_findObj(a[i])) != null)
    {
        document.MM_sr[j++] = x;
        if (!x.oSrc) x.oSrc = x.src;
        x.src=a[i+2];
    }
}

//====================
// CSS Change
//====================
// Macintosh                -> MacOS
// Windows95/98/NT/2000/XP  -> Windows
// UNIX                     -> UNIX
function getOSType()
{
    var uAgent = navigator.userAgent.toUpperCase();
    if (uAgent.indexOf("MAC") >= 0) return "MacOS";
    if (uAgent.indexOf("WIN") >= 0) return "Windows";
    if (uAgent.indexOf("X11") >= 0) return "UNIX";
    return "";
}

// Netscape Navigator -> Netscape
// Internet Explorer  -> Explorer
// Safari  -> Safari
// Opera   -> Opera
function getBrowserName()
{
    var aName = navigator.appName.toUpperCase();
    var uName = navigator.userAgent.toUpperCase();
    if (uName.indexOf("SAFARI") >= 0)  return "Safari";
    if (uName.indexOf("FIREFOX") >= 0)  return "Firefox";
    if (uName.indexOf("OPERA") >= 0)  return "Opera";
    if (aName.indexOf("NETSCAPE") >= 0)  return "Netscape";
    if (aName.indexOf("MICROSOFT") >= 0) return "Explorer";
    if (aName.indexOf("MOZILLA/4") >= 0) return "Netscape";
    if (aName.indexOf("MOZILLA") >= 0) return "Mozilla";
    return "";
}

function getBrowserVersion()
{
    var browser = getBrowserName();
    var version = 0;
    var s = 0;
    var e = 0;
    var appVer = navigator.appVersion;
    var uName  = navigator.userAgent.toUpperCase();
    if (browser == "Safari")
    {
        version = eval(appVer.substring(0,3)) - 4;
    }
    if (browser == "Opera")
    {
        s = uName.indexOf("OPERA ",0) + 6;
        e = uName.indexOf(" ",s);
        version = eval(uName.substring(s,e));
    }
    if (browser == "Netscape")
    {
        s = appVer.indexOf(" ",0);
        version = eval(appVer.substring(0,s));
        if (version >= 5) version++;
    }
    if (browser == "Explorer")
    {
        appVer  = navigator.userAgent;
        s = appVer.indexOf("MSIE ",0) + 5;
        e = appVer.indexOf(";",s);
        version = eval(appVer.substring(s,e));
    }
    return version;
}

function changeStyleSheet(path, base_name)
{
    var os      = getOSType();
    var browser = getBrowserName();
    var version = getBrowserVersion();
    var dirName;
    var adddirName;

    if (os == "Windows")
    {
        return"";
    }

    if (os == "MacOS")
    {
        if ((browser == "Explorer") && ((version >= 1) && (version <= 4)))
        {
            return"";
        }
        if ((browser == "Netscape") && ((version >= 1) && (version <= 4)))
        {
            return"";
        }
    }

    if (os == "MacOS")
    {
        dirName = path+"mac/"+base_name+".css";
        document.write("<link rel='stylesheet' href='"+dirName+"' type='text/css' media='all'>");

        if (browser == "Explorer")
        {
            adddirName = path+"mac/"+base_name+"_ie.css";
            document.write("<link rel='stylesheet' href='"+adddirName+"' type='text/css' media='all'>");
        }
    }

    return"";
}
