// Dependency: Fisher-Yates Array Shuffle Array.prototype.shuffle = function () { var i, j, t; for (i=this.length-1; i>0; --i) { j = Math.floor(Math.random()*(i+1)); t = this[i]; this[i] = this[j]; this[j] = t; } return this; }; function RandomPasswordGenerator () { var chars = ""; for (var i=32; i<127; chars+=String.fromCharCode(i), ++i); chars = chars.split(""); this.generate = function(nlength) { var n = (typeof nlength == "number" ? nlength : 12); var s = ""; while (s.length