
$(document).ready(function()
	{
		$("a[rel=fancybox]").fancybox({
			'transitionIn'		: 'none',
			'transitionOut'		: 'none',
			'titleShow'     : false,
			hideOnContentClick: true,
	    	zoomSpeedIn: 1500,
	    	zoomSpeedOut:1600
		});

		 $("a[rel=fancy-tour]").fancybox({
    	hideOnContentClick: true,
    	overlayShow: true,
    	overlayOpacity: 0.5,
    	zoomSpeedIn: 1500,
    	zoomSpeedOut:600
    });

	$("#topinfo").corner("10px tr").corner("10px bl");

	$('.list').each(function(n, list)
		{
		// меняем цвет кнопки панели при наведении мыши
		$('.ico a', this).mouseenter(function()
			{
			var data = $('.data', $(list));
			var image = $('.ico img', list);

			if (image.attr('src') == '/themes/final/images/buttons/slide-up.gif' || image.attr('src') == '/themes/final/images/buttons/slide-up-hover.gif' )
				{
				image.attr('src', '/themes/final/images/buttons/slide-up-hover.gif');
				}
			else
				{
				image.attr('src', '/themes/final/images/buttons/slide-down-hover.gif');
				}
			});
		// меняем цвет кнопки панели при убирании мыши
		$('.ico a', this).mouseleave(function()
			{
			var data = $('.data', $(list));
			var image = $('.ico img', list);
			if (image.attr('src') == '/themes/final/images/buttons/slide-up-hover.gif' || image.attr('src') == '/themes/final/images/buttons/slide-up.gif')
				{
				image.attr('src', '/themes/final/images/buttons/slide-up.gif');
				}
			else
				{
				image.attr('src', '/themes/final/images/buttons/slide-down.gif');
				}
			});

		// переворичиваем кнопку панели при клике мыши
		$('.ico a', this).click(function()
			{
			var data = $('.data', $(list)).slideToggle();
			var image = $('.ico img', list);
			if (data.css('height') == '1px')
				{
				image.attr('src', '/images/buttons/list-up.gif');
				}
			else
				{
				image.attr('src', '/images/buttons/list-down.gif');
				}
			});

		});


	/* Закрываем выбор поиска */
	$('body').click(function()
		{
		if($('#searchOptions').css('display')=='block')
			$('#searchOptions').css('display','none');
		});

	// Запускаем отключение видео ссылок
	if (controller == 'lines' && action == 'message')
		{
		switchVideoLinksOff();
		}

	$(document).ready(function()
		{
		text = $('#Message_text').val();
		$('#Message_text').val(text);
		$('#Message_text').focus();
		});

	});

/*  */
function responseTo(id_reply, id_group, username, id_recepient, id_trend)
	{
	if (controller == 'site' || action == 'message')
		{
		window.location = "/lines/my?id_reply="+id_reply
		+"&id_group="+id_group
		+"&username="+username
		+"&id_trend="+id_trend
		+"&id_recepient="+id_recepient;
		}
	else {
		$('#Message_reply_to').val(id_reply);
		$('#Message_id_group').val(id_group);
		$('#Message_id_recepient').val(id_recepient);
		$('#Message_id_trend').val(id_trend);
		$('html,body').animate({scrollTop: '0px'}, 200);
		$('#Message_text').focus().val('@' + username + ' ');
		}
	}

/*  */
function responseMailTo(id_recepient, username)
	{
	$('#Mail_id_recepient').val(id_recepient);
	$('#mailRecepient').val(username);
	$('html,body').animate({scrollTop: '0px'}, 200);
	$('#Mail_text').focus();
	}

/* Форма поиска */
function selectSearch(id)
	{
	if (id == 'users')
		{
		$('#search-in-name').html('По пользователям');
		$('#searchtype_users').attr('checked', 'checked');
		$('#form_search').attr('action', '/search/users');
		}
	else if (id == 'groups')
		{
		$('#search-in-name').html('По группам');
		$('#searchtype_groups').attr('checked', 'checked');
		$('#form_search').attr('action', '/search/groups');
		}
	else if (id == 'posts')
		{
		$('#search-in-name').html('По сообщениям');
		$('#searchtype_posts').attr('checked', 'checked');
		$('#form_search').attr('action', '/search/posts');
		}
	$('#searchOptions').attr('class','selected-'+id);
	$('#searchOptions').fadeOut('fast');
	}

