var metro = new Array();
var checked_list = new Array();

//Верх зеленой ветки:
var metrolist_1 = new Array();
metrolist_1 = [106, 29, 30, 117, 9, 36];
// Верх фиолетовой ветки:
var metrolist_2 = new Array();
metrolist_2 = [94, 124, 135, 156, 81, 97, 14, 136];
// Верх синих веток:
var metrolist_3 = new Array();
metrolist_3 = [121, 57, 72, 60, 93, 143, 11, 144, 62, 122, 70, 35, 115, 87, 162, 163, 164];
// Верх серой ветки:
var metrolist_4 = new Array();
metrolist_4 = [6, 17, 83, 28, 91, 130, 161, 110];
// Верх оранжевой ветки:
var metrolist_5 = new Array();
metrolist_5 = [69, 10, 111, 21, 27, 5, 107];
// Верх красной ветки:
var metrolist_6 = new Array();
metrolist_6 = [139, 148, 100, 118, 53];
// Верх синей ветки:
var metrolist_7 = new Array();
metrolist_7 = [155, 89, 40, 88, 113, 157, 13];
// Верх желтой ветки:
var metrolist_8 = new Array();
metrolist_8 = [76, 90, 154, 1, 95, 108];
// Низ фиолетовой ветки:
var metrolist_9 = new Array();
metrolist_9 = [101, 31, 128, 59, 109, 34, 55];
// Низ Люблинской ветки:
var metrolist_10 = new Array();
metrolist_10 = [108, 55, 39, 47, 92, 32, 65, 22, 67, 101, 95];
// Низ зеленой ветки:
var metrolist_11 = new Array();
metrolist_11 = [2, 48, 44, 42, 146, 82, 38, 51, 26];
// Низ серой ветки:
var metrolist_12 = new Array();
metrolist_12 = [43, 133, 73, 74, 75, 112, 149, 159, 99, 137, 7, 24, 141, 140, 23, 138, 25];
// Низ оранжевой ветки:
var metrolist_13 = new Array();
metrolist_13 = [153, 63, 3, 104, 79, 41, 16, 50, 129, 160, 19];
// Низ красной ветки:
var metrolist_14 = new Array();
metrolist_14 = [145, 119, 33, 142, 102, 158];
// Кольцевая ветка:
var metrolist_15 = new Array();
metrolist_15 = [85, 125, 66, 61, 49, 103, 78, 15, 52, 45, 86, 80, 37, 12, 114, 152, 71];
// Центр:
var metrolist_16 = new Array();
metrolist_16 = [105, 58, 46, 68, 126, 127, 77, 56, 18, 84, 64, 151, 54, 123, 134, 131, 98, 20, 150, 147, 116, 8, 4, 96, 120, 132];
// 1 от кольца:
var metrolist_17 = new Array();
metrolist_17 = [36, 136, 87, 110, 107, 53, 13, 108, 95, 55, 108, 2, 153, 145, 133, 101, 122, 35, 165];
// 2 от кольца:
var metrolist_18 = new Array();
metrolist_18 = [9, 14, 115, 161, 5, 118, 157, 1, 31, 48, 73, 63, 119, 70, 62, 101, 55, 166];
// 3 от кольца:
var metrolist_19 = new Array();
metrolist_19 = [117, 97, 130, 27, 100, 113, 154, 39, 128, 74, 3, 33, 144, 60];
// 4 от кольца:
var metrolist_20 = new Array();
metrolist_20 = [30, 81, 91, 21, 148, 88, 90, 59, 47, 42, 75, 104, 142, 26, 72, 11];

// Определение id станции по нажатию на схеме
function selectId(link){
	var mapbtn = $(link).attr("id");
	var mapbtn_id = mapbtn.split("_");
	return mapbtn_id[1];
}

// Активировать графически станцию на схеме
function activeStationById(id){
	$("#metromap a[id='metro_"+id+"']").css("color", "red").children().css("background", "url(/media/map_active.png)");
	return true;
}

// выключить графическую Активацию станции на схеме
function desActiveStationById(id){
	$("#metromap a[id='metro_"+id+"']").css("color", "black").children().css("background", "");
	return true;
}

//Список станций в строку
function getMetroStr(){
	var str = "";
	var step = "";
	$.each(metro, function(){
		str += step+this;
		step = ",";
	});
	$("input[name='metro']").val(str);
	return true;
}

//Устанавливаем метро из строки
function setMetroFromStr(str){
	if (str && str.length>0){
		metros = str.split(",");
		addMetroList(metros);
	}
	return true;
}

// включить станцию и добавить ее в массив metro
function activeMetroId(id){
	metro.push(id);
	activeStationById(id);
    getMetroStr();
	return true;
}

function activeCityId(id){
	city.push(id);
	activeCityById(id);
    getCityStr();
	return true;
}

