function changeCategory(p) {
	var id = $("select[name='category']").val();
	if (id) {
		switch (p) {
		case 'articles':
   		location.href = '/articles/categories/' + id;
			break;
		case 'questions':
   		location.href = '/questions/' + id;
			break;
		}
   }
}

/* Показывает/скрывает вопрос */
function toggleQuestion(n) {
	var elLi = $('#q'+n);
	var elAnswer = $('div.answer', elLi);
	if (elAnswer.css('display') == 'none') {
		elAnswer.slideDown(200);
		$('div.question', elLi).addClass('active');
	} else {
		elAnswer.slideUp(200);
		$('div.question', elLi).removeClass('active');
	}
}

/* Отправляет вопрос юристу */
function sendQuestion(f) {
	var elUsername = $("input[name='Username']", f);
	if (elUsername.val() == '') {
		alert('Введите имя');
		elUsername.focus();
		return false;
	}
	var elUseraddress = $("input[name='Useraddress']", f);
	if (elUseraddress.val() == '') {
		alert('Введите адрес');
		elUseraddress.focus();
		return false;
	}
	var elCode = $("input[name='Code']", f);
	if (elCode.val().length != 4) {
		alert('Число введено неверно');
		elCode.focus();
		return false;
	}
	var elCategory = $("select[name='CategoryId']", f);
	if (elCategory.val() == '') {
		alert('Выберите категорию');
		elCategory.focus();
		return false;
	}
	var elContent = $("textarea[name='Content']", f);
	if (elContent.val() == '') {
		alert('Напишите вопрос');
		elContent.focus();
		return false;
	}
	var params = {
		SendQuestion: 0,
		Username: elUsername.val(),
		Useraddress: elUseraddress.val(),
		Code: elCode.val(),
		CategoryId: elCategory.val(),
		Content: elContent.val(),
		Link1: $("input[name='Link']", f).val()
	};
	$.ajax({
		type: 'POST',
		url: '/actions/ajax.php',
		data: params,
		dataType: 'json',
		success: successSendQuestion,
		error: errorSendRequest
	});
	$(":input", f).attr('disabled', 'disabled');
	return false;
}

/* Обрабатывает успешную отправку вопроса */
function successSendQuestion(data) {
	var elForm = $("#sendQuestion");
	$(":input", elForm).removeAttr('disabled');
	if (data.status == 'OK') {
		alert('Ваше сообщение отправлено. Спасибо!');
		$("input[name='Username']", elForm).val('');
		$("input[name='Useraddress']", elForm).val('');
		$("input[name='Code']", elForm).val('');
		$("select[name='CategoryId']", elForm).val('');
		$("textarea[name='Content']", elForm).val('');
	} else {
 		alert('Число введено неверно');
		$("input[name='Code']", elForm).focus();
	}
}

/* Обрабатывает ошибку при отправке вопроса */
function errorSendRequest(event, request, settings) {
	alert('Ошибка при отправке вопроса ('+request+').');
	var elForm = $("#sendQuestion");
	$(":input", elForm).removeAttr('disabled');
}

/* Авторизует пользователя */
function loginUser(f) {
	// Проверяем логин
	var elNick = $(':text[name="Nick"]', f);
	var Nick = elNick.val();
	if (Nick == '') {
		alert('Введите логин');
		elNick.focus();
		return false;
	}
	
	// Проверяем пароль
	var elPassword = $(':password[name="Password"]', f);
	var Password = elPassword.val();
	if (Password == '') {
		alert('Введите пароль');
		elPassword.focus();
		return false;
	}
	
	var params = {
		Login: 0,
		Nick: Nick,
		Password: Password,
		Remember: ($('#Remember-Login').attr('checked'))? 'yes' : 'no'
	};
	
	$.ajax({
		type: 'POST',
		url: '/actions/ajax.php',
		data: params,
		dataType: 'json',
		success: successLoginUser,
		error: errorLoginUser
	});
	$(":input", f).attr('disabled', 'disabled');
	return false;
}

/* Обрабатывает успешную отправку вопроса */
function successLoginUser(data) {
	if (data.status == 'OK') {
		window.location.reload();
	} else {
		var elForm = $("#auth-logout form");
		$(":input", elForm).removeAttr('disabled');
 		alert(data.message);
	}
}

/* Обрабатывает ошибку при отправке вопроса */
function errorLoginUser(event, request, settings) {
	alert('Ошибка при отправке вопоса ('+request+').');
	var elForm = $("#auth-logout form");
	$(":input", elForm).removeAttr('disabled');
}

/* Авторизует пользователя */
function loginUser2(f) {
	// Проверяем логин
	var elNick = $(':text[name="Nick"]', f);
	var Nick = elNick.val();
	if (Nick == '') {
		alert('Введите логин');
		elNick.focus();
		return false;
	}
	
	// Проверяем пароль
	var elPassword = $(':password[name="Password"]', f);
	var Password = elPassword.val();
	if (Password == '') {
		alert('Введите пароль');
		elPassword.focus();
		return false;
	}
	
	var params = {
		Login: 0,
		Nick: Nick,
		Password: Password,
		Remember: ($('#Remember-Login2').attr('checked'))? 'yes' : 'no'
	};
	
	$.ajax({
		type: 'POST',
		url: '/actions/ajax.php',
		data: params,
		dataType: 'json',
		success: successLoginUser2,
		error: errorLoginUser2
	});
	$(":input", f).attr('disabled', 'disabled');
	return false;
}

/* Обрабатывает успешную отправку вопроса */
function successLoginUser2(data) {
	if (data.status == 'OK') {
		window.location = '/';
	} else {
		var elForm = $("div.password form");
		$(":input", elForm).removeAttr('disabled');
		$('#login-form').hide();
		$('#login-error').show();
	}
}

/* Обрабатывает ошибку при отправке вопроса */
function errorLoginUser2(event, request, settings) {
	alert('Ошибка при отправке данных ('+request+').');
	var elForm = $("div.password form");
	$(":input", elForm).removeAttr('disabled');
}

