function isFilled(str){return (str != "");}
function isEmail(str){return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);}
function isDigital(str){return(parseFloat(str,10)==(str*1));}
function isCurrency(val){var re = /^(\$?\d+\$?|\$?\d+\.\d+\$?)$/;return (re.test(val));}
function normalizeCurrency(s){return s.replace(',', '.')}
function checkForm(frm, fields, fields_type){
    for ( i=0; i<fields.length; i++){
    	eval("field = document."+frm+"." + fields[i]);
		if (!isFilled(field.value)){
			alert("Поле '" + field.title + "' должно быть заполнено перед отправкой.");
			field.focus();
			return false;
		};
        if(fields_type[i]=='m'){
	        if (!isEmail(field.value)){
	            alert("Поле '" + field.title + "' должно содержать правильный e-mail адрес перед отправкой.");
	            field.focus();
	            return false;
	        }
        }
        if(fields_type[i]=='d'){
	        if (!isDigital(field.value)){
	            alert("Field " + field.title + " is required to be filled in only with digits (0-9) and decimal point before successful submission.");
	            field.focus();
	            return false;
	        }
        }
        if(fields_type[i]=='c'){
	        field.value = normalizeCurrency(field.value)
			if (!isCurrency(field.value)){
	            alert("Field " + field.title + " is required to be filled in only with digits (0-9) a decimal point, or a dollar sign before successful submission.");
	            field.focus();
	            return false;
	        }
        }

    }
    return true;
}
function ValidForm(form) {
	var field, i;
	var req = new Array(3);
	var email = new Array(1);
	var digits = new Array(0);
	var currs = new Array(0);
	req[0] = "r_Name";
	req[1] = "re_Email";
	req[2] = "r_Comment";
	email[0] = "re_Email";
	for ( i=0; i<3; i++){
		eval("field = form."+req[i]);
		if (!isFilled(field.value)){
			alert("Field '" + field.title + "' is required to be filled in before successful submission.");
			field.focus();
			return false;
			break;
		}
	}
	for (i=0;i<1;i++){
		eval("field = form." + email[i]);
		if (!isEmail(field.value)){
			alert("Field '" + field.title + "' is required to be filled in with valid email addresses before successful submission.");
			field.focus();
			return false;
			break;
		}
	}
	for (i=0;i<0;i++){
		eval("field = form." + digits[i]);
		if (!isDigital(field.value)){
			alert("Field " + field.title + " is required to be filled in only with digits (0-9) and decimal point before successful submission.");
			field.focus();
			return false;
			break;
		}
	}
	for (i=0;i<0;i++){
		eval("field = form." + currs[i]);
		if (!isCurrency(field.value)){
			alert("Field " + field.title + " is required to be filled in only with digits (0-9) a decimal point, or a dollar sign before successful submission.");
			field.focus();
			return false;
			break;
		}
	}
	return true;
}

function ckLen(ob, lim)
{
	var s;
	if (lim<1 || lim=='')	lim = 255;
	if (ob.value.length>=lim-1)
	{
		alert('Текст не должен превышать '+lim+' символов');
		s = ob.value.substr(0,lim-1);
		ob.value=s;
		return false;
	}
	return true;
}
