ALGORITHMS USED IN JAVASCRIPT FOR ANACOM PROJECT (PATHS L1, L3, L5) =================================================== var FColor = document.ANACOM.FColor.value; // ELEMENTS' COLOUR var BColor = document.ANACOM.BColor.value; // BACKGROUND COLOUR var Size = document.ANACOM.Size.value; // ELEMENTS' SIZE var MaxX = eval(document.ANACOM.MaxX.value) // PANEL WIDTH var MaxY = eval(document.ANACOM.MaxY.value) // PANEL HEIGHT var Matrix = MaxX*MaxY; // TOTAL NUMBER OF ELEMENTS IN PANEL var Seq = document.ANACOM.Seq.value.toUpperCase(); // SEQUENCE var SeqChars = document.ANACOM.Seq.value.length; // NUMBER OF CHARACTERS IN SEQUENCE var Div1 = Matrix / SeqChars; // DIVISION var Sobra = Matrix % SeqChars; // DIVISION REST var Num_Seqs = Math.floor(Div1); // PPROXIMATION IN DIVISION TO LESS - EXACT NUMBER var Path = document.ANACOM.Path.value; // PATH TYPE // ADD SEQUENCE TO ITSELF // ================= var SeqLong1 = Seq; n = 0; while (n < Num_Seqs) { SeqLong1 += SeqLong1; n++ SeqLongI = SeqLong1.substring(0,Matrix); } // TOTAL INVERSE SEQUENCE // ================== var message1 = SeqLongI; var message2=""; for (count=message1.length; count >= 0; count--) message2+=message1.substring(count,count-1); SeqInv = message2; // SEQUENCES // ======== switch (Path) { // L1 // == case "L1" : x = 0; y = 1; k = 0; while (k < MaxY) { SeqLong2 = SeqLong1.substring(x,MaxX * y); k++ x = MaxX + x; y++ SeqLong = win.document.write("" + SeqLong2 + ""); } break; // L1 UPSIDE DOWN (L5) // ============== case "L5" : i = 1; numero = Matrix; fator = MaxX; while (i < MaxY + 1) { SeqLong2 = SeqLongI.substring(numero - (fator * i),numero - (fator * (i-1))); SeqLong = win.document.write("" + SeqLong2 + ""); i++ } break; // INVERSE L1 (L3) // ========== case "L3" : x = 0; y = 1; k = 0; while (k < MaxY) { SeqLong2 = message2.substring(x,MaxX * y); k++ x = MaxX + x; y++ SeqLong = win.document.write("" + SeqLong2 + ""); } break;