
//вывод окна выбора региона
$(document).ready(function(){
	$('a.newregion').click(function(){
        //$('#country_list').load('/index/countrylist/');
		$.ajax({
			url: '/index/countrylist/',
			dataType : "json",
			success: function (data) {
				$('#country_list').html(data.list);
			}
		});
		$('#change_region').fadeIn('fast');
		$('div.custom-popup-wrap-overlay').css('height', document.documentElement.scrollHeight);
		$('div.custom-popup-wrap-overlay').fadeIn('fast');
		return false;
    });
});

//вывод окна авторизации
$(document).ready(function(){
	$('#user_login').click(function(){
        $('#login_form').fadeIn('fast');
		$('div.custom-popup-wrap-overlay').css('height', document.documentElement.scrollHeight);
		$('div.custom-popup-wrap-overlay').fadeIn('fast');
		return false;
    });
});

//окно смены пароля
function changePwd() {
	$('#login_form').fadeOut('fast');
	$('#newPwd').fadeIn('fast');
	$('#block_errors').remove();
}

//возврат к форме авторизации
function showAD() {
	$('#newPwd').fadeOut('fast');
	$('#login_form').fadeIn('fast');
	$('#block_errors').remove();
}

//окно отправки сообщения пользователю
function msgDialog(id, fio) {
	$('#send_msg').fadeIn('fast');
	$('div.custom-popup-wrap-overlay').css('height', document.documentElement.scrollHeight);
	$('div.custom-popup-wrap-overlay').fadeIn('fast');
	$('#send_msg h2').html('Сообщение для: '+fio);
	$('#send_msg table').fadeIn('fast');
	$('#send_msg form').attr('action', '/cabinet/messages/add/id/'+id);
}

//окно отправки сообщения пользователю из меню в профиле
function msgDialog1() {
	$('#send_msg1').fadeIn('fast');
	$('div.custom-popup-wrap-overlay').css('height', document.documentElement.scrollHeight);
	$('div.custom-popup-wrap-overlay').fadeIn('fast');
	$('#send_msg1 table').fadeIn('fast');
}

//окно отправки сообщения фирме из меню в профиле
function fmsgDialog() {
	$('#send_fmsg').fadeIn('fast');
	$('div.custom-popup-wrap-overlay').css('height', document.documentElement.scrollHeight);
	$('div.custom-popup-wrap-overlay').fadeIn('fast');
	$('#send_fmsg table').fadeIn('fast');
}

//окно добавления в друзья
function frendDialog(id, fio) {
	$('#new_frend').fadeIn('fast');
	$('div.custom-popup-wrap-overlay').css('height', document.documentElement.scrollHeight);
	$('div.custom-popup-wrap-overlay').fadeIn('fast');
	$('#new_frend h2').html('Добавление в друзья: '+fio);
	$('#new_frend form').attr('action', '/users/profile/addfrend/id/'+id);
}

//окно добавления в друзья из меню в профиле
function frendDialog1() {
	$('#new_frend1').fadeIn("fast");
	$('div.custom-popup-wrap-overlay').css('height', document.documentElement.scrollHeight);
	$('div.custom-popup-wrap-overlay').fadeIn("fast");
}

//окно заявки на включение в список сотрудников фирмы
function staffDialog() {
	$('#new_staff').fadeIn('fast');
	$('div.custom-popup-wrap-overlay').css('height', document.documentElement.scrollHeight);
	$('div.custom-popup-wrap-overlay').fadeIn('fast');
}

//окно приглашения фирме стать партнером
function partnerDialog() {
	$('#new_partner').fadeIn('fast');
	$('div.custom-popup-wrap-overlay').css('height', document.documentElement.scrollHeight);
	$('div.custom-popup-wrap-overlay').fadeIn('fast');
}

//окно добавления рекомендации пользователю
function urcmAdd() {
	$('#new_urec').fadeIn('fast');
	$('div.custom-popup-wrap-overlay').css('height', document.documentElement.scrollHeight);
	$('div.custom-popup-wrap-overlay').fadeIn('fast');
}

//окно добавления рекомендации фирме
function frcmAdd() {
	$('#new_frec').fadeIn('fast');
	$('div.custom-popup-wrap-overlay').css('height', document.documentElement.scrollHeight);
	$('div.custom-popup-wrap-overlay').fadeIn('fast');
}

//окно изменения полномочий сотрудника
function changeStaff(id, fio) {
	$('#change_privelegies').fadeIn('fast');
	$('div.custom-popup-wrap-overlay').css('height', document.documentElement.scrollHeight);
	$('div.custom-popup-wrap-overlay').fadeIn('fast');
	$('#change_privelegies h2').html(fio + ' &mdash; изменение прав');
	$('#change_privelegies form').attr('action', '/firms/profile/changestaff/id/'+id);
	$('#cp_form table').fadeIn('fast');
	$("input[@value='0']:radio").click();
}

//окно загрузки логотипа фирмы
function newLogo() {
	$('#new_logo').fadeIn('fast');
	$('div.custom-popup-wrap-overlay').css('height', document.documentElement.scrollHeight);
	$('div.custom-popup-wrap-overlay').fadeIn('fast');
}

//окно загрузки аватара пользователя
function newAvatar() {
	$('#new_avatar').fadeIn('fast');
	$('div.custom-popup-wrap-overlay').css('height', document.documentElement.scrollHeight);
	$('div.custom-popup-wrap-overlay').fadeIn('fast');
}


//закрытие диалога
function dclose(id) {
	$('#block_errors').remove();
	$(id).fadeOut("fast");
	$('div.custom-popup-wrap-overlay').fadeOut("fast");
}

