Slideshow doesn't work when placed inside a MC

How come the following AS3 works fine when placed in Scene 1, but throws multiple “1120 Access of undefined property” errors when the code is placed inside a movie clip?
Somehow none of the variables in the code are recognized in the later case.

Cheers


function loadXML(loaded) {
 
    if (loaded) {
 
        xmlNode = this.firstChild;
//    xmlNode = parent.firstChild;
        image2 = [];
        description = [];
        total = xmlNode.childNodes.length;
        for (k=0; k<total; k++) {
 
            image2[k] = xmlNode.childNodes[k].childNodes[0].firstChild.nodeValue;
            description[k] = xmlNode.childNodes[k].childNodes[1].firstChild.nodeValue;
        }
        firstImage();
    } else {
 
        content = "file not loaded!";
    }
}
 
xmlData2 = new XML();
xmlData2.ignoreWhite = true;
xmlData2.onLoad = loadXML;
xmlData2.load("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();
};
/////////////////////////////////////
 
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(image2[p], 1);
            desc_txt.text = description[p];
            picture_num();
        }
    }
}
 
function prevImage() {
 
    if (p>0) {
 
        p--;
        picture._alpha = 0;
        picture.loadMovie(image2[p], 1);
        desc_txt.text = description[p];
        picture_num();
    }
}
 
function firstImage() {
 
    if (loaded == filesize) {
 
        picture._alpha = 0;
        picture.loadMovie(image2[0], 1);
        desc_txt.text = description[0];
        picture_num();
    }
}
 
function picture_num() {
 
    current_pos = p+1;
    pos_txt.text = current_pos+" / "+total;
}