niceOverlay = {
	show : function () {
		$('js-overlay_semi_black').set('morph', {duration:300});
		if ($('js-overlay_semi_black').hasClass('hidden')) {
			$('js-overlay_semi_black').set('styles', {
				'opacity' : '0'/*,
				'width' : $(document.body).getSize().x + 'px',
				'height' : $(document.body).getSize().y + 'px'*/
			});
			$('js-overlay_semi_black').removeClass('hidden');
			$('js-overlay_semi_black').morph({
				'opacity' : '0.8'
			});
		}
	},
	hide : function () {
		var hide = true;
		if ($('js-user_auth_form') && !$('js-user_auth_form').hasClass('pos_hidden')) {
			hide = false;
		}
		if ($('js-user_reg_form') && !$('js-user_reg_form').hasClass('pos_hidden')) {
			hide = false;
		}
		if ($('js-news_overlay_block') && !$('js-news_overlay_block').hasClass('pos_hidden')) {
			hide = false;
		}
		if (hide) {
			$('js-overlay_semi_black').addClass('hidden');
		}
	}
};
userHandler = {
	user_id : false,
	showAuthForm : function (button) {
		$('js-user_auth_form').removeClass('pos_hidden');
		var form_width = $('js-user_auth_form').getSize().x;
		var form_height = $('js-user_auth_form').getSize().y;
		var form_top = $(button).getCoordinates().top;
		var form_left = $(button).getCoordinates().left;
		
		$('js-user_auth_form').inject(document.body);
		$('js-user_auth_form').set('morph', {duration:200, onComplete : function () {
			$('js-user_auth_form').set('styles', {
				'height':'auto',
				'overflow':'visible'
			});
			$('js-user_auth_login_input').focus();
		}});
		$('js-user_auth_form').set('styles', {
			'width':button.getSize().x + 'px',
			'height':button.getSize().y + 'px',
			'top':form_top,
			'left':form_left
		});
		$('js-user_auth_form').morph({
			'width':form_width,
			'height':form_height
		});
		(function () {$(document.body).addEvent('click', userHandler.hideAuthForm);}).delay(333);
		niceOverlay.show();
	},
	hideAuthForm : function () {
		$('js-user_auth_form').addClass('pos_hidden');
		$('js-user_auth_form').set('style','');
		niceOverlay.hide();
		$(document.body).removeEvent('click', userHandler.hideAuthForm);
		userHandler.hideAmnesiaForm();
	},
	authFormValid : function () {
		if ($('js-user_auth_login_input').value.trim().length < 1) {
			ajaxHandler.highlightField($('js-user_auth_login_input'));
			futu_alert('Для входа нам необходима ваша почта');
			$('js-user_auth_login_input').focus();
			return false;
		}
		if ($('js-user_auth_password_input').value.trim().length < 1) {
			ajaxHandler.highlightField($('js-user_auth_password_input'));
			futu_alert('Не забудьте указать ваш пароль');
			$('js-user_auth_password_input').focus();
			return false;
		}
		return true;
	},
	authSecondFormValid : function () {
		if ($('js-user_auth_second_login_input').value.trim().length < 1) {
			ajaxHandler.highlightField($('js-user_auth_second_login_input'));
			futu_alert('Для входа нам необходима ваша почта');
			$('js-user_auth_second_login_input').focus();
			return false;
		}
		if ($('js-user_auth_second_password_input').value.trim().length < 1) {
			ajaxHandler.highlightField($('js-user_auth_second_password_input'));
			futu_alert('Не забудьте указать ваш пароль');
			$('js-user_auth_second_password_input').focus();
			return false;
		}
		return true;
	},
	showRegForm : function (button) {
		$('js-user_reg_form').removeClass('pos_hidden');
		var form_width = $('js-user_reg_form').getSize().x;
		var form_height = $('js-user_reg_form').getSize().y;
		var form_top = $(button).getCoordinates().top;
		var form_right = $('js-page_ruler').getSize().x - $(button).getCoordinates().left - button.getSize().x;
		
		$('js-user_reg_form').inject(document.body);
		$('js-user_reg_form').set('morph', {duration:200, onComplete : function () {
			$('js-user_reg_form').set('styles', {
				'height':'auto',
				'overflow':'visible'
			});
			$('js-user_reg_login_input').focus();
		}});
		$('js-user_reg_form').set('styles', {
			'width':button.getSize().x + 'px',
			'height':button.getSize().y + 'px',
			'top':form_top,
			'right':form_right
		});
		$('js-user_reg_form').morph({
			'width':form_width,
			'height':form_height
		});
		$('js-user_reg_form').getElement('.b-user_auth_captcha').innerHTML = 'введите буквы с картинки<br> <input type="text" id="js-user_reg_captcha_input">';
		var url = '/ajax/captcha/';
		var data = '';
		new futuAjax({
			button : $('js-user_reg_form'),
			color_to : '#fe59bc',
			color_from : '#FF0099',
			remove_element_color : false,
			url : url,
			data : data,
			onLoadFunction : function (response) {
				$('js-user_reg_form').getElement('.b-user_auth_captcha').innerHTML = '<img src="/captcha/{captcha_pic}.png"><br> что написано на картинке? <input type="text" id="js-user_reg_captcha_input"> <input type="hidden" id="js-user_reg_secret_input" value="{secret}">'.substitute({
					'captcha_pic' : response.secret,
					'secret' : response.secret
				});
			}
		});
		
		(function () {$(document.body).addEvent('click', userHandler.hideRegForm);}).delay(333);
		niceOverlay.show();
	},
	hideRegForm : function () {
		$('js-user_reg_form').addClass('pos_hidden');
		$('js-user_reg_form').set('style','');
		niceOverlay.hide();
		$(document.body).removeEvent('click', userHandler.hideRegForm);
	},
	beforeProfileLoad : function () {
		userHandler.preventDefaultValues();
		$('js-profile_edit_submit_button').addClass('js-loading');
		ajaxHandler.loadingHighlight({
			button : $('js-profile_edit_submit_button'),
			color1 : '#08CEFF',
			color2 : '#FF0099',
			'loadingCheck':function () {return $('js-profile_edit_submit_button').hasClass('js-loading')},
			transparent : true
		});
	},
	profileEditOnLoad : function () {
		$('js-profile_edit_submit_button').removeClass('js-loading');
		var doc = window.frames['js-profile_edit_info_iframe'].document;
		if (doc.getElementById('response')) {
			var response = doc.getElementById('response').value;
			response = ajaxHandler.checkResponse(response, true);
			
			if (response) {
				userHandler.restoreDefaultValues();
				var profile_links_iHTML = '';
				var attributesHash = new Hash(response.user_attributes);
				for (var i = 0; i < attributesHash.getLength(); i++) {
					var attribute = attributesHash.get(i);
					if (attribute.name == 'background-color') {
						userHandler.setBackgroundColor('#' + attribute.value);
					}
					if (attribute.name == 'user-pic') {
						if (attribute.value.length > 0) {
							$('js-profile_photo').setStyle('background-image','url(' + attribute.value + ')');
							$('js-profile_photo_edit_sample').setStyle('background-image','url(' + attribute.value + ')');
							$('js-profile_photo_delete_block').removeClass('hidden');
							$('js-profile_photo_edit_block').innerHTML = '<input type="file" name="user-pic">';
						} else {
							$('js-profile_photo').style.backgroundImage = '';
							$('js-profile_photo_edit_sample').style.backgroundImage = '';
							$('js-profile_photo_delete_block').addClass('hidden');
							$('js-profile_photo_edit_block').innerHTML = '<input type="file" name="user-pic">';
						}
					}
					if (attribute.name == 'about') {
						if (attribute.value.trim().length < 1) {
							$('js-profile_about').innerHTML = 'Многие <a href="#" class="k-profile_edit_link" onclick="userHandler.showEditProfileForm(); return false;">пишут здесь несколько предложений</a>, наполненных глубоким смыслом.';
						} else {
							$('js-profile_about').innerHTML = attribute.value;
						}
					}
					if (attribute.name == 'name') {
						if (attribute.value.trim().length < 1) {
							$('js-profile_username').innerHTML = 'Здесь отлично смотрелось бы ваше&nbsp;<a href="#" class="k-profile_edit_link" onclick="userHandler.showEditProfileForm(); return false;">имя</a>';
							$('js-user_authed_hello_text').innerHTML = 'Привет! Наша ЭВМ спрашивает, <a href="/my/">как&nbsp;вас&nbsp;зовут?</a>';
						} else {
							$('js-profile_username').innerHTML = attribute.value;
							$('js-user_authed_hello_text').innerHTML = 'Привет, <a href="/my/">' + attribute.value + '</a>';
						}
					}
					if (attribute.name == 'background-pic') {
						if (attribute.value.length > 0) {
							$('js-layout_content_holder').setStyle('background-image','url(' + attribute.value + ')');
							$('js-profile_background_image_delete_block').removeClass('hidden');
							$('js-profile_background_image_edit_block').innerHTML = '<label>Картинка на фон</label> <input type="file" name="background-pic">';
						} else {
							$('js-layout_content_holder').style.backgroundImage = '';
							$('js-profile_background_image_delete_block').addClass('hidden');
							$('js-profile_background_image_edit_block').innerHTML = '<label>Картинка на фон</label> <input type="file" name="background-pic">';
						}
					}
					if (attribute.name == 'skype') {
						profile_links_iHTML += '<li class="b-profile_link_item">\
								<a href="http://skype.com" class="b-profile_link_item_icon b-profile_link_item_icon_skype">&nbsp;</a>\
								<span class="b-profile_link_item_service_name">Skype:</span>\
								<a href="skype:{link_name}?add" class="b-profile_link_item_user">{link_name}</a>\
							</li>'.substitute({
							'link_name' : attribute.value
						});
					}
					if (attribute.name == 'twitter') {
						profile_links_iHTML += '<li class="b-profile_link_item">\
								<a href="http://twitter.com" class="b-profile_link_item_icon b-profile_link_item_icon_twitter">&nbsp;</a>\
								<span class="b-profile_link_item_service_name">Twitter:</span>\
								<a href="http://twitter.com/{link_name}" class="b-profile_link_item_user">{link_name}</a>\
							</li>'.substitute({
							'link_name' : attribute.value
						});
					}
					if (attribute.name == 'youtube') {
						profile_links_iHTML += '<li class="b-profile_link_item">\
								<a href="http://youtube.com" class="b-profile_link_item_icon b-profile_link_item_icon_youtube">&nbsp;</a>\
								<span class="b-profile_link_item_service_name">Youtube:</span>\
								<a href="http://www.youtube.com/user/{link_name}" class="b-profile_link_item_user">{link_name}</a>\
							</li>'.substitute({
							'link_name' : attribute.value
						});
					}
					if (attribute.name == 'facebook') {
						profile_links_iHTML += '<li class="b-profile_link_item">\
								<a href="http://facebook.com" class="b-profile_link_item_icon b-profile_link_item_icon_facebook">&nbsp;</a>\
								<span class="b-profile_link_item_service_name">Facebook:</span>\
								<a href="http://www.facebook.com/{link_name}" class="b-profile_link_item_user">{link_name}</a>\
							</li>'.substitute({
							'link_name' : attribute.value
						});
					}
					if (attribute.name == 'flickr') {
						profile_links_iHTML += '<li class="b-profile_link_item">\
								<a href="http://flickr.com" class="b-profile_link_item_icon b-profile_link_item_icon_flickr">&nbsp;</a>\
								<span class="b-profile_link_item_service_name">Flickr:</span>\
								<a href="http://www.flickr.com/photos/{link_name}" class="b-profile_link_item_user">{link_name}</a>\
							</li>'.substitute({
							'link_name' : attribute.value
						});
					}
					if (attribute.name == 'vkontakte') {
						profile_links_iHTML += '<li class="b-profile_link_item">\
								<a href="http://vkontakte.ru" class="b-profile_link_item_icon b-profile_link_item_icon_vkontakte">&nbsp;</a>\
								<span class="b-profile_link_item_service_name">vkontakte:</span>\
								<a href="http://www.vkontakte.ru/{link_name}" class="b-profile_link_item_user">{link_name}</a>\
							</li>'.substitute({
							'link_name' : attribute.value
						});
					}
				}
				$('js-profile_links_holder').innerHTML = profile_links_iHTML;
				if ($('js-profile_edit_delete_user_pic').checked) {
					$('js-profile_photo').style.backgroundImage = '';
					$('js-profile_photo_edit_sample').style.backgroundImage = '';
					$('js-profile_photo_delete_block').addClass('hidden');
					$('js-profile_photo_edit_block').innerHTML = '<input type="file" name="user-pic">';
				}
				if ($('js-delete_background_pic_checkbox').checked) {
					$('js-layout_content_holder').style.backgroundImage = '';
					$('js-profile_background_image_delete_block').addClass('hidden');
					$('js-profile_background_image_edit_block').innerHTML = '<label>Картинка на фон</label> <input type="file" name="background-pic">';
				}
				userHandler.cancelEditForm();
			}
			
		}
	},
	setBackgroundColor : function (color) {
		$('js-profile_edit_background_color_input').value = color.substr(1);
		/*
		var colors_holder = $(button).getParent('.b-profile_edit_background_colors');
		if (colors_holder.getElement('.active')) {
			colors_holder.getElement('.active').removeClass('active');
		}
		$(button).getParent('li').addClass('active');
		*/
		$('js-layout_content_holder').set('morph', {'link' : 'cancel'});
		$('js-layout_content_holder').morph({'background-color' : color});
	},
	showEditProfileForm : function () {
		$('js-profile_info_block').addClass('hidden');
		$('js-profile_edit_form_block').removeClass('hidden');
		if (!userHandler.moo_rainbow) {
			userHandler.moo_rainbow = new MooRainbow('js-profile_edit_background_color_input', {
				'startColor': '#' + $('js-profile_edit_background_color_input').value,
				'onChange' : function () {
					var color = $('js-profile_edit_background_color').getElement('.moor-hexInput').value;
					userHandler.setBackgroundColor(color);
				}
			});
			userHandler.moo_rainbow.toggle();
		}
	},
	cancelEditForm : function () {
		$('js-profile_info_block').removeClass('hidden');
		$('js-profile_edit_form_block').addClass('hidden');
	},
	showChangePassForm : function () {
		$('js-profile_change_pass_block').removeClass('hidden');
	},
	cancelChangePassForm : function () {
		$('js-profile_change_pass_block').addClass('hidden');
	},
	validateChangePass : function () {
		if ($('js-profile_current_password_input').value.trim().length < 1) {
			futu_alert('Укажите старый пароль');
			ajaxHandler.highlightField($('js-profile_current_password_input'));
			return false;
		}
		if ($('js-profile_new_password_input').value.trim().length < 1) {
			futu_alert('Укажите новый пароль');
			ajaxHandler.highlightField($('js-profile_new_password_input'));
			return false;
		}
		return true;
	},
	changePass : function (button) {
		if (userHandler.validateChangePass()) {
			var url = '/ajax/my/password/';
			var data = 'current=' + encodeURIComponent($('js-profile_current_password_input').value) + '&new=' + encodeURIComponent($('js-profile_new_password_input').value);
			new futuAjax({
				button : $(button),
				color_to : '#5CBB00',
				color_from : '#000000',
				url : url,
				data : data,
				onLoadFunction : function (response) {
					futu_alert('Вы поменяли пароль!');
					userHandler.cancelChangePassForm();
				}
			});
		}
	},
	preventDefaultValues : function () {
		if ($('js-profile_edit_user_name').value == 'Ваше имя') {
			$('js-profile_edit_user_name').value = '';
		}
		if ($('js-profile_edit_user_about').value == 'Расскажите о себе') {
			$('js-profile_edit_user_about').value = '';
		}
	},
	restoreDefaultValues : function () {
		if ($('js-profile_edit_user_name').value == '') {
			$('js-profile_edit_user_name').value = 'Ваше имя';
			$('js-profile_username').innerHTML = 'Здесь отлично смотрелось бы ваше&nbsp;<a href="#" class="k-profile_edit_link" onclick="userHandler.showEditProfileForm(); return false;">имя</a>';
			$('js-user_authed_hello_text').innerHTML = 'Привет! Наша ЭВМ спрашивает, <a href="/my/">как&nbsp;вас&nbsp;зовут?</a>';
		}
		if ($('js-profile_edit_user_about').value == '') {
			$('js-profile_edit_user_about').value = 'Расскажите о себе';
			$('js-profile_about').innerHTML = 'Многие <a href="#" class="k-profile_edit_link" onclick="userHandler.showEditProfileForm(); return false;">пишут здесь несколько предложений</a>, наполненных глубоким смыслом.';
		}
	},
	user_unique_check_interval : false,
	checkNickName : function (e) {
		e = new Event(e);
		if (e.key != 'esc' && e.key != 'left' && e.key != 'right' && e.code != 33 && e.code != 34 && e.code != 35 && e.code != 36 && e.code != 45 && e.code != 16 && e.code != 17 && e.code != 18 && e.code != 20 && e.code != 144 && e.code != 9) {
			$clear(userHandler.user_unique_check_interval);
			userHandler.user_unique_check_interval = userHandler.userUniqueCheck.delay(500);
		}
	},
	userUniqueCheck : function () {
		var input = $('js-profile_edit_user_name');
		var url = '/ajax/my/nickname/';
		var data = 'check=' + encodeURIComponent(input.value);
		new futuAjax({
			button : $(input),
			color_to : '#5CBB00',
			color_from : '#333333',
			url : url,
			data : data,
			onLoadFunction : function (response) {
				if (response.in_use == '1') {
					input.addClass('i-profile_edit_user_name_used');
					$('js-profile_edit_user_name_error_block').removeClass('hidden');
				} else {
					input.removeClass('i-profile_edit_user_name_used');
					$('js-profile_edit_user_name_error_block').addClass('hidden');
				}
			}
		});
	},
	checkAddContact : function () {
		if ($('js-profile_links_edit_name_input').value.trim().length < 1) {
			futu_alert('Укажите ваше имя в выбранной системе');
			ajaxHandler.highlightField($('js-profile_links_edit_name_input'), '#333333');
			return false;
		}
		return true;
	},
	addContact : function () {
		if (userHandler.checkAddContact()) {
			var iHTML = '<table><tr>\
				<td class="b-profile_links_item_edit_system">{display_contact_system}</td>\
				<td class="b-profile_links_item_edit_name">{contact_name}<input type="hidden" class="i-profile_links_edit_system_hidden" name="{contact_system}" value="{contact_name}"></td>\
				<td class="b-profile_links_item_edit_delete"><a href="#" onclick="userHandler.deleteContact(this); return false;">[x]</a></td>\
				</tr></table>'.substitute({
				'display_contact_system' : $('js-profile_links_edit_system_input').options[$('js-profile_links_edit_system_input').selectedIndex].innerHTML,
				'contact_system' : $('js-profile_links_edit_system_input').value,
				'contact_name' : $('js-profile_links_edit_name_input').value
			});
			$('js-profile_links_edit_temp_table_holder').innerHTML = iHTML;
			$('js-profile_links_edit_temp_table_holder').getElement('tr').inject($('js-profile_links_edit_tbody'));
			
			$('js-profile_links_edit_system_input').selectedIndex = 0;
			$('js-profile_links_edit_name_input').value = '';
		}
	},
	deleteContact : function (button) {
		$(button).getParent('tr').destroy();
	},
	checkRegisterUser : function () {
		var user_mail = $('js-user_reg_login_input').value;
		if (user_mail.trim().length < 1) {
			futu_alert('Для регистрации нам необходим ваш e-mail адрес');
			ajaxHandler.highlightField($('js-user_reg_login_input'));
			return false;
		} else {
			var regexp_email = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
			if (!regexp_email.test(user_mail)) {
				futu_alert('В вашем e-mail адресе есть какая-то ошибка');
				ajaxHandler.highlightField($('js-user_reg_login_input'));
				return false;
			}
		}
		if (!$('js-user_reg_captcha_input') || $('js-user_reg_captcha_input').value.trim().length < 1) {
			futu_alert('Для регистрации необходимо ввести секретный код с картинки');
			if ($('js-user_reg_captcha_input')) {
				ajaxHandler.highlightField($('js-user_reg_captcha_input'));
			} 
			return false;
		}
		return true;
	},
	sendRegisterUser : function () {
		var input = $('js-user_reg_login_input');
		var url = '/ajax/register/';
		var data = 'email=' + encodeURIComponent(input.value) + '&captcha=' + encodeURIComponent($('js-user_reg_captcha_input').value) + '&secret=' + encodeURIComponent($('js-user_reg_secret_input').value);
		new futuAjax({
			button : $(input),
			color_to : '#BCBD00',
			color_from : '#FFFFFF',
			url : url,
			data : data,
			onLoadFunction : function (response) {
				futu_alert('ЭВМ отправила вам на почту ' + response.user.email + ' пароль и активационную ссылку.', true);
				userHandler.hideRegForm();
			},
			onCustomErrorFunction : function (response) {
				if (response.secret) {
					$('js-user_reg_form').getElement('.b-user_auth_captcha').innerHTML = '<img src="/captcha/{captcha_pic}.png"><br>что написано на картинке? <input type="text" id="js-user_reg_captcha_input"> <input type="hidden" id="js-user_reg_secret_input" value="{secret}">'.substitute({
						'captcha_pic' : response.secret,
						'secret' : response.secret
					});
				}
			}
		});
	},
	showAmnesiaForm : function () {
		$('js-user_auth_form_form').addClass('hidden');
		$('js-user_auth_amnesia_form').removeClass('hidden');
		$('js-user_amnesia_email_input').focus();
	},
	hideAmnesiaForm : function () {
		$('js-user_auth_form_form').removeClass('hidden');
		$('js-user_auth_amnesia_form').addClass('hidden');
	},
	validateAmnesia : function () {
		var user_mail = $('js-user_amnesia_email_input').value;
		var regexp_email = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		if (!regexp_email.test(user_mail)) {
			futu_alert('В вашем e-mail адресе есть какая-то ошибка');
			ajaxHandler.highlightField($('js-user_amnesia_email_input'));
			return false;
		}
		return true;
	},
	sendAmnesia : function () {
		if (userHandler.validateAmnesia()) {
			var url = '/ajax/amnesia/';
			var data = 'email=' + encodeURIComponent($('js-user_amnesia_email_input').value);
			new futuAjax({
				button : $('js-user_amnesia_submit'),
				color_to : '#BCBD00',
				color_from : '#000000',
				url : url,
				data : data,
				onLoadFunction : function (response) {
					futu_alert('ЭВМ отправила вам на почту дальнейшие указания.', true);
					userHandler.hideAmnesiaForm();
				}
			});
		}
	},
	setMale : function () {
		$('js-profile_edit_birthdate_male').removeClass('hidden');
		$('js-profile_edit_birthdate_female').addClass('hidden');
	},
	setFemale : function () {
		$('js-profile_edit_birthdate_female').removeClass('hidden');
		$('js-profile_edit_birthdate_male').addClass('hidden');
	}
};