/* Скрывает и показывает надписи в полях ввода Логин-Пароль */
function checkInput(input, event) {
	var elInput = $("#auth-logout input."+input);
	if (elInput.val() == '') {
		if (event == 'focus') {
			elInput.removeClass('bg');
		} else {
			elInput.addClass('bg');
		}
	}
}

/* Регистрирует пользователя */
function registerUser(f) {
	// Проверяем имя
	var elName = $(':text[name="Name"]', f);
	var Name = elName.val();
	if (Name == '') {
		alert('Введите имя');
		elName.focus();
		return false;
	}
	
	// Проверяем ник
	var elNick = $(':text[name="Nick"]', f);
	var Nick = elNick.val();
	if (Nick == '') {
		alert('Введите никнейм');
		elNick.focus();
		return false;
	}
	
	// Проверяем e-mail
	var elEmail = $(':text[name="Email"]', f);
	var Email = elEmail.val();

	if (Email == '') {
		alert('Введите e-mail');
		elEmail.focus();
		return false;
	}
	var validEmail = /(.+)@(.+)\.(.+)/;
	if (!validEmail.test(Email)) {
		alert('Введите правильный e-mail');
		elEmail.focus();
		return false;
	}

	// Проверяем пароль
	var elPassword = $(':password[name="Password"]', f);
	var Password = elPassword.val();
	if (Password == '') {
		alert('Введите пароль');
		elPassword.focus();
		return false;
	}
	var elPassword2 = $(':password[name="Password2"]', f);
	if (Password != elPassword2.val()) {
		alert('Пароли не совпадают');
		elPassword2.focus();
		return false;
	}
	
	// Проверяем код
	var elCode = $(':text[name="Code"]', f);
	var Code = elCode.val();
	if (Code.length != 4) {
		alert('Число введено неверно');
		elCode.focus();
		return false;
	}
	
	var params = {
		RegisterUser: 0,
		Name: Name,
		Nick: Nick,
		Email: Email,
		Password: Password,
		Code: Code,
		Info: $('textarea[name="Info"]', f).val()
	};
	
	$.ajax({
		type: 'POST',
		url: '/actions/ajax.php',
		data: params,
		dataType: 'json',
		success: successRegisterUser,
		error: errorRegisterUser
	});
	$(":input", f).attr('disabled', 'disabled');
	return false;
}

/* Обрабатывает успешную регистрацию пользователя */
function successRegisterUser(data) {
	if (data.status == 'OK') {
		$('#register-form').hide();
		$('#register-ok').show();
	} else {
		var elForm = $('div.register form');
		$(':input', elForm).removeAttr('disabled');
 		alert(data.message);
	}
}

/* Обрабатывает ошибку при регистрации пользователя */
function errorRegisterUser(event, request, settings) {
	alert('Ошибка при отправке данных ('+request+').');
	var elForm = $('div.register form');
	$(":input", elForm).removeAttr('disabled');
}

/* Отправляет регистрационные данные */
function sendPassword(f) {
	// Проверяем ник и e-mail
	var elNick = $(':text[name="Nick"]', f);
	var Nick = elNick.val();
	var elEmail = $(':text[name="Email"]', f);
	var Email = elEmail.val();
	if (Nick == '' && Email == '') {
		alert('Введите никнейм');
		elNick.focus();
		return false;
	}
	
	var params = {
		SendPassword: 0,
		Nick: Nick,
		Email: Email
	};
	
	$.ajax({
		type: 'POST',
		url: '/actions/ajax.php',
		data: params,
		dataType: 'json',
		success: successSendPassword,
		error: errorSendPassword
	});
	$(":input", f).attr('disabled', 'disabled');
	return false;
}

/* Обрабатывает успешную регистрацию пользователя */
function successSendPassword(data) {
	$('#password-form').hide();
	if (data.status == 'OK') {
		$('#password-ok').show();
	} else {
		var elForm = $('div.password form');
		$(':input', elForm).removeAttr('disabled');
		$('#password-error').show();
	}
}

/* Обрабатывает ошибку при регистрации пользователя */
function errorSendPassword(event, request, settings) {
	alert('Ошибка при отправке данных ('+request+').');
	var elForm = $('div.password form');
	$(":input", elForm).removeAttr('disabled');
}

/* Отображает форму для восстановления пароля */
function showPasswordForm() {
	$('#password-error').hide();
	$('#password-form').show();
	return false;
}

/* Отображает форму для авторизации */
function showLoginForm() {
	$('#login-error').hide();
	$('#login-form').show();
	return false;
}

/* Отправляет данные пользователя */
function updateSettings(form) {
	// Проверяем e-mail
	var elName = $(':text[name="Name"]', form);
	var Name = elName.val();
	
	var elEmail = $(':text[name="Email"]', form);
	var Email = elEmail.val();
	if (Email == '') {
		alert('Введите e-mail');
		elEmail.focus();
		return false;
	}

	var validEmail = /(.+)@(.+)\.(.+)/;
	if (!validEmail.test(Email)) {
		alert('Введите правильный e-mail');
		elEmail.focus();
		return false;
	}
	
	var params = {
		UpdateSettings: 0,
		Name: Name,
		Email: Email,
		Info: $('textarea[name="Info"]', form).val()
	};
	
	$.ajax({
		type: 'POST',
		url: '/actions/ajax.php',
		data: params,
		dataType: 'json',
		success: successUpdateSettings,
		error: errorUpdateSettings
	});
	$(":input", form).attr('disabled', 'disabled');
	$("#status").show();
	return false;
}