//запрос на авторизацию
$(document).ready(function(){
	var loginOptions = {
		dataType: 'json',
		clearForm: true,
		success: function (json)  { 
			$('#block_errors').remove();
			if (json.error === false) {
				//авторизация прошла успешно
				$('#login_form').fadeOut('fast');
				$('div.custom-popup-wrap-overlay').fadeOut('fast');
				window.location.href = '/users/profile/';
			} else {
				$('#auth_form').prepend('<div id="block_errors">'+json.error+'</div>');
			}
			
		} 
	};
	$('#blogin').click(function() {
		$('#auth_form').ajaxSubmit(loginOptions);
		return false;
	});
});

//запрос на смену пароля
$(document).ready(function(){
	var newpwdOptions = {
		dataType: 'json',
		clearForm: true,
		success: function (json)  { 
			$('#block_errors').remove();
			if (json.error === false) {
				//смена пароля прошла успешно
				$('#newpwd_form table').css('display', 'none');
				$('#newpwd_form').prepend('<div id="block_errors"><p>Новый пароль отправлен на указанный '+
				'при регистрации E-mail</p><p><a href="" onclick="dclose(\'#newPwd\');'+
				'return false;">закрыть</a></p></div>');
			} else {
				$('#newpwd_form').prepend('<div id="block_errors">'+json.error+'</div>');
			}
			
		} 
	};
	$('#bnewpwd').click(function() {
		$('#newpwd_form').ajaxSubmit(newpwdOptions);
		return false;
	});
});
	
//отправка сообщения пользователю
$(document).ready(function(){
	var mailOptions = {
		dataType: 'json',
		clearForm: true,
		success: function (json)  { 
			$('#block_errors').remove();
			if (json.error === false) {
				//сообщение успешно отправлено
				$('#mail_form table').css('display', 'none');
				$('#mail_form').prepend('<div id="block_errors"><p>Сообщение отправлено</p><p><a href=""'+
				'onclick="dclose(\'#send_msg\'); return false;">закрыть</a></p></div>');
			} else {
				$('#mail_form').prepend('<div id="block_errors">'+json.error+'</div>');
			}
		}
	};
	$('#msend').click(function() {
		$('#mail_form').ajaxSubmit(mailOptions);
		return false;
	});
});

//отправка сообщения пользователю из меню профиля
$(document).ready(function(){
	var mailOptions1 = {
		dataType: 'json',
		clearForm: true,
		success: function (json)  { 
			$('#block_errors').remove();
			if (json.error === false) {
				//сообщение успешно отправлено
				$('#mail_form1 table').css('display', 'none');
				$('#mail_form1').prepend('<div id="block_errors"><p>Сообщение отправлено</p><p><a href=""'+
				'onclick="dclose(\'#send_msg1\'); return false;">закрыть</a></p></div>');
			} else {
				$('#mail_form1').prepend('<div id="block_errors">'+json.error+'</div>');
			}
		}
	};
	$('#msend1').click(function() {
		$('#mail_form1').ajaxSubmit(mailOptions1);
		return false;
	});
});

//отправка сообщения фирме
$(document).ready(function(){
	var fmailOptions = {
		dataType: 'json',
		clearForm: true,
		success: function (json)  { 
			$('#block_errors').remove();
			if (json.error === false) {
				//сообщение успешно отправлено
				$('#fmail_form table').css('display', 'none');
				$('#fmail_form').prepend('<div id="block_errors"><p>Сообщение отправлено</p><p><a href=""'+
				'onclick="dclose(\'#send_fmsg\'); return false;">закрыть</a></p></div>');
			} else {
				$('#fmail_form').prepend('<div id="block_errors">'+json.error+'</div>');
			}
		}
	};
	$('#fmsend').click(function() {
		$('#fmail_form').ajaxSubmit(fmailOptions);
		return false;
	});
});

//приглашение в друзья
$(document).ready(function(){
	var frendOptions = {
		dataType: 'json',
		clearForm: true,
		success: function (json)  { 
			$('#ublock_errors').remove();
			if (json.error === false) {
				//сообщение успешно отправлено
				$('#nf_content').html('<p>Приглашение отправлено</p><p><a href=""'+
				'onclick="dclose(\'#new_frend\'); return false;">закрыть</a></p>');
			} else {
				$('#nf_content').html('<p>'+json.error+'</p><p><a href=""'+
				'onclick="dclose(\'#new_frend\'); return false;">закрыть</a></p>');
			}
		} 
	}; 
	$('#addfrend').click(function() {
		$('#frend_form').ajaxSubmit(frendOptions);
		return false;
	});
});

//приглашение в друзья из меню профиля
$(document).ready(function(){
	var frendOptions1 = {
		dataType: 'json',
		clearForm: true,
		success: function (json)  { 
			$('#ublock_errors').remove();
			if (json.error === false) {
				//сообщение успешно отправлено
				$('#nf_content').html('<p>Приглашение отправлено</p><p><a href=""'+
				'onclick="dclose(\'#new_frend1\'); return false;">закрыть</a></p>');
			} else {
				$('#nf_content').html('<p>'+json.error+'</p><p><a href=""'+
				'onclick="dclose(\'#new_frend1\'); return false;">закрыть</a></p>');
			}
		} 
	}; 
	$('#addfrend1').click(function() {
		$('#frend_form1').ajaxSubmit(frendOptions1);
		return false;
	});
});

