HTML & JavaScript


230504:
[] Laddar nu för att skriva kod för det jag kallar kontrollfunktionen:
() Är alla färgfällt ifyllda?
() Är kuben löst?
() Är gula lagret klart? > PLL
() Om ’allt’ är OK:
() Visa algoritm för OLL
() Visa hur kuben ska hållas
() Beräkna hur utseendet kommer att bli och visa det samt algoritm för PLL.
  Har inte bestämt om jag ska ha färdiga ’beräkningar’ för varje förekomst av algoritm eller om jag ska klura ut en rutin som beräknar det – lutar mycket åt det första då jag blir varm i huvudet bara jag tänker på det andra alternativet. Typ: Ta ett utseende på kubens översta lager, syna aktuell algoritm och med de två grunderna beräkna hur det översta lagret kommer att se ut efter att algoritmen är utförd.
Min första tanke är att det då måste ske beräkningar som är tredimnsionella…
En vridning av kubens lager skiftar tre stycken bitar åt gången, från var sida (4)
PLL T-perm t.ex. Skiftar bitarna 3 <> 9 och 4 <> 6 – med gula sidan upp både före och efter (givetvis).
Så för OLL & PLL verkar det inte bli så svårt…, kanske ❓
() Samtidigt som OLL visa COLL-algoritm och hur kuben ska visas. Beräkna hur den kommer att se ut och visa det och då också avslutande algoritm för kantbitarna (PLL) Permutationerna; Ua, Ub, H eller Z.
[] Lägga in bilder på de notationer som saknas
[] Rutin för att endast visa de notationer(bilder) som är nödvändiga.
[x] Har kommit på hur jag ska beräkna hörnbitarnas orientering och färger 🙂
[/] Återstår att knappa in en massa kodrader (om det nu inte går att förenkla via en funktion ❓ – håller på med det. Helt 100% är det inte bl.a. den gröna färgen missar emellanåt.
[x] Funderar på om jag via utseendet på det gula (inför OLL) klura ut hur 4:e hörnbiten ska orienteras. Gjort men fungerar inte till 100%
[x] Har bestämt mig för att först lösa hur färgvalet ska gå till. Är inte 100% nöjd med nuvarande PopUp. Så den är inaktiverad.
[x] Testa med en fast färgtabell där man klickar och sedan fyller i det ’bitfält’ som ska ha den färgen (där det går). Klart och funkar.
[x] Funderar också mycket (i samband med ovan) hur rör sig hörnen när tre positioner är inblandade? Definierat.
[x] Har lagt in algoritmerna för COLL
[x] Lägga in sekvenserna för COLL. Fixat. Ordande det genom att skriva en rutin som hjälpte mig att skapa sekvenserna.
([] Har börjat lägga in algoritmerna för ZZLL. Satt på paus)
([] Lägga in sekvenser för ZZLL) Satt på paus.
[] Har också kikat på ZBLL – är väl i så fall mer troligt.
[/] Hur rör sig bitarna för respektive algoritm OLL > PLL (COLL)
Har börjat kolla men har ingen riktigt bra smart ide om hur funktionen ska vara konstruerad?
>: Funderar fortfarande
[x] Definiera ’sekvenser’ (ID från ’bitarna’). Klart.
[] Kombinera funktionerna för 2 look OLL & 2 look PLL för att få funktioner för;
() A. söka igenom sekvenser för att hitta OLL-algoritm
() B. utifrån beräknat resultat få en ny sekvens och hitta PLL-algoritm.
[] Presentera resultat. Har inte bestämt om det ska ske ’bredvid’ varandra eller under varandra.
[x] Fundera på om det är mödan värt att även ta med COLL Det är nu med.
[] funktion för att visa hur kuben ska hållas inför algoritmerna.
[] Fixa till ’2 look OLL’ & ’2 look PLL’ så att ’rutan’ anpassar sig på samma vis som ’CFOP med COLL’.

Min kod för: 2 look OLL:

HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- 2lookOLL_Officiell_Ver.230322_1013 1.0 -->
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <title>2lookOLL</title>
    <style>
	.getColor {
		background-color: white;
	}
	.signatur {
		position: absolute;
    		top: 0%;
    		right: 0%;
		font-size: 15px;
	}
	.About {
		position: absolute;
    		bottom: 0%;
    		left: 0%;
		font-size: 15px;
	}
	.aboutTXT {
		display: none;
		position: absolute;
    		bottom: 0%;
    		left: 0%;
		font-size: 15px;
		background-color: lightgrey;
	}
	.To2look {
		position: absolute;
    		top: 0%;
    		left: 0%;
		font-size: 15px;
	}
	.cellTXT {
		font-size: 30px;
		font-weight: bold;
		font-family: Arial, Helvetica, sans-serif
	}
	button, .getColor, #AboutID, #aboutTXTid {
		cursor: pointer;
	}
	</style>
  </head>
  <body vlink="#FF0000" text="#000000" link="#0000FF" alink="#000088"
    bgcolor="#ffffff">
    <div align="center"><font size="+1"><b>2 Look OLL</b></font><br>
      <b> När korset redan är klart</b><br>
    </div>
    <table width="100%" cellspacing="2" cellpadding="2" border="0">
      <tbody>
        <tr align="center">
          <td valign="top">
            <table width="378" cellspacing="2" cellpadding="2"
              height="356" border="1">
              <tbody>
                <tr>
                  <td width="40" valign="top" height="40"><br>
                  </td>
                  <td id="Y_1b" class="getColor"
                    onclick="fChangeColor(id, '1', 'b')" width="80"
                    valign="top" height="40"><br>
                  </td>
                  <td width="80" valign="top" height="40"><br>
                  </td>
                  <td id="Y_3b" class="getColor"
                    onclick="fChangeColor(id, '3', 'b')" width="80"
                    valign="top" height="40"><br>
                  </td>
                  <td width="40" valign="top" height="40"><br>
                  </td>
                </tr>
                <tr>
                  <td id="Y_1a" class="getColor"
                    onclick="fChangeColor(id, '1', 'a')" width="40"
                    valign="top"><br>
                  </td>
                  <td id="Y_1t" class="getColor"
                    onclick="fChangeColor(id, '1', 't')" width="80"
                    valign="top"><br>
                  </td>
                  <td width="80" valign="top" bgcolor="yellow"><br>
                  </td>
                  <td id="Y_3t" class="getColor"
                    onclick="fChangeColor(id, '3', 't')" width="80"
                    valign="top"><br>
                  </td>
                  <td id="Y_3a" class="getColor"
                    onclick="fChangeColor(id, '3', 'a')" width="40"
                    valign="top"><br>
                  </td>
                </tr>
                <tr>
                  <td width="40" valign="top"><br>
                  </td>
                  <td width="80" valign="top" bgcolor="yellow"><br>
                  </td>
                  <td width="80" valign="top" bgcolor="yellow"><br>
                  </td>
                  <td width="80" valign="top" bgcolor="yellow"><br>
                  </td>
                  <td width="40" valign="top"><br>
                  </td>
                </tr>
                <tr>
                  <td id="Y_7a" class="getColor"
                    onclick="fChangeColor(id, '7', 'a')" width="40"
                    valign="top"><br>
                  </td>
                  <td id="Y_7t" class="getColor"
                    onclick="fChangeColor(id, '7', 't')" width="80"
                    valign="top"><br>
                  </td>
                  <td width="80" valign="top" bgcolor="yellow"><br>
                  </td>
                  <td id="Y_9t" class="getColor"
                    onclick="fChangeColor(id, '9', 't')" width="80"
                    valign="top"><br>
                  </td>
                  <td id="Y_9a" class="getColor"
                    onclick="fChangeColor(id, '9', 'a')" width="40"
                    valign="top"><br>
                  </td>
                </tr>
                <tr>
                  <td width="40" valign="top" height="40"><br>
                  </td>
                  <td id="Y_7b" class="getColor"
                    onclick="fChangeColor(id, '7', 'b')" width="80"
                    valign="top" height="40"><br>
                  </td>
                  <td width="80" valign="top" height="40"><br>
                  </td>
                  <td id="Y_9b" class="getColor"
                    onclick="fChangeColor(id, '9', 'b')" width="80"
                    valign="top" height="40"><br>
                  </td>
                  <td width="40" valign="top" height="40"><br>
                  </td>
                </tr>
              </tbody>
            </table>
          </td>
        </tr>
        <tr align="center">
          <td id="txtInfo" style="font-size: 30px; font-weight: bold;
            font-family: Arial, Helvetica, sans-serif;" valign="top"><br>
          </td>
        </tr>
        <tr align="center">
          <td valign="top"><button type="button" name="btnKontrollera"
              onclick="fControlString()" style="height: 50px; width:
              175px; font-size: 20;">Kontrollera</button><br>
          </td>
        </tr>
        <tr>
          <td id="txtInfoBild" valign="top" align="center"><br>
          </td>
        </tr>
        <tr align="center">
          <td id="visaBild" valign="top"><br>
          </td>
        </tr>
        <tr>
          <td valign="top">
            <table id="tNotation" style="visibility: hidden;"
              width="100%" cellspacing="2" cellpadding="2" border="0">
              <tbody>
                <tr align="center">
                  <td valign="top">Aktuella sk Notationer för 2 look OLL<br>
                  </td>
                </tr>
                <tr>
                  <td valign="top">
                    <table width="100%" cellspacing="2" cellpadding="2"
                      border="0">
                      <tbody>
                        <tr class="cellTXT">
                          <td valign="top" align="center"><b>F</b><b><br>
                            </b> </td>
                          <td valign="top" align="center"><b>F'</b><b><br>
                            </b> </td>
                          <td valign="top" align="center"><b>R</b><b><br>
                            </b> </td>
                          <td valign="top" align="center"><b>R'</b><b><br>
                            </b> </td>
                          <td valign="top" align="center"><b>Rw</b><b><br>
                            </b> </td>
                        </tr>
                        <tr>
                          <td valign="top" align="center"><img
                              moz-do-not-send="true"
                              src="http://ngn.nu//HTML/Kuben/Bilder/F.png"
                              title="Rubriks Kub Front medsols"
                              alt="[Bild: Rubriks Kub Front medsols]"
                              width="93" height="100"><br>
                          </td>
                          <td valign="top" align="center"><img
                              moz-do-not-send="true"
                              src="http://ngn.nu/HTML/Kuben/Bilder/F-1.png"
                              title="Rubriks Kub Front motsols"
                              alt="[Bild: Rubriks Kub Front motsols]"
                              width="93" height="100"> </td>
                          <td valign="top" align="center"><img
                              moz-do-not-send="true"
                              src="http://ngn.nu/HTML/Kuben/Bilder/R.png"
                              title="Rubriks Kub Right medsols"
                              alt="[Bild: Rubriks Kub Right medsols]"
                              width="93" height="100"> </td>
                          <td valign="top" align="center"><img
                              moz-do-not-send="true"
                              src="http://ngn.nu/HTML/Kuben/Bilder/R-1.png"
                              title="Rubriks Kub Right motsols"
                              alt="[Bild: Rubriks Kub Right motsols]"
                              width="93" height="100"> </td>
                          <td valign="top" align="center"><img
                              moz-do-not-send="true"
                              src="http://ngn.nu/HTML/Kuben/Bilder/Rw.png"
                              title="Rubriks Kub Right wide medsols"
                              alt="[Bild: Rubriks Right wide medsols]"
                              width="93" height="100"> </td>
                        </tr>
                        <tr class="cellTXT">
                          <td valign="top" align="center"><b>U</b><b><br>
                            </b></td>
                          <td valign="top" align="center"><b>U'</b><b><br>
                            </b></td>
                          <td valign="top" align="center"><b>D</b><b><br>
                            </b></td>
                          <td valign="top" align="center"><b>D'</b><b><br>
                            </b></td>
                          <td valign="top" align="center"><b>Rw'</b><b><br>
                            </b></td>
                        </tr>
                        <tr>
                          <td valign="top" align="center"><img
                              moz-do-not-send="true"
                              src="http://ngn.nu/HTML/Kuben/Bilder/U.png"
                              title="Rubriks Kub Up medsols" alt="[Bild:
                              Rubriks Kub Up medsols]" width="93"
                              height="100"></td>
                          <td valign="top" align="center"><img
                              moz-do-not-send="true"
                              src="http://ngn.nu/HTML/Kuben/Bilder/U-1.png"
                              title="Rubriks Kub Up motsols" alt="[Bild:
                              Rubriks Kub Up motsols]" width="93"
                              height="100"></td>
                          <td valign="top" align="center"><img
                              moz-do-not-send="true"
                              src="http://ngn.nu/HTML/Kuben/Bilder/D.png"
                              title="Rubriks Kub Down medsols"
                              alt="[Bild: Rubriks Kub Down medsols]"
                              width="93" height="100"></td>
                          <td valign="top" align="center"><img
                              moz-do-not-send="true"
                              src="http://ngn.nu/HTML/Kuben/Bilder/D-1.png"
                              title="Rubriks Kub Down motsols"
                              alt="[Bild: Rubriks Kub Down motsols]"
                              width="93" height="100"></td>
                          <td valign="top" align="center"><img
                              moz-do-not-send="true"
                              src="http://ngn.nu/HTML/Kuben/Bilder/Rw-1.png"
                              title="Rubriks Kub Right wide motsols"
                              alt="[Bild: Rubriks Right wide motsols]"
                              width="93" height="100"></td>
                        </tr>
                      </tbody>
                    </table>
                  </td>
                </tr>
              </tbody>
            </table>
          </td>
        </tr>
      </tbody>
    </table>
    <div class="signatur">NGN© 2023</div>
    <div class="To2look"><button type="button" name="btnToHTML"
              onclick="location.href='http://ngn.nu/HTML/Kuben/2lookPLL.html'" style="height: 50px; width:
              175px; font-size: 20;">Till 2lookPLL</button>
    </div>
    <div class="About" id="AboutID" onclick="document.getElementById('aboutTXTid').style.display = 'block';">≣</div>
    <div id="aboutTXTid" class="aboutTXT"><a onclick="document.getElementById('aboutTXTid').style.display = 'none';">Ett tack till cuboss.se som utan att veta om det varit en inspirationskälla och till en del också fått stå för en del grunddatainsamling, via sin rikliga och pedagogiska information :D<br>Kunstruktiv kommunikation emotses till: nisse@ngn.nu</a></div>
    <script type="text/javascript">
	// 'globala'
	var bit1 ="";
	var bit3 ="";
	var bit7 ="";
	var bit9 ="";
	var bitString = "";
	var sFoundString = "";
	var iFoundIndex = 0;
	var strBildText = "";
	
	//Array
	const s2lOLLstring = ["1b23b4567b89b", "1a23a4567a89a", "1a23b4567a89b", "1b23b4567a89a", "1b23a4567b89a", "1a23a4567b89b", "1b23b456789", "123a456789a", "1234567b89b", "1a234567a89", "1b234567b89", "1a23a456789", "123b456789b", "1234567a89a", "123a4567b89", "1a23456789b", "123b4567a89", "1b23456789a", "1a234567b89a", "1a23b4567b89", "1a23b456789a", "123b4567b89a", "1b23a456789b", "123a4567a89b", "1b234567a89b", "1b23a4567a89"];
	// index	      0	         1		      2		       3		4		 5		  6		 7		8	       9	      10	     11		    12		   13		  14		 15	       16	      17	     18		     19		     20		     21		     22		     23		     24		     25
	const s2lOLLsekvens = ["F (R U R’ U’)3 F’", "F (R U R’ U’)3 F’", "(R U2′) (R2′ U’) (R2 U’) (R2′ U2′ R)", "(R U2′) (R2′ U’) (R2 U’) (R2′ U2′ R)",  "(R U2′) (R2′ U’) (R2 U’) (R2′ U2′ R)",  "(R U2′) (R2′ U’) (R2 U’) (R2′ U2′ R)", "R2′ D’ (R U2 R’) D (R U2 R)", "R2′ D’ (R U2 R’) D (R U2 R)", "R2′ D’ (R U2 R’) D (R U2 R)", "R2′ D’ (R U2 R’) D (R U2 R)", "(Rw U R’ U’) (Rw’ F R F’)", "(Rw U R’ U’) (Rw’ F R F’)", "(Rw U R’ U’) (Rw’ F R F’)", "(Rw U R’ U’) (Rw’ F R F’)", "(F R’ F’ Rw) (U R U’ Rw’)", "(F R’ F’ Rw) (U R U’ Rw’)", "(F R’ F’ Rw) (U R U’ Rw’)", "(F R’ F’ Rw) (U R U’ Rw’)", "(R U2′ R’) (U’ R U’ R’)", "(R U2′ R’) (U’ R U’ R’)", "(R U2′ R’) (U’ R U’ R’)", "(R U2′ R’) (U’ R U’ R’)", "(R U R’ U) (R U2′ R’)", "(R U R’ U) (R U2′ R’)", "(R U R’ U) (R U2′ R’)", "(R U R’ U) (R U2′ R’)"];
	// index	        0		     1			  2				           3				            4			                     5				            6                              7                              8                              9                              10                           11                           12                           13                           14                           15                           16                           17                           18                         19                         20                         21                         22                       23                       24                       25