/* Показать форму поиска */
function showSearchOption()
	{
	$('#searchOptions').show();
	}

/* Скрыть форму поиска */
function hideSearchOption()
	{
	$('#searchOptions').fadeOut('fast');
	}


/////////////
//
///// КНОПК�?y
//
/////////////

/* Удаление сообщения администратором */

function adminMsgDelete(id_message)
	{
	this.inner = '<label for="promt">Введите причину удаления сообщения:</label>'
	+'<textarea class="message" id="promt"></textarea>';
	var oPromtAdminMsgDel = new messageBox(
		'promtAdminMsgDel',
		'Принудительное удаление сообщения',
	  	this.inner,
	  	{
		close:
			{
			title: 'Отменить'
			},
		add:
			{
			title: 'Удалить',
			onclick: function()
				{
				var reason = $('#' + 'promt').val();
				// Отправляем сообщение об ошибке
				$.ajax(
					{
					method: "get",
					url: "/lines/delete",
					data: 'id_message='+id_message+'&'+'reason='+reason+'&ajax=delete_message_force',
					beforeSend:function()
						{
						$('#message-'+id_message).addClass('loading');
			        	},
					success: function(html)
						{
						$(html).replaceAll('#message-'+id_message);
						oPromtAdminMsgDel.actionDestroy();
						},
					error:function()
						{
						alert('error');
						}
					});
				}
			}
		});
	oPromtAdminMsgDel.actionCreate();
	}

/* Удаление собственного сообщения пользователем */
function userMsgDelete(id_message)
	{
	$.ajax(
		{
		method: "get",url: "/ajax/msgdelete",data: 'id_message='+id_message+'&ajax=delete_message',
		beforeSend:function()
			{
			$('#message-'+id_message).addClass('loading');
       		},
		success: function(html)
			{
			$('#message-'+id_message).fadeOut();
			rpmy_msgCountDecrease();
			},
		error:function()
			{
			alert('error');
			}
		});

	}

/* Восстановление сообщения администратором */
function adminMsgRestore(id_message)
	{
	$.ajax(
		{
		method: "get",
		url: "/ajax/msgrestore",
		data: 'id_message='+id_message+'&ajax=restore_message_force',

		beforeSend:function()
			{
			$('#message-'+id_message).addClass('loading');
       		},

		success: function(html)
			{
			$(html).replaceAll('#message-'+id_message);
			initHoverable();
			},
		error:function()
			{
			alert('error');
			}
		});
	}

/* Добавление/удаление из фаворитов */
function userSetFavorite(id_message)
	{
	$.ajax(
		{
		method: 'get',
		url: '/ajax/setfavorite',
		data: 'id_message='+id_message+'&ajax=1', // ajax = 1 - для определения аякс запроса.
		beforeSend: function()
			{
			$('#message-'+id_message).addClass('loading');
			},
		success: function(html)
			{
			setTimeout("$('#message-"+id_message+"').removeClass('loading');",300);
			if (html == 'added')
				{
				$('#message-'+id_message+' .favorite').attr('class','unfavorite show');
				$('#message-'+id_message+' .favorite').attr('title','Удалить из избранного');
				rpmy_favCountIncrease();
				}
			else if (html == 'removed')
				{
				//$('#message-'+id_message).css('display','none');
				$('#message-'+id_message+' .unfavorite').attr('class','favorite');
				$('#message-'+id_message+' .unfavorite').attr('title','Добавить в избранное');
				rpmy_favCountDecrease();
				}
			},
		error:function()
			{
			alert(error);
			}
		});
	}




/* Правая панель - счётчик сообщений +1 */
function rpmy_msgCountIncrease()
	{
	count = $('#rpanel_msgCount').html();
	count++;
	$('#rpanel_msgCount').html(count);
	}

/* Правая панель - счётчик сообщений -1 */
function rpmy_msgCountDecrease()
	{
	count = $('#rpanel_msgCount').html();
	count--;
	$('#rpanel_msgCount').html(count);
	}