//предложение фирме стать партнером
$(document).ready(function(){
	var partnerOptions = {
		dataType: 'json',
		clearForm: true,
		success: function (json)  { 
			//$('#block_errors').remove();
			if (json.error === false) {
				//сообщение успешно отправлено
				$('#np_content').html('<p>Приглашение отправлено</p><p><a href=""'+
				'onclick="dclose(\'#new_partner\'); return false;">закрыть</a></p>');
			} else {
				$('#np_content').html('<p>'+json.error+'</p><p><a href=""'+
				'onclick="dclose(\'#new_partner\'); return false;">закрыть</a></p>');
			}
		} 
	}; 
	$('#addpartner').click(function() {
		$('#partner_form').ajaxSubmit(partnerOptions);
		return false;
	});
});

//заявка на включение в список сотрудников фирмы
$(document).ready(function(){
	var staffOptions = {
		dataType: 'json',
		clearForm: true,
		success: function (json)  { 
			//$('#block_errors').remove();
			if (json.error === false) {
				//сообщение успешно отправлено
				$('#ns_content').html('<p>Сообщение отправлено</p><p><a href=""'+
				'onclick="dclose(\'#new_staff\'); return false;">закрыть</a></p>');
			} else {
				$('#ns_content').html('<p>'+json.error+'</p><p><a href=""'+
				'onclick="dclose(\'#new_staff\'); return false;">закрыть</a></p>');
			}
		} 
	}; 
	$('#addstaff').click(function() {
		$('#staff_form').ajaxSubmit(staffOptions);
		return false;
	});
});

//добавление рекомендации пользователю
$(document).ready(function(){
	var urcmOptions = {
		dataType: 'json',
		clearForm: true,
		success: function (json)  { 
			$('#block_errors').remove();
			if (json.error === false) {
				//рекомендация успешно добавлена
				$('#ur_content').html('<p>Рекомендация успешно добавлена</p><p><a href=""'+
				'onclick="dclose(\'#new_urec\'); return false;">закрыть</a></p>');
			} else {
				$('#ur_content').html('<p>'+json.error+'</p><p><a href=""'+
				'onclick="dclose(\'#new_urec\'); return false;">закрыть</a></p>');
			}
		}
	};
	$('#addurec').click(function() {
		$('#urcm_form').ajaxSubmit(urcmOptions);
		return false;
	});
});

//добавление рекомендации фирме
$(document).ready(function(){
	var frcmOptions = {
		dataType: 'json',
		clearForm: true,
		success: function (json)  { 
			$('#block_errors').remove();
			if (json.error === false) {
				//рекомендация успешно добавлена
				$('#fr_content').html('<p>Рекомендация успешно добавлена</p><p><a href=""'+
				'onclick="dclose(\'#new_frec\'); return false;">закрыть</a></p>');
			} else {
				$('#fr_content').html('<p>'+json.error+'</p><p><a href=""'+
				'onclick="dclose(\'#new_frec\'); return false;">закрыть</a></p>');
			}
		}
	};
	$('#addfrec').click(function() {
		$('#frcm_form').ajaxSubmit(frcmOptions);
		return false;
	});
});

//изменение прав сотрудника
$(document).ready(function(){
	var spOptions = {
		dataType: 'json',
		clearForm: true,
		success: function (json)  { 
			$('#block_errors').remove();
			if (json.error === false) {
				//полномочия изменены
				$('#cp_form table').css('display', 'none');
				$('#cp_form').prepend('<div id="block_errors"><p>Полномочия сотрудника успешно изменены</p>'+
				'<p><a href="" onclick="dclose(\'#change_privelegies\'); return false;">закрыть</a></p></div>');
				$('#pd'+json.uid).text(json.desc);
			} else {
				$('#cp_form table').css('display', 'none');
				$('#cp_form').prepend('<div id="block_errors"><p>'+json.error+'</p>'+
				'<p><a href="" onclick="dclose(\'#change_privelegies\'); return false;">закрыть</a></p></div>');
			}
		}
	};
	$('#schange').click(function() {
		$('#cp_form').ajaxSubmit(spOptions);
		return false;
	});
});

//изменение логотипа фирмы
$(document).ready(function(){
	var newlogoOptions = {
		dataType: 'json',
		clearForm: true,
		success: function (json)  { 
			$('#block_errors').remove();
			if (json.error === false) {
				//логотип успешно изменен
				$('#new_logo').fadeOut('fast');
				$('div.custom-popup-wrap-overlay').fadeOut('fast');
				window.location.href = '/firms/profile/show/id/'+json.id;
			} else {
				$('#nl_form').prepend('<div id="block_errors"><p>'+json.error+'</p></div>');
			}
		}
	};
	$('#upl').click(function() {
		$('#nl_form').ajaxSubmit(newlogoOptions);
		return false;
	});
});

//изменение аватара пользователя
$(document).ready(function(){
	var newavOptions = {
		dataType: 'json',
		clearForm: true,
		success: function (json)  { 
			$('#block_errors').remove();
			if (json.error === false) {
				//аватар успешно изменен
				$('#new_avatar').fadeOut('fast');
				$('div.custom-popup-wrap-overlay').fadeOut('fast');
				window.location.href = '/users/profile/';
			} else {
				$('#nav_form').prepend('<div id="block_errors"><p>'+json.error+'</p></div>');
			}
		}
	};
	$('#upla').click(function() {
		$('#nav_form').ajaxSubmit(newavOptions);
		return false;
	});
});



//список регионов
function Region_List() {
	var objSel = document.getElementById('country_list');
	//$('#region_list').load('/index/regionlist/id/'+objSel.options[objSel.selectedIndex].value);
	$.ajax({
		url: '/index/regionlist/id/'+objSel.options[objSel.selectedIndex].value,
		dataType : 'json',
		success: function (data) {
			$('#region_list').html(data.list);
		}
	});
}

