/* This source has been formatted by an unregistered SourceFormatX */
/* If you want to remove this info, please register this shareware */
/* Please visit http://www.textrush.com to get more information    */

/* http://ypslideoutmenus.sourceforge.net/ */
ypSlideOutMenu.Registry = [];
ypSlideOutMenu.aniLen = 250;
ypSlideOutMenu.hideDelay = 1000;
ypSlideOutMenu.minCPUResolution = 10;
function ypSlideOutMenu(id, _2, _3, _4, _5, _6)
{
    this.ie = document.all ? 1 : 0;
    this.ns4 = document.layers ? 1 : 0;
    this.dom = document.getElementById ? 1 : 0;
    this.css = "";
    if (this.ie || this.ns4 || this.dom)
    {
        this.id = id;
        this.dir = _2;
        this.orientation = _2 == "left" || _2 == "right" ? "h" : "v";
        this.dirType = _2 == "right" || _2 == "down" ? "-" : "+";
        this.dim = this.orientation == "h" ? _5 : _6;
        this.hideTimer = false;
        this.aniTimer = false;
        this.open = false;
        this.over = false;
        this.startTime = 0;
        this.gRef = "ypSlideOutMenu_" + id;
        eval(this.gRef + "=this");
        ypSlideOutMenu.Registry[id] = this;
        var d = document;
        var _8 = "";
        _8 += "#" + this.id + "Container{visibility:hidden;";
        _8 += "left:" + _3 + "px;";
        _8 += "top:" + _4 + "px;";
        _8 += "overflow:hidden;z-index:10000;}";
        _8 += "#" + this.id + "Container,#" + this.id + 
            "Content{position:absolute;";
        _8 += "width:" + _5 + "px;";
        _8 += "height:" + _6 + "px;";
        _8 += "clip:rect(0 " + _5 + " " + _6 + " 0);";
        _8 += "}";
        this.css = _8;
        this.load();
    }
}

ypSlideOutMenu.writeCSS = function()
{
    document.writeln("<style type=\"text/css\">");
    for (var id in ypSlideOutMenu.Registry)
    {
        document.writeln(ypSlideOutMenu.Registry[id].css);
    }
    document.writeln("</style>");
};
ypSlideOutMenu.prototype.load = function()
{
    var d = document;
    var _10 = this.id + "Container";
    var _11 = this.id + "Content";
    var _12 = this.dom ? d.getElementById(_10): this.ie ? d.all[_10]:
        d.layers[_10];
    if (_12)
    {
        var _13 = this.ns4 ? _12.layers[_11]: this.ie ? d.all[_11]:
            d.getElementById(_11);
    }
    var _14;
    if (!_12 || !_13)
    {
        window.setTimeout(this.gRef + ".load()", 100);
    }
    else
    {
        this.container = _12;
        this.menu = _13;
        this.style = this.ns4 ? this.menu : this.menu.style;
        this.homePos = eval("0" + this.dirType + this.dim);
        this.outPos = 0;
        this.accelConst = (this.outPos - this.homePos) / ypSlideOutMenu.aniLen
            / ypSlideOutMenu.aniLen;
        if (this.ns4)
        {
            this.menu.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
        }
        this.menu.onmouseover = new Function("ypSlideOutMenu.showMenu('" +
            this.id + "')");
        this.menu.onmouseout = new Function("ypSlideOutMenu.hideMenu('" +
            this.id + "')");
        this.endSlide();
    }
};
ypSlideOutMenu.showMenu = function(id)
{
    var reg = ypSlideOutMenu.Registry;
    var obj = ypSlideOutMenu.Registry[id];
    if (obj.container)
    {
        obj.over = true;
        for (menu in reg)
        {
            if (id != menu)
            {
                ypSlideOutMenu.hide(menu);
            }
        }
        if (obj.hideTimer)
        {
            reg[id].hideTimer = window.clearTimeout(reg[id].hideTimer);
        }
        if (!obj.open && !obj.aniTimer)
        {
            reg[id].startSlide(true);
        }
    }
};
ypSlideOutMenu.hideMenu = function(id)
{
    var obj = ypSlideOutMenu.Registry[id];
    if (obj.container)
    {
        if (obj.hideTimer)
        {
            window.clearTimeout(obj.hideTimer);
        }
        obj.hideTimer = window.setTimeout("ypSlideOutMenu.hide('" + id + "')",
            ypSlideOutMenu.hideDelay);
    }
};
ypSlideOutMenu.hideAll = function()
{
    var reg = ypSlideOutMenu.Registry;
    for (menu in reg)
    {
        ypSlideOutMenu.hide(menu);
        if (menu.hideTimer)
        {
            window.clearTimeout(menu.hideTimer);
        }
    }
};
ypSlideOutMenu.hide = function(id)
{
    var obj = ypSlideOutMenu.Registry[id];
    obj.over = false;
    if (obj.hideTimer)
    {
        window.clearTimeout(obj.hideTimer);
    }
    obj.hideTimer = 0;
    if (obj.open && !obj.aniTimer)
    {
        obj.startSlide(false);
    }
};
ypSlideOutMenu.prototype.startSlide = function(_21)
{
    this[_21 ? "onactivate" : "ondeactivate"]();
    this.open = _21;
    if (_21)
    {
        this.setVisibility(true);
    }
    this.startTime = (new Date()).getTime();
    this.aniTimer = window.setInterval(this.gRef + ".slide()",
        ypSlideOutMenu.minCPUResolution);
};
ypSlideOutMenu.prototype.slide = function()
{
    var _22 = (new Date()).getTime() - this.startTime;
    if (_22 > ypSlideOutMenu.aniLen)
    {
        this.endSlide();
    }
    else
    {
        var d = Math.round(Math.pow(ypSlideOutMenu.aniLen - _22, 2) *
            this.accelConst);
        if (this.open && this.dirType == "-")
        {
            d =  - d;
        }
        else
        {
            if (this.open && this.dirType == "+")
            {
                d =  - d;
            }
            else
            {
                if (!this.open && this.dirType == "-")
                {
                    d =  - this.dim + d;
                }
                else
                {
                    d = this.dim + d;
                }
            }
        }
        this.moveTo(d);
    }
};
ypSlideOutMenu.prototype.endSlide = function()
{
    this.aniTimer = window.clearTimeout(this.aniTimer);
    this.moveTo(this.open ? this.outPos : this.homePos);
    if (!this.open)
    {
        this.setVisibility(false);
    }
    if ((this.open && !this.over) || (!this.open && this.over))
    {
        this.startSlide(this.over);
    }
};
ypSlideOutMenu.prototype.setVisibility = function(_24)
{
    var s = this.ns4 ? this.container : this.container.style;
    s.visibility = _24 ? "visible" : "hidden";
};
ypSlideOutMenu.prototype.moveTo = function(p)
{
    this.style[this.orientation == "h" ? "left" : "top"] = this.ns4 ? p : p + 
        "px";
};
ypSlideOutMenu.prototype.getPos = function(c)
{
    return parseInt(this.style[c]);
};
ypSlideOutMenu.prototype.onactivate = function(){}
;
ypSlideOutMenu.prototype.ondeactivate = function(){}
;
