// -------------------- // lzm_HelperLib // by Caspar Noetzli // www.lernzeit-media.ch // // Version 001 // 2002-11-05 // // Eine Sammlung von nuetzlichen Funktionen, // Klassen und Erweiterungen // --------------------------------------- // // // -------------------- // FUNCTION shuffle Array // -------------------- // Beispiel: myArray.shuffle(); trace (myArray); // Array.prototype.shuffle = function() { var n = this.length; var i = n; while (i--) { var p = random(n); var t = this[i]; this[i] = this[p]; this[p] = t; } }; ASSetPropFlags(Array.prototype, ["shuffle"], 1); // // -------------------- // FUNCTION hasElement Array // -------------------- // Beispiel: myArray.hasElement (4) // oder myArray.hasElement ("alpha") // Array.prototype.hasElement = function(welchesElement) { for (var x = 0; xthis.length) { n = "Null"; return "A= "+n; } i++; } while (this[i] ne valA); var A = i; i = -1; n = ""; do { if (i>this.length) { n = "Null"; return "B= "+n; } i++; } while (this[i] ne valB); var B = i; this[B] = valA; this[A] = valB; return true; }; ASSetPropFlags(Array.prototype, ["swapValue"], 1); // // -------------------- // FUNCTION replace String // -------------------- // Beispiel //test_str=" Hallo Welt " //test_str=test_str.replace("Welt","Erde") //Resultat: "Hallo Erde" String.prototype.replace = function(findVal, replaceVal) { var returnStringVal = ""; while (this.indexOf(findVal)>=0) { indexOfChar = this.indexOf(findVal); returnStringVal += this.substr(0, indexOfChar); if (indexOfChar>=0) { returnStringVal += replaceVal; } this = this.substr((indexOfChar+findVal.length), this.length); } return returnStringVal+this; }; // // -------------------- // FUNCTION xtrace // -------------------- // Stellt auch im Browser-View eine "trace" Funktion zur Verfuegung //Object.prototype.xtrace = function(whichText){ Object.prototype.xtrace = function(whichText){ if (whichText!=null&& allowXTrace==true){ if (_level0.xtrace_mc == null ){ _level0.attachMovie("xtrace_mc","xtrace_mc", _global.clx.levelCounter+=1) } _level0.xtrace_mc._x = 200 _level0.xtrace_mc._y = 20 _level0.xtrace_mc.textUndBg_mc.display_txt.text += whichText+"\n"; _level0.xtrace_mc.titel_txt.text = "xtrace output" } } // // -------------------- // FUNCTION commtrace // -------------------- // Stellt auch im Browser-View eine "trace" Funktion zur Verfuegung //Object.prototype.commtrace = function(whichText){ Object.prototype.commtrace = function(whichText,whichTitle){ if (whichText!=null&& communicationDebugMode=="true"){ if (_level0.commtrace_mc == null ){ _level0.attachMovie("xtrace_mc","commtrace_mc", _global.clx.levelCounter+=1) } _level0.commtrace_mc._x = 200 _level0.commtrace_mc._y = 160 _level0.commtrace_mc.textUndBg_mc.display_txt.text += whichText+"\n"; if(whichTitle!=null){ _level0.commtrace_mc.titel_txt.text = whichTitle }else{ _level0.commtrace_mc.titel_txt.text = "commtrace output"; } } } // // --------------------------------- // FUNCTION linkify //----------------------------------- // Wandelt die von den Autoren erfassten Textlinks in HTML-Links um // // Diese Links rufen eine Funktion 'textLinkClicked' auf und geben den vom Autor erfassten Identifier als Parameter mit // // Beispiel: // Eingabe Autor: Die ist ein ##[1]Link## und hier geht's weiter im Text. // linkifizierter_text = eingabe_txt.linkify() String.prototype.linkify = function () { var tInput_str = this; if (tInput_str.indexOf("##")>-1) { var tOutput_str = ""; var tMomPositionIndex = 0; var tNextLinkStartIndex = 0; var tNextLinkEndIndex = 0; while (tInput_str.indexOf("##",tMomPositionIndex)!=-1) { tNextLinkStartIndex = tInput_str.indexOf("##", tMomPositionIndex); tNextLinkEndIndex = tInput_str.indexOf("##", tNextLinkStartIndex+2); tOutput_str += tInput_str.slice(tMomPositionIndex, tNextLinkStartIndex); var tLinkNrStartIndex = tNextLinkStartIndex+3; var tLinkNrEndIndex = tInput_str.indexOf("]", tLinkNrStartIndex); var tLinkNr = tInput_str.slice(tLinkNrStartIndex, tLinkNrEndIndex); var tLinkTextStartIndex = tLinkNrEndIndex+1; var tLinkText = tInput_str.slice(tLinkTextStartIndex, tNextLinkEndIndex); tOutput_str += ""+""+tLinkText+""+""; tMomPositionIndex = tNextLinkEndIndex+2; } tOutput_str += tInput_str.slice(tMomPositionIndex); } else { tOutput_str = tInput_str; } return (tOutput_str); };