помогите разобраться в следующем : при клике на карту метро отмечаются станции в metromap-count но при повторном клике счетчик не сбрасывается, вот два скрина и код приложу , помогите кто может
<p class="group-cntrls">
<a href="#" onclick="return metromapHide();"><b>Закрыть</b></a>
<a href="#" onclick="return metromapClear();">Очистить</a>
<a href="#" onclick="return metromapHide();"><b>Готово</b></a>
<span>Выбрано: <b id="metromap-count">0</b></span>
function in_array(needle, haystack, strict)
{
var found = false, key, strict = !!strict;
for (key in haystack) {if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {found = true;break;}}
return found;
}
/**/
function metromapGroup(groupID)
{
$("#metromap-loader").stop().animate({opacity: "1"}, 500, function()
{
var iC = parseInt(metromap_stationgroups[groupID].length),
i = 0;
$.each(metromap_stationgroups[groupID], function(k,id)
{
i++;
if (!in_array(id, metromap_selected))
{
$("#metromap-map .station[data-id="+id+"]").addClass('selected');
metromap_selected.push(id);
}
if (iC==i)
{
metromapSync();
$("#metromap-loader").animate({opacity: "0"}, 500);
}
});
});
return false;
}
function metromapShow()
{
$('body').addClass('metromap-body')
$("#metromap").show();
return false;
}
function metromapHide()
{
$('body').removeClass('metromap-body')
$("#metromap").hide();
return false;
}
function metromapClear()
{
metromap_selected = [];
$("#metromap-cont").html('');
$("#metromap-clear").hide();
$("#metromap-map .station").removeClass('selected');
$("#metromap-count").text(0);
}
function metromapSync()
{
_metromapVisual();
if (parseInt(metromap_selected.length)>0)
{
$("#metromap-clear").show();
if (!$("#filter-btn-more").hasClass('hided')) $("#filter-btn-more").trigger('click');
}
else $("#metromap-clear").hide();
$("#metromap-count").text(parseInt(metromap_selected.length));
}
function metromapInit(url)
{
$.ajax({url: url, crossDomain:true, dataType:'html', cache: false}).done(function(html)
{
$("#metromap").html(html);
metromapSync();
$.each(metromap_stations,function(id,station)
{
var html_class = !in_array(id, metromap_selected) ? "station" : "station selected";
$('<div class="'+html_class+'" style="top:'+station.y+'px;left:'+station.x+'px" data-id="'+id+'">'+station.html+'</div>').appendTo("#metromap-map");
});
});
}
$(document).on('keydown', function(e) { if(e.keyCode==27) metromapHide(); });
$(document).on('click', '#metromap-bg', function() { return metromapHide(); });
$(document).on('click', '#metromap-map .station', function()
{
$(this).toggleClass('selected');
metromap_selected.push($(this).attr('data-id'));
metromapSync();
return false;
});
[JS]
<script type="text/javascript">
var metromap_selected = [];
metromapInit('/lib/metromap/inc.php');
function _metromapVisual()
{
$("#metromap-cont").html('');
$.each(metromap_selected, function(k,id)
{
$("<input type='hidden' name='object_metro[]' value='"+id+"' /><span>"+metromap_stations[id].name+"</span>").appendTo("#metromap-cont");
});
}
</script>
[/JS]