/* Обрабатывает успешное изменение данных */
function successUpdateSettings(data) {
	$('#status').hide();
	var elForm = $('div.users form');
	$(':input', elForm).removeAttr('disabled');
	if (data.status == 'OK') {
		$('#person-name').html(data.user.name);
		$('#person-email').html(data.user.email);
		if (data.user.info == '') {
			$('div.person-about p').html('<i>(Информация отсутствует)</i>');
		} else {
			$('div.person-about p').html(data.user.info);
		}
		alert('Информация сохранена');
	} else {
		alert(data.message);
	}
}

/* Обрабатывает ошибку при изменении данных */
function errorUpdateSettings(event, request, settings) {
	$('#status').hide();
	var elForm = $('div.users form');
	$(":input", elForm).removeAttr('disabled');
	alert('Ошибка при отправке данных ('+request+').');
}

// Обновляет аватар пользователя
function updateAvatar() {
	if ($('#f-avatar').val() == '') {
		alert('Выберите аватар для загрузки');
		return true;
	}
	$.ajaxFileUpload({
		url: '/actions/upload.php?UpdateAvatar',
		secureuri: false,
		fileElementId: 'f-avatar',
		dataType: 'json',
		success: successUpdateAvatar,
		error: errorUpdateAvatar
	});
	$("div.users form :input").attr('disabled', 'disabled');
	$("#status").show();
}

// Обрабатывает успешное обновление аватара
function successUpdateAvatar(data, status) {
	$("#status").hide();
	$("div.users form :input").removeAttr('disabled');
	if (data.status == 'OK') {
		alert('Аватар обновлён');
		
	} else {
		alert(data.message);
	}
}

// Обрабатывает ошибку при обновлении аватара
function errorUpdateAvatar(data, status, error) {
	$("#status").hide();
	$("div.users form :input").removeAttr('disabled');
	alert('Ошибка при отправке данных: '+error);
}

/* Меняет пароль пользователя */
function changePassword(form) {
	// Проверяем старый пароль
	var elOldPassword = $(':password[name="OldPassword"]', form);
	var OldPassword = elOldPassword.val();
	if (OldPassword == '') {
		alert('Введите старый пароль');
		elOldPassword.focus();
		return false;
	}

	// Проверяем новый пароль
	var elPassword = $(':password[name="Password"]', form);
	var Password = elPassword.val();
	if (Password == '') {
		alert('Введите новый пароль');
		elPassword.focus();
		return false;
	}

	// Проверяем повторный пароль
	var elPassword2 = $(':password[name="Password2"]', form);
	var Password2 = elPassword2.val();
	if (Password2 != Password) {
		alert('Пароли не совпадают');
		elPassword2.focus();
		return false;
	}

	var params = {
		ChangePassword: 0,
		OldPassword: OldPassword,
		Password: Password
	};
	
	$.ajax({
		type: 'POST',
		url: '/actions/ajax.php',
		data: params,
		dataType: 'json',
		success: successChangePassword,
		error: errorChangePassword
	});
	$(":input", form).attr('disabled', 'disabled');
	$("#status").show();
	return false;
}

/* Обрабатывает успешную смену пароля */
function successChangePassword(data) {
	$('#status').hide();
	var elForm = $('div.users form');
	$(':input', elForm).removeAttr('disabled');
	if (data.status == 'OK') {
		alert('Пароль изменён');
		$(':password', elForm).val('');
	} else {
		alert(data.message);
	}
}

/* Обрабатывает ошибку при смене пароля */
function errorChangePassword(event, request, settings) {
	$('#status').hide();
	var elForm = $('div.users form');
	$(":input", elForm).removeAttr('disabled');
	alert('Ошибка при отправке данных ('+request+').');
}

/* Выбор категории при добавлении объявления */
function selectAdvCategory() {
	var parent = $(':select[name="ParentId"]').val();
	if (parent) {
		var elCategory = $(':select[name="CategoryId"]');
		elCategory.empty();
		$('<option></option>').html('Выберите подраздел:').attr('value', '').appendTo(elCategory);
		$('<option></option>').html('(Подраздел не указывать)').attr('value', parent).appendTo(elCategory);
		var category;
		for (i in categories) {
			category = categories[i];
			if (category.ParentId == parent) {
				$('<option></option>').html(category.Title).attr('value', category.Id).appendTo(elCategory);
			}
		}
		$('#categories-list:hidden').show();
	} else {
		$('#categories-list:visible').hide();
	}
}

/* Выбор подкатегории при добавлении объявления */
function selectAdvSubCategory(){
	var subcategoryid = $(':select[name="CategoryId"]').val();
	if (subcategoryid) {
   	var categoryid = $(':select[name="ParentId"]').val();
   	for (var i in categories) {
   		if (categories[i].Id == categoryid) {
   			var strcat = categories[i].Title;
				if (categoryid != subcategoryid) {
					strcat += ' / ';
				}
   			break;
   		}
   	}
		
		if (categoryid != subcategoryid) {
		  	for (i in categories) {
		  		if (categories[i].Id == subcategoryid) {
		  			strcat += categories[i].Title;
		  			break;
		  		}
		  	}
		}
   	$('div.users p.advertisment-info span').html(strcat);
   	$('#step1').slideUp();
   	$('#title1').addClass('prev').removeClass('active');
   	$('#title2').addClass('active').removeClass('next').removeClass('prev');
   	$('div.users p.advertisment-info').show();
   	$('#step2').slideDown();
   }
}

// Возвращается к выбору категории
function backToAdvCategory() {
	$('#step2').slideUp();
	$('#step3').slideUp();
	$('#step4').slideUp();
	$('div.users p.advertisment-info').hide();
	$('#title2').addClass('next').removeClass('active').removeClass('prev');
	$('#title3').addClass('next').removeClass('active').removeClass('prev');
	$('#title4').addClass('next').removeClass('active');
	$('#title1').addClass('active').removeClass('prev');
	$('#step1').slideDown();
}

