function update_captcha() {
	var clink = 'libs/kcaptcha/?'
	var randnum = Math.floor( Math.random() *1000);
	var newlink =  clink + randnum;
	document.getElementById('antispam').src = newlink;
}
function mail_valid(email){  
  if (! (/^\w+[-_\.]*\w+@\w+-?\w+\.[a-z]{2,4}$/.test(email)) )
  {
    return false;
  }
  if (email.length > 129){
	return false;
  }
  return true;
}
function proverka_dannih(){
	var errors = '';
	var name = document.getElementById('name').value;
	var theme = document.getElementById('theme').value;
	var email = document.getElementById('email').value;
	var mess = document.getElementById('mess').value;
	var code = document.getElementById('code').value;
	//Проверка имени
	if (name == ''){
		errors = errors + 'Вы не ввели свое имя<br />';
	} else if(name.length > 50){
		errors = errors + 'Имя слишком длинное. (Не должно превышать 50 символов)<br />';
	}
	//Проверка темы
	if (theme == ''){
		errors = errors + 'Вы не ввели тему сообщения<br />';
	} else if(theme.length > 50){
		errors = errors + 'Тема слишком длинная. (Не должна превышать 50 символов)<br />';
	}	
	//Проверка e-mail
	if (email == ''){
		errors = errors + 'Вы не ввели e-mail<br />';
	} else if (!mail_valid(email)){
		errors = errors + 'Вы ввели некорректный e-mail<br />';
	}
	//Проверка сообщения
	if (mess == ''){
		errors = errors + 'Вы не ввели текст сообщения<br />';
	} else if(mess.length > 500){
		errors = errors + 'Текст слишком длинный. (Разрешено не более 500 символов)<br />';
	}
	//Проверка капчи
	if (code == ''){
		errors = errors + 'Вы не ввели код с картинки<br />';
	} else if(code.length != 3){
		errors = errors + 'Длина кода должна составлять 3 символа<br />';
	}		
	return errors;
}
function doLoad() {
	//Сбрасываем статусы, чистим старые логи
	document.getElementById('status_error').style.display='none';
	document.getElementById('errors').style.display='none';
	document.getElementById('errorslist').innerHTML = '';
	document.getElementById('status_done').style.display = 'none';		
	//Отключаем кнопку, пока серверный скрипт обрабатывает запрос
	document.getElementById('sendbutton').disabled = true;
	
	//Делаем Верификацию данных
	var errors = proverka_dannih();
	if (errors != ''){
		//Включаем статусы ошибок, выводим логи
		document.getElementById('status_error').style.display='inline';
		document.getElementById('errors').style.display='block';
		document.getElementById('errorslist').innerHTML = errors;
		document.getElementById('code').value = '';
		//Включаем кнопку, обновляем капчу, завершаем работу функции
		document.getElementById('sendbutton').disabled = false;
		update_captcha();
		return 0;
	}
	//Включаем статус "Отправка"
	document.getElementById('status_load').style.display = 'inline';	
	//Инициализируем переменные
	var name = document.getElementById('name').value
	var theme = document.getElementById('theme').value;
	var email = document.getElementById('email').value
	var mess = document.getElementById('mess').value
	var code = document.getElementById('code').value;
    // Создаем объект JsHttpRequest
	var req = new JsHttpRequest();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            // Обрабатываем полученный результат 			
            if (req.responseJS.status_error == 1){ // В случае ошибок на сервере
				document.getElementById('status_load').style.display = 'none';
				document.getElementById('status_error').style.display='inline';
				document.getElementById('errors').style.display='block';
				document.getElementById('errorslist').innerHTML = req.responseJS.errors;
				document.getElementById('code').value = '';
				document.getElementById('sendbutton').disabled = false;
				update_captcha();				
				return 0;
			}
			//Меняем статусы
			document.getElementById('status_load').style.display = 'none';
			document.getElementById('status_done').style.display = 'inline';
			//Чистим все поля
			document.getElementById('name').value = '';
			document.getElementById('theme').value = '';
			document.getElementById('email').value = '';
			document.getElementById('mess').value = '';
			document.getElementById('code').value = '';
			//обновляем капчу
			update_captcha();
			//Включаем кнопку
			document.getElementById('sendbutton').disabled = false;
        }
    }
    // Подготовка запроса(Автоматически выбирается метод GET или POST)
    req.open(null, 'sendmail.php', true);
    // Отправляем запрос на сервер
    req.send( { 'name': name,
				'theme': theme,
				'email': email,
				'mess' : mess,
				'code' : code
	} );
}
