var url = "/Transfer";
var selectedCarIdAdndCountList = []


var reserveItemId;
var clickedReserveID;

var carTypeViewer;
var insuranceViewer;


var selectedOriginProvince;
var selectedOriginCity;
var originProvinceSelector = document.getElementById("origin-province-selector");
var originCitySelector = document.getElementById("origin-city-selector");
var originAddressDetail
var originAddressViewer = document.querySelector('.origin-province-viewer');


var destinationProvinceViewer;
var destinationCityViewer;
var destinationAddressDetailViewer;
var selectedDestinationCity;
var destinationAddressDetail
var selectedDestinationCityIndex
var destinationAddressViewer = document.querySelector('.destination-province-viewer')
var trackID;

var dateSelector;
var dateViewer = document.getElementById('date-viewer');

var addedCarsList = document.getElementById("added-cars-list");
var carTypeViewer;

var senderNameViewer = document.querySelector('.sender-name-viewer');
var senderPhoneViewer = document.querySelector('.sender-phone-viewer');
var recipientNameViewer = document.querySelector('.recipient-name-viewer');;
var recipientPhoneViewer = document.querySelector('.recipient-phone-viewer');

var serviceTypeViewer = document.getElementById('service-type-viewer');

var provinceSelector;

var destinationProvinceSelector = document.getElementById("destination-province-selector");
var destinationCitySelector = document.getElementById("destination-city-selector");



var citySelector;
var cityLists;


