Wie im Code...
Alphabetisch...
wird gespeichert
Groß- / KleinschreibungZeilenanfang
−
Datei
Layout
JavaScript
[Ausführen]
Code
Info
Extra
__:__
CAPSLOCK
")[0].replace(/function taste \(event\) {\n let wert = event\.key(.*?);\n/, "function _taste (event) {\n let wert = event.key$1;\nif ((wert == \"Enter\") && meldungjetzt)\n alertWeg();\n" + wert0 + "if (event.ctrlKey) {\n event.preventDefault();\n" + wert1 + "}\nif (ftasten && (wert.startsWith(\"F\") && (wert.length > 1)) && " + wert3 + ")\n event.preventDefault();\n" + wert2 + " if (wert == \"Escape\"){\n testen();\n return false;\n} \n").replace(/oritest_/g, "_").replace("function alert (", "function oritestalert (") + "\n}");
try {
eval1("{\n" + testcode.split("d = window.document;")[1].split("\")[0].replace(/function taste \(event\) {\n let wert = event\.key(.*?);\n/, "function _taste (event) {\n let wert = event.key$1;\nif ((wert == \"Enter\") && meldungjetzt)\n alertWeg();\n" + wert0 + "if (event.ctrlKey) {\n event.preventDefault();\n" + wert1 + "}\nif (ftasten && (wert.startsWith(\"F\") && (wert.length > 1)) && " + wert3 + ")\n event.preventDefault();\n" + wert2 + " if (wert == \"Escape\"){\n testen();\n return false;\n} \n").replace(/oritest_/g, "_").replace("function alert (", "function oritestalert (") + "\n}");
}
catch (error) {
alert(error.name == "TypeError" ? "Fehler im Code
Möglicherweise wurde eine Variable falsch deklariert." : "Unbekannter Fehler
Der Code kann nicht ausgeführt werden.", testen);
}
if (kleinerbildschirm) {
if (window.innerWidth < 800) {
id("garahmen").style.left = (((window.innerWidth / klbildschirmverhältnis) - id("garahmen").getBoundingClientRect().width) / 2) + "px";
id("garahmen").style.top = (((window.innerHeight / klbildschirmverhältnis) - id("garahmen").getBoundingClientRect().height) / 2) + "px";
}
else {
id("garahmen").style.left = (((window.innerWidth / klbildschirmverhältnis) - id("garahmen").getBoundingClientRect().width) / 2) + "px";
id("garahmen").style.top = (((window.innerHeight / klbildschirmverhältnis) - id("garahmen").getBoundingClientRect().height) / 2) + "px";
}
}
if (onrechtsklick != "")
id("garahmen").oncontextmenu = rechtsklick;
else if (klickinfos.includes("_rechtsklick") && (!vollbildmodus) && (!keinabbrechenmenü))
id("garahmen").oncontextmenu = abbrechenmenü;
else if (keinabbrechenmenü && (id("garahmen").oncontextmenu == abbrechenmenü))
id("garahmen").oncontextmenu = rechtsklickwahl;
if (klickinfos.includes("onwheel"))
id("garahmen").onwheel = mausrad1;
if (klickinfos.includes("mausbewegungX"))
id("garahmen").onmousemove = mausbewegung_rahmen; //mausbewegungX;
if (außenelemente.includes("konsole"))
id("ybalkenkonsole").onmousedown = _klickstart;
if (klickinfos.includes("klickStart"))
id("garahmen").onmousedown = rahmenklick; //klickStart;
if (klickinfos.includes("klickEnde"))
id("garahmen").onmouseup = klickEnde;
if (klickinfos.includes("_doppelklick"))
id("garahmen").ondblclick = rahmendoppelklick; //_doppelklick;
else {
id("garahmen").ondblclick = rahmen_zentrieren;
if (klickinfos.includes("_klick()"))
id("garahmen").onclick = _klick;
}
if ((variablen.name.includes("_menüjetztr") || variablen.name.includes("_menüjetztt")) && extrafunktionen.includes("function menüWegT"))
menüwegklicken = true;
if (hilfsfunktion[19]) {
d.body.onmousedown = function () {__maustaste = event.buttons; menüweg0();};
d.body.onmouseup = function () {__mausjetzt = event.buttons;};
}
else
d.body.onmousedown = menüweg0;
if (klickinfos.includes("mauszeigerWeg"))
id("garahmen").onmouseleave = mauszeigerWeg;
if (klickinfos.includes("mauszeigerHer"))
id("garahmen").onmouseenter = mauszeigerHer;
taste = _taste;
}
function textvergrößern () {
textgr++;
id("textfeld").style.fontSize = textgr + "px";
}
function textverkleinern () {
textgr--;
id("textfeld").style.fontSize = textgr + "px";
}
function rahmenklick () {
klickStart();
rahmen_zentrieren();
}
function rahmendoppelklick () {
_doppelklick();
beruehren0();
_mausjetzt = event.buttons;
}
function mausbewegung_rahmen () {
mausbewegungX();
beruehren1();
}
function menüweg0 () {
if (!event.target.id.startsWith("menüpunkt")) {
if (tmodus && menüwegklicken) {
if (variablen.name.includes("_menüjetztr") && checkparentids(event.target))
menüWegRklick();
// oritestmenüWegR();
if (variablen.name.includes("_menüjetztt"))
menüWegT();
}
}
}
function checkparentids (element) {
while (element.parentElement) {
element = element.parentElement;
if (element.id && element.id.startsWith("rechtsklickmenü"))
return false;
}
return true;
}
function menüweg () {
if (rechtsklickmenü)
abbrechenmenü(event);
if (tmodus && menüwegklicken) {
if (variablen.name.includes("_menüjetztr"))
oritestmenüWegR();
if (variablen.name.includes("_menüjetztt"))
menüWegT();
}
}
function testbereitF (wort, stelle) {
[" (", " )", " ", "\n(", "[,", " ]", " ,", "[]", "\"(", "\n ", " ;", "()"].forEach(x => wort = wort.split(x[0] + funktionen[stelle] + x[1]).join(x[0] + testfunktionen[stelle] + x[1]));
return wort;
}
function testbereitV (wort, stelle) {
let wert1 = new RegExp("\\b" + variablen.name[stelle] + "\\b(?=([^\"]*\"[^\"]*\")*[^\"]*($|\\n))", "g");
wort = wort.replace(wert1, testvariablen[stelle]);
return wort;
}
function rechtsklickwahl () {
event.preventDefault();
}
function rechtsklickwahl2 () {
if (!(event.ctrlKey && (modus == 0)))
event.preventDefault();
}
function rechtsklickwahl3 () {
if (!eingabefelder.includes(event.target.id))
event.preventDefault();
}
function attributCheck (wort) {
if (attributeG.includes(wort.toLowerCase()))
return true
else
return false;
}
function darueber (stelle) {
if (stelle > 0) {
for (var i = stelle; i >= 0; i--) {
if (tabzahl[i] < tabzahl[stelle])
return(origzeilen[i]);
}
}
return("");
}
function beruehrenFarben () {
var wert1 = event.target.id.slice(1);
var wert2 = auswahlfarbe;
if (wert1.startsWith("farbfeld") || wert1.startsWith("eigenefarbe")) // && (id(wert1).style.backgroundColor != id("farbinfo2").style.backgroundColor))
farbinfo();
if (!(wert1.startsWith("farbfeld") || wert1.startsWith("eigenefarbe"))) {
id("farbinfo2").style.backgroundColor = "";
id("farbinfo2").style.display = "none";
id("farbinfo1").style.display = "none";
id("schiebefeld").style.display = "none";
}
if ((screen.height < 1000) && (id("schiebefeld").style.display == "inline")) {
farbinfo3anpassen();
auswahlfarbe = wert2;
}
}
function klickAlert0 () {
if ((event.target.id != "yalertganzinnen") && (event.target.id != "yalertknopf")) {
_mausjetzt = event.buttons;
_maustaste = event.buttons;
d.body.style.userSelect = "none";
id2("alertganzinnen").style.userSelect = "auto";
_objekt = "alertfeld";
_startx = Math.round(event.clientX);
_starty = Math.round(event.clientY);
_korrx = _startx - Math.round(parseInt(id2(_objekt).style.left));
_korry = _starty - Math.round(parseInt(id2(_objekt).style.top));
}
}
function klickAlert1 () {
if (_mausjetzt == 1) {
_objekt = "alertfeld";
_aktux = Math.round(event.clientX);
_aktuy = Math.round(event.clientY);
if ((_aktux-_korrx) < 0)
_korrx = _aktux;
if ((_aktuy-_korry) < 0)
_korry = _aktuy;
if ((_aktux-_korrx) >= (window.innerWidth-parseInt(id2("alertfeld").getBoundingClientRect().width))) {
_korrx = _aktux - (window.innerWidth - parseInt(id2("alertfeld").getBoundingClientRect().width));
id2(_objekt).style.left = window.innerWidth - parseInt(id2("alertfeld").getBoundingClientRect().width) + "px";
}
else
id2(_objekt).style.left = (_aktux-_korrx) + "px";
if ((_aktuy-_korry) >= (window.innerHeight-parseInt(id2("alertfeld").getBoundingClientRect().height))) {
_korry = _aktuy - (window.innerHeight - parseInt(id2("alertfeld").getBoundingClientRect().height));
id2(_objekt).style.top = window.innerHeight - parseInt(id2("alertfeld").getBoundingClientRect().height) + "px";
}
else
id2(_objekt).style.top = (_aktuy-_korry) + "px";
}
}
function klickAlert2 () {
_mausjetzt = event.buttons;
d.body.style.userSelect = "auto";
}
function formatAnpassen () {
let extrabreite = 0;
if (tmodus && settings[8])
extrabreite = boxenhöhe[boxenid.indexOf("titelleiste")];
if (window.innerHeight == screen.height)
by0 = vollbildmodus ? 0 : Math.round((window.innerHeight - bhöhe - extrabreite) * byvollbild) + extrabreite;
else
by0 = Math.round((window.innerHeight - bhöhe - extrabreite) / 3) + extrabreite;
if (tmodus) {
__by0 = by0;
__fensterhöhe = window.innerHeight;
if (vollbildmodus)
__bhöhe = bhöhe = window.innerHeight;
if ((!vollbildmodus)) // && (id("garahmen").style.left == Math.round((window.innerWidth - bbreite) / 2) + "px"))
id("garahmen").style.top = by0 + "px";
if (vollbildmodus)
id("garahmen").style.height = "100%";
if (extrafunktionen.includes("function resizefunktion"))
resizefunktion();
if (settings[8])
_titelleistepositionieren();
}
else {
if (id("leere").style.left == Math.round((window.innerWidth - 1280) / 2) + "px")
id("leere").style.top = by0 + "px";
if (window.innerWidth < (screen.width / 2))
id("textfeld").style.height = "99%";
else
id("textfeld").style.height = "91%";
}
if (kleinerbildschirm) {
if (window.innerHeight == screen.height) {
id2("kleineUhr").style.display = "inline";
settingUhr = true;
if (tablet) {
id("textgrößer").style.display = "none";
id("textkleiner").style.display = "none";
}
}
else {
id2("kleineUhr").style.display = "none";
settingUhr = false;
if (tablet) {
id("textgrößer").style.display = "flex";
id("textkleiner").style.display = "flex";
}
}
}
if (tmodus)
_fensterhöhe = window.innerHeight;
}
function extrabuttonAnzeigen2 () {
if (event.which == 1)
_maustaste = event.buttons;
else if (event.which == 3)
extrabuttonAnzeigen();
}
function extrabuttonAnzeigen () {
if (!(event.ctrlKey && (modus == 0))) {
event.preventDefault();
if ((id("textfeld").value == "") || (id("textfeld").value == grusstext)) {
id("extrabutton1").disabled = true;
id("extrabutton2").disabled = true;
}
else {
id("extrabutton1").disabled = false;
id("extrabutton2").disabled = false;
}
if (event.target.id == "ytextfeld") {
if (rechtsklickjetzt == "") {
if (window.getSelection() == "") {
id("extrabutton1").style.display = "inline";
id("extrabutton3").style.top = "116px";
id("extrabutton2").style.display = "inline";
}
else {
id("extrabutton1").style.display = "none";
id("extrabutton3").style.top = "0px";
id("extrabutton2").style.display = "none";
}
anzeigePositionieren("extrabuttons");
id("extrabuttons").style.display = "flex";
rechtsklickjetzt = "ja";
}
}}
}
function extrabuttonWeg2 () {
if (event.which == 3)
extrabuttonWeg();
}
function extrabuttonWeg () {
id("extrabuttons").style.display = "none";
rechtsklickjetzt = "";
kontextmenü = false;
if (!tmodus) {
d.body.onclick = "";
id("titelleiste").oncontextmenu = rechtsklickwahl;
id("textfeld").oncontextmenu = contextcheck;
}
}
function contextuhr () {
event.preventDefault();
if (true || id("extrabuttons").style.display == "none") {
if (id("kleineUhr").style.display == "none")
id("extrabutton1").value = "Uhr anzeigen";
else
id("extrabutton1").value = "Uhr verstecken";
id("extrabutton1").onclick = uhrtoggle;
id("extrabutton1").disabled = false;
id("extrabutton1").style.display = "inline";
id("extrabutton2").style.display = "none";
id("extrabutton3").style.display = "none";
id("extrabuttons").style.display = "flex";
// d.body.onclick = extrabuttonWeg;
id("titelleiste").oncontextmenu = extrabuttonWeg2;
id("textfeld").oncontextmenu = extrabuttonWeg2;
anzeigePositionieren("extrabuttons");
}
else {
id("extrabuttons").style.display = "none";
d.body.onclick = "";
id("textfeld").oncontextmenu = contextcheck;
id("titelleiste").oncontextmenu = rechtsklickwahl;
}
}
function uhrtoggle () {
settingUhr = id("kleineUhr").style.display == "none";
id("kleineUhr").style.display = settingUhr ? "inline" : "none";
id("extrabuttons").style.display = "none";
if (!uhrintervall)
uhrintervall = setInterval("id2(\"kleineUhr\").innerHTML = jetzigeUhrzeit()", 10000);
}
function uhrtoggle2 () {
settingUhr = id2("kleineUhr").style.display == "none";
id2("kleineUhr").style.display = settingUhr ? "inline" : "none";
if (!uhrintervall)
uhrintervall = setInterval("id2(\"kleineUhr\").innerHTML = jetzigeUhrzeit()", 10000);
}
function anzeigePositionieren (eineid) {
if (event.clientX < (screen.width / 2)) {
id(eineid).style.left = event.clientX + "px";
id(eineid).style.right = "";
}
else {
id(eineid).style.right = (window.innerWidth - event.clientX) + "px";
id(eineid).style.left = "";
}
if (event.clientY < (screen.height / 2)) {
id(eineid).style.top = event.clientY + "px";
id(eineid).style.bottom = "";
}
else {
id(eineid).style.bottom = (window.innerHeight - event.clientY) + "px";
id(eineid).style.top = "";
}
}
function logschließen () {
id2("konsole").style.display = "none";
if (keinhintergrund)
testen();
}
function rahmen_zentrieren () {
if (tmodus && event.ctrlKey) {
__bx0 = Math.round((window.innerWidth - id("garahmen").getBoundingClientRect().width) * 0.5);
if (screen.height == window.innerHeight)
__by0 = Math.round((window.innerHeight - id("garahmen").getBoundingClientRect().height) * 0.5);
else
__by0 = Math.round((window.innerHeight - id("garahmen").getBoundingClientRect().height) / 3);
id("garahmen").style.left = __bx0 + "px";
id("garahmen").style.top = __by0 + "px";
}
}
function beruehren0 () {
var wert1;
var wert2;
_maustaste = event.buttons;
_mausjetzt = event.buttons;
_startx = Math.round(event.clientX);
_starty = Math.round(event.clientY);
if (event.target.id.startsWith("yschieber_"))
schiebenr = event.target.nummer;
if (dmodus) {
if (event.which == 3) {
_objekt = event.target.id.slice(1);
if (_objekt == rechtsklickjetzt) {
rechtsklickjetzt = "";
id("infofenster").style.display = "none";
}
else {
rechtsklickjetzt = _objekt;
if (_objekt == "pluszeichen") {
id("infofenster").style.backgroundColor = "darkturquoise";
id("infofenster").style.borderColor = "darkturquoise";
id("infofenster").style.color = "white";
id("infofenster").style.fontSize = "50px";
id("infofenster").innerHTML = " [Verschieben]
1 fein
2 normal
3 grob ";
}
else if ((event.target.tagName == "IMG") || (event.target.tagName == "VIDEO")) {
id("infofenster").style.borderColor = "black";
id("infofenster").style.color = "black";
id("infofenster").style.backgroundColor = "white";
id("infofenster").style.fontSize = "80px";
id("infofenster").innerHTML = " " + event.target.src.replace(/^.*\//, "") + " ";
}
else {
wert2 = id(_objekt).style.backgroundColor;
id("infofenster").style.backgroundColor = "white";
id("infofenster").style.color = "black";
id("infofenster").style.borderColor = "black";
id("infofenster").style.fontSize = "80px";
if (wert2 == "")
wert2 = id(_objekt).style.color;
if (wert2 == "")
wert2 = "schwarz";
else
id("infofenster").style.borderColor = wert2;
if (webfarben.includes(wert2))
wert2 = farbliste[webfarben.indexOf(wert2)];
if (id(_objekt).style.backgroundColor == "")
wert2 = wert2 + " (Text)";
id("infofenster").innerHTML = " " + wert2 + " ";
}
anzeigePositionieren("infofenster");
id("infofenster").style.display = "inline";
}
}
else {
id("infofenster").style.display = "none";
rechtsklickjetzt = "";
}
}
if (event.buttons == 1) {
_objekt = tmodus ? event.target.id : event.target.id.slice(1);
if (id(_objekt).style.transform != "" && id(_objekt).parent) {
id(_objekt).style.left = id(_objekt).getBoundingClientRect().left - id(_objekt).parent.getBoundingClientRect().left + "px";
id(_objekt).style.top = id(_objekt).getBoundingClientRect().top - id(_objekt).parent.getBoundingClientRect().top + "px";
id(_objekt).style.transform = "";
}
if (/^(x_1|x_2|x2_1|x2_2|x5_1|x5_2|datblx2_1|datblx2_2|balkenx|balkenx2|balkenx5|datblbalkenx)$/.test(_objekt))
_objekt = "";
if (_objekt.startsWith("blauerbalken")) {
_objekt = event.target.parentNode.id.slice(1);
_korrx = _startx - parseInt(id(_objekt).getBoundingClientRect().left);
_korry = _starty - parseInt(id(_objekt).getBoundingClientRect().top);
d.body.onmousemove = beruehren1;
d.onmouseup = beruehren2;
}
if (_objekt == "grklschreibung2")
_objekt = "suchfenster";
if (_objekt == "suchfenster") {
if ((event.currentTarget == event.target) || (event.target.id == "ygrklschreibung2")) {
d.body.onmousemove = beruehren1;
d.onmouseup = beruehren2;
_korrx = _startx - parseInt(id(_objekt).getBoundingClientRect().left);
_korry = _starty - parseInt(id(_objekt).getBoundingClientRect().top);
}
else
_objekt = "";
}
if (schiebenr > 0) {
_objekt = event.target.id.slice(1).replace("halb", "");
_korrx = _startx - parseInt(id(_objekt).getBoundingClientRect().left);
d.body.onmousemove = beruehren1;
d.onmouseup = beruehren2;
}
if (event.ctrlKey)
_objekt = dmodus ? "leere" : "garahmen";
if ((_objekt == "leere") && (!event.ctrlKey))
_objekt = "";
if (dmodus && (_objekt != "")) {
wert1 = parseInt(_objekt.slice(3));
if (_objekt.startsWith("box"))
id(_objekt).style.cursor = "grabbing";
if (boxenauf[wert1] != "") {
wert1 = boxenid.indexOf(boxenauf[wert1]);
_objekt = "box" + wert1;
}
_korrx = _startx - Math.round(parseInt(id(_objekt).getBoundingClientRect().left));
if (dmodus) {
_korrx += bx0;
_starty = bhöhe - Math.round(event.clientY);
_korry = _starty - Math.round(parseInt(id(_objekt).style.bottom));
}
else {
if (boxeny[wert1] == "zentriert")
_korry = _starty - Math.round(parseInt(id(_objekt).getBoundingClientRect().top));
else
_korry = _starty - Math.round(parseInt(id(_objekt).style.top));
}
id(_objekt).style.position = "absolute";
}
}
if (tmodus && (_objekt.startsWith("_pixel_") || _objekt.startsWith("pixel_")))
_objekt = "";
// if (_objekt)
// _korry = _starty - (id(_objekt).style.top ? Math.round(parseInt(id(_objekt).style.top)) : Math.round(parseInt(id(_objekt).getBoundingClientRect().top)));
}
function beruehren1 () {
var wert1;
var wert2;
var wert3;
var wert4;
var wert5;
var wert6;
var _objekt2 = Array.isArray(_objekt) ? _objekt[0] : _objekt;
cursorx = event.clientX;
cursory = event.clientY;
_maustaste = event.buttons;
_mausjetzt = event.buttons;
if ((!_objekt) || ((_objekt == "garahmen") && tmodus && (!event.ctrlKey)))
_objekt = "";
if (event.buttons == 1 && _objekt) {
if (!dmodus && (schiebenr == 0) && !event.ctrlKey) {
wert1 = id(_objekt).getBoundingClientRect().width;
wert2 = id(_objekt).getBoundingClientRect().height;
_aktux = cursorx;
_aktuy = cursory;
wert5 = _aktux - _korrx;
wert6 = _aktuy - _korry;
if (wert5 < 0)
wert5 = 0;
if (wert6 < 0)
wert6 = 0;
if (wert5 > (window.innerWidth - parseInt(wert1)))
wert5 = window.innerWidth - parseInt(wert1);
if (wert6 > (window.innerHeight - parseInt(wert2)))
wert6 = window.innerHeight - parseInt(wert2);
_korrx = _aktux - Math.round(wert5);
_korry = _aktuy - Math.round(wert6);
}
if (_objekt.startsWith("schieber")) {
let zeilenx = id(_objekt).parentNode.getBoundingClientRect().left;
let zeilenbreite = id(_objekt).parentNode.getBoundingClientRect().width;
let wertz;
let wertyanteil;
if (schiebenr == 0)
schiebenr = id(_objekt).nummer;
wert1 = id(_objekt).getBoundingClientRect().width;
_aktux = cursorx - zeilenx;
wert5 = _aktux - _korrx;
if (wert5 < -15)
wert5 = -15;
if (wert5 > (id(_objekt).parentNode.getBoundingClientRect().width - parseInt(wert1) + 15))
wert5 = id(_objekt).parentNode.getBoundingClientRect().width - parseInt(wert1) + 15;
if (wert5 > 285)
wert5 = 285;
_korrx = _aktux - Math.round(wert5);
wertz = wert5 - parseInt(id(_objekt).style.left.replace("px", ""));
if (schiebenr > 1)
id(_objekt).style.left = wert5 + "px";
wertyanteil = Math.round(((wert5 + 15) / zeilenbreite) * 255).toString(16).replace(/^(.)$/, "0$1");
if (schiebenr == 1) {
let wertx1 = (parseInt(auswahlfarbe.slice(4), 16) * zeilenbreite / 255) - 15;
let wertx2 = (parseInt(auswahlfarbe.slice(2,-2), 16) * zeilenbreite / 255) - 15;
let wertx3 = (parseInt(auswahlfarbe.slice(0, -4), 16) * zeilenbreite / 255) - 15;
wertz -= Math.min(0, (wertx1 + wertz + 15), (wertx2 + wertz + 15), (wertx3 + wertz + 15));
wertz -= Math.max(0, (wertx1 + wertz - zeilenbreite + 15), (wertx2 + wertz - zeilenbreite + 15), (wertx3 + wertz - zeilenbreite + 15));
id(_objekt).style.left = Math.round(((wertx1 + wertx2 + wertx3) / 3) + wertz) + "px";
id("schieber_2").style.left = (wertx1 + wertz) + "px";
id("schieber_3").style.left = (wertx2 + wertz) + "px";
id("schieber_4").style.left = (wertx3 + wertz) + "px";
wertz = Math.round(wertz * 255 / zeilenbreite);
auswahlfarbe = (parseInt(auswahlfarbe.slice(0,-4), 16) + wertz).toString(16).replace(/^(.)$/, "0$1").replace(/^-.*$/, "00").replace(/^...$/, "ff") + (parseInt(auswahlfarbe.slice(2,-2), 16) + wertz).toString(16).replace(/^(.)$/, "0$1").replace(/^-.*$/, "00").replace(/^...$/, "ff") + (parseInt(auswahlfarbe.slice(4), 16) + wertz).toString(16).replace(/^(.)$/, "0$1").replace(/^-.*$/, "00").replace(/^...$/, "ff");
}
if (schiebenr == 2)
auswahlfarbe = auswahlfarbe.replace(/(....)../, "$1" + wertyanteil);
if (schiebenr == 3)
auswahlfarbe = auswahlfarbe.replace(/(..)..(..)/, "$1" + wertyanteil + "$2");
if (schiebenr == 4)
auswahlfarbe = auswahlfarbe.replace(/..(....)/, wertyanteil + "$1");
auswahlfarbe = auswahlfarbe.toUpperCase();
if (farbänderung && id("uebernehmen").style.display == "none") {
id("uebernehmen").value = "übernehmen";
farbwertkopieren = farbeübernehmen;
id("uebernehmen").style.display = "inline";
}
id("farbinfo3").style.backgroundColor = "#" + auswahlfarbe;
if (schiebenr > 1) {
wertx = [parseInt(auswahlfarbe.slice(0, -4), 16), parseInt(auswahlfarbe.slice(2, -2), 16), parseInt(auswahlfarbe.slice(4), 16)];
id("schieber_1").style.left = Math.round(((wertx[0] + wertx[1] + wertx[2]) * 100 / 256) - 15) + "px";
}
let werty1 = parseInt(auswahlfarbe.slice(0,2), 16).toString(16) + "0000";
let werty2 = "00" + parseInt(auswahlfarbe.slice(2,4), 16).toString(16) + "00";
let werty3 = "0000" + parseInt(auswahlfarbe.slice(4), 16).toString(16);
id("farbinfo5").innerHTML = "" + auswahlfarbe.slice(0,2) + "" + auswahlfarbe.slice(2,4) + "" + auswahlfarbe.slice(4) + "";
}
if (event.ctrlKey && (!testkeys.includes("Control")) && (!testkeys.includes("Control1"))) {
if (!(tmodus && ((_tasten.includes("Control1") && testkeys.includes("Control1")) || (_tasten.includes("Control2") && testkeys.includes("Control2"))))) {
_aktux = cursorx;
_aktuy = cursory;
wert5 = _aktux - _korrx;
wert6 = _aktuy - _korry;
if (wert5 < 0)
wert5 = 0;
if (wert6 < 0)
wert6 = 0;
if (wert5 > (window.innerWidth - parseInt(id(_objekt).style.width)))
wert5 = window.innerWidth - parseInt(id(_objekt).style.width);
if (wert6 > (window.innerHeight - parseInt(id(_objekt).style.height)))
wert6 = window.innerHeight - parseInt(id(_objekt).style.height);
_korrx = _aktux - Math.round(wert5);
_korry = _aktuy - Math.round(wert6);
if (Math.abs((_aktux-_korrx) + (id(_objekt).getBoundingClientRect().width/2) - screen.width/2) < (8+((trennung-1)*16)))
id2("leere0").style.backgroundColor = "gray";
else
id2("leere0").style.backgroundColor = "dimgray";
wert1 = id(_objekt).style.width;
wert2 = id(_objekt).style.height;
}
}
if (dmodus && (!event.ctrlKey) && (_objekt != "")) {
wert1 = parseInt(_objekt.slice(3));
_aktux = Math.round(event.clientX);
_aktuy = bhöhe - Math.round(event.clientY);
wert4 = true;
if (((_aktux-_korrx) < 0) && (!event.shiftKey)) {
wert5 = 0;
boxenxneu[wert1] = 0;
wert4 = false;
}
if (((_aktux-_korrx) >= (bbreite - id(_objekt).getBoundingClientRect().width)) && (!event.shiftKey)) {
wert5 = bbreite - id(_objekt).getBoundingClientRect().width;
wert4 = false;
}
if (wert4)
wert5 = _aktux - _korrx;
if (boxenx[wert1] == "zentriert")
id(_objekt).style.transform = id(_objekt).style.transform.replace("translateX(-50%)", "translateX(0%)");
boxenxneu[wert1] = wert5;
if (boxeny[wert1] == "zentriert")
id(_objekt).style.transform = id(_objekt).style.transform.replace("translateY(-50%)", "translateY(0%)");
wert4 = true;
if (((_aktuy-_korry) < 0) && (!event.shiftKey)) {
id(_objekt).style.bottom = "0px";
wert4 = false;
}
if (((_aktuy-_korry) >= (bhöhe - id(_objekt).getBoundingClientRect().height)) && (!event.shiftKey)) {
id(_objekt).style.bottom = (bhöhe - id(_objekt).getBoundingClientRect().height) + "px";
wert4 = false;
}
if (wert4)
id(_objekt).style.bottom = (_aktuy-_korry) + "px";
boxenyneu[wert1] = Math.round(bhöhe + by0 - id(_objekt).getBoundingClientRect().bottom);
if (Math.abs((_aktux-_korrx) + (id(_objekt).getBoundingClientRect().width/2) - bbreite/2) < (8+((trennung-1)*16)))
id("mitteV").style.display = "inline";
else
id("mitteV").style.display = "none";
if (Math.abs((_aktuy-_korry) + (id(_objekt).getBoundingClientRect().height/2) - bhöhe/2) < (5+((trennung-1)*10)))
id("mitteH").style.display = "inline";
else
id("mitteH").style.display = "none";
id(_objekt).style.left = wert5 + "px";
}
if ((_objekt != "") && (schiebenr == 0) && (!dmodus)) {
wert5 = Math.max(0, Math.min(wert5, window.innerWidth - parseInt(wert1)));
wert6 = Math.max(0, Math.min(wert6, window.innerHeight - parseInt(wert2)));
id(_objekt).style.left = wert5 + "px";
id(_objekt).style.top = wert6 + "px";
}
}
}
function createFeld(stelle) {
var wert1 = boxenid[stelle].replace(boxenid[stelle].charAt(0), boxenid[stelle].charAt(0).toUpperCase())+"\n";
if (boxentext[stelle] != "")
wert1 += "\t" + boxentext[stelle] + "\n";
if (boxendatei[stelle] != "")
wert1 += "\tdatei: " + boxendatei[stelle] + "\n";
if ((boxentyp[stelle] != "span") && (boxentyp[stelle] != "img"))
wert1 += "\t+" + boxentyp[stelle] + "\n";
if (boxenx[stelle] != "")
wert1 += "\tx: " + boxenx[stelle] + "\n";
if (boxeny[stelle] != "")
wert1 += "\ty: " + boxeny[stelle] + "\n";
if (boxenz[stelle] != "")
wert1 += "\tz: " + boxenz[stelle] + "\n";
if (boxenbreite[stelle] != "")
wert1 += "\tx_: " + boxenbreite[stelle] + "\n";
if (boxenhöhe[stelle] != "")
wert1 += "\ty_: " + boxenhöhe[stelle] + "\n";
if (boxenfarbe[stelle] != "black")
wert1 += "\tfarbe: " + boxenfarbe[stelle] + "\n";
if (boxenblur[stelle] != 0)
wert1 += "\tblur: " + boxenblur[stelle] + "\n";
if (boxenhintergrund[stelle] != "")
wert1 += "\thintergrund: " + boxenhintergrund[stelle] + "\n";
if (boxentransparenz[stelle] != "")
wert1 += "\ttransparenz: " + boxentransparenz[stelle] + "\n";
if (boxendreh[stelle] != "")
wert1 += "\tdrehung: " + boxendreh[stelle] + "\n";
if (boxendrehy[stelle] != "")
wert1 += "\tdrehungy: " + boxendrehy[stelle] + "\n";
if (boxendrehx[stelle] != "")
wert1 += "\tdrehungx: " + boxendrehx[stelle] + "\n";
if (boxenschrift[stelle] != "20")
wert1 += "\tschrift: " + boxenschrift[stelle] + "\n";
if (wert1 != "")
wert1 = wert1.slice(0, wert1.length - 1);
return wert1;
}
function beruehren2 () {
var wert1;
var wert2;
var wert3;
var wert4;
var objhöhe;
var _objekt1 = Array.isArray(_objekt) ? _objekt[0] : _objekt;
if (!_objekt1)
_objekt1 = "";
wert1 = parseInt(_objekt1.slice(3));
_mausjetzt = event.buttons;
if (!tmodus)
d.onmouseup = "";
else if ((!tablet) && verschiebbare_elemente)
xywerte = "x: " + event.target.style.left + " y: " + event.target.style.bottom + " xpr: " + (parseInt(event.target.style.left.replace(/\D/g, "")) * 100 / event.target.parentNode.getBoundingClientRect().width).toFixed(2) + " ypr: " + (parseInt(event.target.style.bottom.replace(/\D/g, "")) * 100 / event.target.parentNode.getBoundingClientRect().height).toFixed(2);
if (schiebenr > 0)
schiebenr = 0;
if (tmodus && id2("leere0").style.backgroundColor == "gray") {
id2("leere0").style.backgroundColor = "dimgray";
bx0 = parseInt((screen.width - id("garahmen").getBoundingClientRect().width) / 2)
id("garahmen").style.left = bx0 + "px";
}
if (_objekt1.startsWith("box") && dmodus && (event.which == 1)) {
wert1 = parseInt(_objekt1.slice(3));
id(_objekt1).style.cursor = "grab";
objhöhe = Math.round(id(_objekt1).getBoundingClientRect().height);
riegel = false;
if (!positioniert[wert1]) {
positioniert[wert1] = true;
id(_objekt1).style.opacity = 1;
}
for (var i = 0; i < boxenzahl; i++) {
if (!prototyp[i] && (boxenauf[i] == "")) {
if ((i != wert1) && (Math.abs(boxenxneu[i] - boxenxneu[wert1]) < (1 + (30*(trennung-1))))) { //innere Überlappung hor.
boxenxneu[wert1] = boxenxneu[i];
id(_objekt1).style.left = boxenxneu[wert1] + "px";
riegel = true;
}
if ((i != wert1) && (Math.abs(boxenyneu[i] - boxenyneu[wert1]) < (1 + (30*(trennung-1))))) { //innere Überlappung vert.
boxenyneu[wert1] = boxenyneu[i];
id(_objekt1).style.bottom = boxenyneu[wert1] + "px";
riegel = true;
}
if (boxenxneu[wert1] > boxenxneu[i]) { //wenn das Objekt weiter rechts ist als das Vergleichsobjekt
wert2 = id("box"+i).getBoundingClientRect().right - bx0;
wert3 = boxenxneu[wert1];
wert4 = true;
}
else { //weiter links
wert2 = parseInt(boxenxneu[wert1]) + parseInt(boxenbreite[wert1]);
wert3 = boxenxneu[i];
wert4 = false;
}
if ((i != wert1) && (Math.abs(wert3 - wert2) < (1 + (30*(trennung-1)))) && (wert3 < wert2)) { //Randüberlappung
if (wert4) { //Objekt ist rechts
boxenxneu[wert1] = Math.round(id("box"+i).getBoundingClientRect().right + bx0);
id(_objekt1).style.left = boxenxneu[wert1] + "px";
}
else { //Objekt ist links
boxenxneu[wert1] = boxenxneu[i] - boxenbreite[wert1];
id(_objekt1).style.left = boxenxneu[wert1] + "px";
}
riegel = true;
}
if (boxenyneu[wert1] > boxenyneu[i]) { //wenn das Objekt weiter oben ist als das Vergleichsobjekt
// wert2 = Math.round(id("box"+i).getBoundingClientRect().top + by0); //Dach des Vergleichsobjekts
wert3 = bhöhe - parseInt(boxenyneu[wert1]); //Boden des Objekts
wert4 = true;
}
else { //weiter unten
// wert2 = id(_objekt1).getBoundingClientRect().top - by0; //Dach des Objekts
wert3 = bhöhe - parseInt(boxenyneu[i]); //Boden des Vergleichsobjekts
wert4 = false;
}
if ((i != wert1) && (Math.abs(wert3 - wert2) < (1 + (30*(trennung-1)))) && (wert3 > wert2)) { //Randüberlappung
if (wert4) { //Objekt ist oben
// boxenyneu[wert1] = Math.round(bhöhe + objhöhe - id("box"+i).getBoundingClientRect().bottom - by0);
id(_objekt1).style.bottom = boxenyneu[wert1] + "px";
}
else { //Objekt ist unten
// boxenyneu[wert1] = Math.round(bhöhe - boxenhöhe[wert1] - id("box"+i).getBoundingClientRect().bottom - by0);
id(_objekt1).style.bottom = boxenyneu[wert1] + "px";
}
riegel = true;
}
if ((i != wert1) && (!riegel) && (Math.abs(id("box"+i).getBoundingClientRect().right - id(_objekt1).getBoundingClientRect().right) < (1 + (30*(trennung-1))))) {
boxenxneu[wert1] = Math.round(boxenxneu[wert1] + id("box"+i).getBoundingClientRect().right - id(_objekt1).getBoundingClientRect().right);
id(_objekt1).style.left = boxenxneu[wert1] + "px";
}
if ((i != wert1) && (!riegel) && (Math.abs(id("box"+i).getBoundingClientRect().bottom - id(_objekt1).getBoundingClientRect().bottom) < (1 + (30*(trennung-1))))) {
boxenyneu[wert1] = Math.round(boxenyneu[wert1] + id("box"+i).getBoundingClientRect().bottom - id(_objekt1).getBoundingClientRect().bottom);
id(_objekt1).style.bottom = boxenyneu[wert1] + "px";
}
}
}
if (id("mitteV").style.display == "inline") {
if (!riegel && (!(trennung == 1)))
boxenxneu[wert1] = Math.round((bbreite/2) - (id(_objekt1).getBoundingClientRect().width/2));
id(_objekt1).style.left = boxenxneu[wert1] + "px";
setTimeout("id('mitteV').style.display = 'none'", 200);
}
if (id("mitteH").style.display == "inline") {
if (!riegel && (!(trennung == 1)))
boxenyneu[wert1] = Math.round((bhöhe/2) - (id(_objekt1).getBoundingClientRect().height/2));
id(_objekt1).style.bottom = boxenyneu[wert1] + "px";
setTimeout("id('mitteH').style.display = 'none'", 200);
}
if(boxenstyle[wert1].includes("top:"))
boxenstyle[wert1] = boxenstyle[wert1].replace(/top:\s*[0-9]*px/, "top:"+id(_objekt1).style.top);
else
boxenstyle[wert1] += "bottom:" + id(_objekt1).style.bottom;
if(boxenstyle[wert1].includes("left:"))
boxenstyle[wert1] = boxenstyle[wert1].replace(/left:\s*[0-9]*px/, "left:"+id(_objekt1).style.left);
else
boxenstyle[wert1] += "left:" + id(_objekt1).style.left;
boxenstylealt[wert1] = boxenstyle[wert1];
}
if (_objekt1 == "suchfenster") {
d.body.onmousemove = "";
d.onmouseup = "";
}
if (!verschiebbare_elemente)
_objekt = _objekt1;
}
function tmodusklickstart () {
if (event.ctrlKey) {
_objekt = "garahmen";
_maustaste = event.buttons;
_mausjetzt = event.buttons;
_startx = Math.round(event.clientX);
_starty = Math.round(event.clientY);
_korrx = _startx - Math.round(parseInt(id(_objekt).getBoundingClientRect().left));
_korry = _starty - Math.round(parseInt(id(_objekt).style.top));
}
else
_objekt = "";
}
for (var i = 0; i < menüfelder.length; i++) {
for (var j = 1; j <= menüfelder[i].length; j++) {
// if (i > 0)
// id("menüfeld" + abc[i] + "_" + j).style.left = Math.round(parseInt(id("menüfeld_" + (i+1)).getBoundingClientRect().left) - 30) + "px";
id("menüfeld" + abc[i] + "_" + j).onmouseenter = färben;
id("menüfeld" + abc[i] + "_" + j).onmouseleave = entfärben;
}
}
function färben () {
event.target.style.backgroundColor = "white";
}
function entfärben () {
event.target.style.backgroundColor = "lightcyan";
}
function einsöffnen (zahlx) {
var wert1 = [];
var wert2 = "";
abcaktuell = abc[zahlx-1];
id("textfeld").blur();
if (browserspeichern)
id("menüfelda_3").innerHTML = textbearbeitet ? "Speichern*" : "Speichern";
if ((event.buttons == 1) && (event.target == event.currentTarget)) {
wert1 = ["none", "none", "none", "none", "none", "none"];
wert1[zahlx-1] = "flex";
wert2 = "menüfeld" + abc[zahlx-1] + "_";
if (id((wert2 + 1)).style.display != "none") {
for (var i = 1; i <= menüfelder[zahlx-1].length; i++)
id((wert2 + i)).style.display = "none";
}
else {
for (var i = 0; i < menüfelder.length; i++) {
for (var j = 1; j <= menüfelder[i].length; j++)
id(("menüfeld" + abc[i] + "_" + j)).style.display = wert1[i];
}
}
}
else if (event.target == event.currentTarget)
menüfelderZu()
}
/* function markiercheck () {
let markiert;
sel1 = id("textfeld").selectionStart;
sel2 = id("textfeld").selectionEnd;
markiert = id("textfeld").value.slice(sel1, sel2);
if (markiert.endsWith(" "))
id("textfeld").selectionEnd = sel2 - 1;
} */
function zur_auswahl () {
let wertx = "\n" + id("textfeld").value.slice(sel1, sel2).trim() + "\n";
let werty = id("textfeld").value;
id("textfeld").focus();
id("textfeld").selectionStart = id("textfeld").selectionEnd = id("textfeld").value.indexOf(wertx) + 1;
id("textfeld").blur();
id("textfeld").focus();
id("textfeld").selectionEnd = id("textfeld").value.indexOf(wertx) + wertx.length - 1;
id("textfeld").selectionStart = id("textfeld").value.indexOf(wertx) + wertx.length - 1;
}
function selectwerte () {
sel1 = id("textfeld").selectionStart;
sel2 = id("textfeld").selectionEnd;
}
function contextcheck () {
let text = () => id("textfeld").value;
let textfeld = id("textfeld");
let hinweise1klein = hinweise1.map(x => x.toLowerCase());
let nachzeile_eingerückt = false;
let standard = "";
let infotext = "";
let infotextKurz = "";
let nachzeile = "";
let zeilenrest1;
let zeilenrest2;
let markiert;
let markiert2;
let xyeinfügen = false;
let gehezu = 0;
if (event.ctrlKey)
return;
sel1 = textfeld.selectionStart;
sel2 = textfeld.selectionEnd;
if ((sel1 != 0) || (sel2 != textfeld.value.length)) {
id("extrabutton1").style.boxShadow = "5px 5px 5px lightgray";
id("extrabutton2").style.boxShadow = "5px 5px 5px lightgray";
id("extrabutton3").style.boxShadow = "5px 5px 5px lightgray";
id("extrainfo").style.boxShadow = "5px 5px 5px lightgray";
menücheck();
if (xywerte != "") {
let wertx = "";
if (/x:.*$/.test(id("textfeld").value.slice(0, id("textfeld").selectionStart)))
wertx = "x";
if (/y:.*$/.test(id("textfeld").value.slice(0, id("textfeld").selectionStart)))
wertx = "y";
if (wertx != "") {
event.preventDefault();
xyeinfügen = true;
id("extrabutton1").value = wertx + "-Wert einfügen";
if (wertx == "x")
erzeuge_context(350, ["x-Wert einfügen"], [wertx_einfügen]);
else
erzeuge_context(350, ["y-Wert einfügen"], [werty_einfügen]);
}
}
if ((sel1 == sel2) && internes_clipboard && (!xyeinfügen)) {
event.preventDefault();
erzeuge_context(300, ["einfügen"], [auswahl_einfügen]);
}
if ((sel1 != sel2) && (!xyeinfügen)) {
event.preventDefault()
kontextmenü = true;
markiert = text().slice(sel1, sel2);
markiert = markiert.length > 1 ? markiert.trim() : markiert;
markiert2 = markiert;
zeilenrest1 = text().slice(0, sel1).split("\n").slice(-1)[0];
zeilenrest2 = text().slice(sel2).split("\n")[0].replace(/°.*/, "").trim();
if (zeilenrest2 != text().slice(sel2))
nachzeile = text().slice(sel2).split("\n")[1];
if ((nachzeile != "") && (/^\t*/.exec(nachzeile).toString().length > /^\t*/.exec(zeilenrest1 + markiert).toString().length))
nachzeile_eingerückt = true;
if (sel2 < textfeld.value.length) {
if ((textfeld.value.charAt(sel2) == ":") && ((markiert.length > 1) || (markiert == "x") || (markiert == "y") || (markiert == "z")))
markiert += ":";
}
if ((markiert != "") && textfeld.value.replace(/\s*°.*/g, "").includes("\n" + markiert + "\n")) {
if (textfeld.value.indexOf("\n" + markiert + "\n") != (sel1 - 1)) {
if (/^[A-Z|Ä|Ö|Ü]/.test(markiert))
gehezu = 2;
else
gehezu = 1;
}
}
if (markiert.includes("_") && /^(_.*)?_[a-z ]+_$/i.test(markiert))
gehezu = 4;
else if (markiert.includes("_") && /^(_.*)?_[a-z0-9]+_$/i.test(markiert))
gehezu = 5;
else if ((markiert == "A") && (zeilenrest1 + zeilenrest2 == ""))
gehezu = 3;
if (sel1 > 0) {
if (textfeld.value.charAt(sel1 - 1) == "+")
markiert = "+" + markiert;
if (textfeld.value.charAt(sel1 - 1) == "@")
markiert = "@" + markiert;
if (zeilenrest1.endsWith("Zeit."))
markiert = "Zeit." + markiert;
else if (textfeld.value.charAt(sel1 - 1) == ".")
markiert = "." + markiert;
if (textfeld.value.charAt(sel1 - 1) == "\n")
markiert2 = "\n" + markiert;
}
else
markiert2 = "\n" + markiert;
standard = "" + markiert + " ";
if (hinweise1klein.includes(markiert2.toLowerCase()))
infotext = "" + markiert2 + " " + hinweise2[hinweise1klein.indexOf(markiert2.toLowerCase())];
else if (hinweise1klein.includes(markiert.toLowerCase()))
infotext = standard + hinweise2[hinweise1klein.indexOf(markiert.toLowerCase())];
else if (/^\.(jpg|png|gif|webp|mp3|mp4|wav)$/.test(markiert))
infotext = standard + "Dateiendung";
else if (markiert.startsWith("") && markiert.endsWith(";"))
infotextKurz = "HTML-Entität: " + markiert + "";
else if (markiert.endsWith(".unicode") && (!/(\s|\n)/.test(markiert.trim())))
infotextKurz = "Unicode: " + markiert.replace(".unicode", "") + ";";
else if ((markiert == "*") && (zeilenrest2 != ""))
infotext = standard + "Werte werden multipliziert";
else if ((markiert == "+") && (zeilenrest1.trim() != "") && (zeilenrest2 != ""))
infotext = standard + "Werte werden addiert";
else if ((markiert == "*") && /^[A-Z|Ä|Ö|Ü]/.test(zeilenrest1) && (zeilenrest2 == ""))
infotext = standard + "Mit diesem Zeichen wird ein Prototyp von einem Element unterschieden.";
else if ((markiert == ":") && /^[A-Z|Ä|Ö|Ü]/.test(zeilenrest1) && (zeilenrest2 == ""))
infotext = standard + "Dieses Zeichen entspricht in seiner Funktion dem Asterisk.";
else if ((markiert == ":") && (zeilenrest2 != ""))
infotext = standard + "Dieses Zeichen trennt den Namen eines Attributs von seinem Wert.";
else if ((markiert == ";") && (zeilenrest2 == ""))
infotext = standard + "Dieses Zeichen bedeutet, dass der Code in dieser Zeile als JavaScript interpretiert werden soll.";
else if ((markiert == "%") && ((zeilenrest2 == "") || (zeilenrest2 == ")")))
infotext = standard + "Prozent";
else if (((markiert == "english") || (markiert == "english!")) && (zeilenrest1 == "") && ((zeilenrest2 == "") || (zeilenrest2 == "!")))
infotext = standard + "hier stehen Übersetzungen auf Englisch oder in irgendeine andere Sprache";
else if ((markiert == "links") && /^\t+$/.test(zeilenrest1) && (zeilenrest2 == ""))
infotext = standard + "linke Pfeiltaste";
else if ((markiert == "rechts") && /^\t+$/.test(zeilenrest1) && (zeilenrest2 == ""))
infotext = standard + "rechte Pfeiltaste";
else if ((markiert == "oben") && /^\t+$/.test(zeilenrest1) && (zeilenrest2 == ""))
infotext = standard + "obere Pfeiltaste";
else if ((markiert == "unten") && /^\t+$/.test(zeilenrest1) && (zeilenrest2 == ""))
infotext = standard + "untere Pfeiltaste";
else if ((markiert.length == 1) && (gehezu != 3))
infotextKurz = (markiert.charCodeAt(0) < 128 ? "ASCII 0x" : "Unicode 0x") + markiert.charCodeAt(0).toString(16).toUpperCase() + (markiert.At(0) < 128 ? " " + markiert.charCodeAt(0) : "");
id("extrabuttons").style.visibility = "hidden";
id("extrabuttons").style.display = "flex";
if (infotext != "") {
let extrastyle = id("extrainfo").style;
id("extrainfo").innerHTML = infotext;
// extrastyle.backgroundColor = "#E6E6E6";
extrastyle.backgroundColor = "whitesmoke";
extrastyle.position = "absolute";
extrastyle.width = "1000px";
extrastyle.color = "black";
extrastyle.fontFamily = "monospace";
extrastyle.height = "120px";
extrastyle.display = "inline";
extrastyle.border = "solid black 2px";
extrastyle.boxSizing = "border-box";
extrastyle.paddingLeft = "30px";
extrastyle.paddingRight = "30px";
extrastyle.paddingTop = "17px";
extrastyle.justifyContent = "";
id("extrabutton1").style.display = "none";
id("extrabutton2").style.display = "none";
id("extrabutton3").style.display = "none";
d.body.onclick = extrabuttonWeg;
id("extrabuttons").style.display = "flex";
anzeigePositionieren("extrabuttons");
id("extrabuttons").style.visibility = "visible";
}
else if (infotextKurz != "")
erzeuge_context(300, [infotextKurz, "kopieren", "ausschneiden"], ["", auswahl_kopieren, auswahl_ausschneiden]);
else if (/^[\d|a-f][\d|a-f][\d|a-f][\d|a-f][\d|a-f][\d|a-f]$/i.test(markiert) || farbliste.includes(markiert)) {
if (farbliste.includes(markiert)) {
id("extrainfo").style.backgroundColor = webfarben[farbliste.indexOf(markiert)];
id("extrainfo").innerHTML = markiert;
}
else {
id("extrainfo").style.backgroundColor = "#" + markiert;
id("extrainfo").innerHTML = "#" + markiert;
}
id("extrainfo").style.border = "";
id("extrainfo").style.color = /(weiß|\b[a-f][a-f0-9]?[a-f][a-f0-9]?[a-f][a-f0-9]?\b)/i.test(markiert) ? "dimgray" : "white";
farbe_oder_datum();
}
else if (/^\d\d\d\d\d\d\d\d\d\d\d?\d?\d?\d?\d?$/.test(markiert)) {
let wertx = new Date(parseInt(markiert));
id("extrainfo").style.backgroundColor = "whitesmoke";
id("extrainfo").style.color = "black";
id("extrainfo").innerHTML = wertx.getDate().toString().replace(/^(.)$/, "0$1") + "." + (parseInt(wertx.getMonth()) + 1).toString().replace(/^(.)$/, "0$1") + "." + wertx.getFullYear();
farbe_oder_datum();
}
else {
if (gehezu == 1)
erzeuge_context(300, ["zur Funktion", "kopieren", "ausschneiden"], [zur_auswahl, auswahl_kopieren, auswahl_ausschneiden]);
else if (gehezu == 2)
erzeuge_context(300, ["zum Element", "kopieren", "ausschneiden"], [zur_auswahl, auswahl_kopieren, auswahl_ausschneiden]);
else if (gehezu == 3)
erzeuge_context(300, ["kopieren", "ausschneiden", "Textfeld erzeugen"], [auswahl_kopieren, auswahl_ausschneiden, textfeld_erzeugen]);
else if (gehezu == 4)
erzeuge_context(300, ["kopieren", "ausschneiden", "verdichten"], [auswahl_kopieren, auswahl_ausschneiden, verdichten]);
else if (gehezu == 5)
erzeuge_context(300, ["kopieren", "ausschneiden", "ausbreiten"], [auswahl_kopieren, auswahl_ausschneiden, ausbreiten]);
else if (internes_clipboard)
erzeuge_context(300, ["kopieren", "ausschneiden", "einfügen"], [auswahl_kopieren, auswahl_ausschneiden, auswahl_einfügen]);
else
erzeuge_context(300, ["kopieren", "ausschneiden"], [auswahl_kopieren, auswahl_ausschneiden]);
/* id("extrabutton1").value = "kopieren";
id("extrabutton1").onclick = auswahl_kopieren;
id("extrabutton1").disabled = false;
id("extrabutton1").style.display = "inline";
// id("extrabuttons").style.width = "300px";
id("extrainfo").style.display = "none";
id("extrabutton2").disabled = false;
id("extrabutton2").value = "ausschneiden";
id("extrabutton2").onclick = auswahl_ausschneiden;
id("extrabutton2").style.display = "inline";
// id("extrabuttons").style.height = (id("extrabutton1").getBoundingClientRect().height * 2) + "px"; */
}
}}
}
function ausbreiten () {
let markiert = id("textfeld").value.slice(sel1, sel2);
let markierlänge = markiert.length;
let markierstart = markiert.replace(/_[a-z0-9]+_$/i, "");
markiert = markierstart + "_" + /_[a-z0-9]+_$/i.exec(markiert)[0].toString().slice(1,-1).replace(/([a-z])/gi, ".$1").slice(1).split(".").map(x => x.length == 1 ? x : x.slice(0,1).repeat(parseInt(x.slice(1)))).join("") + "_"; //.split("").map((x, i) => (i > 0) && (i % 32 == 0) ? " " + x : x).join("") + "_";
id("textfeld").value = id("textfeld").value.slice(0, sel1) + markiert + id("textfeld").value.slice(sel1 + markierlänge);
}
function verdichten () {
let markiert = id("textfeld").value.slice(sel1, sel2);
let ausgabe = "";
let zähler = 0;
let buchstabe;
let markierstart = markiert.replace(/_[a-z ]+_$/i, "");
let markierlänge = markiert.length;
markiert = /_[a-z ]+_$/i.exec(markiert)[0].toString().slice(1,-1).replace(/ /g, "").split("");
buchstabe = markiert[0];
for (let i = 0; i < markiert.length; i++) {
if (markiert[i] != buchstabe) {
ausgabe += buchstabe + (zähler == 1 ? "" : zähler);
zähler = 0;
buchstabe = markiert[i];
}
zähler++;
}
if (markiert[markiert.length - 1] == buchstabe)
ausgabe += buchstabe + zähler;
else
ausgabe += buchstabe + (zähler - 1) + markiert[markiert.length - 1];
ausgabe = markierstart + "_" + ausgabe + "_";
id("textfeld").value = id("textfeld").value.slice(0, sel1) + ausgabe + id("textfeld").value.slice(sel1 + markierlänge);
}
function textfeld_erzeugen (element_art) {
let a = id("textfeld").selectionStart;
let b = id("textfeld").value.slice(a, a + 1);
if (element_art === undefined)
element_art = "text";
if (element_art == "text")
id("textfeld").value = id("textfeld").value.slice(0, a) + id("textfeld").value.slice(a).replace(/^[A-Z](\n\t.*)+/, b + "\n\tein Text\n\tx: 200\n\ty: 600\n\tSchrift: 60");
else if (element_art == "standard")
id("textfeld").value = id("textfeld").value.slice(0, a) + id("textfeld").value.slice(a).replace(/^[A-Z](\n\t.*)+/, b + "\n\tx: 300 (300)\n\ty: 250\n\tFarbe: blau");
id("textfeld").selectionStart = id("textfeld").selectionEnd = a;
}
function farbe_oder_datum () {
id("extrainfo").style.padding = "";
id("extrainfo").style.position = "static";
id("extrainfo").style.fontFamily = "monospace";
id("extrainfo").style.border = "2px solid black";
id("extrainfo").style.boxSizing = "border-box";
id("extrainfo").style.width = "";
id("extrainfo").style.height = "70px";
id("extrainfo").style.justifyContent = "center";
id("extrainfo").style.alignItems = "center";
id("extrainfo").style.display = "flex";
id("extrabutton1").style.display = "none";
id("extrabutton2").value = "kopieren";
id("extrabutton2").onclick = auswahl_kopieren;
id("extrabutton2").disabled = false;
id("extrabutton2").style.display = "inline";
id("extrabutton3").value = "Farbe ändern";
id("extrabutton3").onmousedown = function () { sel1 = id("textfeld").selectionStart; sel2 = id("textfeld").selectionEnd; };
id("extrabutton3").onclick = farbpalette0x;
id("extrabutton3").style.display = "inline";
d.body.onclick = extrabuttonWeg;
id("extrabuttons").style.display = "flex";
anzeigePositionieren("extrabuttons");
id("extrabuttons").style.visibility = "visible";
}
function erzeuge_context (breite, felder, funktionen) {
if (funktionen[0] == "") {
id("extrabutton1").style.display = "none";
id("extrainfo").innerHTML = felder[0];
id("extrainfo").style.position = "static";
id("extrainfo").fontFamily = "monospace";
id("extrainfo").style.backgroundColor = "whitesmoke";
id("extrainfo").border = "";
id("extrainfo").boxSizing = "";
id("extrainfo").style.width = "";
id("extrainfo").style.height = "";
id("extrainfo").style.padding = "10px 20px 15px 20px";
id("extrainfo").style.display = "inline";
}
else {
id("extrabutton1").value = felder[0];
id("extrabutton1").onclick = funktionen[0];
id("extrabutton1").disabled = false;
id("extrabutton1").style.display = "inline";
id("extrainfo").style.display = "none";
}
if (felder.length >= 2) {
id("extrabutton2").disabled = false;
id("extrabutton2").value = felder[1];
id("extrabutton2").onclick = funktionen[1];
id("extrabutton2").style.display = "inline";
if (felder.length == 3) {
id("extrabutton3").value = felder[2];
id("extrabutton3").onclick = funktionen[2];
id("extrabutton3").style.display = "inline";
}
}
else
id("extrabutton2").style.display = "none";
if (felder.length < 3)
id("extrabutton3").style.display = "none";
id("extrabuttons").style.display = "flex";
anzeigePositionieren("extrabuttons");
d.body.onclick = extrabuttonWeg;
id("extrabuttons").style.visibility = "visible";
}
function wertx_einfügen () {
if (/[^\(]*%.*$/.test(id("textfeld").value.slice(0, id("textfeld").selectionStart)) || /^[^\(]*%.*/.test(id("textfeld").value.slice(id("textfeld").selectionStart)))
id("textfeld").value = id("textfeld").value.slice(0, id("textfeld").selectionStart).replace(/x:.*$/, "x: ") + /xpr: [\d\.]+/.exec(xywerte).toString().replace("xpr: ", "") + "%" + id("textfeld").value.slice(id("textfeld").selectionStart).replace(/^.*?(\s?\(|°|\n)/, "$1");
else
id("textfeld").value = id("textfeld").value.slice(0, id("textfeld").selectionStart).replace(/x:.*$/, "x: ") + /\d+/.exec(xywerte).toString() + id("textfeld").value.slice(id("textfeld").selectionStart).replace(/^.*?(\s?\(|°|\n)/, "$1");
}
function werty_einfügen () {
if (/[^\(]*%.*$/.test(id("textfeld").value.slice(0, id("textfeld").selectionStart)) || /^[^\(]*%.*/.test(id("textfeld").value.slice(id("textfeld").selectionStart)))
id("textfeld").value = id("textfeld").value.slice(0, id("textfeld").selectionStart).replace(/y:.*$/, "y: ") + /ypr: [\d\.]+/.exec(xywerte).toString().replace("ypr: ", "") + "%" + id("textfeld").value.slice(id("textfeld").selectionStart).replace(/^.*?(\s?\(|°|\n)/, "$1");
else
id("textfeld").value = id("textfeld").value.slice(0, id("textfeld").selectionStart).replace(/y:.*$/, "y: ") + /\d+/.exec(xywerte.replace(/\d+/, "")).toString() + id("textfeld").value.slice(id("textfeld").selectionStart).replace(/^.*?(\s?\(|°|\n)/, "$1");
}
function menücheck () {
if (kontextmenü)
extrabuttonWeg();
if (abc.some(function (x) {return id("menüfeld" + x + "_1").style.display == "flex";})) {
for (var i = 0; i < menüfelder.length; i++) {
for (var j = 1; j <= menüfelder[i].length; j++)
id(("menüfeld" + abc[i] + "_" + j)).style.display = "none";
}
}
id("extrabuttons").style.display = "none";
}
function grundzeile (text) {
if (id2("grundzeile").style.display == "none") {
id2("grundzeile").innerHTML = text;
id2("grundzeile").style.display = "inline";
}
else
id2("grundzeile").style.display = "none";
}
function grundzeileplus (text) {
id2("grundzeile").innerHTML = text;
if (id2("grundzeile").style.display == "none")
id2("grundzeile").style.display = "inline";
}
function menüfelderZu0 () {
if (event.target == event.currentTarget)
menüfelderZu();
}
function menüfelderZu () {
for (var i = 0; i < menüfelder.length; i++) {
for (var j = 1; j <= menüfelder[i].length; j++)
id("menüfeld" + abc[i] + "_" + j).style.display = "none";
}
abcaktuell = "";
}
function menüfeldZu () {
if (abcaktuell != "") {
let wertz = abc.indexOf(abcaktuell);
menüfelder[wertz].forEach((x, i) => id("menüfeld" + abcaktuell + "_" + (i + 1)).style.display = "none");
abcaktuell = "";
}
}
function menüleiste_generieren () {
let spaltenbreite = [350, 220, 250, 450, 230, 230];
let wert1 = "padding-left:30px; display: flex; align-items: center; position:absolute; font-weight:bold; font-size:35px; left:inherit; font-family: sans-serif; display: none; border:1px solid black; box-sizing:border-box; background-color:lightcyan; height:60px; transform:translate(-28px)";
if (kleinerbildschirm)
wert1 = wert1.replace("font-size:35px", "font-size:30px");
for (var i = 0; i < menüfelder.length; i++) {
for (var j = 1; j <= menüfelder[i].length; j++) {
el = d.createElement("span");
el.id = "menüfeld" + abc[i] + "_" + j;
el.style = wert1;
el.style.bottom = (-1 - (j * 59)) + "px";
el.style.width = spaltenbreite[i];
if (i == 0)
el.style.transform = "translate(-30px)";
el.innerHTML = menüfelder[i][j-1];
el.onmouseup = menüfunktionen[i][j-1];
id("menüfeld_" + (i+1)).appendChild(el);
}
}
}
function menüleiste_aktualisieren (nr) {
let spaltenbreite = [350, 220, 250, 450, 230, 230];
let wert1 = "padding-left:30px; display: flex; align-items: center; position:absolute; font-weight:bold; font-size:35px; left:inherit; font-family: sans-serif; display: none; border:1px solid black; box-sizing:border-box; background-color:lightcyan; height:60px; transform:translate(-28px)";
if (kleinerbildschirm)
wert1 = wert1.replace("font-size:35px", "font-size:30px");
d.title = menüfelder[nr].length
for (var j = 1; j <= menüfelder[nr].length; j++) {
if (id("menüfeld" + abc[nr] + "_" + j))
id("menüfeld" + abc[nr] + "_" + j).remove();
el = d.createElement("span");
el.id = "ymenüfeld" + abc[nr] + "_" + j;
el.style = wert1;
el.style.bottom = (-1 - (j * 59)) + "px";
el.style.width = spaltenbreite[nr];
if (nr == 0)
el.style.transform = "translate(-30px)";
el.innerHTML = menüfelder[nr][j-1];
el.onmouseup = menüfunktionen[nr][j-1];
id("menüfeld_" + (nr+1)).appendChild(el);
}
}
function abcvergleich (a, b) {
let alphabet = "_0123456789aäbcdefghijklmnoöpqrsßtuüvwxyz".split("");
a = a.toLowerCase();
b = b.toLowerCase();
for (let i = 0; i < Math.min(a.length, b.length); i++) {
if (a.charAt(i) != b.charAt(i))
return alphabet.indexOf(a.charAt(i)) - alphabet.indexOf(b.charAt(i));
}
return a.length - b.length;
}
function id (idangabe) {
return d.getElementById(idangabe);
}
function id1 (idangabe) {
return d.getElementById(idangabe);
}
function id2 (idangabe) {
return d.getElementById("y" + idangabe);
}