var ws=ws||{};ws.Smuggler=ws.Smuggler||{};ws.Smuggler.Dom=ws.Smuggler.Dom||{};ws.Smuggler.Dom=function(n){var t={};return t.headers={encode:n.getElementById("EncodeHeader"),decode:n.getElementById("DecodeHeader")},t.containers={error:n.getElementById("ErrorMessage"),warning:n.getElementById("WarningMessage")},t.buttons={ascii:n.getElementById("AsciiButton"),binary:n.getElementById("BinaryButton"),hex:n.getElementById("HexButton"),decode:n.getElementById("DecodeButton"),format:n.getElementById("FormatButton")},t.inputs={decoded:n.getElementById("DecodedText"),encoded:n.getElementById("EncodedText"),smuggler:n.getElementById("Smuggler")},t.jq={headers:{encode:$(t.headers.encode),decode:$(t.headers.decode)},inputs:{encoded:$(t.inputs.encoded),decoded:$(t.inputs.decoded)},containers:{error:$(t.containers.error),warning:$(t.containers.warning)},buttons:{ascii:$(t.buttons.ascii),binary:$(t.buttons.binary),hex:$(t.buttons.hex)}},t}(document);ws=ws||{};ws.Smuggler=ws.Smuggler||{};ws.Smuggler.Messenger=ws.Smuggler.Messenger||{};ws.Smuggler.Messenger=function(n){function u(n,t,i){n.empty();n.removeClass("hidden");var r="<div class='alert alert-dismissible "+i+"' role='alert' style='margin-left: 15%; margin-right: 15%;'><button type='button' class='close' data-dismiss='alert' aria-label='Close'><span aria-hidden='true'>&times;<\/span><\/button><div><span class='glyphicon glyphicon-console' aria-hidden='true'><\/span> "+t+"<\/div><\/div>";n.append(r)}var t=n.Smuggler.Dom,i=n.Smuggler.Dom.jq,r={};return r.showError=function(n){u(i.containers.error,n,"alert-danger");t.inputs.decoded.value===" "&&(t.inputs.decoded.value="");t.inputs.encoded.value===" "&&(t.inputs.encoded.value="");t.headers.encode.removeAttribute("class");t.headers.decode.removeAttribute("class");i.headers.encode.addClass("text-danger");i.headers.decode.addClass("text-danger");var r=$("<div />").html("&#9583;&deg;&#9633;&deg;&#65289;&#9583;&#65077; &#9531;&#9473;&#9531;").text();i.headers.decode.text(r);i.headers.encode.text("look down...")},r.showWarning=function(n){u(i.containers.warning,n,"alert-info")},r}(ws);ws=ws||{};ws.Smuggler=ws.Smuggler||{};ws.Smuggler.Formatter=ws.Smuggler.Formatter||{};ws.Smuggler.Formatter=function(n){function r(){t(3)}function u(){t(8)}function f(){t(2)}function t(t){for(var u=n.value.replace(/\s/g,""),r="",i=0;i<u.length;i++)r+=u[i],(i+1)%t==0&&(r+=" ");n.value=r}var i={};return i.format=function(n){switch(n){case"asc":r();break;case"bin":u();break;case"hex":f()}},i}(ws.Smuggler.Dom.inputs.encoded);ws=ws||{};ws.Smuggler=ws.Smuggler||{};ws.Smuggler=function(n){function h(){t.buttons.ascii.addEventListener("click",function(){u("asc")});t.buttons.binary.addEventListener("click",function(){u("bin")});t.buttons.hex.addEventListener("click",function(){u("hex")});t.buttons.decode.addEventListener("click",function(){c()});t.buttons.format.addEventListener("click",function(){v()})}function u(n){var i=$.trim(t.inputs.decoded.value);l(i,n)&&(e(t.inputs.encoded),$.post("/Smuggler/Encode",{smuggler:n,str:i},function(n){o(n,"encode")}))}function c(){var n=t.inputs.encoded.value;a(n)&&(e(t.inputs.decoded),$.post("/Smuggler/Decode",{str:n},function(n){o(n,"decode")}))}function l(t,i){return n.Common.isNullOrWhiteSpace(t)?(r.showError(n.Common.webString.NothingToSmuggle),!1):n.Common.isNullOrWhiteSpace(i)?(r.showError(n.Common.webString.SmugglerNotSelected),!1):i!=="asc"&&i!=="bin"&&i!=="hex"?(r.showError(n.Common.webString.SmugglerNotFound),!1):t.length>62500?(r.showError(t.length.toLocaleString()+" characters!?!  "+n.Common.webString.TooMuchToSmuggle),!1):!0}function a(t){if(n.Common.isNullOrWhiteSpace(t))return r.showError(n.Common.webString.NothingToDecode),!1;if(t.length>5e5)return r.showError(t.length.toLocaleString()+" characters!?!  "+n.Common.webString.TooMuchToDecipher),!1;return/^[a-f0-9 \r\n]+$/i.test(t)?!0:(r.showError(n.Common.webString.InvalidCodeToDecipher),!1)}function e(n){n.value=" ";t.headers.encode.removeAttribute("class");t.headers.decode.removeAttribute("class");i.headers.encode.addClass("text-muted");i.headers.decode.addClass("text-muted");t.headers.encode.innerText="thinking...";t.headers.decode.innerText="thinking...";i.inputs.encoded.removeClass("text-success");i.inputs.decoded.removeClass("text-warning");i.containers.error.addClass("hidden");i.containers.error.empty();i.containers.warning.addClass("hidden");i.containers.warning.empty();t.buttons.ascii.setAttribute("disabled",!0);t.buttons.binary.setAttribute("disabled",!0);t.buttons.hex.setAttribute("disabled",!0);t.buttons.decode.setAttribute("disabled",!0)}function o(n,u){if(i.inputs.encoded.removeClass("text-success"),i.inputs.decoded.removeClass("text-warning"),t.buttons.ascii.removeAttribute("disabled"),t.buttons.binary.removeAttribute("disabled"),t.buttons.hex.removeAttribute("disabled"),t.buttons.decode.removeAttribute("disabled"),n.WarningMessage!==""&&r.showWarning(n.WarningMessage),n.ErrorMessage!==""){r.showError(n.ErrorMessage);return}var f=t.headers.encode,e=t.inputs.encoded,o="text-success";u==="decode"?(f=t.headers.decode,e=t.inputs.decoded,o="text-warning",t.headers.encode.innerText="you said..."):t.headers.decode.innerText="you said...";f.innerText="the Smuggler said...";$(f).removeClass("text-muted");$(f).addClass(o);$(e).addClass(o);e.value=n.Result;t.inputs.smuggler.value=n.Smuggler;i.buttons.ascii.removeClass("btn-primary");i.buttons.binary.removeClass("btn-primary");i.buttons.hex.removeClass("btn-primary");i.buttons.ascii.addClass("btn-warning");i.buttons.binary.addClass("btn-warning");i.buttons.hex.addClass("btn-warning");n.Smuggler==="asc"?(i.buttons.ascii.removeClass("btn-warning"),i.buttons.ascii.addClass("btn-primary")):n.Smuggler==="bin"?(i.buttons.binary.removeClass("btn-warning"),i.buttons.binary.addClass("btn-primary")):n.Smuggler==="hex"&&(i.buttons.hex.removeClass("btn-warning"),i.buttons.hex.addClass("btn-primary"))}function v(){var i=t.inputs.encoded.value;if(n.Common.isNullOrWhiteSpace(i)){r.showError(n.Common.webString.NothingToFormat);return}s.format(t.inputs.smuggler.value)}var t=n.Smuggler.Dom,i=n.Smuggler.Dom.jq,r=n.Smuggler.Messenger,s=n.Smuggler.Formatter,f={};return f.init=function(){h()},f}(ws)