$(document).ready(function(){
    $(".tooltip").tooltip({
        track: true,
        delay: 100,
        showBody: "::",
        opacity: 0.85,
        showURL: false
    });
});

$(document).ready(function(){
    // дополнительное меню
    $('a.additional-menu').click(function(){
        show_additional_menu(this);
        return false;
    })

    // выбор города
    $('.town-select').click(function(){
        show_towns(this);
        return false;
    })

    // дополнительные рубрики
    $('.additional-rubrics').click(function(){
        show_rubrics(this);
        return false;
    })   

    $("#text").autocomplete({
        
        source: function(request, response) {
            $.post(baseUrl + '/ajax/autocomplete/format/json/', {
                text: request.term
            }, function(data){
                var result = [];
                $.each(data.data, function(i, val){
                    var params = val.ID.split('_');                    
                    var className = params[0] == 'w'? " word": "";
                    result.push({
                        id: val.ID,
                        label: "<span class='autocomlete-list" + className + "'>" + val.Name + "</span>",
                        value: val.Name,
                        ref: params[0] == 'w'? val.References: params[1]
                    });
                });
                response(result)
            })
        },
        focus: function() {
            return false;
        },
        select: function(event, ui){
            document.location = baseUrl + '/find/kind/id/' + ui.item.ref + '/text/' + ui.item.value;
        }

    });

})
// активизация специального меню
function show_special_menu(url, a){
    var menu = getTooltipMenu();
    $(menu).attr('id', 'tooltip-menu');
    var divLoad = $('<div>Загрузка...</div>').addClass('load-ajax');
    $(menu).html(divLoad);
    $(a).after(menu)
    $(menu).load(url)
}

function open_window(url){
    window.open(url, "", "width=720, height=850, scrollbars=yes");
    return false;
}
// открытие окна отправки почты
function open_window_message_service(url){
    window.open(url, "", "width=720, height=850, scrollbars=yes");
    return false;
}

function show_rubrics(a){
    var ul = $(a).parent().parent();
    var oldList = $(ul).html();

    $(a).text('Загрузка...');
    $(a).addClass('load-ajax');

    $.post($(a).attr('href'),{}, function(data){
        $(ul).css('height', 'auto');
        $(ul).html($(data).find('li'));
        var close = $("<a href='?' class='additional-rubrics arrow-bottom2'>Свернуть...</a>");
        var li = $("<li></li>");
        $(ul).append($(li).append(close));
        $(close).click(function(){
            $(ul).html(oldList);
            $(ul).find('.additional-rubrics').click(function(){
                show_rubrics(this);
                return false;
            })
            return false;
        })
    })
}

/**
 * загрузка списка городов
 */
function show_towns(a){
    var url_params = $("#url_params").text();

    var text = $(a).text();
    $(a).text('Загрузка...');
    $(a).addClass('load-ajax');
    $.post($(a).attr('href'), {url_params: url_params}, function(data){
        var menu = getTooltipMenu();
        $(menu).css({
            'overflow': 'auto',
            'max-height': '300px'
        });
        $(a).after(menu);
        $(menu).html(data);
        $('.navigation-towns').treeview({
            collapsed: true,
            unique: true,
            persist: "location",
            animated: "normal"
        });
        $(a).removeClass('load-ajax');
        $(a).text(text)
    })
}

function show_additional_menu(a){
    var content = $("<div id='additional-menu'><ul style='padding: 0'>" +
        $("#footer ul.additional-menu").html()+ "</ul></div>");
    var menu = getTooltipMenu();
    $(menu).append(content);
    $(a).after(menu)
}

function getTooltipMenu(){
    var toolTipMenu = $("<div></div>").
    addClass('ui-widget ui-widget-content ui-corner-all').
    css({
        'padding': '20px',
        'position': 'absolute',
        'z-index': 1000
    });
    return toolTipMenu;
}
/**
 * сохранение статистики показа банеров
 */
function saveBannersView(stringIDBanners){
    $.post(baseUrl + '/ajax/banners.view/format/html/', {
        id: stringIDBanners
    });
}
/**
 * сохранение статистики результатов поиска
 */
