//เภเยแ?เฮแ?เศเวเภแ?เศแ?
function poortalLogin(form)
{
	var message = _$('pl_message');

	if(!form.login.value.length || !form.password.value.length)
	{
		message.innerHTML = 'เ?เฮเรเศเอ/เฯเภแ?เฮเหแ? เยเยเลเฤเลเอแ? เอเลเฯแ?เภเยเศเหแ?เอเฮ. เ?เฮเฯแ?เฮเมแ?เษแ?เล เลแ?เล แ?เภเว.';
		setClass(message, 'pl_message_showed');
		return false;
	}

	unsetClass(message, 'pl_message_showed');

	disableForm(form, true);

	JsHttpRequest.query(
		window.login_url + '?r=' + Math.random(),
		{
			user : form.login.value,
			host : form.host.options[form.host.selectedIndex].value,
			pass : form.password.value,
			alien: !form.alien.checked * 1,
			time : new Date().getTimezoneOffset()
		},
		function(result, debugMessages)
		{
			if(debugMessages)
				alert(debugMessages);

			if(result.code == 200)
			{
				if(form.retpath.checked)
					return document.location = form.retpath.value;

				var jid = form.login.value;
				if(jid.indexOf('@') == -1)
					jid += '@' + form.host.options[form.host.selectedIndex].value;

				var trimmed = (jid.length > 30) ? jid.substr(0, 30) + '...' : jid;
				var header = _$('pl_header_login');
				header.innerHTML = trimmed, header.title = jid;
				setClass(_$('p_login'), 'p_login_authorized');

				poortalReloadPersonal();
			}
			else if(result.code == 400 && result.login && result.key)
			{
				message.innerHTML = 'เแ?เลแ?เอเภแ? เวเภเฯเศแ?แ? เมแ?เหเภ แ?เภเอเลเล แ?เฤเภเหเลเอเภ. ';
				message.appendChild(_$$('a', {id: 'pl_message_undelete', href: '/settings/undeleteAcc?user=' + result.login + '&key=' + result.key, innerHTML: 'เ?เฮแ?แ?แ?เภเอเฮเยเศแ?แ?'}))
				setClass(message, 'pl_message_showed');
			}
			else
			{
				message.innerHTML = 'เ?เฮเรเศเอ/เฯเภแ?เฮเหแ? เยเยเลเฤเลเอแ? เอเลเฯแ?เภเยเศเหแ?เอเฮ. เ?เฮเฯแ?เฮเมแ?เษแ?เล เลแ?เล แ?เภเว.';
				setClass(message, 'pl_message_showed');
			}

			disableForm(form, false);
			trytofocus(form.login);
		}
	);

	return true;
}


//เฮเมเอเฮเยเหเลเอเศเล แ?เยเลเฤเฮเฬเหเลเอเศแ? เฮ เหเศแ?เอแ?แ? เฯเศแ?แ?เฬเภแ?/แ?เฮเฮเมแ?เลเอเศแ?แ?
function poortalReloadPersonal()
{
	if(!('reload_personal_url' in window))
		return;

	JsHttpRequest.query(
		window.reload_personal_url, null,
		function(result, debugMessages)
		{
			if(!(result instanceof Object) || debugMessages)
				return;

			setTimeout(poortalReloadPersonal, 600000); //10 เฬเศเอแ?แ?

			var item = false, t, titles = {
				mail: ['เอเฮเยแ?แ? เฯเศแ?เลเฬ เอเลแ?', 'เอเฮเยเฮเล เฯเศแ?แ?เฬเฮ', 'เอเฮเยแ?แ? เฯเศแ?แ?เฬเภ', 'เอเฮเยแ?แ? เฯเศแ?เลเฬ'],
				love: ['เอเฮเยแ?แ? แ?เฮเฮเมแ?เลเอเศเษ เอเลแ?', 'เอเฮเยเฮเล แ?เฮเฮเมแ?เลเอเศเล', 'เอเฮเยแ?แ? แ?เฮเฮเมแ?เลเอเศแ?', 'เอเฮเยแ?แ? แ?เฮเฮเมแ?เลเอเศเษ']
			};
			for(var name in titles)
			{
				if(!(name in result) || !(item = _$('p_login_' + name)))
					continue;

				t = titles[name];
				if(result[name] *= 1)
					item.innerHTML = '<span>' + result[name] + '</span> ' + pluralForm(result[name], t[1], t[2], t[3]);
				else
					item.innerHTML = t[0];
				_show(item.parentNode);
			}
		}
	);
}