var city = [
    ['کشکسرای', 'سهند', 'سیس', 'دوزدوزان', 'تیمورلو', 'صوفیان', 'سردرود', 'هادیشهر', 'هشترود', 'زرنق', 'ترکمانچای', 'ورزقان', 'تسوج', 'زنوز', 'ایلخچی', 'شرفخانه', 'مهربان', 'مبارک شهر', 'تیکمه داش', 'باسمنج', 'سیه رود', 'میانه', 'خمارلو', 'خواجه', 'بناب مرند', 'قره آغاج', 'وایقان', 'مراغه', 'ممقان', 'خامنه', 'خسروشاه', 'لیلان', 'نظرکهریزی', 'اهر', 'بخشایش', 'آقکند', 'جوان قلعه', 'کلیبر', 'مرند', 'اسکو', 'شندآباد', 'شربیان', 'گوگان', 'بستان آباد', 'تبریز', 'جلفا', 'اچاچی', 'هریس', 'یامچی', 'خاروانا', 'کوزه کنان', 'خداجو(خراجو)', 'آذرشهر', 'شبستر', 'سراب', 'ملکان', 'بناب', 'هوراند', 'کلوانق', 'ترک', 'عجب شیر', 'آبش احمد'],
    ['تازه شهر', 'نالوس', 'ایواوغلی', 'شاهین دژ', 'گردکشانه', 'باروق', 'سیلوانه', 'بازرگان', 'نازک علیا', 'ربط', 'تکاب', 'دیزج دیز', 'سیمینه', 'نوشین', 'میاندوآب', 'مرگنلر', 'سلماس', 'آواجیق', 'قطور', 'محمودآباد', 'خوی', 'نقده', 'سرو', 'خلیفان', 'پلدشت', 'میرآباد', 'اشنویه', 'زرآباد', 'بوکان', 'پیرانشهر', 'چهاربرج', 'قوشچی', 'شوط', 'ماکو', 'سیه چشمه', 'سردشت', 'کشاورز', 'فیرورق', 'محمدیار', 'ارومیه', 'مهاباد', 'قره ضیاءالدین'],
    ['پارس آباد', 'فخراباد', 'کلور', 'نیر', 'اردبیل', 'اسلام اباد', 'تازه کندانگوت', 'مشگین شهر', 'جعفرآباد', 'نمین', 'اصلاندوز', 'مرادلو', 'خلخال', 'کوراییم', 'هیر', 'گیوی', 'گرمی', 'لاهرود', 'هشتجین', 'عنبران', 'تازه کند', 'قصابه', 'رضی', 'سرعین', 'بیله سوار', 'آبی بیگلو'],
    ['گزبرخوار', 'زیار', 'زرین شهر', 'گلشن', 'پیربکران', 'خالدآباد', 'سجزی', 'گوگد', 'تیران', 'ونک', 'دهق', 'زواره', 'کاشان', 'ابوزیدآباد', 'اصغرآباد', 'بافران', 'شهرضا', 'خور', 'مجلسی', 'هرند', 'فولادشهر', 'کمشچه', 'کلیشادوسودرجان', 'لای بید', 'قهجاورستان', 'چرمهین', 'رزوه', 'فریدونشهر', 'طرق رود', 'نصرآباد', 'برزک', 'سفیدشهر', 'سمیرم', 'گلدشت', 'اردستان', 'جوشقان قالی', 'بویین ومیاندشت', 'کرکوند', 'درچه', 'انارک', 'دولت آباد', 'ایمانشهر', 'گرگاب', 'حسن اباد', 'سده لنجان', 'حبیب آباد', 'بهاران شهر', 'میمه', 'تودشک', 'گلشهر', 'رضوانشهر', 'داران', 'علویجه', 'نیک آباد', 'مشکات', 'آران وبیدگل', 'خوانسار', 'نجف آباد', 'منظریه', 'فرخی', 'دیزیچه', 'اژیه', 'زاینده رود', 'خورزوق', 'قهدریجان', 'شاهین شهر', 'بهارستان', 'چمگردان', 'دهاقان', 'برف انبار', 'بادرود', 'کوهپایه', 'گلپایگان', 'عسگران', 'حنا', 'کهریزسنگ', 'مهاباد', 'کامو و چوگان', 'افوس', 'زیباشهر', 'کوشک', 'نایین', 'سین', 'زازران', 'مبارکه', 'ورزنه', 'ورنامخواست', 'شاپورآباد', 'فلاورجان', 'وزوان', 'اصفهان', 'باغ بهادران', 'چادگان', 'دامنه', 'نطنز', 'محمدآباد', 'نیاسر', 'نوش آباد', 'کمه', 'جوزدان', 'قمصر', 'جندق', 'طالخونچه', 'خمینی شهر', 'باغشاد', 'دستگرد', 'ابریشم'],
    ['چهارباغ', 'آسارا', 'کرج', 'طالقان', 'شهرجدیدهشتگرد', 'محمدشهر', 'مشکین دشت', 'نظرآباد', 'هشتگرد', 'ماهدشت', 'اشتهارد', 'کوهسار', 'گرمدره', 'تنکمان', 'گلسار', 'کمال شهر', 'فردیس'],
    ['آبدانان', 'شباب', 'موسیان', 'بدره', 'ایلام', 'ایوان', 'مهران', 'آسمان آباد', 'پهله', 'مهر', 'سراب باغ', 'بلاوه', 'میمه', 'دره شهر', 'ارکواز', 'مورموری', 'توحید', 'دهلران', 'لومار', 'چوار', 'زرنه', 'صالح آباد', 'سرابله', 'ماژین', 'دلگشا'],
    ['ریز', 'برازجان', 'بندرریگ', 'اهرم', 'دوراهک', 'خورموج', 'نخل تقی', 'کلمه', 'بندردیلم', 'وحدتیه', 'بنک', 'چغادک', 'بندردیر', 'کاکی', 'جم', 'دالکی', 'بندرگناوه', 'آباد', 'آبدان', 'خارک', 'شنبه', 'بوشکان', 'انارستان', 'شبانکاره', 'سیراف', 'دلوار', 'بردستان', 'بادوله', 'عسلویه', 'تنگ ارم', 'امام حسن', 'سعد آباد', 'بندرکنگان', 'بوشهر', 'بردخون', 'آب پخش'],
    ['شاهدشهر', 'پیشوا', 'جوادآباد', 'ارجمند', 'ری', 'نصیرشهر', 'رودهن', 'اندیشه', 'نسیم شهر', 'صباشهر', 'ملارد', 'شمشک', 'پاکدشت', 'باقرشهر', 'احمد آباد مستوفی', 'کیلان', 'قرچک', 'فردوسیه', 'گلستان', 'ورامین', 'فیروزکوه', 'فشم', 'پرند', 'آبعلی', 'چهاردانگه', 'تهران', 'بومهن', 'وحیدیه', 'صفادشت', 'لواسان', 'فرون اباد', 'کهریزک', 'رباطکریم', 'آبسرد', 'باغستان', 'صالحیه', 'شهریار', 'قدس', 'تجریش', 'شریف آباد', 'حسن آباد', 'اسلامشهر', 'دماوند', 'پردیس'],
    ['وردنجان', 'گوجان', 'گهرو', 'سورشجان', 'سرخون', 'شهرکرد', 'منج', 'بروجن', 'پردنجان', 'سامان', 'فرخ شهر', 'صمصامی', 'طاقانک', 'کاج', 'نقنه', 'لردگان', 'باباحیدر', 'دستنا', 'سودجان', 'بازفت', 'هفشجان', 'سردشت', 'فرادبنه', 'چلیچه', 'بن', 'فارسان', 'شلمزار', 'نافچ', 'دشتک', 'بلداجی', 'آلونی', 'گندمان', 'جونقان', 'ناغان', 'هارونی', 'چلگرد', 'کیان', 'اردل', 'سفیددشت', 'مال خلیفه'],
    ['اسلامیه', 'شوسف', 'قاین', 'عشق آباد', 'طبس مسینا', 'ارسک', 'آیسک', 'نیمبلوک', 'دیهوک', 'سربیشه', 'محمدشهر', 'بیرجند', 'فردوس', 'نهبندان', 'اسفدن', 'گزیک', 'حاجی آباد', 'سه قلعه', 'آرین شهر', 'مود', 'خوسف', 'قهستان', 'بشرویه', 'سرایان', 'خضری دشت بیاض', 'طبس', 'اسدیه', 'زهان'],
    ['بار', 'نیل شهر', 'جنگل', 'درود', 'رباط سنگ', 'سلطان آباد', 'فریمان', 'گناباد', 'کاریز', 'همت آباد', 'سلامی', 'باجگیران', 'بجستان', 'چناران', 'درگز', 'کلات', 'چکنه', 'نصرآباد', 'بردسکن', 'مشهد', 'کدکن', 'نقاب', 'قلندرآباد', 'کاشمر', 'شاندیز', 'نشتیفان', 'ششتمد', 'شادمهر', 'عشق آباد', 'چاپشلو', 'رشتخوار', 'قدمگاه', 'صالح آباد', 'داورزن', 'فرهادگرد', 'کاخک', 'مشهدریزه', 'جغتای', 'مزدآوند', 'قوچان', 'یونسی', 'سنگان', 'نوخندان', 'کندر', 'نیشابور', 'احمدابادصولت', 'شهراباد', 'رضویه', 'تربت حیدریه', 'باخرز', 'سفیدسنگ', 'بیدخت', 'تایباد', 'فیروزه', 'قاسم آباد', 'سبزوار', 'فیض آباد', 'گلمکان', 'لطف آباد', 'شهرزو', 'خرو', 'تربت جام', 'انابد', 'ملک آباد', 'بایک', 'دولت آباد', 'سرخس', 'ریوش', 'طرقبه', 'خواف', 'روداب', 'خلیل آباد'],
    ['چناران شهر', 'راز', 'پیش قلعه', 'قوشخانه', 'شوقان', 'اسفراین', 'گرمه', 'قاضی', 'شیروان', 'حصارگرمخان', 'آشخانه', 'تیتکانلو', 'جاجرم', 'بجنورد', 'درق', 'آوا', 'زیارت', 'سنخواست', 'صفی آباد', 'ایور', 'فاروج', 'لوجلی'],
    ['هفتگل', 'بیدروبه', 'شاوور', 'حمزه', 'گتوند', 'شرافت', 'منصوریه', 'زهره', 'رامهرمز', 'بندرامام خمینی', 'کوت عبداله', 'میداود', 'چغامیش', 'ملاثانی', 'چم گلک', 'حر', 'شمس آباد', 'آبژدان', 'چویبده', 'مسجدسلیمان', 'مقاومت', 'ترکالکی', 'دارخوین', 'سردشت', 'لالی', 'کوت سیدنعیم', 'حمیدیه', 'دهدز', 'قلعه تل', 'میانرود', 'رفیع', 'اندیمشک', 'الوان', 'سالند', 'صالح شهر', 'اروندکنار', 'سرداران', 'تشان', 'رامشیر', 'شادگان', 'بندرماهشهر', 'جایزان', 'بستان', 'ویس', 'اهواز', 'فتح المبین', 'شهر امام', 'قلعه خواجه', 'حسینیه', 'گلگیر', 'مینوشهر', 'سماله', 'شوشتر', 'بهبهان', 'هندیجان', 'ابوحمیظه', 'آغاجاری', 'ایذه', 'صیدون', 'سیاه منصور', 'هویزه', 'آزادی', 'شوش', 'دزفول', 'جنت مکان', 'آبادان', 'گوریه', 'خرمشهر', 'مشراگه', 'خنافره', 'چمران', 'امیدیه', 'سوسنگرد', 'شیبان', 'الهایی', 'باغ ملک', 'صفی آباد'],
    ['سجاس', 'زرین رود', 'آب بر', 'ارمغانخانه', 'کرسف', 'هیدج', 'سلطانیه', 'خرمدره', 'نیک پی', 'قیدار', 'ابهر', 'دندی', 'حلب', 'نوربهار', 'گرماب', 'چورزق', 'زنجان', 'سهرورد', 'صایین قلعه', 'ماه نشان', 'زرین آباد'],
    ['ایوانکی', 'مجن', 'دامغان', 'سرخه', 'مهدی شهر', 'شاهرود', 'سمنان', 'کهن آباد', 'گرمسار', 'کلاته خیج', 'دیباج', 'درجزین', 'رودیان', 'بسطام', 'امیریه', 'میامی', 'شهمیرزاد', 'بیارجمند', 'کلاته', 'آرادان'],
    ['محمدی', 'شهرک علی اکبر', 'بنجار', 'گلمورتی', 'نگور', 'راسک', 'بنت', 'قصرقند', 'جالق', 'هیدوچ', 'نوک آباد', 'زهک', 'بمپور', 'پیشین', 'گشت', 'محمدآباد', 'زاهدان', 'زابلی', 'چاه بهار', 'زرآباد', 'بزمان', 'اسپکه', 'فنوج', 'سراوان', 'ادیمی', 'زابل', 'دوست محمد', 'ایرانشهر', 'سرباز', 'سیرکان', 'میرجاوه', 'نصرت آباد', 'سوران', 'خاش', 'کنارک', 'محمدان', 'نیک شهر'],
    ['کازرون', 'کارزین (فتح آباد)', 'فدامی', 'خومه زار', 'سلطان شهر', 'فیروزآباد', 'دبیران', 'باب انار', 'رامجرد', 'سروستان', 'قره بلاغ', 'ارسنجان', 'دژکرد', 'بیرم', 'دهرم', 'شیراز', 'ایزدخواست', 'علامرودشت', 'اوز', 'وراوی', 'بیضا', 'نی ریز', 'کنارتخته', 'امام شهر', 'جهرم', 'بابامنیر', 'گراش', 'فسا', 'شهرپیر', 'حسن اباد', 'کامفیروز', 'خنج', 'خانه زنیان', 'استهبان', 'بوانات', 'لطیفی', 'فراشبند', 'زرقان', 'صغاد', 'اشکنان', 'قایمیه', 'گله دار', 'دوبرجی', 'آباده طشک', 'خرامه', 'میمند', 'افزر', 'دوزه', 'سیدان', 'کوپن', 'زاهدشهر', 'قادراباد', 'سده', 'بنارویه', 'سعادت شهر', 'شهرصدرا', 'سورمق', 'حسامی', 'جویم', 'خوزی', 'اردکان', 'قطرویه', 'نودان', 'مبارک آباددیز', 'داراب', 'نورآباد', 'کوار', 'نوبندگان', 'حاجی آباد', 'خاوران', 'مرودشت', 'کوهنجان', 'ششده', 'مزایجان', 'ایج', 'خور', 'نوجین', 'لپویی', 'بهمن', 'اهل', 'خشت', 'مهر', 'جنت شهر', 'مشکان', 'بالاده', 'قیر', 'قطب آباد', 'خانیمن', 'مصیری', 'میانشهر', 'صفاشهر', 'اقلید', 'عمادده', 'مادرسلیمان', 'داریان', 'رونیز', 'کره ای', 'لار', 'اسیر', 'هماشهر', 'آباده', 'لامرد'],
    ['سگزآباد', 'بیدستان', 'کوهین', 'رازمیان', 'خرمدشت', 'آبگرم', 'شال', 'شریفیه', 'اقبالیه', 'نرجه', 'ارداق', 'الوند', 'خاکعلی', 'سیردان', 'ضیاڈآباد', 'بویین زهرا', 'محمدیه', 'محمودآبادنمونه', 'معلم کلایه', 'اسفرورین', 'آوج', 'دانسفهان', 'آبیک', 'قزوین', 'تاکستان'],
    ['کهک', 'قم', 'سلفچگان', 'جعفریه', 'قنوات', 'دستجرد'],
    ['قروه', 'توپ آغاج', 'سروآباد', 'بویین سفلی', 'زرینه', 'دلبران', 'سنندج', 'یاسوکند', 'موچش', 'بانه', 'مریوان', 'سریش آباد', 'صاحب', 'دهگلان', 'بابارشانی', 'دیواندره', 'برده رشه', 'شویشه', 'بیجار', 'اورامان تخت', 'کانی سور', 'کانی دینار', 'دزج', 'سقز', 'بلبان آباد', 'پیرتاج', 'کامیاران', 'آرمرده', 'چناره'],
    ['کهنوج', 'بلوک', 'پاریز', 'گنبکی', 'زنگی آباد', 'بم', 'خانوک', 'کیانشهر', 'جوپار', 'عنبرآباد', 'جوزم', 'نظام شهر', 'لاله زار', 'کشکوییه', 'زیدآباد', 'هنزا', 'چترود', 'جبالبارز', 'سیرجان', 'رودبار', 'کرمان', 'بافت', 'صفاییه', 'منوجان', 'اندوهجرد', 'هجدک', 'خورسند', 'امین شهر', 'بردسیر', 'رفسنجان', 'هماشهر', 'محمدآباد', 'اختیارآباد', 'بروات', 'ریحان', 'کوهبنان', 'ماهان', 'دوساری', 'دهج', 'فاریاب', 'گلزار', 'بهرمان', 'بلورد', 'فهرج', 'کاظم آباد', 'جیرفت', 'نجف شهر', 'قلعه گنج', 'باغین', 'بزنجان', 'زرند', 'نودژ', 'گلباف', 'راور', 'خاتون اباد', 'نرماشیر', 'دشتکار', 'مس سرچشمه', 'خواجو شهر', 'رابر', 'راین', 'درب بهشت', 'یزدان شهر', 'زهکلوت', 'محی آباد', 'مردهک', 'شهداد', 'ارزوییه', 'نگار', 'شهربابک', 'انار'],
    ['سنقر', 'شاهو', 'بانوره', 'تازه آباد', 'هلشی', 'جوانرود', 'قصرشیرین', 'نوسود', 'کرند', 'کوزران', 'بیستون', 'حمیل', 'گیلانغرب', 'سطر', 'روانسر', 'پاوه', 'ازگله', 'کرمانشاه', 'میان راهان', 'کنگاور', 'سرپل ذهاب', 'ریجاب', 'باینگان', 'هرسین', 'اسلام آبادغرب', 'سرمست', 'سومار', 'نودشه', 'گهواره', 'رباط', 'صحنه', 'گودین'],
    ['گراب سفلی', 'لنده', 'سی سخت', 'دهدشت', 'یاسوج', 'سرفاریاب', 'دوگنبدان', 'چیتاب', 'لیکک', 'دیشموک', 'مادوان', 'باشت', 'پاتاوه', 'قلعه رییسی', 'مارگون', 'چرام', 'سوق'],
    ['سیمین شهر', 'مزرعه', 'رامیان', 'فراغی', 'گنبدکاووس', 'کردکوی', 'مراوه', 'بندرترکمن', 'نگین شهر', 'آق قلا', 'سرخنکلاته', 'گالیکش', 'سنگدوین', 'دلند', 'بندرگز', 'نوده خاندوز', 'مینودشت', 'گرگان', 'گمیش تپه', 'علی اباد', 'خان ببین', 'کلاله', 'اینچه برون', 'فاضل آباد', 'تاتارعلیا', 'نوکنده', 'آزادشهر', 'انبارآلوم', 'جلین'],
    ['منجیل', 'شلمان', 'خشکبیجار', 'ماکلوان', 'سنگر', 'مرجقل', 'لیسار', 'رضوانشهر', 'رحیم آباد', 'لوندویل', 'احمدسرگوراب', 'لوشان', 'اطاقور', 'لشت نشاء', 'فومن', 'چوبر', 'بازار جمعه', 'کلاچای', 'بندرانزلی', 'املش', 'رستم آباد', 'لاهیجان', 'توتکابن', 'لنگرود', 'کوچصفهان', 'صومعه سرا', 'اسالم', 'دیلمان', 'رودسر', 'کیاشهر', 'شفت', 'رودبار', 'کومله', 'رشت', 'ماسوله', 'خمام', 'ماسال', 'واجارگاه', 'هشتپر (تالش)', 'پره سر', 'بره سر', 'آستارا', 'رودبنه', 'جیرنده', 'چاف و چمخاله', 'لولمان', 'گوراب زرمیخ', 'حویق', 'سیاهکل', 'چابکسر', 'آستانه اشرفیه', 'رانکوه'],
    ['چالانچولان', 'بیران شهر', 'ویسیان', 'شول آباد', 'پلدختر', 'کوهدشت', 'هفت چشمه', 'بروجرد', 'الشتر', 'مومن آباد', 'دورود', 'زاغه', 'چقابل', 'الیگودرز', 'معمولان', 'کوهنانی', 'نورآباد', 'سپیددشت', 'سراب دوره', 'ازنا', 'گراب', 'خرم آباد', 'اشترینان', 'فیروزآباد', 'درب گنبد'],
    ['گلوگاه', 'پل سفید', 'دابودشت', 'چالوس', 'کیاسر', 'بهنمیر', 'تنکابن', 'کلاردشت', 'ایزدشهر', 'گتاب', 'سلمان شهر', 'ارطه', 'امیرکلا', 'کوهی خیل', 'پایین هولار', 'گزنک', 'محمودآباد', 'رامسر', 'نوشهر', 'خلیل شهر', 'کیاکلا', 'نور', 'مرزیکلا', 'فریدونکنار', 'زیرآب', 'امامزاده عبدالله', 'هچیرود', 'فریم', 'هادی شهر', 'نشتارود', 'پول', 'بهشهر', 'کلارآباد', 'بلده', 'بابل', 'جویبار', 'آلاشت', 'آمل', 'نکا', 'کتالم وسادات شهر', 'بابلسر', 'شیرود', 'شیرگاه', 'رویان', 'زرگرمحله', 'عباس اباد', 'قایم شهر', 'خوش رودپی', 'مرزن آباد', 'ساری', 'رینه', 'سرخرود', 'خرم آباد', 'کجور', 'رستمکلا', 'سورک', 'چمستان'],
    ['آستانه', 'خنجین', 'نراق', 'کمیجان', 'آشتیان', 'رازقان', 'مهاجران', 'غرق آباد', 'خنداب', 'قورچی باشی', 'خشکرود', 'ساروق', 'محلات', 'شازند', 'ساوه', 'میلاجرد', 'تفرش', 'زاویه', 'اراک', 'توره', 'نوبران', 'فرمهین', 'دلیجان', 'پرندک', 'کارچان', 'نیمور', 'هندودر', 'آوه', 'جاورسیان', 'خمین', 'مامونیه', 'داودآباد', 'شهباز'],
    ['بیکاء', 'تیرور', 'گروک', 'قشم', 'کوشکنار', 'کیش', 'سرگز', 'بندرعباس', 'زیارتعلی', 'سندرک', 'کوهستک', 'لمزان', 'رویدر', 'قلعه قاضی', 'فارغان', 'ابوموسی', 'هشتبندی', 'سردشت', 'درگهان', 'پارسیان', 'کنگ', 'جناح', 'تازیان پایین', 'دهبارز', 'میناب', 'سیریک', 'سوزا', 'خمیر', 'چارک', 'حاجی اباد', 'فین', 'بندرجاسک', 'گوهران', 'هرمز', 'دشتی', 'بندرلنگه', 'بستک', 'تخت'],
    ['زنگنه', 'دمق', 'سرکان', 'آجین', 'جورقان', 'برزول', 'فامنین', 'سامن', 'بهار', 'فرسفج', 'شیرین سو', 'مریانج', 'فیروزان', 'قروه درجزین', 'ازندریان', 'لالجین', 'گل تپه', 'گیان', 'ملایر', 'صالح آباد', 'تویسرکان', 'اسدآباد', 'همدان', 'نهاوند', 'رزن', 'جوکار', 'مهاجران', 'کبودرآهنگ', 'قهاوند'],
    ['مروست', 'مهردشت', 'حمیدیا', 'تفت', 'اشکذر', 'ندوشن', 'یزد', 'عقدا', 'بهاباد', 'ابرکوه', 'زارچ', 'نیر', 'اردکان', 'هرات', 'بفروییه', 'شاهدیه', 'بافق', 'خضرآباد', 'میبد', 'مهریز', 'احمدآباد'],
];