function saveFind(objectParams){
    $.post(baseUrl + '/ajax/statistic.find/format/html/', objectParams);
}
/**
 * статистика показа банеров на странице "Реклама"
 */
function showBannersStatistics(a){
    var li = $(a).parent();
    $(a).text('Загрузка...').addClass('load-ajax');
    $(li).load($(a).attr('href'))
    return false;
}
/**
 * всплывающая панель статистики поиска по предприятию
 */
function showContextStatistics(a){
    $("#ajax-menu-context").remove();
    var menu = getTooltipMenu();
    $(menu).attr('id', 'ajax-menu-context');
    $(a).text('Загрузка...').addClass('load-ajax').css({
        "font-size": "10px",
        "font-family": "Arial"
    });
    $.post($(a).attr('href'), {}, function(data){
        $(menu).append(data);
        $(a).after(menu)
        $(a).text('Статистика').removeClass('load-ajax')
    })
    return false;
}
/**
 * всплывающая панель рейтинга предприятия
 */
function showReiting(a){
    $("#ajax-menu-context").remove();
    var text = $(a).text()
    var menu = getTooltipMenu();
    $(menu).attr('id', 'ajax-menu-context');
    $(a).text('Загрузка...').addClass('load-ajax').css({
        "font-size": "10px",
        "font-family": "Arial"
    });
    $.post($(a).attr('href'), {}, function(data){
        $(menu).append(data);
        $(a).after(menu)
        $(a).text(text).removeClass('load-ajax')
    })
    return false;
}
/**
 * Вывод всплывающей панели для конкретного предприятия с правами админа
 */
function show_additional_menu_admin(a){
    $("#ajax-menu-context").remove();
    var text = $(a).text()
    var menu = getTooltipMenu();
    $(menu).attr('id', 'ajax-menu-context');
    $(a).text(' ... ').addClass('load-ajax');
    $.post($(a).attr('href'), {}, function(data){
        $(menu).append(data);
        $(a).after(menu)
        $(a).text(text).removeClass('load-ajax')
    })    
    return false;
}

/**
 * Вывод всплывающей панели для конкретного предприятия с правами менеджера
 */
function show_additional_menu_manager(a){
    $("#ajax-menu-context").remove();
    var text = $(a).text()
    var menu = getTooltipMenu();
    $(menu).attr('id', 'ajax-menu-context');
    $(a).text(' ... ').addClass('load-ajax');
    $.post($(a).attr('href'), {}, function(data){
        $(menu).append(data);
        $(a).after(menu)
        $(a).text(text).removeClass('load-ajax')
    })
    return false;
}

function show_contacts_firma(a){
    var text = $(a).text()
    $(a).text('Загрузка ... ').addClass('load-ajax');
    $.post($(a).attr('href'), {}, function(data){
        $(a).text(text).removeClass('load-ajax')
        $(data).dialog({
            title: "Контакты по предприятию",
            width: 'auto',
            modal: true
        })
    })
    return false
}

function add_contact_manager(a){
    if (confirm("Добавить предприятие в список контактов?")){
        $(a).html('').addClass('load-ajax');
        $.post($(a).attr('href'), {}, function(){
            $(a).parent().html("<div class='find-firma-contacts'></div>")
        });
    }
    return false;
}


/**
 * удаление предприятия из результатов поиска с правами админа
 */
function adminDeleteFirma(a){
    var dialog = $("<div>Загрузка...</div>");
    var url = $(a).attr('href');    
    $(a).after(dialog)
    $(dialog).css('font-size', '11px');
    dialog.dialog({
        modal: true,
        height: 300,
        title: "Удаление предприятия",
        buttons: {
            "Ok": function() {
                url = url + "/run/run";
                $(this).html("Выполнение операции...")
                $.post(url, {}, function(data){
                    $(dialog).dialog({
                        title: "Операция выполнена",
                        buttons: {
                            "Ok": function(){
                                $(this).remove()
                            }
                        }
                    });
                    $(dialog).html(data);
                }
                )
            },
            "Закрыть": function() {
                $(this).remove();
            }
        }
    });
    $(dialog).load(url)

    return false;
}