/* Правая панель - счётчик сообщений +1 */
function rpmy_favCountIncrease()
	{
	count = $('#rpanel_favCount').html();
	count++;
	$('#rpanel_favCount').html(count);
	}

/* Правая панель - счётчик сообщений -1 */
function rpmy_favCountDecrease()
	{
	count = $('#rpanel_favCount').html();
	count--;
	$('#rpanel_favCount').html(count);
	}

/* Открывает форму отправления сообщения об ошибке */
function bugtrackerMessage()
	{
	this.inner = '<label for="debugMessage">Пожалуйста, опишите последовательность действий, которые привели к ошибке:</label><textarea class="message" id="debugMessage"></textarea>';
	var oBugTracker = new messageBox('bugTracker', 'Сообщить об ошибке',this.inner,{
		close:
			{
			title: 'Отменить',
			onclick: function()
				{
				oBugTracker.actionDestroy();
				}
			},
		add:
			{
			title: 'Сообщить',
			onclick: function()
				{
				var text = $('#' + 'debugMessage').val();
				text = encodeURI(text);

				if (text != '')
					{
					$.ajax(
						{
						method: 'post',
						url: '/ajax/addbug',
						data: 'BugTrack[text]=' + text + '&BugTrack[ajax]', // ajax = 1 - для определения аякс запроса.
						beforeSend:function()
							{
					       	$('#' + oBugTracker.id_element).addClass('loading');
					    	},
					    complete:function(html)
					    	{
					    	//alert(html);
					       	$('#' + oBugTracker.id_element).removeClass('loading');
							},
						error: function(html)
							{
							alert('ERROR: '.html);
							},
						success: function(html)
							{
		    				$('#bugTracker_add').css('display','none');
							oBugTracker.actionDestroy();
							alertMessage('Сообщение отправленно.', 'Благодарим вас за потраченное время.В ближайшее время мы исправим ошибку.');
							}
						});
					}
				else
					{
					oBugTracker.actionDestroy();
					alertMessage('Отправка сообщения.', 'Нельзя отправить пустое сообщение');
					}
				}
			}
		});
		oBugTracker.actionCreate();
	}


/** Открывает формы авторизации **/
function openSigninForm()
	{
	if ( $('#signinBox').hasClass("show") )
		{
		$('#signinBox').removeClass('show');
		}
	else
		{
		$('#signinBox').addClass('show');
		}
	}



/***********************************    *****************************************/
/********************************   MORE  *****************************************/
/***********************************    *****************************************/

 /* Проверяем есть ли новые сообщения
 * @access public
 * @return void
 **/
$(document).ready(function()
	{
	setTimeout("checkNewMessage()",30000);
	});

/**
 * Проверяем есть ли новое сообщение setCountNewMessage()
 * Если идет постинг (accessToNotification=false) проверка не делается (return)
 * time - время через которое проверяется колличество ноовых сообщений
 * @access public
 * @return void
 **/
function checkNewMessage()
	{
	if(accessToNotification)
		{
		 queryCountNewMessage();
		}
	else
		{
		return;
		}
	setTimeout("checkNewMessage()",30000);
	}

/**
 * Выводит блок оповещения о новых сообщениях
 * @access public
 * @return void
 **/
function showNewMessageNotification()
	{
	setMessageNotificationTitle();
	if(countNewMessage>0)
		{
		$('#result_notification').css('display','block');// показываем блок с извещением о новых сообщениях
		$('#moreNewMessage').html('Новых сообщений: '+countNewMessage); // вставляем текст
		initHoverable();
		}
	else
		{
		$('#result_notification').css('display','none');
		}
	}

/**
 * Устанавливает в тайтл страницы количество новых сообщений
 * @access public
 * @return void
 **/
function setMessageNotificationTitle()
	{
	var title;
	try{
		title = $('title').html();
	}catch(e){
      title='';
	}
	var re = /\([0-9]*\)/;
	try{
		title = title.replace(re, "");
	}catch(e){
      title=$('title').html();
}


	if (countNewMessage !== undefined && countNewMessage > 0)
		{
		title = '('+countNewMessage+') ' + title;
		}

	title = '<title>' + title +'</title>';

//	$('title').text(title);
	$(title).replaceAll('title');

	//title = $('title').html();

	//alert('4 title=' +title);

	//$('title').text(title);
	}

