function CList()
{
    this.m_arrObject = new Array();
}

CList.prototype.Add = function(oObject)
{
    this.m_arrObject.push(oObject);
    return SW_OK;
}

CList.prototype.Get = function(nCursor)
{
    return this.m_arrObject[nCursor];
}

CList.prototype.GetCount = function()
{
    return this.m_arrObject.length;
}

CList.prototype.FindIndex = function(sFunction, sValue)
{
    var nCount = this.GetCount();
    for(var nCursor = 0; nCursor < nCount; nCursor++)
    {
      var oObject = this.Get(nCursor);
      if(oObject[sFunction]() == sValue)
      {
        return nCursor;
      }
    }
    return -1;
}

CList.prototype.Find = function(sFunction, sValue)
{
  var nIndex =  this.FindIndex(sFunction, sValue);
  if(nIndex != -1)
  {
    return this.Get(nIndex);
  }
  return null;
}
