function validateRadiobuttons() {
// в качестве аргумента передается Id блока, содержащего radio inputs для валидации
	var n = validateRadiobuttons.arguments.length;
	var args = validateRadiobuttons.arguments;
	var selected = false;	
	for(var i=0;i<n;i++) {		
		selected = false;		
		var items = document.getElementById(args[i]).getElementsByTagName("input");		
		for (var j = 0;j < items.length; j++) {
			if (items[j].checked == true){
				selected = true;
			}
		}
		if (selected == false){
			alert('Выберите один из обязательных вариантов!');
			items[0].focus();
			return selected;
		}
	}	
	return selected;
}
function validateEmpty() {
	var n = validateEmpty.arguments.length;
	var args = validateEmpty.arguments;
	for(var i=0;i<n;i++) {
		if(document.getElementById(args[i]).value != "") {
			document.getElementById(args[i]).className = document.getElementById(args[i]).className.replace(" error", "");
		}	
		else {
			document.getElementById(args[i]).focus();
			document.getElementById(args[i]).className += " error";
			alert("Заполните обязательное поле!");
			return false;
		}
	}
	return true;
}
function validateEmail(fieldId) {
	var re = /^\w+([\.-]?\w+)*@(((([a-z0-9]{2,})|([a-z0-9][-][a-z0-9]+))[\.][a-z0-9])|([a-z0-9]+[-]?))+[a-z0-9]+\.([a-z]{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/i;
	if(re.test(document.getElementById(fieldId).value)) {
		document.getElementById(fieldId).className.replace(" error", "");
		return true;
	}	
	else {
		document.getElementById(fieldId).focus();
		document.getElementById(fieldId).className += " error";
		alert("Введенный вами Email некорректен!");
		return false;
	}
}

/*
	Usage: 
	<form ... onsubmit='return validateRadiobuttons("case","gender") && 
	validateEmpty("firstname","lastname","street","zip","city","country","email") && validateEmail("email");'>
		...
	</form>

	Radiobuttons should be within a wrapper <div id="any_id"> <input type="radio".. > ... </div>
*/
