﻿ /* Validación de un usuario en Lir */
function validarUsuarioWebLir() {
    var login = $jq('#txtIdentificador').val();
    var password = $jq('#txtContrase').val();
    
    if(login != "" && password != "") {
        PageMethods.validarUsuarioWebLir(login, password, idColegio, validarUsuarioWebLirCallback, validarUsuarioWebLirErrorCallback);
    }
    else {
        alert(login_usuario_no_valido);
    }
}

//function validarUsuarioWebLir_x_Activacion() {
//    var login = $jq('#dv_login').html();
//    var password = $jq('#dv_pwd').html();
//    PageMethods.validarUsuarioWebLir(login, password, idColegio, validarUsuarioWebLirErrorCallbackActivacion, validarUsuarioWebLirErrorCallback);
//}


function validarUsuarioWebLir_x_Activacion() {
     var login = $jq('#txtUsuario').val();
     var password = $jq('#txtClave').val();
     PageMethods.validarUsuarioWebLir(login, password, idColegio, validarUsuarioWebLirCallback, validarUsuarioWebLirErrorCallback);
} 

function validarUsuarioWebLir_x_Existente() {
    var login = $jq('#txtUsuario').val();
    var password = $jq('#txtClave').val();
    var fecha = $jq('#registro_fecha_activacion').val();
    if (fecha != '')
        PageMethods.validarUsuarioWebLir(login, password, idColegio, validarUsuarioWebLirCallback, validarUsuarioWebLirErrorCallback);
}

/* 
    Callback de la validación del usuario Lir
    
    Parámetros 
        estado:EstadoLogin - enumeración registrada por Ajax.Net 
*/
function validarUsuarioWebLirCallback(estado) {
    var urlRetorno = urlRaiz +"lir/MisLibros.aspx";
    if(window.location.search.length > 0 && window.location.search.indexOf("=") > 0) {
        urlRetorno = window.location.search.substring(window.location.search.indexOf("=") + 1);
        urlRetorno = decodeURIComponent(urlRetorno);
    }
    //console.debug("validarUsuarioWebLirCallback", estado);
    switch(estado) {
        case EstadoLogin.Conectado:
            // Validado y conectado
             PageMethods.LIR_CargarInfoUsuarioLirConectado(CargarInfoUsuarioLirConectado_callback);
             
           /* $jq.ajax(
            {
                type: "POST",
                url: urlRaiz +'AjaxUsuario.aspx/CargarInfoUsuarioLirConectado',
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (res) {
                    //console.debug("AjaxUsuario.aspx/CargarInfoUsuarioLirConectado", res);
                    if(res.IdRol == 3) {
                        // Profesor, hay que mandarlo a SMConectados
                        mostrarAvisoProfesores();
                    }
                    else if(res.CodCentro != "") {
                        cargarUrlMoodle();
                    }
                    else {
                        window.location = urlRetorno;
                    }
                },
                error: function(err) {
                    alert(err);
                }
            });*/
            
            //
            
            break;
        case EstadoLogin.NoValido:
            // No valido
            estado_novalido();
            break;
        case EstadoLogin.PwdErronea:
            // pwd erronea
            estado_novalido();
            break;
        case EstadoLogin.NoConectado:
            // Valido pero no conectado
            alert(login_conexion_ocupada);
            break;
        case EstadoLogin.FaltaConfirmarEmail:
            // Valido pero pendiente de confirmar el Email
            alert(login_usuario_pendiente_confirmacion);
            break;
    }
}

function CargarInfoUsuarioLirConectado_callback(res)
{
    var urlRetorno = urlRaiz +"lir/MisLibros.aspx";
    if(window.location.search.length > 0 && window.location.search.indexOf("=") > 0) {
        urlRetorno = window.location.search.substring(window.location.search.indexOf("=") + 1);
        urlRetorno = decodeURIComponent(urlRetorno);
    }
    //console.debug("AjaxUsuario.aspx/CargarInfoUsuarioLirConectado", res);
    if(res.IdRol == 3) {
        // Profesor, hay que mandarlo a SMConectados
        mostrarAvisoProfesores(res.GUID);
    }
    else if(res.CodCentro != "") {
        cargarUrlMoodle();
    }
    else {
        window.location = urlRetorno;
    }
}