//список городов
function City_List() {
	var objSel = document.getElementById('region_list');
	//$('#city_list').load('/index/citylist/id/'+objSel.options[objSel.selectedIndex].value);
	$.ajax({
		url: '/index/citylist/id/'+objSel.options[objSel.selectedIndex].value,
		dataType : 'json',
		success: function (data) {
			$('#city_list').html(data.list);
		}
	});
}

//список всех категорий на главной
function showAR() {
	$.ajax({
		url: '/index/allcategories/',
		dataType : 'json',
		success: function (data) {
			$('div.menu h2').html('Все разделы <a href="" onclick="showPR()\; return false\;"'+
			'class="btn-3 btn"><span class="btn-in1 png"><span class="btn-in2 png"><span'+
			'class="btn-in3">показать популярные</span></span></span></a>');
			$('#mainCL').empty();
			var columns = 3;
			var rows = data.parents.length;
			var fCeil = rows % columns;
			var result = '';
			var i = 0;
			for (var item in data.parents) {
				if ((i + columns) % columns == 0)  {result += '<tr>';}
				result += '<td><div><a href="/firms/catalog/list/category/'+
				data.parents[item]['Category_ID']
				+'/"><strong>'+data.parents[item]['Title']+'</strong></a>';
				//список дочерних категорий
				if (data.categories[data.parents[item]['Category_ID']]) {
					result += '<br />';
					for (var s in data.categories[data.parents[item]['Category_ID']]) {
						result += ' <a href="/firms/catalog/list/category/'+
						data.categories[data.parents[item]['Category_ID']][s]['Category_ID']+'">'+
						data.categories[data.parents[item]['Category_ID']][s]['Title'] +'</a> ';
					}
				}
				result += '</div></td>';
				i++;
				if (i % columns == 0)  {result += '</tr>';}
			}
			//заполняем пустые ячейки
			if (fCeil != 0) {
				for (var i = 1; i <= (columns - fCeil); i++) {
					result += '<td><div>&nbsp</div></td>';
				}
				result += '</tr>';
			}
			$('#mainCL').html(result);
		}
	});
}

//список популярных категорий на главной
function showPR() {
	$.ajax({
		url: '/index/topcategories/',
		dataType : 'json',
		success: function (data) {
			$('div.menu h2').html('Популярные разделы <a href="" onclick="showAR()\; return false\;"'+
			'class="btn-3 btn"><span class="btn-in1 png"><span class="btn-in2 png"><span'+
			'class="btn-in3">показать все</span></span></span></a>');
			$('#mainCL').empty();
			var columns = 3;
			var rows = data.list.length;
			var fCeil = rows % columns;
			var result = '';
			var i = 0;
			for (var item in data.list) {
				if ((i + columns) % columns == 0)  {result += '<tr>';}
				result += '<td><div><a href="/firms/catalog/list/category/'+
				data.list[item]['Category_ID']
				+'/">'+data.list[item]['Title']+'</a></div></td>';
				i++;
				if (i % columns == 0)  {result += '</tr>';}
			}
			//заполняем пустые ячейки
			if (fCeil != 0) {
				for (var i = 1; i <= (columns - fCeil); i++) {
					result += '<td><div>&nbsp</div></td>';
				}
				result += '</tr>';
			}
			$('#mainCL').html(result);
		}
	});
}






//удаление записи из блокнота
function delNPI(id) {
	$.getJSON(
		'/cabinet/notepad/delete/id/'+id,
		{},
		function (obj) {
			$('#f'+id).remove();
			$('#nprnum1').text(obj.rnum);
			$('#nprnum').text(obj.rnum);
		}
	);
}

//добавление записи в блокнот
function addNPI(id) {
	$.ajax({
		url: '/cabinet/notepad/add/id/'+id,
		dataType : "json",
		success: function (obj) {
			if (obj.error !== false) {
				$('#rmenu2').append('<div class="error-popup png" style="color:#414b53;z-index:1000;'+
				'top:-75px;left:10px"><div class="error-popup-1 png"><div>'+ obj.error +'</div></div></div>');
				$('div.error-popup').fadeOut(5000);
				return;
			}
			$('#nprnum1').text(obj.rnum);
		}
	});
}

//удаление всех записей из блокнота
function delNPIAll() {
	$.getJSON(
		'/cabinet/notepad/delete/',
		{},
		function (obj) {
			$('#npitems').remove();
			$('#nprnum1').text(obj.rnum);
			$('#nprnum').text(obj.rnum);
		}
	);
}

//удаление входящего сообщения пользователя
function delIM(id) {
	$.getJSON(
		'/cabinet/messages/idel/id/'+id,
		{},
		function (obj) {
			$('#m'+id).remove();
			$('#mNum').text(obj.mnum);
		}
	);
}

//удаление входящего сообщения фирмы
function delFM(id) {
	$.getJSON(
		'/cabinet/messages/fdel/id/'+id,
		{},
		function (obj) {
			$('#m'+id).remove();
			$('#mNum').text(obj.mnum);
		}
	);
}

//удаление всех входящих сообщений пользователя
function delIMAll() {
	$.getJSON(
		'/cabinet/messages/idel/',
		{},
		function (obj) {
			$('#mitems').html('<p> &nbsp; Сообщений нет</p>');
			$('#mNum').text(obj.mnum);
		}
	);
}

//удаление пользователя из списка друзей
function delFrend(id) {
	$.getJSON(
		'/users/profile/delfrend/id/'+id,
		{},
		function (obj) {
			$('#f'+id).remove();
		}
	);
}