// Переходит к оформлению объявления
function validateAdv() {
	// Проверяем заголовок
	var elTitle = $('#f-title');
	var title = elTitle.val();
	if (title == '') {
		alert('Введите заголовок объявления');
		elTitle.focus();
		return true;
	}
	
	// Проверяем текст
	var elContent = $('#f-content');
	var content = elContent.val();
	if (content == '') {
		alert('Введите текст объявления');
		elContent.focus();
		return true;
	}
	
	// Получаем данные
	var price = $('#f-price').val();
	var region = $('#f-region').val();
	
	// Формируем превью
	var elPreview = $('#step3 div.advertisment-preview');
	$('div.price', elPreview).html((price)? price : '&nbsp;');
	$('div.info', elPreview).html(content);
	$('div.region', elPreview).html((region)? region : '&nbsp;');
	
	// Переходим к оформлению
	$('#step2').slideUp();
	$('div.users p.advertisment-info').hide();
	$('#title2').addClass('prev').removeClass('active');
	$('#title3').addClass('active').removeClass('next');
	$('#step3').slideDown();
}

// Возвращается к объявлению
function backToAdv() {
	$('#step3').slideUp();
	$('#step4').slideUp();
	$('#title3').addClass('next').removeClass('active').removeClass('prev');
	$('#title4').addClass('next').removeClass('active');
	$('#title2').addClass('active').removeClass('prev');
	$('div.users p.advertisment-info').show();
	$('#step2').slideDown();
}

// Переходим к оплате объявления
function payAdv() {
	// Инициализируем количество недель
	var elFeatures = $('div.users div.advertisment-features');
	var elFeaturesPay = $('div.users ul.features-pay');
	if ($(':checkbox[name="Featured"]', elFeatures).attr('checked')) {
		$(':input[name="FeaturedTime"]', elFeaturesPay).val(1);
	} else {
		$(':input[name="FeaturedTime"]', elFeaturesPay).val(0);
	}
	if ($(':checkbox[name="Highlighted"]', elFeatures).attr('checked')) {
		$(':input[name="HighlightedTime"]', elFeaturesPay).val(1);
	} else {
		$(':input[name="HighlightedTime"]', elFeaturesPay).val(0);
	}
	updateAdvPrice();
	
	// Показываем блок
	$('#step3').slideUp();
	$('#title3').addClass('prev').removeClass('active');
	$('#title4').addClass('active').removeClass('next');
	$('#step4').slideDown();
}

// Переходит к оформлению объявления
function backToValidateAdv() {
	$('#step4').slideUp();
	$('#title4').addClass('next').removeClass('active');
	$('#title3').addClass('active').removeClass('prev');
	$('#step3').slideDown();
}

// Обновляет цену объявления
function updateAdvPrice() {
	var elFeaturesPay = $('div.users ul.features-pay');
	
	// Получаем количество недель
	var FeaturedTime = $(':input[name="FeaturedTime"]', elFeaturesPay).val();
	FeaturedTime = parseInt(FeaturedTime);
	if (isNaN(FeaturedTime) || FeaturedTime < 0) {
		FeaturedTime = 0;
	}
	var HighlightedTime = $(':input[name="HighlightedTime"]', elFeaturesPay).val();
	HighlightedTime = parseInt(HighlightedTime);
	if (isNaN(HighlightedTime) || HighlightedTime < 0) {
		HighlightedTime = 0;
	}
	
	// Устанавливаем цены
	$('span.FeaturedPrice', elFeaturesPay).html(FeaturedTime*FeaturedPrice);
	$('span.HighlightedPrice', elFeaturesPay).html(HighlightedTime*HighlightedPrice);
}

// Отправляет объявление
function sendAdv() {
	// Получаем количество недель
	var elFeaturesPay = $('div.users ul.features-pay');
	var FeaturedTime = $(':input[name="FeaturedTime"]', elFeaturesPay).val();
	FeaturedTime = parseInt(FeaturedTime);
	if (isNaN(FeaturedTime) || FeaturedTime < 0) {
		FeaturedTime = 0;
	}
	var HighlightedTime = $(':input[name="HighlightedTime"]', elFeaturesPay).val();
	HighlightedTime = parseInt(HighlightedTime);
	if (isNaN(HighlightedTime) || HighlightedTime < 0) {
		HighlightedTime = 0;
	}
	
	// Формируем параметры запроса
	var params = {
		SendAdvertisment: true,
		CategoryId: $(':select[name="CategoryId"]').val(),
		Title: $('#f-title').val(),
		Price: $('#f-price').val(),
		Currency: $('#f-currency').val(),
		PriceComment: $('#f-pricecomment').val(),
		Content: $('#f-content').val(),
		Link: $('#f-link').val(),
		Contacts: $('#f-contacts').val(),
		Phone1: $('#f-phone1').val(),
		Phone2: $('#f-phone2').val(),
		Icq: $('#f-icq').val(),
		Region: $('#f-region').val(),
		FeaturedTime: FeaturedTime,
		HighlightedTime: HighlightedTime
	};
	
	$.ajax({
		type: 'POST',
		url: '/actions/ajax.php',
		data: params,
		dataType: 'json',
		success: successSendAdv,
		error: errorSendAdv
	});
	$("form.add-advertisment :button").attr('disabled', 'disabled');
}

// Обрабатывает успешную отправку объявления
function successSendAdv(data) {
	if (data.status == 'OK') {
		uploadAdvPhoto(data.advertismentid, 1);
	} else {
 		alert(data.message);
		$("form.add-advertisment :input").removeAttr('disabled');
	}
}

// Обрабатывает ошибку при отправке объявления 
function errorSendAdv(event, request, settings) {
	alert('Ошибка при отправке данных ('+request+').');
	$("form.add-advertisment :input").removeAttr('disabled');
}

