getNormalMorseDecoded = (input) ->
# Well, this shouldn't happen...
if !(input)
return null
# remove trailing whitspaces
if input.charAt input.length is " "
input.substring 0, input.length - 1
input = input.toUpperCase()
output = ""
# Return special signs
if input is "LETTERSPACE"
return " "
else if input is "END OF WORK"
return "...-.-"
else if input is "ERROR"
return "........"
else if input is "STARTING SIGNAL"
return "-.-.-"
else if input is "ENDING SIGNAL"
return ".-.-."
else if input is "UNDERSTOOD"
return "...-."
else if input is "WAIT"
return ".-..."
else if input is "SOS"
return "...---..."
else if input is "LETTER SPACE"
return " "
else if input is "WORD SPACE"
return " "
else # the converting part
while input.length > 0
if input.charAt(0) is " "
if output.charAt(output.length) is " "
output = output.substring 0, output.length - 1
output += " "
input = input.substring 1
else if input.charAt(0) is "\n"
output += "
"
input = input.substring 1
else if input.charAt(0) is "A"
output += ".- "
input = input.substring 1
else if input.charAt(0) is "B"
output += "-... "
input = input.substring 1
else if input.charAt(0) is "C"
output += "-.-. "
input = input.substring 1
else if input.charAt(0) is "D"
output += "-.. "
input = input.substring 1
else if input.charAt(0) is "E"
output += ". "
input = input.substring 1
else if input.charAt(0) is "F"
output += "..-. "
input = input.substring 1
else if input.charAt(0) is "G"
output += "--. "
input = input.substring 1
else if input.charAt(0) is "H"
output += ".... "
input = input.substring 1
else if input.charAt(0) is "I"
output += ".. "
input = input.substring 1
else if input.charAt(0) is "J"
output += ".--- "
input = input.substring 1
else if input.charAt(0) is "K"
output += "-.- "
input = input.substring 1
else if input.charAt(0) is "L"
output += ".-.. "
input = input.substring 1
else if input.charAt(0) is "M"
output += "-- "
input = input.substring 1
else if input.charAt(0) is "N"
output += "-. "
input = input.substring 1
else if input.charAt(0) is "O"
output += "--- "
input = input.substring 1
else if input.charAt(0) is "P"
output += ".--. "
input = input.substring 1
else if input.charAt(0) is "Q"
output += "--.- "
input = input.substring 1
else if input.charAt(0) is "R"
output += ".-. "
input = input.substring 1
else if input.charAt(0) is "S"
output += "... "
input = input.substring 1
else if input.charAt(0) is "T"
output += "- "
input = input.substring 1
else if input.charAt(0) is "U"
output += "..- "
input = input.substring 1
else if input.charAt(0) is "V"
output += "...- "
input = input.substring 1
else if input.charAt(0) is "W"
output += ".-- "
input = input.substring 1
else if input.charAt(0) is "X"
output += "-..- "
input = input.substring 1
else if input.charAt(0) is "Y"
output += "-.-- "
input = input.substring 1
else if input.charAt(0) is "Z"
output += "--.. "
input = input.substring 1
else if input.charAt(0) is "0"
output += "----- "
input = input.substring 1
else if input.charAt(0) is "1"
output += ".---- "
input = input.substring 1
else if input.charAt(0) is "2"
output += "..--- "
input = input.substring 1
else if input.charAt(0) is "3"
output += "...-- "
input = input.substring 1
else if input.charAt(0) is "4"
output += "....- "
input = input.substring 1
else if input.charAt(0) is "5"
output += "..... "
input = input.substring 1
else if input.charAt(0) is "6"
output += "-.... "
input = input.substring 1
else if input.charAt(0) is "7"
output += "--... "
input = input.substring 1
else if input.charAt(0) is "8"
output += "---.. "
input = input.substring 1
else if input.charAt(0) is "9"
output += "----. "
input = input.substring 1
else if input.charAt(0) is "Ä"
output += ".-.- "
input = input.substring 1
else if input.charAt(0) is "Ö"
output += "---. "
input = input.substring 1
else if input.charAt(0) is "Ü"
output += "..-- "
input = input.substring 1
else if input.charAt(0) is "ß"
output += "...--... "
input = input.substring 1
else if input.charAt(0) is "."
output += ".-.-.- "
input = input.substring 1
else if input.charAt(0) is ","
output += "--..-- "
input = input.substring 1
else if input.charAt(0) is ":"
output += "---... "
input = input.substring 1
else if input.charAt(0) is ""
output += "-.-.-. "
input = input.substring 1
else if input.charAt(0) is "?"
output += "..--.. "
input = input.substring 1
else if input.charAt(0) is "!"
output += "-.-.-- "
input = input.substring 1
else if input.charAt(0) is "-"
output += "-....- "
input = input.substring 1
else if input.charAt(0) is "_"
output += "..--.- "
input = input.substring 1
else if input.charAt(0) is "("
output += "-.--. "
input = input.substring 1
else if input.charAt(0) is ")"
output += "-.--.- "
input = input.substring 1
else if input.charAt(0) is "="
output += "-...- "
input = input.substring 1
else if input.charAt(0) is "+"
output += ".-.-. "
input = input.substring 1
else if input.charAt(0) is "/"
output += "-..-. "
input = input.substring 1
else if input.charAt(0) is "@"
output += ".--.-. "
input = input.substring 1
else if input.charAt(0) is "'"
output += ".----. "
input = input.substring 1
else if input.charAt(0) is "$"
output += "...-..- "
input = input.substring 1
else
return "Code not listed or wrong."
if output.charAt(output.length - 1) is " "
output = output.substring 0, output.length - 1
return output
getNormalMorseEncoded = (input) ->
# Well, this shouldn't happen...
if !(input) then return null
# remove trailing whitspaces
while input.charAt(input.length - 1) is " "
input = input.substring 0, input.length - 1
input = input.toUpperCase()
# remove all trailing new lines
while input.charAt(input.length - 1) is "\n"
input = input.substring 0, input.length - 1
# add one letterspace to the input
input += " "
inputToSign = input
output = ""
while inputToSign isnt " "
d = 0
signFull = true
sign = ""
while signFull
if inputToSign.substring(d, d + 7) is " " or
inputToSign.substring(d, d + 3) is " " or
inputToSign.charAt(0) is "\n"
if d is 0
if inputToSign.substring(0, 7) is " "
output += " "
inputToSign = inputToSign.substring 7, inputToSign.length
if inputToSign.substring(0, 3) is " "
inputToSign = inputToSign.substring 3, inputToSign.length
if inputToSign.charAt(0) is "\n"
output += "
"
inputToSign = inputToSign.substring 1, inputToSign.length
else
sign = inputToSign.substring 0, d
inputToSign = inputToSign.substring d, inputToSign.length
signFull = false
else
d++
if sign is ".-"
output += "A"
else if sign is "-..."
output += "B"
else if sign is "-.-."
output += "C"
else if sign is "-.."
output += "D"
else if sign is "."
output += "E"
else if sign is "..-."
output += "F"
else if sign is "--."
output += "G"
else if sign is "...."
output += "H"
else if sign is ".."
output += "I"
else if sign is ".---"
output += "J"
else if sign is "-.-"
output += "K"
else if sign is ".-.."
output += "L"
else if sign is "--"
output += "M"
else if sign is "-."
output += "N"
else if sign is "---"
output += "O"
else if sign is ".--."
output += "P"
else if sign is "--.-"
output += "Q"
else if sign is ".-."
output += "R"
else if sign is "..."
output += "S"
else if sign is "-"
output += "T"
else if sign is "..-"
output += "U"
else if sign is "...-"
output += "V"
else if sign is ".--"
output += "W"
else if sign is "-..-"
output += "X"
else if sign is "-.--"
output += "Y"
else if sign is "--.."
output += "Z"
else if sign is "-----"
output += "0"
else if sign is ".----"
output += "1"
else if sign is "..---"
output += "2"
else if sign is "...--"
output += "3"
else if sign is "....-"
output += "4"
else if sign is "....."
output += "5"
else if sign is "-...."
output += "6"
else if sign is "--..."
output += "7"
else if sign is "---.."
output += "8"
else if sign is "----."
output += "9"
else if sign is ".-.-"
output += "Ä"
else if sign is "---."
output += "Ö"
else if sign is "..--"
output += "Ü"
else if sign is "...--..."
output += "ß"
else if sign is "----"
output += "CH"
else if sign is ".-.-.-"
output += "."
else if sign is "--..--"
output += ","
else if sign is "---..."
output += ":"
else if sign is "-.-.-."
output += ";"
else if sign is "..--.."
output += "?"
else if sign is "-.-.--"
output += "!"
else if sign is "-....-"
output += "-"
else if sign is "..--.-"
output += "_"
else if sign is "-.--."
output += "("
else if sign is "-.--.-"
output += ")"
else if sign is ".----."
output += "'"
else if sign is "-...-"
output += "="
else if sign is ".-.-."
output += "+"
else if sign is "-..-."
output += "/"
else if sign is ".--.-."
output += "@"
else if sign is "-.-.-"
output += "Begin of the signal"
else if sign is "-...-"
output += "Wait"
else if sign is "...-."
output += "Understood"
else if sign is "...-.-"
output += "End of work"
else if sign is "...---..."
output += "SOS"
else if sign is "........"
output += "Error"
else
return "Code not listed or wrong."
return output