Flash xml gallery - contextual arrows?

Regarding the nifty xml image scroller at http://www.kirupa.com/developer/mx2004/thumbnails.htm

I want to make a left arrow pop up when the first image has scrolled to the left of the thumbnail image area (mask). I’ve created a symbol for each side, leftArrow and rightArrow, which I can get to show up but not ‘contextually’ that is, only when there are mre images to the left or right.

To jog memory, here’s the AS from that tutorial (with my xml variables substituted)

CODE:


function loadXML(loaded) {
    if (loaded) {
        xmlNode = this.firstChild;
        thumbnails = [];
        image = [];
        booktitle=[];
        author=[];
        description = [];
        tech = [];
        total = xmlNode.childNodes.length;
        for (i=0; i<total; i++) {
            thumbnails* = xmlNode.childNodes*.childNodes[0].firstChild.nodeValue;
            image* = xmlNode.childNodes*.childNodes[1].firstChild.nodeValue;
            booktitle* = xmlNode.childNodes*.childNodes[2].firstChild.nodeValue;
            author* = xmlNode.childNodes*.childNodes[3].firstChild.nodeValue;
            description* = xmlNode.childNodes*.childNodes[4].firstChild.nodeValue;
            tech* = xmlNode.childNodes*.childNodes[5].firstChild.nodeValue;
            thumbnails_fn(i);
        }
        firstImage();
    } else {
        content = "file not loaded!";
    }
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("books/images.xml");
///////////////////////////////////// 
listen = new Object();
listen.onKeyDown = function() {
    if (Key.getCode() == Key.LEFT) {
        prevImage();
    } else if (Key.getCode() == Key.RIGHT) {
        nextImage();
    }
};
Key.addListener(listen);
previous_btn.onRelease = function() {
    prevImage();
};
next_btn.onRelease = function() {
    nextImage();
};
///////////////////////////////////// 
leftArrow._alpha = 0 // hide arrow
rightArrow._alpha = 0 // hide right arrow
p = 0;
this.onEnterFrame = function() {
    filesize = picture.getBytesTotal();
    loaded = picture.getBytesLoaded();
    preloader._visible = true;
    if (loaded != filesize) {
        preloader.preload_bar._xscale = 100*loaded/filesize;
    } else {
        preloader._visible = false;
        if (picture._alpha<100) {
            picture._alpha += 10;
        }
    }
};
function nextImage() {
    if (p<(total-1)) {
        p++;
        if (loaded == filesize) {
            picture._alpha = 0;
            picture.loadMovie(image[p], 1);
            author_txt.text = author[p];
            title_txt.text = booktitle[p];
            desc_txt.text = description[p];
            techdata_txt.text = tech[p];
            picture_num();
        }
    }
}
function prevImage() {
    if (p>0) {
        p--;
        picture._alpha = 0;
        picture.loadMovie(image[p], 1);
        desc_txt.text = description[p];
        techdata_txt.text = tech[p];
        picture_num();
    } 
}
function firstImage() {
    if (loaded == filesize) {
        picture._alpha = 0;
        picture.loadMovie(image[0], 1);
        author_txt.text = author[0];
        title_txt.text = booktitle[0];
        desc_txt.text = description[0];
        techdata_txt.text = tech[p];
        picture_num();
    }
}
function picture_num() {
    current_pos = p+1;
    pos_txt.text = current_pos+" / "+total;
}
function thumbNailScroller() {
    // thumbnail code! 
    this.createEmptyMovieClip("tscroller", 1000);
    scroll_speed = 20;
    tscroller.onEnterFrame = function() {
        if ((_root._ymouse>=thumbnail_mc._y) && (_root._ymouse<=thumbnail_mc._y+thumbnail_mc._height)) {
            if ((_root._xmouse>=(hit_right._x-40)) && (thumbnail_mc.hitTest(hit_right))) {
                thumbnail_mc._x -= scroll_speed;
            } else if ((_root._xmouse<=(hit_left._x+40)) && (thumbnail_mc.hitTest(hit_left))) {
                thumbnail_mc._x += scroll_speed;
            }
        } else {
            delete tscroller.onEnterFrame;
        }
    };
}
function thumbnails_fn(k) {
    thumbnail_mc.createEmptyMovieClip("t"+k, thumbnail_mc.getNextHighestDepth());
    tlistener = new Object();
    tlistener.onLoadInit = function(target_mc) {
        target_mc._x = hit_left._x+(target_mc._width+5)*k;
        target_mc.pictureValue = k;
        target_mc.onRelease = function() {
            p = this.pictureValue-1;
            nextImage();
        };
        target_mc.onRollOver = function() {
            this._alpha = 50;
            thumbNailScroller();
        };
        target_mc.onRollOut = function() {
            this._alpha = 100;
        };
    };
    image_mcl = new MovieClipLoader();
    image_mcl.addListener(tlistener);
    image_mcl.loadClip(thumbnails[k], "thumbnail_mc.t"+k);
}