check_status_i = true;
check_status_h = true;
check_status_t = true;
check_status_n = true;
check_status_e = true;
check_status_p = true;
check_status_c = true;
check_status_s = true;

function correct_select(obj)
{
  if (check_status_i)
  {
    check_status_h = false;
    check_status_t = false;
    check_status_n = false;
    check_status_e = false;
    check_status_p = false;
    check_status_c = false;
    check_status_s = false;

    if (obj.value == '')
    {
      alert('Выберите подраздел!');
      obj.focus();

      return false;
    }

    check_status_i = true;
    check_status_h = true;
    check_status_t = true;
    check_status_n = true;
    check_status_e = true;
    check_status_p = true;
    check_status_c = true;
    check_status_s = true;
  }
  return true;
}

function correct_header(obj)
{
  if (check_status_h)
  {
    check_status_i = false;
    check_status_t = false;
    check_status_n = false;
    check_status_e = false;
    check_status_p = false;
    check_status_c = false;
    check_status_s = false;

    obj.value = obj.value.replace(/^\ +/, '');
    obj.value = obj.value.replace(/\ +$/, '');

    count = obj.value.length;
    for(var i = 0; i < count; i ++) { obj.value = obj.value.replace(/[ ]{2,}/, ' '); }

    if (obj.value.length == 0)
    {
      alert('Заголовок объявления необходимо указать!');
      obj.focus();

      return false;
    }

    if (obj.value.length < 10)
    {
      alert('Слишком маленький заголовок (менее 10 символов), не несущий смысловой нагрузки!');
      obj.focus();

      return false;
    }

    symbols = /^[,\. 0-9A-ZЁА-Я]{1,}$/;

    if(symbols.test(obj.value))
    {
      alert('Недопустимо написание заголовка одними заглавными буквами!');
      obj.focus();

      return false;
    }

    symbols = /^[,\. 0-9a-zёа-я]{1,}$/i;

    if(!symbols.test(obj.value))
    {
      alert('Недопустимые символы в заголовке!\n\nВ заголовке допустимо использование следующих\nсимволов: , . 0-9 a-z A-Z а-я А-Я ё Ё пробел.');
      obj.focus();

      return false;
    }

    url = /[http]{4,}/;

    if(url.test(obj.value))
    {
      alert('Возможно, вы пытаетесь указать адрес сайта в заголовке, что является недопустимым!\n');
      obj.focus();

      return false;
    }

    url = /[www]{3,}/;

    if(url.test(obj.value))
    {
      alert('Возможно, вы пытаетесь указать адрес сайта в заголовке, что является недопустимым!\n');
      obj.focus();

      return false;
    }

    url = /\.[a-z]{2,4}/;

    if(url.test(obj.value))
    {
      alert('Возможно, вы пытаетесь указать адрес сайта в заголовке, что является недопустимым!\n');
      obj.focus();

      return false;
    }

    symbol = /^[ёа-я]{1,}/i;

    if(!symbol.test(obj.value))
    {
      alert('Заголовок должен начинаться с русскоязычных символов!');
      obj.focus();

      return false;
    }

    if (obj.value.length > 100)
    {
      alert('Заголовок должен быть не более 100 символов!');
      obj.focus();

      return false;
    }

    for(var i = 0; i < 3; i ++)
    {
      obj.value = obj.value.replace(/\ +$/, '');
      obj.value = obj.value.replace(/\,+$/, '');
      obj.value = obj.value.replace(/\.+$/, '');
    }

    header = obj.value;
    first_symbol = header.substr(0, 1);
    obj.value = first_symbol.toUpperCase() + header.substr(1) + '.';

    check_status_i = true;
    check_status_h = true;
    check_status_t = true;
    check_status_n = true;
    check_status_e = true;
    check_status_p = true;
    check_status_c = true;
    check_status_s = true;
  }
  return true;
}

