var findAPITries = 0;

function findAPI( win )
{
    while( (null == win.API) && (null != win.parent) && (win.parent != win) )
    {
        findAPITries++;

        if( findAPITries > 7 )
        {
            win.status = "Error finding API -- too deeply nested.";
            return null;
        }

        win = win.parent;
    }

    return win.API;
}

function getAPI()
{
    var theAPI = findAPI( window );

    if( (null == theAPI) && (null != window.opener) && ("undefined" != typeof( window.opener)) )
    {
        theAPI = findAPI( window.opener );
    }

    if( null == theAPI )
    {
        window.status = "Unable to find an API adapter.";
    }

    return theAPI;
}

