/**
 *
 *
 * Autoren: Jose Fontanil & Reto Glanzmann & Roland Bruehwiler & Glarotech GmbH
 *
 * CVS-Version / Datum: $Id: password_widget.js,v 98a13057b 2022/10/17 14:31:04 gitlabv1 $ $Dl: #dl_eu#$
 *
 * -----------------------------------------------------------------------
 * #lizenz#
 * -----------------------------------------------------------------------
 */

PepperShop        = PepperShop || {};
PepperShop.widget = PepperShop.widget || {};
/**
 * Funktion ändert den Type des Inputfeldes, wenn auf den Button mit dem Auge-Icon geklickt wird.
 * @param showing
 * @param input
 */
PepperShop.widget.show_password = function (showing, input) {
    if (showing) {
        input.prop("type", "text");
    }
    else {
        input.prop("type", "password");
    }
};

const time_out_delay = 50;
PepperShop.widget.register_events = function (element) {
    var timer               = null;
    var show_password_plain = $(element);

    show_password_plain.off().on('click', (event) => {
        var input = $(event.target).parents('.input-group-password').find('input').first();
        PepperShop.widget.show_password(false, input);
    });

    show_password_plain.on('mousedown touchstart', (event) => {
        var input = $(event.target).parents('.input-group-password').find('input').first();
        event.preventDefault();
        clearTimeout(timer);
        timer = setTimeout(function () {
            PepperShop.widget.show_password(true, input);
        }, time_out_delay);
    });

    show_password_plain.on('mouseup touchend', function (event) {
        var input = $(event.target).parents('.input-group-password').find('input').first();
        event.preventDefault();
        clearTimeout(timer);
        timer = setTimeout(function () {
            PepperShop.widget.show_password(false, input);
        }, time_out_delay);
    });
}
