﻿

function loadLine(line)
{
	var d = document.getElementById("lineStations");

	//s = '<div style="margin-top: -3px; margin-bottom: -3px;">';
	s = '';
	//s += '<input id = AllStations type = checkbox style="width: 10px; vertical-align: middle; margin-right: 5px;" onClick = "if (checked) addToSelAll(' + line + '); else removeSelAll(' + line + ')" value = 0>';
	//s += '<label for = AllStations><i>Вся линия</i></lable>';
	//s += '</div>';

	for (var i = 0; i < stations.length; i++)
	{
		//if (stations[i].line == line)
		//{
		s += '<div style="margin-top: -3px; margin-bottom: -3px;">';
		s += '<input id = "st_' + stations[i].id + '" onclick = "if (checked) addToSel(' + i + '); else removeSel(' + i + ')" type = checkbox style = "width: 10px; vertical-align: middle; margin-right: 5px;" ' + (stations[i].checked ? "checked" : "") + ' value = ' + stations[i].id + '>';
		//s += '<label for = st_' + stations[i].id + '>' + stations[i].name + '</label>';
		s += '</div>';
		//}
	}

	d.innerHTML = s;

	//drawArrow(line);
}

function fSort(v1, v2)
{
	return (v1.name > v2.name) ? 1 : -1;
}
function fSortByLine(v1, v2)
{
	return (v1.line > v2.line) ? 1 : -1;
}


function SortBySubwayLine()
{
	//document.body.style.cursor = "wait";

	//if (!sortedStations)
	//{
	sortedStations = new Array();
	sortedStations = sortedStations.concat(stations);
	sortedStations.sort(fSortByLine);
	//}

	var d = document.getElementById("lineStations");

	d.innerHTML = '';

	var s = '';
	var prev = '';
	var strImg = strImgEmpty;
	
	var city=document.forms["search"].elements["city"].options[document.forms["search"].elements["city"].selectedIndex].value;
	
	for (var i = 0; i < sortedStations.length; i++)
	{
		if (prev == sortedStations[i].name) continue;
		if (city!=sortedStations[i].city) continue;//выкидываем не текущий город
		if (sortedStations[i].pic != "") strImg ='<img src="'+sortedStations[i].pic+'"> ';
		else strImg = strImgEmpty;
		s += '<div style="margin-top: -3px; margin-bottom: -3px;">';
		s += '<input id = "st_' + sortedStations[i].id + '" onclick = "if (checked) addToSel(' + sortedStations[i].pos + '); else removeSel(' + sortedStations[i].pos + ')" type = checkbox style = "width: 10px; vertical-align: middle; margin-right: 5px;" ' + (sortedStations[i].checked ? "checked" : "") + ' value = ' + sortedStations[i].id + '>';
		s += strImg+'<label for = st_' + sortedStations[i].id + '>' + sortedStations[i].name + '</label>';
		s += '</div>';

		prev = sortedStations[i].name;
	}

	d.innerHTML = s;
	ChangeNavSelection(true);
	//document.body.style.cursor = "default";

	//drawArrow(-1)
}
function SortByAlphabet()
{
	loadAll();
	ChangeNavSelection(false);
}
function ChangeNavSelection(bSortByLine)
{


	var d = document.getElementById("SubWayNav");
	if (bSortByLine)
	{
		d.innerHTML = '<a style="cursor: pointer;" class="LinkBlue" onclick="javascript:SortByAlphabet();" >А-Я</a> | <a class="LinkBlue" style="cursor: pointer;" onclick="javascript:SortBySubwayLine();"><b>Линии</b></a>';
	}
	else
	{
		d.innerHTML = '<a style="cursor: pointer;" class="LinkBlue" onclick="javascript:SortByAlphabet();"><b>А-Я</b></a> | <a class="LinkBlue" style="cursor: pointer;" onclick="javascript:SortBySubwayLine();">Линии</a>';
	}
}
function loadAll()
{
	//document.body.style.cursor = "wait";

	//if (!sortedStations)
	//{
	sortedStations = new Array();
	sortedStations = sortedStations.concat(stations);
	sortedStations.sort(fSort);
	//}

	var d = document.getElementById("lineStations");

	d.innerHTML = '';

	var s = '';
	var prev = '';
	var strImg = strImgEmpty;
	
	var city=document.forms["search"].elements["city"].options[document.forms["search"].elements["city"].selectedIndex].value;
	
	if (document.forms["search"].elements["district"]) {
		var district = document.forms["search"].elements["district"].options[document.forms["search"].elements["district"].selectedIndex].value;
	} else {
		var district = 0;
	}
	if (document.forms["search"].elements["region"]) {
		var region = document.forms["search"].elements["region"].options[document.forms["search"].elements["region"].selectedIndex].value;
	} else {
		var region = 0;
	}

	for (var i = 0; i < sortedStations.length; i++)
	{
		if (region>0 && region!=sortedStations[i].region) continue;
		if (district>0 && district!=sortedStations[i].district) continue;
		if (city!=sortedStations[i].city) continue;//выкидываем не текущий город
		if (prev == sortedStations[i].name) continue;
		if (sortedStations[i].pic != "") strImg ='<img src="'+sortedStations[i].pic+'"> ';
		else strImg = strImgEmpty;
		s += '<div style="margin-top: -3px; margin-bottom: -3px;">';
		s += '<input id = "st_' + sortedStations[i].id + '" onclick = "if (checked) addToSel(' + sortedStations[i].pos + '); else removeSel(' + sortedStations[i].pos + ')" type = checkbox style = "width: 10px; vertical-align: middle; margin-right: 5px;" ' + (sortedStations[i].checked ? "checked" : "") + ' value = ' + sortedStations[i].id + '>';
		s += strImg+'<label for = st_' + sortedStations[i].id + '>' + sortedStations[i].name + '</label>';
		s += '</div>';

		prev = sortedStations[i].name;
	}

	d.innerHTML = s;

	//document.body.style.cursor = "default";
	//drawArrow(-1)
}