//เฯเลแ?เลเสเหแ?แ?เลเอเศเล แ?เภเมเฮเย เอเฮเยเฮแ?แ?เลเษ
function poortalNewsSwitchTheme(tab)
{
	tab = tab.parentNode; //a < li
	if(hasClass(tab, 'pnh_active'))
		return true;

	var news = tab.parentNode.parentNode, //li < ul < div
		tabs = [], themes = [];

	if(('themes' in news) && ('tabs' in news))
		tabs = news.tabs, themes = news.themes;
	else
	{
		news.tabs   = tabs   = childs.apply(tab.parentNode, ['li', null, true]);
		news.themes = themes = childs.apply(news, ['div', 'pn_content', true]);
	}

	news.tabs.active = tab;
	var current = 0;
	for(var i = 0; i < themes.length; i++)
		(tabs[i] == tab)
			? (setClass(tabs[i], 'pnh_active'), _show(themes[i]), current = i)
			: (unsetClass(tabs[i], 'pnh_active'), _hide(themes[i]));

	set_startpoortal_settings('news_tab', current);

	return false;
}


//เฯเลแ?เลเสเหแ?แ?เลเอเศเล แ?แ?แ?เภเอแ? เอเฮเยเฮแ?แ?เลเษ
function poortalNewsSwitchCountry(btn, code)
{
	var countries = {RU: 'UA', UA: 'RU'};
	if(!(code in countries))
		return;
	var news = btn.parentNode.parentNode.parentNode;
	unsetClass(news, 'p_news_' + countries[code]), setClass(news, 'p_news_' + code)
	set_startpoortal_settings('news_country', code);
}


//แ?เฮแ?แ?เภเอเลเอเศเล เยแ?เมแ?เภเอเอเฮเรเฮ เวเอเภเสเภ เวเฮเฤเศเภเสเภ
function poortalHoro(select)
{
	var value = select.options[select.selectedIndex].value;
	select.form.action = select.form.action.replace(/\d+/, value);
	if(select.form.old.value * 1 !== value * 1)
		set_startpoortal_settings('horo', value);
	poortalLogClicks(null, select.form);
	select.form.submit();
}


//เฯเลแ?เลแ?เฮเฤ เอเภ เศเรแ?แ?
function poortalGames(select)
{
	select.form.action = select.selectedIndex
		? select.options[select.selectedIndex].value
		: 'http://games.poortal.ru/';
	poortalLogClicks(null, select.form);
	select.form.submit();
}


// เฯเฮเฤเรแ?แ?เวเสเภ แ?เสแ?เศเฯแ?เภ แ?เฮ แ?เฯเศแ?เสเฮเฬ เรเฮแ?เฮเฤเฮเย เศ เศแ? เสเฮเฤเฮเย
function poortalSwitchCity(show, city_code)
{
	var city = _$('p_city'), list = _$('pt_city_list');

	if(list.options.length > 1)
	{
		list.disabled = !show;
		unsetClass(city, 'pt_city_normal'), setClass(city, 'pt_city_selection');
		return trytofocus(list);
	}

	unsetClass(city, 'pt_city_normal'), setClass(city, 'pt_city_loading');

	window.city_data = {city: city, list: list, city_code: city_code};
	document.body.appendChild(_$$('script', {type: 'text/javascript', charset: 'utf-8', src: window.base_url+'js/geo.js'}));
}