// Закачивает фотографию для объявления
function uploadAdvPhoto(AdvertismentId, n) {
	if ($('#f-photo'+n).val() == '') {
		if (n < 3) {
			uploadAdvPhoto(AdvertismentId, n+1);
		} else {
			alert('Ваше объявление добавлено. Спасибо!');
			window.location = '/users/advertisments/';
			$("form.add-advertisment :input").removeAttr('disabled');
		}
	} else {
		$.ajaxFileUpload({
			url: '/actions/upload.php?UpdateAdvPhoto&AdvertismentId='+AdvertismentId+'&n='+n,
			secureuri: false,
			fileElementId: 'f-photo'+n,
			dataType: 'json',
			success: function (data) {
				if (data.status == 'OK') {
					data.n = parseInt(data.n);
					if (data.n < 3) {
						uploadAdvPhoto(data.advertismentid, data.n+1);
					} else {
						alert('Ваше объявление добавлено. Спасибо!');
						window.location = '/users/advertisments/';
						$("form.add-advertisment :input").removeAttr('disabled');
					}
				} else {
					alert(data.message);
				}
			},
			error: function (data, status, error) {
				alert('Ошибка при отправке данных: '+error);
				$("form.add-advertisment :input").removeAttr('disabled');				
			}
		});
	}
}

// Показывает поле для оплаты объявления
function showExpand(id) {
	$("#"+id).slideDown();
}

// Продлевает платные функции объявления
function prolongAdv(option) {
	params = {
		ProlongAdv: 0,
		Option: option,
		AdvertismentId: AdvertismentId
	};
	if (option == 'Featured') {
		params.FeaturedTime = $('div.users input[name="FeaturedTime"]').val();
	} else if (option == 'Highlighted') {
		params.HighlightedTime = $('div.users input[name="HighlightedTime"]').val();
	}
	$.ajax({
		type: 'POST',
		url: '/actions/ajax.php',
		data: params,
		dataType: 'json',
		success: successProlongAdv,
		error: errorAJAX
	});
}

// Обрабатывает успешное продление платных функций
function successProlongAdv(data) {
	if (data.status == 'OK') {
		alert('Функция оплачена!');
		window.location.reload();
	} else {
 		alert(data.message);
	}
}

// Обрабатывает ошибку при отправке данных
function errorAJAX(event, request, settings) {
	alert('Ошибка при отправке данных ('+request+').');
}

// Активирует фотографии к объявлению
function enableIconAdv() {
	params = {
		EnableIconAdv: 0,
		AdvertismentId: AdvertismentId
	};
	$.ajax({
		type: 'POST',
		url: '/actions/ajax.php',
		data: params,
		dataType: 'json',
		success: successEnableIconAdv,
		error: errorAJAX
	});
}

// Обрабатывает успешную активацию фотографий
function successEnableIconAdv(data) {
	if (data.status == 'OK') {
		alert('Функция оплачена!');
		window.location.reload();
	} else {
 		alert(data.message);
	}
}

// Удаляет объявление пользователя
function removeAdv(AdvertismentId) {
	if (confirm('Вы действительно хотите удалить это объявление?')) {
		params = {
			RemoveUserAdvertisment: 0,
			AdvertismentId: AdvertismentId
		};
		$.ajax({
			type: 'POST',
			url: '/actions/ajax.php',
			data: params,
			dataType: 'json',
			success: successRemoveAdv,
			error: errorAJAX
		});
	}
}

// Обрабатывает успешное удаление объявления
function successRemoveAdv(data) {
	if (data.status == 'OK') {
		alert('Объявление удалено');
		window.location = '/users/advertisments/';
	} else {
 		alert(data.message);
	}
}

// Показывает форму ввода вопроса юристу
function showQuestionForm() {
	$('#user-question').hide();
	$('div.user-question form').show();
}

// Отправляет вопрос юристу
function sendUserQuestion(form) {
	var elCategory = $(':input[name="CategoryId"]', form);
	if (elCategory.val() == '') {
		alert('Выберите категорию');
		elCategory.focus();
		return false;
	}
	var elContent = $(':input[name="Content"]', form);
	if (elContent.val() == '') {
		alert('Напишите вопрос');
		elContent.focus();
		return false;
	}
	var params = {
		SendUserQuestion: 0,
		CategoryId: elCategory.val(),
		Content: elContent.val(),
		Link1: $(':input[name="Link1"]', form).val()
	};
	$.ajax({
		type: 'POST',
		url: '/actions/ajax.php',
		data: params,
		dataType: 'json',
		success: successSendUserQuestion,
		error: errorSendUserQuestion
	});
	$(":input", form).attr('disabled', 'disabled');
	return false;
}

/* Обрабатывает успешную отправку вопроса */
function successSendUserQuestion(data) {
	var elForm = $("#sendQuestion");
	$(":input", elForm).removeAttr('disabled');
	if (data.status == 'OK') {
		alert('Ваше сообщение отправлено. Спасибо!');
		$(':input[name="CategoryId"]', elForm).val('');
		$(':input[name="Content"]', elForm).val('');
		$(':input[name="Link1"]', elForm).vals('');
	} else {
 		alert(data.message);
	}
}

/* Обрабатывает ошибку при отправке вопроса */
function errorSendUserQuestion(event, request, settings) {
	alert('Ошибка при отправке данных ('+request+').');
	var elForm = $("div.user-question form");
	$(":input", elForm).removeAttr('disabled');
}

/* Редактирует объявление */
function updateAdvertisment(form) {
	// Проверяем заголовок
	var elTitle = $(':input[name="Title"]', form);
	var Title = elTitle.val();
	if (Title == '') {
		alert('Введите заголовок');
		elTitle.focus();
		return false;
	}
	
	// Проверяем текст
	var elContent = $(':input[name="Content"]', form);
	var Content = elContent.val();
	if (Content == '') {
		alert('Введите текст');
		elContent.focus();
		return false;
	}
	
	var params = {
		UpdateUserAdvertisment: 0,
		Id: $('#f-id').val(),
		Title: Title,
		Price: $('#f-price').val(),
		Currency: $('#f-currency').val(),
		PriceComment: $('#f-pricecomment').val(),
		Content: Content,
		Link: $('#f-link').val(),
		Contacts: $('#f-contacts').val(),
		Phone1: $('#f-phone1').val(),
		Phone2: $('#f-phone2').val(),
		Icq: $('#f-icq').val(),
		Region: $('#f-region').val()
	};
	
	$.ajax({
		type: 'POST',
		url: '/actions/ajax.php',
		data: params,
		dataType: 'json',
		success: successUpdateAdvertisment,
		error: errorUpdateAdvertisment
	});
	$(":input", form).attr('disabled', 'disabled');
	$("#status").show();
	return false;
}