liveMenuHandler = {
	init : function () {
		$A($('js-live_menu_block').getElements('a')).each(function (link) {
			var black_overlay = link.getElement('.b-programme_overlay_black');
			var programme_name = link.getElement('.b-programme_name');
			var programme_time = link.getElement('.b-programme_time');
			black_overlay.set('morph', {duration:200});
			if (!link.getParent('li').hasClass('b-live_menu_active')) {
				black_overlay.setStyle('opacity', '0.8');
			}
			programme_name.set('morph', {duration:200});
			programme_time.set('morph', {duration:200});
			link.addEvent('mouseover', function () {
				black_overlay.morph({'opacity' : 0});
				programme_name.morph({'top' : 150});
				programme_time.morph({'color' : '#FFF'});
			});
			link.addEvent('mouseout', function () {
				black_overlay.morph({'opacity' : 0.8});
				programme_name.morph({'top' : 54});
				programme_time.morph({'color' : '#000'});
			});
			if ($('js-live_menu_block').hasClass('b-live_menu_closed')) {
				link.addEvent('click', function (event) {
					var event = new Event(event);
					event.preventDefault();
				});
			}
		});
	},
	open : function (block) {
		if ($(block).hasClass('b-live_menu_closed')) {
			$(block).set('styles', {'height':'70px'});
			$(block).removeClass('b-live_menu_closed');
			$(block).morph({'height':'129px'});
			$A($('js-live_menu_block').getElements('a')).each(function (link) {
				link.removeEvents('click');
			});
		}
	}
};

