﻿function getXmlHttp(){
  var xmlhttp;
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
      xmlhttp = false;
    }
  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}

function updateObj(obj, data, blink, small) {
	if(blink) data=data.blink();
	if(small) data=data.small();
	if(document.getElementById(obj).tagName=='INPUT') document.getElementById(obj).value=data;
	else document.getElementById(obj).innerHTML = '<font color="red">' + data + '</font>';
} 

function IsMail(email, callback) {
	emailTest = "^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z_-]+\\.)+[a-z]{2,4}$";
	var regex = new RegExp(emailTest);
	if (regex.test(email)) {
		return callback = true;
	} else {
		return callback = false;
	}
}

function sendForm(frm){
	var xmlhttp = getXmlHttp()
	formComment = document.main_form;
	//Валидация формы 
	if(!formComment.name.value) {updateObj('alert_name', 'Имя не введено!',0,1); formComment.name.focus(); return;} else {updateObj('alert_name', '',0,0);}
	if(!IsMail(formComment.email.value, true)){updateObj('alert_email', 'Email или пустой или некорректный!',0,1); formComment.email.focus(); return;} else {updateObj('alert_email', '',0,0);}
	if(!formComment.date.value){updateObj('alert_date', 'Заголовок не введен!',0,1); formComment.date.focus(); return;} else {updateObj('alert_date', '',0,0);}
	if(!formComment.text.value){updateObj('alert_text', 'Сообщение пустое!',0,1); formComment.text.focus(); return;} else {updateObj('alert_text', '',0,0);}

	//Формирование строки параметров и их значений
	str='';
	for (i=0; i<formComment.length; i++) if(formComment[i].name) {
		str=str+encodeURIComponent(formComment[i].name)+'='+encodeURIComponent(formComment[i].value)+'&';
		}
	str=str.slice(0,-1);
	
	xmlhttp.open('POST', './forms_back/vopros/send_mail.php', true);
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
	
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) {
			if(xmlhttp.status == 200) {
				if(xmlhttp.responseText) {
					document.getElementById("mess").innerHTML = xmlhttp.responseText;
				}
			} else {
            alert("Произошла ошибка "+ xmlhttp.status+":\n" + xmlhttp.statusText);
			}			
		}	
	}	
	xmlhttp.send(str);
}
