');f.innerHTML=e}();var r}())}))},selectHotspot:C,viewPart:function(e){window.open("/pos/catalog?part="+e,"_blank")},searchPart:function(e){window.open("/pos/catalog?search="+encodeURIComponent(e),"_blank")},addToCart:function(e){alert("Funcion disponible desde el catalogo. Busca la parte para agregarla al carrito.")}},"loading"===document.readyState?document.addEventListener("DOMContentLoaded",B):B()}else window.location.href="/pos/login";function B(){!function(){try{var e=JSON.parse(localStorage.getItem("pos_user")||"{}");if(E&&(E.textContent=e.name||"--"),L&&(L.textContent=e.role||"--"),b){var t=e.name||"--";b.textContent=t.split(" ").map((function(e){return e[0]||""})).join("").substring(0,2).toUpperCase()}}catch(e){}}(),k(e+"/",(function(e,t){if(!e&&t&&t.data){n.diagrams=t.data;var a={};t.data.forEach((function(e){var t=e.category_name||"Other";a[t]||(a[t]={name:t,name_es:e.category_name_es||t,diagrams:[]}),a[t].diagrams.push(e)})),n.categories=Object.values(a),w()}else h.style.display="flex"})),function(){c&&c.addEventListener("click",I);l&&l.addEventListener("click",(function(){D(1.25)}));d&&d.addEventListener("click",(function(){D(.8)}));u&&u.addEventListener("click",M);v&&v.addEventListener("click",A);_&&_.addEventListener("input",w);r&&(r.addEventListener("wheel",(function(e){e.preventDefault(),D(e.deltaY<0?1.1:.9)}),{passive:!1}),r.addEventListener("mousedown",H),r.addEventListener("mousemove",q),r.addEventListener("mouseup",O),r.addEventListener("mouseleave",O),r.addEventListener("touchstart",(function(e){1===e.touches.length&&H({clientX:e.touches[0].clientX,clientY:e.touches[0].clientY,preventDefault:function(){}})})),r.addEventListener("touchmove",(function(e){1===e.touches.length&&(e.preventDefault(),q({clientX:e.touches[0].clientX,clientY:e.touches[0].clientY}))}),{passive:!1}),r.addEventListener("touchend",O));document.addEventListener("keydown",(function(e){"viewer"===n.view&&("Escape"===e.key&&(n.selectedHotspot?A():I()),"+"!==e.key&&"="!==e.key||D(1.15),"-"===e.key&&D(.87),"0"===e.key&&M())}))}()}function k(e,t){y.style.display="flex",h.style.display="none",fetch(e,{headers:a}).then((function(e){return e.json()})).then((function(e){y.style.display="none",t(null,e)})).catch((function(e){y.style.display="none",t(e)}))}function w(){n.view="list",o.style.display="none",i.style.display="block";var e=(_&&_.value||"").toLowerCase(),t="";n.categories.forEach((function(a){var n=a.diagrams.filter((function(t){return!e||(-1!==(t.name_es||t.name||"").toLowerCase().indexOf(e)||-1!==(t.category_name_es||"").toLowerCase().indexOf(e)||-1!==(t.group_name_es||"").toLowerCase().indexOf(e))}));0!==n.length&&(t+='
",g.innerHTML=r}(t)}}function P(e){var t=n.currentDiagram;if(!t)return{name:"Parte "+e,desc:""};var a=(t.name||"").toLowerCase();return-1!==a.indexOf("brak")||-1!==a.indexOf("freno")?{1:{name:"Disco de freno",desc:"Disco ventilado de freno delantero. Se recomienda cambiar en pares."},2:{name:"Caliper de freno",desc:"Caliper con pistones, incluye purga. Verificar compatibilidad con tipo de pastilla."},3:{name:"Pastillas de freno",desc:"Juego de pastillas con indicador de desgaste. Material ceramico o semi-metalico."},4:{name:"Manguera de freno",desc:"Manguera flexible de alta presion. Revisar por grietas cada 40,000 km."},5:{name:"Cilindro maestro",desc:"Cilindro maestro con deposito de liquido de frenos. Incluye empaques."}}[e]||{name:"Parte "+e,desc:""}:-1!==a.indexOf("susp")?{1:{name:"Amortiguador",desc:"Amortiguador delantero de gas. Se recomienda cambiar en pares."},2:{name:"Resorte helicoidal",desc:"Resorte de suspension delantera. Verificar altura libre."},3:{name:"Brazo de control",desc:"Brazo inferior de control con bujes. Incluye herraje de montaje."},4:{name:"Rotula",desc:"Rotula inferior de suspension. Incluye guardapolvo y seguros."},5:{name:"Barra de acoplamiento",desc:"Barra de acoplamiento de direccion con terminales. Requiere alineacion."}}[e]||{name:"Parte "+e,desc:""}:(-1!==a.indexOf("engine")||-1!==a.indexOf("motor"))&&{1:{name:"Filtro de aire",desc:"Filtro de aire del motor. Cambiar cada 15,000-20,000 km."},2:{name:"Bujias",desc:"Juego de bujias. Verificar tipo (platino, iridio) segun especificacion del motor."},3:{name:"Banda serpentina",desc:"Banda de accesorios. Revisar tension y desgaste. Incluye alternador, A/C y direccion."},4:{name:"Junta de culata",desc:"Junta de cabeza de cilindros. Material MLS multicapa. Requiere torque especifico."},5:{name:"Filtro de aceite",desc:"Filtro de aceite del motor. Cambiar en cada servicio de aceite."}}[e]||{name:"Parte "+e,desc:""}}function A(){p.classList.remove("is-open"),n.selectedHotspot=null;var e=s.querySelector("svg");e&&e.querySelectorAll("[data-hotspot]").forEach((function(e){e.style.fill="transparent",e.style.stroke="none"})),f&&f.querySelectorAll(".part-item").forEach((function(e){e.classList.remove("is-active")}))}function D(e){n.scale=Math.max(.3,Math.min(5,n.scale*e)),S()}function M(){n.scale=1,n.panX=0,n.panY=0,S()}function S(){s&&(s.style.transform="translate("+n.panX+"px, "+n.panY+"px) scale("+n.scale+")")}function H(e){e.button&&0!==e.button||(n.isPanning=!0,n.lastPointer={x:e.clientX,y:e.clientY})}function q(e){if(n.isPanning&&n.lastPointer){var t=e.clientX-n.lastPointer.x,a=e.clientY-n.lastPointer.y;n.panX+=t,n.panY+=a,n.lastPointer={x:e.clientX,y:e.clientY},S()}}function O(){n.isPanning=!1,n.lastPointer=null}function Y(e){if(!e)return"";var t=document.createElement("div");return t.appendChild(document.createTextNode(e)),t.innerHTML}}();