//select first tab to open by default
document.getElementById('tab1').click();


//Tracking
function tracking() {



    // remove it ====================
    //Show tracking data view section
    return false
    // remove it ====================


    trackID = document.getElementById('track-input').value
    
    $.ajax({
        url: url + "/TrackBooking?trackingCode=" + trackID,
        beforeSend: function () {
            //Loader
            loaderHandler('show')
        },
        error: function () {
            //error alert
            loaderHandler('hide')
            errorHandler('show', 'خطا در برقراری ارتباط !!!')
        }
    }).done(function (result, textStatus, xhr) {
        loaderHandler('hide')
        if (xhr.status == 204) {
            errorHandler('show', 'کد رهگیری نادرست نمی باشد')
        } else {
            //replace data
            document.querySelector('.tracking-back').innerHTML = result;
        }
    });
}

// Date picker
$(document).ready(function () {
    $('#date-selector').persianDatepicker({
        autoClose: true,
        observer: false,
        format: 'YYYY/MM/DD',
        selectedBefore: true,
        onSelect: function () {
            updateVehicles($("#date-selector").attr("data-jdate"));
        }
    });

})


function updateVehicles(date) {
    $.ajax({
        url: url + "/GetVehicles?date=" + date,
        beforeSend: function () {
            //Loader
            loaderHandler('show')
        },
        error: function () {
            //error alert
            loaderHandler('hide')
            errorHandler('show', 'خطا در برقراری ارتباط !!!')
        }
    }).done(function (result) {
        //replace data
        loaderHandler('hide')
        //Bind data to car Selector 
        selectedCarIdAdndCountList = [];
        addedCarsList.innerHTML = "";
        $("#car-type-selector").find('option').remove().end()
        for (item = 0; item < result.length; item++) {
            if (result[item].count - result[item].inTransitCount > 0) {
                let carSelector = document.getElementById("car-type-selector");
                let option = document.createElement("option");
                option.text = result[item].name;
                option.value = result[item].id;
                option.setAttribute("count", result[item].count - result[item].inTransitCount);
                carSelector.add(option, carSelector[item]);
            }
        }
        carMaxCount(); // Set on page loade
    });
}

