Frame 1: if (!menu) { menu = new XML(); menu.ignoreWhite = true; menu.onLoad = function() { menu = menu.childNodes[0]; i = 0; while (menu.childNodes[i]) { if (menu.childNodes[i].nodeName == "position") { position = menu.childNodes[i]; } i++; } i = 0; while (menu.childNodes[i]) { if (menu.childNodes[i].nodeName == "mainmenu") { mainmenu = menu.childNodes[i]; } i++; } i = 0; while (menu.childNodes[i]) { if (menu.childNodes[i].nodeName == "submenu") { submenu = menu.childNodes[i]; } i++; } play(); }; menu.load("xml/menu.xml"); stop(); } Frame 2: if (this.bytesTotal !== this.bytesLoaded) { gotoAndPlay(1); } Frame 3: // XML handlers: position, mainmenu & submenu function pos(handler) { for (x=0; x<=10; x++) { if (position.childNodes[x].nodeName == handler) { return (position.childNodes[x].childNodes[0].nodeValue); } } } for (i=0; mainmenu.childNodes[i]; i++) { } a = --i; for (i=i--; mainmenu.childNodes[i]; i--) { bname = mainmenu.childNodes[i].nodeName; btitle = mainmenu.childNodes[i].childNodes[0].nodeValue; container.createEmptyMovieClip("button"+i, 100+i); container["button"+i].attachMovie("button", "handler", 200+i); container["button"+i].handler.btitle.text = btitle; container["button"+i].bname = bname; container["button"+i]._y = 11; if (pos("mainmenu") == "right") { container["button"+i]._x = (928-96)-(a-i)*96; } else { container["button"+i]._x = 352+i*96; } container["button"+i].onRollOver = function() { this.attachMovie("button_overeffect", "over", 120+i); }; container["button"+i].onRollOut = function() { this.attachMovie("button_outeffect", "over", 120+i); }; container["button"+i].onRelease = function() { for (y=0; y<=6; y++) { container["button"+y].select.removeMovieClip(); container["button"+y].over.removeMovieClip(); } this.attachMovie("button_selected", "select", 110+i); subfunc(this.bname); }; if (bname == cat && !runonce) { container["button"+i].attachMovie("button_selected", "select", 110+i); subfunc(container["button"+i].bname); runonce = 1; } } function subfunc(bname) { for (i=4; i>=0; i--) { this["subbutton"+i].removeMovieClip(); } y = 0; for (i=0; submenu.childNodes[i]; i++) { if (submenu.childNodes[i].attributes.type == bname) { y++; } } a = y--; z = y--; for (i=i--; i>=0; i--) { if (submenu.childNodes[i].attributes.type == bname) { sname = submenu.childNodes[i].childNodes[0].childNodes[0].nodeValue; surl = submenu.childNodes[i].childNodes[1].childNodes[0].nodeValue; this.createEmptyMovieClip("subbutton"+z, 100+z); this["subbutton"+z].attachMovie("subbutton", "handler", 200+z); this["subbutton"+z].handler.btitle.text = sname; this["subbutton"+z].surl = surl; this["subbutton"+z]._y = 36; this["subbutton"+z].attachMovie("subbutton_outeffect", "over", 120+z); if (pos("submenu") == "right") { this["subbutton"+z]._x = (928)-(a-z)*140; } else { this["subbutton"+z]._x = 370+z*140; } this["subbutton"+z].onRollOver = function() { this.attachMovie("subbutton_overeffect", "over", 120+z); }; this["subbutton"+z].onRollOut = function() { this.attachMovie("subbutton_outeffect", "over", 120+z); }; this["subbutton"+z].onRelease = function() { this.attachMovie("subbutton_overeffect", "over", 120+z); getURL(this.surl, "_top"); }; z--; } } } stop();