Categorias de productos ▾
B/. 95.00
Combo Wahl Professional – Taper 2000 + AC Trimmer
¡Tu primer paso hacia el éxito en la barbería profesional comienza aquí!
Ideal para principiantes y estudiantes
Motor electromagnético potente
Cuchillas de acero inoxidable de alta precisión
Incluye guías...
Aerógrafo Portátil Inalámbrico Negro (Alta Precisión)
Descubre la herramienta multifuncional perfecta para uñas, barbería, maquillaje, pastelería, pintura artística, manualidades y más. Este aerógrafo inalámbrico recargable combina potencia, precisión y portabilidad en un solo disposit...
B/. 19.99
Aerógrafo Portátil Inalámbrico Rosado (Alta Precisión)
Descubre la herramienta multifuncional perfecta para uñas, barbería, maquillaje, pastelería, pintura artística, manualidades y más. Este aerógrafo inalámbrico recargable combina potencia, precisión y portabilidad en un solo disposit...
B/. 23.99
3 UNIDADES – KISS EXPRESS SEMI PERMANENTE – NEGRO
Color intenso, cobertura perfecta y sin dañar tu cabello. Ideal para looks temporales o retoques rápidos
Alta pigmentación para un negro vibrante
Excelente cobertura de canas
No contiene amoníaco ni pe...
B/. 9.99
TINTE SEMI PERMANENTE KISS EXPRESS – NEGRO (1 unidad)
Color intenso, cobertura perfecta y sin dañar tu cabello. Ideal para looks temporales o retoques rápidos
Alta pigmentación para un negro vibrante
Excelente cobertura de canas
No contiene amoníaco ni pe...
B/. 10.00
Kit de Pestañas – Volumen Ruso NG + Accesorios
¿Estás comenzando en el mundo de las extensiones o buscas reponer tus herramientas? ¡Este kit económico y completo es para ti!
Incluye:
3 cajita de pestañas NG (12, 10 y 14 pelos – Volumen Ruso)
1 Shampoo e...
B/. 4.00
Ampolla Salerm 21 Boost X5 – Reconstrucción Intensiva
Potente tratamiento concentrado que repara, hidrata y reconstruye profundamente el cabello dañado desde la primera aplicación. Su fórmula exclusiva potencia los efectos del clásico Salerm 21, actuando como un boost de nutrición extrema...
B/. 19.95
Salerm 21 Leave-In – Hidratación y Protección Profesional
Más que un acondicionador, Salerm 21 Silk Protein es una mascarilla hidratante sin enjuague que revive, repara y protege el cabello desde la primera aplicación. Su fórmula enriquecida con proteínas de seda y provitamina B5 penetra hasta...
B/. 32.99
Mini Soplador Potente Turbina
Mini Soplador Potente X6Pro – Turbina de Alta Velocidad
El nuevo ventilador turbo tipo bolsillo que arrasa con todo . Compacto, pero con una fuerza eólica nivel tifón, ideal para limpieza profesional, uso exterior, e...
B/. 45.00
Vaporizador Facial de Ozono Portátil
Lleva la experiencia de spa a donde quieras con este Vaporizador Facial de Ozono Portátil, ideal para tratamientos faciales, limpieza profunda de la piel y cuidado profesional desde casa o en salón.
Genera vapor caliente con ozono, ...
B/. 25.95
Electroporador Facial Portátil Multifunción RF & EMS
Disfruta de tratamientos faciales avanzados desde casa con este Electroporador Portátil, ideal para rejuvenecimiento, tonificación y nutrición profunda de la piel. Utiliza tecnología RF (radiofrecuencia), EMS (estimulación muscular el...
B/. 8.99
Bálsamo labial hidratante, antisecante
Bálsamo labial hidratante de colores, lápiz labial hidratante, hidratante, diluyente de líneas labiales, bálsamo labial antisecante
Tipo: Bálsamo labial
Público aplicable: general
Tipo de piel: normal
Contenido neto: 6g
Fecha de prod...
B/. 9.99
Wireless Auto Curler | Rizador Automático Inalámbrico
Perfecto para lograr ondas sueltas o rizos definidos en minutos, sin complicaciones.
Características:
Tecnología anti-enredos
Batería recargable de larga duración
Control de tiempo y temperatura ajustable
...
function showCategories() {
$(".categories-inner").fadeIn(500);
$("body").css("overflow-y","hidden");
}
function hideCategories() {
$(".categories-inner").fadeOut(500);
$("body").css("overflow-y","scroll");
}
function prepareDialog() {
if ($("#ppDialog").length == 0) {
$("body").append("
");
$("body").append("
");
if ($("#ppDialog").length > 0) return true; else return false;
} else {
hideMessage();
return true;
}
}
function hideMessage() {
$(".ui-dialog .ppInfoMessage").hide();
}
function getTimestamp(dt) {
var d = new Date();
if (dt) d = new Date(dt);
var ts = d.getTime()/1000;
return ts;
}
function numberWithSpaces(x) {
x = x * 1;
return x.toLocaleString('ru-RU', { maximumFractionDigits:0 });
}
function numberFormat(k) {
if (!k) k = 0;
k = k * 1;
return numberWithSpaces(k);
}
jQuery.unserialize = function(str){
var items = str.split('&');
var ret = "{";
var arrays = [];
var index = "";
for (var i = 0; i < items.length; i++) {
var parts = items[i].split(/=/);
//console.log(parts[0], parts[0].indexOf("%5B"), parts[0].indexOf("["));
if (parts[0].indexOf("%5B") > -1 || parts[0].indexOf("[") > -1){
//Array serializado
index = (parts[0].indexOf("%5B") > -1) ? parts[0].replace("%5B","").replace("%5D","") : parts[0].replace("[","").replace("]","");
//console.log("array detectado:", index);
//console.log(arrays[index] === undefined);
if (arrays[index] === undefined){
arrays[index] = [];
}
arrays[index].push( decodeURIComponent(parts[1].replace(/\+/g," ")));
//console.log("arrays:", arrays);
} else {
//console.log("common item (not array)");
if (parts.length > 1){
ret += "\""+parts[0] + "\": \"" + decodeURIComponent(parts[1].replace(/\+/g," ")).replace(/\n/g,"\n").replace(/\r/g,"\r") + "\", ";
}
}
};
ret = (ret != "{") ? ret.substr(0,ret.length-2) + "}" : ret + "}";
//console.log(ret, arrays);
var ret2 = JSON.parse(ret);
//proceso los arrays
for (arr in arrays){
ret2[arr] = arrays[arr];
}
return ret2;
}
jQuery.fn.unserialize = function(parm){
//If not string, JSON is assumed.
var items = (typeof parm == "string") ? parm.split('&') : parm;
if (typeof items !== "object"){
throw new Error("unserialize: string or JSON object expected.");
}
//Check for the need of building an array from some item.
//May return a false positive, but it's still better than looping twice.
//TODO: confirm if it's ok to simplify this method by always calling
//$.unserialize(parm) without any extra checking.
var need_to_build = ((typeof parm == "string") && decodeURIComponent(parm).indexOf("[]=") > -1);
items = (need_to_build) ? $.unserialize(parm) : items;
for (var i in items){
var parts = (items instanceof Array) ? items[i].split(/=/) : [i, (items[i] instanceof Array) ? items[i] : "" + items[i]];
parts[0] = decodeURIComponent(parts[0]);
if (parts[0].indexOf("[]") == -1 && parts[1] instanceof Array){
parts[0] += "[]";
}
obj = this.find('[name=\''+ parts[0] +'\']');
if (obj.length == 0){
try{
obj = this.parent().find('[name=\''+ parts[0] +'\']');
} catch(e){}
}
if (typeof obj.attr("type") == "string" && ( obj.attr("type").toLowerCase() == "radio" || obj.attr("type").toLowerCase() == "checkbox")){
obj.each(function(index, coso) {
coso = $(coso);
//if the value is an array, i gotta search the item with that value.
if (parts[1] instanceof Array){
for (var i2 in parts[1]){
var val = ""+parts[1][i2];
if (coso.attr("value") == decodeURIComponent(val.replace(/\+/g," "))){
coso.prop("checked",true);
} else {
if ($.inArray(coso.val(),parts[1]) < 0){
coso.prop("checked",false);
}
}
}
} else {
val = "" + parts[1];
if (coso.attr("value") == decodeURIComponent(val.replace(/\+/g," "))){
coso.prop("checked",true);
} else {
coso.prop("checked",false);
}
}
});
} else if (obj.length > 0 && obj[0].tagName == "SELECT" && parts[1] instanceof Array && obj.prop("multiple")){
//Here, i have an array for a multi-select.
obj.val(parts[1]);
} else {
//When the value is an array, we join without delimiter
var val = (parts[1] instanceof Array) ? parts[1].join("") : parts[1];
//when the value is an object, we set the value to ""
val = (typeof val == "object") ? "" : val;
obj.val(decodeURIComponent(val.replace(/\+/g," ")));
}
};
return this;
}
function localQuery(url, data, method, callback) {
if (!method) {
if (!data) method = "GET"; else method = "POST";
// if (data && typeof data === 'object') data = JSON.stringify(data);
}
var options = {
type: method,
url: url,
beforeSend: function (xhr) {
},
complete: function(xhr, status) {
if (callback) {
if (typeof xhr.responseJSON === 'object') {
if (xhr.responseJSON.client_message) {
}
}
callback(xhr.responseJSON);
}
},
dataType: "json"
}
if (data) {
options.data = data;
}
$.ajax(options);
}
function prepareDialog() {
if ($("#ppDialog").length == 0) {
$("body").append("
");
$("body").append("
");
if ($("#ppDialog").length > 0) return true; else return false;
} else {
hideMessage();
return true;
}
}
function hideMessage() {
$(".ui-dialog .ppInfoMessage").hide();
}