// solicitar identificacion (H, T, S)
var userLogin = false;
function login(eval, path, basePath)
{
    if (!userLogin) {        
        _identificar(eval, path, basePath);
    } else {        
        window["eval"]('(' + eval + ")");
    }
}

function solicitarIdentificacion(event)
{
    event.preventDefault();
    _identificar(event.data.eval, event.data.path, event.data.basePath);
}

function _identificar(eval, path, basePath)
{
    var imagenLoading = '<p><img src="' + basePath;
    imagenLoading += 'images/loading_vf.gif" alt="Cargando..." /></p>';
    var contenedorId = 'ykPanelUtil';
    $('#' + contenedorId).dialog('close');
    $('#' + contenedorId).hide();
    var data = {};
    var formId = _traerFormId(contenedorId);
    if (formId == null) {
        data['form'] = 'noform';
        mostrarMensaje(imagenLoading, 'Cargando...');
    } else {
        mostrarMensaje(imagenLoading, 'Verificando...');
        var $inputs = $('#' + formId + ' :input');
        $inputs.each(function() {            
            data[$(this).attr('name')] = $(this).val();
        });
    }
    $.ajax({
        url: path,
        type: "POST",
        data: data,
        success: function(respuesta) {
            cerrarMensaje();
            if (trim(respuesta) == 'ok') {
                userLogin = true;
                window["eval"]('(' + eval + ")");
            } else {
                $('#' + contenedorId).dialog('option', 'title', 'LOGIN');
                $('#' + contenedorId).html(respuesta);
                var formId = _traerFormId(contenedorId);
                $('#' + contenedorId).show();
                $('#' + contenedorId).dialog('open');
                if (formId != null) {
                    $('#' + formId).bind("submit", {
                        eval:eval,
                        path:path,
                        basePath:basePath},
                    solicitarIdentificacion);
                }
            }
        }
    });
}

function _traerFormId(id)
{
    var formId = null;
    var $forms = $('#' + id + ' form:first');
    $forms.each(function () {
        formId = $(this).attr('id');
    });
    return formId;
}

function mostrarMensaje(mensaje, title)
{
    var titulo = '';
    if (title == undefined) {
        titulo = 'Mensaje';
    }
    $('#ykMessage').dialog('option', 'title', titulo);
    $('#ykMessage').html(mensaje);
    $('#ykMessage').show();
    $('#ykMessage').dialog('open');
}
function cerrarMensaje()
{
    $('#ykMessage').dialog('option', 'title', '');
    $('#ykMessage').html('');
    $('#ykMessage').dialog('close');
    $('#ykMessage').hide();
}
