function CheckForm333(form)
{
 var i,j;
 var str = '';

 var bad_field;
 var fields = new Array();
 var prompts = new Array();

 fields[fields.length] = 'name';
 prompts[prompts.length] = 'Имя';


 fields[fields.length] = 'text';
 prompts[prompts.length] = 'Вопрос';
 
 fields[fields.length] = 'kod';
 prompts[prompts.length] = 'Код подтверждения'; 

 for (i = 0; i < fields.length; i++){
  var field = form[fields[i]];
  var is_bad=0;
  if(field.type == null)
  {
        is_bad=1;
        for(j=0;j<field.length;++j)
        {
                if(field[j].checked==true)
                        is_bad=0;
        }
        if(is_bad==1 && str=='')
                field=field[0];
  }
  else switch(field.type)
  {
        case 'select-one':
                if(field[field.selectedIndex].value == '')
                        is_bad=1;
                break;

        default:
                if (field.value == '')
                        is_bad=1;
  }

  if (is_bad == 1)
  {
        if (str != '')
        {
                str += '\n';
        }else{
                bad_field = field;
        }
        str += prompts[i];
  }

 }
 if (str != ''){
 if (form['e_mail'].value=='' && form['tel'].value=='') {str=str+'\nEmail или Телефон для обратной связи';}	 
   alert("Не заполнены необходимые поля:\n" + str);
   bad_field.focus();
   return false;
 }


 if (window.RegExp){
   var fields = new Array();
   var prompts = new Array();
   var patterns = new Array();
   var minVal = new Array();
   var maxVal = new Array();
   var maxLen = new Array();
   var errors = new Array();

   fields[fields.length] = 'e_mail';
   prompts[prompts.length] = 'E-mail';
   patterns[patterns.length] = '';
   minVal[minVal.length] = 0;
   maxVal[maxVal.length] = 0;
   maxLen[maxLen.length] = 32;
   errors[errors.length] = 'Имя почтового ящика может состоять из латинских букв, цифр, символов  \"@\", \"_\", \".\" и \"-\", не может быть длиннее 32 символов, не может начинаться и заканчиваться точкой.';

   fields[fields.length] = 'name';
   prompts[prompts.length] = 'Имя';
   patterns[patterns.length] = '^[^\\x00-\\x1F\\x22:]*$';
   minVal[minVal.length] = 0;
   maxVal[maxVal.length] = 0;
   maxLen[maxLen.length] = 64;
   errors[errors.length] = 'Поле не может быть длиннее 64 символов, не должно содержать двоеточия (\":\") и кавычек (\") и состоять из точек';


   for (i = 0; i < fields.length; i++){
    var bad = false;
    var field = form[fields[i]];
    if (typeof field == 'undefined') continue;
    if (field.value != ''){
     if (maxLen[i] > 0){
      if (field.value.length > maxLen[i]) bad = true;
     }
     if (patterns[i] != ''){
      var re = new RegExp(patterns[i]);
      if (!re.test(field.value + "")) bad = true;
     }
     if ((minVal[i] > 0) || (maxVal[i] > 0)){
      var val = parseInt(field.value);
      if ((val < minVal[i]) || (val > maxVal[i])) bad = true;
     }
     if (bad){
       alert("Неверно заполнено поле " + prompts[i] + "\n" + errors[i]);
       field.focus();
       return false;
     }
    }
   }
 }
 if (form['e_mail'].value=='' && form['tel'].value=='') {alert ('Необходимо указать Email или Телефон для обратной связи');return false;}

document.form.submit();return true;
}



