function checkAnketa(lang) {
  arr_field=new Array("tel","fax","email","icq","det_other");
	arr_desc_field=new Array("Номер контактного телефона","Номер факса","Адрес электронной почты","Номер ICQ","Другой источник информации о компании");
	var error="";
	var error_in="";
	
	if (lang == 'ru') {
		f = "Необходимо заполнить следующие поля:";
		w = "Неправильно заполнены следующие поля:";
		e = "Неправильный формат поля адреса электронной почты.";
		icq = "Неправильный формат номера ICQ.";
	}
	
	if (error != '') {
		error = "<p class='to-error'>"+f+"</p><ul>"+error+"</ul>";
	}
	// Проверка на правильность заполнения телефонов
	for(i=0;i<2;i++) {
		if(!document.forms['ankreq'].elements[arr_field[i]].value.match(/^[0-9\)\(\+\-]{0,50}$/)) {
			error_in+="<li>"+arr_desc_field[i]+"</li>";
		}
	}
	if (error_in != '') {
		error += "<p class='to-error'>"+w+"</p><ul>"+error_in+"</ul>";
	}
	// Проверка валидности ICQ
	if(!document.forms['ankreq'].elements['icq'].value.match(/^[0-9\-\s]{0,30}$/)) {
			error += "<p class='to-error'>"+icq+"</p>";
	}
	// Проверка валидности e-mail
	var email = document.forms['ankreq'].elements['email'].value;
	var match = email.match(/^[\w\-\.]+@[\w\-\.]+\.\w+$/);
	if ((email != '') && (!match)) {
	  error += "<p class='to-error'>"+e+"</p>";
	}
	
	return error;
}

function checkHotels(lang) {
  var arr_field = new Array("drop_hotlist","date_full","howlong","det_other","tourists","num_hotels");
  var arr_alias = new Array(2,3,4,8,15,777);
  var arr_post = new Array();
  
  for(var i=0;i<arr_field.length;i++){
    if(document.forms['hotelreq'].elements[arr_field[i]]){
      arr_post[i] = "e"+arr_alias[i]+"="+encodeURIComponent(document.forms['hotelreq'].elements[arr_field[i]].value);
    }
  }
  var length=arr_field.length+3;
  arr_post[arr_field.length]='arr_count='+encodeURIComponent(length);
  arr_post[arr_field.length+1]='form_id='+encodeURIComponent(7);
  arr_post[arr_field.length+2]='lang='+encodeURIComponent(lang);

	return arr_post;
}

function checkTours(lang) {
  var arr_field = new Array("to_country","city","date_full","howlong","det_other","from_city","tourists");
  var arr_alias = new Array(1,2,3,4,8,10,18);
  var arr_post = new Array();
  
  for(var i=0;i<arr_field.length;i++){
    arr_post[i] = "e"+arr_alias[i]+"="+encodeURIComponent(document.forms['tourreq'].elements[arr_field[i]].value);
  }
  var length=arr_field.length+3;
  arr_post[arr_field.length]='arr_count='+encodeURIComponent(length);
  arr_post[arr_field.length+1]='form_id='+encodeURIComponent(6);
  arr_post[arr_field.length+2]='lang='+encodeURIComponent(lang);
  
  
	return arr_post;
}

function checkTranslation(lang) {
  var arr_field = new Array("from_language","to_language");
  var arr_alias = new Array(1,2);
  var arr_post = new Array();
  
  for(var i=0;i<arr_field.length;i++){
    arr_post[i] = "e"+arr_alias[i]+"="+encodeURIComponent(document.forms['transreq'].elements[arr_field[i]].value);
  }
  var length=arr_field.length+3;
  arr_post[arr_field.length]='arr_count='+encodeURIComponent(length);
  arr_post[arr_field.length+1]='form_id='+encodeURIComponent('8,9,10');
  arr_post[arr_field.length+2]='lang='+encodeURIComponent(lang);

	return arr_post;
}

function checkCredentialsSmall (form_name, lang) {
  var arr_field = new Array("f","i","o","tel","email");
  var arr_alias = new Array(108,109,110,111,112);
  var arr_post = new Array();
  
  for(var i=0;i<arr_field.length;i++){
    arr_post[i] = "e"+arr_alias[i]+"="+encodeURIComponent(document.forms[form_name].elements[arr_field[i]].value);
  }
  var length=arr_field.length+3;
  arr_post[arr_field.length]='arr_count='+encodeURIComponent(length);
  arr_post[arr_field.length+1]='form_id='+encodeURIComponent(form_name);
  arr_post[arr_field.length+2]='lang='+encodeURIComponent(lang);

	return arr_post;
}

