////////////////////////////////////////////////////////////////// // // XML Navigation // Written By: Wiccaan // Written On: July 23, 2007 // // Loads an XML file to be parsed containing // the URLs for the navigation system. Used // to easily edit the link locations for the // given buttons. // // Thanks To: // - www.kirupa.com // - www.actionscript.org // ////////////////////////////////////////////////////////////////// // // Variables // var xmlLoader:URLLoader = new URLLoader(); var xmlData:XML = new XML(); // // Event Listener // xmlLoader.addEventListener(Event.COMPLETE, LoadXML); // // Load XML File // xmlLoader.load(new URLRequest("links.xml")); // // Function: LoadXML(...) // // Loads the given XML file above into // the parseLinks function to be parsed. // function LoadXML(e:Event):void { xmlData = new XML(e.target.data); parseLinks(xmlData); } // // Function: parseLinks(...) // // Parses the XML file to retrieve // link names and URLs for navigation. // function parseLinks(linkXML:XML):void { var linkNames = new Array(); var linkURLs = new Array(); var arrPosition = 0; var linkArray:XMLList = linkXML.link; for each (var linkElement:XML in linkArray) { linkNames[arrPosition] = linkElement.title; linkURLs[arrPosition] = linkElement.url; arrPosition++; } createLinks(linkNames,linkURLs); } // // Function: createLinks(...) // // Iterates through the given arrays to // locate known link names and creates // variables to be used in button events. // function createLinks(lnkNames:Array,lnkURLs:Array):void { var arrPosition = 0; for each (var arrNames in lnkNames) { switch( lcase(lnkNames[arrPosition]) ) { case "home": { break; } case 'forums': { break; } case 'channels': { break; } case 'users': { break; } case 'ircops': { break; } case 'quotes': { break; } default: { break; } } arrPosition++; } } // // Function: lcase(...) // // Converts the given string to lowercase. // Used when converting a variable to string // using toString. // function lcase(strName:String):String { var m_String:String = strName; return m_String.toLowerCase(); }