// JavaScript Document
var fio_ok = false, city_ok = false, email_ok = false, phone_ok = false;
var regex = new RegExp('^[_\\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z_-]+\\.)+[a-zA-Z]{2,4}$');
var srcREG = new RegExp('\\</?script.*?\\>','ig');
var srcREG2 = new RegExp('\\\r\\\n|\\\r|\\\n','g');

function trim(sInString) {
  sInString = sInString.replace(/ /g,'');
  return sInString.replace(/(^\s+)|(\s+$)/g, '');
}

function onlyPhone(element) {
    var regex = new RegExp('^[0-9-\\(\\)\f\n\r\t\v*?]+$');
    var str = element.value;
    if (!regex.test(str)) {
        //var s1 = str.substr(0, (str.length - 1));
        //element.value = s1;
    }
    return;
}

function cinp(element) {

  var empty_test = trim(element.value); // значение элемента без пробелов
	var len = element.value.length; // размер/длина значения элемента
	var id = element.id; // атрибут id элемента
  var key = document.getElementById('c' + id); // элемент - индикатор правильности ввода поля (id совпадает с id того элемента к которому относится + 'с') 
  
  if (empty_test == '') {
      element.value = empty_test;
      key.style.display = 'none';
  } else {
      key.style.display = 'block';
      switch(id) {
        case 'fio': 
            if(len > 0) {
                var str = element.value;
                var str_new = str.replace(srcREG,'');
                var arr = str_new.split(srcREG2);
                element.value = arr[0];
                if(element.value.length > 3) {    
                    fio_ok = true;
                    key.className = 'fieldok';
                } else {
                    fio_ok = false;
                    key.className = 'fielderr';
                }
            } else {
                fio_ok = false;
                key.className = 'fielderr';
            }
            break;
        case 'city': 
            if(len > 0) {
                var str = element.value;
                var str_new = str.replace(srcREG,'');
                var arr = str_new.split(srcREG2);
                element.value = arr[0];
                if(element.value.length > 3) {    
                    city_ok = true;
                    key.className = 'fieldok';
                } else {
                    city_ok = false;
                    key.className = 'fielderr';
                }
            } else {
                city_ok = false;
                key.className = 'fielderr';
            }
            break;
        case 'phone': 
            if(len > 0) {
                onlyPhone(element);
                if(element.value.length > 3) {
                    phone_ok = true;
                    key.className = 'fieldok';
                } else {
                    phone_ok = false;
                    key.className = 'fielderr';
                }
            } else {
                phone_ok = false;
                key.className = 'fielderr';
            }
            break;
        case 'mess': 
            if(len > 0) {
                var str = element.value;
                var str_new = str.replace(srcREG,'');
//                var arr = str_new.split(srcREG2);
                element.value = str_new;
                key.className = 'fieldok';
            } else {
                key.style.display = 'none';
            }
            break;
        case 'email':
          	var str = trim(element.value);
          	element.value = str;
            if (!regex.test(element.value)) {
          		email_ok = false;
              key.className = 'fielderr';
          	} else {
          		email_ok = true;
              key.className = 'fieldok';
          	}
          	break;
      }
  }
}

function csub() {
	var csub = document.getElementById('sendmessage');
	if (fio_ok == true && city_ok == true && email_ok == true && phone_ok == true){
		csub.removeAttribute("disabled", '');
	} else {
		csub.setAttribute("disabled",true);
	}
}

function cforms(){
  var str_error;
  var ofiov = document.getElementById('fio');
  var omessv = document.getElementById('mess');
	if (fio_ok == true && email_ok == true && city_ok == true && phone_ok == true){
	  ofiov.value = ofiov.value.replace(srcREG, "");
		ofiov.value = ofiov.value.replace(srcREG2,"<br>");
		omessv.value = omessv.value.replace(srcREG, "&lt;script&gt;");
		omessv.value = omessv.value.replace(srcREG2,"<br>");
//		alert("Ваша заявка отправлена! \n");
    return true;
//		document.messform.submit();
	} else {
    if(fio_ok == false) {
        str_error = "Вы (не указали/не верно указали) ФИО!\r\n";
    }
    if(city_ok == false){
        str_error = str_error + "Вы (не указали/не верно указали) Город!\r\n";
    }
    if(phone_ok == false){
        str_error = str_error + "Вы (не указали/не верно указали) Телефон!\r\n";
    }
    if(email_ok == false) {
        str_error = str_error + "Вы (не указали/не верно указали) E-mail!\r\n";
    }
    alert(str_error);
    return false;
	}
}

//в случае перезагрузки страницы
function if_reload_form() {
  var form = document.getElementById('messform');
  for (var i = 0; i < form.elements.length; i++) {
      var element = form.elements[i];
      var elName = element.nodeName.toLowerCase();
      //var type = element.type.toLowerCase();
      if ((elName == 'input' || elName == 'select' || elName == 'textarea') && element.name != 'sendmes' ) { 
          cinp(element);
      }
  }
  return;
}