function checkPhoneFormat( t, al ){
	var i = 0;
	var ss = "";
	var c;
	var symbol_list = "";
	var s = t.value;
	while( i < al.length ){
		if( al.charAt(i) == " " ){
			symbol_list += " символ пробела";
		}else if( al.charAt(i) == "," ){
			symbol_list += " запятую";
		}else if( al.charAt(i) == "." ){
			symbol_list += " точку";
		}else{
			symbol_list += al.charAt(i);
		}
		i++;
		if( i != al.length ){
			symbol_list += ",";
		}
	}
	i = 0;
	while( i < s.length ){
		c = s.slice( i, i + 1 );
		if( al.indexOf(c) >= 0 ){
			ss = ss.concat(c);
		}
		i++;
	}
	if( t.value != ss ){
		t.value = ss;
	}
}

function checkEmailFormat( emailStr ) {
	var email = emailStr;
	emailTest = "^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z_-]+\\.)+[a-z]{2,4}$";
	var regex = new RegExp( emailTest );
	if( !regex.test( email ) || !( email.length > 0 ) ){
		alert( "Поле \"Ваш e-mail\" заполнено некорректно" );
		return false;
	}else{
		return true;
	}
}

Fields = new Array(5);
Fields[0] = "author";
Fields[1] = "email";
Fields[2] = "city";
Fields[3] = "phone";
Fields[4] = "phone2";
Description = new Array(5);
Description[0] = "Ваше имя";
Description[1] = "E-MAIL";
Description[2] = "Город";
Description[3] = "Код города или оператора";
Description[4] = "Номер телефона";

function fCheckRequiredFields( formobj, FormName ){
	var fieldRequired = Fields;
	var fieldDescription = Description;
	var alertMsg = "Пожалуйста, заполните следующие поля:\n";
	var l_Msg = alertMsg.length;
	for( var i = 0; i < fieldRequired.length; i++ ){
		var obj = formobj.elements[fieldRequired[i]];
		if( obj ){
			switch( obj.type ){
				case "select-one":
					if( obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == "" || obj.options[obj.selectedIndex].value == "" || obj.options[obj.selectedIndex].value == "0" ){
						alertMsg += " - " + fieldDescription[i] + "\n";
					}
				break;
				case "select-multiple":
					if( obj.selectedIndex == -1 ){
						alertMsg += " - " + fieldDescription[i] + "\n";
					}
				break;
				case "text":
				case "textarea":
					if( obj.value == "" || obj.value == null ){
						alertMsg += " - " + fieldDescription[i] + "\n";
					}
				break;
				default:
			}
			if( obj.type == undefined ){
				var blnchecked = false;
				for( var j = 0; j < obj.length; j++ ){
					if( obj[j].checked ){
						blnchecked = true;
					}
				}
				if( !blnchecked ){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
			}
		}
	}
	if( alertMsg.length == l_Msg ){
		var email_obj = formobj.elements["email"];
		check_email = true;
		if( "" != email_obj.value ){
			check_email = checkEmailFormat( email_obj.value );
		}
		if( check_email ){
			return true;
		}else{
			return false;
		}
	}else{
		alert(alertMsg);
		return false;
	}
}