/**
*
* Устанавливаем гловальную переменную countNewMessage - кол. нов сообщений
* Делаем аякс запрос
* глобальные переменные
* controller - id текущего controller
* action - id текущего action
* id_message_start - id_message первого в ленте сообщения
* countNewMessage - кол. нов сообщений
**/
function queryCountNewMessage()
	{
	$.ajax(
		{
		type: "POST" ,
		url: '/' + controller + '/' + action,
		data:
			'id_message_start='	+ id_message_start+
			'&id_message='+id_message+
			'&id_group=' + id_group_global+
			'&id_trend=' + id_trend+
			'&ajax=count_new_message',
		success: function(n)
			{
			countNewMessage = n;
			showNewMessageNotification();
			}
		});
	}

/**
* Вставка внизу страницы старых сооющений при клике на кнопку Еще
* глобальные переменные:
* controller - id текущего controller
* action - id текущего action
* id_message_last - id_message последнего сообщения в ленте
**/
function moreOldMessage()
	{
	$.ajax(
		{
		type: "POST" ,
		url: '/' + controller + '/' + action,
		data:  	 'id_message_last='+id_message_last+
				'&id_message='+id_message+
				'&id_group='+id_group_global+
				'&id_trend=' + id_trend+
				'&ajax=more_old_message',

		beforeSend:function()
			{
	       $('#moreOldMessage').addClass('loading');
	       $('#moreOldMessage').text('');

	    	},
	    complete:function()
	    	{
			setTimeout("$('#form_sendpost').removeClass('disabled')", 300);
			},
		success: function(html)
			{
			$('#listMessages').append(html);
			$('#moreOldMessage').removeClass('loading');
			$('#moreOldMessage').text('Ещё');
			if(id_message_last == id_message_first_published)
				$('#moreOldMessage').css('display','none');

			initHoverable();
			}
		});
	}

/**
* Вставка вверху страницы новых сооющений при клике на кнопку оповещения о новых сообщений
* глобальные переменные:
* controller - id текущего controller
* action - id текущего action
* id_message_start - id_message последнего сообщения в ленте
**/
function moreNewMessage()
	{
	$.ajax(
		{
		type: "POST" ,
		url: '/' + controller + '/' + action,
		data:   'id_message_start='+id_message_start+
				'&id_message='+id_message+
			    '&ajax=more_new_message'+
				'&id_trend=' + id_trend+
			    '&id_group='+id_group_global,
		beforeSend:function()
			{
	       $('#moreNewMessage').addClass('loading');
	       $('#moreNewMessage').text('');
	    	},
	    complete:function()
	    	{
			setTimeout("$('#form_sendpost').removeClass('disabled')", 3000);
			},
		success: function(html)
			{
			//$('#listMessages').prepend(html);
			$(html).replaceAll('#listMessages');
			$('#moreNewMessage').addClass('loading');
		  	$('#moreNewMessage').removeClass('loading');
			countNewMessage = 0;
			showNewMessageNotification();
			initHoverable();
			}
		});
	}

/* Я хз  че это)) */
$(document).ready(function()
	{
	/* Выделение сообщений */
	$('.withlabel').each(function(n, user)
		{
		$(this).focus(function()
			{
			$(this).addClass('selected');
			clearText(this);
			});
		$(this).blur(function()
			{
			$(this).removeClass('selected');
			clearText(this);
			});
		});
	});