//เฮเมเอเฮเยเหเลเอเศเล เมเหเฮเสเภ เฯเฮเรเฮเฤแ?
function poortalReloadInfo(city_code)
{
	window.geo_code = city_code; //เวเภเฯเฮเฬเศเอเภเลเฬ แ?เลเสแ?แ?เศเษ เรเฮแ?เฮเฤ เย เฮแ?เฤเลเหแ?เอเฮเษ เฯเลแ?เลเฬเลเอเอเฮเษ

	JsHttpRequest.query(
		window.base_url + 'reloadinfo?r=' + Math.random(),
		{code: city_code},
		function(result, debugMessages)
		{
			if(debugMessages)
				return alert(debugMessages);

			document.forms['poortal_love_form'].geo.value = result.geo.love;

			_$('p_city_name').innerHTML = result.geo.city;
			_$('p_city_parent').innerHTML = result.weather.city;
			_$('p_weather').innerHTML = result.weather.html;

			var maps = _$('p_maps');
			if('probki' in result)
			{
				var v = result.probki * 1;
				unsetClass(maps, 'p_maps_static');
				_$('pm_icon').className = 'pmp_' + (v < 4 ? 'green' : v < 7 ? 'yellow' : 'red');
				_$('p_probki').innerHTML = v.toString().bold() + ' ' + pluralForm(v, 'เมเภเหเห', 'เมเภเหเหเภ', 'เมเภเหเหเฮเย');
			}
			else
			{
				setClass(maps, 'p_maps_static');
			}

			window.geo_code = result.code;
			setCookie('spoortal_weather_code', window.geo_code, new Date(new Date().getFullYear()+1, 1, 1), '/', '.poortal.ru');

			poortalCityHideShow();
		},
		true
	);
	return false;
}


//แ?เฮเสแ?แ?แ?เศเล แ?เฯเศแ?เสเภ เยแ?เมเฮแ?เภ เรเฮแ?เฮเฤเภ
function poortalCityHideShow()
{
	var city = _$('p_city');
	unsetClass(city, 'pt_city_selection'), setClass(city, 'pt_city_normal');
	_$('pt_city_list').disabled = true;
}


//เวเภเฯเฮเหเอเลเอเศเล แ?เฯเศแ?เสเภ เรเฮแ?เฮเฤเฮเย
function fillOptions(opts)
{
	var data = window.city_data;
	var list = data.list, opts = opts.split(';');
	for(var i = 0, ln = opts.length; i < ln; i++)
	{
		var entry = opts[i].split(',');
		list.options[i] = new Option(entry[1], entry[0]);
		if(data.city_code == entry[0])
			list.options[i].selected = true;
	}
	unsetClass(data.city, 'pt_city_loading'), setClass(data.city, 'pt_city_selection');
	list.disabled = false;
	trytofocus(list);
}







//เยแ?เมเฮแ? เฯเฮแ?เฮเฬเสเฮเย เฯเฮ เฯเภแ?เภเฬเลแ?แ?เภเฬ (เศแ?เฯเฮเหแ?เวแ?เลแ?แ?แ? เยแ?เลเฬเลเอเอเฮ)
function childs(tagName, className, childsOnly)
{
	var collection = [];
	var nodeList = childsOnly
		? this.childNodes
		: this.getElementsByTagName(tagName);
	for(var i = 0, ln = nodeList.length; i < ln; i++)
		if((nodeList[i].nodeType !== 3) && ('tagName' in nodeList[i])
			&& (nodeList[i].tagName.toLowerCase() === tagName) && (className ? hasClass(nodeList[i], className) : true))
			collection.push(nodeList[i]);
	return collection;
}


//เหเฮเรเรเลแ? เสเหเศเสเฮเย เอเภ แ?แ?แ?เหเสเภแ? เศ เฮแ?เฯแ?เภเยเฮเส แ?เฮแ?เฬแ?เหแ?แ?เฮเย
function poortalLogClicks(event, target)
{
	var id, url, script;

	if(target)
		id = target.name, url = target.action;
	else
	{
		event = event || window.event;
		if(!(event.which && (event.which == 1 || event.which == 2) || event.button && (event.button == 0 || event.button == 1)))
			return false;
		target = getParentByTagName(event.target || event.srcElement, 'a');
		if(!target || target.getAttribute('href').charAt(0) === '#')
			return;
		id = target.id, url = target.href;
	}
	if(!id)
	{
		var x = ('clientX' in event) ? (event.clientX - (_$('poortal_main_wrapper').offsetLeft || 0)) : 0,
			y = ('clientY' in event) ? (event.clientY + document.documentElement.scrollTop) : 0;
		id = 'pos' + x + 'x' + y;
	}
	if(script = _$('poortal_click_log_script'))
		script.parentNode.removeChild(script);
	document.body.appendChild(_$$('script', {
		id: 'poortal_click_log_script', type: 'text/javascript', charset: 'utf-8',
		src: window.base_url + 'js/empty.js?id=' + id + '&href=' + encodeURI(url) + '&r=' + (+new Date)
	}));
}

