(function($){
	jQuery(document).ready(function()
	{
		$("#content .search-form, #content .best-new, #content .best-deals").css("display", "block");
		if (!$("div .sorry").get(0))
		{
			$("a.new_win").click(function(){return !window.open(this.href)});
			$("#sidebar #print_page").click(function()
			{
				window.open(location.href + "?print=1", 'Распечатать страницу', 'toolbar=0, menubar=0, status=0, directories=0, location=0, status=0, scrollbars=1');
				return false;
			});

			$(document).dblclick(function()
			{
				if (window.getSelection)
					window.getSelection().removeAllRanges();
				else
					if (document.selection) document.selection.empty();
				return false;
			});

			$("#wrapper").css("display", "block");
			$("#zoomLoading").animate({"opacity": "0.5"}, 1);
			$(".bigGrey").animate({"opacity": "0.8"}, 1);
			$("table td a.th").tooltip({relative: true});
			
			setTopMenu();
			setTitleSearch();
			setTitleLists();
			setRedirects();
			setPopupMenu();
			setAdviceSlides();
			setCommonFunc();
		}
	});
})(jQuery);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function setTitleSearch()
{
	var searchForm = $("#last_content .search-form, #profile_div .search-form");
	if (!searchForm.get(0)) return false;

	tmpImage = new Image();
	tmpImage.src = "images/tooltip/white_arrow.png";

	tmpImage = new Image();
	tmpImage.src = "images/tooltip/white_arrow_big.png";

	tmpImage = new Image();
	tmpImage.src = "images/tooltip/white_arrow_very_big.png";

	var currOperation = Array([2, "в аренду"], [3, "на продажу"]);
	var currPrefix = Array("", "тыс.");
	var similarArray = Array(["1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "1.10"], ["4", "5"]);
	var disableExtSearch = Array(6, 8);

	$.ajax({type: "GET", url: "/ajax?search=1", async: false, success: function(currList){formParams = eval("({" + currList + "})"); setupFormContent();}});

	function setupFormContent()
	{
		var stateSearch = (setCookie("stateSearch", "get")) ? setCookie("stateSearch", "get") : 0;
		$("#search_state", searchForm).attr("value", stateSearch);

		var reloadExtendedSearch = true;

		var allStreets = {};
		$.ajax({type: "GET", url: "/ajax?street=1", async: false, success: function(currList){allStreets = eval("({" + currList + "})");}});

		var totalList = {};
		totalList.objectList = Array();
		totalList.areaList = Array();
		totalList.streetList = Array();
		totalList.materialList = Array();
		totalList.hometypeList = Array();
		totalList.waterList = Array();
		totalList.gardenList = Array();
		totalList.targetList = Array();

		$("#search_string").html(formParams.html);

		showSearchDiv(1);

		cannotToggle = false;
		$("#extended_search").toggle(function()
		{
			if (cannotToggle) return true;
			cannotToggle = true;
			if (parseInt(stateSearch)) hideSearchDiv(); else showSearchDiv();
		},
		function()
		{
			if (cannotToggle) return true;
			cannotToggle = true;
			if (parseInt(stateSearch)) hideSearchDiv(); else showSearchDiv();
		});

		$("#object_table, #area_table, #operation_table, #street_table", searchForm).click(function()
		{
			$(this).hide();
		});

		$("#object_table a", searchForm).each(function()
		{
			var tmpPrefix = $(this).attr("id").replace(/(.+)_-?\d+\.\d+/, "$1");
			if (tmpPrefix == "object")
				totalList["objectList"][$(this).attr("id").replace(/.+_(-?\d+\.\d+)/, "$1")] = $(this).text();
		});

		$("#object_table a, #area_table a", searchForm).each(function()
		{
			var tmpPrefix = $(this).attr("id").replace(/(.+)_-?\d+/, "$1");

			switch (tmpPrefix)
			{
				case "object":
					totalList["objectList"][$(this).attr("id").replace(/.+_(-?\d+)/, "$1")] = $(this).text();
				break;
				case "area":
					totalList["areaList"][$(this).attr("id").replace(/.+_(-?\d+)/, "$1")] = $(this).text();
				break;
			}
		});

		var currValue = ($("#operation").attr("value") == 3) ? 1 : 0;
		$("#prefix_span").text(currPrefix[currValue]);

		$("#operation_select").click(function()
		{
			currValue = ($("#operation").attr("value") == 3) ? 0 : 1;
			$("#operation").attr("value", currOperation[currValue][0]);
			$(this).text(currOperation[currValue][1]);
			$("#prefix_span").text(currPrefix[currValue]);
		});

		var areaToStr = $("#area", searchForm).attr("value");
		getStreetArray(areaToStr);

		rotateFields("object");
		rotateFields("area");
		toggleFields("square");
		toggleFields("price");
		setTooltipSwitch($("#area_table a, #object_table a, #operation_table a"));

		function setTooltipSwitch(currObject)
		{
			if (!currObject) return;

			currObject.unbind("click");
			currObject.click(function()
			{
				var tmpValue = $("#" + tmpPrefix).attr("value");
				var tmpPrefix = $(this).attr("id").replace(/(.+)_-?[\d|\.]+/, "$1");
				var currId = $(this).attr("id").replace(/.+_(-?[\d|\.]+)/, "$1");

				if (tmpPrefix != "operation")
				{
					$("#" + tmpPrefix).attr("value", currId);
					$("#" + tmpPrefix + "_select").text(totalList[tmpPrefix + "List"][currId]);
				}
				else
				{
					currId = (currId == 3) ? 1 : 0;
					$("#" + tmpPrefix).attr("value", currOperation[currId][0]);
					$("#" + tmpPrefix + "_select").text(currOperation[currId][1]);
					$("#prefix_span").text(currPrefix[currId]);
				}

				if (tmpPrefix == "object")
				{
					var bufferFirst = null;
					var bufferSecond = null;
					for (a = 0; aMax = similarArray.length, a < aMax; a++)
						for (b = 0; bMax = similarArray[a].length, b < bMax; b++)
						{
							if (similarArray[a][b] == tmpValue)
								bufferFirst = a;

							if (similarArray[a][b] == currId)
								bufferSecond = a;
						}

					if (parseInt(stateSearch) && ((bufferFirst != bufferSecond) || (bufferFirst === null)))
					{
						reloadExtendedSearch = true;
						showExtendedSearch();
					}

					if (currId == 8) $("#metric_span").html("сот."); else $("#metric_span").html("м<span class=\"sup\">2</span>");

					disableSearchLink(currId);
				}

				if (tmpPrefix == "area")
				{
					var currArea = $("#area").attr("value");
					getStreetArray(currArea);
				}

				$("#" + tmpPrefix + "_table").hide();

				return false;
			});

			$(".selected_span, label", searchForm).css("cursor", "pointer");
			$(".selected_span", searchForm).tooltip({relative: true, rebuildAPI: true});
		}

		function toggleFields(type)
		{
			var tmpField = type.split("_");
			var currField = "";

			for (l = 0; lMax = tmpField.length, l < lMax; l++)
				currField += tmpField[l].charAt(0).toUpperCase() + tmpField[l].substr(1, tmpField[l].length - 1);

			if (formParams["from" + currField] || formParams["to" + currField])
			{
				showFields("#" + type + "_content", type);
				$("#from_" + type).val(formParams["from" + currField]);
				$("#to_" + type).val(formParams["to" + currField]);

				$("#" + type + "_content").toggle(function()
				{
					hideFields(this, type);
				},
				function()
				{
					showFields(this, type);
				});
			}
			else
			{
				$("#" + type + "_content").toggle(function()
				{
					showFields("#" + type + "_content", type);
				},
				function()
				{
					hideFields("#" + type + "_content", type);
				});
			}
		}

		function rotateFields(type)
		{
			$("#" + type + "_select").unbind("click").click(function()
			{
				currValue = $("#" + type).attr("value");
				var tmpValue = currValue;
				var firstElement = true;
				var firstK = "";
				var nextItem = false;
				for (k in totalList[type + "List"])
				{
					if (firstElement)
					{
						firstK = k;
						firstElement = false;
					}

					if (nextItem)
					{
						$("#" + type).attr("value", k);
						$("#" + type + "_select").text(totalList[type + "List"][k]);
						if ((type == "object") && (k == 8)) $("#metric_span").html("сот."); else $("#metric_span").html("м<span class=\"sup\">2</span>");
						nextItem = false;
						break;
					}
					if (k == currValue) nextItem = true;
				}

				if (nextItem)
				{
					$("#" + type).attr("value", firstK);
					$("#" + type + "_select").text(totalList[type + "List"][firstK]);
				}

				if (type == "object")
				{
					var currId = $("#" + type).attr("value");
					var bufferFirst = null;
					var bufferSecond = null;
					for (a = 0; aMax = similarArray.length, a < aMax; a++)
						for (b = 0; bMax = similarArray[a].length, b < bMax; b++)
						{
							if (similarArray[a][b] == tmpValue)
								bufferFirst = a;

							if (similarArray[a][b] == currId)
								bufferSecond = a;
						}

					if (parseInt(stateSearch) && ((bufferFirst != bufferSecond) || (bufferFirst === null)))
					{
						reloadExtendedSearch = true;
						showExtendedSearch();
					}
					else disableSearchLink(currId);
				}

				if (type == "area")
				{
					var currArea = $("#area").attr("value");
					getStreetArray(currArea);
				}
			});
		}

		function showFields(currObject, objType)
		{
			var outputHTML = "";

			var selectText = "";
			var spanId = "";
			var spanText = "";
			var endPoint = "";

			var tmpField = objType.split("_");
			var currField = "";

			for (l = 0; lMax = tmpField.length, l < lMax; l++)
				currField += tmpField[l].charAt(0).toUpperCase() + tmpField[l].substr(1, tmpField[l].length - 1);

			switch(objType)
			{
				case "square":
					selectText = "С площадью ";
					spanId = "metric_span";
					spanText = "м<span class=\"sup\">2";
					spanHint = "Вы можете указать<br />площадь объекта.";
					spanAddText = "";
					endPoint = "";
				break;
				case "price":
					selectText = "и ценой ";
					spanId = "prefix_span";
					spanText = "тыс.";
					spanHint = "Вы можете указать<br />цену объекта.";
					spanAddText = " рублей";
					endPoint = ".";
				break;
				case "live_square":
					selectText = "С жилой площадью ";
					spanId = "metric_live_span";
					spanText = "м<span class=\"sup\">2";
					spanHint = "Вы можете указать<br />жилую площадь объекта.";
					spanAddText = "";
					endPoint = "";
				break;
				case "kitchen_square":
					selectText = "с площадью кухни ";
					spanId = "metric_kitchen_span";
					spanText = "м<span class=\"sup\">2";
					spanHint = "Вы можете указать<br />площадь кухни объекта.";
					spanAddText = "";
					endPoint = "";
				break;
				case "floor":
					selectText = "на этажe ";
					spanId = "no_prefix_floor";
					spanText = "";
					spanHint = "Вы можете указать<br />этаж объекта.";
					spanAddText = "";
					endPoint = ".";
				break;
				case "garden":
					selectText = "С участком ";
					spanId = "no_prefix_garden";
					spanText = "сот.";
					spanHint = "Вы можете указать<br />площадь участка.";
					spanAddText = "";
					endPoint = "";
				break;
			}

			var startValue = formParams["from" + currField] || "";
			var endValue = formParams["to" + currField] || "";
			outputHTML = "<span class=\"left_floated\"><span class=\"selected_span\">" + selectText + "</span>"
				+ "<span class=\"tooltip\">" + spanHint + "</span>"
				+ "<label for=\"from_price\"><span class=\"selected_span\">от</span><span class=\"tooltip\">" + spanHint + "</span></label></span>"
				+ "<input type=\"text\" name=\"from_" + objType + "\" id=\"from_" + objType + "\" value=\"" + startValue + "\" />"
				+ "<span class=\"left_floated\"><label for=\"to_price\"><span class=\"selected_span\">до</span><span class=\"tooltip\">" + spanHint + "</span></label></span>"
				+ "<input type=\"text\" name=\"to_" + objType + "\" id=\"to_" + objType + "\" value=\"" + endValue + "\" />"
				+ "<span class=\"left_floated\"><span class=\"selected_span\"><span id=\"" + spanId + "\">" + spanText + "</span>" + spanAddText + "</span>" + endPoint + "</span>"
				+ "<span class=\"tooltip\">" + spanHint + "</span>";

			$(currObject).html(outputHTML);

			var currValue = $("#object").attr("value");
			if (currValue == 8) $("#metric_span").html("сот."); else $("#metric_span").html("м<span class=\"sup\">2</span>");

			currValue = ($("#operation").attr("value") == 3) ? 1 : 0;
			$("#prefix_span").text(currPrefix[currValue]);

			$("#from_" + objType).change(function(){formParams["from" + currField] = $(this).val();});
			$("#to_" + objType).change(function(){formParams["to" + currField] = $(this).val();});

			$(".selected_span", searchForm).css("cursor", "pointer").tooltip({relative: true, rebuildAPI: true});
			$("input", currObject).click(function(){return false;});
		}

		function hideFields(currObject, objType)
		{
			var outputHTML = "";
			var selectText = "";
			var selectHint = ""
			var endPoint = "";

			switch (objType)
			{
				case "square":
					selectText = "С любой площадью";
					selectHint = "Вы можете указать<br />площадь объекта.";
					endPoint = "";
				break;
				case "price":
					selectText = "и любой ценой ";
					selectHint = "Вы можете указать<br />цену объекта.";
					endPoint = ".";
				break;
				case "live_square":
					selectText = "С любой жилой площадью";
					selectHint = "Вы можете указать<br />жилую площадь объекта.";
					endPoint = "";
				break;
				case "kitchen_square":
					selectText = "и любой площадью кухни";
					selectHint = "Вы можете указать площадь<br />кухни для объекта.";
					endPoint = "";
				break;
				case "floor":
					selectText = "на любом этаже";
					selectHint = "Вы можете указать<br />этаж объекта.";
					endPoint = ".";
				break;
				case "garden":
					selectText = "И с любым участком";
					selectHint = "Вы можете указать<br />площадь участка.";
					endPoint = ".";
				break;
			}

			outputHTML = "<span class=\"left_floated\"><span id=\"set_" + objType + "_select\" class=\"selected_span\">" + selectText + "</span>"
				+ "<span class=\"tooltip\">" + selectHint + "</span>" 
				+ endPoint + "</span>";
			$(currObject).html(outputHTML);
			$(".selected_span", searchForm).css("cursor", "pointer").tooltip({relative:true, rebuildAPI: true});
		}

		function getStreetArray(currArea)
		{
			var currStrId = $("#street", searchForm).attr("value");

			var currStr = {};
			var currStrBuffer = Array();
			currStr.id = Array();
			currStr.name = Array();

			currStr.id[0] = -1;
			currStr.name[0] = "любая";

			if (currArea != -1) getCurrStreets(currArea);
			else for (x in allStreets) getCurrStreets(x, true);

			function getCurrStreets(currArea, isDefault)
			{
				currArea = allStreets[currArea];
				for (z = 0, zMax = currArea.id.length; z < zMax; z++)
				{
					if (!isDefault)
					{
						currStr.id[currStr.id.length] = currArea.id[z];
						currStr.name[currStr.name.length] = currArea.name[z];
					}
					else currStrBuffer[currStrBuffer.length] = Array(currArea.name[z], currArea.id[z]);
				}
			}

			if (currArea == -1)
			{
				currStrBuffer.sort(function(firstElement, secondElement)
				{
					if (firstElement[0] > secondElement[0]) return 1;
					else
					{
						if (firstElement[0] < secondElement[0]) return -1;
						else return 0;
					}
				});

				for (z = 0, zMax = currStrBuffer.length; z < zMax; z++)
				{
					currStr.id[currStr.id.length] = currStrBuffer[z][1];
					currStr.name[currStr.name.length] = currStrBuffer[z][0];
				}
			}

			var resId = -1;
			totalList["streetList"] = Array();

			for (t = 0, tMax = currStr.id.length; t < tMax; t++)
			{
				totalList["streetList"][currStr.id[t]] = currStr.name[t];
                
				if (currStrId == currStr.id[t]) resId = t;
			}

			if (resId != -1)
				$("#street_select", searchForm).text(currStr.name[resId]);
			else
			{
				$("#street", searchForm).attr("value", -1);
				$("#street_select", searchForm).text("любая");
			}

			var outElement = $("#street_table td", searchForm);

			makePager(1);
			function makePager(currPage)
			{
				var totalLength = currStr.id.length;
				var recPerPage = 40;
				var recPerColumn = Math.round(recPerPage / 4);

				var numPages = Math.ceil(totalLength / recPerPage).toFixed();
				currPage = (currPage < 1) ? 1 : (currPage > numPages) ? numPages : currPage;

				for (f = 0, fMax = outElement.length; f < fMax; f++) outElement.eq(f).empty();

				var currItem = 0;
				var deltaQ = 0;
				for (q = (currPage - 1) * recPerPage, qMax = Math.min(currPage * recPerPage, currStr.id.length); q < qMax; q++)
				{
					deltaQ = q - recPerPage * (Math.floor(q / recPerPage).toFixed()) + 1;
					currItem = Math.ceil(deltaQ / recPerColumn).toFixed() - 1;
					outElement.eq(currItem).append("<a href=\"/\" id=\"street_" + currStr.id[q] + "\" class=\"order_link\">" + currStr.name[q] + "</a><br />");
				}

				rotateFields("street");
				setTooltipSwitch($("#street_table a"));

				$("#street_back, #street_forward, #street_state", searchForm).remove();

				$("#street_table", searchForm).unbind("mousewheel").unbind("DOMMouseScroll");
				if (numPages > 1)
				{
					if (currPage > 1)
						$("#street_table", searchForm).append("<a href=\"/\" id=\"street_back\" class=\"previous_street\">&lt;&lt;&nbsp;Назад</a>");

					if (currPage < numPages)
						$("#street_table", searchForm).append("<a href=\"/\" id=\"street_forward\" class=\"next_street\">Вперед&nbsp;&gt;&gt;</a>");

					$("#street_table", searchForm).append("<div id=\"street_state\" class=\"state_street\">" + currPage + "/" + numPages + "</div>");

					$("#street_forward", searchForm).unbind("click").click(function()
					{
						makePager(currPage + 1);
						return false;
					});

					$("#street_back", searchForm).unbind("click").click(function()
					{
						makePager(currPage - 1);
						return false;
					});

					$("#street_table", searchForm).bind("DOMMouseScroll", function(currEvent){streetScroll(currEvent);}).bind("mousewheel", function(currEvent){streetScroll(currEvent);});

					function streetScroll(currEvent)
					{
						currEvent = currEvent || window.event;
						var wheelDelta = 0;
						if (currEvent.wheelDelta)
							wheelDelta = - currEvent.wheelDelta / 120;
						else
							if (currEvent.detail) wheelDelta = currEvent.detail / 3;

						if (wheelDelta > 0) makePager(currPage + 1); else makePager(currPage - 1);

						if (currEvent.stopPropagation) currEvent.stopPropagation();
						if (currEvent.preventDefault) currEvent.preventDefault();
						currEvent.returnValue = false;
					}
				}
			}
		}

		function showSearchDiv(firstStart)
		{
			if (firstStart)
			{
				var currId = $("#object").attr("value");
				disableSearchLink(currId);
			}
			else
			{
				stateSearch = 1;
				$("#search_state", searchForm).attr("value", stateSearch);
				setCookie("stateSearch", "set", 1);

				if (reloadExtendedSearch)
				{
					reloadExtendedSearch = false;
					showExtendedSearch();
				}

				$("#extended_search", searchForm).fadeOut(300, function()
				{
					cannotToggle = false;
					$("#extended_search_close", searchForm).fadeIn(300);
				});
				$("#extended_div").slideDown("slow");
			}

			$("#extended_search_close").click(function()
			{
				hideSearchDiv();
				return false;
			});
			return false;
		}

		function disableSearchLink(currId)
		{
			disableSearch = false;

			for (p = 0; pMax = disableExtSearch.length, p < pMax; p++)
				if (disableExtSearch[p] == currId) disableSearch = true;
			if (disableSearch)
			{
				$("#extended_div").css("display", "none");

				$("#extended_search", searchForm).css("display", "none");
				$("#extended_search_close", searchForm).css("display", "none");
			}
			else
			{
				if (parseInt(stateSearch))
				{
					if (reloadExtendedSearch)
					{
						reloadExtendedSearch = false;
						showExtendedSearch();
					}
					$("#extended_div").css("display", "block");
					$("#extended_search_close", searchForm).css("display", "block");
					$("#extended_search", searchForm).css("display", "none");
				}
				else
				{
					$("#extended_search", searchForm).css("display", "block");
					$("#extended_div").css("display", "none");
					$("#extended_search_close", searchForm).css("display", "none");
				}
			}
		}

		function hideSearchDiv()
		{
			stateSearch = 0;
			$("#search_state", searchForm).attr("value", stateSearch);
			setCookie("stateSearch", "set", 0);
			$("#extended_div").slideUp("slow");

			$("#extended_search", searchForm).fadeIn(300);
			$("#extended_search_close", searchForm).fadeOut(300, function()
			{
				cannotToggle = false;
			});

			return false;
		}

		function showExtendedSearch()
		{
			if (!$("#object").attr("value")) return false;

			$.ajax({type: "GET", url: "/ajax?ext_search=" + $("#object").attr("value"), async: false, success: function(currList){extParams = eval("({" + currList + "})"); setExtendedSearch();}});

			function setExtendedSearch()
			{
				$("#extended_div").html(extParams.html);

				for (h in extParams)
					if (h != "html") formParams[h] = extParams[h];

				$(".selected_span", searchForm).css("cursor", "pointer").tooltip({relative: true});

				$("#material_table a, #water_table a, #street_table a, #target_table a, #hometype_table a", searchForm).each(function()
				{
					var tmpPrefix = $(this).attr("id").replace(/(.+)_-?\d+/, "$1");

					switch (tmpPrefix)
					{
						case "material":
							totalList["materialList"][$(this).attr("id").replace(/.+_(-?\d+)/, "$1")] = $(this).text();
						break;
						case "water":
							totalList["waterList"][$(this).attr("id").replace(/.+_(-?\d+)/, "$1")] = $(this).text();
						break;
						case "street":
							totalList["streetList"][$(this).attr("id").replace(/.+_(-?\d+)/, "$1")] = $(this).text();
						break;
						case "target":
							totalList["targetList"][$(this).attr("id").replace(/.+_(-?\d+)/, "$1")] = $(this).text();
						break;
						case "hometype":
							totalList["hometypeList"][$(this).attr("id").replace(/.+_(-?\d+)/, "$1")] = $(this).text();
						break;
					}
				});

				toggleFields("live_square");
				toggleFields("kitchen_square");
				toggleFields("floor");
				toggleFields("garden");
				rotateFields("material");
				rotateFields("hometype");
				rotateFields("water");
				rotateFields("target");
				$("#material_table, #water_table, #target_table, #hometype_table", searchForm).unbind("click").click(function()
				{
					$(this).hide();
				});

				setTooltipSwitch($("#material_table a, #water_table a, #target_table a, #hometype_table a"));
			}
		}
	}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function setTitleLists()
{
	if (!$("#content .best-new").get(0) || !$("#content .best-deals").get(0)) return false;
	
	var aboveScrollArray = Array();
	aboveScrollArray[0] = 0;
	var tmpCookie = (setCookie("aboveScroll", "get")) ? setCookie("aboveScroll", "get") : "";
	if (tmpCookie) tmpCookie = tmpCookie.split(",");

	for (o = 0; oMax = tmpCookie.length, o < oMax; o++)
		aboveScrollArray[o] = tmpCookie[o];

	var belowScrollArray = Array();
	belowScrollArray[0] = 0;
	tmpCookie = (setCookie("belowScroll", "get")) ? setCookie("belowScroll", "get") : "";
	if (tmpCookie) tmpCookie = tmpCookie.split(",");

	for (o = 0; oMax = tmpCookie.length, o < oMax; o++)
		belowScrollArray[o] = tmpCookie[o];

	filtrateEmptyFields("above");
	filtrateEmptyFields("below");

	loadList("xml/aparts.xml", "new");
	loadList("/ajax?deals=1", "deals");

	aboveScroll = new ScrollObj(
	{
		sliderLine: "track_above",
		arrowUpLeft: "left_arrow_above",
		arrowDownRight: "right_arrow_above",
		dragSlider: "slider_above",
		outerElement: "outer_above",
		innerElement: "inner_above",
		isHorizontal: true
	});

	belowScroll = new ScrollObj(
	{
		sliderLine: "track_below",
		arrowUpLeft: "left_arrow_below",
		arrowDownRight: "right_arrow_below",
		dragSlider: "slider_below",
		outerElement: "outer_below",
		innerElement: "inner_below",
		isHorizontal: true
	});

	$(window).resize(function()
	{
		aboveScroll.makeUpdate();
		belowScroll.makeUpdate();
	});

	addClicks($("#content .best-new li"), "new");
	addClicks($("#content .best-deals li"), "deals");

	function filtrateEmptyFields(currPrefix)
	{
		fieldsId = Array();
		switch (currPrefix)
		{
			case "above":
				$.ajax({type: "GET", url: "xml/aparts.xml", async: false, success: function(currStructure)
				{
					$(currStructure).find("apart").each(function()
					{
						var currElement = $(this).find("page").text();
						if (!fieldsId[currElement]) fieldsId[currElement] = 1;
					});
				}});

				for (g in fieldsId)
					$("#" + currPrefix + "_" + g).css("display", "block");
			break;
			case "below":
				$.ajax({type: "GET", url: "/ajax?deals=-1", async: false, success: function(currStructure)
				{
					var currJSON = eval("({" + currStructure + "})");

					for (g in currJSON.pageAvailable)
						$("#" + currPrefix + "_" + currJSON.pageAvailable[g]).css("display", "block");
				}});
			break;
		}
	}

	function addClicks(currElements, groupType)
	{
		currElements.click(function()
		{
			var currElement;

			currElements.each(function()
			{
				if (!$("a", $(this)).html())
				{
					currElement = $(this).attr("id");

					if (groupType == "new")
					{
						aboveScrollArray[currElement.replace(/.+_(\d+)/, "$1")] = parseInt(aboveScroll.innerElement.parent().css("left"));
						var aboveArrayCookie = aboveScrollArray.join(",");
						setCookie("aboveScroll", "set", aboveArrayCookie);
					}
					else
					{
						belowScrollArray[currElement.replace(/.+_(\d+)/, "$1")] = parseInt(belowScroll.innerElement.parent().css("left"));
						var belowArrayCookie = belowScrollArray.join(",");
						setCookie("belowScroll", "set", belowArrayCookie);
					}
				}
			});

			if ($(this).attr("id") != currElement)
			{
				currElement = $(this).attr("id");
				currElements.each(function()
				{
					if ($(this).attr("id") != currElement) $(this).removeClass("here").html("<a href=\"/\">" + $(this).text() + "</a>"); else $(this).addClass("here").html("<strong>" + $(this).text() + "</strong>");
				});
			}

			if (groupType == "new")
			{
				loadList("xml/aparts.xml", "new", currElement);
				aboveScroll.makeUpdate();
			}
			else
			{
				var belowId = currElement.replace(/.+_(\d+)/, "$1");
				loadList("/ajax?deals=" + belowId, "deals", belowId);
				belowScroll.makeUpdate();
			}
			return false;
		});
	}

	function loadList(loadURL, currType, currPage, currMode)
	{	    
		var isOK = false;
		currType = (currType) ? currType : "new";
		currPage = (currPage) ? currPage : 1;
		if (isNaN(currPage)) currPage = currPage.replace(/.+_(\d+)/, "$1");
		if (isNaN(currPage)) currPage = 1;
		if (!loadURL) return false;

		$.ajax({type: "GET", url: loadURL, async: false, success: function(currStructure){parseCurrentStructure(currStructure, currType, currPage, currMode)}});

		function parseCurrentStructure(currStructure, currType, currPage)
		{
			var currElement = null;
			var outputHTML = "";

			if (currStructure)
			{
				if (currType == "new")
				{
					$(currStructure).find("apart").each(function()
					{
						currElement = $(this);
						if (currElement.find("page").text() == currPage)
						{
							if (!currMode)
								outputHTML += "<div class=\"li\">"
									+ "<a href=\"/\"><img src=\"images/houses/" + currElement.find("image").text() + "\" alt=\"\" /></a>"
									+ "<p><span class=\"street\">" + currElement.find("adress").text() + "</span>"
									+ "<span>" + currElement.find("data").text() + "</span>"
									+ "<span class=\"price\">" + currElement.find("price").text() + "</span></p></div>";
							else isOK = true;
						}
					});
				}
				else
				{
					var currJSON = eval("({" + currStructure + "})");
					var homeType = "";
					for (i = 0; iSize = currJSON.Id.length, i < iSize; i++)
					{
						if (currMode) isOK = true;
						else
						{
							homeType = (currJSON.homeType[i]) ? currJSON.homeType[i] + ", " : "";
							outputHTML += "<div class=\"li\">"
								+ "<a href=\"/\" id=\"id_" + currJSON.Id[i] + "\"><img src=\"pics/objects/photo/mini-" + currJSON.Photo[i] + "\" alt=\"\" /></a>"
								+ "<p><span class=\"street\">" + currJSON.Street[i] + "<br />(" + currJSON.Area[i] + ")</span>"
								+ "<span>" + currJSON.typeName[i] + ", " + homeType + " площадью " + currJSON.Square[i] + "</span>"
								+ "<span class=\"price\">" + currJSON.Cost[i] + "</span></p></div>";
						}
					}
				}
			}

			if (!currMode)
			{
				var currOutput = "";
				if (currType == "new")
				{
					currOutput = $("#inner_above");
					currOutput.html(outputHTML);

					if (aboveScrollArray && aboveScrollArray[currPage]) currOutput.parent().css("left", aboveScrollArray[currPage] + "px")
					else currOutput.parent().css("left", "0px");
				}
				else
				{
					currOutput = $("#inner_below");
					currOutput.html(outputHTML);

					if (belowScrollArray && belowScrollArray[currPage]) currOutput.parent().css("left", belowScrollArray[currPage] + "px")
					else currOutput.parent().css("left", "0px");
					setPopupMenu();
				}

				isOK = true;
			}
		}

		setRedirects();
		
		return isOK;
	}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function setRedirects()
{
	$("#inner_above .li img").click(function()
	{
		var toParse = ($(this).attr("src")).split("/");
		var afterParse = Array();

		afterParse = location.href + toParse[1] + "/" + toParse[2] + "/" + toParse[3] + ".html";
		
		location.href = afterParse;
		return false;
	});
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function setPopupMenu()
{       
	globalDenyDrag = false;

	$("#content .output_table .flat a").each(function()
	{
		$(this).parent().html($(this).html());
	});

	$("#content .output_table tr").mouseover(function()
	{
		if (!$("td.price .th", this).width())
		{
			$(this).css("cursor", "pointer");
			$("td", this).css("backgroundColor", "#F0F0F0");
		}
	});

	$("#content .output_table tr").mouseout(function()
	{
		$("td", this).css("backgroundColor", "transparent").css("color", "#555555");
	});

	var profileLeft = "";
	var profileTop = "";

	$("#content .output_table tr, #inner_below .li a, #main #upper_header .th, #main .make_advert .th, #content .edit_adv").click(function()
	{
		var tmpAdmId = 0;
		if ($(this).attr("class") == "edit_adv")
		{
			tmpAdmId = ($(this).attr("id")).split("_");
			tmpAdmId = tmpAdmId[1];
		}

		if ($("td.price .th", this).width()) return true;
		var currCase = ($(this).parent().attr("id") == "upper_header") ? "search" : "profile";
		currCase = (($(this).parent().attr("class") == "make_advert") || ($(this).attr("class") == "edit_adv")) ? "advert" : currCase;
		if (!$("#profile_div").attr("id")) $("#wrapper").append("<div id=\"profile_div\"></div>");

		formData = {};
		if (!tmpAdmId)
		{
			formData.fromSend = "";
			formData.toSend = "";
			formData.theme = "";
			formData.comments = "";
			formData.titleAdv = "";
			formData.addressAdv = "";
			formData.priceAdv = "";
			formData.descriptionAdv = "";
			formData.contactsAdv = "";
			formData.sellerAdv = "";
			formData.expireAdv = "";
			formData.priceAdv = "";
			formData.isSended = false;
		}
		else
		{
			var totalTmp = eval("({" + $.ajax({type: "GET", url: "/admin/ajax?id=" + tmpAdmId, async: false}).responseText + "})");

			formData.isSended = true;
			for (var j in totalTmp)
				formData[j] = totalTmp[j];
		}

		switch (currCase)
		{
			case "search":
				$("#profile_div").html("<div class=\"close\"></div>"
										+ "<div class=\"inner\">"
										+ "<div class=\"search-form\">"
										+ "<h2>Условия поиска</h2>"
										+ "<form id=\"popup_search\" action=\"/search/\" method=\"post\">"
										+ "<table class=\"search_table\">"
										+ "<tr><td rowspan=\"2\" class=\"left\">"
										+ "<div id=\"search_string\"></div></td>"
										+ "<td class=\"button\">"
										+ "<div class=\"center_div\">"
										+ "<input type=\"submit\" name=\"simple_submit\" id=\"simple_submit\" value=\"Найти\" class=\"btn\" />"
										+ "</div><a href=\"/\" id=\"extended_search\">Расширенный поиск</a></td></tr>"
										+ "<tr><td class=\"extended\">"
										+ "<a href=\"/\" id=\"extended_search_close\">Закрыть расширенный поиск</a></td></tr>"
										+ "</table><input type=\"hidden\" name=\"search_state\" id=\"search_state\" value=\"0\" /></form></div>"
										+ "</div><div class=\"container_button\">"
										+ "<button type=\"custom\" class=\"ok_button\">OK</button></div>");

				var globalX = (setCookie("globalX", "get")) ? setCookie("globalX", "get") : null;
				var globalY = (setCookie("globalY", "get")) ? setCookie("globalY", "get") : null;
				setPopupProperties();
				setTitleSearch();
			break;
			case "profile":
				var currId = $(this).attr("id");
				var currProfile = eval("({" + $.ajax({type: "GET", url: "/ajax?id=" + parseInt(currId.replace("id_", "")), async: false}).responseText + "})");
				var headerText = currProfile.header || "";
				var tableText = currProfile.html || "";
				var planText = currProfile.plan || "";
				var planElement = (planText) ? "<a href=\"/\" id=\"caption_2\">Планировка</a>" : "";

				$("#profile_div").html("<div class=\"close\"></div>"
										+ "<div class=\"inner\">"
										+ headerText
										+ "<div id=\"title_menu\">"
										+ "<a href=\"/\" id=\"caption_1\" class=\"selected\">Описание объекта</a>"
										+ planElement
										+ "<a href=\"/\" id=\"caption_3\">Показать на карте</a>"
										+ "<a href=\"/\" id=\"caption_4\">Отправить ссылку на объект...</a></div>"
										+ "<div id=\"profile_content\">" + tableText + "</div>"
										+ "</div><div class=\"container_button\">"
										+ "<button type=\"custom\" class=\"ok_button\">OK</button></div>");

				var globalX = (setCookie("globalX", "get")) ? setCookie("globalX", "get") : null;
				var globalY = (setCookie("globalY", "get")) ? setCookie("globalY", "get") : null;
				setPopupProperties();
			break;
			case "advert":
				var currSection = ($("#content .make_advert .th").attr("id")).split("_");
				currSection = currSection[1];

				var currTitle = (tmpAdmId) ? "Редактировать объявление" : "Объявление";
				var currTitleSec = (tmpAdmId) ? "Редактировать объявление" : "Дать объявление";
				var submitButton = (tmpAdmId) ? "" : "<input type=\"submit\" name=\"mail_button_adv\" id=\"mail_button_adv\" value=\"Дать объявление\" class=\"btn\" />";
				var startData = (formData.expireAdv) ? formData.expireAdv : 30;
				$("#profile_div").html("<div class=\"close\"></div>"
										+ "<div class=\"inner\">"
										+ "<div id=\"caption\" title=\"" + currTitleSec + "\" class=\"caption\">" + currTitle + "</div>"
										+ "<div id=\"title_menu\"></div>"
										+ "<div id=\"profile_content\"></div></div>"
										+ "<div class=\"container_button\">"
										+ "<button type=\"custom\" class=\"ok_button\">OK</button></div>");

				$("#profile_div #profile_content").html("<form action=\"/mail/\" method=\"post\" id=\"mail_form\">"
															+ "<div id=\"message\" class=\"string_mail_div small_padding\"></div>"
															+ "<div id=\"preview_data\" class=\"string_mail_div small_padding\"></div>"
															+ "<div class=\"string_mail_div small_padding\">"
															+ "<div class=\"padding_label_div_adv\">"
															+ "<label for=\"title_adv\" id=\"title_adv_label\">Тип объекта (не более 30 символов):</label></div>"
															+ "<input type=\"text\" name=\"title_adv\" id=\"title_adv\" value=\"" + formData.titleAdv + "\" maxlength=\"30\" class=\"middle_input\" /></div>"
															+ "<div class=\"string_mail_div small_padding\">"
															+ "<div class=\"padding_label_div_adv\">"
															+ "<label for=\"address_adv\" id=\"address_adv_label\">Адрес объекта (не более 30 символов):</label></div>"
															+ "<input type=\"text\" name=\"address_adv\" id=\"address_adv\" value=\"" + formData.addressAdv + "\" maxlength=\"30\" class=\"middle_input\" /></div>"
															+ "<div class=\"string_mail_div small_padding\">"
															+ "<div class=\"padding_label_div_adv\">"
															+ "<label for=\"price_adv\" id=\"price_adv_label\">Цена объекта:</label></div>"
															+ "<input type=\"text\" name=\"price_adv\" id=\"price_adv\" value=\"" + formData.priceAdv + "\" class=\"small_input\" /><span class=\"add_text_span\">руб.</span></div>"
															+ "<div class=\"string_mail_div small_padding\">"
															+ "<div class=\"padding_label_div_adv\">"
															+ "<label for=\"description_adv\" id=\"description_adv_label\">Описание объекта (не более 255 символов):</label></div>"
															+ "<textarea name=\"description_adv\" id=\"description_adv\">" + formData.descriptionAdv + "</textarea></div>"
															+ "<div class=\"string_mail_div small_padding\">"
															+ "<div class=\"padding_label_div_adv\">"
															+ "<label for=\"contacts_adv\" id=\"contacts_adv_label\">Контактные данные:</label></div>"
															+ "<input type=\"text\" name=\"contacts_adv\" id=\"contacts_adv\" value=\"" + formData.contactsAdv + "\" /></div>"
															+ "<div class=\"string_mail_div small_padding\">"
															+ "<div class=\"padding_label_div_adv\">"
															+ "<label for=\"seller_adv\" id=\"seller_adv_label\">Ф.И.О. контактного лица:</label></div>"
															+ "<input type=\"text\" name=\"seller_adv\" id=\"seller_adv\" value=\"" + formData.sellerAdv + "\" /></div>"
															+ "<div class=\"string_mail_div small_padding tip\">"
															+ "<div class=\"padding_label_div_adv\">"
															+ "<span class=\"right_margined\">Разместить объявление</span><span id=\"expire_adv_select\" class=\"selected_span\"></span>."
															+ "<div id=\"expire_adv_table\" class=\"tooltip\"><table>"
															+ "<tr><td>"
															+ "<a href=\"/\" id=\"expire_7\" class=\"order_link\">на неделю</a><br />"
															+ "<a href=\"/\" id=\"expire_30\" class=\"order_link\">на месяц</a><br />"
                                                            + "<a href=\"/\" id=\"expire_45\" class=\"order_link\">на 1.5 мес</a>"
															+ "</td><td>"
															+ "<a href=\"/\" id=\"expire_60\" class=\"order_link\">на 2 мес</a><br />"
															+ "<a href=\"/\" id=\"expire_90\" class=\"order_link\">на 3 мес</a><br />"
                                                            + "<a href=\"/\" id=\"expire_180\" class=\"order_link\">на 6 мес</a>"
															+ "</td></tr>"
															+ "</table></div></div>"
															+ "<div class=\"string_mail_div small_padding right_button\">"
															+ "<input type=\"hidden\" name=\"expire_adv\" id=\"expire_adv\" value=\"" + startData + "\" />"
															+ "<input type=\"hidden\" name=\"section_adv\" id=\"section_adv\" value=\"" + currSection + "\" />"
															+ submitButton + "</div></form>");

				listData = Array();
				$("#profile_div #expire_adv_table a").each(function()
				{
					var tmpVal = ($(this).attr("id")).split("_");
					tmpVal = tmpVal[1];
					listData[tmpVal] = $(this).text();
				});

				$("#profile_div #expire_adv_select").text(listData[startData]);

				$("#profile_div .tooltip").unbind("click").click(function()
				{
					$(this).hide();
				});

				$("#profile_div .selected_span, label").css("cursor", "pointer");
				$("#profile_div #expire_adv_table a").click(function()
				{
					var tmpVal = ($(this).attr("id")).split("_");
					tmpVal = tmpVal[1];

					$("#profile_div #expire_adv").attr("value", tmpVal);
					$("#profile_div #expire_adv_select").text(listData[tmpVal]);

					$("#profile_div #expire_adv_table").hide();
					return false;
				});

				$("#profile_div #expire_adv_select").unbind("click").click(function()
				{
					currValue = $("#profile_div #expire_adv").attr("value");
					var tmpValue = currValue;
					var firstElement = true;
					var firstK = "";
					var nextItem = false;
					for (k in listData)
					{
						if (firstElement)
						{
							firstK = k;
							firstElement = false;
						}

						if (nextItem)
						{
							$("#profile_div #expire_adv").attr("value", k);
							$("#profile_div #expire_adv_select").text(listData[k]);
							nextItem = false;
							break;
						}
						if (k == currValue) nextItem = true;
					}

					if (nextItem)
					{
						$("#profile_div #expire_adv").attr("value", firstK);
						$("#profile_div #expire_adv_select").text(listData[firstK]);
					}

					return false;
				});

				if (tmpAdmId)
				{
					$.post("/ajax?preview=1", $("#profile_div #mail_form").serialize(), function(currStructure)
					{
						if (currStructure)
						{
							$("#profile_div #preview_data").css(
							{
								"display": "block",
								"color": "black"
							}).html(currStructure);

							$("#profile_div #message").css("display", "none");
						}
						else
						{
							$("#profile_div #preview_data").css("display", "none");
							$("#profile_div #message").css(
							{
								"display": "none",
								"color": "red"
							}).text("Ошибка загрузки:\nПо каким-то причинам загрузка предпросмотра не удалась.\nПопробуйте отправить запрос чуть позже.").fadeIn("slow");
						}
						return true;
					}, "text");
				}

				var currTimer = null;
				$("#profile_div #profile_content input[type=text], #profile_div #profile_content textarea").blur(function(){
					$(this).css("borderColor", "#808080");
				}).focus(function()
				{
					$(this).css("borderColor", "red");
				}).keypress(function(currEvent)
				{
					var retState = true;
					if ($(this).attr("id") == "description_adv")
					{
						var currLength = $(this).val().length + 1;
						var charCode = currEvent.charCode || currEvent.keyCode;
						if ((currLength > 255) && !(charCode == 8)) retState = false; else retState = true;
					}

					clearTimeout(currTimer);
					currTimer = setTimeout(function()
					{
						$.post("/ajax?preview=1", $("#profile_div #mail_form").serialize(), function(currStructure)
						{
							if (currStructure)
							{
								$("#profile_div #preview_data").css(
								{
									"display": "block",
									"color": "black"
								}).html(currStructure);

								$("#profile_div #message").css("display", "none");
							}
							else
							{
								$("#profile_div #preview_data").css("display", "none");
								$("#profile_div #message").css(
								{
									"display": "none",
									"color": "red"
								}).text("Ошибка загрузки:\nПо каким-то причинам загрузка предпросмотра не удалась.\nПопробуйте отправить запрос чуть позже.").fadeIn("slow");
							}
							return true;
						}, "text");
					}, 500);
					return retState;
				});

				$("#profile_div #mail_button_adv").css("cursor", "pointer").click(function()
				{
					msgError = "";

					$("#profile_div #profile_content input[type=text], #profile_div #profile_content textarea").each(function()
					{
						if (!msgError)
						{
							var tmpName = "#" + $(this).attr("id") + "_label";
							var nameField = $(tmpName).text();

							nameField = nameField.split("(");
							nameField = (nameField[0]).replace(/\s$/, '').replace(/:/, '');

							if (tmpName != "#price_adv_label")
							{
								if ($(this).val().length < 3) msgError += "В поле \"" + nameField + "\" должно быть не менее трех символов.\n";
							}
							else
							{
								if (isNaN($(this).val()) || !$(this).val()) msgError += "В поле \"" + nameField + "\" должно быть число.\n";
							}
						}
					});

					if (!msgError)
					{
						formData.isSended = true;
							var formAct = (tmpAdmId) ? "/admin/edit?id=" + tmpAdmId : "/ajax?add=1";

						$.post(formAct, $("#profile_div #mail_form").serialize(), function(sendedMail)
						{
							if (sendedMail)
							{
								var currText = (tmpAdmId) ? "Объявление было успешно отредактировано." : "Спасибо!\nВаше объявление было отправлено на модерацию.";
								$("#profile_div #message").css(
								{
									"display": "none",
									"color": "#2c4c86"
								}).text(currText).fadeIn("slow");
							}
							else
							{
								var currText = (tmpAdmId) ? "Ошибка отправки:\nПо каким-то причинам объявление не было отредактировано.\nПопробуйте отправить запрос чуть позже." : "Ошибка отправки:\nПо каким-то причинам объявление не было отправлено.\nПопробуйте отправить запрос чуть позже.";
								$("#profile_div #message").css(
								{
									"display": "none",
									"color": "red"
								}).text(currText).fadeIn("slow");
							}
							return true;
						}, "script");
					}
					else alert(msgError);

					return false;
				});

				var globalX = (setCookie("globalX", "get")) ? setCookie("globalX", "get") : null;
				var globalY = (setCookie("globalY", "get")) ? setCookie("globalY", "get") : null;
				setPopupProperties();
			break;
		}

		var currMap;
		function updateContent(currCase, currProfile)
		{
			switch (currCase)
			{
				case "caption_1":
					clearZoom();
					$("#profile_div #profile_content").html(tableText);

					setPosition();
					GUnload();
				break;
				case "caption_2":
					clearZoom();
					$("#profile_div #profile_content").html(planText);

					setPosition();
					GUnload();
				break;
				case "caption_3":
					var currLat = "54.3214798";
					var currLong = "48.3856504";
					var currZoom = 16;

					var currAdress = "Ульяновск, " + currProfile.Street;
					var currGeocoder = new GClientGeocoder();
					currGeocoder.getLocations(currAdress, function (currAdress)
					{
						if (currAdress.Status.code == 200)
							if (currAdress.Placemark[0].AddressDetails.Accuracy >= 4)
							{
								currLong = currAdress.Placemark[0].Point.coordinates[0];
								currLat = currAdress.Placemark[0].Point.coordinates[1];
							}

						if (!GBrowserIsCompatible()) $("#profile_div #profile_content").text("К сожалению, Ваш браузер не совместим со встраиваемым плагином Google Map.")
						else
						{
							$("#profile_div #profile_content").html("<div class=\"google_frame\"></div>");
							var currDiv = $("#profile_div #profile_content .google_frame").get(0);

							currMap = new GMap2(currDiv);
							currMap.checkResize();
							currMap.setMapType(G_HYBRID_MAP);
							currMap.addControl(new GLargeMapControl());
							currMap.addControl(new GMapTypeControl());
							currMap.addControl(new GScaleControl());
							currMap.addControl(new GOverviewMapControl());
							currMap.enableScrollWheelZoom();
							currMap.enableContinuousZoom();
							currMap.setCenter(new GLatLng(currLat, currLong), currZoom);
							setPosition();
						}
					});
				break;
				case "caption_4":
					currHost = location.hostname;
					var tmpTitle = $("#profile_div #caption").attr("title");
					var tmpCost = $("#profile_div #cost").text();
					var currTheme = encodeURIComponent(tmpTitle + " " + tmpCost);
					$("#profile_div #profile_content").html("<form action=\"/mail/\" method=\"post\" id=\"mail_form\">"
															+ "<div id=\"message\" class=\"string_mail_div\"></div>"
															+ "<div class=\"string_mail_div\">"
															+ "<div class=\"padding_label_div\">"
															+ "<label for=\"from_send\" id=\"from_send_label\">От кого:</label></div>"
															+ "<input type=\"text\" name=\"from_send\" id=\"from_send\" value=\"" + formData.fromSend + "\"/>"
															+ "<ul><li class=\"facebook\">"
															+ "<a href=\"http://www.facebook.com/share.php?u=http://" + currHost + "/profile/object-" + currProfile.Id + ".html&amp;t=" + currTheme + "\" name=\"fb_share\" id=\"fb_share\" title=\"Поделиться ссылкой на объект с друзьями на facebook.com\"></a></li>"
															+ "<li class=\"twitter\"><a href=\"http://twitter.com/home/?status=http://" + currHost + "/profile/object-" + currProfile.Id + ".html+" + currTheme + "\" title=\"Поделиться ссылкой на объект с друзьями на twitter.com\"></a></li>"
															+ "<li class=\"livejournal\"><a href=\"http://www.livejournal.com/update.bml?event=%3Ca%20href=%22http://" + currHost + "/profile/object-" + currProfile.Id + ".html%22%3E" + "http://" + currHost + "/profile/object-" + currProfile.Id + ".html%3C/a%3E&subject=" + currTheme + "&prop_taglist=" + currHost + "\" title=\"Поделиться ссылкой на объект с друзьями на livejournal.com\"></a></li>"
															+ "<li class=\"vkontakte\"><a href=\"http://vkontakte.ru/share.php?url=http://" + currHost + "/profile/object-" + currProfile.Id + ".html\" title=\"Поделиться ссылкой на объект с друзьями на vkontakte.ru\"></a></li></ul></div>"
															+ "<div class=\"string_mail_div\">"
															+ "<div class=\"padding_label_div\">"
															+ "<label for=\"to_send\" id=\"to_send_label\">Кому (e-mail адрес получателя):</label></div>"
															+ "<input type=\"text\" name=\"to_send\" id=\"to_send\" value=\"" + formData.toSend + "\" /></div>"
															+ "<div class=\"string_mail_div\">"
															+ "<div class=\"padding_label_div\">"
															+ "<label for=\"theme\" id=\"theme_label\">Тема письма:</label></div>"
															+ "<input type=\"text\" name=\"theme\" id=\"theme\" value=\"" + formData.theme+ "\" /></div>"
															+ "<div class=\"string_mail_div\">"
															+ "<div class=\"padding_label_div\">"
															+ "<label for=\"comments\">Дополнительное сообщение:</label><div>"
															+ "<textarea name=\"comments\" id=\"comments\">" + formData.comments + "</textarea></div>"
															+ "<div class=\"string_mail_div right_button\">"
															+ "<input type=\"submit\" name=\"mail_button\" id=\"mail_button\" value=\"Отправить ссылку\" class=\"btn\" /></div>"
															+ "<input type=\"hidden\" name=\"mail_object_id\" id=\"mail_object_id\" value=\"" + currProfile.Id + "\" /></form>");

					$("#profile_div #mail_form input[type=text], #profile_div #mail_form textarea").blur(function(){
						$(this).css("borderColor", "#808080");
					}).focus(function()
					{
						$(this).css("borderColor", "red");
					});

					$("#profile_div #mail_form a").click(function(){return !window.open(this.href)});
					$("#profile_div #mail_button").css("cursor", "pointer").click(function()
					{
						msgError = "";
						if ($("#profile_div #from_send").val().length < 3) msgError += "В поле \"От кого\" должно быть не менее трех символов.\n";

						currMail = $("#profile_div #to_send").val();

						if (!(/^[\w\.\-~]+@[a-zA-Z]+[\w\.\-]*\.[a-zA-Z]{2,4}$/.test(currMail)) || (currMail < 3))
							msgError += "В поле \"Кому\" должно быть ввести корректный e-mail адрес.\n";

						if (!msgError)
						{
							formData.isSended = true;
							$.post("/ajax?mail=1", $("#profile_div #mail_form").serialize(), function(sendedMail)
							{
								if (sendedMail)
								{
									$("#profile_div #message").css(
									{
										"display": "none",
										"color": "#2c4c86"
									}).text("Ссылка успешно была отправлена на почтовый ящик " + formData.toSend + ".").fadeIn("slow");
								}
								else 
									$("#profile_div #message").css(
									{
										"display": "none",
										"color": "red"
									}).text("Ошибка отправки:\nПо каким-то причинам ссылка не была отправлена.\nПопробуйте отправить запрос чуть позже.").fadeIn("slow");
								return true;
							}, "script");
						}
						else alert(msgError);

						return false;
					});
					setPosition();
					GUnload();
				break;
			}
		}

		var documentWidth = $(document).width();
		var documentHeight = $(document).height();
		function setPopupProperties()
		{
			var profileDiv = $("#profile_div");

			profileDiv.width(900).css("height", "auto");

			var currLeft = ((globalX !== "null") && (globalX !== null)) ? parseInt(globalX) + $(document).scrollLeft() : Math.round(($("#wrapper").width() - profileDiv.width()) / 2) + $(document).scrollLeft();
			var currTop = ((globalY !== "null") && (globalY !== null)) ? parseInt(globalY) + $(document).scrollTop() : Math.round(($(window).height() - profileDiv.height()) / 2) + $(document).scrollTop();

			currLeft = (currLeft < 0) ? 0 : currLeft;
			currTop = (currTop < 17) ? 17 : currTop;

			if (isNaN(currLeft) || isNaN(currTop)) return false;
			profileDiv.css("left", currLeft + "px").css("top", currTop + "px");

			globalDenyDrag = true;

			$("body").append("<img id=\"zoomLoading\" src=\"images/zoom/zoom-load.gif\" />");
			$("#zoomLoading").css("left", Math.round(($("#wrapper").width() - 22) / 2) + $(document).scrollLeft() + "px").css("top", Math.round(($(window).height() - 22) / 2) + $(document).scrollTop() + "px");

			profileDiv.addClass("maximize_dialog").show(300, function()
			{
				$("#zoomLoading").remove();
				$(".selected_span", profileDiv).tooltip({relative:true, rebuildAPI: true});

				$(".inner div #caption_1, .inner div #caption_2, .inner div #caption_3, .inner div #caption_4", profileDiv).click(function()
				{
					$(".inner div a", profileDiv).each(function(){$(this).removeClass("selected");});
					$(this).addClass("selected");
					updateContent($(this).attr("id"), currProfile);
					return false;
				});

				$(window).bind("scroll", setPosition).bind("resize", setPosition);
				globalDenyDrag = false;
			});

			$(".ok_button", profileDiv).css("cursor", "pointer").click(function()
			{
				if ($("#popup_search", profileDiv).get(0))
				{
					$("#popup_search", profileDiv).submit();
					unsetPosition();

					globalDenyDrag = true;
					$(this).parent().parent().hide(300, function()
					{
						globalDenyDrag = false;
					});
				}
				else
				{
					if (!formData.isSended && (formData.fromSend || formData.toSend || formData.theme || formData.comments || formData.titleAdv || formData.addressAdv || formData.priceAdv || formData.descriptionAdv || formData.contactsAdv || formData.sellerAdv || formData.expireAdv || formData.priceAdv))
					{
						if (formData.fromSend || formData.toSend || formData.theme || formData.comments)
						{
							if (confirm("Внимание! Ссылка на объект не была отправлена!\nХотите отправить ссылку на объект?"))
							{
								msgError = "";
								if ($("#profile_div #from_send").val().length < 3) msgError += "В поле \"От кого\" должно быть не менее трех символов.\n";

								currMail = $("#profile_div #to_send").val();

								if (!(/^[\w\.\-~]+@[a-zA-Z]+[\w\.\-]*\.[a-zA-Z]{2,4}$/.test(currMail)) || (currMail < 3))
									msgError += "В поле \"Кому\" должен быть корректный e-mail адрес.\n";

								if (!msgError)
								{
									formData.isSended = true;
									$.post("/ajax?mail=1", $("#profile_div #mail_form").serialize(), function(sendedMail)
									{
										if (sendedMail)
										{
											$("#profile_div #message").css(
											{
												"display": "none",
												"color": "#2c4c86"
											}).text("Ссылка успешно была отправлена на почтовый ящик " + formData.toSend + ".").fadeIn("slow");
										}
										else
											$("#profile_div #message").css(
											{
												"display": "none",
												"color": "red"
											}).text("Ошибка отправки:\nПо каким-то причинам ссылка не была отправлена.\nПопробуйте отправить запрос чуть позже.").fadeIn("slow");
										return true;
									}, "script");
								}
								else alert(msgError);

								return false;
							}
						}
						else
						{
							if (tmpAdmId || confirm("Внимание! Объявление не было добавлено!\nХотите добавить объявление в нашу базу?"))
							{
								msgError = "";

								$("#profile_div #profile_content input[type=text], #profile_div #profile_content textarea").each(function()
								{
									if (!msgError)
									{
										var tmpName = "#" + $(this).attr("id") + "_label";
										var nameField = $(tmpName).text();

										nameField = nameField.split("(");
										nameField = (nameField[0]).replace(/\s$/, '').replace(/:/, '');

										if (tmpName != "#price_adv_label")
										{
											if ($(this).val().length < 3) msgError += "В поле \"" + nameField + "\" должно быть не менее трех символов.\n";
										}
										else
										{
											if (isNaN($(this).val()) || !$(this).val()) msgError += "В поле \"" + nameField + "\" должно быть число.\n";
										}
									}
								});

								if (!msgError)
								{
									formData.isSended = true;
									var formAct = (tmpAdmId) ? "/admin/edit?id=" + tmpAdmId : "/ajax?add=1";

									$.post(formAct, $("#profile_div #mail_form").serialize(), function(sendedMail)
									{
										var currText = (tmpAdmId) ? "Объявление было успешно отредактировано." : "Спасибо!\nВаше объявление было отправлено на модерацию.";
										if (sendedMail)
										{
											$("#profile_div #message").css(
											{
												"display": "none",
												"color": "#2c4c86"
											}).text(currText).fadeIn("slow");
											location.href = location.href;
										}
										else
										{
											var currText = (tmpAdmId) ? "Ошибка отправки:\nПо каким-то причинам объявление не было отредактировано.\nПопробуйте отправить запрос чуть позже." : "Ошибка отправки:\nПо каким-то причинам объявление не было отправлено.\nПопробуйте отправить запрос чуть позже.";
											$("#profile_div #message").css(
											{
												"display": "none",
												"color": "red"
											}).text(currText).fadeIn("slow");
										}
										return true;
									}, "script");
								}
								else alert(msgError);

								return false;
							}
						}
					}
					else
					{
						unsetPosition();

						globalDenyDrag = true;
						$(this).parent().parent().hide(300, function()
						{
							globalDenyDrag = false;
						});
					}
				}

				clearZoom();
			});

			$(".close", profileDiv).mouseover(function(){$(this).css("backgroundPosition", "0px -34px").css("cursor", "pointer");}).mouseout(function(){$(this).css("backgroundPosition", "0px 0px");}).click(function()
			{
				unsetPosition();
				globalDenyDrag = true;
				$(this).parent().hide(300, function()
				{
					globalDenyDrag = false;
				});

				clearZoom();
			});

			profileDiv.mousedown(function(currEvent)
			{
				$("#profile_div #from_send, #profile_div #to_send, #profile_div #theme, #profile_div #comments, #profile_div #title_adv, #profile_div #price_adv, #profile_div #description_adv, #profile_div #contacts_adv, #profile_div #address_adv, #profile_div #seller_adv, #profile_div #expire_adv, #profile_div #price_adv").each(function()
				{
					var currField = "";
					var tmpField = $(this).attr("id").split("_");
					currField += tmpField[0];

					for (l = 1; lMax = tmpField.length, l < lMax; l++)
						currField += tmpField[l].charAt(0).toUpperCase() + tmpField[l].substr(1, tmpField[l].length - 1);

					if (formData[currField] != $(this).val()) formData.isSended = false;
					formData[currField] = $(this).val();
				});

				$("#profile_div #profile_content input[type=text], #profile_div #profile_content textarea").each(function()
				{
					$(this).blur();
				});

				if (currEvent.target.nodeName.toLowerCase() == "input" || currEvent.target.nodeName.toLowerCase() == "textarea") return true;

				var leftMouse =(currEvent.clientX || currEvent.pageX) + $(document).scrollLeft();
				var topMouse = (currEvent.clientY || currEvent.pageY) + $(document).scrollTop();
				var leftCurrMouse = "";
				var topCurrMouse = "";
				var thisLeft = parseInt($(this).css("left"));
				var thisTop = parseInt($(this).css("top"));
				var deltaLeft = "";
				var deltaTop = "";
				var tempDragLeft = -1;
				var tempDragTop = -1;

				$(this).css("cursor", "move");
				$(window).unbind("scroll", setPosition).unbind("resize", setPosition);

				$(document).mousemove(function(currEvent)
				{
					leftCurrMouse =(currEvent.clientX || currEvent.pageX) + $(this).scrollLeft();
					topCurrMouse = (currEvent.clientY || currEvent.pageY) + $(this).scrollTop();

					deltaLeft = leftCurrMouse - leftMouse;
					deltaTop = topCurrMouse - topMouse;

					var currLeft = thisLeft + deltaLeft;
					var currTop = thisTop + deltaTop;

					currLeft = (currLeft < 0) ? 0 : currLeft;
					currTop = (currTop < 17) ? 17 : currTop;

					currLeft = (documentWidth - currLeft - profileDiv.width() - 19 <= 0) ? documentWidth - profileDiv.width() - 19 : currLeft;
					currTop = (documentHeight - currTop - profileDiv.height() - 2 <= 0) ? documentHeight - profileDiv.height() - 2 : currTop;

					globalX = currLeft - $(document).scrollLeft();
					globalY = currTop - $(document).scrollTop();

					tempDragLeft = deltaLeft;
					profileDiv.css("left", currLeft + "px").css("top", currTop + "px");

					if (currEvent.stopPropagation) currEvent.stopPropagation(); else currEvent.cancelBubble = true;
					if (currEvent.preventDefault) currEvent.preventDefault(); else currEvent.returnValue = false;
				})

				$(document).mouseup(function()
				{
					$(this).unbind("mousemove").unbind("mouseup");
					$(window).bind("scroll", setPosition).bind("resize", setPosition);

					profileDiv.css("cursor", "default");

					setCookie("globalX", "set", globalX);
					setCookie("globalY", "set", globalY);

					if (tempDragLeft > -1) thisLeft = tempDragLeft;
					if (tempDragTop > -1) thisTop = tempDragTop;
				});
				return false;
			});
		}

		function setPosition()
		{
			if (globalDenyDrag) return false;

			var profileDiv = $("#profile_div");
			var currWidth = profileDiv.width();
			var currHeight = profileDiv.height();

			var currLeft = ((globalX !== "null") && (globalX !== null)) ? parseInt(globalX) + $(document).scrollLeft() : Math.round(($("#wrapper").width() - currWidth)/ 2) + $(document).scrollLeft();
			var currTop = ((globalY !== "null") && (globalY !== null)) ? parseInt(globalY) + $(document).scrollTop() : Math.round(($(window).height() - currHeight)/ 2) + $(document).scrollTop();

			if ((globalX == "null") || (globalX == null))
			{
				globalX = currLeft - $(document).scrollLeft();
				setCookie("globalX", "set", globalX);
			}

			if ((globalY == "null") || (globalY == null))
			{
				globalY = currTop - $(document).scrollTop();
				setCookie("globalY", "set", globalY);
			}

			var currSpeed = ((documentWidth - currLeft - currWidth - 19 < 0) || (documentHeight - currTop - currHeight - 2 < 0)) ? 1 : 1000;

			currLeft = (currLeft < 0) ? 0 : currLeft;
			currTop = (currTop < 17) ? 17 : currTop;

			currLeft = (documentWidth - currLeft - currWidth - 19 <= 0) ? documentWidth - currWidth - 19 : currLeft;
			currTop = (documentHeight - currTop - currHeight - 2 <= 0) ? documentHeight - currHeight - 2 : currTop;

			if (isNaN(currLeft) || isNaN(currTop)) return false;

			$("#profile_div").stop().animate({left: currLeft, top: currTop}, currSpeed);
		}

		function unsetPosition()
		{
			$(window).unbind("scroll", setPosition).unbind("resize", setPosition);
		}

		return false;
	});

	var showEdit = $("body").attr("id");
	if (showEdit)
	{
		showEdit = showEdit.split("_");
		showEdit = showEdit[1];

		$("#content #edit_" + showEdit).trigger("click");
	}

	$("#content .search-form .search_table tr").unbind("mouseover").unbind("mouseout").unbind("click");
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function setAdviceSlides()
{
	$("div.inv_m").click(function()
	{
		$(this).next("div.inv").addClass("isNext");
		$("div.inv").filter("visible:not(.isNext)").slideUp("slow");
		$(this).next("div.inv").removeClass("isNext");
		$(this).next("div.inv").slideToggle("slow");
		$(this).toggleClass("active");
		$(this).siblings("div.inv_m").removeClass("active");
	});

	$("div.list_cl").click(function()
	{
		$("div.inv:visible").slideUp("slow");
	});
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function setTopMenu()
{
	$("#navigation .in ul li ul").animate({"opacity": 0.95}, 1);
	$("#navigation .in ul li").hover(function()
	{
		$(this).find({backgroundColor: "#154e9d"}, "ul", this).fadeTo("fast", 0.80);
		$(this).addClass("active");
		$(this).find("ul", this).fadeIn("fast");
	},
	function()
	{
		$(this).removeClass("active");
		$(this).find("ul", this).fadeOut("fast");
	});
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function setCookie(currName, currOperation, currValue)
{
	if (!currName) return false;
	if (!currValue && !currOperation) currOperation = "set";

	switch (currOperation)
	{
		case "set":
			var currDate = new Date();
			currDate.setTime(currDate.getTime() + (30 * 24 * 60 * 60 * 1000));
			document.cookie = (!currValue && !currOperation) ? currName + "= ; expires=-1; path=/" : currName + "=" + currValue + "; expires=" + currDate.toGMTString() + "; path=/";
			return true;
		break;
		case "get":
			var nameEq = currName + "=";
			var currValues = document.cookie.split(";");
			var currValue = "";
			for (m = 0; mMax = currValues.length, m < mMax; m++)
			{
				currValue = currValues[m];
				while (currValue.charAt(0) == ' ') currValue = currValue.substring(1, currValue.length);
				if (currValue.indexOf(nameEq) === 0) return currValue.substring(nameEq.length, currValue.length);
			}
		break;
	}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function setCommonFunc()
{
	$("#content .delete_adv").click(function()
	{
		return confirm("Вы уверены, что хотите удалить данное объявление?");
	});
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function printContent()
{
	var htmlContent = $("#content").html();
	$("body").css("background", "none").empty().html("<div id=\"content\" class=\"print_qoupon\">" + htmlContent + "</div>");
	$("body").css("display", "block");
	setTimeout(function(){
		window.print();
	}, 2000);
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