function correct_text(obj)
{
  if (check_status_t)
  {
    check_status_i = false;
    check_status_h = false;
    check_status_n = false;
    check_status_e = false;
    check_status_p = false;
    check_status_c = false;
    check_status_s = false;

    obj.value = obj.value.replace(/^\ +/, '');
    obj.value = obj.value.replace(/\ +$/, '');

    count = obj.value.length;
    for(var i = 0; i < count; i ++) { obj.value = obj.value.replace(/[ ]{2,}/, ' '); }

    if (obj.value.length == 0)
    {
      alert('Текст объявления необходимо указать!');
      obj.focus();

      return false;
    }

    if (obj.value.length < 50)
    {
      alert('Слишком маленький текст объявления, не несущий смысловой нагрузки!');
      obj.focus();

      return false;
    }

    header = obj.value;
    first_symbol = header.substr(0, 1);
    obj.value = first_symbol.toUpperCase() + header.substr(1);

    if (obj.value.length > 1000)
    {
      alert('Текст объявления должен быть не более 1000 символов!');
      obj.focus();

      return false;
    }

    check_status_i = true;
    check_status_h = true;
    check_status_t = true;
    check_status_n = true;
    check_status_e = true;
    check_status_p = true;
    check_status_c = true;
    check_status_s = true;
  }
  return true;
}

function correct_name(obj)
{
  if (check_status_n)
  {
    check_status_i = false;
    check_status_h = false;
    check_status_t = false;
    check_status_e = false;
    check_status_p = false;
    check_status_c = false;
    check_status_s = false;

    obj.value = obj.value.toLowerCase();

    obj.value = obj.value.replace(/^\ +/, '');
    obj.value = obj.value.replace(/\ +$/, '');

    count = obj.value.length;
    for(var i = 0; i < count; i ++)
    {
      obj.value = obj.value.replace(/[ ]{2,}/, ' ');
    }

    if (obj.value.length == 0)
    {
      alert('Контактное лицо необходимо указать!');
      obj.focus();

      return false;
    }

    symbols = /^[a-z ё а-я]{1,}$/i;

    if(!symbols.test(obj.value))
    {
      alert('Недопустимые символы!\n\nПри указании контактного лица допустимо использование\nследующих символов: a-z ё а-я пробел.');
      obj.focus();

      return false;
    }

    str = '';

    count = obj.value.length;
    for(var i = 0; i < count; i ++)
    {
      symbol = obj.value.substr(i, 1);

      if (symbol != ' ')
      {
        str = str + symbol;
      }
      else
      {
        str = str + symbol;

        i ++;
        symbol = obj.value.substr(i, 1);
        str = str + symbol.toUpperCase();
      }
    }

    obj.value = str;

    city = obj.value;
    first_symbol = city.substr(0, 1);
    obj.value = first_symbol.toUpperCase() + city.substr(1);

    check_status_i = true;
    check_status_h = true;
    check_status_t = true;
    check_status_n = true;
    check_status_e = true;
    check_status_p = true;
    check_status_c = true;
    check_status_s = true;
  }
  return true;
}

function correct_email(obj)
{
  if (check_status_e)
  {
    check_status_i = false;
    check_status_h = false;
    check_status_t = false;
    check_status_n = false;
    check_status_p = false;
    check_status_c = false;
    check_status_s = false;

    obj.value = obj.value.toLowerCase();

    obj.value = obj.value.replace(/^\ +/, '');
    obj.value = obj.value.replace(/\ +$/, '');

    count = obj.value.length;
    for(var i = 0; i < count; i ++)
    {
      obj.value = obj.value.replace(/[ ]{1,}/, '');
    }

    count = obj.value.length;
    for(var i = 0; i < count; i ++)
    {
      obj.value = obj.value.replace(/[@]{2,}/, '@');
    }

    if (obj.value.length == 0)
    {
      alert('E-Mail адрес необходимо указать!');
      obj.focus();

      return false;
    }

    email = /^[0-9a-z_\-\.]{2,}@[0-9a-z_\-\.]{2,}\.[a-z]{2,4}$/i;

    if (!email.test(obj.value))
    {
      alert('Неправильно указан e-mail адрес!');
      obj.focus();

      return false;
    }

    check_status_i = true;
    check_status_h = true;
    check_status_t = true;
    check_status_n = true;
    check_status_e = true;
    check_status_p = true;
    check_status_c = true;
    check_status_s = true;
  }
  return true;
}