//loadLine(1);
loadAll();
if (count == 0) document.getElementById('selectedStations').innerHTML = emptyText;

var IE = document.all != null;

function addToSel(v)
{
	//alert(v);
	var d = document.getElementById('selectedStations');

	if (count == 0)
	{
		s = '<div style = "margin-top:-3px;margin-bottom:-3px;">';
		s += "<input id = clear style=\"width: 10px; vertical-align: middle; margin-right: 5px; margin-left: 5px;\" onclick = \"removeAll(); return false\" type = checkbox>";
		s += '<label for = clear><i>Очистить список</i></lable>';
		s += "</div>";

		d.innerHTML = s;
	}

	var ds = document.getElementById("sel" + v);

	if (ds == null)
	{
		s = '<div id = "sel' + v + '" style = "margin-top:-3px;margin-bottom:-3px;">';
		//s += "<font style = \"width:10px;border:0px solid black;color:" + bgColors[stations[v].line] + ";background-color:" + bgColors[stations[v].line] + "\">__</font>";
		s += "<input id = \"stS_" + v + "\" style=\"width: 10px; vertical-align: middle; margin-right: 5px; margin-left: 5px;\" onclick = \"removeSel(" + v + "); return false\" type = checkbox checked name = s value = " + stations[v].id + ">";
		s += '<label for = stS_' + v + '>' + stations[v].name + '</lable>';
		s += "</div>";

		d.innerHTML += s;
	}
	else
	{
		ds.style.display = '';
		document.getElementById("stS_" + v).checked = true;
	}

	stations[v].checked = true;

	/*
	d = document.getElementById("st_" + stations[v].id);

	if (d)
	{

	d.checked = true;
	}
	*/

	count++;
}

function selectAll()
{
	var city=document.forms["search"].elements["city"].options[document.forms["search"].elements["city"].selectedIndex].value;
	for (i = 0; i < stations.length; i++)
	{
		if (city && stations[i].city == city) {
			if (document.getElementById("st_" + stations[i].id)) {
				document.getElementById("st_" + stations[i].id).checked = true;
				addToSel(stations[i].pos);
			}
		}
	}
}

function addToSelAll(v)
{
	for (var i = 0; i < stations.length; i++)
	{
		if (!stations[i].checked && (stations[i].line == v))
		{
			var c = document.getElementById("st_" + stations[i].id);

			if (!c.checked)
			{
				c.checked = true;
				addToSel(i);
			}
		}
	}
}

function removeSelAll(v)
{
	for (var i = 0; i < stations.length; i++)
	{
		if (stations[i].checked && (stations[i].line == v))
		{
			var c = document.getElementById("st_" + stations[i].id);


			if (c.checked)
			{
				c.checked = false;
				removeSel(i);
			}
		}
	}
}

function removeSel(v)
{
	var d = document.getElementById("sel" + v);

	d.style.display = 'none';
	//	if (IE) d.removeNode(true);

	var st = document.getElementById("st_" + stations[v].id);

	if (st) st.checked = false;

	document.getElementById("stS_" + v).checked = false;

	if (--count == 0) document.getElementById('selectedStations').innerHTML = emptyText;

	stations[v].checked = false;

	updateSel();
}

function removeAll()
{
	for (i = 0; i < stations.length; i++)
	if (stations[i].checked)
	{
		var st = document.getElementById("st_" + stations[i].id);
		if (st) st.checked = false;

		stations[i].checked = false;

		//removeSel(i)
	}

	count = 0;
	document.getElementById('selectedStations').innerHTML = emptyText;

	var st = document.getElementById("AllStations");
	if (st) st.checked = false;
}

function updateSel()
{
	if (IE)
	{
		var dv = document.getElementById("selectedStations");

		var s = dv.innerHTML
		dv.innerHTML = s;
	}
}


