var mapSearchObj = {
	filterTimer: null,
	timeout: 1000,
	categories: {},
	lastKeyPress: (new Date).getTime(),
	init: function (catInput) {
		mapSearchObj.categories = catInput;
		$('#mapspotlight').css({
			top: $('#search2').offset().top + $("div.front-map #search2 div.a div").outerHeight()  + 'px',
			left: $('#search2').offset().left + 'px'
		});
		$(window).resize(function(){
			$('#mapspotlight')[0].style.top = $('#search2').offset().top + $("div.front-map #search2 div.a div").outerHeight() +'px';
			$('#mapspotlight')[0].style.left = $('#search2').offset().left + 'px';
		});
		$('#search2_string').focus(function(){
			if ($('#search2_string').val().length >= 2) {
				mapSearchObj.showMapResults();
			}		
		}).blur(function(){setTimeout("mapSearchObj.hideMapResults()", 500)});
		$('#search2_string').keyup(function(){
			if ($('#search2_string').val().length >= 2) {
				setTimeout("mapSearchObj.timedOutRequest()", mapSearchObj.timeout);
			}
			else {
				mapSearchObj.hideMapResults();
			};
			mapSearchObj.lastKeyPress = (new Date).getTime();
		});
	},
	timedOutRequest: function () {
		if ((new Date).getTime()-mapSearchObj.lastKeyPress >= mapSearchObj.timeout) {
			mapSearchObj.showMapResults();
			mapSearchObj.mapsearchCategories($('#search2_string').val());
		};
	},
	mapsearchCategories: function(searchString) {
		jQuery.each( mapSearchObj.categories, function (i) {
			$.getJSON(	this.url + '&s=' + searchString, 
			function(objResp){
				mapSearchObj.parseResponce(objResp);
			});
		});
	},
	parseResponce: function (objResp) {
		var html;
		var count;
		var elCont;
		var random_id;
		
		if (objResp['rescount'] > 0)
		{
			jQuery.each( objResp, function (i) {
				//alert(i);
				
				if(i == 'candidates')
				{
					
					$('#candidates_searchlist').html('');
					html = '';
					count = 0;
					elCont = '';
					var RandomIDs = new Array();
					
					jQuery.each(objResp[i], function(j) {
						elCont = objResp[i][j].name;
						random_id = Math.round(Math.random()*1000000);
						if(objResp[i][j].link)
						{
							html = '<li><a id="'+random_id+'" href="'+objResp[i][j].link+'">' + objResp[i][j].fullname + ' ' + objResp[i][j].candidate_nr + '<br /><span class="style04">' + objResp[i][j].districtname +'</span></a></li>';
						}else{
							html = '<li>' + objResp[i][j].fullname + ' ' + objResp[i][j].candidate_nr + '<br /><span class="style04">' + objResp[i][j].districtname +'</span></li>';
						}
						$('#candidates_searchlist').append(html);
						//fastSearchObj.searchFilter('#'+random_id, $('#search-string').val(), $('#search-string').val().split(' '));
						count++;
					});
					$("#mapcount_text").empty();
					$("#mapcount_text").append('Kandidaate leiti ');
					html = objResp['rescount'].toString();
					$("span.candidates_mapcount").empty();
					$("span.candidates_mapcount").append(html + '.');
					$("#listlink").empty();
					$('#listlink').append('Vaata nimekirja');
					$('#listlink').attr('href', objResp['list_link'].toString());
				};
			});
		}else{
				$('#candidates_searchlist').empty();
				$("#mapcount_text").empty();
				$("#candidates_mapcount").empty();
				$("#listlink").empty();
				$('#listlink').append('');
				html='Kandidaate ei leitud.';
				$("#mapcount_text").append(html);
		}
	},
	hideMapResults: function () {
		$('#mapspotlight').addClass('hidden');
		$('#search2').removeClass('mapspotlight');
	},
	showMapResults: function () {
		$('#mapspotlight').removeClass('hidden');
		$('#search2').addClass('mapspotlight');
	}
	
}