﻿
// ToolTip imagens
function startupImgTooltip(objToHover, objToShow) {

    $(objToHover)
        .mouseout(function(e) { $(objToShow).hide(); })
        .mousemove(function(e) {
            if ($(this).attr("rel") == '' || $(this).attr("rel") == null)
                return false;

            $(objToShow).html("<img src='../componentes/imagem.aspx?id=" + $(this).attr("rel") + "&tipo=4' alt='' />");

            var winX = $(window).width();       // largura janela
            var winY = $(window).height();      // altura janela
            var imgSizeY = $(objToShow).height();
            var imgSizeX = $(objToShow).width();

            var ttipPosY = (e.pageY + 20 + imgSizeY) >= (winY + $(document).scrollTop()) ? e.pageY - imgSizeY - 15 : e.pageY + 15;
            var ttipPosX = (e.pageX + 40 + imgSizeX) >= winX ? e.pageX - imgSizeX - 15 : e.pageX + 15;

            $(objToShow)
                .css({ top: ttipPosY + "px", left: ttipPosX + "px" })
                .show();
        });
}

// coliveira - JsonSuggest - alterado por rhenriques
function JsonSuggest(targetObj, objIDGrupo, objBtn, wsPath) {

    // pequena validação . se a caixa visivel está com o estado visible = false;
    // não executa a função. 
    if (!targetObj.length > 0) {
        return;
    }

    // marca de água - importar jquery.watermark.min.js ( pasta plugins )
    targetObj.val('').watermark("Pesquisar...", "watermark");

    // json / ajax
    $(function() {
        targetObj.autocomplete({
            source: function(request, response) {
                $.ajax({
                    url: wsPath,
                    data: "{ 'searchParam': '" + request.term + "' }",
                    dataType: "json",
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    dataFilter: function(data) { return data; },
                    success: function(data) {
                        response($.map(data.d, function(item) {
                            // nota: na resposta não é suportado html (segurança).
                            // formatação final na function data (.data("autocomplete")._renderItem... )
                            return {
                                idGrupo: item.idGrupo,
                                value: item.NOME
                            }
                        }))
                        // se não existirem dados
                        //if (data.d.length == 0) {
                        //                                        targetObj.removeClass().addClass("floatleft tbox_normal");
                        //                                        objInfo.fadeIn("fast").html("Não existem empresas com o critério que indicou.").removeClass().addClass("info_sm");
                        //} else {
                        //                                        objInfo.hide("fast").html("");
                        //}
                    },
                    // se ocorrer algum erro
                    error: function(XMLHttpRequest, textStatus, errorThrown) {
                        // data.d.clear();
                        // alert('Erro: ' + XMLHttpRequest.statusText);
                        //                                    var msg = "Erro: " + XMLHttpRequest.status + " (" + XMLHttpRequest.statusText + ")";
                        //                                    objInfo.show("fast").html("Ocorreu um erro no processo de pesquisa. " + msg).removeClass().addClass("error_sm");
                        //                                    targetObj.removeClass().addClass("floatleft tbox_normal")
                    }
                });
            },
            minLength: 3,
            select: function(event, ui) {
                objIDGrupo.val(ui.item.idGrupo);
                objBtn.click();
                // alert(ui.item.id);
            }
        }).data("autocomplete")._renderItem = function(ul, item) {
            return $("<li></li>")
				.data("item.autocomplete", item)
				.append("<a>" + item.value + "</a>")
				.appendTo(ul);
        };
    });
}