function checkCredentialsFull (form_name, form_type, lang) {
  var arr_field = new Array("f","i","o","comp","tel","email","fine_other");
  var arr_alias = new Array(108,109,110,114,116,117,122);
  var arr_post = new Array();
  
  for(var i=0;i<arr_field.length;i++){
    arr_post[i] = "e"+arr_alias[i]+"="+encodeURIComponent(document.forms[form_name].elements[arr_field[i]].value);
  }
  var length=arr_field.length+3;
  arr_post[arr_field.length]='form_id='+encodeURIComponent(form_type);
  arr_post[arr_field.length+1]='arr_count='+encodeURIComponent(length);
  arr_post[arr_field.length+2]='lang='+encodeURIComponent(lang);

  return arr_post;
}

function checkAviaTrainFields (lang,type) {
  var fid=0;
  if (type == 'train'){
    fid=4;
  }
  if (type == 'avia_avia_normal'){
    fid=2;
  }
  if (type == 'avia_avia_budget'){
    fid=3;
  }
  if (type == 'car'){
    fid=5;
  }
  if ((type == 'train') || (type == 'avia_avia_normal') || (type == 'avia_avia_budget')) {
    var time_to = "e4="+encodeURIComponent(document.forms['aviatrainreq'].elements['hh_to'].value+":"+document.forms['aviatrainreq'].elements['mm_to'].value);
    var time_back = "e8="+encodeURIComponent(document.forms['aviatrainreq'].elements['hh_back'].value+":"+document.forms['aviatrainreq'].elements['mm_back'].value);
    if (lang == 'ru') {
      var arr_field = new Array("country_from","flyfrom","date_to","country_to","flyto","date_back");
      var arr_alias = new Array(1,2,3,5,6,7);
    } else {
      var arr_field = new Array("flyfrom","date_to","flyto","date_back");
      var arr_alias = new Array(2,3,6,7);
    }
  	
  }
  if (type == 'car') {
    var time_to = "e3="+encodeURIComponent(document.forms['aviatrainreq'].elements['hh_to'].value+":"+document.forms['aviatrainreq'].elements['mm_to'].value);
    var time_back = "e6="+encodeURIComponent(document.forms['aviatrainreq'].elements['hh_back'].value+":"+document.forms['aviatrainreq'].elements['mm_back'].value);
  	var arr_field = new Array("country_from","date_to","country_to","date_back");
    var arr_alias = new Array(1,2,4,5);
  }

  var arr_post = new Array();
  
  for(var i=0;i<arr_field.length;i++){
    arr_post[i] = "e"+arr_alias[i]+"="+encodeURIComponent(document.forms['aviatrainreq'].elements[arr_field[i]].value);
  }
  var length=arr_field.length+5;
  
  arr_post[arr_field.length]='arr_count='+encodeURIComponent(length);
  arr_post[arr_field.length+1]='form_id='+encodeURIComponent(fid);
  arr_post[arr_field.length+2]='lang='+encodeURIComponent(lang);
  arr_post[arr_field.length+3]=time_to;
  arr_post[arr_field.length+4]=time_back;

	return arr_post;
}

function setError (elemArray, current, direction) {
  httpObject = getHTTPObject();
  antiCache = 'r='+Math.random();
  
  var elemList = elemArray.join("&");
  var elemCount = elemArray.length;
  
  httpObject.onreadystatechange = function () {
    if (httpObject.readyState == 4) {
     if (httpObject.status == 200) {
        var dest = document.getElementById('error-text');
        var err_plate = document.getElementById('errors');
        document.getElementById('checking').innerHTML='';
        result = httpObject.responseText;
        if (result == '') {
          dest.innerHTML = '';
          err_plate.style.display = 'none';
          nextStep (current, direction);
          if ((current==2)&&(direction==1)){
            for(var i=0;i<elemArray.length;i++){
              if(elemArray[i].match(/form_id=\w+/)){
                fid=elemArray[i].substr(8);
                break;
              }
            }
            var lang=elemArray[elemArray.length-1].substr(5);
            // По формам запускаем вывод информации (если нужно, иначе - ничего не делаем)
            switch(fid){
              case 'avia_avia_normal':sendAviaTrainCarRequest(lang,fid,1,true); break;
              case 'avia_avia_budget':sendAviaTrainCarRequest(lang,fid,1,true); break;
              case 'train':sendAviaTrainCarRequest(lang,fid,1,true); break;
              case 'car':sendAviaTrainCarRequest(lang,fid,1,true); break;
              case 'tourreq':sendTours(lang,1,true); break;
              case 'hotelreq':sendHotels(lang,1,true);break;
              case 'transreq':sendTranslate(lang,fid,1,true); break;
              default: break;
            }
          }
          return true;
        } else {
          dest.innerHTML = result;
          err_plate.style.display = 'block';
          return false;
        }
     } else {
        alert('There was a problem with the request.');
     }
    }
  };
  document.getElementById('checking').innerHTML='<i>Проверка...</i>';
  httpObject.open('POST','utils/requests/check.php?'+antiCache, true);
  httpObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  httpObject.setRequestHeader("Content-length", elemCount);
  httpObject.setRequestHeader("Connection", "close");
  httpObject.send(elemList);	
  return;
}
