///////////////////////////////////////////////// проверка формы ///////////////////////////////////////////////////

function clearStyleAll(){
document.getElementById('name_id').className = '';
document.getElementById('name_view').innerHTML = '0';
document.getElementById('name_correct').className = '';
document.getElementById('name_correct').innerHTML = 'Василий Иванов';

document.getElementById('email_id').className = '';
document.getElementById('email_view').innerHTML = '0';
document.getElementById('email_correct').className = '';
document.getElementById('email_correct').innerHTML = 'email@domain.ru';

document.getElementById('phone_id').className = '';
document.getElementById('phone_view').innerHTML = '0';
document.getElementById('phone_correct').className = '';
document.getElementById('phone_correct').innerHTML = '+7 (495) 123-45-67';

document.getElementById('mess_id').className = '';
document.getElementById('mess_view').innerHTML = '0';
document.getElementById('mess_correct').className = '';
document.getElementById('mess_correct').innerHTML = 'Адрес...';

document.getElementById('metro_id').className = '';
document.getElementById('metro_view').innerHTML = '0';
document.getElementById('metro_correct').className = '';
document.getElementById('metro_correct').innerHTML = 'Метро...';

document.getElementById('q_submit').disabled = true;
}

function clearClassName(item){
var item_className = document.getElementById(item).className;
//alert(item_className);
if(item_className=='focus') document.getElementById(item).className = '';
}

function CheckMetro(item) {
var item_view = 'metro_view';
var item_correct = 'metro_correct';
document.getElementById(item_view).innerHTML = document.getElementById(item).value.length++;
var bad = false;
var patterns = '^[^\\x00-\\x1F\\x22\:\/<>\^\%\&]+([^<>\/:\"\^\%\&]+) *$';
var errors = 'Поле не должно быть короче 11 и длиннее 255 символов, не должно содержать двоеточия, кавычек, угловых скобок, обратного слэша';
var re = new RegExp(patterns);
if (!re.test(document.getElementById(item).value + "")) bad = true;
 if (document.getElementById(item).value.length >= 4 && !bad) {
  document.getElementById(item_correct).innerHTML = 'верно';
  document.getElementById(item).className = 'correct';
  document.getElementById(item_correct).className = 'correct';
  document.getElementById('check_metro').value = 1;
 } else {
  document.getElementById(item_correct).innerHTML = '<acronym title="'+ errors +'" style="cursor:help;" >Метро...</acronym>';
  document.getElementById(item_correct).className = '';
  document.getElementById(item).className = 'focus';
  document.getElementById('check_metro').value = 0;
 }
 checkAll();
}

function CheckName(item) {
var item_view = 'name_view';
var item_correct = 'name_correct';
document.getElementById(item_view).innerHTML = document.getElementById(item).value.length++;
var bad = false;
var patterns = '^[^\\x00-\\x1F\\x22\:\/<>\^\%\&]+([^<>\/:\"\^\%\&]+) *$';
var errors = 'Поле не должно быть короче 11 и длиннее 255 символов, не должно содержать двоеточия, кавычек, угловых скобок, обратного слэша';
var re = new RegExp(patterns);
if (!re.test(document.getElementById(item).value + "")) bad = true;
 if (document.getElementById(item).value.length >= 4 && !bad) {
  document.getElementById(item_correct).innerHTML = 'верно';
  document.getElementById(item).className = 'correct';
  document.getElementById(item_correct).className = 'correct';
  document.getElementById('check_name').value = 1;
 } else {
  document.getElementById(item_correct).innerHTML = '<acronym title="'+ errors +'" style="cursor:help;" >Василий Иванов</acronym>';
  document.getElementById(item_correct).className = '';
  document.getElementById(item).className = 'focus';
  document.getElementById('check_name').value = 0;
 }
 checkAll();
}

