var old_map_h;
var old_title;
var total;
var from;
var need_more;

function submitMap(cat_id){

    $('#filter_form input:checkbox').attr('checked', '');
    $('#filter_form input#cat'+cat_id).attr('checked', 'checked');
    $('input#cat'+cat_id).parent('td').parent('tr').parent('tbody').parent('table').parent('li').find('input:checkbox').attr('checked', 'checked');

    $('input#cat'+cat_id).parent('td').parent('tr').parent('tbody').parent('table').parent('li').parent('ul').find('li ul').hide();

    $('input#cat'+cat_id).parent('td').parent('tr').parent('tbody').parent('table').parent('li').find('ul[rel='+cat_id+']').toggle();

    $('input#cat'+cat_id).parent('td').parent('tr').parent('tbody').parent('table').parent('li').find('input:checkbox').attr('checked', 'checked');

    getMarkers();

}

function getPlaces(){
    getMarkers();
}

function generatePages(pages, perpage){

    $('#marker_pages_link').show();

    for(var p=1; p<=pages; p++){

        var f = (p-1) * perpage;
        var phtml = '<a class="page'+p+'" href="javascript:" onclick="getMarkers('+f+', '+p+')">'+p+'</a> ';

        $('#marker_pages').append(phtml);

    }

    $('#marker_pages .page1').addClass('active');

}

function getMarkers(from, page){

    if (!from) { from = 0; }
    if (!page) { page = 1; }

    $("form#filter_form input[name=from]").val(from);

    $('.marker_loading').show();

    if (from == 0){
        $('#marker_pages').html('');
        $('#marker_pages_link').hide();
    } else {
        $('#marker_pages a').removeClass('active');
        $('#marker_pages .page'+page).addClass('active');
    }

    old_title = 'Обновить карту';

    $('#refresh_btn').attr('disabled', 'disabled');
    $('#refresh_btn').val('Загрузка...');

    $("form#filter_form").ajaxSubmit({
          success: function(msg) {
              $('.marker_loading').hide();
              clearMap();
              if (msg){
                  eval(msg);
                  addMarkers(markers_list);
                  if (pages > 1 && from == 0){
                        generatePages(pages, perpage);
                  }
              }
              $('#refresh_btn').attr('disabled', '');
              $('#refresh_btn').val(old_title);
          }
    });

}

function toggleMapSize(){

    $('#map_wrapper').toggleClass('fullscreen_map');

    var is_fullscreen = $('#map_wrapper').hasClass('fullscreen_map');

    if (is_fullscreen){

        old_map_h       = $('#citymap').height();;

        var screen_h    = $(window).height();
        var panel_h     = $('#citypanel').height();
        var map_h       = screen_h - panel_h;

        $('#citymap').height(map_h+'px');

        $('#fullscreen_link a').removeClass('maximize_button').addClass('minimize_button').html('Свернуть');

        window.location.href = '#';

    } else {

        $('#fullscreen_link a').removeClass('minimize_button').addClass('maximize_button').html('На весь экран');

        $('#citymap').height(old_map_h+'px');

    }

    redrawMap();

}