newsHandler = {
	nextSkipNum : false,
	tag_name : false,
	loadNews : function (button) {
		var url = '/ajax/docs/news/';
		var data = '';
		if (newsHandler.nextSkipNum) {
			data = 'skip=' + newsHandler.nextSkipNum;
		}
		if (newsHandler.tag_name) {
			data += '&tag_name=' + encodeURIComponent(newsHandler.tag_name);
		}
		new futuAjax({
			button : $(button),
			color_to : '#353535',
			color_from : '#FFFC00',
			url : url,
			data : data,
			onLoadFunction : function (response) {
				newsHandler.nextSkipNum = response.next_skip;
				var docsetsHash = new Hash(response.docsets);
				if (docsetsHash.getLength() > 0) {
					for (var i = 0; i < docsetsHash.getLength(); i++) {
						var docset = docsetsHash.get(i);
						if (docset.docs) {
							var iHTML = '';
							var docsHash = new Hash(docset.docs);
							var docsetElement = new Element('div', {'class' : 'js-news_docset_hidden'});
							if (docset.type == '21') {
								var doc_21_1 = docsHash.get(0);
								var doc_21_2 = docsHash.get(1);
								docsetElement.addClass('h-news_2_1');
								iHTML += '<div class="h-news_2">';
								if (doc_21_1) {
									iHTML += '<div style="position:relative;filter:alpha(opacity=0);-moz-opacity:0; -khtml-opacity:0;opacity:0;" id="js-piece_of_news_{doc_21_1_id}" class="b-news b-news_color_{doc_21_1_caption_color} b-news_size_{doc_21_1_caption_size} js-news_block_hidden">'.substitute({
										doc_21_1_id : doc_21_1.id,
										doc_21_1_caption_color : doc_21_1.caption_color,
										doc_21_1_caption_size : doc_21_1.size
									});
									iHTML += newsHandler.getNewsHTML(doc_21_1, '21', '1');
									iHTML += '</div>';
								}
								iHTML += '</div>';
								iHTML += '<div class="h-news_1">';
								if (doc_21_2) {
									iHTML += '<div style="position:relative;filter:alpha(opacity=0);-moz-opacity:0; -khtml-opacity:0;opacity:0;" id="js-piece_of_news_{doc_21_2_id}" class="b-news b-news_color_{doc_21_2_caption_color} b-news_size_{doc_21_2_caption_size} js-news_block_hidden">'.substitute({
										doc_21_2_id : doc_21_2.id,
										doc_21_2_caption_color : doc_21_2.caption_color,
										doc_21_2_caption_size : doc_21_2.size
									});
									iHTML += newsHandler.getNewsHTML(doc_21_2, '21', '2');
									iHTML += '</div>';
								}
								iHTML += '</div>\
									<div class="clear"></div>';
							} else if (docset.type == '12') {
								var doc_12_1 = docsHash.get(0);
								var doc_12_2 = docsHash.get(1);
								docsetElement.addClass('h-news_1_2');
								iHTML += '<div class="h-news_1">';
								if (doc_12_1) {
									iHTML += '<div style="position:relative;filter:alpha(opacity=0);-moz-opacity:0; -khtml-opacity:0;opacity:0;" id="js-piece_of_news_{doc_12_1_id}" class="b-news b-news_color_{doc_12_1_caption_color} b-news_size_{doc_12_1_caption_size} js-news_block_hidden">'.substitute({
										doc_12_1_id : doc_12_1.id,
										doc_12_1_caption_color : doc_12_1.caption_color,
										doc_12_1_caption_size : doc_12_1.size
									});
									iHTML += newsHandler.getNewsHTML(doc_12_1, '12', '1');
									iHTML += '</div>';
								}
								iHTML += '</div>';
								iHTML += '<div class="h-news_2">';
								if (doc_12_2) {
									iHTML += '<div style="position:relative;filter:alpha(opacity=0);-moz-opacity:0; -khtml-opacity:0;opacity:0;" id="js-piece_of_news_{doc_12_2_id}" class="b-news b-news_p_t b-news_color_{doc_12_2_caption_color} b-news_size_{doc_12_2_caption_size} js-news_block_hidden">'.substitute({
										doc_12_2_id : doc_12_2.id,
										doc_12_2_caption_color : doc_12_2.caption_color,
										doc_12_2_caption_size : doc_12_2.size
									});
									iHTML += newsHandler.getNewsHTML(doc_12_2, '12', '2');
									iHTML += '</div>';
								}
								iHTML += '</div>\
									<div class="clear"></div>';
							} else if (docset.type == '11') {
								var doc_11_1 = docsHash.get(0);
								var doc_11_2 = docsHash.get(1);
								docsetElement.addClass('h-news_1_2');
								iHTML += '<div class="h-news_1">';
								if (doc_12_1) {
									iHTML += '<div style="position:relative;filter:alpha(opacity=0);-moz-opacity:0; -khtml-opacity:0;opacity:0;" id="js-piece_of_news_{doc_11_1_id}" class="b-news b-news_color_{doc_11_1_caption_color} b-news_size_{doc_11_1_caption_size} js-news_block_hidden">'.substitute({
										doc_11_1_id : doc_11_1.id,
										doc_11_1_caption_color : doc_11_1.caption_color,
										doc_11_1_caption_size : doc_11_1.size
									});
									iHTML += newsHandler.getNewsHTML(doc_11_1, '11', '1');
									iHTML += '</div>';
								}
								iHTML += '</div>';
								iHTML += '<div class="h-news_2">';
								if (doc_11_2) {
									iHTML += '<div style="position:relative;filter:alpha(opacity=0);-moz-opacity:0; -khtml-opacity:0;opacity:0;" id="js-piece_of_news_{doc_11_2_id}" class="b-news b-news_p_t b-news_color_{doc_11_2_caption_color} b-news_size_{doc_11_2_caption_size} js-news_block_hidden">'.substitute({
										doc_11_2_id : doc_11_2.id,
										doc_11_2_caption_color : doc_11_2.caption_color,
										doc_11_2_caption_size : doc_11_2.size
									});
									iHTML += newsHandler.getNewsHTML(doc_11_2, '11', '2');
									iHTML += '</div>';
								}
								iHTML += '</div>\
									<div class="clear"></div>';
							} else if (docset.type == '111') {
								var doc_111_1 = docsHash.get(0);
								var doc_111_2 = docsHash.get(1);
								var doc_111_3 = docsHash.get(2);
								docsetElement.addClass('h-news_1_2');
								iHTML += '<div class="h-news_1">';
								if (doc_111_1) {
									iHTML += '<div style="position:relative;filter:alpha(opacity=0);-moz-opacity:0; -khtml-opacity:0;opacity:0;" id="js-piece_of_news_{doc_111_1_id}" class="b-news b-news_color_{doc_111_1_caption_color} b-news_size_{doc_111_1_caption_size} js-news_block_hidden">'.substitute({
										doc_111_1_id : doc_111_1.id,
										doc_111_1_caption_color : doc_111_1.caption_color,
										doc_111_1_caption_size : doc_111_1.size
									});
									iHTML += newsHandler.getNewsHTML(doc_111_1, '111', '1');
									iHTML += '</div>';
								}
								iHTML += '</div>';
								iHTML += '<div class="h-news_1">';
								if (doc_111_2) {
									iHTML += '<div style="position:relative;filter:alpha(opacity=0);-moz-opacity:0; -khtml-opacity:0;opacity:0;" id="js-piece_of_news_{doc_111_2_id}" class="b-news b-news_p_t b-news_color_{doc_111_2_caption_color} b-news_size_{doc_111_2_caption_size} js-news_block_hidden">'.substitute({
										doc_111_2_id : doc_111_2.id,
										doc_111_2_caption_color : doc_111_2.caption_color,
										doc_111_2_caption_size : doc_111_2.size
									});
									iHTML += newsHandler.getNewsHTML(doc_111_2, '111', '2');
									iHTML += '</div>';
								}
								iHTML += '</div>';
								iHTML += '<div class="h-news_1">';
								if (doc_111_3) {
									iHTML += '<div style="position:relative;filter:alpha(opacity=0);-moz-opacity:0; -khtml-opacity:0;opacity:0;" id="js-piece_of_news_{doc_111_3_id}" class="b-news b-news_p_t b-news_color_{doc_111_3_caption_color} b-news_size_{doc_111_3_caption_size} js-news_block_hidden">'.substitute({
										doc_111_3_id : doc_111_3.id,
										doc_111_3_caption_color : doc_111_3.caption_color,
										doc_111_3_caption_size : doc_111_3.size
									});
									iHTML += newsHandler.getNewsHTML(doc_111_3, '111', '3');
									iHTML += '</div>';
								}
								iHTML += '</div>\
									<div class="clear"></div>';
							} else if (docset.type == '2111') {
								var doc_2111_1 = docsHash.get(0);
								var doc_2111_2 = docsHash.get(1);
								var doc_2111_3 = docsHash.get(2);
								var doc_2111_4 = docsHash.get(3);
								docsetElement.addClass('h-news_2_1');
								iHTML += '	<div class="h-news_2">';
								if (doc_2111_1) {
									iHTML += '	<div style="position:relative;filter:alpha(opacity=0);-moz-opacity:0; -khtml-opacity:0;opacity:0;" id="js-piece_of_news_{doc_2111_1_id}" class="b-news b-news_color_{doc_2111_1_caption_color} b-news_size_{doc_2111_1_caption_size} js-news_block_hidden">'.substitute({
										doc_2111_1_id : doc_2111_1.id,
										doc_2111_1_caption_color : doc_2111_1.caption_color,
										doc_2111_1_caption_size : doc_2111_1.size
									});
									iHTML += newsHandler.getNewsHTML(doc_2111_1, '2111', '1');
									iHTML += '			<div class="clear"></div>\
													</div>';
								}		
								iHTML += '		<div class="h-news_1_1">\
													<div class="h-news_1">';
								if (doc_2111_2) {
									iHTML += '				<div style="position:relative;filter:alpha(opacity=0);-moz-opacity:0; -khtml-opacity:0;opacity:0;" id="js-piece_of_news_{doc_2111_2_id}" class="b-news b-news_color_{doc_2111_2_caption_color} b-news_size_{doc_2111_2_caption_size} js-news_block_hidden">'.substitute({
										doc_2111_2_id : doc_2111_2.id,
										doc_2111_2_caption_color : doc_2111_2.caption_color,
										doc_2111_2_caption_size : doc_2111_2.size
									});
									iHTML += newsHandler.getNewsHTML(doc_2111_2, '2111', '2');
									iHTML +='				</div>';
								}
								iHTML += '			</div>\
													<div class="h-news_1">';
								if (doc_2111_3) {
									iHTML += '				<div style="position:relative;filter:alpha(opacity=0);-moz-opacity:0; -khtml-opacity:0;opacity:0;" id="js-piece_of_news_{doc_2111_3_id}" class="b-news b-news_color_{doc_2111_3_caption_color} b-news_size_{doc_2111_3_caption_size} js-news_block_hidden">'.substitute({
										doc_2111_3_id : doc_2111_3.id,
										doc_2111_3_caption_color : doc_2111_3.caption_color,
										doc_2111_3_caption_size : doc_2111_3.size
									});
									iHTML += newsHandler.getNewsHTML(doc_2111_3, '2111', '3');
									iHTML +='				</div>';
								}
								iHTML +='			</div>\
												</div>\
											</div>\
											<div class="h-news_1">';
								if (doc_2111_4) {
									iHTML += '		<div style="position:relative;filter:alpha(opacity=0);-moz-opacity:0; -khtml-opacity:0;opacity:0;" id="js-piece_of_news_{doc_2111_4_id}" class="b-news b-news_color_{doc_2111_4_caption_color} b-news_size_{doc_2111_4_caption_size} js-news_block_hidden">'.substitute({
										doc_2111_4_id : doc_2111_4.id,
										doc_2111_4_caption_color : doc_2111_4.caption_color,
										doc_2111_4_caption_size : doc_2111_4.size
									});
									iHTML += newsHandler.getNewsHTML(doc_2111_4, '2111', '4');
									iHTML +='		</div>';
								}
								iHTML += '	</div>\
											<div class="clear"></div>';
								
							} else if (docset.type == '1') {
								var doc_1_1 = docsHash.get(0);
								docsetElement.addClass('h-news_3');
								if (doc_1_1) {
									iHTML += '<div style="position:relative;filter:alpha(opacity=0);-moz-opacity:0; -khtml-opacity:0;opacity:0;" id="js-piece_of_news_{doc_1_1_id}" class="b-news b-news_color_{doc_1_1_caption_color} b-news_size_{doc_1_1_caption_size} js-news_block_hidden">'.substitute({
										doc_1_1_id : doc_1_1.id,
										doc_1_1_caption_color : doc_1_1.caption_color,
										doc_1_1_caption_size : doc_1_1.size
									});
									iHTML += newsHandler.getNewsHTML(doc_1_1, '1', '1');
									iHTML += '</div>';
								}
							} else if (docset.type == '2') {
								var doc_2_1 = docsHash.get(0);
								docsetElement.addClass('h-news_3');
								if (doc_2_1) {
									iHTML += '<div style="position:relative;filter:alpha(opacity=0);-moz-opacity:0; -khtml-opacity:0;opacity:0;" id="js-piece_of_news_{doc_2_1_id}" class="b-news b-news_color_{doc_2_1_caption_color} b-news_size_{doc_2_1_caption_size} js-news_block_hidden">'.substitute({
										doc_2_1_id : doc_2_1.id,
										doc_2_1_caption_color : doc_2_1.caption_color,
										doc_2_1_caption_size : doc_2_1.size
									});
									iHTML += newsHandler.getNewsHTML(doc_2_1, '2', '1');
									iHTML += '</div>';
								}
							} else if (docset.type == '3') {
								var doc_3_1 = docsHash.get(0);
								docsetElement.addClass('h-news_3');
								if (doc_3_1) {
									iHTML += '<div style="position:relative;filter:alpha(opacity=0);-moz-opacity:0; -khtml-opacity:0;opacity:0;" id="js-piece_of_news_{doc_3_1_id}" class="b-news b-news_color_{doc_3_1_caption_color} b-news_size_{doc_3_1_caption_size} js-news_block_hidden">'.substitute({
										doc_3_1_id : doc_3_1.id,
										doc_3_1_caption_color : doc_3_1.caption_color,
										doc_3_1_caption_size : doc_3_1.size
									});
									iHTML += newsHandler.getNewsHTML(doc_3_1, '3', '1');
									iHTML += '</div>';
								}
							}
							docsetElement.innerHTML = iHTML;
							docsetElement.inject($('js-news_holder'));
						}
					}
					newsHandler.startPieceNewsAnimation();
					newsHandler.startPieceNewsAnimation.delay(333);
					newsHandler.startPieceNewsAnimation.delay(666);
				} else {
					futu_alert('Больше новостей нет');
					$('js-index_more_news_button_holder').addClass('hidden');
				}
			}
		});
	},
	getNewsHTML : function (news_piece, block_type, news_num) {
		var image_size = 'location_500';
		if (block_type == '12' || block_type == '11' || block_type == '111') {
			image_size = 'location_180';
		}
		if (block_type == '21' && news_num == '2') {
			image_size = 'location_180';
		}
		if (block_type == '2111' && news_num != '1') {
			image_size = 'location_180';
		}
		var iHTML = '';
		if (news_piece.type == 'article') {
			iHTML += '<div class="h-news_user_menu"><div class="b-news_user_menu">\
						<a href="/news/{news_id}" class="k-favourite" onclick="{vote_onclick} return false;"><span class="b-favourite_icon"></span> <span class="b-favourite_result">{news_rating}</span></a>\
			</div></div>'.substitute({
				'vote_onclick' : (userHandler.user_id) ? 'voteHandler.vote(this, \'' + news_piece.id + '\');' : 'userHandler.showAuthForm(this);',
				'news_rating' : (news_piece.overal_rating > 0) ? '+' + news_piece.overal_rating : '',
				'news_id' : news_piece.id
			});
			
			var news_photo_type = 'h-text_only';
			if (news_piece.image_cover) {
				news_photo_type = 'h-photo_text';
				if (block_type == '2111') {
					news_photo_type = 'h-photo_text h-photo_clear_text';
				}
				if (block_type == '21' || block_type == '11' || block_type == '111') {
					news_photo_type = 'h-photo_text h-photo_clear_text';
				}
				if (block_type == '12' && news_num == '1') {
					news_photo_type = 'h-photo_text h-photo_clear_text';
				}
			}
			iHTML += '<div class="' + news_photo_type + ' hentry">';
			if (news_piece.image_cover) {
				iHTML += '<div class="h-photo">\
							<a href="/news/{news_id}" class="b-photo"><img src="{news_image_cover_location}" alt="{news_caption}"></a>\
						  </div>'.substitute({
					news_image_cover_location : news_piece.image_cover[image_size],
					news_id : news_piece.id
				});
			}

			iHTML += '    <div class="h-news_text">\
							<div class="b-news_long_header">\
							<h2><a href="/news/{news_id}" rel="bookmark" class="b-news_header entry-title">{news_caption}</a></h2>\
							<p class="b-news_smaller_header"><span class="updated" title="{news_created}">{news_display_created}</span></p>\
							</div>\
							{news_brief}\
						  </div>';
			iHTML += '</div>';
			
			/*iHTML += '<div class="hidden">';
			iHTML += '<input type="hidden" class="js-news_caption_hidden" value="{escaped_caption}">\
					  <input type="hidden" class="js-news_body_hidden" value="{escaped_body}">'.substitute({
				'escaped_caption' : escape(news_piece.caption),
				'escaped_body' : escape(news_piece.body)
			});
			if (news_piece.image) {
				iHTML += '<div class="b-news_images_hidden">';
				var news_piece_imageHash = new Hash(news_piece.image);
				for (var i = 0; i < news_piece_imageHash.getLength(); i++) {
					var news_piece_image = news_piece_imageHash.get(i);
					iHTML += '<input type="hidden" class="js-news_images_id_hidden" value="{news_image_id}">\
						<input type="hidden" class="js-news_images_location_hidden" value="{news_image_location}">'.substitute({
						news_image_id : news_piece_image.id,
						news_image_location : news_piece_image.location_500
					});
				}
				iHTML += '</div>';
			}
			if (news_piece.tags) {
				iHTML += '<div class="b-news_tags_hidden">';
				var news_piece_tagsHash = new Hash(news_piece.tags);
				for (var i = 0; i < news_piece_tagsHash.getLength(); i++) {
					var news_piece_tag = news_piece_tagsHash.get(i);
					iHTML += '<input type="hidden" class="js-news_tags_id_hidden" value="{news_tag_id}">\
						<input type="hidden" class="js-news_tags_name_hidden" value="{news_tag_name}">'.substitute({
						news_image_id : news_piece_tag.id,
						news_tag_name : news_piece_tag.name
					});
				}
				iHTML += '</div>';
			}
			iHTML += '</div>';*/
		} else if (news_piece.type == 'poll') {
			iHTML += '<div class="b-voting">\
				<h2><span class="b-voting_header">{news_body}</span></h2>\
				{news_poll_caption}';
			if (news_piece.poll_options) {
				iHTML += '<ul class="b-voting_items">'
				var news_piece_poll_optionsHash = new Hash(news_piece.poll_options);
				for (var i = 0; i < news_piece_poll_optionsHash.getLength(); i++) {
					var poll_option = news_piece_poll_optionsHash.get(i);
					iHTML += '<li id="js-poll_option_{news_poll_option_id}"><a href="#" class="b-poll_option" onclick="{news_poll_option_onclick} return false;">\
								<span class="b-poll_voted_num"><span class="b-poll_voted_num_inner">{news_poll_voted}</span></span>\
								<span class="b-poll_option_icon"></span>\
								<span class="b-poll_option_value">{news_poll_option}</em></a></li>'.substitute({
						'news_poll_option' : poll_option.name,
						'news_poll_option_id' : poll_option.id,
						'news_poll_option_onclick' : (userHandler.user_id) ? 'pollHandler.checkOption(this, \'' + poll_option.id + '\');': 'userHandler.showAuthForm(this);',
						'news_poll_voted' : poll_option.voted
					});
				}
				iHTML += '</ul>'
				iHTML += '<div class="b-voting_menu">\
					<a href="#" class="k-poll_get_results" onclick="{poll_results_onclick} return false;"><span>Результаты</span></a>\
				</div>'.substitute({
					'poll_results_onclick' : (userHandler.user_id) ? 'pollHandler.showResults(this, \'' + news_piece.id + '\');' : 'userHandler.showAuthForm(this);'
				});
			}
			iHTML += '</div>'	
		};
		iHTML = iHTML.substitute({
			news_caption : news_piece.caption,
			news_poll_caption : (news_piece.caption == '') ? '' : '<p class="b-news_smaller_header entry-summary"><span>' + news_piece.caption + '</span></p>',
			news_display_created : (news_piece.display_created == '') ? '' : news_piece.display_created,
			news_created : (news_piece.created == '') ? '' : news_piece.created,
			news_id : news_piece.id,
			news_body : news_piece.body,
			news_brief : (news_piece.brief == '') ? '' : '<div class="b-text"><p><span class="b-news_text entry-summary">' + news_piece.brief + '</span></p></div>'
		});
		
		return iHTML;
	},
	startPieceNewsAnimation : function () {
		if ($('js-news_holder').getElement('.js-news_block_hidden')) {
			var piece_news_element = $('js-news_holder').getElement('.js-news_block_hidden');
			var element_height = piece_news_element.getSize().y;
			piece_news_element.set('styles', {'opacity':'0'});
			piece_news_element.removeClass('js-news_block_hidden');
			piece_news_element.set('morph', {duration:888, onComplete : function () {
				if ($('js-news_holder').getElement('.js-news_block_hidden')) {
					newsHandler.startPieceNewsAnimation();
				}
			}});
			if (Browser.Engine.trident && Browser.Engine.version == 6) {
				piece_news_element.set({'left':'0', 'top':'0', 'opacity' : '1'});
				newsHandler.startPieceNewsAnimation();
			} else {
				piece_news_element.morph({'left':'0', 'top':'0', 'opacity' : '1'});
			}
		}
	},
	openOverlayArticle : function (article_id) {
		var news_block = $('js-piece_of_news_' + article_id);
		
		var news_no_photo_class = (news_block.getElement('.js-news_images_location_hidden')) ? '' : ' b-news_overlay_no_photo';
		var iHTML = '<div class="b-news_overlay' + news_no_photo_class + '">';
		
		iHTML += '<a href="#" class="k-news_overlay_close" onclick="ev = new Event(event); ev.stopPropagation(); newsHandler.closeOverlayArticle(); return false;"> </a>'
		iHTML += '<div class="b-news_overlay_controls h-news_user_menu" onclick=" ev = new Event(event); ev.stopPropagation();">';
		iHTML += news_block.getElement('.h-news_user_menu').innerHTML;
		iHTML += '</div>';
		
		
		iHTML += '<div class="b-news_overlay_content"><div class="b-news_overlay_body" onclick=" ev = new Event(event); ev.stopPropagation();"><div class="b-news_overlay_body_inner">';
		iHTML += '<h1><span>' + unescape(news_block.getElement('.js-news_caption_hidden').value) + '</span></h1>';
		iHTML += unescape(news_block.getElement('.js-news_body_hidden').value);
		iHTML += '</div></div>';
		if (news_block.getElement('.js-news_images_location_hidden')) {
			iHTML += '<div class="b-news_overlay_galery" onclick=" ev = new Event(event); ev.stopPropagation();">';
			iHTML += '<div class="h-galery_photoes_fixed" id="js-galery_photoes_fixed">';
			iHTML += '<div class="h-galery_photoes_wide" id="js-galery_photoes_wide">';
			
			$A(news_block.getElements('.js-news_images_location_hidden')).each(function (photo_location_input) {
				iHTML += '<div class="b-galery_photo_item"><img src="' + photo_location_input.value + '" alt=""></div>';
			});
			
			iHTML += '<div class="clear"></div>';
			iHTML += '</div>';
			iHTML += '</div>';
			
			iHTML += '<div class="h-news_overlay_photo_controls">';
			iHTML += '<div class="b-news_overlay_photo_controls">';
			iHTML += '<a href="#" class="k-news_overlay_photo_left" onclick="newsGaleryHandler.setPreviousImage(false, 1); return false;"></a>';
			iHTML += '<a href="#" class="k-news_overlay_photo_all"></a>';
			iHTML += '<a href="#" class="k-news_overlay_photo_right" onclick="newsGaleryHandler.setNextImage(1); return false;"></a>';
			iHTML += '</div>';
			iHTML += '</div>';
			iHTML += '<div class="clear"></div>';
			
			iHTML += '</div>';
		}
		iHTML += '<div class="clear"></div>';
		iHTML += '</div>';
		
		if (news_block.getElement('.js-news_images_location_hidden')) {
			
		}
		
		iHTML += '</div>';
		
		if ($('js-news_overlay_block')) {
			$('js-news_overlay_block').innerHTML = iHTML;
		} else {
			(new Element('div', {
				'id':'js-news_overlay_block',
				'class':'h-news_overlay',
				'html' : iHTML
			})).inject(document.body);
		}
		$('js-news_overlay_block').removeClass('pos_hidden');
		$('js-news_overlay_block').setStyle('top', window.getScroll().y + 50 + 'px');
		if (news_block.getElement('.js-news_images_location_hidden')) {
			newsGaleryHandler.initDragging();
		}
		
		(function () {$(document.body).addEvent('click', newsHandler.closeOverlayArticle);}).delay(333);
		niceOverlay.show();
	},
	closeOverlayArticle : function () {
		$('js-news_overlay_block').addClass('pos_hidden');
		document.body.removeEvent('click', newsHandler.closeOverlayArticle);
		niceOverlay.hide();
	}
};