//set "Tehran" to default province and city on page load
setDefaultProvinceAndcity('origin');
setDefaultProvinceAndcity('destination');

// fill City lists by selecting province
function fillCity(selector) {

    //Check origin / destination which one is selecteted? 
    if (selector == 'originSelector') {

        provinceSelector = document.getElementById('origin-province-selector')
        citySelector = document.getElementById('origin-city-selector')

    } else if (selector == 'destinationSelector') {
        provinceSelector = document.getElementById('destination-province-selector')
        citySelector = document.getElementById('destination-city-selector')

    }

    // fill City lists
    citySelector.innerText = null;
    cityLists = city[provinceSelector.selectedIndex]
    for (i = 0; i < city[provinceSelector.selectedIndex].length; i++) {
        let item = document.createElement('option');
        item.innerText = cityLists[i]
        citySelector.appendChild(item)

    }

}

//Origin and Destination default setting (Tehran value and disabling selectors) function 
function setDefaultProvinceAndcity(originOrDestination) {

    if (originOrDestination == 'origin') {

        originProvinceSelector.selectedIndex = 7
        fillCity('originSelector')
        originProvinceSelector.disabled = true
        originProvinceSelector.style.opacity = 0.5

        originCitySelector.disabled = true
        originCitySelector.selectedIndex = 25
        originCitySelector.style.opacity = 0.5


    } else if (originOrDestination == 'destination') {

        destinationProvinceSelector.selectedIndex = 7
        fillCity('destinationSelector')
        destinationProvinceSelector.disabled = true
        destinationProvinceSelector.style.opacity = 0.5

        destinationCitySelector.disabled = true
        destinationCitySelector.selectedIndex = 25
        destinationCitySelector.style.opacity = 0.5

    }

}