//удаление отправленного сообщения
function delSM(id) {
	$.getJSON(
		'/cabinet/messages/sdel/id/'+id,
		{},
		function (obj) {
			$('#m'+id).remove();
		}
	);
}

//удаление всех отправленных сообщений
function delSMAll() {
	$.getJSON(
		'/cabinet/messages/sdel/',
		{},
		function (obj) {
			$('#mitems').html('<p> &nbsp; Сообщений нет</p>');
		}
	);
}

//удалить рекомендацию пользователю
function rcmDel(id) {
	$.getJSON(
		'/cabinet/recommendation/deluser/id/'+id,
		{},
		function (obj) {
			$('#r'+id).remove();
		}
	);
}

//удалить рекомендацию фирме
function rcmDelf(id) {
	$.getJSON(
		'/cabinet/recommendation/delfirm/id/'+id,
		{},
		function (obj) {
			$('#r'+id).remove();
		}
	);
}

//принять предложение дружбы
function confirmNFM(id) {
	$.getJSON(
		'/users/profile/confirmfrend/id/'+id,
		{},
		function (obj) {
			$('#m'+id).remove();
			$('#nfNum').text(obj.nfnum);
		}
	);
}

//отклонить предложение дружбы
function delNFM(id) {
	$.getJSON(
		'/users/profile/discardfrend/id/'+id,
		{},
		function (obj) {
			$('#m'+id).remove();
			$('#nfNum').text(obj.nfnum);
		}
	);
}

//принять сотрудника
function confirmNSM(id) {
	$.getJSON(
		'/firms/profile/confirmstaff/id/'+id,
		{},
		function (obj) {
			$('#m'+id).remove();
			$('#nsNum').text(obj.nsnum);
		}
	);
}

//отклонить сотрудника
function delNSM(id) {
	$.getJSON(
		'/firms/profile/discardstaff/id/'+id,
		{},
		function (obj) {
			$('#m'+id).remove();
			$('#nsNum').text(obj.nsnum);
		}
	);
}

//принять приглашение партнерства
function confirmNPM(id) {
	$.getJSON(
		'/firms/profile/confirmpartner/id/'+id,
		{},
		function (obj) {
			$('#m'+id).remove();
			$('#npNum').text(obj.npnum);
		}
	);
}

//отклонить предложение партнерства
function delNPM(id) {
	$.getJSON(
		'/firms/profile/discardpartner/id/'+id,
		{},
		function (obj) {
			$('#m'+id).remove();
			$('#npNum').text(obj.npnum);
		}
	);
}

//удаление фирмы из списка партнеров
function delPartner(id) {
	$.getJSON(
		'/firms/profile/delpartner/id/'+id,
		{},
		function (obj) {
			$('#p'+id).remove();
		}
	);
}

//удаление пользователя из списка сотрудников
function delStaff(id) {
	$.getJSON(
		'/firms/profile/delstaff/id/'+id,
		{},
		function (obj) {
			$('#fs'+id).remove();
			$('#rfull').text(obj.rfull);
		}
	);
}

//повышение рейтинга фирмы
function upFirmRating(id) {
	$.ajax({
		url: '/firms/profile/uprating/id/'+id,
		dataType : "json",
		success: function (obj) {
			if (obj.error !== false) {
				$('#rblock').append('<div class="error-popup png" style="top:-75px;left:10px"><div'+
				' class="error-popup-1 png"><div>'+ obj.error +'</div></div></div>');
				$('div.error-popup').fadeOut(5000);
				return;
			}
			$('#rfull').text(obj.rfull);
		}
	});
}

//повышение рейтинга пользователя
function upUserRating(id) {
	$.ajax({
		url: '/users/profile/uprating/id/'+id,
		dataType : "json",
		success: function (obj) {
			if (obj.error !== false) {
				$('#rblock').append('<div class="error-popup png" style="top:-75px;left:10px"><div'+
				' class="error-popup-1 png"><div>'+ obj.error +'</div></div></div>');
				$('div.error-popup').fadeOut(5000);
				return;
			}
			$('#rfull').text(obj.rfull);
		}
	});
}

//уменьшение рейтинга пользователя
function downUserRating(id) {
	$.ajax({
		url: '/users/profile/downrating/id/'+id,
		dataType : "json",
		success: function (obj) {
			if (obj.error !== false) {
				$('#rblock').append('<div class="error-popup png" style="top:-75px;left:10px"><div'+
				' class="error-popup-1 png"><div>'+ obj.error +'</div></div></div>');
				$('div.error-popup').fadeOut(5000);
				return;
			}
			$('#rfull').text(obj.rfull);
		}
	});
}

//повышение рейтинга статьи
function upArticleRating(id) {
	$.ajax({
		url: '/articles/catalog/uprating/id/'+id,
		dataType : "json",
		success: function (obj) {
			if (obj.error !== false) {
				$('#rblock').append('<div class="error-popup png" style="top:-85px;left:38px"><div'+
				' class="error-popup-1 png"><div>'+ obj.error +'</div></div></div>');
				$('div.error-popup').fadeOut(5000);
				return;
			}
			$('#rfull').text(obj.rfull);
		}
	});
}



//уменьшение рейтинга статьи
function downArticleRating(id) {
	$.ajax({
		url: '/articles/catalog/downrating/id/'+id,
		dataType : "json",
		success: function (obj) {
			if (obj.error !== false) {
				$('#rblock').append('<div class="error-popup png" style="top:-85px;left:38px"><div'+
				' class="error-popup-1 png"><div>'+ obj.error +'</div></div></div>');
				$('div.error-popup').fadeOut(5000);
				return;
			}
			$('#rfull').text(obj.rfull);
		}
	});
}