function fChangeColor(frID, bit, yta){
	var cellen = document.getElementById(frID);

	if (bit == "1" && yta == "a") {
		cellen.style.backgroundColor = "yellow";
		document.getElementById("Y_1b").style.backgroundColor = "white";
		document.getElementById("Y_1t").style.backgroundColor = "white";
		bit1 = "1a";
	}
		
	if (bit == "1" && yta == "b") {
		cellen.style.backgroundColor = "yellow";
		document.getElementById("Y_1a").style.backgroundColor = "white";
		document.getElementById("Y_1t").style.backgroundColor = "white";
		bit1 = "1b";
	}	
	
	if (bit == "1" && yta == "t") {
		cellen.style.backgroundColor = "yellow";
		document.getElementById("Y_1a").style.backgroundColor = "white";
		document.getElementById("Y_1b").style.backgroundColor = "white";
		bit1 = "1";
	}
		
	if (bit == "3" && yta == "a") {
		cellen.style.backgroundColor = "yellow";
		document.getElementById("Y_3b").style.backgroundColor = "white";
		document.getElementById("Y_3t").style.backgroundColor = "white";
		bit3 = "3a";
	}

	if (bit == "3" && yta == "b") {
		cellen.style.backgroundColor = "yellow";
		document.getElementById("Y_3a").style.backgroundColor = "white";
		document.getElementById("Y_3t").style.backgroundColor = "white";
		bit3 = "3b";
	}

	if (bit == "3" && yta == "t") {
		cellen.style.backgroundColor = "yellow";
		document.getElementById("Y_3a").style.backgroundColor = "white";
		document.getElementById("Y_3b").style.backgroundColor = "white";
		bit3 = "3";
	}

	if (bit == "7" && yta == "a") {
		cellen.style.backgroundColor = "yellow";
		document.getElementById("Y_7b").style.backgroundColor = "white";
		document.getElementById("Y_7t").style.backgroundColor = "white";
		bit7 = "7a";
	}

	if (bit == "7" && yta == "b") {
		cellen.style.backgroundColor = "yellow";
		document.getElementById("Y_7a").style.backgroundColor = "white";
		document.getElementById("Y_7t").style.backgroundColor = "white";
		bit7 = "7b";
	}

	if (bit == "7" && yta == "t") {
		cellen.style.backgroundColor = "yellow";
		document.getElementById("Y_7a").style.backgroundColor = "white";
		document.getElementById("Y_7b").style.backgroundColor = "white";
		bit7 = "7";
	}

	if (bit == "9" && yta == "a") {
		cellen.style.backgroundColor = "yellow";
		document.getElementById("Y_9b").style.backgroundColor = "white";
		document.getElementById("Y_9t").style.backgroundColor = "white";
		bit9 = "9a";
	}

	if (bit == "9" && yta == "b") {
		cellen.style.backgroundColor = "yellow";
		document.getElementById("Y_9a").style.backgroundColor = "white";
		document.getElementById("Y_9t").style.backgroundColor = "white";
		bit9 = "9b";
	}

	if (bit == "9" && yta == "t") {
		cellen.style.backgroundColor = "yellow";
		document.getElementById("Y_9a").style.backgroundColor = "white";
		document.getElementById("Y_9b").style.backgroundColor = "white";
		bit9 = "9";
	}
	// fyll strängen
	bitString = bit1 + "2" + bit3 + "456" + bit7 + "8" + bit9;
}

function fControlString(){
	
	//är alla bitar ifyllda
	if (bit1.length >= 1 && bit3.length >= 1 && bit7.length >= 1 && bit9.length >= 1) { 
		strBildText = "Håll kuben så som bilden nedan visar (gula sidan upp)  så att sekvensen / algoritmen stämmer :)"
		var vVisaBild = document.getElementById("visaBild");
		var vInfoBild = document.getElementById("txtInfoBild");
		const sFound = s2lOLLstring.filter(fHittaSekvens);
		const sFoundIndex = s2lOLLstring.forEach(fHittaIndex);
		if (sFound == "") {
			document.getElementById("txtInfo").innerHTML = "Valda fält verkar inte vara en möjlig variant";
		} else {
			document.getElementById("txtInfo").innerHTML = s2lOLLsekvens[iFoundIndex];
			document.getElementById("tNotation").style.visibility = "visible";
			if (iFoundIndex == 0 || iFoundIndex == 1) {
				vInfoBild.innerHTML = strBildText;
				vVisaBild.innerHTML = "<img src=\"http://ngn.nu/HTML/Kuben/Bilder/OLL_nr-21.png\">";
			} else if (iFoundIndex == 2 || iFoundIndex == 3 || iFoundIndex == 4 || iFoundIndex == 5) {
				vInfoBild.innerHTML = strBildText;
				vVisaBild.innerHTML = "<img src=\"http://ngn.nu/HTML/Kuben/Bilder/OLL_nr-22.png\">";
			} else if (iFoundIndex == 6 || iFoundIndex == 7 || iFoundIndex == 8 || iFoundIndex == 9) {
				vInfoBild.innerHTML = strBildText;
				vVisaBild.innerHTML = "<img src=\"http://ngn.nu/HTML/Kuben/Bilder/OLL_nr-23.png\">";
			} else if (iFoundIndex == 10 || iFoundIndex == 11 || iFoundIndex == 12 || iFoundIndex == 13) {
				vInfoBild.innerHTML = strBildText;
				vVisaBild.innerHTML = "<img src=\"http://ngn.nu/HTML/Kuben/Bilder/OLL_nr-24.png\">";
			} else if (iFoundIndex == 14 || iFoundIndex == 15 || iFoundIndex == 16 || iFoundIndex == 17) {
				vInfoBild.innerHTML = strBildText;
				vVisaBild.innerHTML = "<img src=\"http://ngn.nu/HTML/Kuben/Bilder/OLL_nr-25.png\">";
			} else if (iFoundIndex == 18 || iFoundIndex == 19 || iFoundIndex == 20 || iFoundIndex == 21) {
				vInfoBild.innerHTML = strBildText;
				vVisaBild.innerHTML = "<img src=\"http://ngn.nu/HTML/Kuben/Bilder/OLL_nr-26.png\">";
			} else if (iFoundIndex == 22 || iFoundIndex == 23 || iFoundIndex == 24 || iFoundIndex == 25) {
				vInfoBild.innerHTML = strBildText;
				vVisaBild.innerHTML = "<img src=\"http://ngn.nu/HTML/Kuben/Bilder/OLL_nr-27.png\">";
			} else {
				vVisaBild.innerHTML = "Det är något som inte stämmer";
			}
		}
	}
}
function fHittaSekvens(value, index){
	return value == bitString
}
function fHittaIndex(value, index){
	if (value != bitString) {
		// sorry
	} else if (value == bitString) {
		iFoundIndex = index;
	}
}
</script>
  </body>
</html>

Min kod för: 2 look PLL:

HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- 2lookPLL_Officiell_Ver.230325_1139 1.0 -->
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <title>2lookPLL</title>
    <style>
	.signatur {
		position: absolute;
    		top: 0%;
    		right: 0%;
		font-size: 15px;
	}
	.About {
		position: absolute;
    		bottom: 0%;
    		left: 0%;
		font-size: 15px;
	}
	.aboutTXT {
		display: none;
		position: absolute;
    		bottom: 0%;
    		left: 0%;
		font-size: 15px;
		background-color: lightgrey;
	}
	.To2look {
		position: absolute;
    		top: 0%;
    		left: 0%;
		font-size: 15px;
	}
	.cellTXT {
		font-size: 30px;
		font-weight: bold;
		font-family: Arial, Helvetica, sans-serif;
	}
	#divVisaOverlayCirklar {
		content: "";
		display: none;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: url(http://ngn.nu/HTML/Kuben/Bilder/OverlayCirklar_01.png) no-repeat 0 0;
		background-size: cover;
	}
	#divVisaOverlayVertikalaPilar {
		content: "";
		display: none;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: url(http://ngn.nu/HTML/Kuben/Bilder/OverlayVertikalaPilar_01.png) no-repeat 0 0;
		background-size: cover;
	}
	#divVisaOverlayKors {
		content: "";
		display: none;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: url(http://ngn.nu/HTML/Kuben/Bilder/OverlayKors_01.png) no-repeat 0 0;
		background-size: cover;
	}
	#divVisaOverlayDiagonal {
		content: "";
		display: none;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: url(http://ngn.nu/HTML/Kuben/Bilder/OverlayDiagonal_01.png) no-repeat 0 0;
		background-size: cover;
	}
	#divOverlayPyramidMedsols {
		content: "";
		display: none;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: url(http://ngn.nu/HTML/Kuben/Bilder/OverlayPyramidMedsols_01.png) no-repeat 0 0;
		background-size: cover;
	}
	#divOverlayPyramidMotsols {
		content: "";
		display: none;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: url(http://ngn.nu/HTML/Kuben/Bilder/OverlayPyramidMotsols_01.png) no-repeat 0 0;
		background-size: cover;
	}
	#tblVisaKubResultat {
		position: relative;
		top: 0;
		left: 0;
	}
	#tblVisaOverlay {
		position: relative;
		top: 0;
		left: 0;
		display: none;
	}
	button, #TableTopp, #TableLeft, #TableRight, #TableBottom, #AboutID, #aboutTXTid {
		cursor: pointer;
	}
	</style>
  </head>
  <body vlink="#FF0000" text="#000000" link="#0000FF" alink="#000088"
    bgcolor="#ffffff">
    <div align="center"><font size="+1"><b>2 Look PLL</b></font><br>
      <b> När 'gula sidan' är klar</b><br>
    </div>
    <table width="594" cellspacing="2" cellpadding="2" align="center"
      border="0">
      <tbody>
        <tr align="center">
          <td valign="top">
            <table width="100%" cellspacing="2" cellpadding="2"
              border="0">
              <tbody>
                <tr>
                  <td width="95" valign="middle" align="center"><br>
                  </td>
                  <td width="378" valign="middle" align="center">
                    <table id="TableTopp" width="267" cellspacing="2"
                      cellpadding="2" height="81" border="0">
                      <tbody>
                        <tr>
                          <td id="Y_1bBlue" onclick="fChangeColor(id,
                            '1', 'b', 'blue')" valign="top"
                            bgcolor="blue"><br>
                          </td>
                          <td id="Y_2bBlue" onclick="fChangeColor(id,
                            '2', 'b', 'blue')" valign="top"
                            bgcolor="blue"><br>
                          </td>
                          <td id="Y_3bBlue" onclick="fChangeColor(id,
                            '3', 'b', 'blue')" valign="top"
                            bgcolor="blue"><br>
                          </td>
                        </tr>
                        <tr>
                          <td id="Y_1bRed" onclick="fChangeColor(id,
                            '1', 'b', 'red')" valign="top" bgcolor="red"><br>
                          </td>
                          <td id="Y_2bRed" onclick="fChangeColor(id,
                            '2', 'b', 'red')" valign="top" bgcolor="red"><br>
                          </td>
                          <td id="Y_3bRed" onclick="fChangeColor(id,
                            '3', 'b', 'red')" valign="top" bgcolor="red"><br>
                          </td>
                        </tr>
                        <tr>
                          <td id="Y_1bGreen" onclick="fChangeColor(id,
                            '1', 'b', 'green')" valign="top"
                            bgcolor="green"><br>
                          </td>
                          <td id="Y_2bGreen" onclick="fChangeColor(id,
                            '2', 'b', 'green')" valign="top"
                            bgcolor="green"><br>
                          </td>
                          <td id="Y_3bGreen" onclick="fChangeColor(id,
                            '3', 'b', 'green')" valign="top"
                            bgcolor="green"><br>
                          </td>
                        </tr>
                        <tr>
                          <td id="Y_1bOrange" onclick="fChangeColor(id,
                            '1', 'b', 'orange')" valign="top"
                            bgcolor="orange"><br>
                          </td>
                          <td id="Y_2bOrange" onclick="fChangeColor(id,
                            '2', 'b', 'orange')" valign="top"
                            bgcolor="orange"><br>
                          </td>
                          <td id="Y_3bOrange" onclick="fChangeColor(id,
                            '3', 'b', 'orange')" valign="top"
                            bgcolor="orange"><br>
                          </td>
                        </tr>
                      </tbody>
                    </table>
                  </td>
                  <td width="95" valign="middle" align="center"><br>
                  </td>
                </tr>
                <tr>
                  <td width="95" valign="middle" align="center">
                    <table id="TableLeft" width="90" cellspacing="2"
                      cellpadding="2" height="262" border="0">
                      <tbody>
                        <tr>
                          <td id="Y_1aRed" onclick="fChangeColor(id,
                            '1', 'a', 'red')" valign="top" bgcolor="red"><br>
                          </td>
                          <td id="Y_1aBlue" onclick="fChangeColor(id,
                            '1', 'a', 'blue')" valign="top"
                            bgcolor="blue"><br>
                          </td>
                          <td id="Y_1aOrange" onclick="fChangeColor(id,
                            '1', 'a', 'orange')" valign="top"
                            bgcolor="orange"><br>
                          </td>
                          <td id="Y_1aGreen" onclick="fChangeColor(id,
                            '1', 'a', 'green')" valign="top"
                            bgcolor="green"><br>
                          </td>
                        </tr>
                        <tr>
                          <td id="Y_4aRed" onclick="fChangeColor(id,
                            '4', 'a', 'red')" valign="top" bgcolor="red"><br>
                          </td>
                          <td id="Y_4aBlue" onclick="fChangeColor(id,
                            '4', 'a', 'blue')" valign="top"
                            bgcolor="blue"><br>
                          </td>
                          <td id="Y_4aOrange" onclick="fChangeColor(id,
                            '4', 'a', 'orange')" valign="top"
                            bgcolor="orange"><br>
                          </td>
                          <td id="Y_4aGreen" onclick="fChangeColor(id,
                            '4', 'a', 'green')" valign="top"
                            bgcolor="green"><br>
                          </td>
                        </tr>
                        <tr>
                          <td id="Y_7aRed" onclick="fChangeColor(id,
                            '7', 'a', 'red')" valign="top" bgcolor="red"><br>
                          </td>
                          <td id="Y_7aBlue" onclick="fChangeColor(id,
                            '7', 'a', 'blue')" valign="top"
                            bgcolor="blue"><br>
                          </td>
                          <td id="Y_7aOrange" onclick="fChangeColor(id,
                            '7', 'a', 'orange')" valign="top"
                            bgcolor="orange"><br>
                          </td>
                          <td id="Y_7aGreen" onclick="fChangeColor(id,
                            '7', 'a', 'green')" valign="top"
                            bgcolor="green"><br>
                          </td>
                        </tr>
                      </tbody>
                    </table>
                  </td>
                  <td valign="middle" align="center">
                    <table id="TableMitten" width="378" cellspacing="2"
                      cellpadding="2" height="356" border="1">
                      <tbody>
                        <tr>
                          <td width="40" valign="top" height="40"><br>
                          </td>
                          <td id="Y_1b" width="80" valign="top"
                            height="40" bgcolor="lightgrey"><br>
                          </td>
                          <td id="Y_2b" width="80" valign="top"
                            height="40" bgcolor="lightgrey"><br>
                          </td>
                          <td id="Y_3b" width="80" valign="top"
                            height="40" bgcolor="lightgrey"><br>
                          </td>
                          <td width="40" valign="top" height="40"><br>
                          </td>
                        </tr>
                        <tr>
                          <td id="Y_1a" width="40" valign="top"
                            bgcolor="lightgrey"><br>
                          </td>
                          <td width="80" valign="top" bgcolor="yellow"><br>
                          </td>
                          <td width="80" valign="top" bgcolor="yellow"><br>
                          </td>
                          <td width="80" valign="top" bgcolor="yellow"><br>
                          </td>
                          <td id="Y_3a" width="40" valign="top"
                            bgcolor="lightgrey"><br>
                          </td>
                        </tr>
                        <tr>
                          <td id="Y_4a" width="40" valign="top"
                            bgcolor="lightgrey"><br>
                          </td>
                          <td width="80" valign="top" bgcolor="yellow"><br>
                          </td>
                          <td width="80" valign="top" bgcolor="yellow"><br>
                          </td>
                          <td width="80" valign="top" bgcolor="yellow"><br>
                          </td>
                          <td id="Y_6a" width="40" valign="top"
                            bgcolor="lightgrey"><br>
                          </td>
                        </tr>
                        <tr>
                          <td id="Y_7a" width="40" valign="top"
                            bgcolor="lightgrey"><br>
                          </td>
                          <td width="80" valign="top" bgcolor="yellow">
                            <br>
                          </td>
                          <td width="80" valign="top" bgcolor="yellow"><br>
                          </td>
                          <td width="80" valign="top" bgcolor="yellow">
                            <br>
                          </td>
                          <td id="Y_9a" width="40" valign="top"
                            bgcolor="lightgrey"><br>
                          </td>
                        </tr>
                        <tr>
                          <td width="40" valign="top" height="40"><br>
                          </td>
                          <td id="Y_7b" width="80" valign="top"
                            height="40" bgcolor="lightgrey"><br>
                          </td>
                          <td id="Y_8b" width="80" valign="top"
                            height="40" bgcolor="lightgrey"><br>
                          </td>
                          <td id="Y_9b" width="80" valign="top"
                            height="40" bgcolor="lightgrey"><br>
                          </td>
                          <td width="40" valign="top" height="40"><br>
                          </td>
                        </tr>
                      </tbody>
                    </table>
                  </td>
                  <td width="95" valign="middle" align="center">
                    <table id="TableRight" width="85" cellspacing="2"
                      cellpadding="2" height="270" border="0">
                      <tbody>
                        <tr>
                          <td id="Y_3aGreen" onclick="fChangeColor(id,
                            '3', 'a', 'green')" valign="top"
                            bgcolor="green"><br>
                          </td>
                          <td id="Y_1aRed" onclick="fChangeColor(id,
                            '3', 'a', 'red')" valign="top" bgcolor="red"><br>
                          </td>
                          <td id="Y_1aBlue" onclick="fChangeColor(id,
                            '3', 'a', 'blue')" valign="top"
                            bgcolor="blue"><br>
                          </td>
                          <td id="Y_3aOrange" onclick="fChangeColor(id,
                            '3', 'a', 'orange')" valign="top"
                            bgcolor="orange"><br>
                          </td>
                        </tr>
                        <tr>
                          <td id="Y_6aGreen" onclick="fChangeColor(id,
                            '6', 'a', 'green')" valign="top"
                            bgcolor="green"><br>
                          </td>
                          <td id="Y_6aRed" onclick="fChangeColor(id,
                            '6', 'a', 'red')" valign="top" bgcolor="red"><br>
                          </td>
                          <td id="Y_6aBlue" onclick="fChangeColor(id,
                            '6', 'a', 'blue')" valign="top"
                            bgcolor="blue"><br>
                          </td>
                          <td id="Y_6aOrange" onclick="fChangeColor(id,
                            '6', 'a', 'orange')" valign="top"
                            bgcolor="orange"><br>
                          </td>
                        </tr>
                        <tr>
                          <td id="Y_9aGreen" onclick="fChangeColor(id,
                            '9', 'a', 'green')" valign="top"
                            bgcolor="green"><br>
                          </td>
                          <td id="Y_9aRed" onclick="fChangeColor(id,
                            '9', 'a', 'red')" valign="top" bgcolor="red"><br>
                          </td>
                          <td id="Y_9aBlue" onclick="fChangeColor(id,
                            '9', 'a', 'blue')" valign="top"
                            bgcolor="blue"><br>
                          </td>
                          <td id="Y_9aOrange" onclick="fChangeColor(id,
                            '9', 'a', 'orange')" valign="top"
                            bgcolor="orange"><br>
                          </td>
                        </tr>
                      </tbody>
                    </table>
                  </td>
                </tr>
                <tr>
                  <td width="95" valign="middle" align="center"><br>
                  </td>
                  <td valign="middle" align="center">
                    <table id="TableBottom" width="269" cellspacing="2"
                      cellpadding="2" height="83" border="0">
                      <tbody>
                        <tr>
                          <td id="Y_7bOrange" onclick="fChangeColor(id,
                            '7', 'b', 'orange')" valign="top"
                            bgcolor="orange"><br>
                          </td>
                          <td id="Y_8bOrange" onclick="fChangeColor(id,
                            '8', 'b', 'orange')" valign="top"
                            bgcolor="orange"><br>
                          </td>
                          <td id="Y_9bOrange" onclick="fChangeColor(id,
                            '9', 'b', 'orange')" valign="top"
                            bgcolor="orange"><br>
                          </td>
                        </tr>
                        <tr>
                          <td id="Y_7bBlue" onclick="fChangeColor(id,
                            '7', 'b', 'blue')" valign="top"
                            bgcolor="blue"><br>
                          </td>
                          <td id="Y_8bBlue" onclick="fChangeColor(id,
                            '8', 'b', 'blue')" valign="top"
                            bgcolor="blue"><br>
                          </td>
                          <td id="Y_9bBlue" onclick="fChangeColor(id,
                            '9', 'b', 'blue')" valign="top"
                            bgcolor="blue"><br>
                          </td>
                        </tr>
                        <tr>
                          <td id="Y_7bRed" onclick="fChangeColor(id,
                            '7', 'b', 'red')" valign="top" bgcolor="red"><br>
                          </td>
                          <td id="Y_8bRed" onclick="fChangeColor(id,
                            '8', 'b', 'red')" valign="top" bgcolor="red"><br>
                          </td>
                          <td id="Y_9bRed" onclick="fChangeColor(id,
                            '9', 'b', 'red')" valign="top" bgcolor="red"><br>
                          </td>
                        </tr>
                        <tr>
                          <td id="Y_7bGreen" onclick="fChangeColor(id,
                            '7', 'b', 'green')" valign="top"
                            bgcolor="green"><br>
                          </td>
                          <td id="Y_8bGreen" onclick="fChangeColor(id,
                            '8', 'b', 'green')" valign="top"
                            bgcolor="green"><br>
                          </td>
                          <td id="Y_9bGreen" onclick="fChangeColor(id,
                            '9', 'b', 'green')" valign="top"
                            bgcolor="green"><br>
                          </td>
                        </tr>
                      </tbody>
                    </table>
                  </td>
                  <td width="95" valign="middle" align="center"><br>
                  </td>
                </tr>
              </tbody>
            </table>
          </td>
        </tr>
        <tr align="center">
          <td id="txtInfo" style="font-size: 30px; font-weight: bold;
            font-family: Arial, Helvetica, sans-serif;" valign="top"><br>
          </td>
        </tr>
        <tr align="center">
          <td valign="top">
            <!-- KnappTabell -->
            <table id="tblKnappar" width="100%" cellspacing="2"
              cellpadding="2" border="0">
              <tbody>
                <tr>
                  <td> <br>
                  </td>
                  <td valign="top" align="right"><button type="button"
                      name="btnKontrollera" onclick="fControlString()"
                      style="height: 35px; width: 175px; font-size:
                      20px;">Kontrollera</button> </td>
                  <td width="200" valign="top" align="right"><button
                      type="button" name="btnRensa" align="right"
                      onclick="fRensa()" style="height: 35px; width:
                      100px; font-size: 20px;">Rensa</button> </td>
                </tr>
              </tbody>
            </table>
          </td>
	</tr>
        <tr>
          <td id="infoTXTom" valign="bottom" align="center">
          </td>
        </tr>
        <tr>
          <td valign="middle" align="center">
            <table id="tblVisaOverlay" width="300" height="250" border="0">
              <tbody>
                <tr>
                  <td id="trVisaResultat" width="300" valign="bottom"
                    height="250" align="center">
                    <table id="tblVisaKubResultat"
                      style="border-collapse: collapse;" width="250"
                      cellspacing="2" cellpadding="2" height="238"
                      border="1">
                      <tbody>
                        <tr>
                          <td width="25" valign="top" height="25"><br>
                          </td>
                          <td id="Y1b" valign="top" height="25"><br>
                          </td>
                          <td id="Y2b" valign="top" height="25"><br>
                          </td>
                          <td id="Y3b" valign="top" height="25"><br>
                          </td>
                          <td width="25" valign="top" height="25"><br>
                          </td>
                        </tr>
                        <tr>
                          <td id="Y1a" width="25" valign="top"><br>
                          </td>
                          <td valign="top" bgcolor="#ffff00"><br>
                          </td>
                          <td valign="top" bgcolor="#ffff00"><br>
                          </td>
                          <td valign="top" bgcolor="#ffff00"><br>
                          </td>
                          <td id="Y3a" width="25" valign="top"><br>
                          </td>
                        </tr>
                        <tr>
                          <td id="Y4a" width="25" valign="top"><br>
                          </td>
                          <td valign="top" bgcolor="#ffff00"><br>
                          </td>
                          <td valign="top" bgcolor="#ffff00"><br>
                          </td>
                          <td valign="top" bgcolor="#ffff00"><br>
                          </td>
                          <td id="Y6a" width="25" valign="top"><br>
                          </td>
                        </tr>
                        <tr>
                          <td id="Y7a" width="25" valign="top"><br>
                          </td>
                          <td valign="top" bgcolor="#ffff00"><br>
                          </td>
                          <td valign="top" bgcolor="#ffff00"><br>
                          </td>
                          <td valign="top" bgcolor="#ffff00"><br>
                          </td>
                          <td id="Y9a" width="25" valign="top"><br>
                          </td>
                        </tr>
                        <tr>
                          <td width="25" valign="top" height="25"><br>
                          </td>
                          <td id="Y7b" valign="top" height="25"><br>
                          </td>
                          <td id="Y8b" valign="top" height="25"><br>
                          </td>
                          <td id="Y9b" valign="top" height="25"><br>
                          </td>
                          <td width="25" valign="top" height="25"><br>
                          </td>
                        </tr>
                      </tbody>
                    </table>
                    <div id="divVisaOverlayCirklar"></div>
                    <div id="divVisaOverlayVertikalaPilar"></div>
                    <div id="divVisaOverlayKors"></div>
                    <div id="divVisaOverlayDiagonal"></div>
                    <div id="divOverlayPyramidMedsols"></div>
                    <div id="divOverlayPyramidMotsols"></div>
                  </td>
                </tr>
              </tbody>
            </table>
          </td>
        </tr>
        <tr align="center" valign="top">
          <td id="txtInfoBild" style="font-size: 30px; font-weight: bold;
            font-family: Arial, Helvetica, sans-serif;" valign="top">
          </td>
        </tr>
        <tr>
          <td valign="top">
            <table id="tNotation" style="visibility: hidden;" width="100%" cellspacing="2"
              cellpadding="2" border="0">
              <tbody>
                <tr align="center">
                  <td valign="top">Aktuella sk Notationer för 2 look PLL<br>
                  </td>
                </tr>
                <tr>
                  <td valign="top">
                    <table width="100%" cellspacing="2" cellpadding="2"
                      border="0">
                      <tbody>
                        <tr class="cellTXT">
                         <td valign="top" align="center"><b>x'</b><b><br>
                            </b> </td>
                          <td valign="top" align="center"><b>U</b><b><br>
                            </b> </td>
                          <td valign="top" align="center"><b>R</b><b><br>
                            </b> </td>
                          <td valign="top" align="center"><b>D</b><b><br>
                            </b> </td>
                          <td valign="top" align="center"><b>M</b><b><br>
                            </b> </td>
                        </tr>
                        <tr>
                          <td valign="top" align="center"><img
                              moz-do-not-send="true"
                              src="http://ngn.nu/HTML/Kuben/Bilder/x-1.png"
                              title="Rubriks Kub Tippa hela Kuben mot dig"
                              alt="[Bild: Rubriks Kub Tippa hela Kuben mot dig]"
                              width="93" height="100"><br>
                          </td>
                          <td valign="top" align="center"><img
                              moz-do-not-send="true"
                              src="http://ngn.nu/HTML/Kuben/Bilder/U.png"
                              title="Rubriks Kub Up motsols"
                              alt="[Bild: Rubriks Kub Up medsols]"
                              width="93" height="100"> </td>
                          <td valign="top" align="center"><img
                              moz-do-not-send="true"
                              src="http://ngn.nu/HTML/Kuben/Bilder/R.png"
                              title="Rubriks Kub Right medsols"
                              alt="[Bild: Rubriks Kub Right medsols]"
                              width="93" height="100"> </td>
                          <td valign="top" align="center"><img
                              moz-do-not-send="true"
                              src="http://ngn.nu/HTML/Kuben/Bilder/D.png"
                              title="Rubriks Kub Down medsols"
                              alt="[Bild: Rubriks Kub Down medsols]"
                              width="93" height="100"> </td>
                          <td valign="top" align="center"><img
                              moz-do-not-send="true"
                              src="http://ngn.nu/HTML/Kuben/Bilder/M.png"
                              title="Rubriks Kub Middle medsols"
                              alt="[Bild: Rubriks Middle medsols]"
                              width="93" height="100"> </td>
                        </tr>
                        <tr class="cellTXT">
                          <td valign="top" align="center"><b>Lw'</b><b><br>
                            </b></td>
                          <td valign="top" align="center"><b>U'</b><b><br>
                            </b></td>
                          <td valign="top" align="center"><b>R'</b><b><br>
                            </b></td>
                          <td valign="top" align="center"><b>D'</b><b><br>
                            </b></td>
                          <td valign="top" align="center"><b>M'</b><b><br>
                            </b></td>
                        </tr>
                         <tr>
                          <td valign="top" align="center"><img
                              moz-do-not-send="true"
                              src="http://ngn.nu/HTML/Kuben/Bilder/Lw-1.png"
                              title="Rubriks Left wide motsols" alt="[Bild:
                              Rubriks Kub Left wide motsols]" width="93"
                              height="100"></td>
                          <td valign="top" align="center"><img
                              moz-do-not-send="true"
                              src="http://ngn.nu/HTML/Kuben/Bilder/U-1.png"
                              title="Rubriks Kub Up motsols" alt="[Bild:
                              Rubriks Kub Up motsols]" width="93"
                              height="100"></td>
                          <td valign="top" align="center"><img
                              moz-do-not-send="true"
                              src="http://ngn.nu/HTML/Kuben/Bilder/R-1.png"
                              title="Rubriks Kub Right medsols"
                              alt="[Bild: Rubriks Kub Right medsols]"
                              width="93" height="100"></td>
                          <td valign="top" align="center"><img
                              moz-do-not-send="true"
                              src="http://ngn.nu/HTML/Kuben/Bilder/D-1.png"
                              title="Rubriks Kub Down motsols"
                              alt="[Bild: Rubriks Kub Down motsols]"
                              width="93" height="100"></td>
                          <td valign="top" align="center"><img
                              moz-do-not-send="true"
                              src="http://ngn.nu/HTML/Kuben/Bilder/M-1.png"
                              title="Rubriks Kub Middle motsols"
                              alt="[Bild: Rubriks Right Middle motsols]"
                              width="93" height="100"></td>
                        </tr>
                      </tbody>
                    </table>
                  </td>
                </tr>
              </tbody>
            </table>
          </td>
        </tr>
      </tbody>
    </table>
    <div class="signatur">NGN© 2023</div>
    <div class="To2look"><button type="button" name="btnToHTML"
              onclick="location.href='http://ngn.nu/HTML/Kuben/2lookOLL.html'" style="height: 50px; width:
              175px; font-size: 20;">Till 2lookOLL</button>
    </div>
    <div class="About" id="AboutID" onclick="document.getElementById('aboutTXTid').style.display = 'block';">≣</div>
    <div id="aboutTXTid" class="aboutTXT"><a onclick="document.getElementById('aboutTXTid').style.display = 'none';">Ett tack till cuboss.se som utan att veta om det varit en inspirationskälla och till en del också fått stå för en del grunddatainsamling, via sin rikliga och pedagogiska information :D<br>Kunstruktiv kommunikation emotses till: nisse@ngn.nu</a></div>
    <script type="text/javascript">
	// 'globala'
	var sCorner1 = "";
	var sCorner3 = "";
	var sCorner7 = "";
	var sCorner9 = "";
	var sKantBit2 = "";
	var sKantBit4 = "";
	var sKantBit6 = "";
	var sKantBit8 = "";
	var bitString = "";
	var iKantBitar = 0;
	var iCornerBitar = 0;
	var sCorneBitarColor = "";
	var sKantBitarColor = "";
	var sCornerColor = "";
	var sMissingColor="";
	var sFoundString = "";
	var iFoundIndex = 0;
	var strBildText = "";
	
	// array
	const aBitString = ["1ag", "1bg", "2bg", "3bg", "3ag", "4ag", "6ag", "7ag", "7bg", "8bg", "9bg", "9ag"]
	// Sekvenser / algoritmer
	const s2lPLLsekvens = ["Lw’ (U R’ D2) (R U’ R’) (D2 R2)", "x’ (R U’ R’ D) (R U R’ D’) (R U R’ D) (R U’ R’ D’)", "M2′ U’ M2′ U2′ M2′ U’ M2′", "(M’ U’) (M2′ U’) (M2′ U’) (M’ U2′ M2′) U", "(M2' U' M') (U2 M U' M2')", "(R2′ U R U) (R’ U’ R’ U’) (R’ U R’)", "(M2' U M') (U2 M U M2')", "(R U’ R U) (R U R U’ R’) (U’ R2′)"]	
	//			A-perm				    E-perm						    H-perm		      Z-perm					U-perm(a1)		       U-perm(a2)			      U-perm(b1)		  U-perm(b2)
	// index               0                                  1                                                     2                        3                                       4                              5                                    6                          7
	// Kuben löst!
	const s2lPLLsolved = ["GRrRBgbOGoBO", "OGgGRorBObRB", "BOoOGbgRBrGR", "RBbBOroGRgOG"]
	// Index               0              1               2               3
	// Index 0-3
	
	// Hörnbitarna beöver läggas rätt:
	// A-perm (2 Look PLL)
	// 2 look PLL A-perm (PLL A-perm(a)); s2lPLLsekvens, index 0:
	const s2lPLL_A_PAa_string = ["BObOGroGRgRB", "GRrBOgbRBoOG", "RBgGRorOGbBO", "OGoRBbgBOrGR", "RBrBOgbOGoGR", "OGgRBorGRbBO", "GRoOGbgBOrRB", "BObGRroRBgOG", "OGoGRbgRBrBO", "RBbOGroBOgGR", "BOrRBgbGRoOG", "GRgBOorOGbRB", "GRgRBorBObOG", "BOoGRbgOGrRB", "OGbBOroRBgGR", "RBrOGgbGRoBO"]
	// 'norrut'                    ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^ 
	// Index                     4                5               6               7               8               9               10              11              12               13             14              15              16              17              18              19
	// Index 4-19
	// Två rätvända hörn 'norrut'
	// A-perm(PLL A-perm(a))
	// (Tre hörnbitar ska roteras medsols.)
	//                          3, 7 & 8 rätt; Grön & Röd (7GR)                                   3, 7 & 8 rätt; Orange & Grön (7OG)                              3, 7 & 8 rätt; Röd & Blå (7RB)                                  3, 7 & 8 rätt; Blå Orange (7BO)

	// 2 look PLL A-perm (PLL A-perm(b)); s2lPLLsekvens, index 0:
	const s2lPLL_A_PAb_string = ["OGbRBroGRgBO", "GRrOGgbBOoRB", "BOgGRorRBbOG", "RBoBObgOGrGR", "BOrGRgbOGoRB", "OGgBOorRBbGR", "RBoOGbgGRrBO", "GRbRBroBOgOG", "RBgOGorBObGR", "BOoRBbgGRrOG", "GRbBOroOGgRB", "OGrGRgbRBoBO", "GRoBObgRBrOG", "RBbGRroOGgBO", "OGrRBgbBOoGR", "BOgOGorGRbRB"]
	// 'norrut'                       ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^
	// Index                      20              21              22              23              24              25              26              27              28              29              30              31              32              33              34              35
	// Index 20-35
	// Två rätvända hörn 'norrut'
	// A-perm(PLL A-perm(b))
	// (Tre hörnbitar ska roteras motsols.)
	//                         3, 7 & 8 rätt; Grön & Röd (7GR)                                    3, 7 & 8 rätt; Orange & Grön (7OG)                              3, 7 & 8 rätt; Blå & Orange (7BO)                              3, 7 & 8 rätt; Röd & Blå (7RB)

	// 2 look PLL A-perm (PLL E-perm); s2lPLLsekvens, index 0:
	const s2lPLL_A_PE_string = ["RBoGRbgBOrOG", "BObRBroOGgGR", "OGrBOgbGRoRB", "GRgOGorRBbBO", "GRbOGroRBgBO", "RBrGRgbBOoOG", "BOgRBorOGbGR", "OGoBObgGRrRB"]
	// 'norrut'                   ^ ^                ^     ^      ^ ^                ^     ^      ^ ^                ^     ^      ^ ^                ^     ^
	// Index                      36               37             38               39              40              41              42                43
	// Index 36-43
	// Två olikfärgade hörn 'norrut'
	// A-perm(PLL E-perm)
	// (Alla hörnbitar ligger rätt.)
	//                           2, 4, 6 & 8 ligger rätt 1 & 7 samt 3 & 9 byter plats (1RB & 3GR) 2, 4, 6 & 8 ligger rätt 1 & 7 samt 3 & 9 byter plats (1GR & 3OG)

	// 2 look PLL A-perm (PLL T-perm); s2lPLLsekvens, index 0:
	const s2lPLL_A_PT_string = ["RBbOGorGRgBO", "GRoRBgbBOrOG", "BOgGRroOGbRB", "OGrBObgRBoGR", "GRrBObgOGoRB", "OGbGRorRBgBO", "RBoOGgbBOrGR", "BOgRBroGRbOG", "OGgRBroBObGR", "BOrOGbgGRoRB", "GRbBOorRBgOG", "RBoGRgbOGrBO", "BOoGRgbRBrOG", "RBgBOroOGbGR", "OGrRBbgGRoBO", "GRbOGorBOgRB"]
	// 'norrut'                  ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^
	// Index                     44              45               46                 47           48                49               50            51             52                53             54            55                56               57               58             59
	// Index 44-59
	// Två rätvända hörn 'norrut'
	// A-perm(PLL T-perm)
	// (Två hörbitar ska byta plats och två kantbitar (som ett 'T').)
	//                       1, 2, 7 & 8 är rätt; 1RB & 7GR                                       1, 2, 7 & 8 är rätt; 1GR & 7OG                                 1, 2, 7 & 8 är rätt; 1OG & 7BO                                  1, 2, 7 & 8 är rätt; 1BO & 7RB

	// 2 look PLL A-perm (PLL J-perm(a)); s2lPLLsekvens, index 0:
	const s2lPLL_A_PJa_string = ["RBbOGrgGRoBO", "GRrRBobBOgOG", "BOoGRgrOGbRB", "OGgBOboRBrGR" ,"BOoGRbrRBgOG", "RBbBOgoOGrGR", "OGgRBrbGRoBO", "GRrOGogBObRB", "GRrBOgoOGbRB", "OGgGRbrRBoBO", "RBbOGogBOrGR", "BOoRBrbGRgOG", "OGgRBobBOrGR", "BOoOGrgGRbRB", "GRrBOboRBgOG", "RBbGRgrOGoBO"]
	// 'norrut'                   ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^
	// Index                       60             61               62               63             64               65               66             67              68             69              70               71               72               73             74               75 
	// Index 60-75
	// Två rätvända hörn 'norrut'
	// A-perm(PLL J-perm(a))
	// (Två kantbitar och två hörnbitar som ligger bredvid varandra ska byta plats. Håll den helfärgade sidan åt vänster.)
	//                          Röd helsida                                                       Blå helsida                                                     Grön helsida                                                    Orange helsida
	  
	// 2 look PLL A-perm (PLL J-perm(b)); s2lPLLsekvens, index 0:
	const s2lPLL_A_PJb_string = ["OGbBOogRBrGR", "RBoOGrbGRgBO", "GRrRBgoBObOG", "BOgGRbrOGoRB", "GRoOGgrBObRB", "BOgGRboRBrOG", "RBbBOrgOGoGR", "OGrRBobGRgBO", "BOrRBboGRgOG", "GRbBOgrOGoRB", "OGgGRobRBrBO", "RBoOGrgBObGR", "RBgGRrbOGoBO", "OGrRBogBObGR", "BOoOGbrGRgRB", "GRbBOgoRBrOG"]
	// 'norrut'                          ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^
	// Index                      76               77                78              79             80             81               82             83                 84               85            86             87             88               89               90            91
	// Index 76-91
	// Två rätvända hörn 'norrut'
	// A-perm(PLL J-perm(b))
	// (Två kantbitar och två hörnbitar som ligger bredvid varandra ska byta plats (spegelvänd). Håll den helfärgade sidan nedåt, mot dig, 'söderut'.)
	//                          Röd helsida                                                       Blå helsida                                                     Grön helsida                                                   Orange helsida

	// 2 look PLL A-perm (PLL F-perm); s2lPLLsekvens, index 0:
	const s2lPLL_A_PF_string = ["RBgOGroGRbBO", "GRrRBbgBOoOG", "BObGRorOGgRB", "OGoBOgbRBrGR", "GRoBOgbOGrRB", "OGgGRroRBbBO", "RBrOGbgBOoGR", "BObRBorOGgGR", "OGbRBorBOgGR", "BOoOGgbGRrRB", "GRgBOroRBbOG", "RBrGRbgOGoBO", "BOrGRbgRBoOG", "RBbBOorOGgGR", "OGoRBgbGRrBO", "GRgOGroBObRB"]
	// 'norrut'                  ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^
	// Index                    92                93              94               95              96               97              98               99              100            101            102            103                104           105              106           107
	// Index 92-107
	// Två rätvända hörn 'norrut'
	// A-perm(PLL F-perm)
	// (Två hörn ska byta plats & två kantbitar 'rakt över'.)
	//                           1, 4, 6 & 7 är rätt; 1RB & 7GR                                  1, 4, 6 & 7 är rätt; 1GR & 7OG                                 1, 4, 6 & 7 är rätt; 1OG & 7BO                                     1, 4, 6 & 7 är rätt; 1BO & 7RB

	// 2 look PLL A-perm (PLL R-perm(b)); s2lPLLsekvens, index 0:
	const s2lPLL_A_PRb_string = ["BObRBrgGRoOG", "GRrBOobOGgRB", "OGoGRgrRBbBO", "RBgOGboBOrGR", "RBrGRgoOGbBO", "OGgRBbrBOoGR", "BObOGogGRrRB", "GRoBOrbRBgOG", "GRgOGobBOrRB", "BOoGRrgRBbOG", "RBrBOboOGgGR", "OGbRBgrGRoBO", "OGoBObrRBgGR", "RBbOGgoGRrBO", "GRgRBrbBOoOG", "BOrGRogOGbRB"]
	// 'norrut'                          ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^
	// Index                      108              109               110           111            112               113             114               115           116            117             118              119            120              121              122          123
	// Index 108-123
	// Två rätvända hörn 'norrut'
	// A-perm(PLL R-perm(b))
	// (Två hörn ska byta plats & två kantbitar 'diagonalt' 1-3 & 6-8.)
	//                          2, 4, 7 & 9 är rätt; 7GR & 9OG                                    2, 4, 7 & 9 är rätt; 7OG & 9BO                                 2, 4, 7 & 9 är rätt; 7BO & 9RB                                   2, 4, 7 & 9 är rätt; 7RB & 9GR
  
	// 2 look PLL A-perm (PLL R-perm(a)); s2lPLLsekvens, index 0:
	const s2lPLL_A_PRa_string = ["OGoBOrgRBbGR", "RBrOGboGRgBO", "GRbRBgrBOoOG", "BOgGRobOGrRB", "BObRBgoGRrOG", "GRgBOrbOGoRB", "OGrGRogRBbBO", "RBoOGbrBOgGR", "RBrGRobOGgBO", "OGoRBgrBObGR", "BOgOGboGRrRB", "GRbBOrgRBoOG", "GRgOGbrBOoRB", "BObGRogRBrOG", "RBoBOrbOGgGR", "OGrRBgoGRbBO"]
	// 'norrut'                          ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^
	// Index                      124             125              126             127             128              129             130               131           132            133              134             135             136            137            138              139
	// Index 124-139
	// Två rätvända hörn 'norrut'
	// A-perm(PLL R-perm(a))
	// (Två hörn ska byta plats & två kantbitar 'diagonalt' 1-3 & 4-8.)
	//                          2, 6, 7 & 9 är rätt; 7RB & 9GR                                    2, 6, 7 & 9 är rätt; 7GR & 9OG                                 2, 6, 7 & 9 är rätt; 7OG & 9BO                                   2, 6, 7 & 9 är rätt; 7BO & 9RB

	// 2 look PLL A-perm (PLL G-perm(a)); s2lPLLsekvens, index 0:
	const s2lPLL_A_PGa_string = ["BOrGRobRBgOG", "RBoBOgrOGbGR", "OGgRBboGRrBO", "GRbOGrgBOoRB", "RBgOGbrGRoBO", "GRbRBogBOrOG", "BOoGRrbOGgRB", "OGrBOgoRBbGR", "GRoBOrgOGbRB", "OGrGRboRBgBO", "RBbOGgrBOoGR", "BOgRBobGRrOG", "OGbRBgoBOrGR", "BOgOGrbGRoRB", "GRrBOogRBbOG", "RBoGRbrOGgBO"]
	// 'norrut'                   ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^
	// Index                      140             141              142              143           144             145             146             147             148               149            150            151                152            153            154            155
	// Index 140-155
	// 'vänd kuben' & Ringa in:   
	// Hörnbitarna ska byta plats 'vertikalt' - sedan ska kantbitar (kanske) skiftas.
	// (Vad jag kan se så kan det gå att följa regeln: 1bR & 3bO uppåt samt 7bR & 9bO nedåt. x' betyder att du ska tippa kuben mot dig. Den gula sidan ska peka på magen.)
	// A-perm(PLL G-perm(a))
	// PLL: 3 hörnbitar ska rotera medsols och tre kanbitar motsols (1-3-7 & 2-4-6)
	//                           8 & 9 är rätt; 8g & 9OG                                          8 & 9 är rätt; 8o & 9BO                                         8 & 9 är rätt; 8b & 9RB                                         8 & 9 är rätt; 8r & 9GR

	// 2 look PLL A-perm (PLL G-perm(b)); s2lPLLsekvens, index 0:
	const s2lPLL_A_PGb_string = ["RBrOGogGRbBO", "GRoRBbrBOgOG", "BObGRgoOGrRB", "OGgBOrbRBoGR", "GRgBOboOGrRB", "OGbGRrgRBoBO", "RBrOGobBOgGR", "BOoRBgrGRbOG", "OGoRBrbBOgGR", "BOrOGgoGRbRB", "GRgBObrRBoOG", "RBbGRogOGrBO", "BObGRgrRBoOG", "RBgBOobOGrGR", "OGoRBrgGRbBO", "GRrOGboBOgRB"]
	// 'norrut'                   ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^
	// Index                        156            157             158            159             160             161              162            163             164              165              166            167               168             169            170             171
	// Index 156-171
	// 'vänd kuben' & Ringa in:   
	// Hörnbitarna ska byta plats 'vertikalt' - sedan ska kantbitar (kanske) skiftas.
	// (Vad jag kan se så kan det gå att följa regeln: 1bR & 3bO uppåt samt 7bR & 9bO nedåt. x' betyder att du ska tippa kuben mot dig. Den gula sidan ska peka på magen.)
	// A-perm(PLL G-perm(b))
	// PLL: 3 hörnbitar ska rotera motsols och tre kanbitar medsols (1-7-9 & 2-4-8)
	//                           3 & 6 är rätt; 3OG & 6g                                          3 & 6 är rätt; 3BO & 6o                                         3 & 6 är rätt; 3RB & 6b                                         3 & 6 är rätt; 3GR & 6r

	// 2 look PLL A-perm (PLL G-perm(c)); s2lPLLsekvens, index 0:
	const s2lPLL_A_PGc_string = ["RBoOGgrGRbBO", "GRgRBboBOrOG", "BObGRrgOGoRB", "OGrBOobRBgGR", "GRbBOogOGrRB", "OGoGRrbRBgBO", "RBrOGgoBObGR", "BOgRBbrGRoOG", "OGrRBboBOgGR", "BObOGgrGRoRB", "GRgBOobRBrOG", "RBoGRrgOGbBO", "BOgGRrbRBoOG", "RBrBOogOGbGR", "OGoRBbrGRgBO", "GRbOGgoBOrRB"]
	// 'norrut'                   ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^
	// Index                      172               173              174           175             176              177            178            179               180             181             182            183              184             185             186            187
	// Index 172-187
	// 'vänd kuben' & Ringa in:   
	// Hörnbitarna ska byta plats 'vertikalt' - sedan ska kantbitar (kanske) skiftas.
	// (Vad jag kan se så kan det gå att följa regeln: 1bR & 3bO uppåt samt 7bR & 9bO nedåt. x' betyder att du ska tippa kuben mot dig. Den gula sidan ska peka på magen.)
	// A-perm(PLL G-perm(c))
	// PLL: 3 hörnbitar ska rotera motsols och tre kanbitar medsols (1-7-9 & 4-6-8)
	//                           2 & 3 är rätt; 2o & 3OG                                          2 & 3 är rätt; 2b & 3BO                                         2 & 3 är rätt; 2r & 3RB                                         2 & 3 är rätt; 2g & 3GR

	// 2 look PLL A-perm (PLL G-perm(d)); s2lPLLsekvens, index 0:
	const s2lPLL_A_PGd_string = ["RBgOGobGRrBO", "GRoRBrgBObOG", "BOrGRboOGgRB", "OGbBOgrRBoGR", "GRoBObrOGgRB", "OGbGRgoRBrBO", "RBgOGrbBOoGR", "BOrRBogGRbOG", "OGbRBrgBOoGR", "BOrOGobGRgRB", "GRoBOgrRBbOG", "RBgGRboOGrBO", "BOrGRgoRBbOG", "RBgBObrOGoGR", "OGbRBogGRrBO", "GRoOGrbBOgRB"]
	// 'norrut'                   ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^    ^       ^        ^ ^                ^     ^            ^   ^
	// Index                      188              189               190           191             192             193              194            195              196            197             198             199              200              201           202            203
	// Index 188-203
	// 'vänd kuben' & Ringa in:   
	// Hörnbitarna ska byta plats 'vertikalt' - sedan ska kantbitar (kanske) skiftas.
	// (Vad jag kan se så kan det gå att följa regeln: 1bR & 3bO uppåt samt 7bR & 9bO nedåt. x' betyder att du ska tippa kuben mot dig. Den gula sidan ska peka på magen.)
	// A-perm(PLL G-perm(d))
	// PLL: 3 hörnbitar ska rotera medsols och tre kanbitar motsols (1-3-7 & 2-4-8)
	//                           6 & 9 är rätt; 6b & 9BO                                          6 & 9 är rätt; 6r & 9RB                                         6 & 9 är rätt; 6g & 9GR                                         6 & 9 är rätt; 6o & 9OG

	// *********************************************
	// E-perm (2 Look PLL)
	// 2 look PLL E-perm (PLL Y-perm); s2lPLLsekvens, index 1:
	const s2lPLL_E_PY_string = ["RBoGRrbBOgOG", "BOrRBgoOGbGR", "OGgBObrGRoRB", "GRbOGogRBrBO", "GRbOGgrRBoBO", "RBgGRobBOrOG", "BOoRBrgOGbGR", "OGrBOboGRgRB", "OGrBOogGRbRB", "GRoOGbrRBgBO", "RBbGRgoBOrOG", "BOgRBrbOGoGR", "BOgRBboOGrGR", "OGbBOrgGRoRB", "GRrOGobRBgBO", "RBoGRgrBObOG"]
	// 'vänd kuben' & Ringa in:  ^   ^   ^ ^      ^ ^   ^   ^    ^   ^   ^ ^      ^ ^   ^   ^     ^ ^   ^   ^    ^   ^   ^ ^      ^ ^   ^   ^    ^   ^   ^       ^   ^   ^ ^      ^ ^   ^   ^    ^   ^   ^ ^      ^ ^   ^         ^ ^   ^   ^    ^   ^   ^ ^      ^ ^   ^   ^    ^   ^   ^ 
	// Index                     204             205             206                 207           208            209             210            211               212              213            214           215                 216           217            218             219
	// Index 204-219
	// Visa med vertikala pilar
	// E-perm(PLL Y-perm)
	// (Vad jag kan se så kan det gå att följa regeln: 1bR & 3bO uppåt samt 7bR & 9bO nedåt. x' betyder att du ska tippa kuben mot dig. Den gula sidan ska peka på magen.)
	//                          RedLeft                                                          GreenLeft                                                       OrangeLeft                                                      BlueLeft

	// 2 look PLL E-perm (PLL V-perm); s2lPLLsekvens, index 1:
	const s2lPLL_E_PV_string = ["OGoBOrbGRgRB", "GRrOGgoRBbBO", "RBgGRbrBOoOG", "BObRBogOGrGR", "BObRBgrOGoGR", "OGgBOobGRrRB", "GRoOGrgRBbBO", "RBrGRboBOgOG", "RBrGRogBObOG", "BOoRBbrOGgGR", "OGbBOgoGRrRB", "GRgOGrbRBoBO", "GRgOGboRBrBO", "GRgOGboRBrBO", "BOrRBobOGgGR", "OGoBOgrGRbRB"]
	// 'vänd kuben' & Ringa in:  ^   ^   ^ ^      ^ ^   ^   ^    ^   ^   ^ ^      ^ ^   ^         ^ ^   ^  ^     ^   ^   ^ ^      ^ ^   ^   ^    ^   ^   ^       ^   ^   ^ ^      ^ ^   ^   ^    ^   ^   ^ ^      ^ ^   ^   ^     ^ ^   ^   ^     ^ ^   ^   ^     ^ ^   ^   ^    ^   ^   ^ ^
	// Index                     220             221               222            223               224            225              226            227              228           229             230             231               232           233              234            235
	// Index 220-235
	// Visa med vertikala pilar
	// E-perm(PLL V-perm)
	// (Vad jag kan se så kan det gå att följa regeln: 1bR & 3bO uppåt samt 7bR & 9bO nedåt. x' betyder att du ska tippa kuben mot dig. Den gula sidan ska peka på magen.)
	//                          3, 4, 7 & 8 är rätt; 3BO & 7GR                                   3, 4, 7 & 8 är rätt; 3RB & 7OG                                  3, 4, 7 & 8 är rätt; 3GR & 7BO                                  3, 4, 7 & 8 är rätt; 3OG & 7RB

	// 2 look PLL E-perm (PLL N-perm(a)); s2lPLLsekvens, index 1:
	const s2lPLL_E_PNa_string = ["RBbGRorBOgOG", "BOoRBgbOGrGR", "OGgBOroGRbRB", "GRrOGbgRBoBO"]
	// 'vänd kuben' & Ringa in:   ^   ^   ^ ^      ^     ^   ^    ^   ^   ^ ^      ^ ^   ^   
	// Visa med vertikala pilar
	// Index                      236             237             238              239
	// Index 236-239
	// Hörnbitarna ska byta plats 'vertikalt' - sedan ska kantbitar (kanske) skiftas.
	// (Vad jag kan se så kan det gå att följa regeln: 1bR & 3bO uppåt samt 7bR & 9bO nedåt. x' betyder att du ska tippa kuben mot dig. Den gula sidan ska peka på magen.)
	// E-perm(PLL N-perm(a))
	// PLL: Två hörnbitar byter plats diagonalt och två kantbitar rakt över (3-7 & 4-6)
	//                           1, 2, 8 & 9 är rätt; (1RB & 9OG) + (1GR & 9BO) + (1OG & 9RB) + (1BO & 9GR)

	// 2 look PLL E-perm (PLL N-perm(b)); s2lPLLsekvens, index 1:
	const s2lPLL_E_PNb_string = ["OGbBOorGRgRB", "GRoOGgbRBrBO", "RBgGRroBObOG", "BOrRBbgOGoGR"]
	// 'vänd kuben' & Ringa in:   ^   ^   ^ ^      ^ ^   ^   ^    ^   ^   ^ ^      ^ ^   ^   ^
	// Index                      240             241             242             243
	// Index 240-243
	// Hörnbitarna ska byta plats 'vertikalt' - sedan ska kantbitar (kanske) skiftas.
	// (Vad jag kan se så kan det gå att följa regeln: 1bR & 3bO uppåt samt 7bR & 9bO nedåt. x' betyder att du ska tippa kuben mot dig. Den gula sidan ska peka på magen.)
	// Visa med vertikala pilar
	// E-perm(PLL N-perm(a))
	// PLL: Två hörnbitar byter plats diagonalt och två kantbitar rakt över (1-9 & 4-6)
	//                           2, 3, 7 & 8 är rätt; (3BO & 7GR) + (3RB & 7OG) + (3GR & 7BO) + (3OG & 7RB)
	
	// Alla hörnbitar ligger rätt:
	// **********************************************
	// H-perm (2 look PLL)
	// 2 look PLL H-perm (PLL H-perm); s2lPLLsekvens, index 2:
	const s2lPLL_H_PH_string = ["RBgBOorGRbOG", "GRoRBbgOGrBO", "OGbGRroBOgRB", "BOrOGgbRBoGR"]
	// Index                      244              245             246           247
	// Index 244-247
	// Ska gå att hålla den 'hur som helst'
	// kantbitarna ska byta plats korsvis.
	// H-perm=(PLL H-perm)
	// PLL: Alla hörnbitar rätt. Kantbitarna ska byta plats korsvis (tvärs över)

	// **********************************************
	// Z-perm (2 look PLL)
	// 2 look PLL Z-perm (PLL H-perm); s2lPLLsekvens, index 3:
	//                                                                                                           
	const s2lPLL_Z_PZ_string = ["RBoBOgbGRrOG", "GRgRBroOGbBO", "OGrGRbgBOoRB", "BObOGorRBgGR", "RBrBObgGRoOG", "GRbRBorOGgBO", "OGoGRgbBOrRB", "BOgOGroRBbGR"]
	// 'norrut'                   
	//			     RBoBO                                                            RBrBO
	// Index                    248               249             250            251             252              253              254             255
	// Index 248-255
	// Placera den så som bilden visar.
	// Alla hörnbitar rätt. Kantbitarna ska byta plats diagonalt 2-4 & 6-8
	// Z-perm=(PLL Z-perm)
	// PLL: Alla hörnbitar rätt. Kantbitarna ska byta plats diagonalt.

	// **********************************************
	// U-perm(a) (2 look PLL)
	// 2 look PLL U-perm(a) (PLL U-perm(a)); s2lPLLsekvens, index 4:
	// (M2' U' M') (U2 M U' M2')
	// index 5: (R2′ U R U) (R’ U’ R’ U’) (R’ U R’) - vrid kuben 180°
	const s2lPLL_U_PUa_string = ["RBoBObrGRgOG", "GRbRBgoOGrBO", "OGgGRrbBOoRB", "BOrOGogRBbGR", "BOgOGobRBrGR", "RBoBOrgGRbOG", "GRrRBboOGgBO", "OGbGRgrBOoRB", "GRbRBrgOGoBO", "OGrGRobBOgRB", "BOoOGgrRBbGR", "RBgBOboGRrOG", "OGrGRgoBObRB", "BOgOGbrRBoGR", "RBbBOogGRrOG", "GRoRBrbOGgBO"]
	// 'söderut'                         ^ ^ ^    ^    ^  ^        ^^^                ^ ^   ^            ^ ^ ^    ^    ^  ^        ^^^                ^ ^   ^            ^ ^ ^    ^    ^  ^        ^^^                ^ ^   ^            ^ ^ ^    ^    ^  ^        ^^^                ^ ^   ^
	//			     Grön, hel sida.                                                 Röd, hel sida                                                    Orange, hel sida                                                Blå, hel sida
	// Index                      256              257            258             259             260             261            262               263            264             265             266              267              268           269             270             271
	// Index 256-271
	// Placera den så som bilden visar.
	// Alla hörn ligger rätt och en kantbit. Tre kantbitar ska rotera ett steg medsols.
	// U-perm(a)=(PLL U-perm(a))
	// PLL: Alla hörn ligger rätt och en kantbit. Tre kantbitar ska rotera ett steg medsols.
	// Om alternativet, helfärgad sidan 'norrut' (180°) 
	// Och så gäller sekvensen: (R2′ U R U) (R’ U’ R’ U’) (R’ U R’)
	// Index: 5

	// **********************************************
	// U-perm(b) (2 look PLL)
	// 2 look PLL U-perm(b) (PLL U-perm(b)); s2lPLLsekvens, index 6:
	// (M2' U M') (U2 M U M2')
	// index 7: (R U’ R U) (R U R U’ R’) (U’ R2′) - vrid kuben 180°
	const s2lPLL_U_PUb_string = ["RBrBOobGRgOG", "GRoRBgrOGbBO", "OGgGRboBOrRB", "BObOGrgRBoGR", "BObOGgoRBrGR", "RBgBOrbGRoOG", "GRrRBogOGbBO", "OGoGRbrBOgRB", "GRgRBbrOGoBO", "OGbGRogBOrRB", "BOoOGrbRBgGR", "RBrBOgoGRbOG", "OGoGRrgBObRB", "BOrOGboRBgGR", "RBbBOgrGRoOG", "GRgRBobOGrBO"]
	// 'söderut'                         ^ ^ ^    ^    ^  ^        ^^^                ^ ^   ^            ^ ^ ^    ^    ^  ^        ^^^                ^ ^   ^            ^ ^ ^    ^    ^  ^        ^^^                ^ ^   ^            ^ ^ ^    ^    ^  ^        ^^^                ^ ^   ^
	//			     Grön, hel sida.                                                 Röd, hel sida                                                    Orange, hel sida                                                Blå, hel sida
	// Index                     272              273              274             275             276             277              278           279             280              281            282             283              284             285             286             287
	// Index 272-287
	// Placera den så som bilden visar.
	// Alla hörn ligger rätt och en kantbit. Tre kantbitar ska rotera ett steg motsols.
	// U-perm(b)=(PLL U-perm(b))
	// PLL: Alla hörn ligger rätt och en kantbit. Tre kantbitar ska rotera ett steg motsols.
	// Om alternativet, helfärgad sidan 'norrut' (180°) 
	// Och så gäller sekvensen: (R U’ R U) (R U R U’ R’) (U’ R2′)
	// Index: 7
	// alternativt: ((M2' U' M') (U2 M U' M2'))2 (flytta två steg medsols) - U-perm(a)
	//		((R2′ U R U) (R’ U’ R’ U’) (R’ U R’))2 (flytta två steg medsols) - U-perm(a)
		