//set default setting (Tehran value and disabling selectors) on selecting internal origin
document.getElementById('internal-origin').addEventListener('change', function () {
    setDefaultProvinceAndcity('origin')
})

//Alow user to select Province and city (by enabling the selectors)
document.getElementById('external-origin').addEventListener('change', function () {
    originProvinceSelector.disabled = false
    originProvinceSelector.style.opacity = 1

    originCitySelector.disabled = false
    originCitySelector.style.opacity = 1
})

//set default setting (Tehran value and disabling selectors) on selecting internal destination
document.getElementById('internal-destination').addEventListener('change', function () {
    setDefaultProvinceAndcity('destination')
})

//Alow user to select Province and city (by enabling the selectors)
document.getElementById('external-destination').addEventListener('change', function () {
    destinationCitySelector.disabled = false
    destinationCitySelector.style.opacity = 1

    destinationProvinceSelector.disabled = false
    destinationProvinceSelector.style.opacity = 1
})


var currentTab = 0; // Current tab is set to be the first tab (0)
showTab(currentTab); // Display the current tab

function showTab(n) {
    // This function will display the specified tab of the form...
    var x = document.getElementsByClassName("form-step");
    x[n].style.display = "block";
    //... and fix the Previous/Next buttons:
    if (n == 0) {
        document.getElementById("prevBtn").style.display = "none";
    } else {
        document.getElementById("prevBtn").style.display = "inline";
    }
    if (n == (x.length - 1)) {
        document.getElementById("nextBtn").innerHTML = "ثبت";
    } else {
        document.getElementById("nextBtn").innerHTML = "مرحله بعد";
    }
    //... and run a function that will display the correct step indicator:
    // fixStepIndicator(n)
}

