	$(document).ready(function() {
		$("button.signin").fancybox({"href": "#signin"});
		$("a.fancybox").fancybox();
		$("table.offers a.img").fancybox();
		/*$("div.photos > a.img").fancybox({
			"titlePosition": "over",
			"titleFormat": function(title, currentArray, currentIndex, currentOpts) {
				return '<span id="fancybox-title-over">Фотография ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span>';
			}
		});*/
		$("div.photos > a.img").fancybox();
		$("div.video > a").fancybox({
			"transitionIn": "none",
			"transitionOut": "none"
		});
	});

	function fancyselect(field, multiple) {
		if (multiple == undefined) {
			multiple = false;
		}
		var link = $("." + field);
		if (link.is("a")) {
			var self = this;
			/* IE 6-7 fix */
			if( field == 'vendor' || field == 'vendors' || field == 'specialization' || field == 'regionfilter' )
				link.attr('href', '#' + field);
			/*************/
			this.value = link.prev(".value");
			this.name = this.value.attr("title");
			this.multiple = multiple;

			function box() {
				return $("#" + field);
			}

			function id(item) {
				/* IE 6-7 fix */
				if ($.browser.msie && $.browser.version.substr(0,1)<8)
				{
					var href = item.attr("href");
					return href.substring(href.indexOf('#')).substr(1);
				}
				/*************/
				return item.attr("href").substr(1);
			}

			function parent(item) {
				var p = item.closest("div.parent").attr("id");
				return (p !== undefined) ? p : 0;
			}

			this.href = function(url) {
				link.attr("href", url);
			}

			this.values = function() {
				return this.value.find("input");
			}

			this.highlight = function () {
				this.values().each(function() {
					box().find("a[href='#" + $(this).val() + "']").addClass("current").parent().addClass("active");
				});
			}

			this.set = function(data) {
				field_value[this.name] = "";
				if (multiple) {
					this.value.html(data["title"].join(", "));
					for (i in data["id"]) {
						this.value.append('<input type="hidden" name="' + this.name + '[' + data["id"][i] + ']" value="' + data["id"][i] + '" class="' + data["parent"][i] + '" title="' + data["title"][i] + '" />');
					}
				} else {
					this.value.html(data["title"]).append('<input type="hidden" name="' + this.name + '" value="' + data["id"] + '" />');
				}
				field_value[this.name] = this.summary(data);
				auto_generate_summary();
			}

			this.select = function(item) {
				var data;
				if (item == undefined || !item.parent().hasClass("active")) {
					if (multiple) {
						data = {"id": [], "title": [], "parent": []};
						box().find(".active > a:not(.node)").each(function() {
							var item = $(this);
							data["id"].push(id(item));
							data["title"].push(item.text());
							data["parent"].push(parent(item));
						});
					} else {
						data = {"id": id(item), "title": item.text()};
					}
					this.set(data);
					this.afterSelect(data);
				}
				$.fancybox.close();
				box().find(".active").removeClass("active");
				box().find(".current").removeClass("current");
			}
			link.fancybox({
				"onComplete": function() {
					self.highlight();
				},
				"onClosed": function(){ box().find("li").removeClass("active"); }
			});
			box().find("a:not(.node)").live("click", function() {
				if (multiple) {
					$(this).parent().toggleClass("active");
					if( $(this).parent().hasClass("active") )
					{
						if( $(this).prev().hasClass("plus") )
							$(this).prev().removeClass('plus').addClass('minus');
						$(this).next('ul').show();
					}
					else
					{
						if( $(this).prev().hasClass("minus") )
							$(this).prev().removeClass('minus').addClass('plus');
						$(this).next('ul').hide();
					}
					if( field == 'regionfilter' )
					{
						$(this).parent().parents().removeClass("active");
						$(this).next('ul').find('li').removeClass("active");
					}
				} else {
					if( id($(this)) != 'sub' )
						self.select($(this));
					else
						$(this).prev().click();
				}
				return false;
			});
			/*$("#fancybox-close").live("click", function(){
				box().find("li").removeClass("active");
			});*/
			box().find("button.select").live("click", function() {
				self.select();
			});
		}
	}

	fancyselect.prototype.afterSelect = function () { }
	fancyselect.prototype.summary = function (data) {
		if (this.multiple) {
			return data["title"].join(", ");
		} else if (data["id"] > 0) {
			return data["title"];
		}
		return "";
	}