newsGaleryHandler = {
	images_coordinates : [],
	drag_timeout : false,
	drag_start_time : false,
	initDragging : function () {
		$('js-galery_photoes_wide').set('morph', {transition : Fx.Transitions.Bounce.easeIn});
		if ($('js-galery_photoes_fixed')) {
			$('js-galery_photoes_fixed').addEvents({
				'mousedown' : function () {
					newsGaleryHandler.drag_timeout = setTimeout("newsGaleryHandler.drag_timeout = false",300);
				},
				'mouseup' : function () {
					if (newsGaleryHandler.drag_timeout) {
						$clear(newsGaleryHandler.drag_timeout);
						newsGaleryHandler.setNextImage(1);
					}
				}
			});
			new Drag('js-galery_photoes_wide', {onBeforeStart : function() {
				if (Browser.Engine.trident) {
					document.ondragstart = function () { return false; };
				}

			},onStart : function() {
				newsGaleryHandler.drag_start_time = (new Date()).getTime();
				$('js-galery_photoes_wide').get('morph').cancel();
				newsGaleryHandler.current_drag_left = this.value.now.x;
			}, onComplete : function() {
				var drag_time_delta = (new Date()).getTime() - newsGaleryHandler.drag_start_time;
				var dragging_speed = Math.abs((newsGaleryHandler.current_drag_left - this.value.now.x) / drag_time_delta);
				if (newsGaleryHandler.current_drag_left - this.value.now.x > 100) {
					newsGaleryHandler.setNextImage(dragging_speed);
				} else if (newsGaleryHandler.current_drag_left - this.value.now.x < -100) {
					if ($('js-galery_photoes_wide').getPosition($('js-galery_photoes_fixed')).x > 5) {
						$('js-galery_photoes_wide').morph({left : 0, top : 0});
					} else {
						newsGaleryHandler.setPreviousImage(true, dragging_speed);
					}
				} else {
					$('js-galery_photoes_wide').set('morph', {duration : 1000});
					$('js-galery_photoes_wide').morph({left : $('js-galery_photoes_wide').getPosition($('js-galery_photoes_fixed')).x + newsGaleryHandler.current_drag_left - this.value.now.x, top : 0});
				}
				if (Browser.Engine.trident) {
					document.ondragstart = function () { };
				}
			
			}});
		}
		if ($('js-galery_photoes_wide').getElements('.b-galery_photo_item').length < 2) {
			if ($('js-galery_photoes_fixed').getParent().getParent().getElement('.b-news_overlay_photo_controls')) {
				$('js-galery_photoes_fixed').getParent().getParent().getElement('.b-news_overlay_photo_controls').addClass('hidden');
			}
		}
	},
	getImagesCoordinates : function () {
		newsGaleryHandler.images_coordinates = [];
		$A($('js-galery_photoes_wide').getElements('.b-galery_photo_item')).each(function (image, i) {
			newsGaleryHandler.images_coordinates[i] = image.getPosition($('js-galery_photoes_wide')).x;
		});
		newsGaleryHandler.images_coordinates[newsGaleryHandler.images_coordinates.length] = newsGaleryHandler.images_coordinates[newsGaleryHandler.images_coordinates.length - 1] + 500;
	},
	getNextImageNum : function () {
		var current_left = Math.abs($('js-galery_photoes_wide').getPosition($('js-galery_photoes_fixed')).x) + 5;
		var next_image = 0;
		for (var i = 0; i < newsGaleryHandler.images_coordinates.length - 1; i++) {
			if (current_left >= newsGaleryHandler.images_coordinates[i] && current_left < newsGaleryHandler.images_coordinates[i + 1]) {
				next_image = i + 1;
				break;
			}
		}
		return next_image;
	},
	setNextImage : function (dragging_speed) {
		newsGaleryHandler.getImagesCoordinates();
		if (newsGaleryHandler.getNextImageNum() >= newsGaleryHandler.images_coordinates.length - 1) {
			$('js-galery_photoes_wide').set('morph', {duration : 1000, transition : Fx.Transitions.Back.easeOut});
			$('js-galery_photoes_wide').morph({left : -newsGaleryHandler.images_coordinates[0], top : 0});
		} else {
			dragging_speed = dragging_speed*0.5;
			var dur = (newsGaleryHandler.images_coordinates[newsGaleryHandler.getNextImageNum()] - Math.abs($('js-galery_photoes_wide').getPosition($('js-galery_photoes_fixed')).x))/dragging_speed;
			if (dur > 1000) {
				dur = 1000;
			}
			$('js-galery_photoes_wide').set('morph', {duration : dur, transition : Fx.Transitions.Back.easeOut});
			$('js-galery_photoes_wide').morph({left : -newsGaleryHandler.images_coordinates[newsGaleryHandler.getNextImageNum()] - 1, top : 0});
		}
	},
	setPreviousImage : function (dragging, dragging_speed) {
		var next_image_delta = 2;
		if (dragging) {
			next_image_delta = 1;
		}
		newsGaleryHandler.getImagesCoordinates();
		if (newsGaleryHandler.getNextImageNum() < next_image_delta) {
			$('js-galery_photoes_wide').set('morph', {duration : 1000, transition : Fx.Transitions.Back.easeOut});
			$('js-galery_photoes_wide').morph({left : -newsGaleryHandler.images_coordinates[newsGaleryHandler.images_coordinates.length - 2] - 1, top : 0});
		} else {
			dragging_speed = dragging_speed*0.5;
			var dur = (Math.abs($('js-galery_photoes_wide').getPosition($('js-galery_photoes_fixed')).x) - newsGaleryHandler.images_coordinates[newsGaleryHandler.getNextImageNum() - next_image_delta])/dragging_speed;
			if (dur > 1000) {
				dur = 1000;
			}
			$('js-galery_photoes_wide').set('morph', {duration : dur, transition : Fx.Transitions.Back.easeOut});
			$('js-galery_photoes_wide').morph({left : -newsGaleryHandler.images_coordinates[newsGaleryHandler.getNextImageNum() - next_image_delta] - 1, top : 0});
		}
	}
};

