ࡱ> #Root Entryp|YrRASHx'%)Contents_&Page 1 *Symbol 1"2Y!'$&+()*4,-./01356789:;<=>?[JKLWXI\]^`abcdefghijklmnopqrRoot Entryp|YrRASH.#%)Contents@&Page 17*Symbol 1" 2 Y$&+,-./013ABCDEFGHMJKLWNOPQRSTUVZXISymbol 2Symbol 3A_Symbol 5HSymbol 6 Symbol 2Symbol 3A_Symbol 5HSymbol 6 CPicPage CPicLayer CPicFrameCPicText{$kX@DArialf" grid.attachMovie("tile", "tile0", 0);grid.tile0.text = tileList[0];40@ Arial̙"carousel menufU00>0`8 j8 (?CPicPage CPicLayer CPicFrame CPicShapeP]D\Dst0S0=9?^^Et0S0=9?D\DsEt0S0=9bgO CPicSprite11 sectionsDemo? sectionsDemoO@(x @YArial̙"(the menu below is dynamically generated by actionscript. each item is an instance of the Arial"(menuItemArial̙"( clip, with its Arial"(icon+Arial̙"( clip set to a specific frame. two arrays--Arial"(menuTextArial̙"( and Arial"(iconFrames8Arial̙"(--dictate the order of the buttons and specify the text and icons displayed on each button. variables determine the menu's position, number of columns, and gap between items. to customize the menu, set your desired values in the init() function. to give the buttons behaviour, modify the doMenuAction() function.? description?/* *********************** *** FUNCTION prev() *** *********************** > DESCRIPTION: Decrements the leftmost item setting, then generates a new menu. (In other words, scrolls the menu to the left). */ function prev () { // If it's possible to scroll right... if (currentLeftItem > 0) { // ...then make it so. currentLeftItem--; generateCarouselMenu(menuText, iconFrames, currentLeftItem, gridX, gridY, numColumns, hGap); } }scripts: prev()OO?/* *********************** *** FUNCTION next() *** *********************** > DESCRIPTION: Increments the leftmost item setting, then generates a new menu. (In other words, scrolls the menu to the right). */ function next () { // If it's possible to scroll right... if (currentLeftItem < menuText.length - numColumns) { // ...do it. currentLeftItem++; generateCarouselMenu(menuText, iconFrames, currentLeftItem, gridX, gridY, numColumns, hGap); } }scripts: next()OO?/* *************************************** *** FUNCTION generateCarouselMenu() *** *************************************** > VERSION: 1.0.0 > DESCRIPTION: Creates a carousel-style menu based on supplied arrays of text and icons. Automatically adds nabuttonO?active ?disabledlabelsOO?stop();scriptsOOvigational arrow buttons to scroll the menu if the number of items exceeds the number of requested columns. Automatically disables nav buttons when the left or right limit of the menu is reached. > PARAMETERS: menuText An array. Elements specify the text for each item. frameList An array. Elements specify the frame each item should display. leftItemNum The element index of the left-most menu item, taken from menuText. gridX The left edge of the grid. gridY The top edge of the grid. numColumns The number of columns in the menu. hGap The amount of horizontal space between items. */ function generateCarouselMenu (menuText, frameList, leftItemNum, gridX, gridY, numColumns, hGap) { // Attach a clip to hold all the tiles...name it "grid". _root.attachMovie("emptyclip", "grid", 1000); // Place the grid clip to hold the menu grid._x = gridX; grid._y = gridY; // Attach the first tile to the grid manualaa00?D\Daa00?Layer 1O to hold the menu grid._x = gri< ?ly // so we can retrieve its width. put it at depth 2 // because the arrows will be on 0 and 1 grid.attachMovie("tile", "tile" + leftItemNum, 2); grid["tile" + leftItemNum].text = menuText[leftItemNum]; grid["tile" + leftItemNum].icon.gotoAndStop(frameList[leftItemNum]); var tileWidth = grid["tile" + leftItemNum]._width; // If there are fewer columns than menu items, add a // left scroll button if (numColumns < menuText.length) { // Put the left nav arrow in the menu clip grid.attachMovie("navArrow", "leftArrow", 0); // Flip the left arrow so it points left. grid.leftArrow._xscale = -100; // Add a gap between the left arrow and the first tile. grid.leftArrow._x -= hGap; // Centre the left arrow vertically with the tiles. grid.leftArrow._y = grid["tile" + leftItemNum]._height/2 - grid.leftArrow._height/2; // If we're at the leftmost item... if (leftItemNum == 0) { // ...disable the navigation arrow. grid.leftArrow.gotoAndStop("disabled"); } } // Set the horizontal location of the next tile. var columnXOffset = tileWidth + hGap; // Now attach the remaining tiles to the grid clip. for (var i = 1; i < numColumns; i++) { // Attach a tile. grid.attachMovie("tile", "tile" + (leftItemNum + i), 2 + i); // Store a convenient reference to the tile clip object var thisTile = grid["tile" + (leftItemNum + i)]; // Set the text output on the tile. thisTile.text = menuText[leftItemNum + i]; // Set the icon for the tile. thisTile.icon.gotoAndStop(frameList[leftItemNum + i]); // Set the horizontal position of the current tile. thisTile._x = columnXOffset; // Increase the horizontal offset for the next tile in this row. columnXOffset += (tileWidth + hGap); } // If there are fewer columns than menu items, add a // right scroll button if (numColumns < menuText.length) { // Put the right nav arrow in the menu clip grid.attachMovie("navArrow", "rightArrow", 2 + i); // Place the right arrow after the last item grid.rightArrow._x = columnXOffset; // Centre the right arrow vertically with the tiles. grid.rightArrow._y = grid["tile" + leftItemNum]._height/2 - grid.rightArrow._height/2; // If we're at the rightmost item... if (leftItemNum == menuText.length - numColumns) { // ...disable the navigation arrow. grid.rightArrow.gotoAndStop("disabled"); } } }scripts: generateMenu()O? /* ******************************* *** FUNCTION doMenuAction() *** ******************************* > DESCRIPTION: Executes an action in response to the clicking of a menu item. Each menu item behaviour is listed in this function. Items are numbered according to their position in menuText, the array that lists all items. > PARAMETERS: itemNum Specifies which item was clicked, corresponding with an element of menuText. Zero-based. */ function doMenuAction (itemNum) { // Display which item was clicked in the Output window. trace("Item " + itemNum + " was clicked."); // For the sake of demonstration, we set the frame of // a clip when a menu item is clicked. In this example, // the clip labels are named sequentially, so we can // programmatically determine menu item behaviour. However, // conditional statements could be used to create more // customized individual behaviours... sectionsDemo.gotoAndStop("s" + (itemNum + 1)); // Here's an example of customized if statements... /* if (itemNum == 0) { // respond to item0 here... } else if (itemNum == 1) { // respond to item1 here... } else if (itemNum == 2) { // you get the idea... } */ }scripts: doMenuAction()O?F// Sets up the data and layout of the menu function init () { // =========== BEGIN AUTHOR SUPPLIED DATA ============ // Supply the text to go on each tile of the grid menuText = ["one", "two", "three", "four", "five", "six", "seven"]; // Supply the list of frames to display on each tile. These frames // are retrieve from the "icon" clip. Frame 1 is no icon (empty frame). iconFrames = [2, 3, 4, 5, 6, 7, 8]; // Set the default leftmost menu item, zero-relative. currentLeftItem = 2; // Set the coords of the menu. gridX = 121; gridY = 325; // set the number of items in the menu. numColumns = 3; // Set the gap between menu items, in pixels. hGap = 10; // ============ END AUTHOR SUPPLIED DATA ============= // ============ BEGIN ERROR HANDLING ================= // Make sure we have enough items to fill the // columns. If not, reduce the number of columns. numColumns = numColumns > menuText.length ? menuText.length : numColumns; // Now bring the leftmost item into valid range, if necessary. // Can't be below zero... currentLeftItem = currentLeftItem < 0 ? 0 : currentLeftItem; // Have to make sure there are enough items after the // specified left item to fill the columns. currentLeftItem = currentLeftItem > menuText.length - numColumns ? menuText.length - numColumns : currentLeftItem; // ============ END ERROR HANDLING =================== // Finally, create the initial menu. generateCarouselMenu(menuText, iconFrames, currentLeftItem, gridX, gridY, numColumns, hGap); } scripts: init()3??stop(); init(); scriptsOO:3(; Symbol 8 sectionsDemok_&;#"(; Symbol 7menuItemButtonB$;J`$; Symbol 6icon$;(; Symbol 5 navButton6!;6!; Symbol 3CPicPage CPicLayer CPicFrameCPicText{$kX@DArialf" grid.attachMovie("tile", "tile0", 0);grid.tile0.text = tileList[0];40@ Arial̙"carousel menufU00>0`8 j8 (?bgO CPicSprite11 sectionsDemo? sectionsDemoO@( @YArial̙"(the menu below is dynamically generated by actionscript. each item is Symbol 7 Symbol 8q]   Z !"#$%&'()*+,-./0123456789:;<=>?@RBCDEFGfIJKLMNOPQSTUVWXY[\]^_`abcdeghijklmnoprstuvwxyz{|}~CPicPage CPicLayer CPicFrame CPicButton_on (release) { itemNum = Number(this._name.substring(4)); _root.doMenuAction(itemNum); }?menu item buttonOOCPicTextCPicPage CPicLayer CPicFrame?Layer 1Oon shuffle (theArray) { for (v(2textArial(text will go here?textO CPicSpritean instance of the Arial"(menuItemArial̙"( clip, with its Arial"(icon+Arial̙"( clip set to a specific frame. two arrays--Arial"(menuTextArial̙"( and Arial"(iconFrames Arial̙"(--dictate the order of the buttons and specify the text and icons displayed on each button. variables determine the menu's position, number of columns, and gap between items. to customize the menu, set your desired values in the init() function and redesign the button, text, and icon in Arial"(menuItemDArial̙"(. to give the buttons behaviour, modify the doMenuAction() function.? description?/* *********************** *** FUNCTION prev() *** *********************** > DESCRIPTION: Decrements the leftmost item setting, then generates a new menu. (In other words, scrolls the menu to the left). */ function prev () { // If it's possible to scroll right... if (currentLeftItem > 0) { // ...then make it so. currentLeftItem--; generateCarouselMenu(menuText, iconFrames, currentLeftItem, gridX, gridY, numColumns, hGap); } }scripts: prev()OO?/* *********************** *** FUNCTION next() *** *********************** > DESCRIPTION: Increments the leftmost item setting, then generates a new menu. (In other words, scrolls the menu to the right). */ function next () { // If it's possible to scroll right... if (currentLeftItem <icon?iconOOCPicPage CPicLayer CPicFrameCPicPage CPicLayer CPicFrame?ff3G)FG)F?ff3( L,K  L,K###T1S##"#T1S"? ff3x400@0n3XZf0003P000@? ff3W """R0R""""R0R"@|'BC'BCD""!"Q/P!"""Q/P+JJ+JJ?(ff3W %%$%Y4X$%%%Y4X"""R0R""""R0R"@|'BC'BC/P""!"Q/P!"""QT +JJ+JJ?0ff3W &@A&@A.O!!!!O.O!!!!O.O!!!!O.O!!!!O2U#$$$V2U$$#$Vlv/0/0F)FF)F?8ff3W6 A&@A&@.O!!!!O.O!!!!O.O!!!!O.O!!!!O%%%%Z5Z%%%%Z5Z$$$V2CPicPage CPicLayer CPicFrame CPicButtonmon (release) { if (this._name == "rightArrow") { _root.next(); } else { _root.prev(); } }? CPicSymbol?Layer 1OnU$$#$V2U#0/0/ )FF)FF?icon artO?stop();scriptsOO?D\Daas0p0?ggaa00?D\D menuText.length - numColumns) { // ...do it. currentLeftItem++; generateCarouselMenu(menuText, iconFrames, currentLeftItem, gridX, gridY, numColumns, hGap); } }scripts: next()OO?/* *************************************** *** FUNCTION generateCarouselMenu() *** *************************************** > VERSION: 1.0.0 > DESCRIPTION: Creates a carousel-style menu based on supplied arrays of text and icons. Automatically adds navigational arrow buttons to scroll the menu if the number of items exceeds the number of requested columns. Automatically disables nav buttons when the left or right limit of the menu is reached. > PARAMETERS: menuText An array. Elements specify the text for each item. frameList An array. Elements specify the frame each item should display. leftItemNum The element index of the left-most menu item, taken from menuText. gridX The left edge of the grid. gridY The top edge of the grid. numColumns The number of columns in the menu. hGap The amount of horizontal space between items. */ function generateCarouselMenu (menuText, frameList, leftItemNum, gridX, gridY, numColumns, hGap) { // Attach a clip to hold all the tiles...name it "grid". _root.attachMovie("emptyclip", "grid", 1000); // Place the grid clip to hold the menu grid._x = gridX; grid._y = gridY; // Attach the first tile to the grid manually // so we can retrieve its width. put it at depth 2 // because the arrows will be on 0 and 1 grid.attachMovie("tile", "tile" + leftItemNum, 2); grid["tile" + leftItemNum].text = menuText[leftItemNum]; grid["tile" + leftItemNum].icon.gotoAndStop(frameList[leftItemNum]); var tileWidth = grid["tile" + leftItemNum]._width; // If there are fewer columns than menu items, add a // left scroll button if (numColumns < menuText.length) { // Put the left nav arrow in the menu clip grid.attachMovie("navArrow", "leftArrow", 0); // Flip the left arrow so it points left. grid.leftArrow._xscale = -100; // Add a gap between the left arrow and the first tile. grid.leftArrow._x -= hGap; // Centre the left arrow vertically with the tiles. grid.leftArrow._y = grid["tile" + leftItemNum]._height/2 - grid.leftArrow._height/2; // If we're at the leftmost item... if (leftItemNum == 0) { // ...disable the navigation arrow. grid.leftArrow.gotoAndStop("disabled"); } } // Set the horizontal location of the next tile. var columnXOffset = tileWidth + hGap; // Now attach the remaining tiles to the grid clip. for (var i = 1; i < numColumns; i++) { // Attach a tile. grid.attachMovie("tile", "tile" + (leftItemNum + i), 2 + i); // Store a convenient reference to the tile clip object var thisTile = grid["tile" + (leftItemNum + i)]; // Set the text output on the tile. thisTile.text = menuText[leftItemNum + i]; // Set the icon for the tile. thisTile.icon.gotoAndStop(frameList[leftItemNum + i]); // Set the horizontal position of the current tile. thisTile._x = columnXOffset; // Increase the horizontal offset for the next tile in this row. columnXOffset += (tileWidth + hGap); } // If there are fewer columns than menu items, add a // right scroll button if (numColumns < menuText.length) { // Put the right nav arrow in the menu clip grid.attachMovie("navArrow", "rightArrow", 2 + i); // Place the right arrow after the last item grid.rightArrow._x = columnXOffset; // Centre the right arrow vertically with the tiles. grid.rightArrow._y = grid["tile" + leftItemNum]._height/2 - grid.rightArrow._height/2; // If we're at the rightmost item... if (leftItemNum == menuText.length - numColumns) { // ...disable the navigation arrow. grid.rightArrow.gotoAndStop("disabled"); } } }scripts: generateMenu()O? /* ******************************* *** FUNCTION doMenuAction() *** ******************************* > DESCRIPTION: Executes an action in response to the clicking of a menu item. Each menu item behaviour is listed in this function. Items are numbered according to their position in menuText, the array that lists all items. > PARAMETERS: itemNum Specifies which item was clicked, corresponding with an element of menuText. Zero-based. */ function doMenuAction (itemNum) { // Display which item was clicked in the Output window. trace("Item " + itemNum + " was clicked."); // For the sake of demonstration, we set the frame of // a clip when a menu item is clicked. In this example, // the clip labels are named sequentially, so we can // programmatically determine menu item behaviour. However, // conditional statements could be used to create more // customized individual behaviours... sectionsDemo.gotoAndStop("s" + (itemNum + 1)); // Here's an example of customized if statements... /* if (itemNum == 0) { // respond to item0 here... } else if (itemNum == 1) { // respond to item1 here... } else if (itemNum == 2) { // you get the idea... } */ }scripts: doMenuAction()O?F// Sets up the data and layout of the menu function init () { // =========== BEGIN AUTHOR SUPPLIED DATA ============ // Supply the text to go on each tile of the grid menuText = ["one", "two", "three", "four", "five", "six", "seven"]; // Supply the list of frames to display on e  CDocumentPage Page 1Scene 1:3(; Symbol 8 sectionsDemok_&;#"(; Symbol 7menuItemButtonB$;J`$; Symbol 6icon$;(; Symbol 5 navButton6!;6!; Symbol 3navArrow2!;navArrowt]&; Symbol 2 emptyclip0:N emptyclip0: Symbol 1menuItemG(;tile(; *@hhhhh %PublishFormatProperties::htmlFileNamecarouselMenu.html"PublishHtmlProperties::StartPaused0!PublishGifProperties::PaletteName PublishRNWKProperties::speed256K0PublishFormatProperties::jpeg0Vector::Debugging Permitted0Vector::Generator EncodingVector::External Font Files0PublishHtmlProperties::Loop1"PublishQTProperties::MatchMovieDim1 PublishQTProperties::AlphaOption PublishQTProperties::LayerOptionVector::Generator CommandPublishHtmlProperties::Units0$PublishPNGProperties::OptimizeColors1PublishQTProperties::Width550&PublishRNWKProperties::singleRateAudio0&PublishRNWKProperties::speedSingleISDN0%PublishFormatProperties::projectorMac0&PublishFormatProperties::flashFileNamecarouselMenu.swfPublishGifProperties::Smooth1#PublishRNWKProperties::flashBitRate1200%PublishRNWKProperties::mediaCopyright 2000PublishFormatProperties::html1$PublishFormatProperties::pngFileNamecarouselMenu.pngVector::Generator Height400(PublishHtmlProperties::VerticalAlignment1PublishHtmlProperties::Quality4"PublishGifProperties::DitherOption"PublishRNWKProperties::exportAudio1 PublishRNWKProperties::speed384K0!PublishRNWKProperties::exportSMIL1Vector::Override Sounds0Vector::Generator Color!PublishHtmlProperties::DeviceFont0"PublishPNGProperties::FilterOption'PublishRNWKProperties::mediaDescriptionVector::TemplatePublishFormatProperties::gif0*PublishFormatProperties::generatorFileNamecarouselMenu.swtVector::Protect0Vector::Quality80*PublishHtmlProperties::HorizontalAlignment1"PublishHtmlProperties::DisplayMenu1PublishGifProperties::Interlace0"PublishGifProperties::DitherSolids0PublishPNGProperties::Smooth1PublishPNGProperties::BitDepth24-bit with AlphaPublishJpegProperties::DPI4718592PublishQTProperties::Flatten1#PublishFormatProperties::qtFileNamecarouselMenu.movPublishGifProperties::Width550PublishGifProperties::Loop1PublishRNWKProperties::speed28K1!PublishRNWKProperties::mediaTitle$PublishRNWKProperties::mediaKeywordsPublishFormatProperties::flash1Vector::Generator Width550Vector::Generator LoadOrder#PublishGifProperties::MatchMovieDim1#PublishGifProperties::PaletteOption"PublishPNGProperties::DitherOptionPublishJpegProperties::Quality80$PublishRNWKProperties::realVideoRate100000$PublishRNWKProperties::speedDualISDN0-PublishFormatProperties::projectorWinFileNamecarouselMenu.exePublishHtmlProperties::Align0#PublishPNGProperties::MatchMovieDim1#PublishPNGProperties::PaletteOption$PublishJpegProperties::MatchMovieDim1%PublishFormatProperties::jpegFileNamecarouselMenu.jpgVector::Omit Trace Actions0Vector::Debugging PasswordPublishHtmlProperties::Width550PublishHtmlProperties::Height400"PublishPNGProperties::DitherSolids0"PublishJpegProperties::Progressive0#PublishQTProperties::PlayEveryFrame0PublishFormatProperties::png0PublishFormatProperties::rnwk0-PublishFormatProperties::projectorMacFileNamecarouselMenu.hqxVector::TopDown0!PublishHtmlProperties::WindowMode0'PublishHtmlProperties::TemplateFileName+E:\apps\FLASH5~2\FLASH5~1\Html\Default.htmlPublishGifProperties::Height400PublishPNGProperties::Interlace0PublishJpegProperties::Size0"PublishFormatProperties::generatorVector::Report0PublishGifProperties::LoopCount'PublishGifProperties::TransparentOptionPublishGifProperties::MaxColors255%PublishPNGProperties::RemoveGradients0PublishQTProperties::Height400PublishRNWKProperties::speed56K1PublishFormatProperties::qt0Vector::Stream Compress7Vector::Event Format0Vector::Version5$PublishGifProperties::OptimizeColors1"PublishRNWKProperties::audioFormat0Vector::Event Compress7PublishHtmlProperties::Scale0%PublishGifProperties::RemoveGradients0Puto site sections contained in a movie clip.? 8@ Arial"(section one? 8@ Arial"(section two? 8@ Arial"(section three? 8@ Arial"(section four? 8@ Arial"(section five? 8@ Arial"(section six? 8@ Arial"(section seven%?contentOO??s1blishPNGProperties::Width550PublishPNGProperties::Height400PublishJpegProperties::Height400 PublishRNWKProperties::speed512K0$PublishFormatProperties::gifFileNamecarouselMenu.gifVector::Stream Format0PublishGifProperties::Animated0&PublishGifProperties::TransparentAlpha128!PublishPNGProperties::Transparent0!PublishPNGProperties::PaletteNamePublishJpegProperties::Width550*PublishQTProperties::UseQTSoundCompression0PublishQTProperties::Looping0"PublishRNWKProperties::exportFlash1&PublishRNWKProperties::showBitrateDlog1(PublishRNWKProperties::speedCorporateLAN0"PublishRNWKProperties::mediaAuthorPropSheet::ActiveTab1621%PublishFormatProperties::defaultNames1%PublishFormatProperties::projectorWin0%PublishFormatProperties::rnwkFileNamecarouselMenu.smilVector::Generator FPS12Vector::MatchMovieDim1PublishPNGProperties::MaxColors255%PublishQTProperties::ControllerOption0"PublishQTProperties::PausedAtStart0 CColorDef   3P fP0 PH P` Px 3 33( 3f<0 3CH 3F` 3Hx f0 f30 ff(0 f5H f<` f@x  3330  3 33x f3d0 3]H 3Z` 3Xx 33 3330 3f3PPH 33Px` 33Px 33P f30 f33PH ff3(PH f3<x` f3Cx f3F  fff`  f0 3f0 ffx0 fkH fd` f`x 3f0 33fPH 3ffxPH 3fdx` 3f]x 3fZ ff0 f3fPH fff` ffP0x ffPx ffP    H 3H fH xH ̙n` hx 3H 33x` 3fx` 3xx` 3̙kx 3d fH f3x` ff0x fx0x f̙dx f]    ` 3` f` ` x` px 3` 33x 3fx 3x 3xx 3n f` f3x ffx fx fxx fk    x 3x fx x x xx 3x 33 3f 3 3 3x fx f3 ff f f fx  x  H 3 H fH (H 2` 8x ` 3 ` f` ̙` (` 0x x 3x fx x  x (x  Px  3H 33x` f3x` 3(x` 35x 3< 3` 33x f3 x ̙3x 3(x 32 3x 33 f3 3 3 3(  x  fH 3fx` ff0x f(0x f<x fC f` 3fx ffx ̙fx f(x f5 fx 3f ff f f f(  (x  H 3x` f0x  ̙PP P ` 3x fx ̙P ̙(P < x 3 f  ̙ (  xx  ` 3x fx P xP d ` 3x fx ̙P  P x 3 f   (  x  x 3 f   x x 3 f ̙  x x 3 f     CYCP"J      f`zf ?s2?s3?s4?s5?s6%?s7labelsOOG?stop();scripts3ured there. to give the buttons bCPicPage CPicLayer CPicFrame ̙6=0{3"050{0W0=0{G?bgOCPicTextH@ZArial"(example application: carousel buttons navigate *]9S"PublishQTProperties::QTSndSettingsCQTAudioSettingsh to make sure there are enough items after the // specified left item to fill the columns. currentLeftItem = currentLeftItem > menuText.length - numColumns ? menuText.length - numColumns : currentLeftItem; // ============ END ERROR HANDLING =================== // Finally, create the initial menu. ach tile. These frames // are retrieve from the "icon" clip. Frame 1 is no icon (empty frame). iconFrames = [2, 3, 4, 5, 6, 7, 8]; // Set the default leftmost menu item, zero-relative. currentLeftItem = 2; // Set the coords of the menu. gridX = 121; gridY = 325; // set the number of items in the menu. numColumns = 3; // Set the gap between menu items, in pixels. hGap = 10; // ============ END AUTHOR SUPPLIED DATA ============= // ============ BEGIN ERROR HANDLING ================= // Make sure we have enough items to fill the // columns. If not, reduce the number of columns. numColumns = numColumns > menuText.length ? menuText.length : numColumns; // Now bring the leftmost item into valid range, if necessary. // Can't be below zero... currentLeftItem = currentLeftItem < 0 ? 0 : currentLeftItem; // Have to make sure there are enough items after the // specified left item to fill the columns. currentLeftItem = currentLeftItem > menuText.length - numColumns ? menuText.length - numColumns : currentLeftItem; // ============ END ERROR HANDLING =================== // Finally, create the initial menu. generateCarouselMenu(menuText, iconFrames, currentLeftItem, gridX, gridY, numColumns, hGap); } scripts: init()3??stop(); init(); scriptsOO  CDocumentPage Page 1Scene 1:(; Symbol 8 sectionsDemok_&;#"(; Symbol 7menuItemButtonB$;J`$; Symbol 6icon$;(; Symbol 5 navButton6!;6!; Symbol 3navArrow2!;navArrowt]&; Symbol 2 emptyclip0:N emptyclip0: Symbol 1menuItemG(;tile(; *@hhhhh %PublishFormatProperties::htmlFileNamecarouselMenu.html"PublishHtmlProperties::StartPaused0!PublishGifProperties::PaletteName PublishRNWKProperties::speed256K0PublishFormatProperties::jpeg0Vector::Debugging Permitted0Vector::Generator EncodingVector::External Font Files0PublishHtmlProperties::Loop1"PublishQTProperties::MatchMovieDim1 PublishQTProperties::AlphaOption PublishQTProperties::LayerOptionVector::Generator CommandPublishHtmlProperties::Units0$PublishPNGProperties::OptimizeColors1PublishQTProperties::Width550&PublishRNWKProperties::singleRateAudio0&PublishRNWKProperties::speedSingleISDN0%PublishFormatProperties::projectorMac0&PublishFormatProperties::flashFileNamecarouselMenu.swfPublishGifProperties::Smooth1#PublishRNWKProperties::flashBitRate1200%PublishRNWKProperties::mediaCopyright 2000PublishFormatProperties::html1$PublishFormatProperties::pngFileNamecarouselMenu.pngVector::Generator Height400(PublishHtmlProperties::VerticalAlignment1PublishHtmlProperties::Quality4"PublishGifProperties::DitherOption"PublishRNWKProperties::exportAudio1 PublishRNWKProperties::speed384K0!PublishRNWKProperties::exportSMIL1Vector::Override Sounds0Vector::Generator Color!PublishHtmlProperties::DeviceFont0"PublishPNGProperties::FilterOption'PublishRNWKProperties::mediaDescriptionVector::TemplatePublishFormatProperties::gif0*PublishFormatProperties::generatorFileNamecarouselMenu.swtVector::Protect0Vector::Quality80*PublishHtmlProperties::HorizontalAlignment1"PublishHtmlProperties::DisplayMenu1PublishGifProperties::Interlace0"PublishGifProperties::DitherSolids0PublishPNGProperties::Smooth1PublishPNGProperties::BitDepth24-bit with AlphaPublishJpegProperties::DPI4718592PublishQTProperties::Flatten1#PublishFormatProperties::qtFileNamecarouselMenu.movPublishGifProperties::Width550PublishGifProperties::Loop1PublishRNWKProperties::speed28K1!PublishRNWKProperties::mediaTitle$PublishRNWKProperties::mediaKeywordsPublishFormatProperties::flash1Vector::Generator Width550Vector::Generator LoadOrder#PublishGifProperties::MatchMovieDim1#PublishGifProperties::PaletteOption"PublishPNGProperties::DitherOptionPublishJpegProperties::Quality80$PublishRNWKProperties::realVideoRate100000$PublishRNWKProperties::speedDualISDN0-PublishFormatProperties::projectorWinFileNamecarouselMenu.exePublishHtmlProperties::Align0#PublishPNGProperties::MatchMovieDim1#PublishPNGProperties::PaletteOption$PublishJpegProperties::MatchMovieDim1%PublishFormatProperties::jpegFileNamecarouselMenu.jpgVector::Omit Trace Actions0Vector::Debugging PasswordPublishHtmlProperties::Width550PublishHtmlProperties::Height400"PublishPNGProperties::DitherSolids0"PublishJpegProperties::Progressive0#PublishQTProperties::PlayEveryFrame0PublishFormatProperties::png0PublishFormatProperties::rnwk0-PublishFormatProperties::projectorMacFileNamecarouselMenu.hqxVector::TopDown0!PublishHtmlProperties::WindowMode0'PublishHtmlProperties::TemplateFileName+E:\apps\FLASH5~2\FLASH5~1\Html\Default.htmlPublishGifProperties::Height400PublishPNGProperties::Interlace0PublishJpegProperties::Size0"PublishFormatProperties::generatorVector::Report0PublishGifProperties::LoopCount'PublishGifProperties::TransparentOptionPublishGifProperties::MaxColors255%PublishPNGProperties::RemoveGradients0PublishQTProperties::Height400PublishRNWKProperties::speed56K1PublishFormatProperties::qt0Vector::Stream Compress7Vector::Event Format0Vector::Version5$PublishGifProperties::OptimizeColors1"PublishRNWKProperties::audioFormat0Vector::Event Compress7PublishHtmlProperties::Scale0%PublishGifProperties::RemoveGradients0PublishPNGProperties::Width550PublishPNGProperties::Height400PublishJpegProperties::Height400 PublishRNWKProperties::speed512K0$PublishFormatProperties::gifFileNamecarouselMenu.gifVector::Stream Format0PublishGifProperties::Animated0&PublishGifProperties::TransparentAlpha128!PublishPNGProperties::Transparent0!PublishPNGProperties::PaletteNamePublishJpegProperties::Width550*PublishQTProperties::UseQTSoundCompression0PublishQTProperties::Looping0"PublishRNWKProperties::exportFlash1&PublishRNWKProperties::showBitrateDlog1(PublishRNWKProperties::speedCorporateLAN0"PublishRNWKProperties::mediaAuthorPropSheet::ActiveTab1621%PublishFormatProperties::defaultNames1%PublishFormatProperties::projectorWin0%PublishFormatProperties::rnwkFileNamecarouselMenu.smilVector::Generator FPS12Vector::MatchMovieDim1PublishPNGProperties::MaxColors255%PublishQTProperties::ControllerOption0"PublishQTProperties::PausedAtStart0 CColorDef   3P fP0 PH P` Px 3 33( 3f<0 3CH 3F` 3Hx f0 f30 ff(0 f5H f<` f@x  3330  3 33x f3d0 3]H 3Z` 3Xx 33 3330 3f3PPH 33Px` 33Px 33P f30 f33PH ff3(PH f3<x` f3Cx f3F  fff`  f0 3f0 ffx0 fkH fd` f`x 3f0 33fPH 3ffxPH 3fdx` 3f]x 3fZ ff0 f3fPH fff` ffP0x ffPx ffP    H 3H fH xH ̙n` hx 3H 33x` 3fx` 3xx` 3̙kx 3d fH f3x` ff0x fx0x f̙dx f]    ` 3` f` ` x` px 3` 33x 3fx 3x 3xx 3n f` f3x ffx fx fxx fk    x 3x fx x x xx 3x 33 3f 3 3 3x fx f3 ff f f fx  x  H 3 H fH (H 2` 8x ` 3 ` f` ̙` (` 0x x 3x fx x  x (x  Px  3H 33x` f3x` 3(x` 35x 3< 3` 33x f3 x ̙3x 3(x 32 3x 33 f3 3 3 3(  x  fH 3fx` ff0x f(0x f<x fC f` 3fx ffx ̙fx f(x f5 fx 3f ff f f f(  (x  H 3x` f0x  ̙PP P ` 3x fx ̙P ̙(P < x 3 f  ̙ (  xx  ` 3x fx P xP d ` 3x fx ̙P  P x 3 f   (  x  x 3 f   x x 3 f ̙  x x 3 f     CYCP"J      f`zf *]9S"PublishQTProperties::QTSndSettingsCQTAudioSettingsh