function nextPrev(n) {

    //remove extra validation of car-type-selector
    document.getElementById('car-type-selector').classList = ''

    // This function will figure out which tab to display
    var x = document.getElementsByClassName("form-step");
    // Exit the function if any field in the current tab is invalid:
    if (n == 1 && !validateForm()) return false;

    if (currentTab == 1) {
        x[currentTab].style.display = "block";
    }
    // Hide the current tab:
    x[currentTab].style.display = "none";
    // Increase or decrease the current tab by 1:
    currentTab = currentTab + n;


    if (currentTab == 2) {

        //Step 1 ----------------------->
        // add cars to viewer
        carTypeViewer = document.getElementById("car-type-viewer")
        carTypeViewer.innerHTML = "";
        selectedCarIdAdndCountList.map(function myFunction(value) {
            let item = document.createElement("span");
            item.innerText = value.Count + " دستگاه " + value.Id;
            carTypeViewer.appendChild(item)

        });

        //Set selected service type to show in form checkout
        if (document.getElementById('round').checked) {
            serviceTypeViewer.innerText = 'رفت و برگشت';
        } else if (document.getElementById('one-way').checked) {
            serviceTypeViewer.innerText = 'رفت';
        }

        //Set sent / receive details  to show in form checkout
        senderNameViewer.innerText = document.getElementById('sender-name').value;
        senderPhoneViewer.innerText = document.getElementById('sender-Phone').value;
        recipientNameViewer.innerText = document.getElementById('recipient-name').value;
        recipientPhoneViewer.innerText = document.getElementById('recipient-Phone').value;


        //set user selected detailes to viewer lables
        dateViewer.innerText = $("#date-selector").val();



        //Step 2 ----------------------->
        //Set selected origin province to show in form checkout
        let selectedOriginProvinceIndex = document.getElementById('origin-province-selector').selectedIndex;
        selectedOriginProvince = document.getElementById('origin-province-selector')[selectedOriginProvinceIndex].value;

        //Set selected origin city to show in form checkout
        let selectedOriginCityIndex = document.getElementById('origin-city-selector').selectedIndex;
        selectedOriginCity = document.getElementById('origin-city-selector')[selectedOriginCityIndex].value;

        //Set selected origin address detail to show in form checkout
        originAddressDetail = document.getElementById("origin-address-detail").value;

        originAddressViewer.innerText = `${selectedOriginProvince} -  ${selectedOriginCity} - ${originAddressDetail}`


        //Set selected destination province to show in form checkout
        let selectedDestinationProvinceIndex = document.getElementById('destination-province-selector').selectedIndex;
        selectedDestinationProvince = document.getElementById('destination-province-selector')[selectedDestinationProvinceIndex].value;

        //Set selected destination city to show in form checkout
        let selectedDestinationCityIndex = document.getElementById('destination-city-selector').selectedIndex;
        selectedDestinationCity = document.getElementById('destination-city-selector')[selectedDestinationCityIndex].value;

        //Set selected destination address detail to show in form checkout
        destinationAddressDetail = document.getElementById("destination-address-detail").value;

        destinationAddressViewer.innerText = `${selectedDestinationProvince} -  ${selectedDestinationCity} - ${destinationAddressDetail}`

    }


    // if you have reached the end of the form...
    if (currentTab >= x.length) {
        currentTab = currentTab - n;
        x[currentTab - 1].style.display = "block";

        // ... the form gets submitted:
        confirm()

        //Set selected car type to show in form confirm
        // let selectedCarIndex = document.getElementById('car-type-selector').selectedIndex;
        carTypeViewer = document.getElementById('added-cars-list').innerHTML

        return false;

    }
    // Otherwise, display the correct tab:
    showTab(currentTab);
}