// ** ACCESO A MOODLE 
function cargarUrlMoodle() {
    PageMethods.CargarUrlAccesoMoodle(abrirUrlMoodle, errorAbrirUrlMoodle);
}

function abrirUrlMoodle(res) {
    if(res != null && res != "") {
        //alert("Redir -> "+ res);
        window.location = res;
    }
    else {
        alert("No se ha podido crear la conexión con Moodle");
        
        window.location = urlHome;
    }
}

var guidConectados='';
function mostrarAvisoProfesores(guid) {
    guidConectados=guid;
    var popup = $jq('#popupAvisoRedirConectados').dialog({
         autoOpen: false,
         width: 380, 
         height: 320,
         modal:true,
         close: function(event, ui) {                 
            /*var newDiv = document.createElement("div");
            newDiv.innerHTML = '<form id="f_redir" style="display:none;" action="http://www.smconectados.com" method="post"><input type="text" name="txtredir_login" id="txtredir_login"/>' + 
                                    '<input type="text" name="txtredir_pwd" id="txtredir_pwd"/></form>';
            my_div = document.getElementById("spinner");
            document.body.insertBefore(newDiv, my_div);
            $jq('#txtredir_login').val(login);
            $jq('#txtredir_pwd').val(pwd);
            document.getElementById('f_redir').submit();*/
            PageMethods.desconectarUsuarioWebLir(callback_desconectarLir);           
            
         },
         draggable: false,
         resizable: false
     });
     popup.dialog('open');
}

var contador = 0;
function callback_desconectarLir(res){
    if (res!='') {
        PageMethods.lir_sso_get(guidConectados, callback_lir_soo_get)
    }              
    if (res=='' && 3 > contador){
      contador = contador + 1;
      PageMethods.desconectarUsuarioWebLir(callback_desconectarLir);
    }
}

function callback_lir_soo_get(res){
    if (res!='0'){
        var surlToken='http://www.smconectados.com/?token=' + res;
        var agentVar=navigator.userAgent;
        if (agentVar.indexOf('MSIE')>=0){
            //comprobacion acerca IE
            var fakeLink = document.createElement ("a");
            if (typeof(fakeLink.click) == 'undefined') {
                location.href = surlToken;
            }
            else {
                fakeLink.href = surlToken;
                document.body.appendChild(fakeLink);
                fakeLink.click(); // click() method defined in IE only
            }
        }
        else{
            location.href = surlToken;
        }
    }
}

function errorAbrirUrlMoodle(error) {
    try {
        console.debug("errorAbrirUrlMoodle", error);
    }
    catch(err) {}
    
    alert("Hubo un error al crear la conexión con Moodle");
    window.location = urlHome;
}
// **

function estado_novalido(){
            alert(login_usuario_no_valido);
            $jq('#txtIdentificador').val(logion_usuario);
            $jq('#txtContrase').val(login_password);
            $jq('#txtContrase').hide();
            $jq('#txt1pwd').val(login_password);
            $jq('#txt1pwd').show();
}

/*diplicamos la funcion de callback de validacion usuario x no interesarnos la url retorno*/
function validarUsuarioWebLirErrorCallbackActivacion(estado) {
    if (EstadoLogin.Conectado){
        document.location.href='lir/mislibros.aspx';
    }else{
        document.location.href='default.aspx';
    }
}

function validarUsuarioWebLirErrorCallback(error) {
    alert(error._message);
}

/* Desconexion del usuario Lir */
function desconectarUsuarioWebLir() {
    PageMethods.desconectarUsuarioWebLir(desconectarUsuarioWebLirCallback, desconectarUsuarioWebLirFailCallback);
}

function desconectarUsuarioWebLirCallback(resp) {
    if(resp != '') {
        window.location = resp;
    }
    else {
        window.location = urlHome;
    }

}

function desconectarUsuarioWebLirFailCallback(error) {

    if (error != null) {
        if(error._statusCode == 500 && error._exceptionType == "System.InvalidOperationException") {
            alert(login_error_desconectar);
            window.location = urlHome;
        }
    }
}

/* Ping */
function ping() {
    try {
        PageMethods.ping();
    }
    catch(e) {}   
}


function irAConectadosProfesor(){
    PageMethods.desconectarUsuarioWebLir(callback_desconectarLir);    
}