/* Обрабатывает успешное сохранение объявления */
function successUpdateAdvertisment(data) {
	$('#status').hide();
	var elForm = $('div.users form');
	$(':input', elForm).removeAttr('disabled');
	if (data.status == 'OK') {
		alert('Информация сохранена');
		window.location = '/users/advertisments/';
	} else {
		alert(data.message);
	}
}

/* Обрабатывает ошибку при сохранении объявления */
function errorUpdateAdvertisment(event, request, settings) {
	$('#status').hide();
	var elForm = $('div.users form');
	$(":input", elForm).removeAttr('disabled');
	alert('Ошибка при отправке данных ('+request+').');
}

// Обновляет иконку объявления
function updateAdvIcon() {
	if ($('#f-icon').val() == '') {
		alert('Выберите иконку для загрузки');
		return true;
	}
	$.ajaxFileUpload({
		url: '/actions/upload.php?UpdateAdvIcon&AdvertismentId='+AdvertismentId,
		secureuri: false,
		fileElementId: 'f-icon',
		dataType: 'json',
		success: successUpdateAdvIcon,
		error: errorUpdateAdvPhoto
	});
	$("div.users form :input").attr('disabled', 'disabled');
	$("#status").show();
}

// Обрабатывает успешное обновление иконки объявления
function successUpdateAdvIcon(data, status) {
	$("#status").hide();
	$("div.users form :input").removeAttr('disabled');
	if (data.status == 'OK') {
		alert('Иконка обновлена');
		window.location.reload();
	} else {
		alert(data.message);
	}
}

// Обновляет фотографию объявления
function updateAdvPhoto(n) {
	if ($('#f-photo'+n).val() == '') {
		alert('Выберите фотографию для загрузки');
		return true;
	}
	$.ajaxFileUpload({
		url: '/actions/upload.php?UpdateAdvPhoto&AdvertismentId='+AdvertismentId+'&n='+n,
		secureuri: false,
		fileElementId: 'f-photo'+n,
		dataType: 'json',
		success: successUpdateAdvPhoto,
		error: errorUpdateAdvPhoto
	});
	$("div.users form :input").attr('disabled', 'disabled');
	$("#status").show();
}

// Обрабатывает успешное обновление фотографии объявления
function successUpdateAdvPhoto(data, status) {
	$("#status").hide();
	$("div.users form :input").removeAttr('disabled');
	if (data.status == 'OK') {
		alert('Фотография обновлена');
		window.location.reload();
	} else {
		alert(data.message);
	}
}

// Обрабатывает ошибку при обновлении фотографии объявления
function errorUpdateAdvPhoto(data, status, error) {
	$("#status").hide();
	$("div.users form :input").removeAttr('disabled');
	alert('Ошибка при отправке данных: '+error);
}

/* Выбор категории при добавлении компании */
function selectCompanyCategory() {
	var parent = $(':select[name="ParentId"]').val();
	if (parent) {
		var elCategory = $(':select[name="CategoryId"]');
		elCategory.empty();
		$('<option></option>').html('Выберите подкатегорию:').attr('value', '').appendTo(elCategory);
		$('<option></option>').html('(Подкатегорию не указывать)').attr('value', parent).appendTo(elCategory);
		var category;
		for (i in categories) {
			category = categories[i];
			if (category.ParentId == parent) {
				$('<option></option>').html(category.Title).attr('value', category.Id).appendTo(elCategory);
			}
		}
		$('#categories-list:hidden').show();
	} else {
		$('#categories-list:visible').hide();
	}
}

// Отправляет новую компанию
function sendCompany(form) {
	var elTitle = $('#f-title', form);
	if (elTitle.val() == '') {
		alert('Введите название');
		elTitle.focus();
		return false;
	}
	
	var elCategory = $(':input[name="CategoryId"]', form);
	if (elCategory.val() == '') {
		alert('Выберите категорию');
		elCategory.focus();
		return false;
	}
	
	var elContent = $('#f-content', form);
	if (elContent.val() == '') {
		alert('Введите описание');
		elContent.focus();
		return false;
	}
	
	var params = {
		SendCompany: 0,
		Title: elTitle.val(),
		CategoryId: elCategory.val(),
		Content: elContent.val(),
		Link: $('#f-link').val(),
		Activities: $('#f-activities').val(),
		Contacts: $('#f-contacts').val(),
		Phone1: $('#f-phone1').val(),
		Phone2: $('#f-phone2').val(),
		Icq: $('#f-icq').val(),
		Region: $('#f-region').val()
	};
	
	$.ajax({
		type: 'POST',
		url: '/actions/ajax.php',
		data: params,
		dataType: 'json',
		success: successSendCompany,
		error: errorSendCompany
	});
	$(":input", form).attr('disabled', 'disabled');
	$("#status").show();
	return false;
}