pollHandler = {
	checkOption : function (button, poll_option_id) {
		var poll_options_list = $(button).getParent('.b-voting_items');
		var poll_block = $(button).getParent('.b-voting');
		if (!poll_block.hasClass('js-loading') && !$(button).getParent('li').hasClass('b-poll_option_active')) {
			poll_options_list.getElements('li').removeClass('b-poll_option_active');
			$(button).getParent('li').addClass('b-poll_option_active');
			var url = '/ajax/docs/poll/';
			var data = 'option=' + poll_option_id;
			new futuAjax({
				button : $(poll_block),
				animated_element : $(button),
				color_to : '#272525',
				color_from : '#80F7F7',
				url : url,
				data : data,
				onLoadFunction : function (response) {
					futu_alert('Вы проголовали за &laquo;' + poll_block.getElement('.b-poll_option_active .b-poll_option_value').innerHTML + '&raquo;');
					poll_block.addClass('b-poll_voted');
					$(poll_block).getElement('.k-poll_get_results').addClass('hidden');
					var optionsHash = new Hash(response.doc.poll_options);
					var largest_vote = 0;
					var largest_vote_id = false;
					for (var i = 0; i < optionsHash.getLength(); i++) {
						var option = optionsHash.get(i);
						if (option.voted > largest_vote)  {
							largest_vote = option.voted;
							largest_vote_id = option.id;
						}
						$('js-poll_option_' + option.id).getElement('.b-poll_voted_num_inner').innerHTML = option.voted;
						$('js-poll_option_' + option.id).getElement('.b-poll_voted_num').removeClass('hidden');
						$('js-poll_option_' + option.id).getElement('.b-poll_option_icon').addClass('hidden');
						
					}
					if (poll_block.getElement('.b-poll_voted_num_first')) {
						poll_block.getElement('.b-poll_voted_num_first').removeClass('b-poll_voted_num_first');
					}
					if (largest_vote_id) {
						$('js-poll_option_' + largest_vote_id).getElement('.b-poll_voted_num').addClass('b-poll_voted_num_first');
					}
				}
			});
		}
	},
	voteForResult : function (button, article_id) {
		var poll_block = $(button).getParent('.b-voting');
		var poll_result_value = poll_block.getElement('.js-poll_result_input').value;
		if (poll_result_value.trim().length > 0) {
			var url = '/ajax/docs/poll/';
			var data = 'option=' + poll_result_value;
			new futuAjax({
				button : $(poll_block),
				animated_element : $(button),
				color_to : '#BCBD00',
				color_from : '#FFFFFF',
				url : url,
				data : data,
				onLoadFunction : function (response) {
					futu_alert('Вы проголовали за &laquo;' + poll_block.getElement('.b-poll_option_active .b-poll_option_value').innerHTML + '&raquo;');
					poll_block.addClass('b-poll_voted');
					$(poll_block).getElement('.k-poll_get_results').addClass('hidden');
					var optionsHash = new Hash(response.doc.poll_options);
					var largest_vote = 0;
					var largest_vote_id = false;
					for (var i = 0; i < optionsHash.getLength(); i++) {
						var option = optionsHash.get(i);
						if (option.voted > largest_vote)  {
							largest_vote = option.voted;
							largest_vote_id = option.id;
						}
						$('js-poll_option_' + option.id).getElement('.b-poll_voted_num_inner').innerHTML = option.voted;
						$('js-poll_option_' + option.id).getElement('.b-poll_voted_num').removeClass('hidden');
						$('js-poll_option_' + option.id).getElement('.b-poll_option_icon').addClass('hidden');
						
					}
					if (poll_block.getElement('.b-poll_voted_num_first')) {
						poll_block.getElement('.b-poll_voted_num_first').removeClass('b-poll_voted_num_first');
					}
					if (largest_vote_id) {
						$('js-poll_option_' + largest_vote_id).getElement('.b-poll_voted_num').addClass('b-poll_voted_num_first');
					}
				}
			});
		} else {
			futu_alert('Выберите пункт, за который вы хотите проголосовать!');
		}
	},
	showResults : function (button, article_id) {
		var poll_block = $(button).getParent('.b-voting');
		var url = '/ajax/docs/poll/';
		var data = 'doc=' + article_id;
		new futuAjax({
			button : $(poll_block),
			animated_element : $(button),
			color_to : '#BCBD00',
			color_from : '#000',
			url : url,
			data : data,
			onLoadFunction : function (response) {
				poll_block.addClass('b-poll_voted');
				$(poll_block).getElement('.k-poll_get_results').addClass('hidden');
				var optionsHash = new Hash(response.options);
				var largest_vote = 0;
				var largest_vote_id = false;
				for (var i = 0; i < optionsHash.getLength(); i++) {
					var option = optionsHash.get(i);
					if (option.voted > largest_vote)  {
						largest_vote = option.voted;
						largest_vote_id = option.id;
					}
					$('js-poll_option_' + option.id).getElement('.b-poll_voted_num_inner').innerHTML = option.voted;
				}
				if (poll_block.getElement('.b-poll_voted_num_first')) {
					poll_block.getElement('.b-poll_voted_num_first').removeClass('b-poll_voted_num_first');
				}
				if (largest_vote_id) {
					$('js-poll_option_' + largest_vote_id).getElement('.b-poll_voted_num').addClass('b-poll_voted_num_first');
				}
			}
		});
	}
};

