var webew = {}; // Object
// ************ Регистрация ************
webew.hideAllWins = function() {
	webew.showRegDialog();
	webew.showAuthDialog();
}
webew.showRegDialog = function(flag) {
	var div, body, left, id = "regDialogId";
	if (!(body = document.body)) return;
	if (!gebi(id)) {
		div = ce("div");
		div.id = id;
		div.className = "regDialog";
		div.style.display = "none";
		body.appendChild(div);
	}
	div = gebi(id);
	div.style.top = (defScroll().y + 50) + "px";
	left = (screenSize().w - 500) / 2;
	div.style.left = left < 50 ? "50px" : left + "px";
	div.innerHTML = "Запрос обрабатывается...";
	div.style.display = flag ? "" : "none";
	return flag ? setAjaxRequest(
		"GET",
		"/ajaxreg.webew",
		"",
		webew.showRegDialogHandler,
		webew.showRegDialogError,
		0,
		0
	) : false;
}
webew.showRegDialogHandler = function() {
	var html = "\
		<a onclick=\"return webew.showRegDialog();\" class=\"close\" href=\"#\">[X]</a>\
	";
	if (this.req.responseText.indexOf("ajaxNewUserSuccessId") != -1) {
		var lh = location.href;
		if (lh.indexOf("#") != -1) lh = lh.substring(0, lh.indexOf("#"))
		location.href = lh;
		return;
	}
	html += this.req.responseText;
	var div, regForm;
	if (div = gebi("regDialogId")) {
//alert(html);
		div.innerHTML = html;
		//if (regForm = gebi("regFormId")) regForm.onsubmit = webew.regSubmit;
	}
}
webew.showRegDialogError = function() {
	webew.showRegDialog();
	alert("При обработке запроса произошла ошибка.");
}
webew.regSubmit = function(form) {
	var el, params = "", div;
	var error = 0, errorText = "Не заполнены обязательные поля:\n";
	for (var i = 0; i < form.elements.length; i++) {
		el = form.elements[i];
		params += el.name + "=" + el.value;
		params += i != form.elements.length - 1 ? "&" : "";
		switch (el.name) {
			case "title" :
				if (el.value.length == 0) {
					errorText += " - логин\n";
					error = 1;
				}
			break;
			case "password" :
				if (el.value.length == 0) {
					errorText += " - пароль\n";
					error = 1;
				}
			break;
			case "vpassword" :
				if (el.value.length == 0) {
					errorText += " - пароль еще раз\n";
					error = 1;
				}
			break;
			case "email" :
				if (el.value.length == 0) {
					errorText += " - e-mail\n";
					error = 1;
				}
			break;
		}
	}
	if (error) {
		alert(errorText);
		return false;
	}
	if (div = gebi("regDialogId")) div.innerHTML = "Запрос обрабатывается...";
	setAjaxRequest(
		"POST",
		"/ajaxreg.webew",
		params,
		webew.showRegDialogHandler,
		webew.showRegDialogError,
		0,
		0
	);
	return false;
}
// ************ Авторизация ************
webew.showAuthDialog = function(flag) {
	var div, body, left, id = "regDialogId";
	if (!(body = document.body)) return;
	if (!gebi(id)) {
		div = ce("div");
		div.id = id;
		div.className = "regDialog";
		div.style.display = "none";
		body.appendChild(div);
	}
	div = gebi(id);
	div.style.top = (defScroll().y + 50) + "px";
	left = (screenSize().w - 350) / 2;
	div.style.left = left < 50 ? "50px" : left + "px";
	div.innerHTML = "Запрос обрабатывается...";
	div.style.display = flag ? "" : "none";
	return flag ? setAjaxRequest(
		"GET",
		"/ajaxauth.webew",
		"",
		webew.showAuthDialogHandler,
		webew.showAuthDialogError,
		0,
		0
	) : false;
}
webew.showAuthDialogHandler = function() {
	var html = "<a onclick=\"return webew.showAuthDialog();\" class=\"close\" href=\"#\">[X]</a><h1>Авторизация</h1>\
		\
		\n\
	";
	if (this.req.responseText.indexOf("ajaxAuthSuccessId") != -1) {
		var lh = location.href;
		if (lh.indexOf("#") != -1) lh = lh.substring(0, lh.indexOf("#"))
		location.href = lh;
		return;
	}
	html += this.req.responseText;
	var div, authForm;
	if (div = gebi("regDialogId")) {
		div.innerHTML = html;
		if (authForm = gebi("authFormId")) authForm.onsubmit = webew.authSubmit;
	}
}
webew.showAuthDialogError = function() {
	webew.showAuthDialog();
	alert("При обработке запроса произошла ошибка.");
}
webew.authSubmit = function() {
	var form = this, el, params = "", div;
	var error = 0, errorText = "Не заполнены обязательные поля: логин или пароль";
	for (var i = 0; i < form.elements.length; i++) {
		el = form.elements[i];
		if (el.type.toLowerCase() == "checkbox") if (!el.checked) continue;
		params += el.name + "=" + el.value;
		params += i != form.elements.length - 1 ? "&" : "";
		switch (el.name) {
			case "title" :
				if (el.value.length == 0) error = 1;
			break;
			case "password" :
				if (el.value.length == 0) error = 1;
			break;
		}
	}
	if (error) {
		alert(errorText);
		return false;
	}
	if (div = gebi("regDialogId")) div.innerHTML = "Запрос обрабатывается...";
	setAjaxRequest(
		"POST",
		"/ajaxauth.webew",
		params,
		webew.showAuthDialogHandler,
		webew.showAuthDialogError,
		0,
		0
	);
	return false;
}
// ************ Выход ************
webew.showLogoutDialog = function(flag, send) {
	var div, body, left, id = "regDialogId";
	if (!(body = document.body)) return;
	if (!gebi(id)) {
		div = ce("div");
		div.id = id;
		div.className = "regDialog";
		div.style.display = "none";
		body.appendChild(div);
	}
	div = gebi(id);
	div.style.top = (defScroll().y + 50) + "px";
	left = (screenSize().w - 350) / 2;
	div.style.left = left < 50 ? "50px" : left + "px";
	div.innerHTML = send ? "<div class=\"pad\">Запрос обрабатывается...</div>" : "\
		<h1>Выход</h1><table class=\"reg\"><tr><td colspan=\"2\"><div class=\"pad\">Вы уверены, что хотите выйти?</div></td></tr><tr>\
<td class=\"r\"><input type=\"button\" class=\"auto\" value=\"Да\" onclick=\"webew.showLogoutDialog(1,1);\"></td>\
		<td><input type=\"button\" class=\"auto\" value=\"Нет\" onclick=\"webew.showLogoutDialog();\"></td></tr></table>\
	";
	div.style.display = flag ? "" : "none";
	return send ? setAjaxRequest(
		"GET",
		"/logout.webew",
		"",
		webew.showLogoutDialogHandler,
		webew.showLogoutDialogError,
		0,
		0
	) : false;
}
webew.showLogoutDialogHandler = function() {
	var lh = location.href;
	if (lh.indexOf("#") != -1) lh = lh.substring(0, lh.indexOf("#"))
	location.href = lh;
	return;
}
webew.showLogoutDialogError = function() {
	webew.showLogoutDialog;
	alert("При обработке запроса произошла ошибка.");
}
// ************ Escape handler ************
addHandler (
	document,
	"keyup",
	function(evt) {
		evt = evt || window.event;
		if (evt.keyCode == 27) {
			try {
				webew.hideAllWins();
			} catch(e) {}
		}
	}
);
// ************ Show / hide comment ************
function showAddComment(a, ans) {
	try {
		if (!(webew.user)) {
			webew.showAuthDialog(1);
			return false;
		}
		var div;
		if (!(div = gebi("divCommentid"))) {
			div = document.createElement("div");
			div.id = "divCommentid";
			div.style.backgroundColor = "#FFF";
			div.style.padding = "10px 15px";
			div.style.position = "absolute";
			div.style.zIndex = 100;
			div.style.display = "none";
			document.body.appendChild(div);
		}
		var rem = 0;
		if (ans) {
			var table = a;
			while (table.parentNode) {
				table = table.parentNode;
				if (table.nodeType == 1) {
					if (table.nodeName.toLowerCase() == "td") {
						//if (table.className == "comment")
						break;
					}
				}
			}
			rem = table.offsetHeight;
		}
		div = gebi("divCommentid");
		div.style.top = (absPosition(a).y + rem - 10) + "px";
		div.style.left = "239px";
		div.innerHTML = "<form method=\"POST\" action=\""+a.href+"\">\
			<h2>Текст комментария <a onclick=\"return hideAddComment();\" style=\"font:11px verdana;\" href=\"#close\">[закрыть]</a><\/h2>\
				<div class=\"left\">\
					<input type=\"button\" name=\"b\" class=\"btn b\" title=\"Жирность\" onclick=\"setBold('hl2bbtxtarea');\" value=\"B\" \/>\
					<input type=\"button\" name=\"i\" class=\"btn i\" title=\"Курсив\" onclick=\"setItalic('hl2bbtxtarea');\" value=\"I\" \/>\
					<input type=\"button\" name=\"u\" class=\"btn u\" title=\"Подчеркивание\" onclick=\"setUnderline('hl2bbtxtarea');\" value=\"U\" \/>\
					<input type=\"button\" name=\"qoute\" class=\"btn\" title=\"Цитата\" onclick=\"setQuote('hl2bbtxtarea');\" value=\"Q\" \/>\
					<input type=\"button\" name=\"link\" class=\"btn u\" title=\"Ссылка\" onclick=\"setLink('hl2bbtxtarea');\" value=\"Link\" \/>\
					<input type=\"button\" name=\"img\" class=\"btn\" title=\"Изображение\" onclick=\"setImg('hl2bbtxtarea');\" value=\"Img\" \/>\
					<input type=\"button\" name=\"syntax\" class=\"btn\" title=\"Подсветка кода\" onclick=\"setSyntax('hl2bbtxtarea', this, event);\" value=\"Syntax &darr;\" \/>\
					<a href=\"\/upload.webew\" target=\"_blank\">Загрузить файл</a>\
				<\/div>\
				<textarea name=\"body\" id=\"hl2bbtxtarea\" style=\"width: 700px; height: 200px; margin-bottom: 9px;\"><\/textarea>\
				<div class=\"right\">\
					<!--input type=\"submit\" name=\"PRE\"  value=\"Посмотреть\" \/-->\
					<input type=\"submit\" name=\"GO\"  value=\"Сохранить\" \/>\
				<\/div>\
			<\/form>";
		// reset
		textAreaSelectionObjects = [];
		getTextAreaSelection('hl2bbtxtarea');
		//alert(div.innerHTML);
		div.style.display = "";
	} catch(e) {}
	return false;
}
function hideAddComment() {
	var div;
	if (div = gebi("divCommentid")) {
		div.style.display = "none";
	}
	return false;
}