function fChangeColor(frID, bit, yta, vColor){
	// OBS! Det går att välja flera lika hörn - så kan vi inte ha det. > OK
	// Vid tredje valet av kantbit så ska det 4:e bli givet > OK
	// Det ska inte gå att välja samma färg på kantbitarna > OK
	// Det ska inte vara möjligt att ha endast två felvända hörn - bredvid varandra (alla kantbitar är alltså rätt) - vet inte om jag ska göra ett problem av det?
	if (bit == "1") {
	   //hörnbit
	   if (yta == "a") {
		switch (vColor) {
			// 1: RB BO OG GR
			// 3: RB BO OG GR
			// 7: RB BO OG GR
			// 9: RB BO OG GR
			case "red":
				// RB
				document.getElementById("Y_1a").style.backgroundColor = vColor;
				document.getElementById("Y_1b").style.backgroundColor = "blue";
				aBitString[0] = "1aR";
				aBitString[1] = "1bB";
				sCorner1 = "RB";
				break;
			case "blue":
				// BO
				document.getElementById("Y_1a").style.backgroundColor = vColor;
				document.getElementById("Y_1b").style.backgroundColor = "orange";
				aBitString[0] = "1aB";
				aBitString[1] = "1bO";
				sCorner1 = "BO";
				break;
			case "orange":
				// OG
				document.getElementById("Y_1a").style.backgroundColor = vColor;
				document.getElementById("Y_1b").style.backgroundColor = "green";
				aBitString[0] = "1aO";
				aBitString[1] = "1bG";
				sCorner1 = "OG";
				break;
			case "green":
				// GR
				document.getElementById("Y_1a").style.backgroundColor = vColor;
				document.getElementById("Y_1b").style.backgroundColor = "red";
				aBitString[0] = "1aG";
				aBitString[1] = "1bR";
				sCorner1 = "GR";
				break;
		}
		// om en hörnbit redan har de här färgerna - avmarkera det
		if (sCorner1 == sCorner3) {
			document.getElementById("Y_3a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_3b").style.backgroundColor = "lightgrey";
			aBitString[4] = "3ag";
			aBitString[3] = "3bg";
			sCorner3 = "";
		} else if (sCorner1 == sCorner7) {	
			document.getElementById("Y_7a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_7b").style.backgroundColor = "lightgrey";
			aBitString[7] = "7ag";
			aBitString[8] = "7bg";
			sCorner7 = "";
		} else if (sCorner1 == sCorner9) {	
			document.getElementById("Y_9a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_9b").style.backgroundColor = "lightgrey";
			aBitString[11] = "9ag";
			aBitString[10] = "9bg";
			sCorner9 = "";
		}
	   }	
	   if (yta == "b") {
		//hörnbit
		switch (vColor) {
			// RB BO OG GR
			case "red":
				// GR
				document.getElementById("Y_1b").style.backgroundColor = vColor;
				document.getElementById("Y_1a").style.backgroundColor = "green";
				aBitString[0] = "1aG";
				aBitString[1] = "1bR";
				sCorner1 = "GR";
				break;
			case "blue":
				// RB
				document.getElementById("Y_1b").style.backgroundColor = vColor;
				document.getElementById("Y_1a").style.backgroundColor = "red";
				aBitString[0] = "1aR";
				aBitString[1] = "1bB";
				sCorner1 = "RB";
				break;
			case "orange":
				// BO
				document.getElementById("Y_1b").style.backgroundColor = vColor;
				document.getElementById("Y_1a").style.backgroundColor = "blue";
				aBitString[0] = "1aB";
				aBitString[1] = "1bO";
				sCorner1 = "BO";
				break;
			case "green":
				// OG
				document.getElementById("Y_1b").style.backgroundColor = vColor;
				document.getElementById("Y_1a").style.backgroundColor = "orange";
				aBitString[0] = "1aO";
				aBitString[1] = "1bG";
				sCorner1 = "OG";
				break;
		}
		// om en hörnbit redan har de här färgerna - avmarkera det
		if (sCorner1 == sCorner3) {
			document.getElementById("Y_3a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_3b").style.backgroundColor = "lightgrey";
			aBitString[4] = "3ag";
			aBitString[3] = "3bg";
			sCorner3 = "";
		} else if (sCorner1 == sCorner7) {	
			document.getElementById("Y_7a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_7b").style.backgroundColor = "lightgrey";
			aBitString[7] = "7ag";
			aBitString[8] = "7bg";
			sCorner7 = "";
		} else if (sCorner1 == sCorner9) {	
			document.getElementById("Y_9a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_9b").style.backgroundColor = "lightgrey";
			aBitString[11] = "9ag";
			aBitString[10] = "9bg";
			sCorner9 = "";
		}
	   }
	   iCornerBitar = iCornerBitar + 1;
	}	
	if (bit == "2" && yta == "b") {
		// kantbit
		document.getElementById("Y_2b").style.backgroundColor = vColor;
		aBitString[2] = bit + yta + vColor.substring(0, 1).toUpperCase();
		sKantBit2 = vColor;
		// kontroller om annan kantbit fått detta val - rensa den då
		if (sKantBit2 == sKantBit4) {
			document.getElementById("Y_4a").style.backgroundColor = "lightgrey";
			aBitString[5] = "4ag";
			sKantBit4 = "";
		}
		if (sKantBit2 == sKantBit6) {
			document.getElementById("Y_6a").style.backgroundColor = "lightgrey";
			aBitString[6] = "6ag";
			sKantBit6 = "";
		}
		if (sKantBit2 == sKantBit8) {	
			document.getElementById("Y_8b").style.backgroundColor = "lightgrey";
			aBitString[9] = "8bg";
			sKantBit8 = "";
		}
		iKantBitar = iKantBitar + 1;
	}
		
	if (bit == "3") {
		//hörnbit
	   if (yta == "b") {
		switch (vColor) {
			// RB BO OG GR
			case "red":
				// RB
				document.getElementById("Y_3b").style.backgroundColor = vColor;
				document.getElementById("Y_3a").style.backgroundColor = "blue";
				aBitString[3] = "3bB";
				aBitString[4] = "3aR";
				sCorner3 = "RB";
				break;
			case "blue":
				// BO
				document.getElementById("Y_3b").style.backgroundColor = vColor;
				document.getElementById("Y_3a").style.backgroundColor = "orange";
				aBitString[3] = "3bB";
				aBitString[4] = "3aO";
				sCorner3 = "BO";
				break;
			case "orange":
				// OG
				document.getElementById("Y_3b").style.backgroundColor = vColor;
				document.getElementById("Y_3a").style.backgroundColor = "green";
				aBitString[3] = "3bO";
				aBitString[4] = "3aG";
				sCorner3 = "OG";
				break;
			case "green":
				// GR
				document.getElementById("Y_3b").style.backgroundColor = vColor;
				document.getElementById("Y_3a").style.backgroundColor = "red";
				aBitString[3] = "3bG";
				aBitString[4] = "3aR";
				sCorner3 = "GR";
				break;
		}
		// om en hörnbit redan har de här färgerna - avmarkera det
		if (sCorner3 == sCorner1) {
			document.getElementById("Y_1a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_1b").style.backgroundColor = "lightgrey";
			aBitString[0] = "1ag";
			aBitString[1] = "1bg";
			sCorner1 = "";
		} else if (sCorner3 == sCorner7) {	
			document.getElementById("Y_7a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_7b").style.backgroundColor = "lightgrey";
			aBitString[7] = "7ag";
			aBitString[8] = "7bg";
			sCorner7 = "";
		} else if (sCorner3 == sCorner9) {	
			document.getElementById("Y_9a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_9b").style.backgroundColor = "lightgrey";
			aBitString[11] = "9ag";
			aBitString[10] = "9bg";
			sCorner9 = "";
		}
           }
	   if (yta == "a") {
		//hörnbit
		switch (vColor) {
			// RB BO OG GR
			case "red":
				// GR
				document.getElementById("Y_3a").style.backgroundColor = vColor;
				document.getElementById("Y_3b").style.backgroundColor = "green";
				aBitString[3] = "3bG";
				aBitString[4] = "3aR";
				sCorner3 = "GR";
				break;
			case "blue":
				// RB
				document.getElementById("Y_3a").style.backgroundColor = vColor;
				document.getElementById("Y_3b").style.backgroundColor = "red";
				aBitString[3] = "3bR";
				aBitString[4] = "3aB";
				sCorner3 = "RB";
				break;
			case "orange":
				// BO
				document.getElementById("Y_3a").style.backgroundColor = vColor;
				document.getElementById("Y_3b").style.backgroundColor = "blue";
				aBitString[3] = "3bB";
				aBitString[4] = "3aO";
				sCorner3 = "BO";
				break;
			case "green":
				// OG
				document.getElementById("Y_3a").style.backgroundColor = vColor;
				document.getElementById("Y_3b").style.backgroundColor = "orange";
				aBitString[3] = "3bO";
				aBitString[4] = "3aG";
				sCorner3 = "OG";
				break;
		}
		// om en hörnbit redan har de här färgerna - avmarkera det
		if (sCorner3 == sCorner1) {
			document.getElementById("Y_1a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_1b").style.backgroundColor = "lightgrey";
			aBitString[0] = "1ag";
			aBitString[1] = "1bg";
			sCorner1 = "";
		} else if (sCorner3 == sCorner7) {	
			document.getElementById("Y_7a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_7b").style.backgroundColor = "lightgrey";
			aBitString[7] = "7ag";
			aBitString[8] = "7bg";
			sCorner7 = "";
		} else if (sCorner3 == sCorner9) {	
			document.getElementById("Y_9a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_9b").style.backgroundColor = "lightgrey";
			aBitString[11] = "9ag";
			aBitString[10] = "9bg";
			sCorner9 = "";
		}
	   }
	   iCornerBitar = iCornerBitar + 1;
	}

	if (bit == "4" && yta == "a") {
		// kantbit
		document.getElementById("Y_4a").style.backgroundColor = vColor;
		aBitString[5] = bit + yta + vColor.substring(0, 1).toUpperCase();
		sKantBit4 = vColor;
		// kontroller om annan kantbit fått detta val - rensa den då
		if (sKantBit4 == sKantBit2) {
			document.getElementById("Y_2b").style.backgroundColor = "lightgrey";
			aBitString[2] = "2bg";
			sKantBit2 = "";
		}
		if (sKantBit4 == sKantBit6) {
			document.getElementById("Y_6a").style.backgroundColor = "lightgrey";
			aBitString[6] = "6ag";
			sKantBit6 = "";
		}
		if (sKantBit4 == sKantBit8) {	
			document.getElementById("Y_8b").style.backgroundColor = "lightgrey";
			aBitString[9] = "8bg";
			sKantBit8 = "";
		}
		iKantBitar = iKantBitar + 1;
	}

	if (bit == "6" && yta == "a") {
		// kantbit
		document.getElementById("Y_6a").style.backgroundColor = vColor;
		aBitString[6] = bit + yta + vColor.substring(0, 1).toUpperCase();
		sKantBit6 = vColor;
		// kontroller om annan kantbit fått detta val - rensa den då
		if (sKantBit6 == sKantBit2) {
			document.getElementById("Y_2b").style.backgroundColor = "lightgrey";
			aBitString[2] = "2bg";
			sKantBit2 = "";
		}
		if (sKantBit6 == sKantBit4) {
			document.getElementById("Y_4a").style.backgroundColor = "lightgrey";
			aBitString[5] = "4ag";
			sKantBit4 = "";
		} 
		if (sKantBit6 == sKantBit8) {	
			document.getElementById("Y_8b").style.backgroundColor = "lightgrey";
			aBitString[9] = "8bg";
			sKantBit8 = "";
		}
		iKantBitar = iKantBitar + 1;
	}

	if (bit == "7") {
	    //hörnbit
	    if (yta == "a") {
		switch (vColor) {
			// RB BO OG GR
			case "red":
				// GR
				document.getElementById("Y_7a").style.backgroundColor = vColor;
				document.getElementById("Y_7b").style.backgroundColor = "green";
				aBitString[8] = "7bG";
				aBitString[7] = "7aR";
				sCorner7 = "GR";
				break;
			case "blue":
				// RB
				document.getElementById("Y_7a").style.backgroundColor = vColor;
				document.getElementById("Y_7b").style.backgroundColor = "red";
				aBitString[8] = "7bR";
				aBitString[7] = "7aB";
				sCorner7 = "RB";
				break;
			case "orange":
				// BO
				document.getElementById("Y_7a").style.backgroundColor = vColor;
				document.getElementById("Y_7b").style.backgroundColor = "blue";
				aBitString[8] = "7bB";
				aBitString[7] = "7aO";
				sCorner7 = "BO";
				break;
			case "green":
				// OG
				document.getElementById("Y_7a").style.backgroundColor = vColor;
				document.getElementById("Y_7b").style.backgroundColor = "orange";
				aBitString[8] = "7bO";
				aBitString[7] = "7aG";
				sCorner7 = "OG";
				break;
		}
		// om en hörnbit redan har de här färgerna - avmarkera det
		if (sCorner7 == sCorner1) {
			document.getElementById("Y_1a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_1b").style.backgroundColor = "lightgrey";
			aBitString[0] = "1ag";
			aBitString[1] = "1bg";
			sCorner1 = "";
		} else if (sCorner7 == sCorner3) {	
			document.getElementById("Y_3a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_3b").style.backgroundColor = "lightgrey";
			aBitString[4] = "3ag";
			aBitString[3] = "3bg";
			sCorner3 = "";
		} else if (sCorner7 == sCorner9) {	
			document.getElementById("Y_9a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_9b").style.backgroundColor = "lightgrey";
			aBitString[11] = "9ag";
			aBitString[10] = "9bg";
			sCorner9 = "";
		}
	    }
	    if (yta == "b") {
		switch (vColor) {
			// RB BO OG GR
			case "red":
				// RB
				document.getElementById("Y_7b").style.backgroundColor = vColor;
				document.getElementById("Y_7a").style.backgroundColor = "blue";
				aBitString[8] = "7bR";
				aBitString[7] = "7aB";
				sCorner7 = "RB";
				break;
			case "blue":
				// BO
				document.getElementById("Y_7b").style.backgroundColor = vColor;
				document.getElementById("Y_7a").style.backgroundColor = "orange";
				aBitString[8] = "7bB";
				aBitString[7] = "7aO";
				sCorner7 = "BO";
				break;
			case "orange":
				// OG
				document.getElementById("Y_7b").style.backgroundColor = vColor;
				document.getElementById("Y_7a").style.backgroundColor = "green";
				aBitString[8] = "7bO";
				aBitString[7] = "7aG";
				sCorner7 = "OG";
				break;
			case "green":
				// GR
				document.getElementById("Y_7b").style.backgroundColor = vColor;
				document.getElementById("Y_7a").style.backgroundColor = "red";
				aBitString[8] = "7bG";
				aBitString[7] = "7aR";
				sCorner7 = "GR";
				break;
		}
		// om en hörnbit redan har de här färgerna - avmarkera det
		if (sCorner7 == sCorner1) {
			document.getElementById("Y_1a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_1b").style.backgroundColor = "lightgrey";
			aBitString[0] = "1ag";
			aBitString[1] = "1bg";
			sCorner1 = "";
		} else if (sCorner7 == sCorner3) {	
			document.getElementById("Y_3a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_3b").style.backgroundColor = "lightgrey";
			aBitString[4] = "3ag";
			aBitString[3] = "3bg";
			sCorner3 = "";
		} else if (sCorner7 == sCorner9) {	
			document.getElementById("Y_9a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_9b").style.backgroundColor = "lightgrey";
			aBitString[11] = "9ag";
			aBitString[10] = "9bg";
			sCorner9 = "";
		}
	   }
	   iCornerBitar = iCornerBitar + 1;
	}
	if (bit == "8" && yta == "b") {
		// kantbit
		document.getElementById("Y_8b").style.backgroundColor = vColor;
		aBitString[9] = bit + yta + vColor.substring(0, 1).toUpperCase();
		sKantBit8 = vColor;
		// kontroller om annan kantbit fått detta val - rensa den då
		if (sKantBit8 == sKantBit2) {
			document.getElementById("Y_2b").style.backgroundColor = "lightgrey";
			aBitString[2] = "2bg";
			sKantBit2 = "";
		}
		if (sKantBit8 == sKantBit4) {
			document.getElementById("Y_4a").style.backgroundColor = "lightgrey";
			aBitString[5] = "4ag";
			sKantBit4 = "";
		}
		if (sKantBit8 == sKantBit6) {	
			document.getElementById("Y_6a").style.backgroundColor = "lightgrey";
			aBitString[6] = "6ag";
			sKantBit6 = "";
		}
		iKantBitar = iKantBitar + 1;
	}

	if (bit == "9") {
	    //hörnbit
	    if (yta == "b") {
		switch (vColor) {
			// RB BO OG GR
			case "red":
				// GR
				document.getElementById("Y_9b").style.backgroundColor = vColor;
				document.getElementById("Y_9a").style.backgroundColor = "green";
				aBitString[11] = "9aG";
				aBitString[10] = "9bR";
				sCorner9 = "GR";
				break;
			case "blue":
				// RB
				document.getElementById("Y_9b").style.backgroundColor = vColor;
				document.getElementById("Y_9a").style.backgroundColor = "red";
				aBitString[11] = "9aR";
				aBitString[10] = "9bB";
				sCorner9 = "RB";
				break;
			case "orange":
				// BO
				document.getElementById("Y_9b").style.backgroundColor = vColor;
				document.getElementById("Y_9a").style.backgroundColor = "blue";
				aBitString[11] = "9aB";
				aBitString[10] = "9bO";
				sCorner9 = "BO";
				break;
			case "green":
				// OG
				document.getElementById("Y_9b").style.backgroundColor = vColor;
				document.getElementById("Y_9a").style.backgroundColor = "orange";
				aBitString[11] = "9aO";
				aBitString[10] = "9bG";
				sCorner9 = "OG";
				break;
		}
		// om en hörnbit redan har de här färgerna - avmarkera det
		if (sCorner9 == sCorner1) {
			document.getElementById("Y_1a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_1b").style.backgroundColor = "lightgrey";
			aBitString[0] = "1ag";
			aBitString[1] = "1bg";
			sCorner1 = "";
		} else if (sCorner9 == sCorner3) {	
			document.getElementById("Y_3a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_3b").style.backgroundColor = "lightgrey";
			aBitString[4] = "3ag";
			aBitString[3] = "3bg";
			sCorner3 = "";
		} else if (sCorner9 == sCorner7) {	
			document.getElementById("Y_7a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_7b").style.backgroundColor = "lightgrey";
			aBitString[7] = "7ag";
			aBitString[8] = "7bg";
			sCorner7 = "";
		}
	}

	    if (yta == "a") {
		switch (vColor) {
			// RB BO OG GR
			case "red":
				// RB
				document.getElementById("Y_9a").style.backgroundColor = vColor;
				document.getElementById("Y_9b").style.backgroundColor = "blue";
				aBitString[11] = "9aR";
				aBitString[10] = "9bB";
				sCorner9 = "RB";
				break;
			case "blue":
				// BO
				document.getElementById("Y_9a").style.backgroundColor = vColor;
				document.getElementById("Y_9b").style.backgroundColor = "orange";
				aBitString[11] = "9aB";
				aBitString[10] = "9bO";
				sCorner9 = "BO";
				break;
			case "orange":
				// OG
				document.getElementById("Y_9a").style.backgroundColor = vColor;
				document.getElementById("Y_9b").style.backgroundColor = "green";
				aBitString[11] = "9aO";
				aBitString[10] = "9bG";
				sCorner9 = "OG";
				break;
			case "green":
				// GR
				document.getElementById("Y_9a").style.backgroundColor = vColor;
				document.getElementById("Y_9b").style.backgroundColor = "red";
				aBitString[11] = "9aG";
				aBitString[10] = "9bR";
				sCorner9 = "GR";
				break;
		}
		// om en hörnbit redan har de här färgerna - avmarkera det
		if (sCorner9 == sCorner1) {
			document.getElementById("Y_1a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_1b").style.backgroundColor = "lightgrey";
			aBitString[0] = "1ag";
			aBitString[1] = "1bg";
			sCorner1 = "";
		} else if (sCorner9 == sCorner3) {	
			document.getElementById("Y_3a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_3b").style.backgroundColor = "lightgrey";
			aBitString[4] = "3ag";
			aBitString[3] = "3bg";
			sCorner3 = "";
		} else if (sCorner9 == sCorner7) {	
			document.getElementById("Y_7a").style.backgroundColor = "lightgrey";
			document.getElementById("Y_7b").style.backgroundColor = "lightgrey";
			aBitString[7] = "7ag";
			aBitString[8] = "7bg";
			sCorner7 = "";
		}
	   }
	   iCornerBitar = iCornerBitar + 1;
	}

	// 4:e kantbiten
	if (iKantBitar == 3) {
		if (aBitString[2] == "2bg") {
			sKantBitarColor = aBitString[5].substring(2) + aBitString[6].substring(2) + aBitString[9].substring(2);
			if (!sKantBitarColor.includes("G")) {
				document.getElementById("Y_2b").style.backgroundColor = "green";
				aBitString[2] = "2bG";
				sKantBit2 = "green";
			}
			if (!sKantBitarColor.includes("R")) {
				document.getElementById("Y_2b").style.backgroundColor = "red";
				aBitString[2] = "2bR";
				sKantBit2 = "red";
			}
			if (!sKantBitarColor.includes("B")) {
				document.getElementById("Y_2b").style.backgroundColor = "blue";
				aBitString[2] = "2bB";
				sKantBit2 = "blue";
			}
			if (!sKantBitarColor.includes("O")) {
				document.getElementById("Y_2b").style.backgroundColor = "orange";
				aBitString[2] = "2bO";
				sKantBit2 = "orange";
			}
		} 
		if (aBitString[5] == "4ag") {
			sKantBitarColor = aBitString[2].substring(2) + aBitString[6].substring(2) + aBitString[9].substring(2);
			if (!sKantBitarColor.includes("G")) {
				document.getElementById("Y_4a").style.backgroundColor = "green";
				aBitString[5] = "4aG";
				sKantBit4 = "green";
			}
			if (!sKantBitarColor.includes("R")) {
				document.getElementById("Y_4a").style.backgroundColor = "red";
				aBitString[5] = "4aR";
				sKantBit4 = "red";
			}
			if (!sKantBitarColor.includes("B")) {
				document.getElementById("Y_4a").style.backgroundColor = "blue";
				aBitString[5] = "4aB";
				sKantBit4 = "blue";
			}
			if (!sKantBitarColor.includes("O")) {
				document.getElementById("Y_4a").style.backgroundColor = "orange";
				aBitString[5] = "4aO";
				sKantBit4 = "orange";
			}
		}
		if (aBitString[6] == "6ag") {
			sKantBitarColor = aBitString[2].substring(2) + aBitString[5].substring(2) + aBitString[9].substring(2);
			if (!sKantBitarColor.includes("G")) {
				document.getElementById("Y_6a").style.backgroundColor = "green";
				aBitString[6] = "6aG";
				sKantBit6 = "green";
			}
			if (!sKantBitarColor.includes("R")) {
				document.getElementById("Y_6a").style.backgroundColor = "red";
				aBitString[6] = "6aR";
				sKantBit6 = "red";
			}
			if (!sKantBitarColor.includes("B")) {
				document.getElementById("Y_6a").style.backgroundColor = "blue";
				aBitString[6] = "6aB";
				sKantBit6 = "blue";
			}
			if (!sKantBitarColor.includes("O")) {
				document.getElementById("Y_6a").style.backgroundColor = "orange";
				aBitString[6] = "6aO";
				sKantBit6 = "orange";
			}
		}
		if (aBitString[9] == "8bg") {
			sKantBitarColor = aBitString[2].substring(2) + aBitString[5].substring(2) + aBitString[6].substring(2);
			if (!sKantBitarColor.includes("G")) {
				document.getElementById("Y_8b").style.backgroundColor = "green";
				aBitString[9] = "8bG";
				sKantBit8 = "green";
			}
			if (!sKantBitarColor.includes("R")) {
				document.getElementById("Y_8b").style.backgroundColor = "red";
				aBitString[9] = "8bR";
				sKantBit8 = "red";
			}
			if (!sKantBitarColor.includes("B")) {
				document.getElementById("Y_8b").style.backgroundColor = "blue";
				aBitString[9] = "8bB";
				sKantBit8 = "blue";
			}
			if (!sKantBitarColor.includes("O")) {
				document.getElementById("Y_8b").style.backgroundColor = "orange";
				aBitString[9] = "8bO";
				sKantBit8 = "orange";
			}
		}
		// detta ser till att en lightgrey kanbit alltid blir fylld med saknad färg
		iKantBitar = 2;
	}
	// 4:e hörnbiten
	// om tre hörnbitar ligger rätt så gör även den fjärde det
	if (iCornerBitar == 3) {
		if (aBitString[0] == "1ag") {
			// borde räcka att kolla endast "a"-sidan
			sCornerColor = sCorner1 + "-" + sCorner3 + "-" + sCorner7 + "-" + sCorner9;
			// 1  3  7  9
			// ab ba ba ab
			// RB RB RB RB
			// BO BO BO BO
			// OG OG OG OG
			// GR GR GR GR
			//
			// i ordning är: RB BO OG GR
			//               BO OG GR RB
			//               OG GR RB BO
			//               GR RB BO OG
			if (!sCornerColor.includes("RB")) {
				document.getElementById("Y_1a").style.backgroundColor = "red";
				document.getElementById("Y_1b").style.backgroundColor = "blue";
				aBitString[0] = "1aR";
				aBitString[1] = "1bB";
				sCorner1 = "RB";
			}
			if (!sCornerColor.includes("BO")) {
				document.getElementById("Y_1a").style.backgroundColor = "blue";
				document.getElementById("Y_1b").style.backgroundColor = "orange";
				aBitString[0] = "1aB";
				aBitString[1] = "1bO";
				sCorner1 = "BO";
			}
			if (!sCornerColor.includes("OG")) {
				document.getElementById("Y_1a").style.backgroundColor = "orange";
				document.getElementById("Y_1b").style.backgroundColor = "green";
				aBitString[0] = "1aO";
				aBitString[1] = "1bG";
				sCorner1 = "OG";
			}
			if (!sCornerColor.includes("GR")) {
				document.getElementById("Y_1a").style.backgroundColor = "green";
				document.getElementById("Y_1b").style.backgroundColor = "red";
				aBitString[0] = "1aG";
				aBitString[1] = "1bR";
				sCorner1 = "GR";
			}
			// om en hörnbit redan har de här färgerna - avmarkera det
			if (sCorner1 == sCorner3) {
				document.getElementById("Y_3a").style.backgroundColor = "lightgrey";
				document.getElementById("Y_3b").style.backgroundColor = "lightgrey";
				aBitString[4] = "3ag";
				aBitString[3] = "3bg";
				sCorner3 = "";
			} else if (sCorner1 == sCorner7) {	
				document.getElementById("Y_7a").style.backgroundColor = "lightgrey";
				document.getElementById("Y_7b").style.backgroundColor = "lightgrey";
				aBitString[7] = "7ag";
				aBitString[8] = "7bg";
				sCorner7 = "";
			} else if (sCorner1 == sCorner9) {	
				document.getElementById("Y_9a").style.backgroundColor = "lightgrey";
				document.getElementById("Y_9b").style.backgroundColor = "lightgrey";
				aBitString[11] = "9ag";
				aBitString[10] = "9bg";
				sCorner9 = "";
			}
		} 
		if (aBitString[4] == "3ag") {
			// borde räcka att kolla endast "a"-sidan
			sCornerColor = sCorner1 + "-" + sCorner3 + "-" + sCorner7 + "-" + sCorner9;
			// 1  3  7  9
			// ab ba ba ab
			// RB RB RB RB
			// BO BO BO BO
			// OG OG OG OG
			// GR GR GR GR
			if (!sCornerColor.includes("RB")) {
				document.getElementById("Y_3a").style.backgroundColor = "blue";
				document.getElementById("Y_3b").style.backgroundColor = "red";
				aBitString[4] = "3aB";
				aBitString[3] = "3bR";
				sCorner3 = "RB";
			}
			if (!sCornerColor.includes("BO")) {
				document.getElementById("Y_3a").style.backgroundColor = "orange";
				document.getElementById("Y_3b").style.backgroundColor = "blue";
				aBitString[4] = "3aO";
				aBitString[3] = "3bB";
				sCorner3 = "BO";
			}
			if (!sCornerColor.includes("OG")) {
				document.getElementById("Y_3a").style.backgroundColor = "green";
				document.getElementById("Y_3b").style.backgroundColor = "orange";
				aBitString[4] = "3aG";
				aBitString[3] = "3bO";
				sCorner3 = "OG";
			}
			if (!sCornerColor.includes("GR")) {
				document.getElementById("Y_3a").style.backgroundColor = "red";
				document.getElementById("Y_3b").style.backgroundColor = "green";
				aBitString[4] = "3aR";
				aBitString[3] = "3bG";
				sCorner3 = "GR";
			}
			// om en hörnbit redan har de här färgerna - avmarkera det
			if (sCorner3 == sCorner1) {
				document.getElementById("Y_1a").style.backgroundColor = "lightgrey";
				document.getElementById("Y_1b").style.backgroundColor = "lightgrey";
				aBitString[0] = "1ag";
				aBitString[1] = "1bg";
				sCorner1 = "";
			} else if (sCorner3 == sCorner7) {	
				document.getElementById("Y_7a").style.backgroundColor = "lightgrey";
				document.getElementById("Y_7b").style.backgroundColor = "lightgrey";
				aBitString[7] = "7ag";
				aBitString[8] = "7bg";
				sCorner7 = "";
			} else if (sCorner3 == sCorner9) {	
				document.getElementById("Y_9a").style.backgroundColor = "lightgrey";
				document.getElementById("Y_9b").style.backgroundColor = "lightgrey";
				aBitString[11] = "9ag";
				aBitString[10] = "9bg";
				sCorner9 = "";
			}
		} 
		if (aBitString[7] == "7ag") {
			// borde räcka att kolla endast "a"-sidan
			sCornerColor = sCorner1 + "-" + sCorner3 + "-" + sCorner7 + "-" + sCorner9;
			// 1  3  7  9
			// ab ba ba ab
			// RB RB RB RB
			// BO BO BO BO
			// OG OG OG OG
			// GR GR GR GR
			if (!sCornerColor.includes("RB")) {
				document.getElementById("Y_7a").style.backgroundColor = "blue";
				document.getElementById("Y_7b").style.backgroundColor = "red";
				aBitString[7] = "7aB";
				aBitString[8] = "7bR";
				sCorner7 = "RB";
			}
			if (!sCornerColor.includes("BO")) {
				document.getElementById("Y_7a").style.backgroundColor = "orange";
				document.getElementById("Y_7b").style.backgroundColor = "blue";
				aBitString[7] = "7aO";
				aBitString[8] = "7bB";
				sCorner7 = "BO";
			}
			if (!sCornerColor.includes("OG")) {
				document.getElementById("Y_7a").style.backgroundColor = "green";
				document.getElementById("Y_7b").style.backgroundColor = "orange";
				aBitString[7] = "7aG";
				aBitString[8] = "7bO";
				sCorner7 = "OG";
			}
			if (!sCornerColor.includes("GR")) {
				document.getElementById("Y_7a").style.backgroundColor = "red";
				document.getElementById("Y_7b").style.backgroundColor = "green";
				aBitString[7] = "7aR";
				aBitString[8] = "7bG";
				sCorner7 = "GR";
			}
			// om en hörnbit redan har de här färgerna - avmarkera det
			if (sCorner7 == sCorner1) {
				document.getElementById("Y_1a").style.backgroundColor = "lightgrey";
				document.getElementById("Y_1b").style.backgroundColor = "lightgrey";
				aBitString[0] = "1ag";
				aBitString[1] = "1bg";
				sCorner1 = "";
			} else if (sCorner7 == sCorner3) {	
				document.getElementById("Y_3a").style.backgroundColor = "lightgrey";
				document.getElementById("Y_3b").style.backgroundColor = "lightgrey";
				aBitString[4] = "3ag";
				aBitString[3] = "3bg";
				sCorner3 = "";
			} else if (sCorner7 == sCorner9) {	
				document.getElementById("Y_9a").style.backgroundColor = "lightgrey";
				document.getElementById("Y_9b").style.backgroundColor = "lightgrey";
				aBitString[11] = "9ag";
				aBitString[10] = "9bg";
				sCorner9 = "";
			}
		} 
		if (aBitString[11] == "9ag") {
			// borde räcka att kolla endast "a"-sidan
			sCornerColor = sCorner1 + "-" + sCorner3 + "-" + sCorner7 + "-" + sCorner9;
			// 1  3  7  9
			// ab ba ba ab
			// RB RB RB RB
			// BO BO BO BO
			// OG OG OG OG
			// GR GR GR GR
			if (!sCornerColor.includes("RB")) {
				document.getElementById("Y_9a").style.backgroundColor = "red";
				document.getElementById("Y_9b").style.backgroundColor = "blue";
				aBitString[11] = "9aR";
				aBitString[10] = "9bB";
				sCorner9 = "RB";
			}
			if (!sCornerColor.includes("BO")) {
				document.getElementById("Y_9a").style.backgroundColor = "blue";
				document.getElementById("Y_9b").style.backgroundColor = "orange";
				aBitString[11] = "9aB";
				aBitString[10] = "9bO";
				sCorner9 = "BO";
			}
			if (!sCornerColor.includes("OG")) {
				document.getElementById("Y_9a").style.backgroundColor = "orange";
				document.getElementById("Y_9b").style.backgroundColor = "green";
				aBitString[11] = "9aO";
				aBitString[10] = "9bG";
				sCorner9 = "OG";
			}
			if (!sCornerColor.includes("GR")) {
				document.getElementById("Y_9a").style.backgroundColor = "green";
				document.getElementById("Y_9b").style.backgroundColor = "red";
				aBitString[11] = "7aG";
				aBitString[10] = "7bR";
				sCorner9 = "GR";
			}
			// om en hörnbit redan har de här färgerna - avmarkera det
			if (sCorner9 == sCorner1) {
				document.getElementById("Y_1a").style.backgroundColor = "lightgrey";
				document.getElementById("Y_1b").style.backgroundColor = "lightgrey";
				aBitString[0] = "1ag";
				aBitString[1] = "1bg";
				sCorner1 = "";
			} else if (sCorner9 == sCorner3) {	
				document.getElementById("Y_3a").style.backgroundColor = "lightgrey";
				document.getElementById("Y_3b").style.backgroundColor = "lightgrey";
				aBitString[4] = "3ag";
				aBitString[3] = "3bg";
				sCorner3 = "";
			} else if (sCorner9 == sCorner7) {	
				document.getElementById("Y_9a").style.backgroundColor = "lightgrey";
				document.getElementById("Y_9b").style.backgroundColor = "lightgrey";
				aBitString[11] = "9ag";
				aBitString[10] = "9bg";
				sCorner7 = "";
			}
		} 
		// detta ser till att en lightgrey hörnbit alltid blir fylld med saknad färg
		iCornerBitar = 2;
	}
	
	// fyll strängen
	bitString = aBitString[0] + aBitString[1] + aBitString[2] + aBitString[3] + aBitString[4] + aBitString[5] + aBitString[6] + aBitString[7] + aBitString[8] + aBitString[9] + aBitString[10] + aBitString[11];
	sCorneBitarColor = aBitString[0].substring(2) + aBitString[1].substring(2) + aBitString[3].substring(2) + aBitString[4].substring(2) + aBitString[8].substring(2) + aBitString[7].substring(2) + aBitString[11].substring(2) + aBitString[10].substring(2);
	//document.getElementById("txtInfo").innerHTML = sCorneBitarColor;
}


