function Stack()
{
    this.Values = new Array();
    this.Size = 0;
    this.Push = _stack_Push;
    this.Pop = _stack_Pop;
    this.Top = _stack_Top;
    this.Contains = _stack_Contains;
    return this;
}

function _stack_Push(data)
{
    this.Values[this.Size++] = data;
}

function _stack_Pop()
{
    if (this.Size > 0)
        return this.Values[--this.Size];
    else
        return null;
}

function _stack_Top()
{
    if (this.Size > 0)
        return this.Values[this.Size-1];
    else
        return null;

}

function _stack_Contains(data)
{
    for (i = 0; i < this.Size; i++)
        if (this.Values[i] == data) return true;
    return false;
}

