$(document).ready(function() {
    $('.menu li ul').hide();
    $('.menu li ul.active').show();
    $('.menu li.actual').find('a:first').addClass('whiteLook');
    $('.menu li.actual:has(ul.active)').find('a:first').addClass('open');
    $('.menu li:has(ul)').find('a:first').addClass('master');

    $('.menu li a').click(function() {
        if ($(this).next().is('ul')) {
            $(this).toggleClass('open');
            $(this).next('ul').slideToggle('normal');
            $(this).find('a:first').addClass('master');
            $(this).next().find('ul').slideUp('slow');
            $(this).next().find('a').removeClass('open');
        }
    });
});

function X(_urlETituloDicionario) {
    if (_urlETituloDicionario.d["_dominiosigadois"]) {
        if (_urlETituloDicionario.d["_dominiosigadois"] == "True") {
            $("iframe[UniqueID=IntegracaoSigaUm]")[0].contentWindow.document.frames["main"].location.href = _urlETituloDicionario.d["_url"];
        }
        else {
            $("iframe[UniqueID=IntegracaoSigaUm]")[0].contentWindow.document.frames["main"].location.href = "IntegracaoEnviaPostSessao.aspx?url=" + _urlETituloDicionario.d["_url"];
        }
    }
    else {
        $("iframe[UniqueID=IntegracaoSigaUm]")[0].contentWindow.document.frames["main"].location.href = "IntegracaoEnviaPostSessao.aspx?url=" + _urlETituloDicionario.d["_url"];
    }
    document.title = _urlETituloDicionario.d["_titulo"];
}

function AjaxFailed(result) {
    alert(result.status + ' ' + result.statusText);
}

//function ExibeResultadosBusca() {
//    document.getElementById('spanBusca').style.visibility = 'visible';
//    document.getElementById('spanBusca').style.display = 'block';

//    document.getElementById('spanFrame').style.visibility = 'hidden';
//    document.getElementById('spanFrame').style.display = 'none';
//}

function RegistraVisita(idUsuario, idPapel, idRecurso) {
    $.ajax({
        type: "POST",
        url: "../WebServices/Recurso.asmx/RegistraVisita",
        data: "{_idUsuarioEidPagina:'" + idUsuario + "//" + idPapel + "//" + idRecurso + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: false,
        error: null,
        success: null
    });
}

function RegistraVisitaInterna(idUsuario, idPapel, idRecurso) {
    $.ajax({
        type: "POST",
        url: "WebServices/Recurso.asmx/RegistraVisita",
        data: "{_idUsuarioEidPagina:'" + idUsuario + "//" + idPapel + "//" + idRecurso + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: false,
        error: null,
        success: null
    });
}

function SalvaFavorito(idUsuario, idPapel, idRecurso) {
    $.ajax({
        type: "POST",
        url: "WebServices/Recurso.asmx/SalvaFavorito",
        data: "{_idUsuarioEidPagina:'" + idUsuario + "//" + idPapel + "//" + idRecurso + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: false,
        error: AjaxFailed,
        success: null
    });
}

function nivelZeroMenuEncascadoClick(idUsuario, idPapel, idRecurso) {
    RegistraVisita(idUsuario, idPapel, idRecurso);
    window.location = "Interna.aspx?pagina=" + idRecurso;
}

function nivelUmMenuEncascadoClick(idUsuario, idPapel, idRecurso) {
    RegistraVisita(idUsuario, idPapel, idRecurso);
    window.location = "../Interna.aspx?pagina=" + idRecurso;
}

function nivelZeroMenuSigaDoisClick(url, idItemMenu, idUsuario, idPapel, idRecurso) {
    RegistraVisita(idUsuario, idPapel, idRecurso);
    window.location = url;
}

function nivelUmMenuSigaDoisClick(url, idItemMenu, idUsuario, idPapel, idRecurso) {
    RegistraVisita(idUsuario, idPapel, idRecurso);
    window.location = "../" + url;
}

//function masterMenuClick(url) {
//    window.location = url
//}

function setaBreadCrumb(_breadCrumb) {
    document.getElementById("divBreadCrumb").innerText = _breadCrumb.d;
}

function carregaBreadCrumb(idRecurso) {
    $.ajax({
        type: "POST",
        url: "WebServices/Recurso.asmx/BuscaBreadCrumbPorRecurso",
        data: "{_idRecurso: '" + idRecurso + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: false,
        error: AjaxFailed,
        success: setaBreadCrumb
    });
}

function ObtemUrlETituloPaginaPeloId(id) {

    $.ajax({
        type: "POST",
        url: "WebServices/Recurso.asmx/ObtemUrlETituloPaginaPeloId",
        data: "{_idPagina: '" + id + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: false,
        error: AjaxFailed,
        success: X
    });
}

function limparClassesMenu() {
    var menu = document.getElementById('Menu1_menu');
    var as = menu.getElementsByTagName('a');
    for (i = 0; i < as.length; i++) {
        if (!(as[i].nextSibling)) {
            as[i].className = '';
        }
    }
}

function marcaMenu(id, callFromOutside) {
    var li = document.getElementById(id);
    var as;
    if (callFromOutside) {
        if (li.parentNode.parentNode.parentNode.parentNode) {
            if (li.parentNode.parentNode.parentNode.parentNode.tagName == 'LI') {
                as = li.parentNode.parentNode.parentNode.parentNode.getElementsByTagName('a');
                as(0).click();
            }
        }
        if (li.parentNode.parentNode) {
            if (li.parentNode.parentNode.tagName == 'LI') {
                as = li.parentNode.parentNode.getElementsByTagName('a');
                as(0).click();
            }
        }
    }
    as = li.getElementsByTagName('a');
    as(0).className = 'active';
}

function trataNavegacao(idUsuario, idPapel, idRecurso, IdItemMenu, operacao, recursoHiddenId) {
    ObtemUrlETituloPaginaPeloId(idRecurso);
    carregaBreadCrumb(idRecurso);

    //Volta para o topo da página
    window.scrollTo(0, 0);

    limparClassesMenu();
    if (document.getElementById(recursoHiddenId)) {
        document.getElementById(recursoHiddenId).value = idRecurso;
    }
    if (operacao) {
        if (operacao == 'externo') {
            marcaMenu("Menu1_" + IdItemMenu, true);
        }
        else {
            marcaMenu("Menu1_" + IdItemMenu);
        }
    }
    else {
        marcaMenu("Menu1_" + IdItemMenu);
    }

    //    if (document.getElementById('IdRecursoHidden')) {
    //        document.getElementById('IdRecursoHidden').value = idRecurso;
    //    }

    if (document.getElementById('UpdatePanel2')) {
        document.getElementById('UpdatePanel2').style.visibility = 'visible';
    }
    if (document.getElementById('navBread')) {
        document.getElementById('navBread').style.visibility = 'visible';
    }
}

function HandleMasterSIGAMenuClick(idUsuario, idPapel, idRecurso, IdItemMenu, operacao, recursoHiddenId) {

    RegistraVisitaInterna(idUsuario, idPapel, idRecurso);
    trataNavegacao(idUsuario, idPapel, idRecurso, IdItemMenu, operacao, recursoHiddenId);
}
