(function ($) {
	$.fn.delayedHover = function (over, out, delay) {
		if ( ! delay) {
			var delay = 500;
		}
		var timerIn = false;
		var timerOut = false;
		return this.hover(function(){
			clearTimeout(timerIn);
			clearTimeout(timerOut);
			var el = this;
			if ($.isFunction(over)) {
				timerIn = setTimeout(function(){ over.apply(el) }, delay);
			}
		}, function(){
			clearTimeout(timerIn);
			clearTimeout(timerOut);
			var el = this;
			if ($.isFunction(out)) {
				timerOut = setTimeout(function(){ out.apply(el) }, delay);
			}
		})
	}
	
	$.extend($.easing, {
		quartEaseIn: function(p, n, firstNum, diff) {
			var c=firstNum+diff;
			return c*(p/=1)*p*p*p + firstNum;
		},
		quartEaseOut: function(p, n, firstNum, diff) {
			var c=firstNum+diff;
			return -c * ((p=p/1-1)*p*p*p - 1) + firstNum;
		}
	});
})(jQuery);

function Set_Cookie(name, value, expires, path, domain, secure )
{
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime(today.getTime());
	
	
	if ( expires )
	{
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	
	document.cookie = name + "=" +escape( value ) +
		( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
		( ( path ) ? ";path=" + path : "" ) +
		( ( domain ) ? ";domain=" + domain : "" ) +
		( ( secure ) ? ";secure" : "" );
}


function InstallFormStyles()
{
	var $form_silver = $('form.silver, div.form-silver');
	
	$form_silver = $form_silver.filter(function(){
		return ! $(this).hasClass('style-processed');
	});
	
	$form_silver.find(':submit').each(function(){
		var submit = this;
		var $submit = $(this);
		$(this).hide().after(
			$('<div class="silver-button' + ($submit.attr('disabled') ? ' silver-button-disabled' : '') + '" type="submit"><b></b><span>' + submit.value + '</span><b class="r"></b></div>')
				.click(function(){
					if ( ! $submit.attr('disabled') && submit.form) {
						$(submit.form).submit();
					}
					return false;
				})
				.attr('name', submit.name)
				.mousedown(function(){
					if ( ! $submit.attr('disabled')) {
						$(this).addClass('silver-button-down');
					}
				}).bind('mouseup mouseout', function(){
					if ( ! $submit.attr('disabled')) {
						$(this).removeClass('silver-button-down');
					}
				})
		);
	});

	$form_silver
		.find('input[type=text], input[type=password]')
		.addClass('text');

	$form_silver
		.find('textarea, input[type=text]')
		.placeholder();

	if ( ! $.browser.mozilla || parseFloat($.browser.version) >= 1.9) {
		$form_silver.find(':radio, :checkbox').each(function(){
			var $silver = $('<span class="silver-' + this.type + '"><b' + (this.checked ? ' class="checked"' : '') + '></b></span>');
			if ($.browser.msie) {
				$(this).css({width: 0, height: 0});
			} else {
				$(this).css({visibility: 'hidden', position: 'absolute'});
			}
			$(this).after($silver)
				.data('_silver', $silver.children())
				.click(function(){
					if (length in this.form[this.name]) { // not strict check. Please, man invent something else
						$.each(this.form[this.name], function() {
								$(this).data('_silver')[this.checked ? 'addClass' : 'removeClass']('checked');
							});
					} else {
						$(this).data('_silver')[this.checked ? 'addClass' : 'removeClass']('checked');
					}
				});
		});
	}
	
	$form_silver.addClass('style-processed');
}

function InstallInnerPlane()
{
	if (document.body.id == 'second') {

		var $megabar = $('#megabar .body');
		
		$megabar.find('.float').each(function() {
			var $float = $(this);
			var className = $float.find('.title a').attr('href').substr(1);
			var $title = $megabar.find('.' + className + ' .title');
			
			$float.bind('float_show', function(){
				if ($.browser.msie) {
					$title.css({top: '-90px'});
					$float.css({display: 'block'});
				} else {
					$title.animate({top: '-90px'}, 400);
					$float.fadeIn(400);
				}
			}).bind('float_hide', function(){
				if ($.browser.msie) {
					$title.css({top: '0'});
					$float.css({display: 'none'});
				} else {
					$title.animate({top: '0'}, 400);
					$float.fadeOut(400);
				}
			}).delayedHover(false, function() {
				$float.trigger('float_hide');
			}, 1000);
			
			$megabar.find('.' + className + ' .title a').click(function(){
				if ($(this).attr('rel') == 'out') {
					$float.trigger('float_hide');
				} else {
					$float.trigger('float_show');
					$float.trigger('mouseover');
				}
				return false;
			});
		});
	}
}

function InstallKinoblock()
{
	var $back = $('#global-shadow, #kinoblock-container');
	var $kinoblock = $('#kinoblock');
	var scrolls_installed = false;
	
	$kinoblock.bind('block-show', function() {
		$back.css({
				display: 'block',
				visibility: 'hidden'
			});
		if ( ! scrolls_installed) {
			var list = $kinoblock.find('.movies').get(0);
			if (list.scrollHeight > list.offsetHeight) {
				var $bar = $kinoblock.find('.scrollbar').show();
				$bar.find('.scroll-body')
					.height($bar.height() / list.scrollHeight * list.offsetHeight)
					.draggable({
						axis: 'y',
						containment: $kinoblock.find('.scrollbar')
					}).bind('drag', function(event, ui) {
						list.scrollTop = ui.position.top / $bar.height() * list.scrollHeight;
					});
			}
			scrolls_installed = true;
		}
		$kinoblock.css({marginLeft: -(760 + $kinoblock.get(0).offsetLeft)});
		$back.css({
				display: 'block',
				visibility: 'visible'
			});
		$kinoblock.animate({marginLeft: 0}, {
				duration: 1000,
				easing: 'quartEaseOut'
			});
	}).bind('block-hide', function() {
		$kinoblock.animate({marginLeft: -(760 + $kinoblock.get(0).offsetLeft)}, {
				duration: 1000,
				easing: 'quartEaseIn',
				complete: function() {
						if ($.browser.msie) {
							$back.css({
									display: 'block',
									visibility: 'hidden'
								});
						} else {
							$back.css({
									display: 'none',
									visibility: 'visible'
								});
						}
						$kinoblock.css({marginLeft: 0});
					}
			});
	});
	
	if ($back.length) {
		$('#megabar .kino').find('.gt, .frame').click(function(){
			$kinoblock.triggerHandler('block-show');
			return false;
		});
		$back.click(function(e){
			var $parent = $(e.target).parents('#kinoblock');
			if ( ! $parent.length) {
				$kinoblock.triggerHandler('block-hide');
			}
		});
		$kinoblock.find('img.close').click(function(){
			$kinoblock.triggerHandler('block-hide');
		});
	}
}

function InstallLoginblock()
{
	var $back = $('#global-shadow, #loginblock-container');
	var $loginblock = $('#loginblock');
	// offsetLeft такое же, как и справа
	var offsetLeftElement = $('#loginblock-container .loginblock-body').get(0);
	
	$loginblock.bind('block-show', function() {
		$back.css({
				display: 'block',
				visibility: 'hidden'
			});
		$loginblock.css({left: (374 + offsetLeftElement.offsetLeft)});
		$back.css({
				display: 'block',
				visibility: 'visible'
			});
		$loginblock.animate({left: 0}, {
				duration: 1000,
				easing: 'quartEaseOut'
			});
	}).bind('block-hide', function() {
		$loginblock.animate({left: (374 + offsetLeftElement.offsetLeft)}, {
				duration: 1000,
				easing: 'quartEaseIn',
				complete: function() {
						if ($.browser.msie) {
							$back.css({
									display: 'block',
									visibility: 'hidden'
								});
						} else {
							$back.css({
									display: 'none',
									visibility: 'visible'
								});
						}
						$loginblock.css({left: 0});
					}
			});
	});
	
	if ($back.length) {
		$('#login-link').click(function(){
			$loginblock.triggerHandler('block-show');
			return false;
		});
		$back.click(function(e){
			var $parent = $(e.target).parents('#loginblock');
			if ( ! $parent.length) {
				$loginblock.triggerHandler('block-hide');
			}
		});
		$loginblock.find('img.close').click(function(){
			$loginblock.triggerHandler('block-hide');
		});
		
		var $registration = $loginblock.find('div.registration');
		var $login = $loginblock.find('div.login');
		var $nav_links = $loginblock.find('.nav a').click(function(){
			var $this = $(this);
			if ($this.hasClass('off')) {
				return false;
			}
			$nav_links.removeClass('off');
			$this.addClass('off');
			if ($this.attr('rel') == 'login') {
				var $left = $registration;
				var $right = $login;
			} else {
				var $left = $login;
				var $right = $registration;
			}
			
			$left.css({left: 0}).animate({
					left: -344
				}, function() {
					$left.hide();
				});
			$right.css({left: 344}).show().animate({
				left: 0
			});
			return false;
		});
		
		$loginblock.find('form').append("<input type='hidden' name='is_ajax' value='1' />");
		
		$registration.find('form').submit(function(){
				var $form = $(this);
				var $submit = $form.find(':submit');
				
				if ($submit.is(':disabled')) {
					return false;
				}
				$submit.attr('disabled', 'disabled');
				$form.find('img.loader').show();
				
				$form.find('.warnText').hide();
				$.post($form.attr('ajax') || $form.attr('action'), $form.serialize(), function(text) {
						var $captcha = $form.find('.captcha');
						$captcha.attr('src', $captcha.attr('src') + '&new');
						$form.find('.captcha_text').val('');
						if (text.substr(0, 2) == 'OK') {
							$form.html("<p>" + text.substr(3) + "</p>");
						} else {
							$submit.removeAttr('disabled');
							$form.find('img.loader').hide();
							alert(text)
						}
					});
				return false;
			});
		
		$login.find('form').submit(function(){
				var $form = $(this);
				var $submit = $form.find(':submit');
				
				if ($submit.is(':disabled')) {
					return false;
				}
				$submit.attr('disabled', 'disabled');
				$form.find('img.loader').show();
				
				$form.find('.warnText').hide();
				$.post($form.attr('ajax') || $form.attr('action'), $form.serialize(), function(text) {
						if (text.substr(0, 2) == 'OK') {
							location.reload();
						} else {
							$submit.removeAttr('disabled');
							$form.find('img.loader').hide();
							
							$login.find('.info').slideUp(600);
							$login.find('.warnText').text(text).slideDown(600);
						}
					});
				return false;
			});
	}
}

function InstallStarsControls()
{
	function updateStars($stars, count) {
		if (typeof count == 'undefined') {
			count = $stars.find('input:checked').val();
		} else {
			$stars.find("input[value='" + count + "']").click();
		}

		$stars.find('span').each(function(){
			if (parseInt(this.getAttribute('value')) <= count) {
				this.className = 'on';
			} else {
				this.className = '';
			}

			/*if ($.browser.msie && ($.browser.version == 6)) {
				fixPNG(this);
			}*/
		});

		return count;
	}

	$('div.stars-control').each(function() {
		var $stars = $(this);
		var first = updateStars($stars);
		var $stars_spans = $stars.find(' > span');

		if ($stars.hasClass('js-on')) {
			return;
		}
		
		$stars
			.addClass('js-on')
			.find('input')
			.hide();
		if ($stars.hasClass('active')) {
			$stars_spans.mousemove(function(){
				var current = $(this).attr('value');
				updateStars($stars, current);
			}).mouseout(function(){
				//first = 4;
				//alert(typeof first);
				updateStars($stars, parseInt(first));
			}).click(function(){
				$stars_spans.unbind('click');
				var current = $(this).attr('value');
				updateStars($stars, current);
				var form = $($stars.find('input').get(0).form);
				$.post(form.attr('ajax') || form.attr('action'), form.serialize(), function(data){
						var $new = $(data);
						$stars.replaceWith($new);
						$stars = $new.find('input').hide();
						updateStars($new);
					});
			});
		}
		$stars_spans.removeClass('off');
	});
}

function InstallKinoStarsRatings()
{
	$('#kino .stars-ratings').each(function(){
		var $control = $(this).addClass('js-on');
		var $stars = $control.find('.stars');
		var $form = $control.find('form');
		var parts = 5;
		var rating = 0;
		var width = $stars.width();
		var initial_width = $stars.find('.bar').css('width');
		
		if ($stars.hasClass('active')) {
			$stars.mousemove(function(e){
				var x = e.clientX - $stars.offset().left;
				x = x / width;
				
				choice = Math.ceil(x * parts)
				
				if (rating != choice) {
					$stars.find('.bar').width(choice / parts * 100 + '%');
					rating = choice
				}				
			}).mouseleave(function(){
				$stars.find('.bar').css('width', initial_width);
			}).click(function(){				
				$stars.unbind('click mousemove mouseleave');
				$form.find("input[name=rating][value='" + rating + "']").click();
				
				$.post($form.attr('data') || $form.attr('action'), $form.serialize(), function(data){
						$control.replaceWith(data);
					});
			});
		}
	})
}

function InstallKinoTimer(selector, left)
{
	// left — сколько осталось до премьеры
	
	var start = (new Date).getTime() / 1000;
	var tick = false;
	var days, hours, minutes, seconds;
	var loop = setInterval(function (){
		if (typeof selector == 'string') {
			var temp = $(selector);
			if (temp.length) {
				selector = temp;
				days = selector.find('.days');
				hours = selector.find('.hours');
				minutes = selector.find('.minutes');
				seconds = selector.find('.seconds');
			} else {
				return;
			}
		}
		
		var now = Math.round(start + left - (new Date).getTime()/1000);
		
		if (now < 0) {
			now = 0;
			clearInterval(loop);
		}
		
		days.text(Math.floor(now / 60 / 60 / 24));
		hours.text((Math.floor(now / 60 / 60) % 24 + 100).toString().substr(1));
		minutes.text((Math.floor(now / 60) % 60 + 100).toString().substr(1));
		seconds.text((now % 60 + 100).toString().substr(1));
		
	}, 1000);
	
}

function InstallTimer(selector, time)
{
	var start = (new Date).getTime();
	var tick = false;
	var hours, minutes, seconds, dots;
	var last_minutes = false;
	var loop = setInterval(function (){
		if (typeof selector == 'string') {
			var temp = $(selector);
			if (temp.length) {
				selector = temp;
				hours = selector.find('.hours');
				minutes = selector.find('.minutes');
				seconds = selector.find('.seconds');
				dots = selector.find('.dots');
			} else {
				return;
			}
		}
		
		var parents = selector.parents();
		if ( parents[parents.length-1].tagName.toLowerCase() != 'html') {
			clearInterval(loop);
			return;
		}
		
		var now = new Date((new Date).getTime() - start + time * 1000);
		
		if (last_minutes !== now.getUTCMinutes()) {
			hours.text((now.getUTCHours()+100).toString().substr(1));
			minutes.text((now.getUTCMinutes()+100).toString().substr(1));
			seconds.text((now.getUTCSeconds()+100).toString().substr(1));
			last_minutes = now.getUTCMinutes();
		}
		
		tick = ! tick;
		dots.css({visibility: (tick ? 'visible' : 'hidden')});
	}, 1000);
}


/**
 * Kino
 */
function InstallKinoScreenshots()
{
	var $parent = $('#kino-screenshots').addClass('js-on');
	if ($parent.length) {
		var $screenshot_images = $parent.find('img.screenshot-fake, img.screenshot');

		var $thumbs = $parent.find('.list a').click(function() {
			var $this = $(this);
			$thumbs.removeClass('current');
			$screenshot_images.attr('src', $this.attr('href'));
			if ($.browser.msie && $.browser.version <= 6) {
				$(new Image()).bind('load', function(){
					var width = this.width;
					$screenshot_images.each(function() {
						this.__width = width;
					});
				}).attr('src', $this.attr('href'));
			}
			$this.addClass('current')
			return false;
		});

		var list = $parent.find('.list').get(0);
		if (list && list.scrollHeight > list.offsetHeight) {
			var $bar = $parent.find('.scrollbar').show();
			$bar.find('.scroll-body')
				.height($bar.height() / list.scrollHeight * list.offsetHeight)
				.draggable({
					axis: 'y',
					containment: $parent.find('.scrollbar')
				}).bind('drag', function(event, ui) {
					list.scrollTop = ui.position.top / $bar.height() * list.scrollHeight;
				});
		}
	}
}

function InstallKinoCalendar()
{
	var $days = $('#kino-calendar .body a').click(function(){
		var $this = $(this);
		if ( ! $this.hasClass('current')){
			var $sessions = $('#kino-sessions');
			
			if ($('#kino-calendar').hasClass('reserv')) {
				if ($sessions.hasClass('user_changes')) {
					return confirm("Вы уже выбрали места для бронирования. Если вы перейдете на другой день, \
то через некоторое время выбранные места автоматически пропадут.\n\n\
Все еще хотите перейти?");
				}
				return true;
			} else {
				$sessions.html("<img class='ajax-loader' src='/imega/ajax-loader.gif' alt='Загрузка…'>");
				
				var session_id = $('#kino_session_id').attr('data');
				
				var day = $this.attr('href');
				day = day.substr(day.indexOf('day=') + 4, 8);
				
				$sessions.load('/ajax/kino-calendar/?' + Math.random(), {
						id: $sessions.attr('data'), 
						day: day,
						session_id: session_id
					}, InstallKinoSessions);
				$days.removeClass('current current-hd');
				$this.addClass($this.hasClass('hd') ? 'current current-hd' : 'current');
			}
		}
		return false;
	});
}

function InstallKinoSessions()
{
	$('div.kino-sessions').each(function(){
		var $parent = $(this);
		var $float = $parent.find('.float');
		var $float_time = $float.find('.time .text');
		var $float_place = $float.find('.place .text');
		var $sessions = $parent.find('.sessions a').mouseenter(function() {
			var $this = $(this);
			$float.triggerHandler('float-hide');
			$this.addClass('current').next('a').addClass('next');
			$float.hide();
			$float_time.html($this.text());
			$float_place.html('Билет: ' + $this.attr('price') + 'р.<br>' + $this.attr('hall'))
			$float.css({left: this.offsetLeft-10, top: this.offsetTop-6+this.offsetParent.offsetTop})
				.show();
			
			$float_time.attr('href', $this.attr('href'));
			return false;
		});
		
		$float.bind('float-hide', function(){
			$float.hide();
			$sessions.filter('.current').removeClass('current').next('a').removeClass('next');
		});		
		
		$float_time.click(function() {
			if ($('#kino-sessions').hasClass('user_changes')) {
				return confirm("Вы уже выбрали места для бронирования. Если вы перейдете на другой сеанс, \
то, через некоторое время, выбранные места автоматически пропадут.\n\n\
Все еще хотите перейти?");
			}
			return true;
		});

		$float.mouseleave(function(){
			$float.triggerHandler('float-hide');
		});

		$(window).resize(function() {
			$float.triggerHandler('float-hide');
		});
	});
}

function InstallKinoSessionsHeader()
{
	var $footer = $('#kino-session-footer');
	
	$footer.find('.close').click(function() {
		$footer.hide();
		Set_Cookie('close_kino_tips', 1, 100);
		return false;
	});
}

function InstallKinoTabs()
{
	var $switcher = $('#kino-switcher .any-item');
	var $switches = $('#kino-switches .switches-item');
	
	$('#kino-movie').bind('tab-change', function(){
		var trailer = $('#kino-movie-trailer').addClass('width-100');
		var ratio = trailer.attr('ratio');
		if (ratio) {
			ratio = ratio.split(':');
			ratio = ratio[0] / ratio[1];
		} else {
			ratio = 16 / 9;
		}
		if (trailer.width()) {
			trailer.height(Math.round(trailer.width() / ratio) + 24);
		}
	});
	
	$('#kino-movie a.show-links').click(function(){
		$('#kino-movie-links').slideToggle(500);
		return false;
	});
	$('#kino-movie-links input').bind('focus mousedown mouseup', function(){
		this.select();
	});
	
	$(window).resize(function(){
		$('#kino-movie').triggerHandler('tab-change');
	});
	
	$switcher.find('a').click(function(){
		var $this = $(this);
		if ($this.parent().hasClass('any-selected')) {
			return false;
		}
		$switches.removeClass('switches-current');
		$('#' + $this.attr('rel')).addClass('switches-current').triggerHandler('tab-change');
		
		$switcher.removeClass('any-selected');
		$this.parent().addClass('any-selected');
		return false;
	});
	setTimeout(function(){
		$('#kino-movie').triggerHandler('tab-change');
	}, 100);
}

function InstallKino()
{
	if ($('#kino').length) {
		$('#films-slider dl').Accordion({
			headerSelector	: 'dt',
			panelSelector	: 'dd',
			activeClass		: 'active',
			hoverClass		: 'hover',
			panelHeight		: 250,
			speed			: 300,
			currentPanel	: Math.floor(Math.random()*$('#films-slider dd').length)
		});
		
		InstallKinoScreenshots();

		if ($.browser.msie && $.browser.version <= 6) {
			$('html').css({zoom: 1});
		}

		InstallStarsControls();
		InstallKinoStarsRatings();
		InstallKinoSessions();
		InstallKinoSessionsHeader();
		InstallKinoCalendar();
		InstallKinoTabs();
	}
}

function InstallKinoArchive()
{
	var month_of_year = new Array('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь');
	var today = new Date();
	var month = today.getMonth();
	var year = today.getFullYear();
	var request;
	
	function getKinoArchive(data) {
		if (request)
			request.abort();
			
		var loader = $(".kino-archive-filter .ui-tabs-content .loader").show();
		request = $.ajax({
			type: "POST",
			url:'ajax/', 
			data: data, 
			success: function(msg) {
				request = false;
				loader.hide();
				$("#kino-list").html($(msg).filter("#kino-list").html());
			}
		});
	}	
	
	function refreshDate(diff) {
		month += diff;
		if (month<0) {year--;month=11;}
		if (month>11) {year++;month=0;}
		
		// ????????? ?????? ????-?????
		if (prime_date_from && prime_date_to) {
			var months_count = year*12+month+1;
			if ( months_count <= prime_date_from ) var button_name_hide = 'left';
			if ( months_count >= prime_date_to )   var button_name_hide = 'right';
			$("#date-filter button").removeAttr('disabled').css('visibility','visible')
				.filter('[name="'+button_name_hide+'"]').attr('disabled','disabled').css('visibility','hidden')
		}
			
		$("#date-filter .month").text(month_of_year[month]);
		$("#date-filter .year").text(year);
		getKinoArchive({'month':month, 'year': year});
	}
	
	var prime_date_from = $("#date-filter").attr('from');
	var prime_date_to   = $("#date-filter").attr('to');
	$("#date-filter button[name='left']").click(function() {refreshDate(-1)});
	$("#date-filter button[name='right']").click(function() {refreshDate(1)});

	$("#kino-letter").keyup(function() {
		getKinoArchive({'letter': this.value});	
	});

	// переключатель фильтра
	$(".h1-tabs a").each(function() {
		var href = $(this).attr('href');
		if (href.substring(0,1) == '#') {
			$(href).addClass('ui-tabs-panel');
			
			$(this).click(function() {
				$(".h1-tabs li").removeClass("act");
				$(this).parent().addClass("act");
				$('.ui-tabs-panel').hide()
					.filter(href).show();
				$("#kino-list").empty();
				if (href == '#date-filter') {
					refreshDate(0);	
				}
				return false;
			});
		}
	}).filter(":first").click();
	
	// форма поиска 
	$("#kino-name").focus(function() {
		if (this.value == $(this).css('color','black').attr('rel'))
			this.value = '';
	}).blur(function() {
		if (this.value == '')
			this.value = $(this).css('color','#858585').attr('rel');
	}).blur();

}


function InstallFixes()
{
	if ($.browser.msie) {
		
	}

	if ($.browser.msie && $.browser.version <= 7) {

	}
	
	if ($.browser.msie && $.browser.version <= 6) {
		$('a.hovered-6, div.hovered-6').hover(function(){
			$(this).addClass('hover');
		}, function(){
			$(this).removeClass('hover');
		});

		$('div.silver-frame .silver-top, \
		div.silver-frame .silver-bottom').css({zoom: 1});
	}
}

function InstallVotings() {
	$("div.poll_contents").each(function(){
		var $this = $(this);
		var $form = $this.find(".voting_form");
		
		if ($form.length) {
			$form.find("a.show_res").bind("click", function(){
				var $results = $form.next().css({height: $form.height()});
				$form.hide();
				$results.show().html("<div style='padding-top: 30px; text-align: center;'><img src='/imega/ajax-loader.gif'/></div>");
				$.get($(this).attr("href") + "&isNaked=1", {}, function(data){
					$results.css({height: ""}).html(data + "<p><a class='show_poll unreal' href='#' style='padding: 0px;'>назад</a></p>");
					$results.find("a.show_poll").bind("click", function(){
						$results.hide();
						$form.show();
						return false;
					});
				});
				return false;
			});
			
			var fSubmit = function(){
				var $results = $form.next().css({height: $form.height()});
				$form.hide();
				$results.show().html("<div style='padding-top: 30px; text-align: center;'><img src='/imega/ajax-loader.gif'/></div>");
				$.post($form.find("a.show_res").attr("href") + "&isNaked=1", $form.serialize(), function(data){
					$results.css({height: ""}).html(data);
					$results.find("a.show_poll").bind("click", function(){
						$results.hide();
						$form.show();
						return false;
					});
				})
				return false;
			};
			
			$form.bind("submit", fSubmit);
			$form.find(".silver-button").unbind("click").bind("click", fSubmit);
		}
	});
}

function InstallFancybox() {
	//alert($.browser.version);
	if ('fancybox' in jQuery.fn) {
		if ( ! $.browser.opera || $.browser.version >= 9.5) {
			$("#kino div.images-column a.poster,\
				#actions .poster a,\
				#basic-pages div.gallery-thumbs a,\
				#basic-pages div.djpark-events .poster a,\
				#basic-pages div.institution table.photos a,\
				div.photo-part-photo .item,\
				a.fancybox").fancybox({
					'zoomSpeedIn': 300, 
					'zoomSpeedOut': 300,
					'overlayOpacity': 0.6
				});
		}
	}
}

$(function() {
	InstallFormStyles();
	InstallInnerPlane();
	InstallKinoblock();
	InstallLoginblock();
	InstallKino();
	InstallKinoArchive();
	InstallFixes();
	InstallVotings();
	InstallFancybox();
	
	$.ajaxSetup({
		timeout: 30*1000
	});
});

function responseVote(id,vote) {
	$.getJSON('/ajax/comment-votings/?id='+id+'&vote='+vote, function(data) {
		$(".comm-voting-"+id).addClass('vote-'+(vote==1?'like':'unlike'))
			.find('.rate').removeClass('green red')
			.addClass(data.rating!=0?(data.rating<0?'red':'green'):'')
			.text(data.rating);
	});
}