{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/mainPhrase.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","HandleSendMainPhraseClick","elements","isFormValid","length","isElementValid","enteredMainPhrase","obj","getInputValue","crosswordTitle","getCrosswordTitle","crosswordId","getCrosswordId","mainPhrase","user","email","comment","remarks","to","getToAddress","captcha","hintsUsed","getHintsUsed","solveTime","getSolveTime","words","Words","emptyOrErrorsFound","getEmptyOrErrorsCount","mainPhraseErrorsFound","getMainPhraseErrorsCount","rescrambles","getRescrambles","document","getElementById","disabled","style","display","data","xmlhttp","XMLHttpRequest","open","setRequestHeader","payload","JSON","stringify","send","sendMainPhrase","id","input","scriptTag","dataset","parseInt","headers","getElementsByTagName","header","textContent","element","borderColor","borderWidth","MainPhraseResult","isFilledIn","this","Rescrambles","Hints","reduce","x","y","v","Math","round","Date","crosswordResult","userEntry","tableCell","errorsFound","emptyFound","j","WordLength","LastHorizontalWord","CellAt","WordX","WordY","innerHTML","toLowerCase","toUpperCase","replace","HashWord","AnswerHash","checkCrossword","realMainPhrase","ecToJsDict","assocArray","CreateWordAssociationArray","dict","getEcToJsArrayWordDictionaryKey","getEcToJsArrayWordDictionary","mainAnswer","ecWordIndex","letterIndex","direction","ecToJsKey","wordIndex","letter","Word","getRealMainPhrase","isHorizontal","getMainPhraseResult","mainAnswerCells","querySelectorAll","filledInMainPhraseCells","mainAnswerCell","push","notNullMainAswer","filter","item","join","spaceIndices","arr","val","indexes","indexOf","getAllIndexes","totalLength","mainPhraseWithSpaces","appendLabelWithTextArea","form","labelText","label","createElement","for","appendChild","textArea","rows","cols","appendLabelWithInput","appendHiddenInput","type","getScrambledLetters","CurrentWord","array","floor","random","temp","shuffleArray","split","RescrambleLetters","isInitial","scrambledLetters","TranslateSendMainPhrase","translations","thankYouHeaderPrefix","ty","translateMultiple","moveDivs","selectors","actionsContainer","isId","selector","div","clonedDiv","getElementsByClassName","cloneNode","parentElement","children","removeChild","addEventListener","orig","box","classList","add","marginTop","submitButton","onclick","thankYou","thankYouHeader","color","checkButton","body","insertBefore","nextElementSibling","AppendSendMainPhraseBox","screen","width","marginBottom","MoveBoxesAboveCrossword","metaCharset","setAttribute","metaViewport","content","head","AddMetaTags","OKClick","mainPhraseResult","SaveState","usedHints","nodesList","letters","node","CreateCookie","cookieName","SaveMainPhrase","LoadState","cookie","parsed","ReadCookie","LoadMainPhrase","hintsAllowed","HintsAllowed","LoadUsedHints","SelectThisWord","event","answerBox","existingScrambledLetters","remove","scrambledLettersParagraph","fontWeight","scrambledLettersDescription","scrambledLettersSpan","rescrambleButton","marginLeft","AppendScrambledLettersForCurrentWord","wordLabel","indexOfFirstBullet","replaced","slice","PreFillInAnswerBoxAfterSelect"],"mappings":"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","file":"mainPhrase.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","function HandleSendMainPhraseClick() {\r\n var elements = [\"email\", \"comment\", \"mainPhrase\"];\r\n var isFormValid = true;\r\n\r\n for (var i = 0; i < elements.length; i++) {\r\n var isCurrentElementValid = isElementValid(elements[i]);\r\n\r\n if (!isCurrentElementValid) {\r\n isFormValid = false;\r\n }\r\n }\r\n\r\n if (!isFormValid) {\r\n return;\r\n }\r\n\r\n var obj = getAjaxRequest();\r\n\r\n document.getElementById(\"sendMainPhraseFormButton\").disabled = true;\r\n\r\n document.getElementById(\"sendMainPhraseForm\").style.display = \"none\";\r\n document.getElementById(\"sendMainPhraseThankYou\").style.display = \"block\";\r\n\r\n sendMainPhrase(obj);\r\n}\r\n\r\nfunction getAjaxRequest() {\r\n var enteredMainPhrase = getInputValue(\"mainPhrase\");\r\n\r\n var obj = {\r\n crosswordTitle: getCrosswordTitle(),\r\n crosswordId: getCrosswordId(),\r\n mainPhrase: enteredMainPhrase,\r\n user: getInputValue(\"user\"),\r\n email: getInputValue(\"email\"),\r\n comment: getInputValue(\"comment\"),\r\n remarks: getInputValue(\"remarks\"),\r\n to: getToAddress(),\r\n captcha: getInputValue(\"captcha\"),\r\n hintsUsed: getHintsUsed(),\r\n solveTime: getSolveTime(),\r\n words: Words,\r\n emptyOrErrorsFound: getEmptyOrErrorsCount(),\r\n mainPhraseErrorsFound: getMainPhraseErrorsCount(enteredMainPhrase),\r\n rescrambles: getRescrambles()\r\n };\r\n\r\n return obj;\r\n}\r\n\r\nfunction getInputValue(id) {\r\n var input = document.getElementById(id);\r\n\r\n if (input) {\r\n return input.value;\r\n }\r\n\r\n return \"\";\r\n}\r\n\r\nfunction getToAddress() {\r\n var scriptTag = document.getElementById(\"mainPhraseScript\");\r\n\r\n if (!scriptTag) {\r\n return \"\";\r\n }\r\n\r\n return scriptTag.dataset.to;\r\n}\r\n\r\nfunction getCrosswordId() {\r\n var scriptTag = document.getElementById(\"mainPhraseScript\");\r\n\r\n if (!scriptTag) {\r\n return \"\";\r\n }\r\n\r\n if (!scriptTag.dataset.crosswordId) {\r\n return null;\r\n }\r\n\r\n return parseInt(scriptTag.dataset.crosswordId);\r\n}\r\n\r\nfunction getThankYouHeaderPrefix() {\r\n var scriptTag = document.getElementById(\"mainPhraseScript\");\r\n\r\n if (scriptTag.dataset.ty) {\r\n return scriptTag.dataset.ty;\r\n }\r\n\r\n return \"\";\r\n}\r\n\r\nfunction getCrosswordTitle() {\r\n var headers = document.getElementsByTagName(\"h1\");\r\n\r\n if (headers.length == 0) {\r\n return \"\";\r\n }\r\n\r\n var header = headers[0].textContent;\r\n\r\n for (var i = 0; i < headers.length; i++) {\r\n if (headers[i].textContent != \"\") {\r\n header = headers[i].textContent;\r\n }\r\n }\r\n\r\n return header;\r\n}\r\n\r\nfunction isElementValid(id) {\r\n var element = document.getElementById(id);\r\n\r\n if (!element) return;\r\n\r\n var value = element.value;\r\n\r\n if (!value) {\r\n element.style.borderColor = \"red\";\r\n element.style.borderWidth = \"2px\";\r\n return false;\r\n }\r\n\r\n element.style.borderColor = \"\";\r\n element.style.borderWidth = \"\";\r\n return true;\r\n}\r\n\r\nfunction sendMainPhrase(data) {\r\n var xmlhttp = new XMLHttpRequest();\r\n var theUrl = \"https://graedu.pl/pgk/crosswords/mainPhrase\";\r\n\r\n xmlhttp.open(\"POST\", theUrl);\r\n xmlhttp.setRequestHeader(\"Content-Type\", \"application/json;charset=UTF-8\");\r\n var payload = JSON.stringify(data);\r\n xmlhttp.send(payload);\r\n}\r\n\r\nfunction ShowSendMainPhraseBox(mainPhrase) {\r\n var box = document.getElementById(\"sendMainPhraseBox\");\r\n\r\n if (box) {\r\n box.style.display = \"block\";\r\n document.getElementById(\"mainPhrase\").value = mainPhrase;\r\n }\r\n}\r\n\r\nfunction MainPhraseResult(isFilledIn, mainPhrase) {\r\n this.isFilledIn = isFilledIn;\r\n this.mainPhrase = mainPhrase ? mainPhrase : \"\";\r\n}\r\n\r\nfunction getRescrambles() {\r\n var rescrambles = 0;\r\n\r\n if (typeof Rescrambles !== \"undefined\") {\r\n rescrambles = Rescrambles;\r\n }\r\n\r\n return rescrambles;\r\n}\r\n\r\nfunction getHintsUsed() {\r\n var hintsUsed = -1;\r\n\r\n if (typeof Hints !== \"undefined\") {\r\n hintsUsed = Hints.reduce(function(x, y) { return x + y; });\r\n }\r\n\r\n return hintsUsed;\r\n}\r\n\r\nfunction getSolveTime() {\r\n if (typeof v === \"undefined\") {\r\n return 0;\r\n }\r\n\r\n return Math.round((new Date() - v) / 1000);\r\n}\r\n\r\nfunction getEmptyOrErrorsCount() {\r\n var crosswordResult = checkCrossword();\r\n\r\n if (!crosswordResult) {\r\n return 0;\r\n }\r\n\r\n return crosswordResult.errorsFound + crosswordResult.emptyFound;\r\n}\r\n\r\nfunction getMainPhraseErrorsCount(enteredMainPhrase) {\r\n var errorsFound = 0,\r\n realMainPhrase = getRealMainPhrase();\r\n\r\n for (var i = 0; i < realMainPhrase.length; i++) {\r\n var enteredMainPhraseLetter = enteredMainPhrase[i];\r\n var realMainPhraseLetter = realMainPhrase[i];\r\n\r\n if (enteredMainPhraseLetter != realMainPhraseLetter) {\r\n errorsFound++;\r\n }\r\n }\r\n\r\n return errorsFound;\r\n}\r\n\r\nfunction getEcToJsArrayWordDictionary() {\r\n // index - index in Word array\r\n // value - EC crossword index (from paper version)\r\n var assocArray = CreateWordAssociationArray();\r\n\r\n // we create a dictionary where key is:\r\n // - the EC crossword index (from paper version)\r\n // - concatenated with direction (x or y)\r\n // and the value is word index in the Word JS array\r\n var dict = {};\r\n\r\n for (var i = 0; i < assocArray.length; i++) {\r\n var key = getEcToJsArrayWordDictionaryKey(assocArray[i], i <= LastHorizontalWord);\r\n\r\n dict[key] = i;\r\n }\r\n return dict;\r\n}\r\n\r\nfunction getEcToJsArrayWordDictionaryKey(ecWordIndex, isHorizontal) {\r\n var key = ecWordIndex;\r\n\r\n if (isHorizontal) {\r\n key += \"_x\";\r\n } else {\r\n key += \"_y\";\r\n }\r\n\r\n return key;\r\n}\r\n\r\nfunction getRealMainPhrase() {\r\n var ecToJsDict = getEcToJsArrayWordDictionary();\r\n var mainPhrase = \"\";\r\n \r\n for (var i = 0; i < mainAnswer.length; /* empty */) {\r\n if (mainAnswer[i] == null) {\r\n mainPhrase += \" \";\r\n i++;\r\n continue;\r\n }\r\n\r\n var ecWordIndex = mainAnswer[i];\r\n // In mainAswer array we count letters from 1\r\n var letterIndex = mainAnswer[i + 1] - 1;\r\n var direction = mainAnswer[i + 2];\r\n\r\n var ecToJsKey = getEcToJsArrayWordDictionaryKey(ecWordIndex, !direction);\r\n\r\n var wordIndex = ecToJsDict[ecToJsKey];\r\n var word = Word[wordIndex];\r\n var letter = word[letterIndex];\r\n\r\n mainPhrase += letter;\r\n i += 3;\r\n }\r\n\r\n return mainPhrase;\r\n};\r\n\r\nfunction getAllIndexes(arr, val) {\r\n var indexes = [], i = -1;\r\n while ((i = arr.indexOf(val, i + 1)) != -1) {\r\n indexes.push(Math.round(i / 3));\r\n }\r\n return indexes;\r\n}\r\n\r\nfunction getMainPhraseResult() {\r\n var mainAnswerCells = document.querySelectorAll(\"#mainAnswerTable .ecw-boxnormal_unsel\");\r\n\r\n var filledInMainPhraseCells = [];\r\n\r\n for (var i = 0; i < mainAnswerCells.length; i++) {\r\n var mainAnswerCell = mainAnswerCells[i];\r\n\r\n if (mainAnswerCell.textContent) {\r\n filledInMainPhraseCells.push(mainAnswerCell.textContent);\r\n }\r\n }\r\n\r\n var notNullMainAswer = mainAnswer.filter(function (item) { return item !== null; });\r\n\r\n if (filledInMainPhraseCells.length == notNullMainAswer.length / 3) {\r\n var mainPhrase = filledInMainPhraseCells.join(\"\");\r\n\r\n var spaceIndices = getAllIndexes(mainAnswer, null);\r\n if (spaceIndices.length > 0) {\r\n var totalLength = mainPhrase.length + spaceIndices.length;\r\n var mainPhraseWithSpaces = \"\";\r\n for (var i = 0; i < totalLength; i++) {\r\n if (spaceIndices.indexOf(i) >= 0) {\r\n mainPhraseWithSpaces += \" \";\r\n }\r\n\r\n if (i < mainPhrase.length) {\r\n mainPhraseWithSpaces += mainPhrase[i];\r\n }\r\n }\r\n mainPhrase = mainPhraseWithSpaces;\r\n }\r\n return new MainPhraseResult(true, mainPhrase);\r\n\r\n } else {\r\n return new MainPhraseResult(false);\r\n }\r\n}\r\n\r\nfunction appendLabelWithTextArea(form, id, labelText) {\r\n var label = document.createElement(\"label\");\r\n label.for = id;\r\n label.id = id + \"Label\";\r\n label.style.display = \"block\";\r\n label.textContent = labelText;\r\n form.appendChild(label);\r\n\r\n var textArea = document.createElement(\"textarea\");\r\n textArea.id = id;\r\n textArea.rows = 5;\r\n textArea.cols = 35;\r\n form.appendChild(textArea);\r\n}\r\n\r\nfunction appendLabelWithInput(form, id, labelText) {\r\n var label = document.createElement(\"label\");\r\n label.for = id;\r\n label.id = id + \"Label\";\r\n label.style.display = \"block\";\r\n label.textContent = labelText;\r\n form.appendChild(label);\r\n\r\n var input = document.createElement(\"input\");\r\n input.id = id;\r\n\r\n form.appendChild(input);\r\n}\r\n\r\nfunction appendHiddenInput(form, id, value) {\r\n var input = document.createElement(\"input\");\r\n input.id = id;\r\n input.type = \"hidden\";\r\n if (value) {\r\n input.value = value;\r\n }\r\n form.appendChild(input);\r\n}\r\n\r\nfunction AppendSendMainPhraseBox() {\r\n // Create container\r\n var box = document.createElement(\"div\");\r\n box.id = \"sendMainPhraseBox\";\r\n box.classList.add(\"ecw-answerbox\");\r\n box.style.marginTop = \"10px\";\r\n box.style.display = \"none\";\r\n\r\n // Create form\r\n var form = document.createElement(\"div\");\r\n form.id = \"sendMainPhraseForm\";\r\n\r\n var header = document.createElement(\"h3\");\r\n header.id = \"sendMainPhraseHeader\";\r\n header.textContent = \"Send main phrase\";\r\n form.appendChild(header);\r\n\r\n appendLabelWithInput(form, \"email\", \"Your e-mail address*:\");\r\n appendLabelWithTextArea(form, \"comment\", \"Comments*:\");\r\n appendLabelWithTextArea(form, \"remarks\", \"Remarks and suggestions:\");\r\n\r\n if (getCrosswordId()) {\r\n appendLabelWithInput(form, \"user\", \"Your game login:\");\r\n }\r\n\r\n appendHiddenInput(form, \"captcha\", \"2bd0ad589e524acfa96b0204e6672e82\");\r\n appendHiddenInput(form, \"mainPhrase\", \"\");\r\n\r\n var submitButton = document.createElement(\"button\");\r\n submitButton.id = \"sendMainPhraseFormButton\";\r\n submitButton.onclick = HandleSendMainPhraseClick;\r\n submitButton.style.display = \"block\";\r\n submitButton.textContent = \"Submit\";\r\n\r\n form.appendChild(submitButton);\r\n\r\n box.appendChild(form);\r\n\r\n // Create thank you message\r\n var thankYou = document.createElement(\"div\");\r\n thankYou.id = \"sendMainPhraseThankYou\";\r\n thankYou.style.display = \"none\";\r\n\r\n var thankYouHeader = document.createElement(\"h3\");\r\n thankYouHeader.id = \"thankYouHeader\";\r\n thankYouHeader.style.color = \"rgb(0, 200, 0)\";\r\n thankYouHeader.textContent = \"Thank you for sending the main phrase!\";\r\n\r\n thankYou.appendChild(thankYouHeader);\r\n\r\n box.appendChild(thankYou);\r\n\r\n // Append container after check button\r\n var checkButton = document.getElementById(\"checkbutton\");\r\n document.body.insertBefore(box, checkButton.parentElement.nextElementSibling);\r\n}\r\n\r\nfunction SaveMainPhrase() {\r\n var nodesList = document.querySelectorAll(\"#mainAnswerTable .ecw-boxnormal_unsel\");\r\n var letters = [];\r\n\r\n for (var i = 0; i < nodesList.length; i++) {\r\n var node = nodesList[i];\r\n letters.push(node.textContent);\r\n }\r\n\r\n CreateCookie(cookieName + \"MainPhrase\", letters.join(\",\"), 30);\r\n}\r\n\r\nfunction SaveUsedHints() {\r\n var usedHints = getHintsUsed();\r\n\r\n if (usedHints == -1) {\r\n return;\r\n }\r\n\r\n CreateCookie(cookieName + \"Hints\", usedHints, 30);\r\n}\r\n\r\nfunction SaveRescrambles() {\r\n var rescrambles = getRescrambles();\r\n\r\n CreateCookie(cookieName + \"Rescrambles\", rescrambles, 30);\r\n}\r\n\r\nfunction LoadMainPhrase() {\r\n var cookie = ReadCookie(cookieName + \"MainPhrase\");\r\n if (!cookie) {\r\n return;\r\n }\r\n var letters = cookie.split(\",\");\r\n\r\n var nodesList = document.querySelectorAll(\"#mainAnswerTable .ecw-boxnormal_unsel\");\r\n\r\n for (var i = 0; i < nodesList.length; i++) {\r\n var node = nodesList[i];\r\n if (node && letters[i]) {\r\n node.textContent = letters[i];\r\n }\r\n }\r\n}\r\n\r\nfunction LoadUsedHints() {\r\n var cookie = ReadCookie(cookieName + \"Hints\");\r\n if (!cookie) {\r\n return;\r\n }\r\n\r\n var parsed = parseInt(cookie);\r\n var hintsAllowed = HintsAllowed - parsed;\r\n\r\n HintsAllowed = hintsAllowed;\r\n}\r\n\r\nfunction LoadRescrambles() {\r\n var cookie = ReadCookie(cookieName + \"Rescrambles\");\r\n\r\n var parsed = parseInt(cookie);\r\n Rescrambles = parsed;\r\n}\r\n\r\nfunction getScrambledLetters() {\r\n if (CurrentWord < 0) {\r\n return;\r\n }\r\n\r\n var letters = Word[CurrentWord].split(\"\");\r\n\r\n return shuffleArray(letters);\r\n}\r\n\r\nfunction shuffleArray(array) {\r\n for (var i = array.length - 1; i > 0; i--) {\r\n var j = Math.floor(Math.random() * (i + 1));\r\n var temp = array[i];\r\n array[i] = array[j];\r\n array[j] = temp;\r\n }\r\n\r\n return array;\r\n}\r\n\r\nfunction AppendScrambledLettersForCurrentWord() {\r\n var answerBox = document.getElementById(\"answerbox\");\r\n if (!answerBox) {\r\n return;\r\n }\r\n\r\n var existingScrambledLetters = document.getElementById(\"scrambled-letters\");\r\n if (existingScrambledLetters) {\r\n existingScrambledLetters.remove();\r\n }\r\n\r\n var scrambledLettersParagraph = document.createElement(\"p\");\r\n scrambledLettersParagraph.id = \"scrambled-letters\";\r\n scrambledLettersParagraph.style.fontWeight = \"bold\";\r\n\r\n var scrambledLettersDescription = document.createElement(\"span\");\r\n scrambledLettersDescription.id = \"scrambledLettersDescription\";\r\n scrambledLettersDescription.textContent = \"Letters: \";\r\n\r\n scrambledLettersParagraph.appendChild(scrambledLettersDescription);\r\n\r\n var scrambledLettersSpan = document.createElement(\"span\");\r\n scrambledLettersSpan.id = \"scrambledLettersSpan\";\r\n\r\n scrambledLettersParagraph.appendChild(scrambledLettersSpan);\r\n\r\n var rescrambleButton = document.createElement(\"button\");\r\n rescrambleButton.id = \"rescrambleButton\";\r\n rescrambleButton.textContent = \"Rescramble letters\";\r\n rescrambleButton.style.marginLeft = \"10px\";\r\n rescrambleButton.onclick = function() { RescrambleLetters(false); };\r\n\r\n scrambledLettersParagraph.appendChild(rescrambleButton);\r\n\r\n answerBox.appendChild(scrambledLettersParagraph);\r\n RescrambleLetters(true);\r\n}\r\n\r\nfunction RescrambleLetters(isInitial) {\r\n if (typeof Rescrambles === \"undefined\") {\r\n Rescrambles = 0;\r\n }\r\n\r\n var scrambledLetters = getScrambledLetters();\r\n var scrambledLettersSpan = document.getElementById(\"scrambledLettersSpan\");\r\n scrambledLettersSpan.textContent = scrambledLetters.join(\" \");\r\n\r\n if (!isInitial) {\r\n Rescrambles++;\r\n }\r\n}\r\n\r\nfunction TranslateSendMainPhrase() {\r\n var translations = {\r\n \"mainPhrase\": \"Hasło główne:\",\r\n \"sendMainPhraseHeader\": \"Prześlij hasło główne\",\r\n \"userLabel\": \"Pseudonim uczestnika w grze (do rejestracji w Rankingu):\",\r\n \"emailLabel\": \"Zwrotny adres e-mail*:\",\r\n \"commentLabel\": \"Komentarz do hasła głównego (należy wyjaśnić, a nie przepisywać hasło główne - jest automatycznie przesyłane)*:\",\r\n \"remarksLabel\": \"Uwagi i propozycje:\",\r\n \"sendMainPhraseFormButton\": \"Wyślij\",\r\n \"thankYouHeader\": \"Dziękujemy za przesłanie hasła głównego!\"\r\n };\r\n\r\n var thankYouHeaderPrefix = getThankYouHeaderPrefix();\r\n if (thankYouHeaderPrefix) {\r\n translations[\"thankYouHeader\"] = translations[\"thankYouHeader\"].replace(\"Dziękujemy\", thankYouHeaderPrefix + \" dziękuje\");\r\n }\r\n\r\n translateMultiple(translations);\r\n}\r\n\r\nfunction TranslateScrambleLetters() {\r\n var translations = {\r\n \"scrambledLettersDescription\": \"Litery hasła: \",\r\n \"rescrambleButton\": \"Przelosuj\"\r\n };\r\n\r\n translateMultiple(translations);\r\n}\r\n\r\nfunction MoveBoxesAboveCrossword() {\r\n if (screen.width >= 500) {\r\n return;\r\n }\r\n\r\n var actionsContainer = document.createElement(\"div\");\r\n actionsContainer.id = \"actionsContainer\";\r\n actionsContainer.style.marginBottom = \"20px\";\r\n\r\n document.body.insertBefore(actionsContainer, document.getElementsByTagName(\"table\")[0]);\r\n\r\n var divIds = [ \"welcomemessage\", \"answerbox\", \"congratulations\" ];\r\n var divClasses = [ \"ecw-copyright\" ];\r\n\r\n moveDivs(divIds, actionsContainer, true);\r\n moveDivs(divClasses, actionsContainer, false);\r\n\r\n}\r\n\r\nfunction moveDivs(selectors, actionsContainer, isId) {\r\n for (var i = 0; i < selectors.length; i++) {\r\n var selector = selectors[i];\r\n var div = null;\r\n if (isId) {\r\n div = document.getElementById(selector);\r\n } else {\r\n div = document.getElementsByClassName(selector)[0];\r\n }\r\n\r\n var clonedDiv = div.cloneNode(true);\r\n actionsContainer.appendChild(clonedDiv);\r\n\r\n var cell = document.getElementsByClassName(\"ecw-crosswordarea\")[0].parentElement.children[1];\r\n cell.removeChild(div);\r\n }\r\n}\r\n\r\nfunction AddMetaTags() {\r\n // Add charset\r\n var metaCharset = document.createElement(\"meta\");\r\n metaCharset.setAttribute(\"charset\", \"utf-8\");\r\n\r\n // Add viewport\r\n var metaViewport = document.createElement(\"meta\");\r\n metaViewport.name = \"viewport\";\r\n metaViewport.content = \"width=device-width, initial-scale=1.0\";\r\n\r\n var head = document.getElementsByTagName(\"head\")[0];\r\n head.appendChild(metaCharset);\r\n head.appendChild(metaViewport);\r\n}\r\n\r\nfunction PreFillInAnswerBoxAfterSelect() {\r\n var wordLabel = document.getElementById(\"wordlabel\").textContent;\r\n\r\n if (wordLabel[0] == \"•\") {\r\n return;\r\n }\r\n\r\n var indexOfFirstBullet = wordLabel.indexOf(\"•\");\r\n\r\n var replaced = wordLabel;\r\n if (indexOfFirstBullet > -1) {\r\n replaced = wordLabel.slice(0, indexOfFirstBullet);\r\n }\r\n\r\n document.getElementById(\"wordentry\").value = replaced;\r\n}\r\n\r\nfunction checkCrossword() {\r\n var userEntry, errorsFound = 0, emptyFound = 0, tableCell;\r\n\r\n for (i = 0; i < Words; i++)\r\n {\r\n // Get the user's entry for this word.\r\n userEntry = \"\";\r\n for (j = 0; j < WordLength[i]; j++)\r\n {\r\n if (i <= LastHorizontalWord)\r\n tableCell = CellAt(WordX[i] + j, WordY[i]);\r\n else\r\n tableCell = CellAt(WordX[i], WordY[i] + j);\r\n if (tableCell.innerHTML.length > 0 && tableCell.innerHTML.toLowerCase() != \" \")\r\n {\r\n userEntry += tableCell.innerHTML.toUpperCase();\r\n }\r\n else\r\n {\r\n userEntry = \"\";\r\n emptyFound++;\r\n break;\r\n }\r\n }\r\n userEntry = userEntry.replace(/&/g, \"&\");\r\n // If this word doesn't match, it's an error.\r\n if (HashWord(userEntry) != AnswerHash[i] && userEntry.length > 0)\r\n {\r\n errorsFound++;\r\n }\r\n }\r\n\r\n return {\r\n \"errorsFound\": errorsFound,\r\n \"emptyFound\": emptyFound,\r\n \"correctFound\": Words - errorsFound - emptyFound\r\n };\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n AppendSendMainPhraseBox();\r\n MoveBoxesAboveCrossword();\r\n AddMetaTags();\r\n\r\n OKClick = (function () {\r\n var orig = OKClick;\r\n\r\n return function () {\r\n orig();\r\n\r\n var mainPhraseResult = getMainPhraseResult();\r\n if (mainPhraseResult.isFilledIn) {\r\n ShowSendMainPhraseBox(mainPhraseResult.mainPhrase);\r\n TranslateSendMainPhrase();\r\n }\r\n };\r\n })();\r\n\r\n SaveState = (function () {\r\n var orig = SaveState;\r\n\r\n return function () {\r\n orig();\r\n SaveMainPhrase();\r\n SaveUsedHints();\r\n SaveRescrambles();\r\n };\r\n })();\r\n\r\n LoadState = (function () {\r\n var orig = LoadState;\r\n\r\n return function () {\r\n orig();\r\n LoadMainPhrase();\r\n LoadUsedHints();\r\n LoadRescrambles();\r\n };\r\n })();\r\n\r\n SelectThisWord = (function(event) {\r\n var orig = SelectThisWord;\r\n\r\n return function(event) {\r\n orig(event);\r\n\r\n AppendScrambledLettersForCurrentWord();\r\n TranslateScrambleLetters();\r\n PreFillInAnswerBoxAfterSelect();\r\n };\r\n })();\r\n});\r\n"],"sourceRoot":""}