/*  ВАЛ�?ДАЦ�?Я */
$().ready(function()
	{
	// Валидация формы быстрой авторизации
	$("#guestComments").validate(
		{
		rules:
			{
			'User[username]':
				{
	      		minlength: 3,
	      		maxlength: 25
	      		},
			'User[email]':
				{
	      		email: true
				},
			'Message[text]':
				{
		        minlength: 10,
		        maxlength: 210
				}
	    	},
		messages:
			{
			'User[username]':
				{
		        minlength: "Не менее 2 символов",
		        maxlength: "Не более 12 символов"
				},
			'User[email]':
				{
		        email: "Формат адреса электронной почты vasyan@example.ru"
				},
			'Message[text]':
				{
		        minlength: "Слишком короткий комментарий , минимум 10 символов",
		        maxlength: "Слишком длинный комментарий, максимум 210 символов"
				}
	    	}
    	});

	// Валидация формы гостевых коментариев
	$("#signupQuickly").validate(
		{
		rules:
			{
			'User[username]':
				{
	      		minlength: 4,
	      		maxlength: 25
	      		},
			'User[email]':
				{
	      		email: true
				}
	    	},
		messages:
			{
			'User[username]':
				{
		        minlength: "Не менее 2 символов",
		        maxlength: "Не более 12 символов"
				},
			'User[email]':
				{
		        email: "Формат адреса электронной почты vasyan@example.ru"
				}




	    	}
    	});
    // Валидация формы смены пароля
    $("#set_password").validate(
		{
		rules:
			{
			'User[password]':
				{
		      	required: true,
	      		rangelength: [6, 24]
				},
			'User[password2]':
				{
				required: true,
				rangelength: [6, 24],
				equalTo: "#setPassword"
				}
	    	},
	    messages:
	    	{
			'User[password]':
				{
		        required: "Введите новый пароль",
				rangelength: "Пароль - от 6 до 24 символов"
				},
			'User[password2]':
				{
		      	required: "Подтвердите пароль!",
				rangelength: "Пароль - от 6 до 24 символов",
				equalTo: "Подтверждение пароля не принято!"
				}
			}
    	});
    // Валидация формы инфо о юзере
    $("#set_info").validate(
    	{
    	rules:
	    	{
			'UserProfile[name]':
				{
		        minlength: 2,
		        maxlength: 25
				},
			'UserProfile[surname]':
				{
		        minlength: 3,
		        maxlength: 25
				},
			'UserProfile[country]':
				{
		        minlength: 3,
		        maxlength: 25
				},
			'UserProfile[city]':
				{
		        minlength: 3,
		        maxlength: 25
				},
			'UserProfile[url]':
				{
	      		url: true
				},
			'UserProfile[about]':
				{
		        minlength: 10,
		        maxlength: 210
				}

			},

	    messages:
	    	{
			'UserProfile[name]':
				{
		        minlength: "Слишком короткое имя, минимум 2 символа",
		        maxlength: "Слишком длинное имя, максимум 25 символов"
				},
			'UserProfile[surname]':
				{
		        minlength: "Слишком короткая фамилия, минимум 3 символа",
		        maxlength: "Слишком длинная фамилия, максимум 25 символов"
				},
			'UserProfile[country]':
				{
		        minlength: "Слишком короткое название страны, минимум 3 символа",
		        maxlength: "Слишком длинное название страны, максимум 25 символов"
				},
			'UserProfile[city]':
				{
		        minlength: "Слишком короткое название города, минимум 3 символа",
		        maxlength: "Слишком длинное название города, максимум 25 символов"
				},
			'UserProfile[url]':
				{
	      		url: "Введите корректный URL"
				},
			'UserProfile[about]':
				{
		        minlength: "Слишком короткое описание, минимум 10 символов",
		        maxlength: "Слишком длинное описание, максимум 210 символов"
				}
			}
		});
    // Валидация настройки аватара
    $("#set_avatar").validate(
    	{
		rules:
			{
			'UserProfile[avatar]':
				{
	      		accept: "jpg|gif|png"
				}
			},
	    messages:
	    	{
			'UserProfile[avatar]':
				{
	      		required: "Выберите файл с изображением",
	      		accept: "Мы поддерживаем только форматы: jpg, gif или png"
				}
			}
		});

	// Валидация настройки бэкграунда
    //$("#set_background").validate(
    //	{
	//	rules:
	//		{
	//		'UserProfile[background]':
	//			{
	//      		accept: "jpg|gif|png"
	//			}
	//		},
	//    messages:
	//    	{
	//		'UserProfile[background]':
	//			{
	//     		required: "Выберите файл с изображением",
	//      		accept: "Мы поддерживаем только форматы: jpg, gif или png"
	//			}
	//		}
	//	});

// сброс бэкграунда
$(document).ready(function(){
  $("#resetBackground").click(function(){
    $.ajax(
			{
			type: "GET" ,
			url: '/' + controller + '/' + action +'/',
			data:   'UserProfile[background]=reset',

			success: function(html)
				{
				$('body').css('background','#a5d2e5 url(/storage/users/backgrounds/bg.png) repeat-x top');
				}
			});
		});
});

// выбор бэкграунда
$(document).ready(function(){
   $('#colorSelector').ColorPicker({
		color: '#a5d2e5',
		onShow: function (cp) {
			$(cp).fadeIn(500);
			return false;
		},
		onHide: function (cp) {
			$(cp).fadeOut(500);
			return false;
		},

		onChange: function (hsb, hex, rgb) {
			$('#colorSelector div').css('backgroundColor', '#' + hex);
		},
		onSubmit: function(hsb, hex, rgb) {
			$.ajax(
			{
				type: "GET" ,
				url: '/' + controller + '/' + action +'/',
				data:   'UserProfile[background]=reset&id_color='+ hex
			});
			$('body').css('background','#' + hex);
		}
  });
});

// сброс уведомления об изменении бэкграунда на 0
$(document).ready(function(){
  $("#reset_notice_background").click(function(){
    $.ajax(
			{
			type: "GET" ,

			url: '/account/background',
			data:   'notice[background]=0',

			success: function(html)
				{
				$('#notice_background').fadeOut(1000);
				}
			});
		});
});

// сброс уведомления об изменении rss на 0
$(document).ready(function(){
  $("#reset_notice_rss").click(function(){
    $.ajax(
			{
			type: "GET" ,
			url: '/account/rss',
			data:   'notice[rss]=0',

			success: function(html)
				{
				$('#notice_rss').fadeOut(1000);
				}
			});
		});
});

// сброс уведомления о возможности загрузки аватара на 0
$(document).ready(function(){
  $("#reset_notice_avatar").click(function(){
    $.ajax(
			{
			type: "GET" ,
			url: '/account/avatar',
			data:   'notice[avatar]=0',

			success: function(html)
				{
				$('#notice_avatar').fadeOut(1000);
				}
			});
		});
});


    // Валидация настройки email
    $("#set_email").validate(
    	{
		rules:
			{
			'User[email]':
				{
			  	required: true,
			  	email: true
				}
			},
	    messages:
	    	{
			'User[email]':
				{
	      		required: "Введите новый адрес почтового ящика",
	      		email: "Формат адреса электронной почты vasyan@example.ru"
				}
			}
		});
    // Валидация настроек рсс
    $("#set_rss").validate(
    	{
		rules:
			{
			'Rss[link]':
				{
      			url:true
				}
			},
	    messages:
	    	{
			'Rss[link]':
				{
	      		url: "Неверный формат rss потока, задайте валидный url"
				}
	    	}
		});
    // Валидация формы авторизации
    $("#authSignin").validate(
    	{
		rules:
			{
			'User[username]':
				{
	      		required:true
				},
			'User[password]':
				{
	      		required:true
				}
			},
	    messages:
	    	{
			'User[username]':
				{
	      		required: 'Введите логин'
				},
			'User[password]':
				{
	      		required: 'Введите пароль'
				}
	    	}
    	});
    /*------------- Формы групп ----------------*/
    // Валидация формы создания группы
    $("#createGroup").validate(
    	{
		rules:
			{
			'Group[name]':
				{
			  	required: true,
	      		rangelength: [6, 25]
				}
			},
	    messages:
	    	{
			'Group[name]':
				{
		      	required: "Введите название группы",
				rangelength: "Длинна название группы должна быть от 6 до 24 символов"
				}
	    	}
    	});
    // Валидаци формы добавления аватара
    $("#groupAvatar").validate(
    	{
		rules:
			{
			'GroupProfile[avatar]':
				{
	      		accept: "jpg|gif|png"
				}
			},
	    messages:
	    	{
			'GroupProfile[avatar]':
				{
	      		required: "Выберите файл с изображением",
	      		accept: "Мы поддерживаем только форматы: jpg, gif или png"
				}
	    	}
    	});
    // Валидация формы настроек группы
    $("#groupSettings").validate(
    	{
	    messages:
	    	{
			'GroupProfile[country]':
				{
		        minlength: "Слишком короткое название страны, минимум 3 символа",
		        maxlength: "Слишком длинное название страны, максимум 25 символов"
				},
			'GroupProfile[city]':
				{
		        minlength: "Слишком короткое название города, минимум 3 символа",
		        maxlength: "Слишком длинное название города, максимум 25 символов"
				},
			'GroupProfile[url]':
				{
	      		url: "Введите корректный URL"
				}
	    	}
    	});
    // �?нициализируем блоки с классов hvrbl
	initHoverable();
});

