
function trim(str) {
    var newstr = str.replace(/^\s*(.+?)\s*$/, "$1");
    if (newstr == " ") {
        return "";
    }
    return newstr;
}

function drop_spaces(str) {
    var newstr = trim(str); //функцию trim() см. выше
    return newstr.replace(/(\s)+/g, ""); 
}

function check_email(email) {
    var template = /^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z])+$/;
    email = drop_spaces(email); //функцию drop_spaces() см. выше
    if (template.test(email)) {
        return true;
    }
    return false; 
}
// ################################################################
// РЕАКЦИЯ НА ПУСТОЕ ПОЛЕ В ФОРМЕ
function errorAction(field) {
	field.focus();
	handleError(field);
	return false;
}
// подсветить поле
function set_color(obj, color) {
	obj.style.backgroundColor = color;	
}
// убрать цвет
function unset_color(obj, color) {
	obj.style.backgroundColor = color;	
}
// мигание
function handleError(obj) {
	var def_color = obj.style.backgroundColor; // исходный цвет поля
	var blur_color = "#ffcc00"; // цвет мигания
	var blur_count = 3; // количество миганий
	var blur_interval = 500; // периодичность мигания (миллисекунд)
	var i = 0;
	while(i < blur_interval*blur_count*2) {
		window.setTimeout(function() { set_color(obj, blur_color) }, i);
		i += blur_interval;
		window.setTimeout(function() { unset_color(obj, def_color) }, i);
		i += blur_interval;
	}
}
// ################################################################
