/**
 * Модуль Недвижимость
 * Специально для самого глупого и бестолкового и ... браузера в мире "Opera"
 * здесь написано много текста по-русски, что бы она нормальное авто-детектила кодировку файла
 * Realty_v2
 */
var realty = {

	confirm			: 'Вы действительно хотите удалить выбранные объявления?',
	confirmRow		: 'Вы действительно хотите удалить объявление?',

	rubrics: {},
	objects: {},
	loading: false,
	photo_count: 0,
	object_count: 0,
	userAction: 'prolong1',
	section: 'realty',
	firstPage: 0,
	isAuth: false,
	requestPage: function(url)
	{
		if ( this.loading == true )
			return false;

		if ( $.browser.msie )
			$('#advlist').html('<br/>');
		else
			$('#advlist').fadeTo("fast", 0.2);

		$('.loading_message').css('display','block');

		this.loading = true;
		var self = this;

		$.ajax({
			url: url,
			type: 'POST',
			dataType: 'json',
			data: {
				action: 'get_block',
				name: 'main'
			},
			success: function(data) {
				self.showPage(data.html);
				self.loading = false;
			},
			failed: function() {
				document.location.reload();
			}
		});
	},

	showPage: function(html)
	{
		$('#block_main').html(html);

		//window.scrollTo(0,0);
		$('#block_center').get(0).scrollIntoView(true);
		try
		{
			sb_loader_ex.show();
		}
		catch(err) {}

		if (!realty.firstPage)
			location.hash = realty.getHashFromUrl($('#i_CopyUrl').attr('href'));

        this.updateLiveInternetCounter();
	},


	prolongAll: function(deal,rubric,subrubric)
	{
		if ( this.loading == true )
			return false;

		if ( $.browser.msie )
			$('#ua_'+deal+'_'+rubric+'_'+subrubric).css("opacity", 0.2);
		else
			$('#ua_'+deal+'_'+rubric+'_'+subrubric).fadeTo("fast", 0.2);

		$('.loading_message').css('display','block');

		this.loading = true;
		var self = this;

		$.ajax({
			url: '/'+this.section+'/my.php',
			type: 'POST',
			dataType: 'json',
			data: {
				action: 'prolong_all',
				deal: deal,
				rubric: rubric,
				subrubric: subrubric
			},
			success: function(data) {
				$('.loading_message').css('display','none');
				$('#ua_'+deal+'_'+rubric+'_'+subrubric).fadeTo("fast", 1);
				$('#ua_'+deal+'_'+rubric+'_'+subrubric).html(data.html);
				$('#errors_'+deal+'_'+rubric+'_'+subrubric).html('<br/>'+data.errors);
				$('#rl_today_cnt').html(String(data.count));
				$('#rl_limit_cnt').html(data.tariff.limit);
				self.loading = false;
			},
			failed: function() {
				document.location.reload();
			}
		});
	},

	requestAction: function()
	{
		if ( $('#i_UserAction').val() == 'delete' && !confirm(realty.confirm))
			return false;

		if ( this.loading )
			return false;

		if ( $.browser.msie )
			$('#advlist').css('opacity', 0.2);
		else
			$('#advlist').fadeTo("fast", 0.2);

		$('.loading_message').css('display','block');

		this.loading = true;
		var self = this;

		var ids = [];
		$('.ids_actions').each(function(){
			if ( this.checked )
				ids.push(this.value);
		});

		$.ajax({
			url: '.',
			type: 'POST',
			dataType: 'json',
			data: {
				action: 'edit_list',
				UserAction: $('#i_UserAction').val(),
				'ids_action[]': ids
			},
			success: function (data) {
				self.showPage(data.html);
				self.loading = false;
			},
			failed: function() {
				document.location.reload();
			}
		});
	},

	requestActionRow: function(userAction)
	{
		if ( userAction == 'delete' && !confirm(realty.confirmRow))
			return false;

		if ( this.loading )
			return false;

		var announce = parseInt($('#action_announce').val());

		if(announce)
		{
			var deal = $('#action_deal').val();
			var rubric = $('#action_rubric').val();
			var subrubric = $('#action_subrubric').val();

			if ( $.browser.msie )
				$('#ua_'+deal+'_'+rubric+'_'+subrubric).css('opacity', 0.2);
			else
				$('#ua_'+deal+'_'+rubric+'_'+subrubric).fadeTo('fast', 0.2);
		}
		else
		{
			if ( $.browser.msie )
				$('#advlist').css('opacity', 0.2);
			else
				$('#advlist').fadeTo('fast', 0.2);
		}

		$('.loading_message').css('display','block');

		this.loading = true;
		var self = this;

		$.ajax({
			url: $('#action_action').val(),
			type: 'POST',
			dataType: 'json',
			data: {
				action: 'edit_list',
				UserAction: userAction,
				'ids_action[]': $('#action_id').val(),
				ReturnAnnounce: announce,
				page: $('#action_page').val()
			},
			success: function (data) {
				if(announce)
				{
					$('.loading_message').css('display','none');
					$('#ua_'+deal+'_'+rubric+'_'+subrubric).fadeTo('fast', 1);
					$('#ua_'+deal+'_'+rubric+'_'+subrubric).html(data.html);
					$('#errors_'+deal+'_'+rubric+'_'+subrubric).html(data.errors);
					$('#rl_today_cnt').html(String(data.count));
					$('#rl_limit_cnt').html(data.tariff.limit);
				}
				else
				{
					self.showPage(data.html);
				}
				self.loading = false;
			},
			failed: function() {
				document.location.reload();
			}
		});
	},

	AddAddress: function()
	{
		var address = $('.location-suggest-v').val();
		var house = $('.location-suggest-h').val();
		var address_text = $('.location-suggest-s').val();

		if ( address == 0 )
			return false;

		var duplicate = false;
		$('option','.location-suggest-o').each(function(){
			if ( this.value == address )
			{
				this.selected = true;
				duplicate = true;
				$('.location-suggest-o').change();
			}
		});
		if ( duplicate )
		{
			$('.asmListItemRemove','#AddrasmList0').click(this.addressRemoved);
		}
		else
		{
			if ( house != '' )
				address = address + '|' + house;
			var $option = $('<option/>')
					.attr('value',address)
					.css('display','none')
					.text(address_text)
					.attr('selected',true);

			$('.location-suggest-o').append($option).change();

			if ( $('.location-suggest-o').get(0).options.length > 1 )
			{
				$('.location-area').empty();
				$('.i_area').css('display','none');
			}

			$('.asmListItemRemove','#AddrasmList0').click(this.addressRemoved);
		}

		$('.location-suggest-v').val('');
		$('.location-suggest-s').val('');
		$('.location-suggest-s').focus();
	},

	/*AddAddress: function()
	{
		var address = $('.location-inline-v').val();
		var address_text = '';

		if ( address == 0 )
			return false;

		$('.location-inline .link-title').each(function(){
			if ( address_text != '' )
				address_text += ', ';
			address_text += this.innerHTML;
		});

		var duplicate = false;
		$('option','#s_Address').each(function(){
			if ( this.value == address )
			{
				this.selected = true;
				duplicate = true;
				$('#s_Address').change();
			}
		});
		if ( duplicate )
		{
			$('.asmListItemRemove','#AddrasmList0').click(this.addressRemoved);
			return;
		}

		var parent = false;

		if ( address.substr(18, 4) )
			parent = address.substr(0,18) + '0000';
		else if ( address.substr(15, 3) )
			parent = address.substr(0,15) + '0000000';
		else if ( address.substr(12, 3) )
			parent = address.substr(0,12) + '0000000000';
		else if ( address.substr(9, 3) )
			parent = address.substr(0,9) + '0000000000000';
		else if ( address.substr(6, 3) )
			parent = address.substr(0,6) + '0000000000000000';
		else if ( address.substr(3, 3) )
			parent = address.substr(0,3) + '0000000000000000000';

		if ( parent != false )
		{
			$('option','#s_Address').each(function(){
				if ( this.value == parent || this.value == address )
					$(this).remove();
			});
		}

		var $option = $('<option/>')
				.attr('value',address)
				.css('display','none')
				.text(address_text)
				.attr('selected',true);

		$('#s_Address').append($option).change();

		$('.location-inline-l-6').trigger('click');

		if ( $('#s_Address').get(0).options.length > 1 )
		{
			$('.location-area').empty();
			$('.i_area').css('display','none');
		}

		$('.asmListItemRemove','#AddrasmList0').click(this.addressRemoved);
	},*/

	addressRemoved: function()
	{
		var list = $('#s_Address').get(0);
		var count = 0;
		$('option','#s_Address').each(function(){
			if ( this.selected )
				count++;
		});

		if ( count == 1 ) {
			var parent = null;
			$('option','#s_Address').each(function(){
				if ( this.selected )
					parent = this.value;
			});
			$('.location-area').empty();
			$('.location-area').location_area({
				result: 'Area',
				parent: parent,
				parent_container: 'i_area',
				multiple: 1,
				removeLabel: '<img height="7" border="0" align="absmiddle" width="7" alt="X" src="/_img/design/200710_dom/controls/krest.gif"/>',
				listAlign: 'top'
			});
		}
	},

	changeLocation: function(parent, level, container)
	{
		if ( !container )
			container = 'i_area';

		if ( level <= 3 )
		{
			$('.'+container+' .location-area').empty();
			$('.'+container).css('display','none');

		}
		else
		{
			var result = $('.'+container+' .location-area .list').attr('name');
			if ( !result )
				result = 'Area';

			$('.'+container).css('display','');
			$('.'+container+' .location-area').location_area({
				result: result,
				parent: parent,
				parent_container: container
			});
		}

		var lm_parent = parent.substr(0, 9);

		while ( lm_parent.length < 22 )
			lm_parent = lm_parent + '0';

		$('.'+container+' .location-landmark').location_landmark({
			result: 'Landmark',
			parent: lm_parent,
			select_tree: 1,
			reload: true
		});
	},

	changeLocationSearch: function(parent, level)
	{
		$('.location-area').empty();
		if ( level <= 4 || $('.location-suggest-o option[selected]').length > 1 )
		{
			$('.i_area').css('display','none');
		}
		else
		{
			$('.location-area').location_area({
				result: 'Area[]',
				parent: parent,
				parent_container: 'i_area',
				multiple: 1,
				removeLabel: '<img height="7" border="0" align="absmiddle" width="7" alt="X" src="/_img/design/200710_dom/controls/krest.gif"/>',
				listAlign: 'top'
			});
		}

		if ( parent != '' )
			$('.location-suggest-a').show();
	},

	toFavorites: function(url, AdvID, isFavorite, hide)
	{
		var self = this;
		$('#fav_icon'+AdvID).addClass('fav_icon_loading');
		$.ajax({
			url: url,
			type: 'POST',
			mode: 'abort',
			port: 'toFavorites'+AdvID,
			dataType: 'json',
			data: {
				action: 'to_favorites',
				AdvID: AdvID,
				isFavorite: isFavorite
			},
			success: function (data) {
				$('#fav_icon'+AdvID).removeClass('fav_icon_loading');
				if ( data.success == true )	{
					$('#fav_icon'+AdvID).unbind("click");
					if ( isFavorite == true ) {
						$('#fav_icon'+AdvID).removeClass('fav_icon_not_in_favorites');
						$('#fav_icon'+AdvID).addClass('fav_icon_in_favorites');
						$('#fav_icon'+AdvID).click(function(){
							self.toFavorites(url,AdvID,0,hide)
						});
						$('#fav_icon'+AdvID).attr('title','Удалить из избранное');
						$('#adv'+AdvID+'remark').css('display','');
					} else {
						$('#fav_icon'+AdvID).removeClass('fav_icon_in_favorites');
						$('#fav_icon'+AdvID).addClass('fav_icon_not_in_favorites');
						$('#fav_icon'+AdvID).click(function(){
							self.toFavorites(url,AdvID,1,hide)
						});
						$('#fav_icon'+AdvID).attr('title','Добавить в избранное');
						if ( hide ) {
							$('#row'+AdvID).fadeOut("fast");
						}
						$('#adv'+AdvID+'remark').css('display','none');
					}
					if ( hide ) {
						$('#AdvCount').html(data.count);
					}
				} else {
					if ( isFavorite == true ) {
						alert('Не удалось добавить объявление в избранное');
					} else {
						alert('Не удалось удалить объявление из избранного');
					}
				}
			},
			failed: function() {
				if ( isFavorite == true ) {
					alert('Не удалось добавить объявление в избранное');
				} else {
					alert('Не удалось удалить объявление из избранного');
				}
			}
		});
	},

	editFavRemark: function(AdvID)
	{
		$('#adv'+AdvID+'remark_text').css('display','none');
		$('#adv'+AdvID+'remark_edit').css('display','');
		$('#adv'+AdvID+'remark_edit').get(0).select();
	},

	saveFavRemark: function(AdvID, Remark, Link)
	{
		$('#adv'+AdvID+'remark_edit').css('display','none');
		$('#adv'+AdvID+'remark_text').css('display','');

		if ( Remark.length == 0 ) {
			$('#adv'+AdvID+'remark_text').html('<a href="javascript:void(0);" class="rl_underline_dashed_2" onclick="realty.editFavRemark('+AdvID+');">добавить заметку</a>');
		}
		else
		{
			$('#adv'+AdvID+'remark_text').html(Remark.replace(/\n/g,'<br/>'));
		}
		$.ajax({
			url: Link,
			type: 'POST',
			dataType: 'json',
			data: {
				action: 'remark_favorite',
				AdvID: AdvID,
				Remark: Remark
			},
			success: function (data) {
				if ( !data.success )
					alert('Не удалось сохранить заметку к избранному объявлению');
			},
			failed: function() {
				alert('Не удалось сохранить заметку к избранному объявлению');
			}
		});
	},

	showDetails: function($id, $url)
	{
		if ( $('#adv'+$id+'content').css('display') == 'none' )
		{
			if ( $('#adv'+$id+'content').html() == '' )
			{
				$('#adv'+$id+'loader').html('<img src="/_img/themes/frameworks/jquery/ajax/loader-big.gif" border="0" width="32" height="32"/>');
				$('#adv'+$id+'loader').slideDown(
					'normal',
					function()
					{
						$.ajax({
							url: $url,
							type: 'POST',
							dataType: 'json',
							data: {
								action: 'get_detail',
								id: $id
							},
							success: function (data)
							{
								$('#adv'+$id+'loader').css('display','none');
								$('#adv'+$id+'content').html(data.html);
								$('#adv'+$id+'content').slideDown('slow');
							},
							failed: function()
							{
								$('#adv'+$id+'loader').slideUp('normal');
							}
						});
					}
				);
			} else {
				$('#adv'+$id+'content').slideDown('slow');
			}
		} else {
			$('#adv'+$id+'content').slideUp('normal');
		}
	},

	changeDeal: function(action)
	{
		var deal = $('#i_deal option:selected').val();
		if ( this.rubrics[deal] && this.rubrics[deal].subrubrics )
		{
			$('#i_rubric').css('display','');
			$('#i_subrubric').css('display','');
			var obj = $('#i_rubric select').get(0);
			obj.options.length = 20;
			obj.options[0].value = '';
			obj.options[0].text = '-- укажите --';
			var pos = 1;
			for ( var r in this.rubrics[deal].subrubrics )
			{
				obj.options[pos].value = r;
				obj.options[pos].text = this.rubrics[deal].subrubrics[r].title;
				pos++;
			}
			obj.options.length = pos;
			obj.selectedIndex = 0;
			obj.disabled = false;

			var obj = $('#i_subrubric select').get(0);
			obj.options.length = 1;
			obj.options[0].value = '';
			obj.options[0].text = '-- укажите --';
			obj.disabled = true;
		}
		else
		{
			$('#i_rubric').css('display','none');
			$('#i_subrubric').css('display','none');
			if ( deal )
				this.changeSubrubric(action);
		}

		$('#advform').fadeOut("slow", function() { $('#advform').remove(); $('#errors').remove(); });
	},

	changeRubric: function()
	{
		var deal = $('#i_deal option:selected').val();
		var rubric = $('#i_rubric option:selected').val();
		var obj = $('#i_subrubric select').get(0);
		obj.options.length = 20;
		obj.options[0].value = '';
		obj.options[0].text = '-- укажите --';
		var pos = 1;
		for ( var r in this.rubrics[deal].subrubrics[rubric].subrubrics )
		{
			obj.options[pos].value = r;
			obj.options[pos].text = this.rubrics[deal].subrubrics[rubric].subrubrics[r].title;
			pos++;
		}
		obj.options.length = pos;
		obj.selectedIndex = 0;
		obj.disabled = false;
		$('#advform').fadeOut("slow", function() { $('#advform').remove(); $('#errors').remove(); });
	},

	changeSubrubric: function(action)
	{
		$('#advform').remove();

		var deal = $('#i_deal option:selected').val();
		var rubric = $('#i_rubric option:selected').val();
		var subrubric = $('#i_subrubric option:selected').val();

		$('#errors').remove();
		$('#block_center').append('<div id="loader" align="center"><br/><img src="/_img/themes/frameworks/jquery/ajax/loader-huge.gif" /></div>');

		$.ajax({
			url: '.',
			type: 'POST',
			dataType: 'json',
			data: {
				action: 'get_form',
				form_action: action,
				deal: deal,
				rubric: rubric,
				subrubric: subrubric
			},
			success: function (data) {
				$('#loader').remove();
				if ( data.success == true )
				{
					if($('#adv_form_wrapper').get(0)!='undefined'&&$('#adv_form_wrapper').get(0)!=undefined)
					{
						$('#adv_form_wrapper').html(data.html);
					}
					else
					{
						$('#block_center').append(data.html);
					}
					$('#advform').fadeIn("slow");
				}
				else
				{
					$('#i_deal select').get(0).disabled = false;
					$('#i_deal select').get(0).selectedIndex = 0;
					$('#i_rubric select').get(0).selectedIndex = 0;
					$('#i_subrubric select').get(0).selectedIndex = 0;
				}
			},
			fail: function (data) {
				$('#i_deal').get(0).disabled = false;
			}
		});
	},

	addPhoto: function()
	{
		for ( var i=2; i<=this.photo_count; i++ )
		{
			if ( $('#i_Photo'+i).css('display') == 'none' )
			{
				$('#i_Photo'+i).css('display','');
				$('#i_PhotoRemove').css('display','');
				if ( i == this.photo_count )
					$('#i_PhotoAdd').css('display','none');
				return;
			}
		}
	},

	removePhoto: function()
	{
		for ( var i=this.photo_count; i>1; i-- )
		{
			if ( $('#i_Photo'+i).css('display') != 'none' )
			{
				$('#i_Photo'+i).css('display','none');
				$('#i_PhotoAdd').css('display','');
				if ( i == 2 )
					$('#i_PhotoRemove').css('display','none');
				return;
			}
		}
	},

	addObject: function(type)
	{
		for ( var i=2; i<=this.object_count; i++ )
		{
			if ( $('#i_'+type+'Object'+i).css('display') == 'none' )
			{
				$('#i_'+type+'Object'+i).css('display','');
				$('#i_'+type+'ObjectRemove').css('display','block');
				if ( i == this.object_count )
					$('#i_'+type+'ObjectAdd').css('display','none');
				return;
			}
		}
	},

	removeObject: function(type)
	{
		for ( var i=this.object_count; i>1; i-- )
		{
			if ( $('#i_'+type+'Object'+i).css('display') != 'none' )
			{
				$('#i_'+type+'Object'+i).css('display','none');
				$('#i_'+type+'ObjectAdd').css('display','block');
				if ( i == 2 )
					$('#i_'+type+'ObjectRemove').css('display','none');
				return;
			}
		}
	},
	changeObject: function(index)
	{
		if (this.objects[$("#Object_"+index).val()].adress == '1')
			$("#span_object_adress_"+index).css({"display":"inline"});
		else
			$("#span_object_adress_"+index).css({"display":"none"});
	},

	setCookie: function(name, value, expires, path, domain, secure) {
		document.cookie = name + "=" + escape(value) +
		((expires) ? "; expires=" + expires : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		((secure) ? "; secure" : "");
	},

	getCookie: function(name) {
		var cookie = " " + document.cookie;
		var search = " " + name + "=";
		var setStr = null;
		var offset = 0;
		var end = 0;
		if (cookie.length > 0) {
			offset = cookie.indexOf(search);
			if (offset != -1) {
				offset += search.length;
				end = cookie.indexOf(";", offset)
				if (end == -1) {
					end = cookie.length;
				}
				setStr = unescape(cookie.substring(offset, end));
			}
		}
		return(setStr);
	},

	saveOption: function(option, value)
	{
		$.ajax({
			url: '.',
			type: 'POST',
			dataType: 'json',
			data: {
				action: 'set_option',
				option: option,
				value: value
			}
		});
	},

	updateListByMap: function(map)
	{
		if ( this.loading )
			return;

		var bounds = map.getBounds();

		var mapxmin = bounds.getLeft();
		var mapymin = bounds.getTop();
		var mapxmax = bounds.getRight();
		var mapymax = bounds.getBottom();

		if ( mapxmax <= mapxmin && mapymax <= mapymin )
			return;

		$('#i_mapxmin').val(mapxmin);
		$('#i_mapymin').val(mapymin);
		$('#i_mapxmax').val(mapxmax);
		$('#i_mapymax').val(mapymax);

		if ( $('#rl_search_form').size() ) {
			$('#rl_search_form').submit();
		} else if ( $('#rl_search_form_expanded').size() ) {
			$('#rl_search_form_expanded').submit();
		}
	},


	showStoreQueryForm: function (url, count)
	{
		$('#store_query_form').fadeIn('fast');
		$('#i_store_query').hide();

		$('#store_query_form_close').click( function() {
			$('#i_store_query').show();
			$('#store_query_form').fadeOut('fast');
		});

		$('#i_store_query_name').val($('#i_store_query_desc').html());
		$('#i_store_query_name').select();

		$('#i_store_query_submit').click( function() {
			$(this).attr('disabled','disabled');

			var name = $('#i_store_query_name').val();
			if ( name == '' ) {
				alert('Не задано название запроса');
				return;
			}

			$.ajax({
				url: url,
				type: 'POST',
				dataType: 'json',
				data: {
					action: 'store_query',
					name: name,
					count: count
				},
				success: function(data) {
					$('#i_store_query_submit').removeAttr('disabled');

					if ( data.success != true ) {
						if ( data.message )
							alert(data.message);
						if ( data.close )
							$('#store_query_form').fadeOut('fast');
						if ( data.redirect_url )
							window.location.href = data.redirect_url;
						return;
					}
					alert(data.message);

					$('#store_query_form').fadeOut('fast');

					$('#i_query_id').val(data.id);

					$('#i_my_queries').append($('<option></option>').attr({'value': data.id, 'selected': true}).html(name));
					$('#i_my_queries_container').show();

					$('#i_unsubscribe_query').show();

					$('#i_change_query').show();
					$('#i_delete_query').show();
				},
				failed: function() {
					alert(data.message);
				}
			});
		});
	},

	storedQuerySubscribe: function(subscribe)
	{
		if ( subscribe == 1 ) {
			$('#i_subscribe_query').hide();
		} else {
			$('#i_unsubscribe_query').hide();
		}

		$.ajax({
			url: '.',
			type: 'POST',
			dataType: 'json',
			data: {
				action: 'subscribe_query',
				id: $('#i_query_id').val(),
				subscribe: subscribe
			},
			success: function(data) {
				if ( data.success != true ) {
					if ( subscribe == 1 ) {
						$('#i_subscribe_query').show();
					} else {
						$('#i_unsubscribe_query').show();
					}
					alert(data.message);
					return;
				}
				if ( subscribe == 1 ) {
					$('#i_unsubscribe_query').show();
				} else {
					$('#i_subscribe_query').show();
				}
				alert(data.message);
			},
			failed: function() {
				if ( subscribe == 1 ) {
					$('#i_subscribe_query').show();
				} else {
					$('#i_unsubscribe_query').show();
				}
				alert(data.message);
			}
		});
	},

	storedQueryDelete: function()
	{
		$('#i_change_query').hide();
		$('#i_delete_query').hide();

		$.ajax({
			url: '.',
			type: 'POST',
			dataType: 'json',
			data: {
				action: 'delete_query',
				id: $('#i_query_id').val()
			},
			success: function(data) {
				if ( data.success != true ) {
					$('#i_change_query').show();
					$('#i_delete_query').show();
					alert(data.message);
					return;
				}
				$('#i_subscribe_query').hide();
				$('#i_unsubscribe_query').hide();
				alert(data.message);

				$('#i_my_queries option[value='+$('#i_query_id').val()+']').remove();
				if ( $('#i_my_queries option').size() == 1 )
					$('#i_my_queries_container').hide();

				$('#i_store_query').show();
			},
			failed: function() {
				$('#i_change_query').show();
				$('#i_delete_query').show();
				alert(data.message);
			}
		});
	},

	getHashFromUrl: function(url) {
		url = url.replace('?', '%');
		var hash = url.replace(/#.*/, '');
		return hash.replace(/.*\//, '');
	},

	getUrlFromHash: function(hash) {
		hash = hash.replace('%', '?');
		return location.href.match(/.*\//) + hash;
	},

	historyListener: function(hash) {
		if ( (!realty.loading && !realty.firstPage) || (hash.length != 0) ) {
			var currentHash = realty.getHashFromUrl($('#i_CopyUrl').attr('href'));
			if ( currentHash && hash != currentHash ) {
				realty.requestPage(realty.getUrlFromHash(hash));
			}
		}
	},

	identityCallback: function() {
		$('#identity_context').slideUp('slow', function() {
			$('#identity_context').empty();
			$.ajax({
				type: 'POST',
				mode: 'abort',
				port: 'check_user_can_add',
				dataType: 'json',
				data: {
					action: 'check_user_can_add'
				},
				success: function (data) {
					if ( data.status > 0 ) {
						$('#identity_context').html(data.html);
						$('#identity_context').slideDown('slow');
					} else if ( data.status == 0 ) {
						$('#formButtons input[type=submit]').removeAttr('disabled');
                        $('#formEmail').css('display', 'none');
                        $('#formCaptcha').css('display', 'none');
						$('#guestEmail').removeClass('not_empty');
						$('#guestCaptchaCode').removeClass('not_empty');
						$('#identity_context').html('<div align="center"><b>Вы успешно авторизированы. Разместите объявление.</b></div><br/>');
						$('#identity_context').slideDown('slow');
						realty.isAuth = true;
					} else {
						realty.isAuth = false;
						alert('Не удалось проверить возможность добавления объявления. Попробуйте еще раз.');
					}
				},
				failed: function() {
					realty.isAuth = false;
					alert('Не удалось проверить возможность добавления объявления. Попробуйте еще раз.');
				}
			});
		});
	},

	showIdentityForm: function() {
		this.isAuth = false;
		Mod_Passport_Api.Forms.Identity(
            '#identity_context',
            realty.identityCallback,
            '<b>Зарегистрировавшись, вы сможете редактировать и продлевать  объявления, получать уведомления о количестве просмотров и личные  сообщения.</b>',
            {
                email: $('.email').val()
            }
        );
	},

    showGuestAccessForm: function() {
        $('#identity_context').slideUp('slow', function() {
			$('#guestEmail').val($('#i_advEmail').val());
            $('#advEmail').css('display', 'none');
            $('#formGuest').css('display','none');
            $('#formEmail').css('display', '');
            $('#formCaptcha').css('display', '');
            $('#guestEmail').addClass('not_empty');
            $('#guestCaptchaCode').addClass('not_empty');
            $('#formButtons input[type=submit]').removeAttr('disabled');
            $('#formButtons').fadeIn('slow');
        });
    },

	identityCallbackForQuery: function() {
		$('#identity_context').slideUp('slow', function() {
			$('#identity_context').empty();
			$('#store_query_buttons').fadeIn('slow');
		});
	},

	showIdentityFormForQuery: function() {
		Mod_Passport_Api.Forms.Identity(
            '#identity_context',
            realty.identityCallbackForQuery,
            '<b>Зарегистрировавшись, вы можете сохранить свой поисковый запрос и подписаться на уведомления о новых объявлениях по этому запросу на почту. Это ускорит процесс поиска в следующий раз.</b>',
            {}
        );
	},

	submitOptions: function() {
		if ( $('#formOptions .phone_input_code').hasClass('error') || $('#formOptions .phone_input_number').hasClass('error') )
			return false;

		$('#formOptions input[type=submit]').attr('disabled','disabled');
		$('#formOptions input[type=reset]').attr('disabled','disabled');
		$.ajax({
			type: 'POST',
			mode: 'abort',
			port: 'options_short',
			dataType: 'json',
			data: {
				action: 'options_short',
				Type: $('#formOptions input[name=Type]:checked').val(),
				Phone: $('#formOptions input[name=Phone]').val(),
				Firm: $('#formOptions input[name=Firm]').val(),
				Email: $('#formOptions input[name=Email]').val(),
				Name: $('#formOptions input[name=Name]').val()
			},
			success: function (data) {
				if ( data.status > 0 ) {
					$('#formOptions .error').html(data.html);
					$('#formOptions input[type=submit]').removeAttr('disabled');
					$('#formOptions input[type=reset]').removeAttr('disabled');
				} else if ( data.status == 0 ) {
					realty.isAuth = true;
					$('#identity_context').slideUp('slow', function() {
						$('#formButtons input[type=submit]').removeAttr('disabled');
						$('#formEmail').css('display', 'none');
						$('#formCaptcha').css('display', 'none');
						$('#guestEmail').removeClass('not_empty');
						$('#guestCaptchaCode').removeClass('not_empty');
						$('#formButtons').fadeIn('slow');
						$('#identity_context').html('<div align="center"><b>Данные сохранены. Разместите объявление.</b></div><br/>');
						$('#identity_context').slideDown('slow');
					});
				} else {
					$('#formOptions input[type=submit]').removeAttr('disabled');
					$('#formOptions input[type=reset]').removeAttr('disabled');
					alert('Не удалось проверить возможность добавления объявления. Попробуйте еще раз.');
				}
			},
			failed: function() {
				$('#formOptions input[type=submit]').removeAttr('disabled');
				$('#formOptions input[type=reset]').removeAttr('disabled');
				alert('Не удалось проверить возможность добавления объявления. Попробуйте еще раз.');
			}
		});

		return false;
	},

	sendFavoritesAction: function()
	{
		if ( this.loading )
			return false;

		var ids = [];
		var found = false;
		$('.ids_actions').each(function(){
			if ( this.checked ) {
				ids.push(this.value);
				found = true;
			}
		});

		if ( !found ) {
			alert('Выделите объявления, которые нужно отправить');
			return false;
		}

		if ( $.browser.msie )
			$('#advlist').css('opacity', 0.2);
		else
			$('#advlist').fadeTo("fast", 0.2);

		$('.loading_message').css('display','block');

		var self = this;

		this.loading = true;

		$.ajax({
			url: '.',
			type: 'POST',
			dataType: 'json',
			data: {
				action: 'edit_list',
				UserAction: 'send_favorites',
				'email': $('#send_favorites_email').val(),
				'ids_action[]': ids
			},
			success: function (data) {
				self.showPage(data.html);
				self.loading = false;
			},
			failed: function() {
				document.location.reload();
			}
		});
	},

	showActions: function(deal, rubric, subrubric, AdvID)
	{
		var offset = $('#row'+AdvID).offset();
		var height = $('#row'+AdvID).innerHeight();
		var div_height = $('#action_div').innerHeight();
		var url = deal;
		if(subrubric)
			url = url + '/'+rubric+'/'+subrubric;
		$('#action_div').css({
			left:		offset.left,
			top:		offset.top + height - div_height,
			display:	'block'
		});
		$('#action_id').val(AdvID);
		$('#action_edit').attr('href', '/'+this.section+'/my/'+url+'/edit/'+AdvID+'.php');
		$('#action_action').val('/'+this.section+'/my/'+url+'/');
		$('#action_deal').val(deal);
		$('#action_rubric').val(rubric);
		$('#action_subrubric').val(subrubric);
	},

    updateLiveInternetCounter: function()
    {
        var liCounter = new Image(1,1);
        liCounter.src = '//counter.yadro.ru/hit?r='+
            ((typeof(screen)=='undefined')?'':';s'+screen.width+
            '*'+screen.height+'*'+(screen.colorDepth?screen.colorDepth:
            screen.pixelDepth))+';u'+escape(document.URL)+
            ';h'+escape(document.title.substring(0,80))+';'+Math.random();
    },

	setLargePhoto: function(url,w,h,desc)
	{
		var $photo = $('#large_photo');

		$photo.attr('src',url);
		$photo.attr('width',w);
		$photo.attr('height',h);
		$photo.attr('title',desc);
		$photo.attr('alt',desc);
		$('#photo_desc').html(desc);
	},

	changeFirmType: function(value)
	{
		if (value > 1)
		{
			$("#i_tr_Firm").show();
			$("#i_tr_About").show();
		}
		else
		{
			$("#i_tr_Firm").hide();
			$("#i_tr_About").hide();
		}
	}
};

if ( !$.browser.msie || $.browser.version >= 8 ) {
	$(document).ready(function(){
		if ( $('#i_CopyUrl').size() == 0 )
			return;

		if ( !location.hash ) {
			var hash = realty.getHashFromUrl($('#i_CopyUrl').attr('href'));
			if ( !realty.firstPage)
				location.hash = hash;
			if ("onhashchange" in window) {
				realty.historyListener(location.hash.replace('#',''));
			}
		}
		if ("onhashchange" in window) {
			$(window).bind('hashchange', function() {
				realty.firstPage = 0;
				realty.historyListener(location.hash.replace('#',''));
			});
			realty.historyListener(location.hash.replace('#',''));
		} else {
			$.history.init(realty.historyListener);
		}
	});
}

