JavaScript: Password Generator

by MythOfEchelon

HTML

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        
        <style>
            * {
                margin: 0;
                padding: 0;
            }
        
            html {
                font: 16px "Segoe UI", "Segoe WPC", Helvetica, Arial, "Arial Unicode MS", Sans-Serif;
            }
            
            div {
                float: left;
            }
            
            input[type="submit"] {
                padding: 2px 5px;
            }
            
            input[type="number"] {
                width: 70px;
            }
        </style>
        
        <script>
            document.onreadystatechange = function(){
                if (document.readyState === "complete"){
                    result_Element = document.getElementById("result");
                    
                    char_Set_Lower = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
                    char_Set_Upper = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];
                    char_Set_Num = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
                    char_Set_Spec = ["!", "&quot;", "£", "$", "%", "^", "&", "*", "(", ")", "-", "_", "+", "=", "{", "}", "[", "]", ":", ";", "@", "'", "#", "~", "&lt;", "&gt;", "&#44;", ".", "?", "&#47;", "&#92;", "|"];
                }
            }
            
            function gen(){
                var passLength = document.getElementById("passLength").value;
                var sym_Lower = document.getElementById("sym_Lower").checked;
                var sym_Upper = document.getElementById("sym_Upper").checked;
                var sym_Num = document.getElementById("sym_Num").checked;
                var sym_Spec =...