function FillSubCategory(param) {
  var SubCatValuesLength = SubCatValues.length;
  var oList = document.forms["message"].elements["subcategory"];
  oList.length = 0;
  for (i = 0; i < SubCatValuesLength; i++){
    if (SubCatValues[i][1] == param){
      var newListOption = document.createElement("OPTION");
      newListOption.text = SubCatValues[i][0];
      newListOption.value = SubCatValues[i][2];
      (oList.options.add) ? oList.options.add(newListOption) : oList.add(newListOption, null);
    }
  }

  var MessageTypeValuesLength = MessageTypeValues.length;
  oList = document.forms["message"].elements["type"];
  oList.length = 0;
  for (i = 0; i < MessageTypeValuesLength; i++){
    if (MessageTypeValues[i][1] == param){
      var newListOption = document.createElement("OPTION");
      newListOption.text = MessageTypeValues[i][0];
      newListOption.value = MessageTypeValues[i][2];
      (oList.options.add) ? oList.options.add(newListOption) : oList.add(newListOption, null);
    }
  }   

}

function СheckPublishForm(obj) {
  re_email=/^[a-z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}$/;
  var return_value = true;
  var region = obj.region.value;
  var category = obj.category.value;
  var subcategory = obj.subcategory.value;
  var type1 = obj.type.value;
  var author = obj.author.value;
  var header = obj.header.value;
  var txt = obj.txt.value;
  var phone1 = obj.phone1.value;
  var phone2 = obj.phone2.value;
  var mail = obj.mail.value;
  
  var error_msg = "Были допущены следующие ошибки:\n \n";

  //проверка списков
  if(region < 0){
    error_msg += "- не выбран регион\n";
    return_value = false;
  }
  if(category == 0){
    error_msg += "- не выбран раздел\n";
    return_value = false;
  }
  if(subcategory == 0){
    error_msg += "- не выбран подраздел\n";
    return_value = false;
  }
  if(type1 == 0){
    error_msg += "- не выбран тип\n";
    return_value = false;
  }

  //проверка поля заголовок
  if(author == ""){
      error_msg += "- не указан автор\n";
      return_value = false;
  }
  //проверка поля заголовок
  if(header == ""){
      error_msg += "- пустой заголовок\n";
      return_value = false;
  }
  //проверка поля текст сообщения
  if(txt == ""){
      error_msg += "- пустой текст объявления\n";
      return_value = false;
  }
  //проверка полей телефонов
  if(phone1 == "" && phone2 == ""){
      error_msg += "- не указан телефон\n";
      return_value = false;
  }
  //проверка поля почтовый ящик
  if(mail == "" || !re_email.test(mail)){
      error_msg += "- неправильный адрес почты\n";
      return_value = false;
  }

  //проверка на наличие ошибок, если возникла ошибка ввыводим текст сообщения
  if(!return_value)
      alert(error_msg);
  else {
    obj.author.disabled = false;
    obj.phone1.disabled = false;
    obj.phone2.disabled = false;
    obj.mail.disabled = false;
  }

  return return_value;
}

function MaxLength(this_field, MaxLen) {
  var obj1 = document.getElementById("txtCounter");
  inputStr = this_field.value;
  strlength= inputStr.length;
  if (strlength > MaxLen ) this_field.value=inputStr.substring(0,MaxLen);
  obj1.innerHTML = (MaxLen - this_field.value.length);
  this_field.focus();
}