// убрать станцию из списка и графически
function delMetroId(id){
	desActiveStationById(id);
	metro = metro.delArrayElement(id);
	getMetroStr();
	return true;
}

// Добавить и включить список станций
function addMetroList(list){
	for(var i=0; i<list.length; i++){
		if (!metro.inArray(list[i])){
			activeMetroId(list[i]);
		}
	}
	return true;
}

// Удалить спискок станций
function delMetroList(list){
	for(var i=0; i<list.length; i++){
		if (metro.inArray(list[i])){
        	delMetroId(list[i]);
		}
	}
	return true;
}

//Возвращает исходное имя класса
function firstClassName(str){
	var clnm = str.split("_");
	var _str = clnm[0];
	for (var i=1; i<clnm.length-1; i++){
		_str += "_" + clnm[i];
	}
	return _str;
}

function addListFromMap(listId){
	var arrName = "metrolist_"+listId;
	if (!checked_list.inArray(arrName)){
		addMetroList(eval(arrName));
		checked_list.push(arrName);
		$("#metrolist_"+listId).attr("class", $("#metrolist_"+listId).attr("class")+"_push");
	} else {
		delMetroList(eval(arrName));
		checked_list = checked_list.delArrayElement(arrName);
		firstClassName($("#metrolist_"+listId).attr("class"));
		$("#metrolist_"+listId).attr("class", firstClassName($("#metrolist_"+listId).attr("class")));
	}
}


$(document).ready(function(){

	$("#metromap a:has(div.checked)").click(function(){
		var id = selectId(this);
		if(!metro.inArray(id)){
			activeMetroId(id);
		} else {
			delMetroId(id);
		}
   	});

   	$("#metromap span a").click(function(){
		var id = selectId(this);
		if (id!=='clear'){
			addListFromMap(id);
		} else {
			for(var i=0; i<metrolist_all.length; i++){
        		delMetroId(metrolist_all[i]);
			}
			metro = [];
		}
   	});

   	$("#metrobut").click(function(){
   		if (!showmap){
   			var top = $(document).scrollTop();
   			var left = $(document).scrollLeft();
   			var width = $('body').width();
   			var height = $('body').height();
   			if ($('#bg_opacity').html()===null){
   				$('<div id="bg_opacity"></div>').appendTo('body').css({position:'absolute', left:'0px', top:'0px', width:width, height:height});
   				$('#bg_opacity').html('<div id="bg_opacity_in"></div>');
   				$('#bg_opacity_in').css({width:'100%', height:'100%', background:'gray', opacity:'0.2'});
   				$("#metromap").appendTo('#bg_opacity');
				$("#metromap").show();
   			} else {
   				$('#bg_opacity').show();
   			}
   			$("#metromap").css('left', width/2-300);
   			$("#metromap").css('top', top+30);
			$("#metrobut").html('<img src="/media/metroicon.png" /> Спрятать карту метро');
			showmap = true;
		} else {
			$("#metromap").hide();
			$("#metrobut").html('<img src="/media/metroicon.png" /> Показать карту метро');
			showmap = false;
		}
		return false;
	});

    setMetroFromStr($("input[name='metro']").val());

});

var showmap = false;

function closeMetroMap(){
	//$("#metromap").hide();
	$("#metrobut").html('<img src="/media/metroicon.png" /> Показать карту метро');
	var ms="";
	switch (metro.length){
		case 0: ms="Выбраны станции: <b>Все</b>"; break;
		case 1: ms="Выбрана <b>одна</b> станция"; break;
		case 2: ms="Выбрано <b>две</b> станции"; break;
		case 3: ms="Выбрано <b>три</b> станции"; break;
		case 4: ms="Выбрано <b>четыре</b> станции"; break;
		default: ms="Выбрано <b>"+metro.length+"</b> станций"; break;
	}
	$("#metro_select").html(ms);
	$('#bg_opacity').hide();
	showmap = false;
}


function onMap(id){
	var features, w = 520, h = 490;
  	var top = (screen.height - h)/2 + Math.random()*20 - 10, left = (screen.width - w)/2 + Math.random()*70 - 35;
  	if(top < 0) top = 0;
  	if(left < 0) left = 0;
  	features = 'top='+top+',left='+left+',height='+h+',width='+w+',resizable=no,status=no,toolbar=no,scrollbars=yes';
	var OpenWindowMap=window.open("/estateonmapbyid.php?id="+id, "newwineonmap"+id, features);
	return false;
};

function getCountEstate(){
	var qString = $("#searchForm").formSerialize();
    $.getJSON($("input[name='basedir']").val()+'/ajax/getcountsearch.php?'+qString,
    			function(data){
    				$('.count_estate').text(data.count);
    			}
    );
};

$(function(){
	$("#searchform input").change(function(){
		getCountEstate();
	});
	$("#searchform a").click(function(){
		getCountEstate();
	});
	$(".count_estate").click(function(){
		document.search.submit();
	});

});
