var stq;
var stf;
var stc;
var scq;
var scf;
var pf;
var pt;
var cmd;
var mod;

function scan_type_change()
{
	if (stq.checked) {
		cmd.value = scq.innerHTML;
	} else if (stf.checked) {
		cmd.value = "-p"+ pf.value +"-"+ pt.value +" "+ scf.innerHTML;
	}
	mod.value = 1;
	return true;
}

function cmd_change()
{
	stc.checked = true;
}

var pf_old;
var pt_old;
function port_change()
{
	if (stq.checked) {
		stf.checked = true;
		cmd.value = "-p"+ pf.value +"-"+ pt.value +" "+ scf.innerHTML;
	} else if (stc.checked && (cmd.value.indexOf("-p") == -1)) {
		cmd.value = "-p- " + cmd.value;
	}
	pf_old = pf.value;
	pt_old = pt.value;
	setTimeout("port_change2()", 0);
}

function port_change2()
{
	if (pf.value.search(/^[0-9]{0,5}$/) == -1) {
		alert('Port number can consists from 0 to 5 digits.');
		pf.value = pf_old; 
	}
	if (pt.value.search(/^[0-9]{0,5}$/) == -1) {
		alert('Port number can consists from 0 to 5 digits.');
		pt.value = pt_old;
	}
	
	cmd.value = cmd.value.replace(/-p\d*-\d*/,
		"-p" + pf.value + "-" + pt.value);
}


window.onload = function ()
{
	stq = document.getElementById("scan_type_quick");
	if (!stq) return; //the form may not be displayed
	stf = document.getElementById("scan_type_full");
	stc = document.getElementById("scan_type_custom");
	scq = document.getElementById("scan_cmd_quick");
	scf = document.getElementById("scan_cmd_full");
	cmd = document.getElementById("nmap_cmd");
	mod = document.getElementById("js_modified");
	pf = document.getElementById("port_from");
	pt = document.getElementById("port_to");
	stq.onclick = scan_type_change;
	stf.onclick = scan_type_change;
	stc.onclick = scan_type_change;
	pf.onclick = port_change;
	pt.onclick = port_change;
	pf.onkeypress = port_change;
	pt.onkeypress = port_change;
	cmd.onkeypress = cmd_change;
}