function CheckEmail(item) {
var item_view = 'email_view';
var item_correct = 'email_correct';
document.getElementById(item_view).innerHTML = document.getElementById(item).value.length++;
var bad = false;
var patterns = '^[a-zA-Z0-9]+([_\.-][a-zA-Z0-9]*)*[a-zA-Z0-9]@[a-zA-Z0-9]+([_\.-][a-zA-Z0-9]*)*[a-zA-Z0-9]+[\.]+[a-zA-Z]{2,4}$';
var errors = 'Поле не должно быть короче 7 и длиннее 64 символов и должно содержать корректный E-mail адрес';
var re = new RegExp(patterns);
if (!re.test(document.getElementById(item).value + "")) bad = true;
 if (document.getElementById(item).value.length >= 7 && !bad) {
  document.getElementById(item_correct).innerHTML = 'верно';
  document.getElementById(item).className = 'correct';
  document.getElementById(item_correct).className = 'correct';
  document.getElementById('check_email').value = 1;
 } else {
  document.getElementById(item_correct).innerHTML = '<acronym title="'+ errors +'" style="cursor:help;" >email@domain.ru</acronym>';
  document.getElementById(item_correct).className = '';
  document.getElementById(item).className = 'focus';
  document.getElementById('check_email').value = 0;
 }
 checkAll();
}

function CheckPhone(item) {
var item_view = 'phone_view';
var item_correct = 'phone_correct';
document.getElementById(item_view).innerHTML = document.getElementById(item).value.length++;
var bad = false;
var patterns = '^(((([\+][0-9]{1,4}) +)|([78] +)){0,1}((([\(]{1}[0-9]{0,4}[\)]{1}) +)|(([0-9]{0,4}) +))){0,1}[0-9]{1}([ -]{0,1}[0-9]{1}){6}$';
var errors = 'Поле не должно быть короче 7 и длиннее 22 символов и должно содержать корректный номер телефона';
var re = new RegExp(patterns);
if (!re.test(document.getElementById(item).value + "")) bad = true;
 if (document.getElementById(item).value.length >= 1 && document.getElementById(item).value.length <=22 && !bad) {
  document.getElementById(item_correct).innerHTML = 'верно';
  document.getElementById(item).className = 'correct';
  document.getElementById(item_correct).className = 'correct';
  document.getElementById('check_phone').value = 1;
 } else {
  document.getElementById(item_correct).innerHTML = '<acronym title="'+ errors +'" style="cursor:help;" >+7 (495) 123-45-67</acronym>';
  document.getElementById(item_correct).className = '';
  document.getElementById(item).className = 'focus';
  document.getElementById('check_phone').value = 0;
 }
 checkAll();
}

function CheckMess(item) {
var item_view = 'mess_view';
var item_correct = 'mess_correct';
document.getElementById(item_view).innerHTML = document.getElementById(item).value.length++;
var bad = false;
var patterns = '^[^\\x00-\\x1F\\x22\:\/<>\^\%\&]+([^<>\/:\"\^\%\&]+) *$';
var errors = 'Поле не должно быть короче 11 и длиннее 255 символов, не должно содержать двоеточия, кавычек, угловых скобок, обратного слэша';
var re = new RegExp(patterns);
if (!re.test(document.getElementById(item).value + "")) bad = true;
 if (document.getElementById(item).value.length >= 11 && document.getElementById(item).value.length <=255 && !bad) {
  document.getElementById(item_correct).innerHTML = 'верно';
  document.getElementById(item).className = 'correct';
  document.getElementById(item_correct).className = 'correct';
  document.getElementById('check_mess').value = 1;
 } else {
  document.getElementById(item_correct).innerHTML = '<acronym title="'+ errors +'" style="cursor:help;" >Адрес...</acronym>';
  document.getElementById(item_correct).className = '';
  document.getElementById(item).className = 'focus';
  document.getElementById('check_mess').value = 0;
 }
 checkAll();
}

function checkAll() {
var x;
var check_metro  = document.getElementById('check_metro').value;
var check_name  = document.getElementById('check_name').value;
var check_email = document.getElementById('check_email').value;
var check_phone = document.getElementById('check_phone').value;
var check_mess = document.getElementById('check_mess').value;
  x = check_metro + check_name + check_email + check_phone + check_mess;
  document.getElementById('check_all').value = x;
 if (document.getElementById('check_all').value == 11111) {
  document.getElementById('q_submit').disabled = false;
  document.getElementById('q_submit').src = 'images/b_15.gif';
  document.getElementById('flag_view').innerHTML = 'V';
  document.getElementById('flag_view').className = 'correct';

 } else {
  document.getElementById('flag_view').className = 'acorrect';
  document.getElementById('q_submit').src = 'images/b_14.gif';
  document.getElementById('flag_view').innerHTML = 'x';
  document.getElementById('q_submit').disabled = true;
 }
}