function correct_phone(obj)
{
  if (check_status_p)
  {
    check_status_i = false;
    check_status_h = false;
    check_status_t = false;
    check_status_n = false;
    check_status_e = false;
    check_status_c = false;
    check_status_s = false;

    obj.value = obj.value.replace(/^\ +/, '');
    obj.value = obj.value.replace(/\ +$/, '');

    count = obj.value.length;
    for(var i = 0; i < count; i ++)
    {
      obj.value = obj.value.replace(/[ ]{2,}/, ' ');
    }

    symbols = /^[+ 0-9]{1,}$/i;

    if(!symbols.test(obj.value))
    {
      alert('Недопустимые символы!\n\nПри указании номера телефона допустимо использование\nследующих символов: + 0-9 пробел.');
      obj.focus();

      return false;
    }

    check_status_i = true;
    check_status_h = true;
    check_status_t = true;
    check_status_n = true;
    check_status_e = true;
    check_status_p = true;
    check_status_c = true;
    check_status_s = true;
  }
  return true;
}

function correct_city(obj)
{
  if (check_status_c)
  {
    check_status_i = false;
    check_status_h = false;
    check_status_t = false;
    check_status_n = false;
    check_status_e = false;
    check_status_p = false;
    check_status_s = false;

    obj.value = obj.value.toLowerCase();

    obj.value = obj.value.replace(/^\ +/, '');
    obj.value = obj.value.replace(/\ +$/, '');

    count = obj.value.length;
    for(var i = 0; i < count; i ++)
    {
      obj.value = obj.value.replace(/[ ]{2,}/, ' ');
    }

    symbols = /^[a-z ё а-я]{1,}$/i;

    if(!symbols.test(obj.value))
    {
      alert('Недопустимые символы!\n\nПри указании города допустимо использование\nследующих символов: a-z ё а-я пробел.');
      obj.focus();

      return false;
    }

    str = '';

    count = obj.value.length;
    for(var i = 0; i < count; i ++)
    {
      symbol = obj.value.substr(i, 1);

      if (symbol != ' ')
      {
        str = str + symbol;
      }
      else
      {
        str = str + symbol;

        i ++;
        symbol = obj.value.substr(i, 1);
        str = str + symbol.toUpperCase();
      }
    }

    obj.value = str;

    city = obj.value;
    first_symbol = city.substr(0, 1);
    obj.value = first_symbol.toUpperCase() + city.substr(1);

    check_status_i = true;
    check_status_h = true;
    check_status_t = true;
    check_status_n = true;
    check_status_e = true;
    check_status_p = true;
    check_status_c = true;
    check_status_s = true;
  }
  return true;
}

function correct_site(obj)
{
  if (check_status_s)
  {
    check_status_i = false;
    check_status_h = false;
    check_status_t = false;
    check_status_n = false;
    check_status_e = false;
    check_status_p = false;
    check_status_c = false;

    obj.value = obj.value.toLowerCase();

    obj.value = obj.value.replace(/^\ +/, '');
    obj.value = obj.value.replace(/\ +$/, '');

    count = obj.value.length;
    for(var i = 0; i < count; i ++)
    {
      obj.value = obj.value.replace(/[ ]{1,}/, '');
    }

    count = obj.value.length;
    for(var i = 0; i < count; i ++)
    {
      obj.value = obj.value.replace(/[-]{2,}/, '-');
      obj.value = obj.value.replace(/[_]{2,}/, '_');
      obj.value = obj.value.replace(/[.]{2,}/, '.');
    }

    obj.value = obj.value.replace(/[\/]+$/, '/');

    url = /^http:\/\/(www\.)?[0-9a-z_\-\.]{2,}\.[a-z]{2,4}\/$/i;

    if (!url.test(obj.value))
    {
      alert('Неправильно указан URL сайта!\n\nПримеры:\n\nhttp://sitename.ru/, http://www.sitename.ru/, http://name.sitename.ru/, http://www.name.sitename.ru/');
      obj.focus();

      return false;
    }

    check_status_i = true;
    check_status_h = true;
    check_status_t = true;
    check_status_n = true;
    check_status_e = true;
    check_status_p = true;
    check_status_c = true;
    check_status_s = true;
  }
  return true;
}