//повышение рейтинга вопроса
function upQuestionRating(id) {
	$.ajax({
		url: '/questions/catalog/uprating/id/'+id,
		dataType : "json",
		success: function (obj) {
			if (obj.error !== false) {
				$('#rblock').append('<div class="error-popup png" style="top:-85px;left:40px"><div'+
				' class="error-popup-1 png"><div>'+ obj.error +'</div></div></div>');
				$('div.error-popup').fadeOut(5000);
				return;
			}
			$('#rfull').text(obj.rfull);
		}
	});
}

//уменьшение рейтинга вопроса
function downQuestionRating(id) {
	$.ajax({
		url: '/questions/catalog/downrating/id/'+id,
		dataType : "json",
		success: function (obj) {
			if (obj.error !== false) {
				$('#rblock').append('<div class="error-popup png" style="top:-85px;left:40px"><div'+
				' class="error-popup-1 png"><div>'+ obj.error +'</div></div></div>');
				$('div.error-popup').fadeOut(5000);
				return;
			}
			$('#rfull').text(obj.rfull);
		}
	});
}

//повышение рейтинга коментария
function upCommentRating(id) {
	$.ajax({
		url: '/articles/comment/uprating/id/'+id,
		dataType : "json",
		success: function (obj) {
			if (obj.error !== false) {
				$('#cr'+id).append('<div class="error-popup png" style="top:-85px;left:-30px"><div'+
				' class="error-popup-1 png"><div>'+ obj.error +'</div></div></div>');
				$('div.error-popup').fadeOut(5000);
				return;
			}
			if (obj.rating < 0) {
				$('#r'+id).attr("class", "mark down");
			} else {
				$('#r'+id).attr("class", "mark up");
			}
			$('#r'+id).text(obj.rating);
		}
	});
}

//уменьшение рейтинга коментария
function downCommentRating(id) {
	$.ajax({
		url: '/articles/comment/downrating/id/'+id,
		dataType : "json",
		success: function (obj) {
			if (obj.error !== false) {
				$('#cr'+id).append('<div class="error-popup png" style="top:-85px;left:-30px"><div'+
				' class="error-popup-1 png"><div>'+ obj.error +'</div></div></div>');
				$('div.error-popup').fadeOut(5000);
				return;
			}
			if (obj.rating < 0) {
				$('#r'+id).attr("class", "mark down");
			} else {
				$('#r'+id).attr("class", "mark up");
			}
			$('#r'+id).text(obj.rating);
		}
	});
}


//повышение рейтинга ответа
function upAnswerRating(id) {
	$.ajax({
		url: '/questions/answer/uprating/id/'+id,
		dataType : "json",
		success: function (obj) {
			if (obj.error !== false) {
				$('#cr'+id).append('<div class="error-popup png" style="top:-85px;left:-30px"><div'+
				' class="error-popup-1 png"><div>'+ obj.error +'</div></div></div>');
				$('div.error-popup').fadeOut(5000);
				return;
			}
			if (obj.rating < 0) {
				$('#r'+id).attr("class", "mark down");
			} else {
				$('#r'+id).attr("class", "mark up");
			}
			$('#r'+id).text(obj.rating);
		}
	});
}

//уменьшение рейтинга ответа
function downAnswerRating(id) {
	$.ajax({
		url: '/questions/answer/downrating/id/'+id,
		dataType : "json",
		success: function (obj) {
			if (obj.error !== false) {
				$('#cr'+id).append('<div class="error-popup png" style="top:-85px;left:-30px"><div'+
				' class="error-popup-1 png"><div>'+ obj.error +'</div></div></div>');
				$('div.error-popup').fadeOut(5000);
				return;
			}
			if (obj.rating < 0) {
				$('#r'+id).attr("class", "mark down");
			} else {
				$('#r'+id).attr("class", "mark up");
			}
			$('#r'+id).text(obj.rating);
		}
	});
}


//дерево категорий
function tree_toggle(event) {
    event = event || window.event
    var clickedElem = event.target || event.srcElement
    if (!hasClass(clickedElem, 'Expand')) {
        return // клик не там
    }
    // Node, на который кликнули
    var node = clickedElem.parentNode
    if (hasClass(node, 'ExpandLeaf')) {
        return // клик на листе
    }
    // определить новый класс для узла
    var newClass = hasClass(node, 'ExpandOpen') ? 'ExpandClosed' : 'ExpandOpen'
    // заменить текущий класс на newClass
    // регексп находит отдельно стоящий open|close и меняет на newClass
    var re =  /(^|\s)(ExpandOpen|ExpandClosed)(\s|$)/
    node.className = node.className.replace(re, '$1'+newClass+'$3')
}

function hasClass(elem, className) {
    return new RegExp("(^|\\s)"+className+"(\\s|$)").test(elem.className)
}


//проверка комментария к статье
function checkCmnt() {
	var text = $('#comment').attr('value');
	$('div.error-popup').remove();
	if (text == false) {
		$('#comment').attr('class', 'textinput error');
		$('form > div.clearfix').prepend('<div class="error-popup'+
		' png"><div class="error-popup-1 png"><div>Не заполнено поле '+
		'комментария</div></div></div>');
		$('div.error-popup').fadeOut(5000);
	} else {
		document.getElementById('cForm').submit();
	}
}

//проверка ответа на вопрос
function checkAnsw() {
	var text = $('#answer').attr('value');
	$('div.error-popup').remove();
	if (text == false) {
		$('#answer').attr('class', 'textinput error');
		$('#aForm').append('<div class="error-popup'+
		' png"><div class="error-popup-1 png"><div>Не заполнено поле '+
		'ответа</div></div></div>');
		$('div.error-popup').fadeOut(5000);
	} else {
		document.getElementById('aForm').submit();
	}
}