//Form confirm
function confirm() {
    // document.querySelector('.confirm-back').classList.replace('show', 'hide')
    var form = $("body").find('form');
    var dataToSend = new FormData(form.get(0));
    for (var i = 0; i < selectedCarIdAdndCountList.length; i++) {
        dataToSend.append('VehiclesId', selectedCarIdAdndCountList[i].Id);
        dataToSend.append('VehiclesCount', selectedCarIdAdndCountList[i].Count);
    }

    // remove it ========================
    let data = {
        message: '6S76-D6W118976'
    }
    document.getElementById("tracking-code-viewer").innerHTML = data.message;
    document.querySelector('.success-back').classList.replace('hide', 'show');
    return false
    // remove it ====================

    $.ajax({
        url: url + "/RegisterBooking",
        type: "post",
        data: dataToSend,
        processData: false,
        contentType: false,
        beforeSend: function () {
            loaderHandler('show');
        },
        error: function () {
            loaderHandler('hide');
            errorHandler('show', 'خطا در برقراری ارتباط !!!');

            currentTab = 1;
            nextPrev(1);
        }
    }).done(function (data) {
        loaderHandler('hide');
        if (data.isSuccess == true) {
            document.getElementById("tracking-code-viewer").innerHTML = data.message;
            document.querySelector('.success-back').classList.replace('hide', 'show');
            //Reset the form after success submit
            document.forms[0].reset();
        } else {
            errorHandler('show', data.message);
        }
    });
}

//Form validation
function validateForm() {
    // This function deals with validation of the form fields
    x = document.getElementsByClassName("form-step");
    var x, y, i, z, check, valid = true;

    // Selectors validations
    z = x[currentTab].getElementsByTagName("select");
    // A loop that checks every input field in the current tab:
    for (i = 0; i < z.length; i++) {
        // If a field is empty...
        if (z[i].value == "") {
            // add an "invalid" class to the field:
            z[i].className += " invalid";
            // and set the current valid status to false
            valid = false;

            skipcarTypeSelector()
        }
    }

    // Inputs validations
    y = x[currentTab].getElementsByTagName("input");
    // A loop that checks every input field in the current tab:
    for (i = 0; i < y.length; i++) {
        // If a field is empty...
        if (y[i].value == "") {
            // add an "invalid" class to the field:
            y[i].className += " invalid";
            // and set the current valid status to false
            valid = false;
        }
    }

    //Remove empty Car type selector validation
    function skipcarTypeSelector() {
        document.getElementById('car-type-selector').className = " ";
        // and set the current valid status to true
        valid = true;
    }


    // Textarea validations
    var field;
    field = x[currentTab].getElementsByTagName("textarea")
    // A loop that checks every input field in the current tab:
    for (i = 0; i < field.length; i++) {
        // If a field is empty...
        if (field[i].value == "") {
            // add an "invalid" class to the field:
            field[i].className += " invalid";
            // and set the current valid status to false
            valid = false;


            if (currentTab == 2)
                skipDescription()
        }

    }

    function skipDescription() {
        //Remove empty description validation
        document.getElementById('more-desc-area').className = " ";
        // and set the current valid status to true
        valid = true;
    }

    //Rules check box validation
    var rulesCheck;
    var checkContainer
    rulesCheck = document.getElementById('rules-check');
    checkContainer = document.getElementById('terms-check-container');
    if (currentTab == 2) {
        if (rulesCheck.checked !== true) {
            checkContainer.classList += ' invalid'
            return false
        }
    }
    rulesCheck.addEventListener('change', function () {
        checkContainer.classList.remove('invalid')
    })


    // If the valid status is true, mark the step as finished and valid:
    if (valid) {
        document.getElementsByClassName("step")[currentTab].className += " finish";
    }
    return valid; // return the valid status
}


//Show and Hide Error box
function errorHandler(toggler, message) {
    var errorSection = document.querySelector('.error-back')
    var errorMessage = document.getElementById('error-message')
    if (toggler == 'show') {
        errorSection.classList.replace('hide', 'show');
        errorMessage.innerHTML = message

    } else if (toggler == 'hide') {
        errorSection.classList.replace('show', 'hide');
    }

}


//Add car and count to selected list
function carTypeAndCount() {

    let item = document.getElementById("car-type-selector")
    if (item.childElementCount !== 0) {
        //add to selection box
        let itemIndex = item.selectedIndex
        let itemCount = document.getElementById("count").value
        addedCarsList.innerHTML += itemCount + ' دستگاه ' + item[itemIndex].text + "\n";
        addedCarsList.classList.remove('invalid');

        //add to array to send server
        let currentCarIdAdndCount
        currentCarIdAdndCount = {
            Id: item[itemIndex].value,
            Count: itemCount
        };
        selectedCarIdAdndCountList.push(currentCarIdAdndCount);
        item.children[itemIndex].remove();
        carMaxCount();

    }
}

//max count of selected car
document.getElementById('car-type-selector').addEventListener('change', function () {
    carMaxCount()
})


function carMaxCount() {
    document.getElementById('count').value = "1"
    let selectedCarIndex = document.getElementById('car-type-selector').selectedIndex
    let selectedCar = document.getElementById('car-type-selector')[selectedCarIndex]
    document.getElementById('count').setAttribute('max', selectedCar.getAttribute("count"))
}
//Get reserves list from server
function getReservesList() {
    $.ajax({
        url: url + "/GetUserReserves",
        beforeSend: function (e) {
            //Loader
            loaderHandler('show')
        },
        error: function () {
            //error alert
            loaderHandler('hide')
            errorHandler('show', 'خطا در برقراری ارتباط !!!')
        }
    }).done(function (result) {
        //*****fill reserves list******

    });
}

