//	иницилизация переменных:
//	для хранения значения
//	для хранения всех значений
//	для хранения индекса значения

var headerAtmFilterVal;
var headerAtmFilterValArray = new Array;
var headerAtmFilterIndex = 0;

/* Карта банкоматов */
var mapAtm;
var mapAtmPlacemark = [];
var mapAtmCollections = [];
var mapAtmObjects;
var mapAtmClusterer;

var mapPlacemarkConfig = new Array;

mapPlacemarkConfig['simple'] = [{
    iconImageHref: '/assets/theme/img/icons/mapAtmPlacemarkIcon.png',
    iconImageSize: [32,35],
    atm24hrs: false,
    atmMoneyPlus: false
}];

mapPlacemarkConfig['24hrs'] = [{
    iconImageHref: '/assets/theme/img/icons/mapAtmPlacemarkIcon-24.png',
    iconImageSize: [36,39],
    atm24hrs: true,
    atmMoneyPlus: false
}];

mapPlacemarkConfig['plus'] = [{
    iconImageHref: '/assets/theme/img/icons/mapAtmPlacemarkIcon-Plus.png',
    iconImageSize: [35,39],
    atm24hrs: false,
    atmMoneyPlus: true
}];

mapPlacemarkConfig['all'] = [{
    iconImageHref: '/assets/theme/img/icons/mapAtmPlacemarkIcon-All.png',
    iconImageSize: [38,39],
    atm24hrs: true,
    atmMoneyPlus: true
}];

function mapAtmInit() {
    mapAtm = new ymaps.Map("mapAtm",{
        center:[55.75108, 37.62405],
        zoom: 9
    },{
        avoidFractionalZoom: false/* , minZoom: 12 */
    });
    mapAtm.controls.add('zoomControl', {
        left: 5,
        top: 5
    }).add('typeSelector');
    mapAtmObjectsGenerate();
}

/* обработчик фильтрации меток */
function checkState () {
    var shownObjects,
    byQueryCheck = new ymaps.GeoQueryResult();

    if( ($('#atm24hrs').prop('checked') == false) && ($('#atmMoneyPlus').prop('checked') == false) ){
        byQueryCheck = mapAtmObjects;
    }else{
        if( ($('#atmMoneyPlus').prop('checked'))&&($('#atm24hrs').prop('checked'))){
            byQueryCheck = mapAtmObjects.search('options.atm24hrs = true').search('options.atmMoneyPlus = true');
        }
        else{
            /* Отберем объекты по 24/7*/
            if ($('#atm24hrs').prop('checked')) {
                byQueryCheck = mapAtmObjects.search('options.atm24hrs = true');
            }
            /* отберем банкоматы с внесением наличных */
            if ($('#atmMoneyPlus').prop('checked')) {
                byQueryCheck = mapAtmObjects.search('options.atmMoneyPlus = true').add(byQueryCheck);
            }
        }
    }
    /* теперь отобразим их на карте */
    shownObjects = byQueryCheck.addToMap(mapAtm);
    // Объекты, которые не попали в выборку, нужно убрать с карты.
    mapAtmObjects.remove(shownObjects).removeFromMap(mapAtm);
}

/* первоначальная генерация метов на JSON и вывод их на карту */
function mapAtmObjectsGenerate(){
    mapAtmObjects = ymaps.geoQuery({
        type: "FeatureCollection",
        features: atmsForTop
    }).addToMap(mapAtm);
/*mapAtmClusterer = new ymaps.Clusterer();
	    mapAtmClusterer.add(mapAtmObjects);
	    mapAtm.geoObjects.add(mapAtmClusterer);*/

    if(filtersFroAtms.repayment==0){
        $('.filtering .cuteCheckbox_check div[data=repay]').hide();
    }
    if(filtersFroAtms.hourly==0){
        $('.filtering .cuteCheckbox_check div[data=hrs]').hide();
    }
}



$(document).ready(function(){

    /* событие по "чеку" фильтра */
    $('#atm .cuteCheckbox input').on('ifChecked', function(event){
        headerAtmFilterVal = $(this).val();
        headerAtmFilterValArray[headerAtmFilterIndex] = headerAtmFilterVal;
        headerAtmFilterIndex++;

        $('#atm .readmore').click();
        $('#atm .searchResult li').each(function(){
            var el = $(this);
            var e=1;
            for(var i in headerAtmFilterValArray){
                if(el.attr(headerAtmFilterValArray[i])!=1) e = 0;
            }
            if(e==0){
                el.hide();
            }
            else{
                el.show();
            }
        });
        console.log(headerAtmFilterValArray);

    });
    if(typeof atmsForTop != 'undefined'){
//        for(var i=1;i<7;i++){
//            setTimeout(function(){
//                mapAtm.setBounds(mapAtm.geoObjects.getBounds(),{checkZoomRange: true})
//            },i*1000);
//        }
    }
    /* событие по "анчеку" фильтра */
    $('#atm .cuteCheckbox input').on('ifUnchecked', function(event){
        headerAtmFilterVal = $(this).val();

        headerAtmFilterIndex = headerAtmFilterValArray.indexOf(headerAtmFilterVal);
        headerAtmFilterValArray.splice(headerAtmFilterIndex, 1);

        $('#atm .searchResult li').each(function(){
            var el = $(this);
            var e=1;
            for(var i in headerAtmFilterValArray){
                if(el.attr(headerAtmFilterValArray[i])!=1) e = 0;
            }
            if(e==0){
                el.hide();
            }
            else{
                el.show();
            }
        });

        console.log(headerAtmFilterValArray);
    });



})