voteHandler = {
	vote : function (button, article_id) {
		if (!$(button).hasClass('k-favourite_voted')) {
			var url = '/ajax/docs/vote/';
			var data = 'doc=' + article_id;
			new futuAjax({
				button : $(button),
				animated_element : $(button).getElement('.b-favourite_icon'),
				color_to : '#FFFC00',
				color_from : '#ff3490',
				url : url,
				data : data,
				onLoadFunction : function (response) {
					button.addClass('k-favourite_voted');
					button.getElement('.b-favourite_result').innerHTML = '+' + response.doc.overal_rating;
				}
			});
		} else {
			futu_alert('Здесь вы уже голосовали');
		}
	}
};

scheduleHandler = {
	setShow : function (show_block) {
		show_block = $(show_block);
		if (!show_block.hasClass('b-schedule_show_active')) {
			if ($('js-schedule_shows').getElement('.b-schedule_show_active')) {
				$('js-schedule_shows').getElement('.b-schedule_show_active').removeClass('b-schedule_show_active');
			}
			show_block.addClass('b-schedule_show_active');
		}
	}
};

chartsHandler = {
	init : function () {
		var menu_width = ($('js-chart_list_menu').getElements('li').length - 1)*66 + 200;
		$('js-chart_list_menu').style.width = menu_width + 'px';
		var block_new_left = (previous_items_count*66 + 180) - items_block_width;
		var previous_items_count = $('js-chart_list_menu').getElement('.b-charts_list_active').getAllPrevious('li').length;
		var items_block_width = $('js-chart_list_menu').getParent('.b-charts_list').getCoordinates().width;
		var block_new_left = (previous_items_count*66 + 180) - items_block_width;
		$('js-chart_list_menu').morph({'left' : -block_new_left + 'px'});
	},
	selectChart : function (button) {
		if (!$(button).getParent('li').hasClass('b-charts_list_active')) {
			var chart_menu_block = $(button).getParent('ul');
			var current_active_img = chart_menu_block.getElement('.b-charts_list_active').getElement('img');
			var new_active_img = button.getElement('img');
			current_active_img.set('morph', {duration:333});
			new_active_img.set('morph', {duration:333});
			$('js-chart_list_menu').set('morph', {duration:333});
			current_active_img.morph({'width' : '66px'});
			new_active_img.morph({'width' : '180px'});
			chart_menu_block.getElement('.b-charts_list_active').removeClass('b-charts_list_active');
			$(button).getParent('li').addClass('b-charts_list_active');
			
			var previous_items_count = $('js-chart_list_menu').getElement('.b-charts_list_active').getAllPrevious('li').length;
			var items_block_width = $(button).getParent('.b-charts_list').getCoordinates().width;
			var block_new_left = (previous_items_count*66 + 180) - items_block_width;
			$('js-chart_list_menu').morph({'left' : -block_new_left + 'px'});
			
			$('js-chart_bodies_holder').getElements('.b-chart_body_inner').addClass('hidden');
			$('js-chart_bodies_holder').getElements('.b-chart_body_inner')[previous_items_count].removeClass('hidden');
			
			$('js-chart_captions_holder').getElements('span').addClass('hidden');
			$('js-chart_captions_holder').getElements('span')[previous_items_count].removeClass('hidden');
			
			$('js-chart_tracks_holder').getElements('ul').addClass('hidden');
			$('js-chart_tracks_holder').getElements('ul')[previous_items_count].removeClass('hidden');
			
		} else {
			chartsHandler.nextChart();
		}
	},
	nextChart : function () {
		if ($('js-chart_list_menu').getElements('li').length > 1) {
			if ($('js-chart_list_menu').getElement('.b-charts_list_active').getNext('li')) {
				chartsHandler.selectChart($('js-chart_list_menu').getElement('.b-charts_list_active').getNext('li').getElement('a'));
			} else {
				chartsHandler.selectChart($('js-chart_list_menu').getElement('li').getElement('a'));
			}
		}
	},
	previousChart : function () {
		if ($('js-chart_list_menu').getElements('li').length > 1) {
			if ($('js-chart_list_menu').getElement('.b-charts_list_active').getPrevious('li')) {
				chartsHandler.selectChart($('js-chart_list_menu').getElement('.b-charts_list_active').getPrevious('li').getElement('a'));
			} else {
				chartsHandler.selectChart($('js-chart_list_menu').getElements('li')[$('js-chart_list_menu').getElements('li').length - 1].getElement('a'));
			}
		}
	}
};
if (Browser.Engine.trident && Browser.Engine.version  < 5) {
	window.addEvent('domready', function() {
		window.onresize = function(){
			if (document.documentElement.clientWidth < 1117) {
				$('js-layout_header').style.width = '950px';
				$('js-layout_content').style.width = '950px';
				$('js-layout_footer').style.width = '950px';
			} else if (document.documentElement.clientWidth > 1600) {
				$('js-layout_header').style.width = '1360px';
				$('js-layout_content').style.width = '1360px';
				$('js-layout_footer').style.width = '1360px';
			} else {
				$('js-layout_header').style.width = '85%';
				$('js-layout_content').style.width = '85%';
				$('js-layout_footer').style.width = '85%';
			}
		}
		if (document.documentElement.clientWidth < 1117) {
			$('js-layout_header').style.width = '950px';
			$('js-layout_content').style.width = '950px';
			$('js-layout_footer').style.width = '950px';
		} else if (document.documentElement.clientWidth > 1600) {
			$('js-layout_header').style.width = '1360px';
			$('js-layout_content').style.width = '1360px';
			$('js-layout_footer').style.width = '1360px';
		} else {
			$('js-layout_header').style.width = '85%';
			$('js-layout_content').style.width = '85%';
			$('js-layout_footer').style.width = '85%';
		}
		DD_belatedPNG.fix('.js-png_bg');
	});
}
window.addEvent('domready', function() {
	liveMenuHandler.init();
});
