//DEVELOP
const PATH_GENERAL = 'http://localhost:7070/Asistencia/';
const PATH_IP = 'http://172.16.2.102:7070/Asistencia/';
//PRODUCCION
const PATH_DOMAIN = '';
const CODIGO_PROYECTO_ASISTENCIA = '7';
const PATH_SERVICIO_REST = 'http://172.16.2.53:8080/security-rest/api/'//'http://app8.sacooliveros.edu.pe:8080/security-rest/api/';

/*Ajax genral*/
const ajaxRequestSendBody = obj => {
    let body = JSON.stringify(obj.body);
    return new Promise((resolve, reject) => {
        $.ajax({
            url: obj.url,
            type: obj.type,
            headers: obj.headers,
            data: {body: body},
            beforeSend: (xhr, settings) => {
            }, success: (response, textStatus, jqXHR) => {
                resolve(response)
            }, error: (jqXHR, textStatus, errorThrown) => {
                reject({
                    status: jqXHR.status,
                    throw: errorThrown || {},
                    jqXHR: jqXHR,
                    request: obj
                })
            }
        })
    })
}
/*Ajax General*/
/*Ajax genral*/
const ajaxRequestGeneral = obj => {
    let body = JSON.stringify(obj.body);
    return new Promise((resolve, reject) => {
        $.ajax({
            url: obj.url,
            type: obj.type,
            headers: obj.headers,
            data: {body: body},
            beforeSend: (xhr, settings) => {
            }, success: (response, textStatus, jqXHR) => {
                resolve(response)
            }, error: (jqXHR, textStatus, errorThrown) => {
                reject({
                    status: jqXHR.status,
                    throw: errorThrown || {},
                    jqXHR: jqXHR,
                    request: obj
                })
            }
        })
    })
}
let createSelectOptions = (obj, valueName, textName) => {
    let options = ''
    obj.forEach((data) => {
        options += `<option value="${data[valueName]}">${data[textName]}</option>`
    })
    return options
}

let customSwal = {
    alert(title, text, type) {
        let colors = {
            success: '#66BB6A',
            error: '#EF5350',
            warning: '#FF7043'
        }
        let btnColor = colors[type]
        return new Promise((resolve, reject) => {
            swal({
                title: title,
                text: text,
                confirmButtonColor: btnColor,
                type: type
            }, (isConfirm) => {
                resolve()
            })
        })
    }
}

/**
 * Get the closest matching element up the DOM tree.
 * @private
 * @param  {Element} elem     Starting element
 * @param  {String}  selector Selector to match against
 * @return {Boolean|Element}  Returns null if not match found
 */
let getClosest = (elem, selector) => {

    // Element.matches() polyfill
    if (!Element.prototype.matches) {
        Element.prototype.matches =
                Element.prototype.matchesSelector ||
                Element.prototype.mozMatchesSelector ||
                Element.prototype.msMatchesSelector ||
                Element.prototype.oMatchesSelector ||
                Element.prototype.webkitMatchesSelector ||
                function (s) {
                    var matches = (this.document || this.ownerDocument).querySelectorAll(s),
                            i = matches.length
                    while (--i >= 0 && matches.item(i) !== this) {
                    }
                    return i > -1
                }
    }
    // Get closest match
    for (; elem && elem !== document; elem = elem.parentNode) {
        if (elem.matches(selector))
            return elem
    }
    return null
}
let block = () => {
    $.blockUI({
        message: '<i class="icon-spinner4 spinner"></i>',
        timeout: 2000, //unblock after 2 seconds
        overlayCSS: {
            backgroundColor: '#1b2024',
            opacity: 0.8,
            cursor: 'wait'
        },
        css: {
            border: 0,
            color: '#fff',
            padding: 0,
            backgroundColor: 'transparent'
        }
    });
}
//let logOut = () =>{
//    document.querySelector('#logOut').addEventListener('click', (e) => {
//        window.location.href = 'http://172.16.2.53:8080/proyecto-estandar/vistas/logout'
//    })
//}
//logOut();

//let logOut = () => {
//    $('.logOut').click(function () {
//        console.log("redireccionando")
//        window.location.href = CONSTANTES.PATH_IP + 'vistas/logout';
//    })
//}

let logOut = () => {
    document.querySelector('#logOut').addEventListener('click', (e) => {
        window.location.href = '../vistas/logout';
    });
};