function sendFeedback() {
	if ($("feedbackform").name.value.strip() == "") {
		alert("Укажите, пожалуйста, ваше имя!");
		$("feedbackform").name.focus();
		return false;
	}
	
	if ($("feedbackform").contacts.value.strip() == "") {
		alert("Укажите, как с вами связаться!");
		$("feedbackform").contacts.focus();
		return false;
	}
	
	if ($("feedbackform").comment.value.strip() == "") {
		alert("Напишите, пожалуйста, ваше сообщение!");
		$("feedbackform").comment.focus();
		return false;
	}
	
	new Ajax.Updater("fillform", "/ajax/feedback/", {
		method: "post",
		parameters: {
			type: "feedback",
			name: $("feedbackform").name.value,
			contacts: $("feedbackform").contacts.value,
			comment: $("feedbackform").comment.value
		}
	});
	
	return false;
}

function questionsPage(control, activequestion, apage) {
	new Ajax.Updater(control.parentNode, "/ajax/questions/", {
		method: "get",
		parameters: {
			page: apage,
			question: activequestion
		}
	});
	return false;
}

function isEmail(string) {	
	return string.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\ru)|(\.gov)|(\.org)|(\.info)|(\..{2,2}))$)\b/gi);
}

function sendQuestion(form) {
	if (form.name.value.strip() == "") {
		new Effect.Highlight(form.name);
		form.name.focus();
		return false;
	}
	if (form.question.value.strip() == "") {
		new Effect.Hightlight(form.question);
		form.question.focus();
		return false;
	}
	if (form.source.value.strip() == "") {
		new Effect.Highlight(form.source);
		form.source.focus();
		return false;
	}

	if (form.subscribe.value == 1 && !isEmail(form.email.value)) {
		new Effect.Highlight(form.email);
		form.email.focus();
		return false;
	}

	$("qfailed").hide();
	new Ajax.Request("/ajax/questions/", {
		method: "post",
		parameters: {
			name: form.name.value,
			question: form.question.value,
			source: form.source.value,
			subscribe: form.subscribe.value,
			email: form.email.value
		},
		onSuccess: function(transport) {
			//hideQuest();
			$(form).hide();
			$("qsent").show();
		},
		onFailure: function() {
			$("qfailed").show();
		}
	});
	return false;
}

function sendRecover(form) {
	if (form.email.value.strip() == "") {
		new Effect.Highlight(form.email);
		form.email.focus();
		return false;
	}
	
	$("rfailed").hide();
	new Ajax.Request("/ajax/recover/", {
		method: "post",
		parameters: {
			email: form.email.value
		},
		onSuccess: function() {
			$(form).hide();
			$("rsent").show();
		},
		onFailure: function() {
			$("rfailed").show();
		}
	});
	return false;
}

function checkNewPassword(form) {
	if (form.recpassword.value == "") {
		new Effect.Highlight(form.recpassword);
		form.recpassword.focus();
		return false;
	}
	
	if (form.recpassword2.value == "") {
		new Effect.Highlight(form.recpassword2);
		form.recpassword2.focus();
		return false;
	}
	
	if (form.recpassword.value != form.recpassword2.value) {
		new Effect.Highlight(form.recpassword);
		new Effect.Highlight(form.recpassword2);
		return false;
	}
	
	return true;
}

function sendUnsubscribe(form) {
	if (form.email.value.strip() == "") {
		new Effect.Highlight(form.email);
		form.email.focus();
		return false;
	}
	
	$('ufailed').hide();
	new Ajax.Request("/ajax/unsubscribe/", {
		method: "post",
		parameters: {
			email: form.email.value
		},
		onSuccess: function() {
			$(form).hide();
			$("usent").show();
		},
		onFailure: function() {
			$(form).hide();
			$("ufailed").show();
		}
	});
}

function tryLogin(form) {
	if (form.login.value.strip() == "") {
		new Effect.Highlight(form.login);
		form.login.focus();
		return false;
	}
	
	if (form.password.value.strip() == "") {
		new Effect.Highlight(form.password);
		form.password.focus();
		return false;
	}
	
	new Ajax.Request("/ajax/login/", {
		method: "post",
		parameters: {
			login: form.login.value,
			password: form.password.value
		},
		onSuccess: function(transport) {
			//alert(transport.responseText);
			var xml = transport.responseXML.documentElement;
			switch (xml.getAttribute("result")) {
				case "ok": {
					//alert("ok");
					window.location.reload();
					break;
				}
				case "error": {
					$('loginform').hide();
					$('loginerror').show();
					break;
				}
			}
		}
	});
	return false;
}

function checkRegForm(form) {
	if (form.regpassword.value != form.password2.value) {
		alert("Пароли не совпадают!");
		form.regpassword.value = "";
		form.regpassword2.value = "";
		new Effect.Highlight(form.regpassword);
		new Effect.Highlight(form.regpassword2);
		form.regpassword.focus();
		return false;
	}
	if (form.name.value.strip() == "") {
		new Effect.Highlight(form.name);
		form.name.focus();
		return false;
	}
	if (form.specialty.value.strip() == "") {
		new Effect.Highlight(form.specialty);
		form.specialty.focus();
		return false;
	}
	if (form.position.value.strip() == "") {
		new Effect.Highlight(form.position);
		form.position.focus();
		return false;
	}
	if (form.organization.value.strip() == "") {
		new Effect.Highlight(form.organization);
		form.organization.focus();
		return false;
	}
	if (form.city.value.strip() == "") {
		new Effect.Hightlight(form.city);
		form.city.focus();
		return false;
	}
	if (form.email.value.strip() == "") {
		new Effect.Hightlight(form.email);
		form.email.focus();
		return false;
	}
	if (form.address.value.strip() == "") {
		new Effect.Hightlight(form.address);
		form.address.focus();
		return false;
	}
	if (form.phone.value.strip() == "") {
		new Effect.Hightlight(form.phone);
		form.phone.focus();
		return false;
	}
	if (form.birthday.value.strip() == "") {
		new Effect.Hightlight(form.birthday);
		form.birthday.focus();
		return false;
	}
	if (form.country.value.strip() == "") {
		new Effect.Hightlight(form.country);
		form.country.focus();
		return false;
	}
	if (form.reglogin.value.strip() == "") {
		new Effect.Hightlight(form.reglogin);
		form.reglogin.focus();
		return false;
	}
	return true;
}

function sendVote(form) {
	answerval = -1;
	for (i = 0; i < form.answer.length; i++) {
		if (form.answer[i].checked) {
			answerval = form.answer[i].value;
			break;
		}
	}
	
	if (answerval == -1) {
		alert("No answer");
		return false;
	}
	
	if (answerval == "custom" && form.custom.value.strip() == "") {
		new Effect.Highlight(form.custom);
		form.custom.focus();
		return false;
	}
	
	new Ajax.Request("/ajax/vote/", {
		method: "post",
		parameters: {
			poll: form.poll.value,
			answer: answerval,
			custom: answerval == "custom" ? form.custom.value : ""
		},
		onSuccess: function(transport) {
			$(form).innerHTML = transport.responseText;
		},
		onFailure: function(transport) {
			alert("Произошла ошибка. Попробуйте проголосовать позже.");
		}
	});
	
	return false;
}
