$.headJS('/js/popup-filter-list.js');

$(function(){
    var isFirst = true;
    new PopupFilter({
        id: 'filter-project-type',
        url: '/json.project.types/',
        depth: 2,
        columns: 2,
        volatile: .25,
        name: 'type',
        activator: '#filter .fContent .type',
        popup: {
            title: 'Вид строительства',
            width: 450,
            height: 300,
            overflow: 'auto'
        }
    });
    var isFirst = true;
    new PopupFilter({
        id: 'filter-region',
        url: '/json.geo.list/',
        depth: 1,
        columns: 3,
        name: 'region',
        activator: '#filter .fContent .region',
        onload: function(PopupFilter){
            geoSuggestPrepare(PopupFilter, $('#filter-region'), $('#filter .fContent .region'), '/projects/filter/region/');
        },
        onselect: function(PopupFilter){
            if (!isFirst) {
            
                //console.info('OnSelect');
                //console.info(PopupFilter);
                //console.info($('.district-front'));
                $('.district-front input[name=district\\[\\]]').remove();
                $('.district-front .fCounter').html('0');
                $('.district-front .active div span').html('все');
                $('.district-front .active').removeClass('active');
            }
            else {
                //console.info('First run!');
                isFirst = false;
            }
        },
        popup: {
            title: 'Регион',
            width: 550,
            height: 225,
            overflow: 'auto'
        }
    });
    
    
    var isFirst = true;
    new PopupFilter({
        id: 'filter-region-manager',
        url: '/json.geo.list/',
        depth: 1,
        columns: 3,
        name: 'region',
        activator: '#filter .fContent .region-manager',
        onload: function(PopupFilter){
            geoSuggestPrepare(PopupFilter, $('#filter-region-manager'), $('#filter .fContent .region-manager'), '/projects/filter/region/');
        },
        onselect: function(PopupFilter){
            if (!isFirst) {
                //console.info('OnSelect');
                //console.info(PopupFilter);
                //console.info($('.district-front'));
                $('.district input[name=district\\[\\]]').remove();
                $('.district .fCounter').html('0');
                $('.district .active em').html('все');
                $('.district .active').removeClass('active');
            }
            else {
                //console.info('First run!');
                isFirst = false;
            }
        },
        popup: {
            title: 'Регион',
            width: 550,
            height: 225,
            overflow: 'auto'
        }
    });
    
    new PopupFilter({
        id: 'filter-district',
        url: '/json.districts.list/',
        tabs: true,
        depth: 1,
        columns: 3,
        name: 'district',
        activator: '#filter .fContent .district',
        onload: function(PopupFilter){
            $('.districts_thead li').addClass('enabled');
            $('.districts_thead li').hide();
            $('.tab_content').hide();
            var length = $('input[name=region\\[\\]]').length;
            var error = true;
            var unregion = false;
            var idx = new Array();
            var i = 0;
            $('input[name=region\\[\\]]').each(function(index){
                idx[i] = $(this).val();
                i++;
                if ($(this).val() == 424121 || $(this).val() == 673347 || $(this).val() == 314029 || $(this).val() == 504125 || $(this).val() == 726256) {
                    error = false;
                } else unregion = true;
            });
            if (length && error || (unregion && !error)) {
                $('.popup-foot-buttons .button.submit span').html('Закрыть');
                $('.popup-foot-buttons .button.reset').remove();
                $('.popup-foot-buttons-container').css('width', '100px');
                $('#filter-district').css('height', 'auto');
                $(".pp_tabs").html('Фильтрация по районам доступна только для регионов <b>Москва</b>, <b>Санкт-Петербург</b>, <b>Сочи</b>, <b>Новосибирск</b> и <b>Екатеринбург</b>!<div style="margin-top: 5px;" class="pp_err_regions"></div>');
                $.getJSON('/json.districts.list/geo/', {
                    ids: idx.join(',')
                }, function(json){
                    if (json.geo) {
                        $('.pp_err_regions').html(json.word + ' Вы выбрали: <b>' + json.geo + '</b>');
                    }
                });
            }
            else 
                if (length) {
                    if ($('input[name=region\\[\\]][value=673347]').length) {
                        if (length == 1) 
                            $(".pp_tabs").find("#tab-spb").show();
                        $(".pp_tabs").find(".tab-spb").removeClass('disabled').addClass('enabled').show();
                    }
                    if ($('input[name=region\\[\\]][value=424121]').length) {
                        if (length == 1) 
                            $(".pp_tabs").find("#tab-msk").show();
                        $(".pp_tabs").find(".tab-msk").removeClass('disabled').addClass('enabled').show();
                    }
                    if ($('input[name=region\\[\\]][value=314029]').length) {
                        if (length == 1) 
                            $(".pp_tabs").find("#tab-sochi").show();
                        $(".pp_tabs").find(".tab-sochi").removeClass('disabled').addClass('enabled').show();
                    }
                    if ($('input[name=region\\[\\]][value=504125]').length) {
                        if (length == 1) 
                            $(".pp_tabs").find("#tab-novosibirsk").show();
                        $(".pp_tabs").find(".tab-novosibirsk").removeClass('disabled').addClass('enabled').show();
                    }
                    if ($('input[name=region\\[\\]][value=726256]').length) {
                        if (length == 1) 
                            $(".pp_tabs").find("#tab-yekaterinburg").show();
                        $(".pp_tabs").find(".tab-yekaterinburg").removeClass('disabled').addClass('enabled').show();
                    }
                }
                else {
                    $(".pp_tabs").find(".tab-spb").removeClass('enabled').addClass('disabled').show();
                    $(".pp_tabs").find("#tab-spb").show();
                    $(".pp_tabs").find(".tab-msk").removeClass('disabled').addClass('enabled').show();
                    $(".pp_tabs").find("#tab-msk").hide();
                    $(".pp_tabs").find(".tab-sochi").removeClass('disabled').addClass('enabled').show();
                    $(".pp_tabs").find("#tab-sochi").hide();
                    $(".pp_tabs").find(".tab-novosibirsk").removeClass('disabled').addClass('enabled').show();
                    $(".pp_tabs").find("#tab-novosibirsk").hide();
                    $(".pp_tabs").find(".tab-yekaterinburg").removeClass('disabled').addClass('enabled').show();
                    $(".pp_tabs").find("#tab-yekaterinburg").hide();
                }
        },
        popup: {
            title: 'Район',
            width: 550,
            height: 225,
            overflow: 'auto'
        }
    });
    
    new PopupFilter({
        id: 'filter-district-front',
        url: '/json.districts.list/',
        tabs: true,
        depth: 1,
        columns: 3,
        name: 'district',
        activator: '#filter .fContent .district-front',
        onload: function(PopupFilter){
            $('.districts_thead li').addClass('enabled');
            $('.districts_thead li').hide();
            //console.info(PopupFilter);
            $('.tab_content').hide();
            var length = $('input[name=region\\[\\]]').length;
            var error = true;
            var unregion = false;
            var idx = new Array();
            var i = 0;
            $('input[name=region\\[\\]]').each(function(index){
                idx[i] = $(this).val();
                i++;
                if ($(this).val() == 424121 || $(this).val() == 673347 || $(this).val() == 314029 || $(this).val() == 504125 || $(this).val() == 726256) {
                    error = false;
                } else unregion = true;
            });
            if (length && error || (unregion && !error)) {
                $('.popup-foot-buttons .button.submit span').html('Закрыть');
                $('.popup-foot-buttons .button.reset').remove();
                $('.popup-foot-buttons-container').css('width', '100px');
                $('#filter-district-front').css('height', 'auto');
                $(".pp_tabs").html('Фильтрация по районам доступна только для регионов <b>Москва</b>, <b>Санкт-Петербург</b>, <b>Сочи</b>, <b>Новосибирск</b> и <b>Екатеринбург</b>!<div style="margin-top: 5px;" class="pp_err_regions"></div>');
                $.getJSON('/json.districts.list/geo/', {
                    ids: idx.join(',')
                }, function(json){
                    if (json.geo) {
                        $('.pp_err_regions').html(json.word + ' Вы выбрали: <b>' + json.geo + '</b>');
                    }
                });
            }
            else 
                if (length) {
                	var isShow = false;
                    if ($('input[name=region\\[\\]][value=673347]').length) {
                        if (length >= 1) {
                        	isShow = true;
                        	$(".pp_tabs").find("#tab-spb").show();
                        	$(".pp_tabs").find(".tab-spb").removeClass('enabled').addClass('disabled').show();
                        } else 
                        	$(".pp_tabs").find(".tab-spb").removeClass('disabled').addClass('enabled').show();
                    }
                    if ($('input[name=region\\[\\]][value=424121]').length) {
                        if (length >= 1 && !isShow) {
                            $(".pp_tabs").find("#tab-msk").show();
                            $(".pp_tabs").find(".tab-msk").removeClass('enabled').addClass('disabled').show();
                    	} else
                    		$(".pp_tabs").find(".tab-msk").removeClass('disabled').addClass('enabled').show();
                    }
                    if ($('input[name=region\\[\\]][value=314029]').length) {
                        if (length == 1) {
                            $(".pp_tabs").find("#tab-sochi").show();
                            $(".pp_tabs").find(".tab-sochi").removeClass('enabled').addClass('disabled').show();
                        } else
                        	$(".pp_tabs").find(".tab-sochi").removeClass('disabled').addClass('enabled').show();
                    }
                    if ($('input[name=region\\[\\]][value=504125]').length) {
                        if (length == 1) {
                            $(".pp_tabs").find("#tab-novosibirsk").show();
                            $(".pp_tabs").find(".tab-novosibirsk").removeClass('enabled').addClass('disabled').show();
                        } else
                          $(".pp_tabs").find(".tab-novosibirsk").removeClass('disabled').addClass('enabled').show();
                    }
                    if ($('input[name=region\\[\\]][value=726256]').length) {
                        if (length == 1) {
                            $(".pp_tabs").find("#tab-yekaterinburg").show();
                            $(".pp_tabs").find(".tab-yekaterinburg").removeClass('enabled').addClass('disabled').show();
                        } else
                          $(".pp_tabs").find(".tab-yekaterinburg").removeClass('disabled').addClass('enabled').show();
                    }
                }
                else {
                    $(".pp_tabs").find(".tab-spb").removeClass('enabled').addClass('disabled').show();
                    $(".pp_tabs").find("#tab-spb").show();
                    $(".pp_tabs").find(".tab-msk").removeClass('disabled').addClass('enabled').show();
                    $(".pp_tabs").find("#tab-msk").hide();
                    $(".pp_tabs").find(".tab-sochi").removeClass('disabled').addClass('enabled').show();
                    $(".pp_tabs").find("#tab-sochi").hide();
                    $(".pp_tabs").find(".tab-novosibirsk").removeClass('disabled').addClass('enabled').show();
                    $(".pp_tabs").find("#tab-novosibirsk").hide();
                    $(".pp_tabs").find(".tab-yekaterinburg").removeClass('disabled').addClass('enabled').show();
                    $(".pp_tabs").find("#tab-yekaterinburg").hide();
                }
        },
        popup: {
            title: 'Район',
            width: 550,
            height: 225,
            overflow: 'auto'
        }
    });
    
    $('.districts_thead li').live('click', function(){
    
        $('.districts_thead li').addClass('enabled');
        $('.districts_thead li').removeClass('disabled');
        $(this).addClass('disabled');
        $(this).removeClass('enabled');
        $('.pp_tabs .tab_content').hide();
        $('.pp_tabs ' + $(this).find('a').attr('href')).show();
        return false;
    });
    
    new PopupFilter({
        id: 'filter-construct',
        url: '/json.project.construct/',
        depth: 1,
        columns: 2,
        name: 'construct',
        activator: '#filter .fContent .construct',
        popup: {
            title: 'Тип конструкций',
            width: 400,
            height: 100,
            overflow: 'auto'
        }
    });
    new PopupFilter({
        id: 'filter-state',
        url: '/json.project.state/',
        depth: 1,
        columns: 2,
        name: 'state',
        activator: '#filter .fContent .state',
        popup: {
            title: 'Статус объекта',
            width: 400,
            height: 100,
            overflow: 'auto'
        }
    });
});


