Scope/organization problem - multilayer portfolio

I’m trying to make a portfolio that has two “layers”. The first layer is that you select a work on a menu which is generated by xml/AS. The second layer is that once a work has been selected, there are five images under one piece of work that users can flip and browse through. The problem is that I can’t get the navigation of the imagebrowser to realise which work has been selected, and therefore, which images to show.

I think the main prob is that the prev/nextImage buttons (and other elements that are dependant on knowing which menuitem is selected) aren’t associated with the menu, and thus cannot retrieve any information from there. But how can I solve this scope problem?

ActionScript Code:
[FONT=Courier New][LEFT][COLOR=#000000]var[/COLOR] item_spacing = [COLOR=#000080]25[/COLOR];
[COLOR=#000000]var[/COLOR] item_count = [COLOR=#000080]0[/COLOR];
[COLOR=#000000]var[/COLOR] img = [COLOR=#000000][[/COLOR][COLOR=#000000]][/COLOR];
[COLOR=#000000]var[/COLOR] imgfldr = [COLOR=#000000][[/COLOR][COLOR=#000000]][/COLOR];
[COLOR=#000000]var[/COLOR] imgurl = [COLOR=#000000][[/COLOR][COLOR=#000000]][/COLOR];
[COLOR=#000000]var[/COLOR] work_id = [COLOR=#000000][[/COLOR][COLOR=#000000]][/COLOR];
[COLOR=#000000]var[/COLOR] menulist = [COLOR=#000000][[/COLOR][COLOR=#000000]][/COLOR];
[COLOR=#000000]var[/COLOR] frstdesc = [COLOR=#000000][[/COLOR][COLOR=#000000]][/COLOR];
[COLOR=#000000]var[/COLOR] frstimgurl = [COLOR=#000000][[/COLOR][COLOR=#000000]][/COLOR];
[COLOR=#000000]var[/COLOR] desc = [COLOR=#000000][[/COLOR][COLOR=#000000]][/COLOR];
[COLOR=#000000]var[/COLOR] i = [COLOR=#000080]0[/COLOR];
[COLOR=#000000]var[/COLOR] q = [COLOR=#000080]0[/COLOR];
[COLOR=#000000]var[/COLOR] p = [COLOR=#000080]0[/COLOR];
[COLOR=#000000]function[/COLOR] CreateMenuCOLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]
[COLOR=#808080]//below: the condition that makes the repetition of going through all works[/COLOR]
works = portfolio_xml.[COLOR=#0000FF]firstChild[/COLOR].[COLOR=#0000FF]firstChild[/COLOR].[COLOR=#0000FF]childNodes[/COLOR];
[COLOR=#0000FF]for[/COLOR] [COLOR=#000000]([/COLOR]i=[COLOR=#000080]0[/COLOR]; i<works.[COLOR=#0000FF]length[/COLOR]; i++[COLOR=#000000])[/COLOR] [COLOR=#000000]{[/COLOR]
[COLOR=#808080]//MENU LOOP[/COLOR]
[COLOR=#0000FF]if[/COLOR] [COLOR=#000000]([/COLOR]works[COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR].[COLOR=#0000FF]parentNode[/COLOR].[COLOR=#0000FF]attributes[/COLOR].[COLOR=#000080]cup[/COLOR] == [COLOR=#FF0000]“UrbDes”[/COLOR][COLOR=#000000])[/COLOR] [COLOR=#000000]{[/COLOR]
[COLOR=#808080]//note to self: works here light look like array, but is actually xml string.[/COLOR]
menulist[COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR] = [COLOR=#0000FF]menu[/COLOR].[COLOR=#0000FF]attachMovie[/COLOR][COLOR=#000000]([/COLOR][COLOR=#FF0000]“projects_list”[/COLOR], [COLOR=#FF0000]“item”[/COLOR]+i, i[COLOR=#000000])[/COLOR];
menulist[COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR].[COLOR=#0000FF]_y[/COLOR] = iitem_spacing;
[COLOR=#000000]var[/COLOR] imgtotal = works[COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR].[COLOR=#0000FF]childNodes[/COLOR][COLOR=#000000][[/COLOR][COLOR=#000080]1[/COLOR][COLOR=#000000]][/COLOR].[COLOR=#0000FF]childNodes[/COLOR].[COLOR=#0000FF]length[/COLOR];
work_id[COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR] = portfolio_xml.[COLOR=#0000FF]firstChild[/COLOR].[COLOR=#0000FF]firstChild[/COLOR].[COLOR=#0000FF]childNodes[/COLOR][COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR];
imgfldr[COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR] = work_id[COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR].[COLOR=#0000FF]childNodes[/COLOR][COLOR=#000000][[/COLOR][COLOR=#000080]1[/COLOR][COLOR=#000000]][/COLOR].[COLOR=#0000FF]attributes[/COLOR].[COLOR=#000080]puc[/COLOR];
[COLOR=#0000FF]for[/COLOR] [COLOR=#000000]([/COLOR]q=[COLOR=#000080]0[/COLOR]; q<imgtotal; q++[COLOR=#000000])[/COLOR] [COLOR=#000000]{[/COLOR]
img[COLOR=#000000][[/COLOR]q[COLOR=#000000]][/COLOR] = q+[COLOR=#000080]1[/COLOR];
frstdesc[COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR] = work_id[COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR].[COLOR=#0000FF]childNodes[/COLOR][COLOR=#000000][[/COLOR][COLOR=#000080]1[/COLOR][COLOR=#000000]][/COLOR].[COLOR=#0000FF]childNodes[/COLOR][COLOR=#000000][[/COLOR][COLOR=#000080]0[/COLOR][COLOR=#000000]][/COLOR].[COLOR=#0000FF]firstChild[/COLOR];
desc[COLOR=#000000][[/COLOR]q[COLOR=#000000]][/COLOR] = work_id[COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR].[COLOR=#0000FF]childNodes[/COLOR][COLOR=#000000][[/COLOR][COLOR=#000080]1[/COLOR][COLOR=#000000]][/COLOR].[COLOR=#0000FF]childNodes[/COLOR][COLOR=#000000][[/COLOR]q[COLOR=#000000]][/COLOR].[COLOR=#0000FF]firstChild[/COLOR];
frstimgurl[COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR] = [COLOR=#FF0000]“images/”[/COLOR]+imgfldr[COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR]+[COLOR=#FF0000]"/image"[/COLOR]+img[COLOR=#000000][[/COLOR][COLOR=#000080]0[/COLOR][COLOR=#000000]][/COLOR]+[COLOR=#FF0000]".jpg"[/COLOR];
[COLOR=#000000]}[/COLOR]
imgurl[COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR] = [COLOR=#FF0000]“images/”[/COLOR]+imgfldr[COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR];
[COLOR=#808080]
// imgurl doesn’t work, lists all arrays instead of only the currently selected one.[/COLOR]
menulist[COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR].[COLOR=#000080]firstdesc[/COLOR] = frstdesc[COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR];
menulist[COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR].[COLOR=#000080]firstimg[/COLOR] = frstimgurl[COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR];
menulist[COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR].[COLOR=#000080]project_name[/COLOR].[COLOR=#0000FF]text[/COLOR] = works[COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR].[COLOR=#0000FF]firstChild[/COLOR].[COLOR=#0000FF]firstChild[/COLOR];
[COLOR=#000000]}[/COLOR]
menulist[COLOR=#000000][[/COLOR]i[COLOR=#000000]][/COLOR].[COLOR=#0000FF]onRelease[/COLOR] = [COLOR=#000000]function[/COLOR]COLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]
imageholder.[COLOR=#0000FF]loadMovie[/COLOR][COLOR=#000000]([/COLOR][COLOR=#0000FF]this[/COLOR].[COLOR=#000080]firstimg[/COLOR], [COLOR=#000080]1[/COLOR][COLOR=#000000])[/COLOR];
desctop.[COLOR=#0000FF]text[/COLOR] = [COLOR=#0000FF]this[/COLOR].[COLOR=#000080]firstdesc[/COLOR];
titletop.[COLOR=#0000FF]text[/COLOR] = [COLOR=#0000FF]this[/COLOR].[COLOR=#000080]project_name[/COLOR].[COLOR=#0000FF]text[/COLOR];
[COLOR=#000000]}[/COLOR];
prev_btn.[COLOR=#0000FF]onRelease[/COLOR] = [COLOR=#000000]function[/COLOR]COLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]
[COLOR=#0000FF]if[/COLOR] COLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]
p–;
imageholder.[COLOR=#0000FF]loadMovie[/COLOR]COLOR=#000000[/COLOR];
[COLOR=#808080]
//imgurl error reflects here*[/COLOR]
desctop.[COLOR=#0000FF]text[/COLOR] = [COLOR=#FF0000]“prev”[/COLOR]+COLOR=#000000[/COLOR];
[COLOR=#808080]//to be solved when menu/browse communication is better[/COLOR]
[COLOR=#000000]}[/COLOR]
[COLOR=#000000]}[/COLOR];
next_btn.[COLOR=#0000FF]onRelease[/COLOR] = [COLOR=#000000]function[/COLOR]COLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]
[COLOR=#0000FF]if[/COLOR] COLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]
p++;
imageholder.[COLOR=#0000FF]loadMovie[/COLOR]COLOR=#000000[/COLOR];
[COLOR=#808080]//imgurl error reflects here[/COLOR]
desctop.[COLOR=#0000FF]text[/COLOR] = [COLOR=#FF0000]“next”[/COLOR]+COLOR=#000000[/COLOR];
[COLOR=#808080]//to be solved when menu/browse communication is better[/COLOR]
[COLOR=#000000]}[/COLOR]
[COLOR=#000000]}[/COLOR];
[COLOR=#000000]}[/COLOR]
[COLOR=#808080]//end of condition of going through all works [/COLOR]
firstImageCOLOR=#000000[/COLOR];
[COLOR=#000000]}[/COLOR]
[COLOR=#808080]
//end of condition of generating the portfolio
[/COLOR]
[COLOR=#808080]// prev-nextImage functions not in use.[/COLOR]
[COLOR=#000000]function[/COLOR] prevImageCOLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]
[COLOR=#0000FF]if[/COLOR] COLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]
p–;
imageholder.[COLOR=#0000FF]loadMovie[/COLOR]COLOR=#000000[/COLOR];
desctop.[COLOR=#0000FF]text[/COLOR] = [COLOR=#FF0000]“prev”[/COLOR]+p;
[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++;
imageholder.[COLOR=#0000FF]loadMovie[/COLOR]COLOR=#000000[/COLOR];
desctop.[COLOR=#0000FF]text[/COLOR] = [COLOR=#FF0000]“next”[/COLOR]+p;
[COLOR=#000000]}[/COLOR]
[COLOR=#000000]}[/COLOR]
[COLOR=#000000]function[/COLOR] firstImageCOLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]
imageholder.[COLOR=#0000FF]loadMovie[/COLOR][COLOR=#000000]([/COLOR][COLOR=#0000FF]this[/COLOR].[COLOR=#000080]frstimgurl[/COLOR][COLOR=#000000][[/COLOR][COLOR=#000080]0[/COLOR][COLOR=#000000]][/COLOR], [COLOR=#000080]1[/COLOR][COLOR=#000000])[/COLOR];
desctop.[COLOR=#0000FF]text[/COLOR] = [COLOR=#0000FF]this[/COLOR].[COLOR=#000080]frstdesc[/COLOR][COLOR=#000000][[/COLOR][COLOR=#000080]0[/COLOR][COLOR=#000000]][/COLOR];
titletop.[COLOR=#0000FF]text[/COLOR] = menulist[COLOR=#000000][[/COLOR][COLOR=#000080]0[/COLOR][COLOR=#000000]][/COLOR].[COLOR=#000080]project_name[/COLOR].[COLOR=#0000FF]text[/COLOR];
[COLOR=#000000]}[/COLOR]
[COLOR=#808080]//---------------------------------------[/COLOR]
[COLOR=#000000]var[/COLOR] portfolio_xml = [COLOR=#000000]new[/COLOR] [COLOR=#0000FF]XML[/COLOR]COLOR=#000000[/COLOR];
portfolio_xml.[COLOR=#0000FF]ignoreWhite[/COLOR] = [COLOR=#000000]true[/COLOR];
portfolio_xml.[COLOR=#0000FF]onLoad[/COLOR] = [COLOR=#000000]function[/COLOR]COLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]
[COLOR=#0000FF]if[/COLOR] COLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]
CreateMenuCOLOR=#000000[/COLOR];
[COLOR=#000000]}[/COLOR] [COLOR=#0000FF]else[/COLOR] [COLOR=#000000]{[/COLOR]
[COLOR=#0000FF]trace[/COLOR][COLOR=#000000]([/COLOR][COLOR=#FF0000]“Error loading XML file”[/COLOR][COLOR=#000000])[/COLOR];
[COLOR=#000000]}[/COLOR]
[COLOR=#000000]}[/COLOR];
portfolio_xml.[COLOR=#0000FF]load[/COLOR]COLOR=#000000[/COLOR];
[COLOR=#808080]*//--------------------------------------- *[/COLOR]

[/LEFT]
[/FONT]