/* ANWAAR RETURN REQUEST — native store form, all devices. */ (function(){'use strict';if(!/page-653883572(?:\/|$)/.test(location.pathname))return;function mount(){if(document.getElementById('anwaar-return-request'))return;const content=document.querySelector('.content-entry');if(!content)return;const host=document.createElement('section');host.id='anwaar-return-request';host.setAttribute('aria-label','نموذج طلب استرجاع أو استبدال');host.style.cssText='max-width:1024px;margin:24px auto 12px;border:1px solid #e1e7ec;border-radius:12px;background:#f8f9fb;scroll-margin-top:100px';const heading=document.createElement('h2');heading.textContent='↶ نموذج طلب استرجاع';heading.style.cssText='padding:14px 18px;margin:0;background:#183044;color:white;border-radius:12px 12px 0 0;font-size:17px';host.appendChild(heading);const app=document.createElement('div');host.appendChild(app);content.appendChild(host);const root=app.attachShadow({mode:'open'});root.innerHTML="
↶
شركة أنوار الثريا للتجارة
خدمة الاسترجاع والاستبدال

نرتّب طلبك، خطوة بخطوة

أكمل البيانات التالية وسيتابع فريقنا طلبك بعد الإرسال.

بيانات الطلب والعميل

استخدم رقم الطلب ورقم الجوال المسجّل عند الشراء.

تقديم الطلب لا يعني اعتماده نهائيًا؛ تتم مراجعته حسب سياسة المتجر ونتيجة الفحص.

بياناتك مخصصة لمعالجة طلبك لدى شركة أنوار الثريا · Lamm

✓

شكرًا لك، وصلنا طلبك

نسعد بخدمتك في شركة أنوار الثريا.
تم استلام طلب الاسترجاع أو الاستبدال بنجاح.

رقم الطلب

سيراجع فريقنا بياناتك ويتواصل معك على رقم الجوال المسجّل لمتابعة الإجراءات.

العودة إلى المتجر
"; content.querySelectorAll('a').forEach(a=>{if((a.getAttribute('href')||'').includes('/macros/s/AKfycbwuONE2YFP1pb7E1Lg4xy2m3PkCX-eiUUzkBPA-_FoiJtqUv-vW8S3W9YAnnq7hRWE0/exec?view=return-request')){a.href='#anwaar-return-request';a.removeAttribute('target');}});const portalDocument={body:root.querySelector('.portal-body'),getElementById:id=>root.getElementById(id),querySelector:selector=>root.querySelector(selector),querySelectorAll:selector=>root.querySelectorAll(selector),createElement:tag=>window.document.createElement(tag)};content.querySelectorAll('p').forEach(p=>{if(/forms\.gle\//.test(p.textContent)&&!p.closest('#anwaar-return-request'))p.innerHTML='تقديم طلب استرجاع أو استبدال ←';});(function(document,rpcEndpoint){ const returnBridge="";function returnBridgePost(){} const form=document.getElementById('request'),error=document.getElementById('error'),names=['بيانات الطلب','تفاصيل الطلب','المرفقات','بيانات البنك','المراجعة'];let step=0,busy=false,token='',sessionKey='',media=[]; const digits=v=>String(v||'').replace(/[٠-٩]/g,c=>'٠١٢٣٤٥٦٧٨٩'.indexOf(c)).replace(/[۰-۹]/g,c=>'۰۱۲۳۴۵۶۷۸۹'.indexOf(c)),escapeHTML=v=>String(v??'').replace(/[&<>"']/g,c=>({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c])); async function rpc(name,input){ const id=Array.from(crypto.getRandomValues(new Uint8Array(32)),v=>v.toString(16).padStart(2,'0')).join(''),body=JSON.stringify({action:name,input:input||{},receipt:id}); const callback='lammReceipt_'+id,started=Date.now(); fetch(rpcEndpoint,{method:'POST',mode:'no-cors',headers:{'Content-Type':'text/plain;charset=UTF-8'},body,credentials:'omit',redirect:'follow'}).catch(()=>{}); while(Date.now()-started<150000){await new Promise(r=>setTimeout(r,2000)); const data=await new Promise(resolve=>{const script=window.document.createElement('script');let finished=false;const done=v=>{if(finished)return;finished=true;clearTimeout(timer);script.remove();delete window[callback];resolve(v);};window[callback]=done;script.onerror=()=>done(null);const timer=setTimeout(()=>done(null),15000);script.src=rpcEndpoint+'?view=return-receipt&receipt='+id+'&callback='+callback+'&t='+Date.now();window.document.head.appendChild(script);}); if(!data||data.pending)continue;if(!data.ok)throw Error(data.error||'تعذر إتمام الطلب.');return data.result; }throw Error('لم يصل تأكيد الخدمة بعد. احتفظ بالصفحة مفتوحة وأعد المحاولة.'); } function values(){const v={};for(const field of form.elements)if(field.name&&(field.type!=="checkbox"||field.checked))v[field.name]=field.value;v.order=digits(v.order).replace(/^#|\s/g,'');v.phone=digits(v.phone).replace(/[\s+-]/g,'');v.accountNumber=digits(v.accountNumber).replace(/\s/g,'');v.iban=digits(v.iban).replace(/\s/g,'').toUpperCase();return v;} function fail(message){error.textContent=message;error.hidden=false;error.scrollIntoView({block:'center',behavior:'smooth'});} function valid(){const s=form.querySelector('[data-step="'+step+'"]');for(const input of s.querySelectorAll('input[required],select[required],textarea[required]'))if(!input.checkValidity()){input.reportValidity();return false;}const v=values();if(step===0&&(!/^\d{4,30}$/.test(v.order)||!/^(?:966|0)?5\d{8}$/.test(v.phone))){fail('أدخل رقم طلب صحيحًا ورقم جوال سعودي يبدأ بـ 05 أو +9665.');return false;}if(step===2&&!minimumMedia()){fail('المرفقات إلزامية: أرفق صورتين للمنتج وفيديو واحدًا على الأقل للمتابعة.');return false;}if(step===3){if((!v.bankName||!v.accountNumber||!v.iban)){fail('اسم بنك العميل ورقم الحساب ورقم الآيبان جميعها إلزامية.');return false;}if(v.accountNumber&&!/^\d{4,40}$/.test(v.accountNumber)){fail('رقم الحساب غير صحيح.');return false;}if(v.iban&&!/^SA\d{22}$/.test(v.iban)){fail('الآيبان السعودي يتكون من SA و22 رقمًا.');return false;}}return true;} function render(){requestAnimationFrame(()=>{notifyHeight();if(returnBridge)window.top.postMessage({type:"ANWAAR_RETURN_STEP",bridge:returnBridge,step,bridge:document.body.dataset.returnBridge||"",height:Math.ceil(document.querySelector(".shell").getBoundingClientRect().height)},"*");else host.scrollIntoView({block:"start",behavior:"auto"});});document.body.classList.toggle("entry",step===0);form.querySelectorAll('[data-step]').forEach(s=>s.hidden=Number(s.dataset.step)!==step);document.getElementById('progress').innerHTML=names.map((n,i)=>''+(i+1)+' · '+n+'').join('');document.getElementById('back').hidden=!step;document.getElementById('next').textContent=step===4?'إرسال الطلب':step===0?'استرجع الآن':'التالي ←';if(step===4){const v=values();document.getElementById('summary').innerHTML=[['رقم الطلب',v.order],['اسم العميل',v.customer],['رقم الجوال',v.phone],['نوع الخدمة',v.service],['عدد القطع',v.requested],['المرفقات',media.length+' مرفقات'],['البنك',v.bankName||'لم يُدخل'],['الحساب / الآيبان',v.iban?'•••• '+v.iban.slice(-4):v.accountNumber?'•••• '+v.accountNumber.slice(-4):'لم يُدخل'],['سبب الطلب',v.reason]].map(([k,v])=>'
'+escapeHTML(k)+'

'+escapeHTML(v)+'

').join('');}} function lock(state){busy=state;form.querySelectorAll('button,input,select,textarea').forEach(e=>e.disabled=state);} function minimumMedia(){return media.filter(m=>m.mimeType.startsWith("image/")).length>=2&&media.some(m=>m.mimeType.startsWith("video/"));} function fileList(){const images=media.filter(m=>m.mimeType.startsWith("image/")).length,videos=media.filter(m=>m.mimeType.startsWith("video/")).length;document.getElementById("media-minimum").textContent="الصور: "+images+" / 2 على الأقل · الفيديو: "+videos+" / 1 على الأقل";document.getElementById('files-list').innerHTML=media.map((m,i)=>'
'+(m.mimeType.startsWith('video/')?'':'معاينة صورة المنتج')+'
').join('');document.querySelectorAll('[data-remove]').forEach(b=>b.onclick=()=>{if(busy)return;URL.revokeObjectURL(media[b.dataset.remove].url);media.splice(Number(b.dataset.remove),1);fileList();uploadStatus();});} function read(blob){return new Promise((resolve,reject)=>{const r=new FileReader();r.onload=()=>resolve(String(r.result).split(',')[1]);r.onerror=()=>reject(Error('تعذر قراءة الملف.'));r.readAsDataURL(blob);});} async function prepare(file){if(['image/jpeg','image/png','image/webp'].includes(file.type)){if(file.size>25*1048576)throw Error('اختر صورة حتى 25 ميجابايت.');const url=URL.createObjectURL(file),img=new Image();try{await new Promise((r,j)=>{img.onload=r;img.onerror=()=>j(Error('تعذر قراءة الصورة.'));img.src=url;});const ratio=Math.min(1,1920/Math.max(img.naturalWidth,img.naturalHeight)),canvas=document.createElement('canvas');canvas.width=Math.max(1,Math.round(img.naturalWidth*ratio));canvas.height=Math.max(1,Math.round(img.naturalHeight*ratio));const c=canvas.getContext('2d');c.fillStyle='#fff';c.fillRect(0,0,canvas.width,canvas.height);c.drawImage(img,0,0,canvas.width,canvas.height);let data;for(const q of [.82,.68,.54,.4]){data=canvas.toDataURL('image/jpeg',q);if(data.length<1390000)break;}if(data.length>=1390000)throw Error('تعذر تجهيز الصورة. اختر صورة أصغر.');const blob=await(await fetch(data)).blob();return {blob,mimeType:'image/jpeg',name:file.name.replace(/\.[^.]+$/,'').slice(0,90)+'.jpg',url:URL.createObjectURL(blob)};}finally{URL.revokeObjectURL(url);}}const types={mp4:'video/mp4',mov:'video/quicktime',webm:'video/webm',mkv:'video/x-matroska',avi:'video/x-msvideo',m4v:'video/x-m4v'},mimeType=types[file.name.split('.').pop().toLowerCase()];if(!mimeType||!file.size||file.size>500*1048576)throw Error('اختر فيديو MP4 أو MOV أو WEBM أو MKV أو AVI حتى 500 ميجابايت.');return {blob:file,mimeType,name:file.name.slice(0,100),url:URL.createObjectURL(file)};} function allMediaReady(){return !!token&&sessionKey===values().order+'|'+values().phone&&media.length>0&&media.every(m=>m.upload&&m.upload.uploaded===m.blob.size);} function uploadStatus(){if(allMediaReady())document.getElementById('upload-status').innerHTML='

✓ اكتمل رفع '+media.length+' مرفقات. جاهزة لإرسال الطلب.

';} async function ensureUploads(){await session(values());for(let i=0;i10)return fail('الحد الأقصى 10 مرفقات.');lock(true);error.hidden=true;document.getElementById('next').textContent='جارٍ تجهيز المرفقات…';try{for(const file of selected){const m=await prepare(file);if(media.reduce((n,x)=>n+x.blob.size,0)+m.blob.size>1073741824){URL.revokeObjectURL(m.url);throw Error('إجمالي المرفقات يتجاوز 1 جيجابايت.');}media.push(m);}fileList();document.getElementById('next').textContent='جارٍ رفع المرفقات…';document.getElementById('upload-status').innerHTML='

نرفع المرفقات الآن حتى يكون إرسال طلبك أسرع في الخطوة الأخيرة.

';await ensureUploads();}catch(e){fileList();fail(e.message+' يمكنك الضغط على التالي لاستكمال الرفع.');}finally{lock(false);render();}} document.getElementById('files').onchange=e=>add(e.target.files);document.getElementById('drop').ondragover=e=>e.preventDefault();document.getElementById('drop').ondrop=e=>{e.preventDefault();void add(e.dataTransfer.files);}; async function session(v){const key=v.order+'|'+v.phone;if(token&&sessionKey===key)return;const s=await rpc('publicReturnBegin',{order:v.order,phone:v.phone,website:v.website});token=s.token;sessionKey=key;media.forEach(m=>{delete m.upload;});} async function upload(m,index){if(!m.upload)m.upload=await rpc('publicReturnMediaBegin',{token,name:m.name,mimeType:m.mimeType,size:m.blob.size});const state=m.upload;while(state.uploadedsetTimeout(r,1000*(retry+1)));}}if(result.uploaded<=offset&&state.stalled>=2)throw Error('توقف رفع الملف. اضغط إرسال مجددًا لاستكمال الرفع.');state.stalled=result.uploaded<=offset?(state.stalled||0)+1:0;state.uploaded=result.uploaded;document.getElementById('upload-status').innerHTML='

رفع المرفق '+(index+1)+' من '+media.length+' · '+Math.round(state.uploaded/m.blob.size*100)+'٪

';}} document.getElementById('back').onclick=()=>{if(busy)return;error.hidden=true;step=Math.max(0,step-1);render();if(step===0)returnBridgePost("ANWAAR_RETURN_BACK");}; function showWelcome(order){document.getElementById('welcome-order').textContent=order;document.getElementById('welcome').showModal();document.getElementById('welcome-close').onclick=()=>document.getElementById('welcome').close();} document.getElementById('next').onclick=async()=>{if(busy||!valid())return;error.hidden=true; if(step<4){if(step===0&&token&&sessionKey!==values().order+'|'+values().phone){token='';sessionKey='';media.forEach(m=>delete m.upload);document.getElementById('upload-status').innerHTML='';}if(step===2&&!allMediaReady()){lock(true);document.getElementById('next').textContent='جارٍ استكمال رفع المرفقات…';try{await ensureUploads();}catch(e){fail(e.message);return;}finally{lock(false);render();}}step++;render();return;} if(!minimumMedia()){step=2;render();fail('المرفقات إلزامية: أرفق صورتين للمنتج وفيديو واحدًا على الأقل.');return;} if(!allMediaReady()){step=2;render();fail('يلزم إكمال رفع المرفقات قبل إرسال الطلب. اضغط التالي لاستكمال الرفع.');return;} const v=values();lock(true);const button=document.getElementById('next');button.textContent='جارٍ تأكيد الطلب…';let waitTimer=setTimeout(()=>{document.getElementById('upload-status').innerHTML='

جارٍ انتظار تأكيد الحفظ. يرجى إبقاء الصفحة مفتوحة لتجنب تكرار الطلب.

';},5000); try{const result=await rpc('publicReturnSubmit',{...v,token,mediaTokens:media.map(m=>m.upload.mediaToken)});clearTimeout(waitTimer);media.forEach(m=>URL.revokeObjectURL(m.url));form.innerHTML='
✓

تم استلام طلبك بنجاح

رقم الطلب: '+escapeHTML(result.order)+'

شكرًا لاختيارك شركة أنوار الثريا. سيتواصل معك فريقنا لمتابعة طلبك.

العودة إلى المتجر
';document.getElementById('progress').hidden=true;showWelcome(result.order);window.scrollTo({top:0,behavior:'smooth'});}catch(e){clearTimeout(waitTimer);fail(e.message);lock(false);button.textContent='إعادة محاولة الإرسال';}}; function notifyHeight(){}form.onsubmit=e=>e.preventDefault();window.addEventListener('beforeunload',e=>{if(busy){e.preventDefault();e.returnValue='';}}); render(); const connection=document.createElement('p');connection.id='platform-connection';connection.style.cssText='font-size:12px;color:#526b79;padding:0 20px';connection.textContent='جارٍ التحقق من الاتصال بالمنصة…';document.body.appendChild(connection);rpc('publicReturnHealth',{}).then(()=>{connection.textContent='✓ متصل بمنصة استقبال الطلبات';}).catch(()=>{connection.textContent='تعذر التحقق من الاتصال. تأكد من الإنترنت وأعد تحميل الصفحة.';}); })(portalDocument,"https://script.google.com/macros/s/AKfycbwuONE2YFP1pb7E1Lg4xy2m3PkCX-eiUUzkBPA-_FoiJtqUv-vW8S3W9YAnnq7hRWE0/exec");}if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',mount,{once:true});else mount();})();