// kontrollera om ifyllda fält matchar någon möjlighet till matchning och visa en bild med text samt en sekvens
// om tre hörnbitar ligger rätt så gör även den fjärde det.
function fControlString() {
	//är alla fält ifyllda
	var vInfoBild = document.getElementById("txtInfoBild");
	var vVisaBild = document.getElementById("visaBild");
	var vVisaSekvens = document.getElementById("txtInfo");
	var vVisaOverlayPNG = document.getElementById("trVisaResultat");
	var vinfoOmkuben = document.getElementById("infoTXTom");

	if (sCorner1.length >= 1 && 
		sCorner3.length >= 1 && 
		sCorner7.length >= 1 && 
		sCorner9.length >= 1 && 
		sKantBit2.length >= 1 && 
		sKantBit4.length >= 1 && 
		sKantBit6.length >= 1 && 
		sKantBit8.length >= 1) { 
		strBildText = sCorner1 + sKantBit2.substring(0,1) +  Corner3 + sKantBit4.substring(0,1) + sKantBit6.substring(0,1) + sCorner7 + sKantBit8.substring(0,1) + sCorner9;
		// visa sekvens i: vVisaSekvens.innerHTML

		// 2 Look PLL A-perm (samma som PLL A-perm(a))
		// Algoritm: Lw’ (U R’ D2) (R U’ R’) (D2 R2)
		// Index = 0
		// i: s2lPLLsekvens
		// Gäller för:
		//	s2lPLL_A_PAa_string
		//	s2lPLL_A_PAb_string
		//	s2lPLL_A_PE_string  >> alla kantbitar ligger rätt
		//	s2lPLL_A_PT_string
		//	s2lPLL_A_PJa_string
		//	s2lPLL_A_PJb_string
		//	s2lPLL_A_PF_string
		//	s2lPLL_A_PRb_string
		//	s2lPLL_A_PRa_string
		//	s2lPLL_A_PGa_string
		//	s2lPLL_A_PGb_string
		//	s2lPLL_A_PGc_string
		//	s2lPLL_A_PGd_string
		//
		// Om sekvens finns i någon av ovan så gäller index=0 & visa då: Lw’ (U R’ D2) (R U’ R’) (D2 R2)
		// i: vVisaSekvens = document.getElementById("txtInfo");
		//
		// sedan tillkommer en 'massa' information...
		//	
		// man kan lägga ihop arrays:
		
		const s2lPLL_A_string = s2lPLL_A_PAa_string.concat(s2lPLL_A_PAb_string, 
									s2lPLL_A_PE_string,
									s2lPLL_A_PT_string, 
									s2lPLL_A_PJa_string, 
									s2lPLL_A_PJb_string, 
									s2lPLL_A_PF_string, 
									s2lPLL_A_PRb_string, 
									s2lPLL_A_PRa_string,
									s2lPLL_A_PGa_string,
									s2lPLL_A_PGb_string,
									s2lPLL_A_PGc_string,
									s2lPLL_A_PGd_string);
		// E-perm (2 Look PLL)
		// Algoritm: x’ (R U’ R’ D) (R U R’ D’) (R U R’ D) (R U’ R’ D’)
		// index = 1
		// i: s2lPLLsekvens
		// Gäller för:
		//	s2lPLL_E_PY_string
		//	s2lPLL_E_PV_string
		//	s2lPLL_E_PNa_string
		//	s2lPLL_E_PNb_string
		const s2lPLL_E_string = s2lPLL_E_PY_string.concat(s2lPLL_E_PV_string,
									s2lPLL_E_PNa_string,
									s2lPLL_E_PNb_string);
		// Alla hörnbitar ligger rätt:
		// H-perm (2 look PLL)
		// index 2:
		// s2lPLL_H_PH_string

		// Z-perm (2 look PLL)
		// index 3:
		// s2lPLL_Z_PZ_string

		// U-perm(a) (2 look PLL)
		// index 4:
		// s2lPLL_U_PUa_string

		// U-perm(b) (2 look PLL)
		// index 6:
		// s2lPLL_U_PUb_string

		// alla sekvenser:
		const s2lPLL_string = s2lPLLsolved.concat(s2lPLL_A_string,
								s2lPLL_E_string,
								s2lPLL_H_PH_string,
								s2lPLL_Z_PZ_string,
								s2lPLL_U_PUa_string,
								s2lPLL_U_PUb_string);
		
		const sFound = s2lPLL_string.filter(fHittaSekvens);
		const sFoundIndex = s2lPLL_string.forEach(fHittaIndex);
		if (sFound == "") {
				vVisaSekvens.innerHTML = "Valda fält verkar inte vara en möjlig variant";
		} else {
				document.getElementById("tNotation").style.visibility = "visible";
			/* // *****************************************************
				// TLF kontroll om alla sekvenser innehåller alla bitar: t.ex.:	GRrRBgbOGoBO
				// xxxxxxxxxxxxxxxxxxxxxxxxxxxx:::                             	 123 467 89
				// Dessa positioner kan innehålla:				  	GRrRBgbOGoBO
				//                                                              	OGgGRorBObRB
				//                                                              	BOoOGbgRBrGB
				//                                                                	RBbBOroGRgOG
				//                                                         		012345678911
				//                                                       		          01
				// GR RB OG & BO kan bara förekomma en gång i varje sträng
				// samma med r g o & b
				// hur f-n kollar jag det enklast? Jag måste nog loopa igenom alla 288
			var sResultatOK = "";
			var sResultatFEL = "";
			for (let i = 0; i < s2lPLL_string.length; i++) {	
				if (s2lPLL_string[i].substring(0, 2) == "GR" || s2lPLL_string[i].substring(3, 5) == "GR" || s2lPLL_string[i].substring(7, 9) == "GR" || s2lPLL_string[i].substring(10) == "GR") {
					sResultatOK = "OK";
				} else {
					sResultatFEL = "Fel i sekvens: " + s2lPLL_string[i];
				}
				if (s2lPLL_string[i].substring(0, 2) == "OG" || s2lPLL_string[i].substring(3, 5) == "OG" || s2lPLL_string[i].substring(7, 9) == "OG" || s2lPLL_string[i].substring(10) == "OG") {
					sResultatOK = "OK";
				} else {
					sResultatFEL = "Fel i sekvens: " + s2lPLL_string[i];
				}
				if (s2lPLL_string[i].substring(0, 2) == "BO" || s2lPLL_string[i].substring(3, 5) == "BO" || s2lPLL_string[i].substring(7, 9) == "BO" || s2lPLL_string[i].substring(10) == "BO") {
					sResultatOK = "OK";
				} else {
					sResultatFEL = "Fel i sekvens: " + s2lPLL_string[i];
				}
				if (s2lPLL_string[i].substring(0, 2) == "RB" || s2lPLL_string[i].substring(3, 5) == "RB" || s2lPLL_string[i].substring(7, 9) == "RB" || s2lPLL_string[i].substring(10) == "RB") {
					sResultatOK = "OK";
				} else {
					sResultatFEL = "Fel i sekvens: " + s2lPLL_string[i];
				}
				if (s2lPLL_string[i].substring(2, 3) == "r" || s2lPLL_string[i].substring(5, 6) == "r" || s2lPLL_string[i].substring(6, 7) == "r" || s2lPLL_string[i].substring(9, 10) == "r") {
					sResultatOK = "OK";
				} else {
					sResultatFEL = "Fel i sekvens: " + s2lPLL_string[i];
				}
				if (s2lPLL_string[i].substring(2, 3) == "g" || s2lPLL_string[i].substring(5, 6) == "g" || s2lPLL_string[i].substring(6, 7) == "g" || s2lPLL_string[i].substring(9, 10) == "g") {
					sResultatOK = "OK";
				} else {
					sResultatFEL = "Fel i sekvens: " + s2lPLL_string[i];
				}
				if (s2lPLL_string[i].substring(2, 3) == "o" || s2lPLL_string[i].substring(5, 6) == "o" || s2lPLL_string[i].substring(6, 7) == "o" || s2lPLL_string[i].substring(9, 10) == "o") {
					sResultatOK = "OK";
				} else {
					sResultatFEL = "Fel i sekvens: " + s2lPLL_string[i];
				}
				if (s2lPLL_string[i].substring(2, 3) == "b" || s2lPLL_string[i].substring(5, 6) == "b" || s2lPLL_string[i].substring(6, 7) == "b" || s2lPLL_string[i].substring(9, 10) == "b") {
					sResultatOK = "OK";
				} else {
					sResultatFEL = "Fel i sekvens: " + s2lPLL_string[i];
				}
			}
			vInfoBild.innerHTML = sResultatOK + " :" + sResultatFEL
			// ***************************************************** */
			var sExtraTXT = ". Gula sidan upp.<br><strong>Håll kuben så som bilden nedan visar.<strong>";
				// vilken index
				if (iFoundIndex >= 0 && iFoundIndex <= 3) {
					vVisaSekvens.innerHTML = "GRATTIS!";
					vInfoBild.innerHTML = "";
				} else if (iFoundIndex >= 4 && iFoundIndex <= 203) {
					// A-perm (2 Look PLL)
					vVisaSekvens.innerHTML = s2lPLLsekvens[0];
					vInfoBild.innerHTML = "";
					// till en funktion som laddar tabellen rätt.
					if (document.getElementById("Y_1b").style.backgroundColor == document.getElementById("Y_3b").style.backgroundColor) {
						// vrid0
						fPlaceProper(0);
					} else if (document.getElementById("Y_1a").style.backgroundColor == document.getElementById("Y_7a").style.backgroundColor) {
						// vrid1
						fPlaceProper(1);
					} else if (document.getElementById("Y_7b").style.backgroundColor == document.getElementById("Y_9b").style.backgroundColor) {
						// vrid2
						fPlaceProper(2);
					} else if (document.getElementById("Y_9a").style.backgroundColor == document.getElementById("Y_3a").style.backgroundColor) {
						// vrid3
						fPlaceProper(3);
					} else if (document.getElementById("Y_1b").style.backgroundColor == document.getElementById("Y_7b").style.backgroundColor && 
							document.getElementById("Y_7a").style.backgroundColor == document.getElementById("Y_9a").style.backgroundColor &&
							document.getElementById("Y_1a").style.backgroundColor == document.getElementById("Y_8b").style.backgroundColor) {
						// om PLL E-perm index 36-43
						// vrid0
						fPlaceProper(0);
					} else if (document.getElementById("Y_3a").style.backgroundColor == document.getElementById("Y_1a").style.backgroundColor && 
							document.getElementById("Y_1b").style.backgroundColor == document.getElementById("Y_7b").style.backgroundColor &&
							document.getElementById("Y_3b").style.backgroundColor == document.getElementById("Y_4a").style.backgroundColor) {
						// vrid1
						fPlaceProper(1);
					}
					// Overlay
					vinfoOmkuben.innerHTML = "A-perm\: fixar hörnbitarna" + sExtraTXT;
					document.getElementById('divVisaOverlayVertikalaPilar').style.display = "none";
					document.getElementById('divVisaOverlayKors').style.display = "none";
					document.getElementById('divVisaOverlayDiagonal').style.display = "none";
					document.getElementById('divOverlayPyramidMedsols').style.display = "none";
					document.getElementById('divOverlayPyramidMotsols').style.display = "none";
					placeraDivOverlay('divVisaOverlayCirklar');
				} else if (iFoundIndex >= 204 && iFoundIndex <= 243) {
					// E-perm (2 Look PLL)
					vVisaSekvens.innerHTML = s2lPLLsekvens[1];
					vInfoBild.innerHTML = "";
					// till en funktion som laddar tabellen rätt.
					// vrid0
					fPlaceProper(0);
					// overlay
					vinfoOmkuben.innerHTML = "E-perm\: fixar hörnbitarna" + sExtraTXT;
					document.getElementById('divVisaOverlayCirklar').style.display = "none";
					document.getElementById('divVisaOverlayKors').style.display = "none";
					document.getElementById('divVisaOverlayDiagonal').style.display = "none";
					document.getElementById('divOverlayPyramidMedsols').style.display = "none";
					document.getElementById('divOverlayPyramidMotsols').style.display = "none";
					placeraDivOverlay('divVisaOverlayVertikalaPilar');
				} else if (iFoundIndex >= 244 && iFoundIndex <= 247) {
					// H-perm (2 look PLL)
					vVisaSekvens.innerHTML = s2lPLLsekvens[2];
					vInfoBild.innerHTML = "";
					// till en funktion som laddar tabellen rätt.
					// vrid0
					fPlaceProper(0);
					// Overlay
					vinfoOmkuben.innerHTML = "H-perm\: fixar kantbitarna" + sExtraTXT;
					document.getElementById('divVisaOverlayCirklar').style.display = "none";
					document.getElementById('divVisaOverlayVertikalaPilar').style.display = "none";
					document.getElementById('divVisaOverlayDiagonal').style.display = "none";
					document.getElementById('divOverlayPyramidMedsols').style.display = "none";
					document.getElementById('divOverlayPyramidMotsols').style.display = "none";
					placeraDivOverlay('divVisaOverlayKors');
				} else if (iFoundIndex >= 248 && iFoundIndex <= 255) {
					// Z-perm (2 look PLL)
					vVisaSekvens.innerHTML = s2lPLLsekvens[3];
					vInfoBild.innerHTML = "";
					// till en funktion som laddar tabellen rätt.
					if (document.getElementById("Y_1a").style.backgroundColor == document.getElementById("Y_2b").style.backgroundColor && document.getElementById("Y_1a").style.backgroundColor == document.getElementById("Y_7a").style.backgroundColor) {
						// vrid0
						fPlaceProper(0);
					} else {
						// vrid1
						fPlaceProper(1);
					}

					// overlay
					vinfoOmkuben.innerHTML = "Z-perm\: fixar kantbitarna" + sExtraTXT;
					document.getElementById('divVisaOverlayCirklar').style.display = "none";
					document.getElementById('divVisaOverlayVertikalaPilar').style.display = "none";
					document.getElementById('divVisaOverlayKors').style.display = "none";
					document.getElementById('divOverlayPyramidMedsols').style.display = "none";
					document.getElementById('divOverlayPyramidMotsols').style.display = "none";
					placeraDivOverlay('divVisaOverlayDiagonal');
				} else if (iFoundIndex >= 256 && iFoundIndex <= 271) {
					// U-perm(a) (2 look PLL) & alternativ 2 index: 5
					vVisaSekvens.innerHTML = s2lPLLsekvens[4];
					vInfoBild.innerHTML = "eller rotera 180°:<br>" + s2lPLLsekvens[5];
					// till en funktion som laddar tabellen rätt.
					if (document.getElementById("Y_7b").style.backgroundColor == document.getElementById("Y_8b").style.backgroundColor && document.getElementById("Y_7b").style.backgroundColor == document.getElementById("Y_9b").style.backgroundColor) {
						// vrid0
						fPlaceProper(0);
					} else if (document.getElementById("Y_1a").style.backgroundColor == document.getElementById("Y_4a").style.backgroundColor && document.getElementById("Y_1a").style.backgroundColor == document.getElementById("Y_7a").style.backgroundColor) {
						// vrid3
						fPlaceProper(3);
					} else if (document.getElementById("Y_1b").style.backgroundColor == document.getElementById("Y_2b").style.backgroundColor && document.getElementById("Y_1b").style.backgroundColor == document.getElementById("Y_3b").style.backgroundColor) {
						// vrid2
						fPlaceProper(2);
					} else if (document.getElementById("Y_3a").style.backgroundColor == document.getElementById("Y_6a").style.backgroundColor && document.getElementById("Y_3a").style.backgroundColor == document.getElementById("Y_9a").style.backgroundColor) {
						// vrid1
						fPlaceProper(1);
					}
					// overlay
					vinfoOmkuben.innerHTML = "U-perm(a)\: fixar kantbitarna" + sExtraTXT;
					document.getElementById('divVisaOverlayCirklar').style.display = "none";
					document.getElementById('divVisaOverlayVertikalaPilar').style.display = "none";
					document.getElementById('divVisaOverlayKors').style.display = "none";
					document.getElementById('divVisaOverlayDiagonal').style.display = "none";
					document.getElementById('divOverlayPyramidMotsols').style.display = "none";
					placeraDivOverlay('divOverlayPyramidMedsols');
					
				} else if (iFoundIndex >= 272 && iFoundIndex <= 287) {
					// U-perm(b) (2 look PLL) & alternativ 2 index: 7
					vVisaSekvens.innerHTML = s2lPLLsekvens[6];
					vInfoBild.innerHTML = "eller rotera 180°:<br>" + s2lPLLsekvens[7];
					// till en funktion som laddar tabellen rätt.
					if (document.getElementById("Y_7b").style.backgroundColor == document.getElementById("Y_8b").style.backgroundColor && document.getElementById("Y_7b").style.backgroundColor == document.getElementById("Y_9b").style.backgroundColor) {
						// vrid0
						fPlaceProper(0);
					} else if (document.getElementById("Y_1a").style.backgroundColor == document.getElementById("Y_4a").style.backgroundColor && document.getElementById("Y_1a").style.backgroundColor == document.getElementById("Y_7a").style.backgroundColor) {
						// vrid3
						fPlaceProper(3);
					} else if (document.getElementById("Y_1b").style.backgroundColor == document.getElementById("Y_2b").style.backgroundColor && document.getElementById("Y_1b").style.backgroundColor == document.getElementById("Y_3b").style.backgroundColor) {
						// vrid2
						fPlaceProper(2);
					} else if (document.getElementById("Y_3a").style.backgroundColor == document.getElementById("Y_6a").style.backgroundColor && document.getElementById("Y_3a").style.backgroundColor == document.getElementById("Y_9a").style.backgroundColor) {
						// vrid1
						fPlaceProper(1);
					}
					// overlay
					vinfoOmkuben.innerHTML = "U-perm(a)\: fixar kantbitarna" + sExtraTXT;
					document.getElementById('divVisaOverlayCirklar').style.display = "none";
					document.getElementById('divVisaOverlayVertikalaPilar').style.display = "none";
					document.getElementById('divVisaOverlayKors').style.display = "none";
					document.getElementById('divVisaOverlayDiagonal').style.display = "none";
					document.getElementById('divOverlayPyramidMedsols').style.display = "none";
					placeraDivOverlay('divOverlayPyramidMotsols');
				} else {
					vVisaSekvens.innerHTML = "Något är knas?";
				}
			document.getElementById("tblVisaOverlay").style.display = 'block';
			}
	}
}
function fRensa(){
	window.location.href=window.location.href;
}
function fHittaSekvens(value, index){
	return value == strBildText
}
function fHittaIndex(value, index){
	if (value != strBildText) {
		// sorry
	} else if (value == strBildText) {
		iFoundIndex = index;
	}
}
function placeraDivOverlay(sDIV) {
  var d = document.getElementById(sDIV);
  d.style.display = 'block';
}
function fPlaceProper(iVrid) {
	switch (iVrid) {
		case 0:
			// "Y_1a" > "Y1a"
			document.getElementById("Y1a").style.backgroundColor = document.getElementById("Y_1a").style.backgroundColor;
			// "Y_1b" > "Y1b"
			document.getElementById("Y1b").style.backgroundColor = document.getElementById("Y_1b").style.backgroundColor;
			// "Y_2b" > "Y2b"
			document.getElementById("Y2b").style.backgroundColor = document.getElementById("Y_2b").style.backgroundColor;
			// "Y_3b" > "Y3b"
			document.getElementById("Y3b").style.backgroundColor = document.getElementById("Y_3b").style.backgroundColor;
			// "Y_3a" > "Y3a"
			document.getElementById("Y3a").style.backgroundColor = document.getElementById("Y_3a").style.backgroundColor;
			// "Y_4a" > "Y4a"
			document.getElementById("Y4a").style.backgroundColor = document.getElementById("Y_4a").style.backgroundColor;
			// "Y_6a" > "Y6a"
			document.getElementById("Y6a").style.backgroundColor = document.getElementById("Y_6a").style.backgroundColor;
			// "Y_7b" > "Y7b"
			document.getElementById("Y7b").style.backgroundColor = document.getElementById("Y_7b").style.backgroundColor;
			// "Y_7a" > "Y7a"
			document.getElementById("Y7a").style.backgroundColor = document.getElementById("Y_7a").style.backgroundColor;
			// "Y_8b" > "Y8b"
			document.getElementById("Y8b").style.backgroundColor = document.getElementById("Y_8b").style.backgroundColor;
			// "Y_9a" > "Y9a"
			document.getElementById("Y9a").style.backgroundColor = document.getElementById("Y_9a").style.backgroundColor;
			// "Y_9b" > "Y9b"
			document.getElementById("Y9b").style.backgroundColor = document.getElementById("Y_9b").style.backgroundColor;
			break;
		case 1:
			// "Y_1a" > "Y3b"
			document.getElementById("Y3b").style.backgroundColor = document.getElementById("Y_1a").style.backgroundColor;
			// "Y_1b" > "Y3a"
			document.getElementById("Y3a").style.backgroundColor = document.getElementById("Y_1b").style.backgroundColor;
			// "Y_2b" > "Y6a"
			document.getElementById("Y6a").style.backgroundColor = document.getElementById("Y_2b").style.backgroundColor;
			// "Y_3b" > "Y9a"
			document.getElementById("Y9a").style.backgroundColor = document.getElementById("Y_3b").style.backgroundColor;
			// "Y_3a" > "Y9b"
			document.getElementById("Y9b").style.backgroundColor = document.getElementById("Y_3a").style.backgroundColor;
			// "Y_4a" > "Y2b"
			document.getElementById("Y2b").style.backgroundColor = document.getElementById("Y_4a").style.backgroundColor;
			// "Y_6a" > "Y8b"
			document.getElementById("Y8b").style.backgroundColor = document.getElementById("Y_6a").style.backgroundColor;
			// "Y_7b" > "Y1a"
			document.getElementById("Y1a").style.backgroundColor = document.getElementById("Y_7b").style.backgroundColor;
			// "Y_7a" > "Y1b"
			document.getElementById("Y1b").style.backgroundColor = document.getElementById("Y_7a").style.backgroundColor;
			// "Y_8b" > "Y4a"
			document.getElementById("Y4a").style.backgroundColor = document.getElementById("Y_8b").style.backgroundColor;
			// "Y_9a" > "Y7b"
			document.getElementById("Y7b").style.backgroundColor = document.getElementById("Y_9a").style.backgroundColor;
			// "Y_9b" > "Y7a"
			document.getElementById("Y7a").style.backgroundColor = document.getElementById("Y_9b").style.backgroundColor;
			break;
		case 2:
			// "Y_1a" > "Y9a"
			document.getElementById("Y9a").style.backgroundColor = document.getElementById("Y_1a").style.backgroundColor;
			// "Y_1b" > "Y9b"
			document.getElementById("Y9b").style.backgroundColor = document.getElementById("Y_1b").style.backgroundColor;
			// "Y_2b" > "Y8b"
			document.getElementById("Y8b").style.backgroundColor = document.getElementById("Y_2b").style.backgroundColor;
			// "Y_3b" > "Y7b"
			document.getElementById("Y7b").style.backgroundColor = document.getElementById("Y_3b").style.backgroundColor;
			// "Y_3a" > "Y7a"
			document.getElementById("Y7a").style.backgroundColor = document.getElementById("Y_3a").style.backgroundColor;
			// "Y_4a" > "Y6a"
			document.getElementById("Y6a").style.backgroundColor = document.getElementById("Y_4a").style.backgroundColor;
			// "Y_6a" > "Y4a"
			document.getElementById("Y4a").style.backgroundColor = document.getElementById("Y_6a").style.backgroundColor;
			// "Y_7b" > "Y3b"
			document.getElementById("Y3b").style.backgroundColor = document.getElementById("Y_7b").style.backgroundColor;
			// "Y_7a" > "Y3a"
			document.getElementById("Y3a").style.backgroundColor = document.getElementById("Y_7a").style.backgroundColor;
			// "Y_8b" > "Y2b"
			document.getElementById("Y2b").style.backgroundColor = document.getElementById("Y_8b").style.backgroundColor;
			// "Y_9a" > "Y1a"
			document.getElementById("Y1a").style.backgroundColor = document.getElementById("Y_9a").style.backgroundColor;
			// "Y_9b" > "Y1b"
			document.getElementById("Y1b").style.backgroundColor = document.getElementById("Y_9b").style.backgroundColor;
			break;
		case 3:
			// "Y_1a" > "Y7b"
			document.getElementById("Y7b").style.backgroundColor = document.getElementById("Y_1a").style.backgroundColor;
			// "Y_1b" > "Y7a"
			document.getElementById("Y7a").style.backgroundColor = document.getElementById("Y_1b").style.backgroundColor;
			// "Y_2b" > "Y4a"
			document.getElementById("Y4a").style.backgroundColor = document.getElementById("Y_2b").style.backgroundColor;
			// "Y_3b" > "Y1a"
			document.getElementById("Y1a").style.backgroundColor = document.getElementById("Y_3b").style.backgroundColor;
			// "Y_3a" > "Y1b"
			document.getElementById("Y1b").style.backgroundColor = document.getElementById("Y_3a").style.backgroundColor;
			// "Y_4a" > "Y8b"
			document.getElementById("Y8b").style.backgroundColor = document.getElementById("Y_4a").style.backgroundColor;
			// "Y_6a" > "Y2b"
			document.getElementById("Y2b").style.backgroundColor = document.getElementById("Y_6a").style.backgroundColor;
			// "Y_7b" > "Y9a"
			document.getElementById("Y9a").style.backgroundColor = document.getElementById("Y_7b").style.backgroundColor;
			// "Y_7a" > "Y9b"
			document.getElementById("Y9b").style.backgroundColor = document.getElementById("Y_7a").style.backgroundColor;
			// "Y_8b" > "Y6a"
			document.getElementById("Y6a").style.backgroundColor = document.getElementById("Y_8b").style.backgroundColor;
			// "Y_9a" > "Y3b"
			document.getElementById("Y3b").style.backgroundColor = document.getElementById("Y_9a").style.backgroundColor;
			// "Y_9b" > "Y3a"
			document.getElementById("Y3a").style.backgroundColor = document.getElementById("Y_9b").style.backgroundColor;
			break;
	}
}
</script>
  </body>
</html>