
function MapOfWarsawInSearch() {

	var loadingText = "Loading ...";
	var loadingErrorText = "Brak mapy!";
	var tooltipArrowHeight = 4;
	var visibleListId = '#map-widoczna-lista';
	var agentsListId = '#adresy';

	var searchLinkVar = 'wojewodztwo';
	var searchName = 'Szukaj';
/*
	$.multipleClickAction = function(e) {
		var clickedRegions = [];
		$('#polska').find('.active-region').each(function() {
			var liUrl = $(this).children('a').attr('href');
			var slicedUrl = liUrl.slice(1);
			clickedRegions.push(slicedUrl);
		});
		$('#search-link').attr('href', searchLink + '?' + searchLinkVar + '=' + clickedRegions.join('|'));
	}
*/

	$.defaultClickAction = function(e) {

		var liUrl = $(e).children('a').attr('href');

		if ($(agentsListId).length > 0) {

		} else {
			var linkName = liUrl.replace('#', '');
			$('.page-form-list .form-block:not(.hidden) option:selected').removeAttr('selected');
			var optionForm = $('.page-form-list .form-block:not(.hidden) option[value="' + linkName + '"]');
			optionForm.attr('selected', 'selected');
		}

		$(agentsListId).find('li').hide();
		$(liUrl + ',' + liUrl + ' li').show();
	}

	$.doubleClickedRegion = function(e) {
		$(e).removeClass('active-region');
		$(agentsListId).find('li').hide();
	}
	$('#map-pl').prepend('<span id="loader">' + loadingText + '</span>').addClass('script');
	if ($('#map-pl').hasClass('miasta')) {
		$('#map-pl').append('<span class="miasta" />');
	}
	$('#polska').find('a').hide();
	$(agentsListId).find('li').hide();
	if ($('#map-pl').hasClass('multiple-click')) {
		if (searchLink == '') {
			var searchLink = 'search.php';
		}
		if (searchLinkVar == '') {
			var searchLinkVar = 'region';
		}
		if (searchName == '') {
			var searchName = 'Search';
		}
		$('<a href="' + searchLink + '" id="search-link">' + searchName + '</a>').insertAfter('#polska');
	}
	if ($('#map-pl').hasClass('widoczna-lista')) {
		$('#map-pl').after('<div id="' + visibleListId.slice(1) + '"><ul></ul></div>');
	}
	var mapUrl = $('#polska').css('background-image').replace(/^url\("?([^\"\))]+)"?\)$/i, '$1');
	var mapImg = new Image();
	$(mapImg).load(
		function() {
			var clickedRegions = [];
			$('#loader').fadeOut();
			$('#polska').find('li').each(
				function(c) {
					var liid = $(this).attr('id');
					var liUrl = $(this).children('a').attr('href');
					var code = null;
					var spans = 0;
					switch (liid) {
						case'pl6':
						case'pl8':
						case'pl13':
						case'pl16':
							spans = 26;
							break;
						case'pl5':
						case'pl7':
						case'pl15':
							spans = 47;
							break;
						default:
							spans = 31;
					}
					var tooltipLeft = $(this).children('a').outerWidth() / -2;
					var tooltipTop = $(this).children('a').outerHeight() * -1 - tooltipArrowHeight;
					if ($('#map-pl').hasClass('no-tooltip')) {
						var tooltipTop = 0;
					}
					$(this).prepend('<span class="map" />').append('<span class="bg" />').attr('tabindex', c + 1);
					for (var i = 1; i < spans; i++) {
						$(this).find('.map').append('<span class="s' + i + '" />');
					}
					$(this).children('a').css({'margin-left':tooltipLeft,'margin-top':tooltipTop});
					if ($('#map-pl').hasClass('widoczna-lista')) {
						var liHref = $(this).children('a').attr('href');
						var liText = $(this).children('a').text();
						$(visibleListId + ' ul').append('<li class="' + liid + '"><a href="' + liHref + '">' + liText + '</a></li>');
					}
					if ($(this).children('a').hasClass('active-region') || liUrl == window.location.hash && liUrl != "") {
						$(this).addClass('active-region focus');
						$(agentsListId).find('li').hide();
						$(liUrl + ',' + liUrl + ' li').show();
						$('.' + $(this).attr('id')).children('a').addClass('active-region');
						$('#search-link').attr('href', searchLink + '?' + searchLinkVar + '=' + liUrl.slice(1));
					}
				}).hover(
				function() {
					$.MapHoveredRegion($(this));
				},
				function() {
					$.MapUnHoveredRegion($(this));
				}).focus(
				function() {
					$.MapHoveredRegion($(this));
				}).blur(
				function() {
					$.MapUnHoveredRegion($(this));
				}).keypress(
				function(e) {
					code = (e.keyCode ? e.keyCode : e.which);
					if (code == 13)$.MapClickedRegion($(this));
				}).click(function(e) {
					$.MapClickedRegion($(this));
				});
			if ($('#map-pl').hasClass('widoczna-lista')) {
				$(visibleListId).find('a').each(function() {
					var itemId = '#' + $(this).parent().attr('class');
					$(this).hover(
						function() {
							$.MapHoveredRegion(itemId);
						},
						function() {
							$.MapUnHoveredRegion(itemId);
						}).focus(
						function() {
							$.MapHoveredRegion(itemId);
						}).blur(
						function() {
							$.MapUnHoveredRegion(itemId);
						}).keypress(
						function(e) {
							code = (e.keyCode ? e.keyCode : e.which);
							if (code == 13)$.MapClickedRegion(itemId);
						}).click(function(e) {
						$.MapClickedRegion(itemId);
					});
				});
			}
		}).error(
		function() {
			$('#loader').text(loadingErrorText);
			$('#polska').find('span').hide();
			$('#map-pl,#polska').css({'height':'auto','left':'0','margin':'0 auto'});
		}).attr('src', mapUrl);
	$.MapClickedRegion = function(e) {
		var listItemId = '.' + $(e).attr('id');
		var liUrl = $(e).children('a').attr('href');
		if (typeof liUrl != "undefined") {
			if ($('#map-pl').hasClass('multiple-click')) {
				if ($(e).hasClass('active-region')) {
					$(e).removeClass('active-region');
					$(listItemId).children('a').removeClass('active-region');
				} else {
					if (liUrl.length >= 2) {
						$(e).addClass('active-region');
						$(listItemId).children('a').addClass('active-region');
					}
				}
				$.multipleClickAction(e);
			} else {
				if ($(e).hasClass('active-region')) {
					$.doubleClickedRegion(e);
					$(listItemId).children('a').removeClass('active-region');
					$(e).attr('href', '');
				} else {
					$('#polska,' + visibleListId).find('.active-region').removeClass('active-region');
					$('#polska').find('.focus').removeClass('focus');
					if ($(e).hasClass('active-region')) {
						$(e).removeClass('active-region focus');
						$(listItemId).children('a').removeClass('active-region');
					} else {
						$(e).addClass('active-region focus').children('a').show();
						$(listItemId).children('a').addClass('active-region');
					}
					$.defaultClickAction(e);
					$(e).children('a').show();
				}
			}
		}
	}
	$.MapHoveredRegion = function(e) {
		var liUrl = $(e).children('a').attr('href');
		if (typeof liUrl != 'undefined' && liUrl != "") {
			$('#polska').find('.active-region').children('a').hide();
			$(e).children('a').show();
			$(e).addClass('focus');
			$('.' + $(e).attr('id')).children('a').addClass('focus');
		}
		else {
			$(e).hide();
		}
	}
	$.MapUnHoveredRegion = function(e) {
		$(e).children('a').hide();
		if ($(e).hasClass('active-region') == false) {
			$(e).removeClass('focus');
		}
		$('.' + $(e).attr('id')).children('a').removeClass('focus');
	}
	var loaderLeft = $('#loader').outerWidth() / -2;
	var loaderTop = $('#loader').outerHeight() / -2;
	$('#loader').css({'margin-left':loaderLeft,'margin-top':loaderTop});
}