/**


 * Открываем блок с превьюшками прикрепленных к сообщению картинок
 * @access public
 * @return void
 **/
function openAttacheImage(id_message, parent)
	{
	// проверяем создан ли элемент, если да, то ничего не делаем
	var element = document.getElementById('attacheimg-'+id_message);
	if (element === null)
		{ // несоздан
		$.ajax(
			{
			method: 'get',
			url: '/ajax/openattacheimg',
			data:
				'id_message='+id_message,
			beforeSend: function()
				{
				$('#message-'+id_message).addClass('loading');
				},
			success: function(html)
				{
				setTimeout("$('#message-"+id_message+"').removeClass('loading');",300);
				$('#message-'+id_message+' .text').after(html);
				$('#attacheimg-'+id_message).show();
				initHoverable();
				initHoverableAttache();
				},
			error:function()
				{
				alert(error);
				}
			});
		}
	else if($(element).css('display') == 'none')
		{
		$(element).show();
		}
	else
		{
		var link = $('#attimg-' + $(parent).attr('rel')).attr('href');
		window.location = link;
		}
	}

/**
 *

 * @access public
 * @return void
 **/
function closeAttacheImage(id_message)
	{
	var element = $('#attacheimg-'+id_message);
	$(element).hide();
	}

/* �?нициирует hvrbl блоки */
function initHoverable()
	{
	/* Выделение сообщений */
	$('.hvrbl').each(function(n, user)
		{
		$(this).mouseenter(function()
			{
			$(this).addClass('selected');
			});
		$(this).mouseleave(function()
			{
			$(this).removeClass('selected');
			});
		});
	}