//проверка имени пользователя
function checkFname() {
	var fname = $("input[name='fname']").attr('value');
	if (fname == false) {
		$("input[name='fname']").css('border', '1px solid #fe302a');
		$("input[name='fname']").after('<div class="form-error">укажите свое имя</div>');
		return false;
	}
	if (/[^a-zA-Zа-яА-ЯёЁ\'\-]/.test(fname)) {
		$("input[name='fname']").css('border', '1px solid #fe302a');
		$("input[name='fname']").after('<div class="form-error">некорректное имя</div>');
		return false;
	}
	return true;
}

//проверка фамилии пользователя
function checkLname() {
	var lname = $("input[name='lname']").attr('value');
	if (lname == false) {
		$("input[name='lname']").css('border', '1px solid #fe302a');
		$("input[name='lname']").after('<div class="form-error">укажите свою фамилию</div>');
		return false;
	}
	if (/[^a-zA-Zа-яА-ЯёЁ\'\-]/.test(lname)) {
		$("input[name='lname']").css('border', '1px solid #fe302a');
		$("input[name='lname']").after('<div class="form-error">некорректная фамилия</div>');
		return false;
	}
	return true;
}

//проверка email пользователя
function checkEmail() {
	var email = $("input[name='email1']").attr('value');
	if (email == false) {
		$("input[name='email1']").css('border', '1px solid #fe302a');
		$("input[name='email1']").after('<div class="form-error">укажите свой E-mail</div>');
		return false;
	}
	var re = /.+@.+\..+/.test(email);
	if (/[^\w\@\.\-]/.test(email) || re === false) {
		$("input[name='email1']").css('border', '1px solid #fe302a');
		$("input[name='email1']").after('<div class="form-error">некорректный E-mail</div>');
		return false;
	} else {
		//проверка на занятость
		$.ajax({
			url: '/users/sign/checkemail/',
			type: 'POST',
			data: 'email1=' + email,
			dataType : "json",
			success: function (obj) {
				if (obj.error !== false) {
					$("input[name='email1']").css('border', '1px solid #fe302a');
					$("input[name='email1']").after('<div class="form-error">'+obj.error+'</div>');
					return false;
				}
			}
		});
	}
	return true;
}

//проверка пароля пользователя
function checkPwd() {
	var pwd = $("input[name='pwd']").attr('value');
	var pwd1 = $("input[name='pwd1']").attr('value');
	if (pwd == false) {
		$("input[name='pwd']").css('border', '1px solid #fe302a');
		$("input[name='pwd']").after('<div class="form-error">выберите пароль</div>');
		return false;
	}
	if (pwd1 == false) {
		$("input[name='pwd1']").css('border', '1px solid #fe302a');
		$("input[name='pwd1']").after('<div class="form-error">подтвердите пароль</div>');
		return false;
	}
	if (pwd !== pwd1) {
		$("input[name='pwd1']").css('border', '1px solid #fe302a');
		$("input[name='pwd1']").after('<div class="form-error">пароли не совпадают</div>');
		return false;
	}
	return true;
}




//проверка формы регистрации
function checkSign() {
	var error = false;
	$("input[name='fname']").css('border', '2px inset #D4D0C8');
	$("input[name='lname']").css('border', '2px inset #D4D0C8');
	$("input[name='email1']").css('border', '2px inset #D4D0C8');
	$("input[name='pwd']").css('border', '2px inset #D4D0C8');
	$("input[name='pwd1']").css('border', '2px inset #D4D0C8');
	$('div.form-error').remove();
	if (checkFname() === false) {error = 1;}
	if (checkLname() === false) {error = 1;}
	if (checkEmail() === false) {error = 1;}
	if (checkPwd() === false) {error = 1;}
	if (error !== false) {
		return;
	} else {
		document.getElementById('signForm').submit();
	}
}




//проверка названия статьи
function checkTitle() {
	var title = $("input[name='title']").attr('value');
	if (title == false) {
		$("input[name='title']").css('border', '1px solid #fe302a');
		$('#field1 > h4').append('<span class="form-error"> - укажите название статьи</span>');
		return false;
	}
	return true;
}

//проверка краткого описания
function checkDesc() {
	var desc = $("textarea[name='desc']").attr('value');
	if (desc == false) {
		$("textarea[name='desc']").css('border', '1px solid #fe302a');
		$('#field4 > h4').append('<span class="form-error"> - обязательное поле</span>');
		return false;
	}
	return true;
}

//проверка полного описания
function checkFull() {
	var article = tinyMCE.activeEditor.getContent({format : 'text'});
	if (article == false) {
		$('#field5 > h4').append('<span class="form-error"> - обязательное поле</span>');
		return false;
	}
	return true;
}

//проверка категории
function checkACategory() {
	if ($("select[name='sclist']").attr('value') == true) {
		var cid = $("select[name='sclist']").attr('value');
	} else {
		var cid = $("select[name='clist']").attr('value');
	}
	if (cid == false) {
		$('#field2 > h4').append('<span class="form-error"> - обязательное поле</span>');
		return false;
	}
	return true;
}

//проверка адреса основной картинки
function checkAImage() {
	var pic = $("input[name='image']").attr('value');
	if (pic != false) {
		if (/[^\dA-Za-z\.\:\/\?\&\~\%\_\-]/.test(pic)) {
			$("input[name='image']").css('border', '1px solid #fe302a');
			$("input[name='image']").after('<div class="form-error">некорректный адрес изображения</div>');
			return false;
		}
	}
	return true;
}

//проверка формы новой статьи
function checkArt() {
	var error = false;
	$("input[name='title']").css('border', '2px inset #D4D0C8');
	$("input[name='image']").css('border', '2px inset #D4D0C8');
	$("textarea[name='desc']").css('border', '2px inset #D4D0C8');
	$('span.form-error').remove();
	$('div.form-error').remove();
	if (checkTitle() === false) {error = 1;}
	if (checkACategory() === false) {error = 1;}
	if (checkAImage() === false) {error = 1;}
	if (checkDesc() === false) {error = 1;}
	if (checkFull() === false) {error = 1;}
	if (error !== false) {
		return;
	} else {
		document.getElementById('artForm').submit();
	}
}


//проверка вопроса
function checkQuestion() {
	var title = $("input[name='question']").attr('value');
	if (title == false) {
		$("input[name='question']").css('border', '1px solid #fe302a');
		$('#field1 > label').append('<span class="form-error"> - обязательное поле</span>');
		return false;
	}
	return true;
}

//проверка формы нового вопроса
function checkQst() {
	var error = false;
	$("input[name='question']").css('border', '2px inset #D4D0C8');
	$('span.form-error').remove();
	if (checkQuestion() === false) {error = 1;}
	if (checkACategory() === false) {error = 1;}
	if (error !== false) {
		return;
	} else {
		document.getElementById('qstForm').submit();
	}
}



//проверка названия фирмы
function checkFTitle() {
	var title = $("input[name='title']").attr('value');
	if (title == false) {
		$("input[name='title']").css('border', '1px solid #fe302a');
		$("input[name='title']").after('<div class="form-error">отсутствует название фирмы</div>');
		return false;
	}
	return true;
}

//проверка почтового адреса
function checkFAddress() {
	var address = $("input[name='address']").attr('value');
	if (address == false) {
		$("input[name='address']").css('border', '1px solid #fe302a');
		$("input[name='address']").after('<div class="form-error">укажите почтовый адрес фирмы</div>');
		return false;
	}
	return true;
}

//проверка email фирмы
function checkFEmail(data) {
	var email = $("input[name='"+data+"']").attr('value');
	if (email != false) {
		var re = /.+@.+\..+/.test(email);
		if (/[^\w\@\.\-]/.test(email) || re === false) {
			$("input[name='"+data+"']").css('border', '1px solid #fe302a');
			$("input[name='"+data+"']").after('<div class="form-error">некорректный E-mail</div>');
			return false;
		}
	}
	return true;
}

//проверка идентификатора города
function checkFCity() {
	var city = $("select[name='city']").attr('value');
	if (city == false) {
		$('#c-com').append('<div class="form-error">выберите город</div>');
		return false;
	} else {
		if (/[^0-9]/.test(city)) {
			$('#c-com').append('<div class="form-error">некорректный идентификатор города</div>');
			return false;
		}
	}
	return true;
}

//проверка списка категорий
function checkFCategory() {
	var cid = $("select[name='clist[]']").attr('value');
	if (cid == false) {
		$("#сerr1").append('<div class="form-error">выберите хотя бы одну категорию</div>');
		return false;
	}
	return true;
}

//проверка списка телефонов
function checkFPhone() {
	var pid = $("input[name='pnum1']").attr('value');
	if (pid == false) {
		$("#perr1").append('<div class="form-error">необходимо указать первый номер телефона</div>');
		return false;
	}
	return true;
}

//проверка телефона контактного лица
function checkFCPhone(data) {
	var phone = $("input[name='"+data+"']").attr('value');
	if (phone != false) {
		if (/[^\d\ \(\)\+\-]/.test(phone)) {
			$("input[name='"+data+"']").css('border', '1px solid #fe302a');
			$("input[name='"+data+"']").after('<div class="form-error">некорректный номер телефона</div>');
			return false;
		}
	}
	return true;
}


//проверка формы первого шага добавления фирмы
function checkFirm1() {
	var error = false;
	$("input[name='title']").css('border', '2px inset #D4D0C8');
	$("input[name='address']").css('border', '2px inset #D4D0C8');
	$("input[name='email1']").css('border', '2px inset #D4D0C8');
	$('div.form-error').remove();
	$('#c-com').empty();
	if (checkFTitle() === false) {error = 1;}
	if (checkFCity() === false) {error = 1;}
	if (checkFAddress() === false) {error = 1;}
	if (checkFEmail('email1') === false) {error = 1;}
	if (error !== false) {
		return;
	} else {
		document.getElementById('faForm1').submit();
	}
}

//проверка формы второго шага добавления фирмы
function checkFirm2() {
	var error = false;
	$('div.form-error').remove();
	if (checkFCategory() === false) {error = 1;}
	if (checkFPhone() === false) {error = 1;}
	if (error !== false) {
		return;
	} else {
		document.getElementById('faForm2').submit();
	}
}

//проверка формы третьего шага добавления фирмы
function checkFirm3() {
	var error = false;
	$("input[name='contact_email']").css('border', '2px inset #D4D0C8');
	$("input[name='contact_phone']").css('border', '2px inset #D4D0C8');
	$("input[name='head_email']").css('border', '2px inset #D4D0C8');
	$("input[name='head_phone']").css('border', '2px inset #D4D0C8');
	$('div.form-error').remove();
	if (checkFEmail('contact_email') === false) {error = 1;}
	if (checkFCPhone('contact_phone') === false) {error = 1;}
	if (checkFEmail('head_email') === false) {error = 1;}
	if (checkFCPhone('head_phone') === false) {error = 1;}
	if (error !== false) {
		return;
	} else {
		document.getElementById('faForm3').submit();
	}
}





