Contact Us
Tell us about your project needs (location, duration, scope of work) and the Jooba team will contact you with a suitable proposal for implementation or supply. *Marked fields are required.
Full Name *
Company / Organization
Email *
Phone Number *
For quick contact via phone/WhatsApp if needed.
Project Location *
Expected Duration *
Select estimated duration
Less than a month
1 – 3 months
3 – 6 months
Longer than 6 months
Required Services (you can select more than one service):
Roads and Paving
Bridges and Crossings
Airports/Ports
Asphalt Mix Supply
MCO Tack Coat Material
Urban Development/Parking
Work Scope Description *
0 /1000 characters
// Reveal on scroll
(function(){
const els=document.querySelectorAll(‘#jooba-contact .reveal’);
const io=new IntersectionObserver((entries)=>{
entries.forEach(e=>{
if(e.isIntersecting){ e.target.classList.add(‘visible’); io.unobserve(e.target); }
});
},{threshold:.12});
els.forEach(el=>io.observe(el));
})();
// Helpers
const q = sel => document.querySelector(sel);
const qa = sel => Array.from(document.querySelectorAll(sel));
// Live char count for scope
(function(){
const ta=q(‘#scope’), cnt=q(‘#scopeCount’); if(!ta||!cnt) return;
const max=1000;
const update = ()=>{ const v=ta.value.length; cnt.textContent=v>max?max:v; if(v>max) ta.value=ta.value.slice(0,max); };
ta.addEventListener(‘input’, update); update();
})();
// Basic validation
function validEmail(v){ return /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(v); }
function validPhone(v){ return v.trim().length >= 6; }
function collectData(){
const services = qa(‘#jooba-contact input[name=”services”]:checked’).map(i=>i.value);
return {
name: q(‘#name’).value.trim(),
company: q(‘#company’).value.trim(),
email: q(‘#email’).value.trim(),
phone: q(‘#phone’).value.trim(),
location: q(‘#location’).value.trim(),
timeline: q(‘#timeline’).value,
scope: q(‘#scope’).value.trim(),
services
};
}
function showAlert(msg, ok=false){
const el=q(‘#formAlert’); if(!el) return;
el.innerHTML = msg;
el.style.borderColor = ok ? ‘#c7ecd0’ : ‘#e9ecef’;
el.style.background = ok ? ‘#f3fff6’ : ‘#fafafa’;
el.classList.add(‘show’);
el.scrollIntoView({behavior:’smooth’, block:’nearest’});
}
// Submit (no backend) — you can replace with AJAX/CF7 later
q(‘#contactForm’)?.addEventListener(‘submit’, function(e){
e.preventDefault();
const d = collectData();
if(!d.name || !d.email || !d.phone || !d.location || !d.timeline || !d.scope){
return showAlert(‘يرجى ملء جميع الحقول المطلوبة (*) قبل الإرسال.’);
}
if(!validEmail(d.email)) return showAlert(‘يرجى إدخال بريد إلكتروني صحيح.’);
if(!validPhone(d.phone)) return showAlert(‘يرجى إدخال رقم هاتف صحيح.’);
// Simulate success (front-end only)
showAlert(‘تم استلام بياناتك بنجاح. سيتواصل فريقنا معك قريبًا.’, true);
this.reset();
q(‘#scopeCount’).textContent=’0′;
});
// Mailto fallback
q(‘#mailtoBtn’)?.addEventListener(‘click’, ()=>{
const d = collectData();
if(!d.name || !d.email || !d.phone || !d.location || !d.timeline || !d.scope){
return showAlert(‘للتجهيز للإرسال عبر البريد: أكمل الحقول المطلوبة (*) أولاً.’);
}
const subject = encodeURIComponent(‘طلب تواصل — Jooba’);
const body = encodeURIComponent(
[
‘الاسم: ‘ + d.name,
‘الجهة: ‘ + (d.company||’-‘),
‘البريد: ‘ + d.email,
‘الهاتف: ‘ + d.phone,
‘الموقع: ‘ + d.location,
‘المدة المتوقعة: ‘ + d.timeline,
‘الخدمات المطلوبة: ‘ + (d.services.join(‘, ‘) || ‘-‘),
‘وصف النطاق:’,
d.scope
].join(‘\\n’)
);
// ضع بريد شركتك هنا:
const to = ‘info@jooba.ly’;
location.href = `mailto:${to}?subject=${subject}&body=${body}`;
});