// JavaScript Document
upp = new Array('','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');
low = new Array('','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');
dig = new Array('','0','1','2','3','4','5','6','7','8','9');
spec = new Array('','!','@','#','$','%','^','&','*','(',')','_','-','+','=','.','/',',',';',':');

function rnd(x,y,z) {
	var num;
	do {
		num = parseInt(Math.random()*z);
		if (num >= x && num <= y) break;
	} while (true);
return(num);
}
// --------------------------------------------------------------------------------------------------------------------------------------------------------------
function genArray() {
	var pwd = '';
	var res, s;
	var k = 0;
	var n = document.genpas.numbers.value;
	var pass = new Array();
	var w = rnd(30,80,100);
	for (var r = 0; r < w; r++) {
		if (document.genpas.upper.checked) { res = rnd(1,26,1000); pass[k] = upp[res]; k++; }
		if (document.genpas.lower.checked) { res = rnd(1,26,1000); pass[k] = low[res]; k++; }
		if (document.genpas.digit.checked) { res = rnd(1,10,1000); pass[k] = dig[res]; k++; }
		if (document.genpas.spec.checked) { res = rnd(1,19,1000); pass[k] = spec[res]; k++; }
	}
	for (var i = 0; i < n; i++) {
		s = rnd(1,k-1,100);
		pwd+= pass[s];
	}
	document.genpas.getback.value = pwd;
}
// --------------------------------------------------------------------------------------------------------------------------------------------------------------
function generate() {
	if (genpas.upper.checked || genpas.lower.checked || genpas.digit.checked || genpas.spec.checked)  { genArray(); }
	else { alert('Нужно выбрать параметры генерации!)'); genpas.upper.checked = true; }
}