/**
 * �?нициируем наведение на ссылки с картинками, для подсветки тамбов
 * соответствующих этой ссылке
 *
 * @access public
 * @return void
 **/
function initHoverableAttache()
	{
	/* Выделение прикрепленных картинок */
	$('.ico-type-3').each(function(n, user)
		{
		$(this).mouseenter(function()
			{
			$('#attimg-' + $(this).attr('rel')).addClass('highlight');
			});
		$(this).mouseleave(function()
			{
			$('#attimg-' + $(this).attr('rel')).removeClass('highlight');
			});
		});
	}

/* -- Функции для работы с прикрепленными к сообщениям ссылками --  */
/**
 * Открывает видео аттач
 * @access public
 * @return void
 **/
function openAttache(id_message,id_link)
	{
	// Проверяем стоит ли флеш плеер
	if (flash_version()[0] >= 8 ) // установлена 6я или выше версия плагина, можно показать флешку
		{
		// проверяем создан ли элемент, если да, то ничего не делаем
		var element = document.getElementById('attache-'+id_message+'-'+id_link);
		if (element === null) // несоздан
			{
			$.ajax(
				{
				method: 'get',
				url: '/ajax/openattache',
				data:
					'id_message='+id_message+
					'&id_link='+id_link,
				beforeSend: function()
					{
					$('#message-'+id_message).addClass('loading');
					},
				success: function(html)
					{
					setTimeout("$('#message-"+id_message+"').removeClass('loading');",300);
					$('#message-'+id_message+' .text').after(html);
					$('#attache-'+id_message+'-'+id_link).show();
					},
				error:function()
					{
					alert(error);
					}
				});
			}
		else if($(element).css('display') == 'none')
			{
			$(element).show();
			}
		else
			{
			$(element).hide();
			}
		}
	else
		{
		var html = '<div id="attache-'
		+ id_message
		+ '-'
		+ id_link
		+ '"><div id="has_no_flash">У вас установлена устаревшая версия проигрывателя Adobe Flash. <a href="http://www.adobe.com/go/getflashplayer/">Загрузите новый проигрыватель Flash</a>.</div></div>';
		$('#message-'+id_message+' .text').after(html);
		}
	}