/* Обрабатывает успешную отправку новой компании */
function successSendCompany(data) {
	$('#status').hide();
	var elForm = $("div.users form");
	$(":input", elForm).removeAttr('disabled');
	if (data.status == 'OK') {
		if ($('#f-logo').val() == '') {
			alert('Компания добавлена');
			window.location = '/users/companies/';
		} else {
			// Загружаем логотип
			$.ajaxFileUpload({
				url: '/actions/upload.php?UpdateCompanyLogo&CompanyId='+data.companyid,
				secureuri: false,
				fileElementId: 'f-logo',
				dataType: 'json',
				success: function (data, status) {
					$("#status").hide();
					$("div.users form :input").removeAttr('disabled');
					if (data.status == 'OK') {
						alert('Компания добавлена');
						window.location = '/users/companies/';
					} else {
						alert(data.message);
					}
				},
				error: errorUpdateCompanyLogo
			});
			$(":input", elForm).attr('disabled', 'disabled');
			$("#status").show();
		}
	} else {
 		alert(data.message);
	}
}

/* Обрабатывает ошибку при отправке компании */
function errorSendCompany(event, request, settings) {
	$('#status').hide();
	alert('Ошибка при отправке данных ('+request+').');
	var elForm = $("div.users form");
	$(":input", elForm).removeAttr('disabled');
}

/* Сохраняет изменения при редактировании компании */
function updateCompany(form) {
	var elTitle = $('#f-title', form);
	if (elTitle.val() == '') {
		alert('Введите название');
		elTitle.focus();
		return false;
	}
	
	var elCategory = $(':input[name="CategoryId"]', form);
	if (elCategory.val() == '') {
		alert('Выберите категорию');
		elCategory.focus();
		return false;
	}
	
	var elContent = $('#f-content', form);
	if (elContent.val() == '') {
		alert('Введите описание');
		elContent.focus();
		return false;
	}
	
	var params = {
		UpdateUserCompany: 0,
		Id: $('#f-id').val(),
		Title: elTitle.val(),
		CategoryId: elCategory.val(),
		Content: elContent.val(),
		Link: $('#f-link').val(),
		Activities: $('#f-activities').val(),
		Contacts: $('#f-contacts').val(),
		Phone1: $('#f-phone1').val(),
		Phone2: $('#f-phone2').val(),
		Icq: $('#f-icq').val(),
		Region: $('#f-region').val()
	};
	
	$.ajax({
		type: 'POST',
		url: '/actions/ajax.php',
		data: params,
		dataType: 'json',
		success: successUpdateCompany,
		error: errorUpdateCompany
	});
	
	$(":input", form).attr('disabled', 'disabled');
	$("#status").show();
	return false;
}

/* Обрабатывает успешную отправку новой компании */
function successUpdateCompany(data) {
	$('#status').hide();
	var elForm = $("div.users form");
	$(":input", elForm).removeAttr('disabled');
	if (data.status == 'OK') {
		alert('Изменения сохранены');
		window.location = '/users/companies/';
	} else {
 		alert(data.message);
	}
}

/* Обрабатывает ошибку при отправке компании */
function errorUpdateCompany(event, request, settings) {
	$('#status').hide();
	alert('Ошибка при отправке данных ('+request+').');
	var elForm = $("div.users form");
	$(":input", elForm).removeAttr('disabled');
}

// Обновляет прайс-лист компании
function updateCompanyPrice() {
	var form = $("#EditPrice form");
	var params = {};
	$("input", form).each(function () {
		params[$(this).attr("name")] = $(this).val();
	});
	
	$.ajax({
		type: 'POST',
		url: '/actions/ajax.php',
		data: params,
		dataType: 'json',
		success: successUpdateCompanyPrice,
		error: errorAJAX
	});
	return false;
}

// Обрабатывает успешное обновление прайс-листа компании
function successUpdateCompanyPrice(data) {
	if (data.status == 'OK') {
		alert('Прайс-лист сохранён');
	} else {
 		alert(data.message);
	}
}

// Продлевает платные функции компании
function prolongCompany(option) {
	params = {
		ProlongCompany: 0,
		Option: option,
		CompanyId: CompanyId
	};
	if (option == 'Featured') {
		params.FeaturedTime = $('div.users input[name="FeaturedTime"]').val();
	} else if (option == 'Highlighted') {
		params.HighlightedTime = $('div.users input[name="HighlightedTime"]').val();
	}
	$.ajax({
		type: 'POST',
		url: '/actions/ajax.php',
		data: params,
		dataType: 'json',
		success: successProlongCompany,
		error: errorAJAX
	});
}

// Обрабатывает успешное продление платных функций компании
function successProlongCompany(data) {
	if (data.status == 'OK') {
		alert('Функция оплачена!');
		window.location.reload();
	} else {
 		alert(data.message);
	}
}

// Обновляет логотип компании
function updateCompanyLogo() {
	if ($('#f-logo').val() == '') {
		alert('Выберите логотип для загрузки');
		return true;
	}
	$.ajaxFileUpload({
		url: '/actions/upload.php?UpdateCompanyLogo&CompanyId='+CompanyId,
		secureuri: false,
		fileElementId: 'f-logo',
		dataType: 'json',
		success: successUpdateCompanyLogo,
		error: errorUpdateCompanyLogo
	});
	$("div.users form :input").attr('disabled', 'disabled');
	$("#status").show();
}

// Обрабатывает успешное обновление логотипа компании
function successUpdateCompanyLogo(data, status) {
	$("#status").hide();
	$("div.users form :input").removeAttr('disabled');
	if (data.status == 'OK') {
		alert('Логотип обновлён');
		window.location.reload();
	} else {
		alert(data.message);
	}
}

// Обрабатывает ошибку при обновлении логотипа компании
function errorUpdateCompanyLogo(data, status, error) {
	$("#status").hide();
	$("div.users form :input").removeAttr('disabled');
	alert('Ошибка при отправке данных: '+error);
}

// Активирует прайс для компании
function enableCompanyPrice() {
	params = {
		EnableCompanyPrice: 0,
		CompanyId: CompanyId
	};
	$.ajax({
		type: 'POST',
		url: '/actions/ajax.php',
		data: params,
		dataType: 'json',
		success: successEnableCompanyPrice,
		error: errorAJAX
	});
}

