// JavaScript Document
sfFocus = function() {
	var sfEls = document.getElementsByTagName("INPUT");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onfocus=function() {
			this.className+=" sffocus";
		}
		sfEls[i].onblur=function() {
			this.className=this.className.replace(new RegExp(" sffocus\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfFocus);

var poll_permalink = ''; // Эта переменная здесь не нужна, определяется только для того, чтобы исключить js-ошибку при голосовании в IE.

if(!site_url)
{
	var site_url = 'http://' + window.location.hostname + '/';
}

// ---------------------------------------------------------------- //
// -------------------- New Photopolls Script --------------------- //
// ---------------------------------------------------------------- //

// Cлужебная функция для сохранения координат области кадра в полях формы.
function setCoords(c)
{
	document.getElementById('x').value = c.x;
	document.getElementById('y').value = c.y;
	document.getElementById('x2').value = c.x2;
	document.getElementById('y2').value = c.y2;
	document.getElementById('w').value = c.w;
	document.getElementById('h').value = c.h;
};

if(!site_url)
{
	var site_url = 'http://' + window.location.hostname + '/';
}
var new_photo_plugin_url = site_url + 'wp-content/plugins/upload_crop/';
var jquery_url = site_url + 'wp-includes/js/jquery/';
var pic_loaded = '';

function toggle_not_voted_list(list_div)
{
	if(!list_div)
		var exp_div = jQuery('#not_voted_polls');
	else
		var exp_div = jQuery('#'+list_div);

	if( jQuery('li', exp_div).length == 0 )
	{
		jQuery('img', exp_div).show();
		exp_div.load(
			site_url + 'wp-content/plugins/not_voted_polls.php',
			jQuery('form', exp_div).serialize(),
			function(response)
			{
				jQuery('#not_voted_polls_slidedown', exp_div).click(function(){
					exp_div.slideUp(400);
				});
			}
		);
	}
	exp_div.slideDown(400);
	return false;
}

function toggle_karma_changes_list(list_div)
{
	if(!list_div)
		var exp_div = jQuery('#karma_changes');
	else
		var exp_div = jQuery('#'+list_div);

	if( jQuery('li', exp_div).length == 0 )
	{
		jQuery('img', exp_div).show();
		exp_div.load(
			site_url + 'wp-content/plugins/karma_changes.php',
			jQuery('form', exp_div).serialize(),
			function(response)
			{
				jQuery('#karma_changes_slidedown', exp_div).click(function(){
					exp_div.slideUp(400);
				});
			}
		);
	}
	exp_div.slideDown(400);
	return false;
}

function clearForm(formId, select_first)
{
	if(!select_first)
		select_first = -1;
	else
		select_first = 0;
	jQuery(':input', '#' + formId).each(function(){
		var type = this.type;
		var tag = this.tagName.toLowerCase();
		if (type == 'text' || type == 'password' || tag == 'textarea')
			this.value = '';
		else if (type == 'checkbox' || type == 'radio')
			this.checked = false;
		else if (tag == 'select')
			this.selectedIndex = select_first;
	});
}

//Проверка на корректность информации, введённой в поля формы выбора новой фотки
function validateNewPhotoForm(messageDivId)
{
	//Проверка, нажат ли чекбокс "Согласен с правилами сайта"
	if(jQuery("input[name='rules_agreed']:checked", "#new_photo_form").length <= 0)
	{
		jQuery("#" + messageDivId, "#new_photo_form").html("<span class=red_notice>Вы должны согласиться с правилами сайта</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
		jQuery("input[name='rules_agreed']", "#new_photo_form").focus();
		return false;
	}
	tmp_str = parseInt( jQuery("input[type='hidden'][name='user_id']", "#new_photo_form").val() );
	if( isNaN(tmp_str) || tmp_str == 0 )
	{
		//Проверка, введено ли имя автора опроса:
		tmp_str = jQuery.trim( jQuery("input[name='author_name']", "#new_photo_form").val() );
		if(tmp_str.length <= 0)
		{
			jQuery("#" + messageDivId, "#new_photo_form").html("<span class=red_notice>Должно быть введено Ваше имя</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
			jQuery("input[name='author_name']", "#new_photo_form").select();
			return false;
		}
		if(tmp_str.split('://').length > 1)
		{
			jQuery("#" + messageDivId, "#new_photo_form").html("<span class='red_notice'>Ваше имя не должно содержать URL</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
			jQuery("input[name='author_name']", "#new_photo_form").select();
			return false;
		}
		//Проверка, введён ли email автора нового опроса:
		tmp_str = jQuery.trim( jQuery("input[name='author_email']", "#new_photo_form").val() );
		if(tmp_str.length <= 0)
		{
			jQuery("#" + messageDivId, "#new_photo_form").html("<span class=red_notice>Должен быть введён адрес Вашей электронной почты</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
			jQuery("input[name='author_email']", "#new_photo_form").select();
			return false;
		}
		//Проверка, корректен ли email автора нового опроса:
		if(!tmp_str.match( /^[\w-\.]+(\.[\w-]+)*@{1}[\w-]+(\.{1}[a-zA-Z]{2,})+$/ )) 
		{
			jQuery("#" + messageDivId, "#new_photo_form").html("<span class=red_notice>Введён некорректный адрес Вашей электронной почты</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
			jQuery("input[name='author_email']", "#new_photo_form").select();
			return false;
		}
	}
	
	//Проверка, указан ли файл фотки:
	tmp_str = pic_loaded;
	if(tmp_str.length <= 0)
	{
		jQuery('#' + messageDivId, '#new_photo_form').html('<span class="red_notice">Вы должны указать файл загружаемой фотографии</span>').fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
		return false;
	}
	
	return true;
}

//Проверка на корректность информации, введённой в поля формы публикации фотки
function validateConfirmPhotoForm(messageDivId)
{		
	//Проверка, введено ли название новой фотки:
	tmp_str = jQuery.trim( jQuery("input[name='new_photo_name']", "#confirm_photo_form").val() );
	if(tmp_str.length <= 0)
	{
		jQuery("#" + messageDivId, "#confirm_photo_form").html("<span class=red_notice>Должно быть введено название Вашей фотографии</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
		jQuery("input[name='new_photo_name']", "#confirm_photo_form").select();
		return false;
	}
	if(tmp_str.split('://').length > 1)
	{
		jQuery("#" + messageDivId, "#confirm_photo_form").html("<span class='red_notice'>Название фотографии не должно содержать URL</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
		jQuery("input[name='author_name']", "#confirm_photo_form").select();
		return false;
	}
	
	return true;
}
var stage = 0;
function show_new_photo_form() // Отображение для ИЕ - без кадрирования
{
	var self = jQuery('#new_photo_dialog');
	if(stage <= 1)
	{
		if(stage == 0)
			self.html('');
		pic_loaded = '';
		clearForm('new_photo_form');
		jQuery('#dialogUploadedPhotoMessage', '#new_photo_form').html('');
	}
	if(jQuery('form', self).length == 0 || stage == 0) // Если код формы регистрации ещё не загружался, загрузить
	{
		stage = 1;
		self.load(
			new_photo_plugin_url + 'new-photo-form-code.php',
			jQuery('#for_photo_category_field').serialize(),
			function(results)
			{
				var tabs = jQuery('#new_photo_content > ul', self);
				tabs.tabs();  // Применение механизма вкладок к форме добавления фотки
				tabs.tabs('select', 0); // Выбрать первую из вкладок
				tabs.tabs('disable', 1); // ...выключить все неиспользуемые на первом этапе вкладки
				tabs.tabs('disable', 2); // ...выключить все неиспользуемые на первом этапе вкладки
				
				//Загрузить jQuery-плагин для ajax-загрузки файлов фотографий:
				jQuery.getScript(jquery_url + 'jquery_ui_ajaxupload.js', function(){
					new Ajax_upload('#upload_button', {
						action: new_photo_plugin_url + 'upload.php', // Скрипт обработки загрузки
						name: 'new_photo_pic', // Атрибут имени input-поля для загрузки файла фотки
						autoSubmit: true, // Отправить файл на сервер сразу после его выбора
						onSubmit: function(file, extension){
							if(!extension)
							{
								jQuery('#dialogNewPhotoMessage', '#new_photo_form').html('<span class="red_notice">Тип загружаемого файла некорректен - поддерживаются только типы jpeg, gif и png.</span>').fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
								return false;
							}
							//Проверка расширения файла фотки:
							switch(extension[0].toLowerCase())
							{
								case 'jpg': break;
								case 'jpeg': break;
								case 'png': break;
								case 'gif': break;
								default:
								{
									jQuery('#dialogNewPhotoMessage', '#new_photo_form').html('<span class="red_notice">Тип загружаемого файла некорректен - поддерживаются только типы jpeg, gif и png.</span>').fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
									return false;
								}
							}
							jQuery('#loading_indicator').show();
						},
						onComplete: function(file, response){
							jQuery('#loading_indicator').hide();
							var tmp_arr = response.split('|');
							if(tmp_arr[0] == '1')
							{
								pic_loaded = tmp_arr[1];
								//jQuery('#dialogUploadedPhotoMessage', '#new_photo_form').html('<span class="green_notice">Фотография успешно загружена: '+pic_loaded+'</span>') /*.fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000)*/ ;
								jQuery('#dialogUploadedPhotoMessage', '#new_photo_form').html('<span class="green_notice">Фотография успешно загружена:<br />'+pic_loaded+'<img title="Фотография: «'+pic_loaded+'»" src="'+site_url+'wp-content/uploads/user_photo/'+pic_loaded+'" class="newphoto_preview" style="width:75px; height:auto;" /></span>').fadeIn(200); /*.fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000)*/ ;
							}
							else
							{
								jQuery("#dialogNewPhotoMessage", "#new_photo_form").html('<span class="red_notice">' + tmp_arr[0] + '</span>').fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
							}
						}
					});
				});
			}
		);
	}
	
	self.dialog('destroy');
	switch(stage)
	{
		case 1:
			self.dialog({
				title: 'Добавление фотографии',
				autoOpen: true,
				modal: false,
				position: 'center',
				open: function (event, ui){
					self.dialog('widget').find('.ui-dialog-titlebar').removeClass('ui-dialog-titlebar').addClass('newphoto_titlebar');
				},
				width: 550,
				height: 550,
				autoResize: true,
				resizable: false,
				draggable: false,
				show: 'drop',
				hide: 'drop',
				buttons:
				{
					'Отмена': function(){
						stage = 1;
						pic_loaded = '';
						self.dialog('close');
					},
					'Далее': function(){
						if(validateNewPhotoForm('dialogNewPhotoMessage') == true)
						{
							if(jQuery.browser.msie) // Для IE пропускаем этап кадрирования
								stage = 3;
							else
								stage = 2;
							show_new_photo_form();
						}
					}
				}
			});
			break;
		case 2:
			//pic_loaded - обработанное название файла фотки (убраны лишние пробелы, нелишние заменены на "_")
			self.load(
				new_photo_plugin_url + 'new-photo-form-crop-code.php?photo_filename=' + pic_loaded,
				function(results){
					//Загрузить jQuery-плагин для кадрирования:
					jQuery.getScript(jquery_url + 'jquery_ui_jcrop.js', function(){
						jQuery('img#cropbox', self).Jcrop({
							onChange: setCoords,
							onSelect: setCoords,
							keySupport: true
						});
					});
				}
			);
			//Диалоговое окно кадрирования:
			self.dialog({
				title: 'Добавление фотографии: кадрирование',
				autoOpen: true,
				modal: false,
				position: 'center',
				open: function (event, ui)
				{
					self.dialog('widget').find('.ui-dialog-titlebar').removeClass('ui-dialog-titlebar').addClass('newphoto_titlebar');
				},
				width: 550,
				autoResize: true,
				resizable: false,
				draggable: false,
				stack: true,
				show: 'drop',
				hide: 'drop',
				buttons:
				{
					'Отмена': function()
					{
						stage = 0;
						pic_loaded = '';
						self.dialog('close');
					},
					'Далее': function()
					{
						stage = 3;
						show_new_photo_form();
					}
				}
			});
			break;
		case 3:
			// Отправить данные на скрипт кадрирования:
			jQuery.post(
				new_photo_plugin_url + 'crop.php',
				jQuery('#crop_photo_form', self).serialize()
			);
			self.load(
				new_photo_plugin_url + 'new-photo-form-confirm-code.php?photo_filename='+(jQuery.browser.msie ?'':'cropped_')+pic_loaded,
				jQuery('#for_photo_category_field').serialize()
			);
			//Диалоговое окно публикации (подтверждения):
			self.dialog({
				title: 'Добавление фотографии: публикация',
				autoOpen: true,
				autoResize: true,
				modal: false,
				position: 'center',
				open: function (event, ui){
					self.dialog('widget').find('.ui-dialog-titlebar').removeClass('ui-dialog-titlebar').addClass('newphoto_titlebar');
				},
				width: 550,
				resizable: false,
				draggable: false,
				stack: true,
				show: 'drop',
				hide: 'drop',
				buttons:
				{
					'Отмена': function()
					{
						stage = 0;
						self.dialog('close');
					},
					'Опубликовать': function()
					{
						if(validateConfirmPhotoForm('dialogNewPhotoMessage'))
						{
							stage = 0;
							jQuery('#confirm_photo_form', self).append(
								'<img src="'+site_url+'wp-content/themes/default/images/loading.gif'+'" />'
							);
							jQuery('button:contains("Опубликовать")').attr('disabled', true);
							jQuery.post(
								new_photo_plugin_url + 'confirm.php?photo_filename='+pic_loaded,
								jQuery('#confirm_photo_form', self).serialize(),
								function(result)
								{
									var parts = result.split('|');
									// Если фотография была успешно опубликована, перейти на её страницу:
									if(parts[0] == 1)
										location.href = parts[1]+'?okph';
									// Если ошибки при публикации фотографии, отобразить их:
									else if(parts[0] == 0)
									{
										parts = result.split('0|');
										jQuery('#new_photo_response_message').html(parts.join('')).fadeOut(7000);
										self.dialog('close');
									}
								}
							);
						}
					}
				}
			});
			break;
	}
	self.dialog('open');
}

// Функция для ВКЛЮЧЕНИЯ формы аутентификации на форме добавления фотографии
function load_tmp_auth_form()
{
	jQuery('#user_fields_tr', '#new_photo_dialog').hide();
    jQuery('#toggle_user_fields_indicator', '#new_photo_dialog').show();
	
	setTimeout(function() {
		jQuery('#toggle_user_fields_indicator', '#new_photo_dialog').hide();
		jQuery('#user_auth_fields_tr', '#new_photo_dialog').show();
	}, 500);
}
// Функция для ОТПРАВКИ данных аутентификации с формы добавления фотографии
function tmp_login()
{
	//jQuery('#user_auth_fields_tr', '#new_photo_dialog').hide();
    jQuery('#toggle_user_fields_indicator', '#new_photo_dialog').show(); // Показать индикатор запроса к серверу
	
	jQuery.post(
		new_photo_plugin_url + 'auth.php',
		{ user_login: jQuery('#tmp_user_login','#tmp_auth_form').val(), user_password: jQuery('#tmp_user_pass','#tmp_auth_form').val() },
		function(response)
		{
			jQuery('#toggle_user_fields_indicator', '#new_photo_dialog').hide(); // Скрыть индикатор загрузки...
			response_parts = response.split('|');
			if(response_parts[1] == 0) // Ошибка аутентификации
			{
				jQuery('#user_data_tr', '#new_photo_dialog').html(response_parts[0]).fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000); // ... и вывести ответ сервера - сообщение об ошибке
			}
			else // response_parts[1] == 1, т.е. Успешный вход
			{
				jQuery('#user_auth_fields_tr', '#new_photo_dialog').hide();
				jQuery('#user_data_tr', '#new_photo_dialog').html(response_parts[0]).show(); // ... и вывести ответ сервера - сообщение об успешном входе в систему
			}
		}
	);
	return false;
}
// Функция для ВЫКЛЮЧЕНИЯ формы аутентификации на форме добавления фотографии
function load_default_fields()
{
	jQuery('#user_auth_fields_tr', '#new_photo_dialog').hide();
    jQuery('#toggle_user_fields_indicator', '#new_photo_dialog').show();
	
	setTimeout(function() {
		jQuery('#toggle_user_fields_indicator', '#new_photo_dialog').hide();
		jQuery('#user_fields_tr', '#new_photo_dialog').show();
	}, 500);
}

// -------------------------------------------------------------------- //
// -------------------- New Photopolls Script End --------------------- //
// -------------------------------------------------------------------- //

// --------------------------------------------------------------- //
// -------------------- Flyout JQuery Plugin --------------------- //
// --------------------------------------------------------------- //

/*
 * jQuery FlyOut
 * author: Jolyon Terwilliger - Nixbox Web Designs
 * website: http://nixboxdesigns.com/jquery.flyout.php
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * version 0.21 (July 21, 2008)
 * version 0.22 (July 22, 2008) 
 	notes: minor reordering to loadingSrc logic.
 * version 0.23 (August 15, 2008) 
 	added: config options for loadingText and closeTip to facilitate locale.
			Thanks Tony for the nudge.
 * version 0.24 (Oct 2, 2008) 
 	added: customize start location and size of flyout, if different 
			from thumb link. Thanks to Jake Kronika for this patch.
 * version 1.0 (Oct 11, 2008) 
 	added: support for final flyout location via destElement and destPadding: 
			define a fixed container anywhere in the document and the pic will 
			fly to that location, regardless of viewport position. 
 	fixed: clicking on open source link no longer reopens same image. 
	added: 4 callbacks for start and finish of flyOut and putAway animations. 
	fixed: putAway function to put back to correct location, in case 
			thumb has moved (page or div scroll, etc)
 * version 1.1 (Nov 16, 2008)
 	fixed: Opera 9.5+ doesn't report window.height() correctly - patched with code
			from jquery Bug 3117:  http://dev.jquery.com/ticket/3117
			note: once this is patched in jQuery core, or fixed in Opera
			this may eventually be removed.
	added: when flyOut image is completed, a customizable class 
			(default to 'shown') is appended to the thumb image container
			so an external event can trigger the click to close any open
			elements. See demo page for example.
 */

/**
 * The flyout() method provides an alternate means of loading and display sub-content
 * with a nifty flyout animation technique.
 * Currently, flyout only supports img sub-content.
 *
 * flyout() takes a single object argument:  $().flyout({param:setting, etc..})
 *
 * Settings:
 *
 *			outSpeed:	speed in milliseconds for the flyout animation - default: 1000
 *
 *			inSpeed:	speed in milliseconds for the flyback animation - default: 500
 *
 *			outEase:	the easing method to use for the flyout animation - default: swing
 *
 *			inEase:		the easing method to use for the flyback animation - default: swing
 *			
 *			loadingSrc: the image file to use while an image is being loaded prior to flyout
 *						default: none
 *						
 *			loader: 	the ID for the created flyout div that contains the sub-content
 *						this is currently only useful for multiple skinnings via CSS
 *						default: 'loader'
 *
 *			loaderZIndex: the CSS z-index for the flyout
 *						default: 500
 *
 *			widthMargin: the left and right margin space for the final flyout
 *						this value is effectively divided between the left and right margin
 *						default: 40
 *			
 *			heightMargin: the top and bottom margin space for the final flyout
 *						this value is effectively divided between the top and bottom margin
 *						default: 40
 *
 *			loadingText: text shown when image is loading
 *
 *			closeTip: tip text for image alt/title tags
 *
 *			destElement: the destination container - overrides height and widthMargins
 *						specified in CSS notation - e.g. "#picContainer"
 *						default: none
 *
 *			destPadding: number of pixels to pad when flying out to destElement
 *						default: 10
 *
 *			startOffsetX: horizontal offset added to thumb left value for start of flyout animation
 *						Hint: can be negative.
 *						default: 0
 *
 *			startOffsetY: vertical offset added to thumb top value for start of flyout animation.
 *						default: 0
 *
 *			startHeight: overrides starting height of flyout animation
 *						default: 0  (uses thumb image height by default)
 *
 *			startWidth: overrides starting width of flyout animation
 *						default: 0  (uses thumb image width by default)
 *
 *			flyOutStart: function to run at start of flyout animation
 *						default: none
 *
 *			flyOutFinish: function to run at finish of flyout animation
 *						default: none
 *
 *			putAwayStart: function to run at start of putaway animation
 *						default: none
 *
 *			putAwayFinish: function to run at finish of putaway animation
 *						default: none
 *
 * For more details see: http://nixbox.com/demos/jquery.flyout.php
 *
 * @example $('.thumb').flyout();
 * @desc standard flyouts applied to all elements with the 'thumbs' class. 
 * 
 * @example $('.thumb').flyout({loadingSrc:'images/thumb-loading.gif',
 *								outEase:'easeOutCirc',
 *								inEase:'easeOutBounce'});
 * @desc flyouts created with different ease in and ease out and a loading animation image is specified
 *
 * @name flyout
 * @type jQuery
 * @param Object options Options which control the flyout animation and content
 * @cat Plugins/Flyout
 * @return jQuery
 * @author Jolyon Terwilliger (jolyon@nixbox.com)
 */

$.fn.extend({flyout : function(options) {
	
		var shown=false;
		var animating=false;
		var $holder;
		var $thumb;
		var tloc;
		var th;
		var tw;
		var bigimg = new Image();
		var subType = 'img';
		var offset;
		
		this.click(function() {
			if (animating == true) { return false; }
	
			if (shown) { putAway(this); }
			else { flyOut(this); }
	
			return false;
		});
		
		var o = jQuery.extend({
			outSpeed : 1000,
			inSpeed : 500,
			outEase : 'swing',
			inEase : 'swing',
			loadingSrc: null,
			loader: 'loader',
			loaderZIndex: 500,
			widthMargin: 40,
			heightMargin: 40,
			loadingText : "Loading...",
			closeTip : " - Click here to close",
			destPadding: 20,
			startOffsetX: 0,
			startOffsetY: 0,
			startHeight: 0,
			startWidth: 0,
			flyOutStart: function() {},
			flyOutFinish: function() {},
			putAwayStart: function() {},
			putAwayFinish: function() {},
			shownClass: 'shown'
		}, options);
	
		function flyOut(it) {
			animating = true;
			
			$holder = $(it);
			$thumb = $('img',it);
			bigimg = new Image(); 
			sL = $(window).scrollLeft();
			sT = $(window).scrollTop();
			tloc = $thumb.offset();
			tloc.left += o.startOffsetX;
			tloc.top += o.startOffsetY;
			th = (o.startHeight > 0 ? o.startHeight : $thumb.height());
			tw = (o.startWidth > 0 ? o.startWidth : $thumb.width());
			
			$('<div></div>').attr('id',o.loader)
							.appendTo('body')
							.css({'position':'absolute',
								'top':tloc.top,
								'left':tloc.left,
								'height':th,
								'width':tw,
								'opacity':.5,
								'display':'block',
								'z-index':o.loaderZIndex});

			if (o.loadingSrc) {
				$('#'+o.loader).append($('<img/>')
								.load(function() {
										$(this)
											.css({'position':'relative',
												 'top':th/2-(this.height/2),
												 'left':tw/2-(this.width/2)})
											.attr('alt',o.loadingText);
										})
									.attr('src',o.loadingSrc)
								);
			}
			else {
				$('#'+o.loader).css('background-color','#000')
								.append($('<span></span>')
										  	.text(o.loadingText)
											.css({'position':'relative',
												 'top':'2px',
												 'left':'2px',
												 'color':'#FFF',
												 'font-size':'9px'})
									 	);
			}

			$(bigimg).load(function() {
				imgtag = $('<img/>').attr('src',$holder.attr('href')).attr('title',$thumb.attr('title')+o.closeTip).attr('alt',$thumb.attr('alt')+o.closeTip).height(th).width(tw);

				o.flyOutStart.call(it);

				if (o.destElement) {
					var $dest = $(o.destElement);
					max_x = $dest.innerWidth() - (o.destPadding*2);
					max_y = $dest.innerHeight() - (o.destPadding*2);
				}
				else {
					max_x = $(window).width()-o.widthMargin;
					if ($.browser.opera) 
						wh = document.getElementsByTagName('html')[0].clientHeight;
					else 
						wh = $(window).height();
					max_y = wh-o.heightMargin;
				}

				width = bigimg.width;
				height = bigimg.height;
	
				x_dim = max_x / width;
				y_dim = max_y / height;
	
				if (x_dim <=y_dim) {
					y_dim = x_dim;
				} else {
					x_dim = y_dim;
				}
				
				dw = Math.round(width  * x_dim);
				dh = Math.round(height * y_dim);
				if (dw>width) {dw = width}
				if (dh>height) {dh = height}
				
				if (o.destElement) {
					dPos = $dest.offset();
					dl = Math.round(($dest.outerWidth()/2)-(dw/2)+dPos.left);
					dt = Math.round(($dest.outerHeight()/2)-(dh/2)+dPos.top);
				}
				else {
					dl = Math.round(($(window).width()/2)-(dw/2)+sL);
					if ($.browser.opera) 
						wh = document.getElementsByTagName('html')[0].clientHeight;
					else 
						wh = $(window).height();
					dt = Math.round((wh/2)-(dh/2)+sT);
				}
				
				$('#'+o.loader).empty().css('opacity',1).append(imgtag).width('auto').height('auto').animate({top:dt, left:dl},{duration:o.outSpeed, queue:false, easing:o.outEase});
				$('#'+o.loader+' '+subType).animate({height:dh, width:dw}, o.outSpeed, o.outEase,
				function() {
					o.flyOutFinish.call(it);
					shown = it;
					$holder.addClass(o.shownClass);
					animating=false;
					$('#'+o.loader+' '+subType).click(function(){putAway(null)})
				});
			});
			bigimg.src = $holder.attr('href');
		}
	
		function putAway(next) {
			// for future development:
			if (animating == true || shown == false) {return false;}
			o.putAwayStart.call(shown);
			
			animating = true;
			
			// check $thumb loc again, in case it moved...
			tloc = $thumb.offset();
			tloc.left += o.startOffsetX;
			tloc.top += o.startOffsetY;

			$('#'+o.loader).animate({top:tloc.top, left:tloc.left},{duration:o.inSpeed, queue:false, easing:o.inEase});
			$('#'+o.loader+' '+subType).animate({height:th, width:tw}, 
				o.inSpeed, o.inEase, 
				function() {
					$('#'+o.loader).css('display','none').remove(); 
					o.putAwayFinish.call(shown);
					animating=false;
					bigimg=null;			
					if (next && next != shown) {
						shown = false;
						flyOut(next);
					}
					shown = false;
					$holder.removeClass(o.shownClass);
				});
		}
		
		return this;	// never break the chain
		
	}
});

// ------------------------------------------------------------------- //
// -------------------- Flyout JQuery Plugin End ------------- //
// ------------------------------------------------------------------- //

// -------------------------------------------------------------------- //
// -------------------- Simple Rater JQuery Plugin -------------------- //
// -------------------------------------------------------------------- //

/*
 * jQuery simple rater
 *
 * Copyright (c) 2008 Yılmaz Uğurlu, <yilugurlu@gmail.com>, http://www.2nci.com
 * Licensed under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 * 
 * $Version: 1.0, 2008.11.15, rev. 29
 */
 
(function($){
	$.fn.rater = function(options){
		var defaults = {
			url: 'vote.php',
			enabled: true,
			favstar: false,
			favtitle: 'save as favorite',
			mediapath: '.',
			value: 0,
			indicator: true,
			callback: false
		};
		var holder = $(this);
		var opts = $.extend(defaults, options);
		opts.value = Math.abs(Math.round(opts.value));
		opts.value = opts.value > 5 ? 5 : opts.value;
		var ratingui = '';
		var ratingcls = 'star_'+opts.value;
		if(!opts.favstar)
		{
			ratingui += '<ul class="rating '+ratingcls+'">';
			for (var i = 1; i <= 5; i++) 
			{
				if(opts.enabled)
					ratingui += '<li class="s_'+i+'"><a href="#" title="'+i+'">'+i+'</a></li>';
				else
					ratingui += '<li class="s_'+i+'"><span>'+i+'</span></li>';
			}
		}
		else // favorite
		{
			ratingui += '<ul class="fav '+ratingcls+'"><li class="s_1">';
			if(opts.enabled)
				ratingui += '<a href="#" title="'+opts.favtitle+'">'+(opts.value==1 ? 0 : 1)+'</a></li>';
			else
				ratingui += '<span>'+(opts.value==1 ? 0 : 1)+'</span></li>';
		}
		// indicator
		if(opts.indicator && !opts.favstar)
			ratingui += '<li class="indicator"><img src="'+opts.mediapath+'indicator.gif" alt="loading" /></li>';

		ratingui += '</ul>';  
		holder.html(ratingui);
		var indicator = holder.find('ul > li.indicator');
		holder.find('ul > li > a').click(function(){
			var value  = $(this).html();
			if(opts.callback != false)
			{
				opts.callback(value);
				
				// --- By Ahaenor 05.09.2009 --- //
				var newcls = 'star_'+value;
				holder.find('ul').removeClass(ratingcls).addClass(newcls);
				ratingcls = newcls;
				// --- End By Ahaenor --- //
				
				return false;
			}
			if(opts.indicator && !opts.favstar)
				indicator.show();
			// ajax
			$.post(opts.url,
				{vote: value},
				function(data)
				{
					if(opts.indicator && !opts.favstar) indicator.hide(); // hide indicator		
				}
			);
			var newcls = 'star_'+value;
			holder.find('ul').removeClass(ratingcls).addClass(newcls);
			ratingcls = newcls;
			if(!opts.favstar)
			{
				$(holder.find('ul > li')).each(function(i){
					if($(this).attr('class') != 'indicator') // if element is not indicator
						$(this).html('<span>'+i+'</span>');
				});
			}
			else
			{
				$(this).html(value==1 ? '0' : '1');
			}
			return false;
		});
		return this;
	}
})(jQuery);

// ------------------------------------------------------------------------ //
// -------------------- Simple Rater JQuery Plugin End -------------------- //
// ------------------------------------------------------------------------ //

// ------------------------------------------------------------------- //
// -------------------- Photopolls Voting Script --------------------- //
// ------------------------------------------------------------------- //

if(!site_url)
{
	var site_url = 'http://' + window.location.hostname + '/';
}
var jquery_url = site_url + 'wp-includes/js/jquery/';
var plugin_url = site_url + 'wp-content/plugins/photo-polls/';
var theme_url = site_url + 'wp-content/themes/default/';

jQuery(document).ready(function(){
	jQuery('div.sidebar_photo_img a.flyout').removeClass('flyout'); // Убрать эффект вылетания для фотографий в сайдбаре
	jQuery('a.flyout').flyout({
		loadingText: 'Загрузка...',
		widthMargin: 10,
		heightMargin: 10,
		closeTip: 'Щёлкните мышью, чтобы закрыть фотографию' /*,
		loadingSrc: theme_url + 'images/loading.gif'*/
	});
	
	//Загрузить и подключить jquery-плагин для голосования в виде звёздочек
	jQuery('.star_rating').each(function(){
		var id_photopoll = jQuery(this).attr('id');
		jQuery(this).rater({
			//url: 'vote.php',
			enabled: true,
			//favstar: false,
			//favtitle: 'Добавить в Избранное',
			indicator: false,
			callback: function(vote){
				jQuery('input[name="rating"]', '#'+id_photopoll+'_form').val(vote);
				//jQuery(this).value = vote;
			}
		});
	});
});

// Функция для отправки голоса на сервер.
// Аргумент id_photopoll - ID фотоопроса; Javascript-ID формы голосования этого опроса имеет вид [id_photopoll]_form.
function send_vote(id_photopoll)
{
	if( parseInt(jQuery('input[name="rating"]', '#'+id_photopoll+'_form').val()) )
	{
		var tmp_form_data = jQuery('#'+id_photopoll+'_form').serialize();
		jQuery('#'+id_photopoll+'_form').html('<img src="'+theme_url+'images/loading.gif" title="Подождите, Ваш голос обрабатывается" />');
		jQuery('#'+id_photopoll+'_form').load(
			plugin_url+'vote.php',
			tmp_form_data,
			function(results)
			{
				//...
			}
		);
	}
	else
		alert('Пожалуйста, укажите рейтинг фотографии');
}

// ----------------------------------------------------------------------- //
// -------------------- Photopolls Voting Script End --------------------- //
// ----------------------------------------------------------------------- //

// ----------------------------------------------------------------------------- //
// -------------------- Registration/Authentication Script --------------------- //
// ----------------------------------------------------------------------------- //

if(!site_url)
{
	var site_url = 'http://' + window.location.hostname + '/';
}
//Для полей выбора даты, "календарного" типа:
jQuery(document).ready(function(){
	jQuery(document).ready(function() { //Предварительная подготовка страницы
			jQuery('#reg_dialog').hide(); //Скрыть форму регистрации
			jQuery('#auth_dialog').hide(); //Скрыть форму входа на сайт
			jQuery('#logout_dialog').hide(); //Скрыть форму выхода
	});
	//Применить настройки локали для календарного поля:
	jQuery(function(jQuery){
		jQuery.datepicker.regional['ru'] = {
			clearText: 'Очистить', clearStatus: '',
			closeText: 'Закрыть', closeStatus: '',
			closeAtTop: false,
			prevText: '&#x3c;Пред.',  prevStatus: '',
			prevBigText: '&#x3c;&#x3c;', prevBigStatus: '',
			nextText: 'След.&#x3e;', nextStatus: '',
			nextBigText: '&#x3e;&#x3e;', nextBigStatus: '',
			hideIfNoPrevNext: true,
			currentText: 'Сегодня', currentStatus: '',
			monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь',
			'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
			monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн',
			'Июл','Авг','Сен','Окт','Ноя','Дек'],
			monthStatus: '', yearStatus: '',
			changeMonth: true,
			changeYear: true,
			gotoCurrent: true,
			yearRange: '-50:+00',
			navigationAsDateFormat: true,
			weekHeader: 'Не', weekStatus: '',
			dayNames: ['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'],
			dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'],
			dayNamesMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'],
			dayStatus: 'DD', dateStatus: 'D, M d',
			/*dateFormat: 'dd M, yy г.', firstDay: 1,
			altField: '#user_dob', altFormat: 'yy-mm-dd',*/
			initStatus: '', isRTL: false};
		jQuery.datepicker.setDefaults(jQuery.datepicker.regional['ru']);
	});
});

var to_return; // Для метода validateRegForm() и проверки существования логина и почты
function validateRegForm(messageDivId)
{
	//-------------------------------Чекбокс "согласен с правилами сайта"----------------------------//
	//Проверка, нажат ли чекбокс "Согласен с правилами сайта"
	if(jQuery("input[name='rules_agreed']:checked", "#reg_form").length <= 0)
	{
		jQuery("#" + messageDivId, "#reg_form").html("<span class=red_notice>Вы должны согласиться с правилами сайта</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
		jQuery("input[name='rules_agreed']", "#reg_form").focus();
		return false;
	}
	
	//-------------------------------Логин----------------------------//
	//Проверка, введён ли логин:
	var tmp_str = jQuery.trim( jQuery("input[name='user_login']", "#reg_form").val() );
	if(tmp_str.length <= 0)
	{
		jQuery('#' + messageDivId, '#reg_form').html('<span class="red_notice">Вы должны ввести логин</span>').fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
		jQuery("input[name='user_login']", "#reg_form").select();
		return false;
	}
	//Проверка на длину логина (не должен быть короче 5 символов):
	if((tmp_str.length > 0) && (tmp_str.length < 5))
	{
		jQuery('#' + messageDivId, '#reg_form').html('<span class="red_notice">Логин не должен быть короче 5 символов</span>').fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
		jQuery("input[name='user_login']", '#reg_form').select();
		return false;
	}
	//Проверка на символы, входящие в логин (должны быть только латинские буквы, числа, подч., минус и точка):
	if(!tmp_str.match( /^[a-zA-Z]+[a-zA-Z0-9_\-.]*$/))
	{
		jQuery("#" + messageDivId, "#reg_form").html("<span class=red_notice>Введён некорректный логин</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
		jQuery("input[name='user_login']", "#reg_form").select();
		return false;
	}
	
	//-------------------------------Пароль----------------------------//
	//Проверка, введён ли пароль:
	var tmp_str = jQuery.trim( jQuery("input[name='user_pass']", "#reg_form").val() );
	if(tmp_str.length <= 0)
	{
		jQuery("#" + messageDivId, "#reg_form").html("<span class=red_notice>Вы должны ввести пароль</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
		jQuery("input[name='user_pass']", "#reg_form").select();
		return false;
	}
	//Проверка на длину пароля (не должен быть короче 3 символов):
	if((tmp_str.length > 0) && (tmp_str.length < 3))
	{
		jQuery("#" + messageDivId, "#reg_form").html("<span class=red_notice>Пароль не должен быть короче 3 символов</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
		jQuery("input[name='user_pass']", "#reg_form").select();
		return false;
	}
	//Проверка на символы, входящие в пароль (пробельных символов быть не должно):
	if(tmp_str.match( /\s+/))
	{
		jQuery("#" + messageDivId, "#reg_form").html("<span class=red_notice>Введён некорректный пароль</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
		jQuery("input[name='user_pass']", "#reg_form").select();
		return false;
	}
	
	if(tmp_str != jQuery.trim( jQuery("input[name='user_pass_conf']", "#reg_form").val() ))
	{
		jQuery("#" + messageDivId, "#reg_form").html("<span class=red_notice>Введены несовпадающие пароли</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
		jQuery("input[name='user_pass']", "#reg_form").select();
		jQuery("input[name='user_pass_conf']", "#reg_form").val('');
		return false;
	}
	
	//-------------------------------Имя----------------------------//
	//Проверка, введено ли имя:
	tmp_str = jQuery.trim( jQuery("input[name='user_firstname']", "#reg_form").val() );
	if(tmp_str.length <= 0)
	{
		jQuery("#" + messageDivId, "#reg_form").html("<span class=red_notice>Вы должны указать Ваше имя</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
		jQuery("input[name='user_firstname']", "#reg_form").select();
		return false;
	}
	//Проверка на длину имени (не должно быть короче 2 символов):
	if((tmp_str.length > 0) && (tmp_str.length < 2))
	{
		jQuery("#" + messageDivId, "#reg_form").html("<span class=red_notice>Имя не должно быть короче 2 символов</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
		jQuery("input[name='user_firstname']", "#reg_form").select();
		return false;
	}
	//Проверка на символы, входящие в имя (должны быть только латинские либо кириллические буквы, пробелы и минусы (с последних не должно начинаться)):
	if(tmp_str.match( /[^A-Za-zА-Яа-я\- ]+/ ) || tmp_str.match( /^[\- ]+/ ))
	{
		jQuery("#" + messageDivId, "#reg_form").html("<span class=red_notice>Введено некорректное имя</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
		jQuery("input[name='user_firstname']", "#reg_form").select();
		return false;
	}
	
	//-------------------------------Фамилия----------------------------//
	//Проверка, введена ли фамилия:
	tmp_str = jQuery.trim( jQuery("input[name='user_lastname']", "#reg_form").val() );
	if(tmp_str.length <= 0)
	{
		jQuery("#" + messageDivId, "#reg_form").html("<span class=red_notice>Вы должны указать Вашу фамилию</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
		jQuery("input[name='user_lastname']", "#reg_form").select();
		return false;
	}
	//Проверка на длину фамилии (не должно быть короче 2 символов):
	if((tmp_str.length > 0) && (tmp_str.length < 2))
	{
		jQuery("#" + messageDivId, "#reg_form").html("<span class=red_notice>Фамилия не должна быть короче 2 символов</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
		jQuery("input[name='user_lastname']", "#reg_form").select();
		return false;
	}
	//Проверка на символы, входящие в фамилию (должны быть только латинские либо кириллические буквы, пробелы и минусы (с последних не должно начинаться)):
	if(tmp_str.match( /[^A-Za-zА-Яа-я\- ]+/ ) || tmp_str.match( /^[\- ]+/ ))
	{
		jQuery("#" + messageDivId, "#reg_form").html("<span class=red_notice>Введена некорректная фамилия</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
		jQuery("input[name='user_lastname']", "#reg_form").select();
		return false;
	}
	
	//-------------------------------E-Mail----------------------------//
	//Проверка, введён ли email:
	tmp_str = jQuery.trim( jQuery("input[name='user_email']", "#reg_form").val() );
	if(tmp_str.length <= 0)
	{
		jQuery("#" + messageDivId, "#reg_form").html("<span class=red_notice>Должен быть введён адрес Вашей электронной почты</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
		jQuery("input[name='user_email']", "#reg_form").select();
		return false;
	}
	//Проверка, корректен ли email:
	if(!tmp_str.match( /^[\w-\.]+(\.[\w-]+)*@{1}[\w-]+(\.{1}[a-zA-Z]{2,})+$/ )) 
	{
		jQuery("#" + messageDivId, "#reg_form").html("<span class=red_notice>Введён некорректный адрес Вашей электронной почты</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
		jQuery("input[name='user_email']", "#reg_form").select();
		return false;
	}
	
	//-------------------------------ICQ----------------------------//
	//Если введён номер ICQ, выполнить проверки:
	tmp_str = jQuery.trim( jQuery("input[name='user_icq']", "#reg_form").val() );
	if(tmp_str.length > 0)
	{
		//Проверка на длину номера (не должен быть короче 2 символов):
		if(tmp_str.length < 2)
		{
			jQuery("#" + messageDivId, "#reg_form").html("<span class=red_notice>Номер ICQ не должен быть короче 2 символов</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
			jQuery("input[name='user_icq']", "#reg_form").select();
			return false;
		}
		//Проверка на символы, входящие в номер (должны быть только цифры 0-9):
		if(!tmp_str.match( /^[0-9]+$/ )) 
		{
			jQuery("#" + messageDivId, "#reg_form").html("<span class=red_notice>Введён некорректный номер ICQ</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
			jQuery("input[name='user_icq']", "#reg_form").select();
			return false;
		}
	}
	
	//-------------------------------Skype----------------------------//
	//Если введён номер Skype, выполнить проверки:
	tmp_str = jQuery.trim( jQuery("input[name='user_skype']", "#reg_form").val() );
	if(tmp_str.length > 0)
	{
		//Проверка на длину номера (не должен быть короче 2 символов):
		if(tmp_str.length < 2)
		{
			jQuery("#" + messageDivId, "#reg_form").html("<span class=red_notice>Номер Skype не должен быть короче 2 символов</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
			jQuery("input[name='user_skype']", "#reg_form").select();
			return false;
		}
		//Проверка на символы, входящие в номер (должны быть только латинские буквы):
		if(!tmp_str.match( /^[a-zA-Z]+$/ )) 
		{
			jQuery("#" + messageDivId, "#reg_form").html("<span class=red_notice>Введён некорректный номер Skype</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
			jQuery("input[name='user_skype']", "#reg_form").select();
			return false;
		}
	}
	
	//-------------Узнать, есть ли в БД указанные юзером логин и e-mail---------------//
	jQuery.ajax({
		url: site_url + 'wp-content/plugins/register-plus/reg-ajax-check.php',
		data: jQuery('#reg_form').serialize(),
		type: 'GET',
		async: false,
		dataType: 'json',
		success: function(json_resp)
		{
			// Проверка, нет ли введённого логина в БД:
			if(json_resp.login == 1)
			{
				jQuery("#" + messageDivId, "#reg_form").html("<span class=red_notice>Пользователь с указанным логином уже зарегистрирован - выберите другой логин</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
				jQuery("input[name='user_login']", "#reg_form").select();
				to_return = false;
			}
			// Проверка, нет ли введённого email в БД:
			else if(json_resp.e_mail == 1)
			{
				jQuery("#" + messageDivId, "#reg_form").html("<span class=red_notice>Пользователь с указанным адресом e-mail уже зарегистрирован - выберите другой адрес e-mail</span>").fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
				jQuery("input[name='user_email']", "#reg_form").select();
				to_return = false;
			}
			else
			{
				to_return = true;
			}
		}
	});
	return to_return;
}

function show_reg_form()
{
	var self = jQuery('#reg_dialog');
	if(jQuery('form', self).length == 0) // Если код формы регистрации ещё не загружался, загрузить
	{
		jQuery('img', self).show();
		self.load(
			site_url + 'wp-content/plugins/register-plus/reg-form-code.php',
			function(data)
			{
				jQuery('#user_dob', '#reg_form').datepicker({dateFormat: 'yy-mm-dd'});
			}
		);
	}
	if(typeof self.dialog('isOpen') != 'boolean')
	{
		self.dialog({
			title: 'Регистрация',
			modal: false,
			position: 'top',
			open: function (event, ui) {
				self.dialog('widget').find('.ui-dialog-titlebar').removeClass('ui-dialog-titlebar').addClass('reg_titlebar');
			},
			close: function() {
				clearForm('reg_form');
			},
			width: 550,
			//height: 700,
			autoResize: true,
			closeOnEscape: true,
			resizable: false,
			draggable: false,
			show: 'drop',
			hide: 'drop',
			buttons:
			{
				'Отмена': function()
				{
					clearForm('reg_form');
					self.dialog('close');
				},
				'Регистрация': function()
				{
					if(validateRegForm('dialogRegMessage') == true)
					{
						jQuery('#loading_indicator').show();
						var message_div = jQuery('#reg_response_message');
						//Поле даты пока что является div-ом, сделать его скрытым полем формы:
						var user_dob = new Date(Date.parse( jQuery('#user_dob', '#reg_form').datepicker('getDate') ));
						user_dob = user_dob.getFullYear()+'-'+(user_dob.getMonth()+1)+'-'+user_dob.getDate();
						jQuery('#reg_form').append('<input type="hidden" name="user_dob" value="' + user_dob + '" />');
						message_div.load(
							site_url + 'wp-content/plugins/register-plus/reg-ajax.php',
							jQuery('#reg_form').serialize(),
							function (results)
							{
								//...
							}
						);
						self.dialog('close');
						
						var e_mail = jQuery.trim( jQuery("input[name='user_email']", '#reg_form').val() );
						message_div.dialog({
							title: 'Завершение регистрации',
							modal: false,
							position: 'center',
							open: function (event, ui)
							{
								message_div.dialog('widget').find('.ui-dialog-titlebar').removeClass('ui-dialog-titlebar').addClass('reg_titlebar');
							},
							width: 550,
							height: 300,
							autoResize: true,
							resizable: false,
							draggable: true,
							stack: true,
							show: 'drop',
							hide: 'drop',
							buttons:
							{
								'Вернуться на сайт': function(){
									message_div.dialog('close');
								},
								'Перейти на почту': function(){
									e_mail = e_mail.split('@');
									message_div.dialog('close');
									window.open( 'http://' + e_mail[1] );
								}
							}
						});
						
						clearForm('reg_form');
					}	
				}
			}
		});
		
		self.keypress(function(e){
			if(e.which == 13) // If Enter key pressed
				self.dialog('option', 'buttons')['Регистрация'].apply(self); 
		});
		
		self.show();
	}
	else
	{
		if(!self.dialog('isOpen'))
			self.dialog('open');
	}
}

function show_auth_form()
{
	var self = jQuery('#auth_dialog');
	jQuery('#send_pass_forgotten', self).hide();
	jQuery('#pass_forgotten', self).toggle(function(){ jQuery('#send_pass_forgotten', self).fadeIn(500); }, function(){ jQuery('#send_pass_forgotten', self).fadeOut(500); });
	jQuery('#pass_forgotten', self).click(function(){
		if(jQuery('#pass_forgotten_field', self).val().length == 0)
			jQuery('#pass_forgotten_field', self).val('1');
		else
			jQuery('#pass_forgotten_field', self).val('');
	});
	jQuery('#send_pass_forgotten', self).click(function(){
		if(jQuery('#pass_forgotten_field', self).val() == 1)
		{
			// Проверка на значение, введёное в поле логина:
			var tmp_str = jQuery.trim( jQuery("input[name='log']", self).val() );
			if(tmp_str.length == 0)
				jQuery('#auth_error', self).html('<span class="red_notice">Вы должны указать логин</span>').fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
			else if(tmp_str.length > 0 && tmp_str.length < 5)
				jQuery('#auth_error', self).html('<span class="red_notice">Логин не должен быть короче 5 символов</span>').fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
			// Всё успешно, отправка запроса:	
			else
			{
				jQuery.post(
					site_url + 'wp-auth-pass-forgot.php',
					jQuery('#auth_form', self).serialize(),
					function(response)
					{
						jQuery('#pass_forgotten', self).removeAttr('checked');
						jQuery('#send_pass_forgotten', self).fadeOut(500);
						var parts = response.split('|');
						if(parts[0] == '1')
						{
							jQuery('#auth_error').html(parts[1]).fadeIn(200);
							jQuery('#pass_forgotten', self).hide();
						}
						else
							jQuery('#auth_error').html(parts[1]).fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
					}
				);
			}
		}
	});
	if(typeof self.dialog('isOpen') != 'boolean')
	{
		var dialog = self.dialog({
			title: 'Вход на сайт',
			modal: false,
			position: 'center',
			open: function (event, ui)
			{
				self.dialog('widget').find('.ui-dialog-titlebar').removeClass('ui-dialog-titlebar').addClass('auth_titlebar');
			},
			width: 550,
			height: 325,
			autoResize: true,
			closeOnEscape: true,
			resizable: false,
			draggable: false,
			show: 'drop',
			hide: 'drop',
			buttons:
			{
				'Отмена': function()
				{
					clearForm('auth_form');
					self.dialog('close');
					jQuery('#send_pass_forgotten', self).hide();
				},
				'Войти': function()
				{
					jQuery.post(
						site_url + 'wp-auth-customized.php',
						jQuery('#auth_form').serialize(),
						function(response)
						{
							if(response.length != 0)
								jQuery('#auth_error').html(response).fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
							else
								location.href = '';
						}
					);	
				}
			}
		});
		
		self.keypress(function(e){
			if(e.which == 13) // If Enter key pressed
				self.dialog('option', 'buttons')['Войти'].apply(self); 
		});
		
		self.show();
	}
	else
	{
		if(!self.dialog('isOpen'))
		{
			jQuery('#auth_error').html('');
			self.dialog('open');
		}
	}
}

function logout()
{
	var self = jQuery('#logout_dialog');
	if(typeof self.dialog('isOpen') != 'boolean')
	{
		console.log('Here');
		self.dialog({
			title: 'Выход из системы',
			modal: false,
			position: 'center',
			open: function(event, ui)
			{
				self.dialog('widget').find('.ui-dialog-titlebar').removeClass('ui-dialog-titlebar').addClass('logout_titlebar');
			},
			width: 550,
			height: 250,
			autoResize: true,
			resizable: false,
			draggable: false,
			show: 'drop',
			hide: 'drop',
			buttons:
			{
				'Нет': function()
				{
					self.dialog('close');
				},
				'Да': function()
				{
					jQuery.get(
						site_url + 'wp-auth-logout.php',
						function(response)
						{
							location.href = '';
						}
					);
				}
			}
		});
		//console.log(typeof self.dialog('isOpen'));
		//self.show();
	}
	else
	{
		if(!self.dialog('isOpen'))
			self.dialog('open');
	}
	return false;
}

// --------------------------------------------------------------------------------- //
// -------------------- Registration/Authentication Script End --------------------- //
// --------------------------------------------------------------------------------- //

// --------------------------------------------------------- //
// -------------------- ARS Script --------------------- //
// --------------------------------------------------------- //

// Функция для рейтингового голосоваания по опросу, фотоопросу, комментарию и т.д.
function ars_send_vote(id_target, id_user, type, vote)
{
	var self = jQuery('#ars_'+jQuery.trim(type)+'_'+id_target);
	id_user = parseInt(id_user);
	if(id_user > 0)
	{
		jQuery('.karma_'+type+'_approve', self).addClass('karma_vote_disabled').click(function(){return false;});
		jQuery('.karma_'+type+'_disapprove', self).addClass('karma_vote_disabled').click(function(){return false;});
		jQuery('small', self).addClass('karma_vote_disabled');
		jQuery('.karma_number', self).html('<img alt="Загрузка..." src="'+site_url+'wp-content/themes/default/images/loading.gif'+'" />');
		jQuery.get(
			site_url + 'wp-content/plugins/ars/ars_vote.php',
			{'id_target': id_target, 'id_user': id_user, 'type': type, 'vote':vote},
			function(response)
			{
				response = parseFloat(response);
				response = (response > 0 ? '+'+response : response);
				jQuery('.karma_number', self)
					.removeClass('karma_pos')
					.removeClass('karma_neg')
					.removeClass('karma_empty')
					.addClass( (response == 0.0?'karma_empty':(response > 0.0?'karma_pos':'karma_neg')) )
					.html(response);
			}
		);
	}
	else if(jQuery('.not_reg_message', self).length <= 0)
	{
		jQuery('.karma_number', self).after('<div class="not_reg_message">Для оценки <a href="#" onclick="show_reg_form(); return false;">зарегистрируйтесь</a>, пожалуйста!</div>').fadeIn(200).fadeTo(3500, 1.0).fadeOut(1000);
	}
}

// ---------------------------------------------------------- //
// -------------------- ARS Script End ---------------------- //
// ---------------------------------------------------------- //