//read reserve list and ready to open details
function readReserveList() {
    $(document).on('click', '.reserve-item', function () {
        reserveItemId = this.id;
        showDetails(reserveItemId);
        //change background of clicked ticket
        var clickedItem = document.querySelector('.clicked-item');
        if (clickedItem !== null) {
            clickedItem.classList.remove('clicked-item');
        }
        this.classList.toggle('clicked-item');
        reserveItemId = this.id;

        // Remove the new message icon on user click
        let seperatorLine = this.children[0].children[3];
        let newMessageIcon = this.children[0].children[4];
        if (seperatorLine && newMessageIcon) {
            seperatorLine.remove();
            newMessageIcon.remove();
        }

        //scroll to confirm button
        let bodyOfPage = document.querySelector('body');
        bodyOfPage.scrollTop = bodyOfPage.scrollHeight;

        let mainBox = document.querySelector(".main-box");
        mainBox.scrollTop = mainBox.scrollHeight;

        let detailsArea = document.querySelector(".ticket-details-container");
        detailsArea.scrollTop = detailsArea.scrollHeight;
        document.getElementById('welcome-section').style.display = 'none'
        showMessage('', 'close')

    })
}

//read ticket list from left side and ready to click on each item on page load
readReserveList()

//message 
function showMessage(message, messageType) {
    var messageContainer = document.querySelector('.message-container')
    document.querySelector('.message-container label').innerHTML = '&#9747'
    document.querySelector('.text-message').innerText = message
    messageContainer.style.display = 'block'
    document.querySelector('.main-box').scrollTop = 0;
    if (messageType == 'success') {
        messageContainer.style.background = '#41d941'
        // document.querySelector('#answer-editor').style.display = 'none'

    } else if (messageType == 'danger') {
        messageContainer.style.background = 'red'
        console.log('danger')
    } else if (messageType == 'close') {
        messageContainer.style.display = 'none'
    }
    //scroll up to message
    document.body.scrollTop = 0;
    document.documentElement.scrollTop = 0;


    //close the message box
    document.querySelector('.message-container label').addEventListener('click', function () {
        document.querySelector('.message-container').style.display = 'none';
    })
}

//Grab all cars in fleet - ready to open details
$(document).on('click', '.fleet-item', function () {
    console.log(this.id);
    //Call slider to show clicked car images 
    DetailsSlider()
})


// slider to show clicked car images
function DetailsSlider() {

    var sliderImages = document.querySelectorAll('.image'),
        arrowLeft = document.querySelector('#left-arrow'),
        arrowRight = document.querySelector('#right-arrow'),
        currentImg = 0;

    function initSlider() {
        resetSlider();

        sliderImages[0].style.display = 'block';
    }

    function resetSlider() {
        for (var i = 0; i < sliderImages.length; i++) {
            sliderImages[i].style.display = 'none';
        }
    }

    function toLeft() {
        resetSlider();
        sliderImages[currentImg - 1].style.display = 'block';
        currentImg--;
    }

    function toRight() {
        resetSlider();
        sliderImages[currentImg + 1].style.display = 'block';
        currentImg++;
    }

    arrowLeft.addEventListener('click', function () {
        if (currentImg === 0) {
            currentImg = sliderImages.length;
        }

        toLeft();
    });

    arrowRight.addEventListener('click', function () {
        if (currentImg === sliderImages.length - 1) {
            currentImg = -1;
        }

        toRight();
    });

    initSlider();
}
//Send clicked ticket Id to server , get the details and show 
function showDetails(clickedItemId) {


    // remove it ====================
    document.getElementById('welcome-section').classList.replace('flex-display', 'hide')
    document.getElementById('reserve-details-container').classList.replace('hide', 'show')
    // remove it ====================

    
    // get clicked ticket details from server
    clickedReserveID = clickedItemId;
    $.ajax({
        url: url + "/TrackBooking?bookingId=" + clickedItemId,
        beforeSend: function (e) {
            //Loader
            loaderHandler('show')
        },
        error: function () {
            //error alert
            loaderHandler('hide')
            errorHandler('show', 'خطا در برقراری ارتباط !!!')
        }
    }).done(function (result) {
        document.getElementById("reserve-details").innerHTML = result;
        loaderHandler('hide')
        //Hide new ticket area and show ticket details
        document.getElementById('welcome-section').classList.replace('flex-display', 'hide')
        document.getElementById('reserve-details-container').classList.replace('hide', 'show')
    });
}
//Final confirm - waiting reserves
function finalConfirm() {


    // remove it ====================
    showMessage('تایید با موفقیت انجام شد', 'success')
    document.getElementById(clickedReserveID).remove();
    document.getElementById('welcome-section').style.display = 'flex'
    document.getElementById('welcome-section').classList = ''
    document.getElementById('reserve-details-container').classList.replace('show', 'hide')
   // remove it ====================


    $.ajax({
        url: url + "/ConfirmBooking?bookingId=" + clickedReserveID,
        beforeSend: function () {
            //Loader
            loaderHandler('show')
        },
        error: function () {
            //error alert
            loaderHandler('hide')
            errorHandler('show', 'خطا در برقراری ارتباط !!!')
        }
    }).done(function (result) {
        //replace data
        loaderHandler('hide')
        showMessage('تایید با موفقیت انجام شد', 'success')
        document.getElementById(clickedReserveID).remove();
        document.getElementById('welcome-section').style.display = 'flex'
        document.getElementById('welcome-section').classList = ''
        document.getElementById('reserve-details-container').classList.replace('show', 'hide')
        $('.modal-content').scrollTop = 0;
    });
}



// hide scrollbar of main box when modals shown 
function hideScrollBar(modalStatus) {
    document.querySelector('.trans-main-box').style.overflow = modalStatus
}

// Do somthing on modal open/close
//  in **Transportation** modal open / close managements is in end of the html page




function closeSuccess() {
    document.forms[0].reset();
    location.reload();
}