// Обрабатывает успешную активацию прайса
function successEnableCompanyPrice(data) {
	if (data.status == 'OK') {
		alert('Функция оплачена!');
		window.location.reload();
	} else {
 		alert(data.message);
	}
}

// Удаляет компанию пользователя
function removeCompany(CompanyId) {
	if (confirm('Вы действительно хотите удалить эту компанию?')) {
		params = {
			RemoveUserCompany: 0,
			CompanyId: CompanyId
		};
		$.ajax({
			type: 'POST',
			url: '/actions/ajax.php',
			data: params,
			dataType: 'json',
			success: successRemoveCompany,
			error: errorAJAX
		});
	}
}

// Обрабатывает успешное удаление компании
function successRemoveCompany(data) {
	if (data.status == 'OK') {
		alert('Компания удалена');
		window.location = '/users/companies/';
	} else {
 		alert(data.message);
	}
}

/* Отправляет заказ менеджеру */
function sendOrder(form) {
	var elName = $(':input[name="Name"]', form);
	if (elName.val() == '') {
		alert('Введите имя');
		elName.focus();
		return false;
	}
	
	var elEmail = $(':input[name="Email"]', form);
	var Email = elEmail.val();
	if (Email == '') {
		alert('Введите e-mail адрес');
		elEmail.focus();
		return false;
	}
	var validEmail = /(.+)@(.+)\.(.+)/;
	if (!validEmail.test(Email)) {
		alert('Введите правильный e-mail');
		elEmail.focus();
		return false;
	}
	
	var elComment = $(':input[name="Comment"]', form);
	if (elComment.val() == '') {
		alert('Введите текст заказа');
		elComment.focus();
		return false;
	}
	
	var params = {
		SendOrder: 0,
		Name: elName.val(),
		Email: Email,
		Phone: $(':input[name="Phone"]', form).val(),
		Site: $(':input[name="Site"]', form).val(),
		Period: $(':input[name="Period"]', form).val(),
		Shows: $(':input[name="Shows"]', form).val(),
		Comment: elComment.val()
	};
	
	$.ajax({
		type: 'POST',
		url: '/actions/ajax.php',
		data: params,
		dataType: 'json',
		success: successSendOrder,
		error: errorSendOrder
	});
	
	$(":input", form).attr('disabled', 'disabled');
	return false;
}

/* Обрабатывает успешную отправку новой компании */
function successSendOrder(data) {
	var elForm = $("div.portal form");
	$(":input", elForm).removeAttr('disabled');
	if (data.status == 'OK') {
		alert('Заказ отправлен');
		$(":text", elForm).val('');
		$(":input[name='Comment']", elForm).val('');
	} else {
 		alert(data.message);
	}
}

/* Обрабатывает ошибку при отправке компании */
function errorSendOrder(event, request, settings) {
	alert('Ошибка при отправке данных ('+request+').');
	var elForm = $("div.portal form");
	$(":input", elForm).removeAttr('disabled');
}

/* Отправляет письмо менеджеру */
function sendMessage(form) {
	var elName = $(':input[name="Name"]', form);
	if (elName.val() == '') {
		alert('Введите имя');
		elName.focus();
		return false;
	}
	
	var elEmail = $(':input[name="Email"]', form);
	var Email = elEmail.val();
	if (Email == '') {
		alert('Введите e-mail адрес');
		elEmail.focus();
		return false;
	}
	var validEmail = /(.+)@(.+)\.(.+)/;
	if (!validEmail.test(Email)) {
		alert('Введите правильный e-mail');
		elEmail.focus();
		return false;
	}
	
	var elCode = $(':input[name="Code"]', form);
	if (elCode.val().length != 4) {
		alert('Число введено неверно');
		elCode.focus();
		return false;
	}
	
	var elMessage = $(':input[name="Message"]', form);
	if (elMessage.val() == '') {
		alert('Введите текст сообщения');
		elMessage.focus();
		return false;
	}
	
	var params = {
		SendMessage: 0,
		Name: elName.val(),
		Email: Email,
		Code: elCode.val(),
		Message: elMessage.val()
	};
	
	$.ajax({
		type: 'POST',
		url: '/actions/ajax.php',
		data: params,
		dataType: 'json',
		success: successSendMessage,
		error: errorSendMessage
	});
	
	$(":input", form).attr('disabled', 'disabled');
	return false;
}

/* Обрабатывает успешную отправку новой компании */
function successSendMessage(data) {
	var elForm = $("div.portal form");
	$(":input", elForm).removeAttr('disabled');
	if (data.status == 'OK') {
		alert('Сообщение отправлено');
		$(":text", elForm).val('');
		$(":input[name='Message']", elForm).val('');
	} else {
 		alert(data.message);
	}
}

/* Обрабатывает ошибку при отправке компании */
function errorSendMessage(event, request, settings) {
	alert('Ошибка при отправке данных ('+request+').');
	var elForm = $("div.portal form");
	$(":input", elForm).removeAttr('disabled');
}

/* Пополняет счёт */
function renewAccount(form) {
	// Проверяем сумму
	var elValue = $(':text[name="Value"]', form);
	var Value = parseInt(elValue.val());
	if (isNaN(Value) || Value <= 0) {
		alert('Сумма введена некорректно');
		elValue.focus();
		return false;
	}

	$.ajax({
		type: 'POST',
		url: '/actions/ajax.php',
		data: {
			RenewAccount: 0,
			Value: Value
		},
		dataType: 'json',
		success: function (data) {
			$('#status').hide();
			var elForm = $('div.users form');
			$(':input', elForm).removeAttr('disabled');
			if (data.status == 'OK') {
				location.href = data.url;
			} else {
				alert(data.message);
			}
		},
		error: function (event, request, settings) {
			$('#status').hide();
			var elForm = $('div.users form');
			$(":input", elForm).removeAttr('disabled');
			alert('Ошибка при отправке данных ('+request+').');
		}
	});
	$(":input", form).attr('disabled', 'disabled');
	$("#status").show();
	return false;
}
