﻿ /* 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);
    }
    
    switch(estado) {
        case EstadoLogin.Conectado:
            // Validado y conectado
            
            PageMethods.LIR_CargarInfoUsuarioLirConectado(CargarInfoUsuarioLirConectado_callback);
            //cargarUrlMoodle();
            
            //window.location = urlRetorno;
            
            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;
    }
}

var guidAConnecta = ''
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
        if(res.CodCentro != "" && res.Login.indexOf("professor.") == 0) {
            cargarUrlMoodle();
        }
        else {
            guidAConnecta = res.GUID
            PageMethods.desconectarUsuarioWebLir(callback_desconectarLir);   
        }
    }
    else if(res.CodCentro != "") {
        cargarUrlMoodle();
    }
    else {
        window.location = urlRetorno;
    }
}

var contador = 0;
function callback_desconectarLir(res){
    if (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 = 'http://www.cruillaconnecta.cat/?contenido=' +  guidAConnecta; // sends referrer in FF, not in IE
            }
            else {
                fakeLink.href = 'http://www.cruillaconnecta.cat/?contenido=' +  guidAConnecta;
                document.body.appendChild(fakeLink);
                fakeLink.click(); // click() method defined in IE only
            }
        }else{
            location.href = 'http://www.cruillaconnecta.cat/?contenido=' +  guidAConnecta; // sends referrer in FF, not in IE
        }*/
        PageMethods.lir_sso_get(guidAConnecta, 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.cruillaconnecta.cat/?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;
        }
    }
}

// ** 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;
    }
}

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) {}   
}

