Kirupa XML Image Gallery - Skip to image

So I’m having some trouble modifying this script. I have a text box so a user can go to a certain image (In my case page). So if the user type 5 it should go to image 5.

I’ve tried numerous methods, none of which are working (they work but then my next and previous buttons aren’t working properly). I know I need to just get go to the number image in the array but the way the script is set up it seems I would have to change the current position value but that doesn’t seem to be the case.

Am I over complicating this?

ActionScript Code:
[FONT=Courier New][LEFT][COLOR=#000000]**function**[/COLOR] loadXML[COLOR=#000000]([/COLOR][COLOR=#0000FF]loaded[/COLOR][COLOR=#000000])[/COLOR] [COLOR=#000000]{[/COLOR]
[COLOR=#0000FF]if[/COLOR] [COLOR=#000000]([/COLOR][COLOR=#0000FF]loaded[/COLOR][COLOR=#000000])[/COLOR] [COLOR=#000000]{[/COLOR]
    [COLOR=#0000FF]xmlNode[/COLOR] = [COLOR=#0000FF]this[/COLOR].[COLOR=#0000FF]firstChild[/COLOR];
    image = [COLOR=#000000][[/COLOR][COLOR=#000000]][/COLOR];
    total = [COLOR=#0000FF]xmlNode[/COLOR].[COLOR=#0000FF]childNodes[/COLOR].[COLOR=#0000FF]length[/COLOR];
    [COLOR=#0000FF]for[/COLOR] [COLOR=#000000]([/COLOR]i=[COLOR=#000080]0[/COLOR]; i<total; i++[COLOR=#000000])[/COLOR] [COLOR=#000000]{[/COLOR]
        image[COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR] = [COLOR=#0000FF]xmlNode[/COLOR].[COLOR=#0000FF]childNodes[/COLOR][COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR].[COLOR=#0000FF]childNodes[/COLOR][COLOR=#000000][[/COLOR][COLOR=#000080]0[/COLOR][COLOR=#000000]][/COLOR].[COLOR=#0000FF]firstChild[/COLOR].[COLOR=#0000FF]nodeValue[/COLOR];
    [COLOR=#000000]}[/COLOR]
    firstImage[COLOR=#000000]([/COLOR][COLOR=#000000])[/COLOR];
    [COLOR=#000000]}[/COLOR] [COLOR=#0000FF]else[/COLOR] [COLOR=#000000]{[/COLOR]
        content = [COLOR=#FF0000]"file not loaded!"[/COLOR];
    [COLOR=#000000]}[/COLOR]
[COLOR=#000000]}[/COLOR]
xmlData = [COLOR=#000000]**new**[/COLOR] [COLOR=#0000FF]XML[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000000])[/COLOR];
xmlData.[COLOR=#0000FF]ignoreWhite[/COLOR] = [COLOR=#000000]**true**[/COLOR];
xmlData.[COLOR=#0000FF]onLoad[/COLOR] = loadXML;
xmlData.[COLOR=#0000FF]load[/COLOR][COLOR=#000000]([/COLOR][COLOR=#FF0000]"xml/config.xml"[/COLOR][COLOR=#000000])[/COLOR];
listen = [COLOR=#000000]**new**[/COLOR] [COLOR=#0000FF]Object[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000000])[/COLOR];
listen.[COLOR=#0000FF]onKeyDown[/COLOR] = [COLOR=#000000]**function**[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000000])[/COLOR] [COLOR=#000000]{[/COLOR]
    [COLOR=#0000FF]if[/COLOR] [COLOR=#000000]([/COLOR][COLOR=#0000FF]Key[/COLOR].[COLOR=#0000FF]getCode[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000000])[/COLOR] == [COLOR=#0000FF]Key[/COLOR].[COLOR=#0000FF]LEFT[/COLOR][COLOR=#000000])[/COLOR] [COLOR=#000000]{[/COLOR]
    prevImage[COLOR=#000000]([/COLOR][COLOR=#000000])[/COLOR];
[COLOR=#000000]}[/COLOR] [COLOR=#0000FF]else[/COLOR] [COLOR=#0000FF]if[/COLOR] [COLOR=#000000]([/COLOR][COLOR=#0000FF]Key[/COLOR].[COLOR=#0000FF]getCode[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000000])[/COLOR] == [COLOR=#0000FF]Key[/COLOR].[COLOR=#0000FF]RIGHT[/COLOR][COLOR=#000000])[/COLOR] [COLOR=#000000]{[/COLOR]
    nextImage[COLOR=#000000]([/COLOR][COLOR=#000000])[/COLOR];
[COLOR=#000000]}[/COLOR]

[COLOR=#000000]}[/COLOR];

[COLOR=#0000FF]Key[/COLOR].[COLOR=#0000FF]addListener[/COLOR]COLOR=#000000[/COLOR];

previous_btn.[COLOR=#0000FF]onRelease[/COLOR] = [COLOR=#000000]function[/COLOR]COLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]
prevImageCOLOR=#000000[/COLOR];
[COLOR=#000000]}[/COLOR];

next_btn.[COLOR=#0000FF]onRelease[/COLOR] = [COLOR=#000000]function[/COLOR]COLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]
nextImageCOLOR=#000000[/COLOR];
[COLOR=#000000]}[/COLOR];

p = [COLOR=#000080]0[/COLOR];

[COLOR=#0000FF]this[/COLOR].[COLOR=#0000FF]onEnterFrame[/COLOR] = [COLOR=#000000]function[/COLOR]COLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]
filesize = picture.[COLOR=#0000FF]getBytesTotal[/COLOR]COLOR=#000000[/COLOR];
[COLOR=#0000FF]loaded[/COLOR] = picture.[COLOR=#0000FF]getBytesLoaded[/COLOR]COLOR=#000000[/COLOR];
preloader.[COLOR=#0000FF]_visible[/COLOR] = [COLOR=#000000]true[/COLOR];
[COLOR=#0000FF]if[/COLOR] [COLOR=#000000]([/COLOR][COLOR=#0000FF]loaded[/COLOR] != filesize[COLOR=#000000])[/COLOR] [COLOR=#000000]{[/COLOR]
preloader.[COLOR=#000080]preload_bar[/COLOR].[COLOR=#0000FF]_xscale[/COLOR] = [COLOR=#000080]100[/COLOR]*[COLOR=#0000FF]loaded[/COLOR]/filesize;
[COLOR=#000000]}[/COLOR] [COLOR=#0000FF]else[/COLOR] [COLOR=#000000]{[/COLOR]
preloader.[COLOR=#0000FF]_visible[/COLOR] = [COLOR=#000000]false[/COLOR];
[COLOR=#0000FF]if[/COLOR] COLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]
picture.[COLOR=#0000FF]_alpha[/COLOR] += [COLOR=#000080]10[/COLOR];
[COLOR=#000000]}[/COLOR]
[COLOR=#000000]}[/COLOR]
[COLOR=#000000]}[/COLOR];

[COLOR=#000000]function[/COLOR] nextImageCOLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]
[COLOR=#0000FF]if[/COLOR] COLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]
p++;
picture.[COLOR=#0000FF]_alpha[/COLOR] = [COLOR=#000080]0[/COLOR];
picture.[COLOR=#0000FF]loadMovie[/COLOR][COLOR=#000000]([/COLOR][COLOR=#FF0000]“images/”[/COLOR]+image[COLOR=#000000][[/COLOR]current_pos[COLOR=#000000]][/COLOR]+[COLOR=#FF0000]".jpg"[/COLOR], [COLOR=#000080]1[/COLOR][COLOR=#000000])[/COLOR];
picture_numCOLOR=#000000[/COLOR];
[COLOR=#000000]}[/COLOR]
[COLOR=#000000]}[/COLOR]

[COLOR=#000000]function[/COLOR] prevImageCOLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]
[COLOR=#0000FF]if[/COLOR] COLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]
p–;
picture.[COLOR=#0000FF]_alpha[/COLOR] = [COLOR=#000080]0[/COLOR];
picture.[COLOR=#0000FF]loadMovie[/COLOR][COLOR=#000000]([/COLOR][COLOR=#FF0000]“images/”[/COLOR]+image[COLOR=#000000][[/COLOR]p[COLOR=#000000]][/COLOR]+[COLOR=#FF0000]".jpg"[/COLOR], [COLOR=#000080]1[/COLOR][COLOR=#000000])[/COLOR];
picture_numCOLOR=#000000[/COLOR];
[COLOR=#000000]}[/COLOR]
[COLOR=#000000]}[/COLOR]

[COLOR=#000000]function[/COLOR] firstImageCOLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]
[COLOR=#0000FF]if[/COLOR] [COLOR=#000000]([/COLOR][COLOR=#0000FF]loaded[/COLOR] == filesize[COLOR=#000000])[/COLOR] [COLOR=#000000]{[/COLOR]
picture.[COLOR=#0000FF]_alpha[/COLOR] = [COLOR=#000080]0[/COLOR];
picture.[COLOR=#0000FF]loadMovie[/COLOR][COLOR=#000000]([/COLOR][COLOR=#FF0000]“images/”[/COLOR]+image[COLOR=#000000][[/COLOR][COLOR=#000080]0[/COLOR][COLOR=#000000]][/COLOR]+[COLOR=#FF0000]".jpg"[/COLOR], [COLOR=#000080]1[/COLOR][COLOR=#000000])[/COLOR];
picture_numCOLOR=#000000[/COLOR];
[COLOR=#000000]}[/COLOR]
[COLOR=#000000]}[/COLOR]

[COLOR=#000000]function[/COLOR] picture_numCOLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]
current_pos = p+[COLOR=#000080]1[/COLOR];
[COLOR=#0000FF]_root[/COLOR].[COLOR=#000080]currPageNum[/COLOR].[COLOR=#0000FF]text[/COLOR] = [COLOR=#FF0000]"Page "[/COLOR] + current_pos;
[COLOR=#000000]}[/COLOR]

[COLOR=#0000FF]_root[/COLOR].[COLOR=#000080]goButton[/COLOR].[COLOR=#0000FF]onPress[/COLOR] = [COLOR=#000000]function[/COLOR]COLOR=#000000[/COLOR][COLOR=#000000]{[/COLOR]
[COLOR=#808080]// load the image typed into the text area.[/COLOR]
[COLOR=#000000]}[/COLOR]
[/LEFT]
[/FONT]