/* Пробегается и превращает джаваскрипт ссылки в обычные */
function switchVideoLinksOff()
	{
	$('.shortLink').each(function()
		{
		$(this).removeAttr('onclick');
		$(this).attr('href',$(this).html());
		$(this).attr('target','_blank');
		})
	}


/**
 * Закрываем блок с атаченным видео
 * @access public
 * @return void
 **/
function closeAttache(id_message,id_link)
	{
	$('#attache-'+id_message+'-'+id_link).hide();
	}


//
// Автозаполнение
//
$(document).ready(function()
	{
	// --- Автозаполнение - личная почта ---
	$("#mailRecepient").autocomplete("/ajax/AutocompleteUser",
		{
		delay:10,
		minChars:2,
		matchSubset:1,
		autoFill:true,
		matchContains:1,
		cacheLength:10,
		selectFirst:true,
		formatItem:liFormat_friendsList,
		maxItemsToShow:10,
		onItemSelect:mailFriendsList_selectItem
		});
	});

// --- //  Автозаполнение - личная почта ---
function liFormat_friendsList (row, i, num)
	{
	if (row[2] == 1)
		{

		var result = '<b>' + row[0] + '</b>';
		}
	else
		{
		var result = row[0];
		}
	return result;
	}

// Функции для автозаполнения - личная почта
function mailFriendsList_selectItem(li)
	{
	$('#Mail_id_recepient').val(li.extra[0]);
	}

	/// скроллинг на главной
    jQuery(document).ready(function() {
        var el = jQuery('#scroll').children();
        if (el.size() > 3) {
            el.each(function(i) {
                jQuery(this).attr('id','row'+i);
            });
            setTimeout('listSlideUp()', 5000);
            setTopMargin ();
        }
    });

    function listSlideUp() {
        jQuery("#row0").slideUp(3000, function() {
            jQuery("#row0+div").remove().insertAfter("#scroll div:last");
            setTopMargin ();
            jQuery(this).show();
            setTimeout('listSlideUp()', 5000);
        });
    }

    function setTopMargin () {
        topId = jQuery("#row0+div").attr("id");
        y1 = pageY(document.getElementById(topId));
        nextId = jQuery("#"+topId+"+div").attr("id");
        y2 = pageY(document.getElementById(nextId));
        topElementHeight = 80;
        jQuery("#row0").css("height",topElementHeight+"px");
        jQuery("#scroll").css("margin-top","-"+topElementHeight+"px");
    }

    function pageY(elem) {
        return elem.offsetParent ?
               elem.offsetTop + pageY( elem.offsetParent ) :
               elem.offsetTop;
    }
////


$(document).ready(function(){
  $("#add_trend").click(function(){
  		formFocus('#Message_text');
  		$('#MessageTrend').toggle();
  		var MessageTitle = $('#MessageTitle').css("display");
  		if (MessageTitle == 'none') {
	  		$('#MessageTitle').css('display','block');
	  		$('#MessageTrendTitle').css('display','none');
  		}
  		else
  		{
	  		$('#MessageTitle').css('display','none');
	  		$('#MessageTrendTitle').css('display','block');
  		}
		});
});

$(document).ready(function(){
  $("#add_trend2").click(function(){
  		formFocus('#Message_text');
  		$('#MessageTrend').toggle();
  		var MessageTitle = $('#MessageTitle').css("display");
  		if (MessageTitle == 'none') {
	  		$('#MessageTitle').css('display','block');
	  		$('#MessageTrendTitle').css('display','none');
  		}
  		else
  		{
	  		$('#MessageTitle').css('display','none');
	  		$('#MessageTrendTitle').css('display','block');
  		}
		});
});

$(document).ready(function(){
  $("#upload_trend_avatar").click(function(){
  		addTrendAvatar();
		});
});