function СheckRegisterForm(obj) {
  re_email=/^[a-z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}$/;

  var return_value = true;

  var name1 = obj.name.value;
  var name1_length = obj.name.value.length;
  var password1 = obj.password1.value;
  var password1_length = obj.password1.value.length;
  var password2 = obj.password2.value;
  var password2_length = obj.password2.value.length;
  var author = obj.author.value;
  var phone1 = obj.phone1.value;
  var phone2 = obj.phone2.value;
  var mail = obj.mail.value;
  

  var error_msg = "Были допущены следующие ошибки:\n \n";

  //проверка поля имя
  if(name1 == ""){
      error_msg += "- не указано имя входа\n";
      return_value = false;
  }
  //проверка поля автор
  if(author == ""){
      error_msg += "- не указано имя (подпись) \n";
      return_value = false;
  }
  //проверка поля пароль
  if (password1 != password2){
      error_msg += "- пароли не совпадают\n";
      return_value = false;
  }
  if(password1_length < 5){
      error_msg += "- пароль меньше 5 символов\n";
      return_value = false;
  }

  //проверка полей телефонов
  if(phone1 == "" && phone2 == ""){
      error_msg += "- не указан телефон\n";
      return_value = false;
  }

  //проверка поля почтовый ящик
  if(mail == "" || !re_email.test(mail)){
      error_msg += "- неправильный адрес почты\n";
      return_value = false;
  }

  //проверка на наличие ошибок, если возникла ошибка ввыводим текст сообщения
  if(!return_value)
      alert(error_msg);
  // разлокировать имя пользователя, при правке персональных данных
  else
    obj.name.disabled = false;

  return return_value;
}

//function ClearMsgField(){
//  document.forms["backlink"].elements["txt"].value = "";
//}

function СheckFeedbackForm(obj) {
  re_email = /^[a-z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}$/;
  var return_value = true;

  //var header = obj.header.value;
  var txt = obj.txt.value;
  var mail = obj.mail.value;
  
  var error_msg = "Были допущены следующие ошибки:\n \n";

  //проверка поля заголовок
  /*
  if(header == ""){
      error_msg += "пустой заголовок\n";
      return_value = false;
  }
  */
  //проверка поля текст сообщения
  if(txt == ""){
      error_msg += "- пустой текст объявления\n";
      return_value = false;
  }
  //проверка поля почтовый ящик
  if(mail == "" || !re_email.test(mail)){
      error_msg += "- неправильный адрес почты\n";
      return_value = false;
  }
  
  //проверка на наличие ошибок, если возникла ошибка ввыводим текст сообщения
  if(!return_value)
      alert(error_msg);

  return return_value;
}

function FillPersonalForm(username, author, phone1, phone2, mail) {
  var obj = document.forms["personal"];
  
  obj.name.value = username;
  obj.author.value = author;
  obj.phone1.value = phone1;
  obj.phone2.value = phone2;
  obj.mail.value = mail;
}

function FillRegMessageForm(author, phone1, phone2, mail) {
  var obj = document.forms["message"];

  obj.author.value = author;
  obj.phone1.value = phone1;
  obj.phone2.value = phone2;
  obj.mail.value = mail;
}

function FillEditMessageForm(category, subcategory, type0, header, text0, author, phone1, phone2, mail) {
    
  var obj = document.forms["message"];
  var obj1 = document.getElementById("type0");
  var obj2 = document.getElementById("subcategory");
  
  obj.header.value = header;
  obj.txt.value = text0;  
  obj.author.value = author;
  obj.phone1.value = phone1;        
  obj.phone2.value = phone2;
  obj.mail.value = mail;
  
  // Заполняем списки
  FillSubCategory(category);
  
  // Выбираем нужные элементы
  obj1.selectedIndex = type0-1;
    
  for (i = 0; i < obj2.options.length-1; i++)
    if (obj2.options[i].value == subcategory){
      obj2.selectedIndex = i;
      break;  
    }
}

function СheckLoginForm(obj) {
  var return_value = true;

  var lname = obj.lname.value;
  var lpassword = obj.lpassword.value;
  var error_msg = "Были допущены следующие ошибки:\n \n";
  
  //проверка поля текст сообщения
  if(lname == ""){
      error_msg += "- не указано имя входа\n";
      return_value = false;
  }

  //проверка поля текст сообщения
  if(lpassword == ""){
      error_msg += "- не указан пароль\n";
      return_value = false;
  }

  //проверка на наличие ошибок, если возникла ошибка ввыводим текст сообщения
  if(!return_value)
      alert(error_msg);

  return return_value;
}

function СheckPasswordForm(obj) {
  var return_value = true;
  var name1 = obj.name1.value;
  

  var error_msg = "Были допущены следующие ошибки:\n \n";

  //проверка поля заголовок
  if(name1 == ""){
      error_msg += "- не указан логин\n";
      return_value = false;
  }

  //проверка на наличие ошибок, если возникла ошибка ввыводим текст сообщения
  if(!return_value)
      alert(error_msg);
  
  return return_value;
}
