All pastes #14393 Raw Edit

Ben

public text v1 · immutable
#14393 ·published 2005-06-13 21:53 UTC
rendered paste body
// Henter filmene
loadMovie("baggrund.swf", _root.baggrund);
loadMovie("menu.swf", _root._menu);
//Loader XML til leksikon
leksXML = new XML();
leksXML.ignoreWhite = true;
leksXML.load("indhold.xml");
// Tekst loader (Virker!)----------------------------------------------------
// Jeg er nød til at loade teksten ind i tekstboksen for at formattere...
// Man kalder på denne funktion når man vil ha' tekst
// F.eks. _root.load_tekst("myter", "tekst1", this.myter.tekst);
// Der er desværre ingen anden workaround...
// (LoadVariables er simpelthen ikke funktionel nok, må bruge LoadVars class'en)
// Husk desuden at der SKAL være space rundt om ordene -> Ellers kan den ikke finde dem.
// (Den splitter det op ved mellemrum, hvis der ikke er mellemrum, læser den f.eks. 
// <br>Thor, istedet for bare Thor)
function load_tekst(filnavn, kilde, path) {
	// Så går vi igang... Med den hårde opgave at finde ord :(
	// Det er skide irriterende at Flash ikke har en replace() funktion.
	var tekst_handler = new LoadVars();
	tekst_handler.onLoad = function() {
		// Finder informationen i XML filen
		XMLfix();
		i = 0;
		while (leksXML.childNodes[i]) {
			if (leksXML.childNodes[i].nodeName == "ord") {
				leksNode = leksXML.childNodes[i];
			}
			i++;
		}
		var temp = this[kilde];
		var temp2 = "";
		var split_array:Array = temp.split(" ");
		for (var i = 0; i<split_array.length; i++) {
			found = "";
			z = 0;
			while (leksNode.childNodes[z]) {
				if (leksNode.childNodes[z].childNodes[1].childNodes[0].nodeValue == split_array[i]) {
					found = leksNode.childNodes[z].childNodes[0].childNodes[0].nodeValue;
				}
				z++;
			}
			if (found) {
				temp2 += " <a href='asfunction:_root.pophelp,"+found+"'><u>"+split_array[i]+"</u></a>";
			} else {
				temp2 += " "+split_array[i];
			}
		}
		path.condenseWhite = true;
		path.htmlText = temp2;
	};
	tekst_handler.load(filnavn);
}
load_tekst("test.txt", "tekst", this.test2.tekst);
test2._x = 50;
test2._y = 150;
// En bugfix (UPS... Men gider ikke rette hele koden, gør dette istedetfor)
function XMLfix() {
	if (!isfixed) {
		leksXML = leksXML.childNodes[0];
	}
	isfixed = 1;
}
// Kald den således:
// <a href="asfunction:_root.pophelp,[ID];"></a>
function pophelp(id) {
	// Finder informationen i XML filen
	XMLfix();
	i = 0;
	while (leksXML.childNodes[i]) {
		if (leksXML.childNodes[i].nodeName == "ord") {
			leksNode = leksXML.childNodes[i];
		}
		i++;
	}
	i = 0;
	while (leksNode.childNodes[i]) {
		if (leksNode.childNodes[i].childNodes[0].childNodes[0].nodeValue == id) {
			this.pophelpbox.titel = "Leksikon: <b>"+leksNode.childNodes[i].childNodes[1].childNodes[0].nodeValue+"</b>";
			this.pophelpbox.tekst = leksNode.childNodes[i].childNodes[3].childNodes[0].nodeValue;
		}
		i++;
	}
	// Tjekker lige om den går ud over skærmen, og sørger for at den ikke går ud over
	// Er testet, og virker (Damn i'm good :o)
	var xmouse = _xmouse;
	var ymouse = _ymouse;
	if ((xmouse+this.pophelpbox._width)>800) {
		xmouse = xmouse-((xmouse+this.pophelpbox._width)-800+5);
	}
	if ((ymouse+this.pophelpbox._height)>600) {
		ymouse = ymouse-((ymouse+this.pophelpbox._height)-600+8);
	}
	pophelpbox._x = xmouse;
	pophelpbox._y = ymouse;
}
//Leksikon =)
//Det hele er programmeret -> Kun tekstbokse er krævet i leksikon boksen.
function leksikon(kategori) {
	XMLfix();
	i = 0;
	while (leksXML.childNodes[i]) {
		if (leksXML.childNodes[i].nodeName == "ord") {
			leksNode = leksXML.childNodes[i];
		}
		i++;
	}
	//SLET MIG
	test2.unloadMovie();
	//SLUT SLET MIG
	leksikonbox._x = 50;
	leksikonbox._y = 150;
	leksikonbox.tekst = "";
	leksikon_liste(kategori);
}
// Skriver listen, og kategorien
function leksikon_liste(kategori) {
	leksikonbox.liste = "";
	leksikonbox.kategori = "Vælg en kategori";
	i = 0;
	while (leksXML.childNodes[i]) {
		if (leksXML.childNodes[i].nodeName == "kategori") {
			katNode = leksXML.childNodes[i];
		}
		i++;
	}
	i = 0;
	while (katNode.childNodes[i]) {
		katName = katNode.childNodes[i].nodeName;
		leksikonbox.liste += "<b><a href='asfunction:_root.leksikon_liste,"+katName+"'> + "+katNode.childNodes[i].childNodes[0].nodeValue+"</a></b><br>";
		z = 0;
		s = 1;
		while (leksNode.childNodes[z]) {
			if (leksNode.childNodes[z].childNodes[2].childNodes[0].nodeValue == katName && katName == kategori) {
				if (s) {
					leksikonbox.kategori = "<b>Kategori: </b>"+katNode.childNodes[i].childNodes[0].nodeValue;
					s = 0;
				}
				leksikonbox.liste += "<a href='asfunction:_root.leksikon_tekst,"+leksNode.childNodes[z].childNodes[0].childNodes[0].nodeValue+"'>- "+leksNode.childNodes[z].childNodes[1].childNodes[0].nodeValue+"</a><br>";
			}
			z++;
		}
		i++;
	}
}
function leksikon_tekst(id) {
	i = 0;
	while (leksNode.childNodes[i]) {
		if (leksNode.childNodes[i].childNodes[0].childNodes[0].nodeValue == id) {
			leksikonbox.tekst = "<b>"+leksNode.childNodes[i].childNodes[1].childNodes[0].nodeValue+"</b><br>";
			leksikonbox.tekst += leksNode.childNodes[i].childNodes[3].childNodes[0].nodeValue;
		}
		i++;
	}
}