function validateForm(f){
	var phrase = f.elements['phrase'].value;
	if(phrase==''){
		alert('Enter the text in the image');
		return false;
	}
	var type = getCheckedValue(f.elements['tool']);
	switch(type){
		case 'ping':		var url = f.elements['url_ping'].value;
					if(url == ''){
						alert('Enter a host name (or IP)');
						return false;
					}
					break;
		case 'traceroute':	var url = f.elements['url_traceroute'].value;
					if(url == ''){
						alert('Enter a domain name');
						return false;
					}
					break;
		case 'cdir':		var regex = /^(\d*\.\d*\.\d*\.\d*)|(\d*\.\d*\.\d*\.\d*\/(\d|\d\d))$/;
           				var ip = f.elements['ip_cdir'].value;
		           		if(ip == '' || !regex.test(ip)){
               					alert('Enter a valid ip or CIDR');
		              			return false;
		           		}
					break;
		case 'ip_info':		var regex = /^\d*\.\d*\.\d*\.\d*$/;
					var ip = f.elements['ip_info'].value;
					if(ip == '' || !regex.test(ip)){
						alert('Enter a valid ip');
						return false;
					}
					break;
		case 'mail_test':	var url = f.elements['mail'].value;
					if(url == ''){
						alert('Enter a domain name');
						return false;
					}
					break;
		case 'whois':		var url = f.elements['url_whois'].value;
					if(url == ''){
						alert('Enter a domain name');
						return false;
					}
					break;
		case 'query_dns':	var url = f.elements['url_dns'].value;
					if(url == ''){
						alert('Enter a domain name or host name');
						return false;
					}
					break;
		case 'dns_cache':	var url = f.elements['url_cache'].value;
					if(url == ''){
						alert('Enter a domain name or host name');
						return false;
					}
					break;
		case 'dns_report':	var url = f.elements['url_dns_report'].value;
					if(url == ''){
						alert('Enter zone name, such as "example.com", not an IP');
						return false;
					}
					break;
		case 'dns_timing':	var url = f.elements['url_timing'].value;
					if(url == ''){
						alert('Enter a domain name or host name');
						return false;
					}
					break;
		case 'reverse_dns':	var url = f.elements['url_reverse'].value;
					if(url == ''){
						alert('Enter an IP or host name');
						return false;
					}
					break;
		case 'spam_lookup':	var url = f.elements['url_spam'].value;
					if(url == ''){
						alert('Enter an IP or host name');
						return false;
					}
					break;
		case 'decimal':		var url = f.elements['decimal'].value;
					var regex = /^\d*$/;
					if(url == '' || !regex.test(url)){
						alert('Enter a decimal IP');
						return false;
					}
					break;
		case 'deobfuscated':	var url = f.elements['url_obfuscated'].value;
					if(url == ''){
						alert('Enter an URL');
						return false;
					}
					break;
		case 'html_validator':	var url = f.elements['uri'].value;
					if(url == ''){
						alert('Enter an URL');
						return false;
					}
					break;
		default:		alert('Select a test');
					return false;
	}
	return true;
}
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}
