{"version":3,"file":"./js/home/home.js","mappings":"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","sources":["webpack://ui-app/./Js/Libs/OwlCarousel/owl.carousel.min.js","webpack://ui-app/./Js/Pages/TravelServices/travelServicesBooking.js","webpack://ui-app/./Js/Pages/CIP/cipBooking.js","webpack://ui-app/./Js/Public/manageSearchHistory.js","webpack://ui-app/./Js/Pages/Flight/flightBooking.js","webpack://ui-app/./Js/Pages/Hotel/hotelBooking.js","webpack://ui-app/./Js/Pages/Trip/tripBooking.js","webpack://ui-app/./Js/Pages/Tour/tourBooking.js","webpack://ui-app/./Js/Pages/Tour/tourCommon.js","webpack://ui-app/./Js/Pages/Insurance/insuranceBooking.js","webpack://ui-app/./Js/Pages/Rail/railBooking.js","webpack://ui-app/./Js/Pages/Ship/shipBooking.js","webpack://ui-app/./Js/Pages/Home/home.js"],"sourcesContent":["/**\r\n * Owl Carousel v2.3.4\r\n * Copyright 2013-2018 David Deutsch\r\n * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE\r\n */\r\n!function(a,b,c,d){function e(b,c){this.settings=null,this.options=a.extend({},e.Defaults,c),this.$element=a(b),this._handlers={},this._plugins={},this._supress={},this._current=null,this._speed=null,this._coordinates=[],this._breakpoint=null,this._width=null,this._items=[],this._clones=[],this._mergers=[],this._widths=[],this._invalidated={},this._pipe=[],this._drag={time:null,target:null,pointer:null,stage:{start:null,current:null},direction:null},this._states={current:{},tags:{initializing:[\"busy\"],animating:[\"busy\"],dragging:[\"interacting\"]}},a.each([\"onResize\",\"onThrottledResize\"],a.proxy(function(b,c){this._handlers[c]=a.proxy(this[c],this)},this)),a.each(e.Plugins,a.proxy(function(a,b){this._plugins[a.charAt(0).toLowerCase()+a.slice(1)]=new b(this)},this)),a.each(e.Workers,a.proxy(function(b,c){this._pipe.push({filter:c.filter,run:a.proxy(c.run,this)})},this)),this.setup(),this.initialize()}e.Defaults={items:3,loop:!1,center:!1,rewind:!1,checkVisibility:!0,mouseDrag:!0,touchDrag:!0,pullDrag:!0,freeDrag:!1,margin:0,stagePadding:0,merge:!1,mergeFit:!0,autoWidth:!1,startPosition:0,rtl:!1,smartSpeed:250,fluidSpeed:!1,dragEndSpeed:!1,responsive:{},responsiveRefreshRate:200,responsiveBaseElement:b,fallbackEasing:\"swing\",slideTransition:\"\",info:!1,nestedItemSelector:!1,itemElement:\"div\",stageElement:\"div\",refreshClass:\"owl-refresh\",loadedClass:\"owl-loaded\",loadingClass:\"owl-loading\",rtlClass:\"owl-rtl\",responsiveClass:\"owl-responsive\",dragClass:\"owl-drag\",itemClass:\"owl-item\",stageClass:\"owl-stage\",stageOuterClass:\"owl-stage-outer\",grabClass:\"owl-grab\"},e.Width={Default:\"default\",Inner:\"inner\",Outer:\"outer\"},e.Type={Event:\"event\",State:\"state\"},e.Plugins={},e.Workers=[{filter:[\"width\",\"settings\"],run:function(){this._width=this.$element.width()}},{filter:[\"width\",\"items\",\"settings\"],run:function(a){a.current=this._items&&this._items[this.relative(this._current)]}},{filter:[\"items\",\"settings\"],run:function(){this.$stage.children(\".cloned\").remove()}},{filter:[\"width\",\"items\",\"settings\"],run:function(a){var b=this.settings.margin||\"\",c=!this.settings.autoWidth,d=this.settings.rtl,e={width:\"auto\",\"margin-left\":d?b:\"\",\"margin-right\":d?\"\":b};!c&&this.$stage.children().css(e),a.css=e}},{filter:[\"width\",\"items\",\"settings\"],run:function(a){var b=(this.width()/this.settings.items).toFixed(3)-this.settings.margin,c=null,d=this._items.length,e=!this.settings.autoWidth,f=[];for(a.items={merge:!1,width:b};d--;)c=this._mergers[d],c=this.settings.mergeFit&&Math.min(c,this.settings.items)||c,a.items.merge=c>1||a.items.merge,f[d]=e?b*c:this._items[d].width();this._widths=f}},{filter:[\"items\",\"settings\"],run:function(){var b=[],c=this._items,d=this.settings,e=Math.max(2*d.items,4),f=2*Math.ceil(c.length/2),g=d.loop&&c.length?d.rewind?e:Math.max(e,f):0,h=\"\",i=\"\";for(g/=2;g>0;)b.push(this.normalize(b.length/2,!0)),h+=c[b[b.length-1]][0].outerHTML,b.push(this.normalize(c.length-1-(b.length-1)/2,!0)),i=c[b[b.length-1]][0].outerHTML+i,g-=1;this._clones=b,a(h).addClass(\"cloned\").appendTo(this.$stage),a(i).addClass(\"cloned\").prependTo(this.$stage)}},{filter:[\"width\",\"items\",\"settings\"],run:function(){for(var a=this.settings.rtl?1:-1,b=this._clones.length+this._items.length,c=-1,d=0,e=0,f=[];++c\",h)||this.op(b,\"<\",g)&&this.op(b,\">\",h))&&i.push(c);this.$stage.children(\".active\").removeClass(\"active\"),this.$stage.children(\":eq(\"+i.join(\"), :eq(\")+\")\").addClass(\"active\"),this.$stage.children(\".center\").removeClass(\"center\"),this.settings.center&&this.$stage.children().eq(this.current()).addClass(\"center\")}}],e.prototype.initializeStage=function(){this.$stage=this.$element.find(\".\"+this.settings.stageClass),this.$stage.length||(this.$element.addClass(this.options.loadingClass),this.$stage=a(\"<\"+this.settings.stageElement+\">\",{class:this.settings.stageClass}).wrap(a(\"
\",{class:this.settings.stageOuterClass})),this.$element.append(this.$stage.parent()))},e.prototype.initializeItems=function(){var b=this.$element.find(\".owl-item\");if(b.length)return this._items=b.get().map(function(b){return a(b)}),this._mergers=this._items.map(function(){return 1}),void this.refresh();this.replace(this.$element.children().not(this.$stage.parent())),this.isVisible()?this.refresh():this.invalidate(\"width\"),this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass)},e.prototype.initialize=function(){if(this.enter(\"initializing\"),this.trigger(\"initialize\"),this.$element.toggleClass(this.settings.rtlClass,this.settings.rtl),this.settings.autoWidth&&!this.is(\"pre-loading\")){var a,b,c;a=this.$element.find(\"img\"),b=this.settings.nestedItemSelector?\".\"+this.settings.nestedItemSelector:d,c=this.$element.children(b).width(),a.length&&c<=0&&this.preloadAutoWidthImages(a)}this.initializeStage(),this.initializeItems(),this.registerEventHandlers(),this.leave(\"initializing\"),this.trigger(\"initialized\")},e.prototype.isVisible=function(){return!this.settings.checkVisibility||this.$element.is(\":visible\")},e.prototype.setup=function(){var b=this.viewport(),c=this.options.responsive,d=-1,e=null;c?(a.each(c,function(a){a<=b&&a>d&&(d=Number(a))}),e=a.extend({},this.options,c[d]),\"function\"==typeof e.stagePadding&&(e.stagePadding=e.stagePadding()),delete e.responsive,e.responsiveClass&&this.$element.attr(\"class\",this.$element.attr(\"class\").replace(new RegExp(\"(\"+this.options.responsiveClass+\"-)\\\\S+\\\\s\",\"g\"),\"$1\"+d))):e=a.extend({},this.options),this.trigger(\"change\",{property:{name:\"settings\",value:e}}),this._breakpoint=d,this.settings=e,this.invalidate(\"settings\"),this.trigger(\"changed\",{property:{name:\"settings\",value:this.settings}})},e.prototype.optionsLogic=function(){this.settings.autoWidth&&(this.settings.stagePadding=!1,this.settings.merge=!1)},e.prototype.prepare=function(b){var c=this.trigger(\"prepare\",{content:b});return c.data||(c.data=a(\"<\"+this.settings.itemElement+\"/>\").addClass(this.options.itemClass).append(b)),this.trigger(\"prepared\",{content:c.data}),c.data},e.prototype.update=function(){for(var b=0,c=this._pipe.length,d=a.proxy(function(a){return this[a]},this._invalidated),e={};b0)&&this._pipe[b].run(e),b++;this._invalidated={},!this.is(\"valid\")&&this.enter(\"valid\")},e.prototype.width=function(a){switch(a=a||e.Width.Default){case e.Width.Inner:case e.Width.Outer:return this._width;default:return this._width-2*this.settings.stagePadding+this.settings.margin}},e.prototype.refresh=function(){this.enter(\"refreshing\"),this.trigger(\"refresh\"),this.setup(),this.optionsLogic(),this.$element.addClass(this.options.refreshClass),this.update(),this.$element.removeClass(this.options.refreshClass),this.leave(\"refreshing\"),this.trigger(\"refreshed\")},e.prototype.onThrottledResize=function(){b.clearTimeout(this.resizeTimer),this.resizeTimer=b.setTimeout(this._handlers.onResize,this.settings.responsiveRefreshRate)},e.prototype.onResize=function(){return!!this._items.length&&(this._width!==this.$element.width()&&(!!this.isVisible()&&(this.enter(\"resizing\"),this.trigger(\"resize\").isDefaultPrevented()?(this.leave(\"resizing\"),!1):(this.invalidate(\"width\"),this.refresh(),this.leave(\"resizing\"),void this.trigger(\"resized\")))))},e.prototype.registerEventHandlers=function(){a.support.transition&&this.$stage.on(a.support.transition.end+\".owl.core\",a.proxy(this.onTransitionEnd,this)),!1!==this.settings.responsive&&this.on(b,\"resize\",this._handlers.onThrottledResize),this.settings.mouseDrag&&(this.$element.addClass(this.options.dragClass),this.$stage.on(\"mousedown.owl.core\",a.proxy(this.onDragStart,this)),this.$stage.on(\"dragstart.owl.core selectstart.owl.core\",function(){return!1})),this.settings.touchDrag&&(this.$stage.on(\"touchstart.owl.core\",a.proxy(this.onDragStart,this)),this.$stage.on(\"touchcancel.owl.core\",a.proxy(this.onDragEnd,this)))},e.prototype.onDragStart=function(b){var d=null;3!==b.which&&(a.support.transform?(d=this.$stage.css(\"transform\").replace(/.*\\(|\\)| /g,\"\").split(\",\"),d={x:d[16===d.length?12:4],y:d[16===d.length?13:5]}):(d=this.$stage.position(),d={x:this.settings.rtl?d.left+this.$stage.width()-this.width()+this.settings.margin:d.left,y:d.top}),this.is(\"animating\")&&(a.support.transform?this.animate(d.x):this.$stage.stop(),this.invalidate(\"position\")),this.$element.toggleClass(this.options.grabClass,\"mousedown\"===b.type),this.speed(0),this._drag.time=(new Date).getTime(),this._drag.target=a(b.target),this._drag.stage.start=d,this._drag.stage.current=d,this._drag.pointer=this.pointer(b),a(c).on(\"mouseup.owl.core touchend.owl.core\",a.proxy(this.onDragEnd,this)),a(c).one(\"mousemove.owl.core touchmove.owl.core\",a.proxy(function(b){var d=this.difference(this._drag.pointer,this.pointer(b));a(c).on(\"mousemove.owl.core touchmove.owl.core\",a.proxy(this.onDragMove,this)),Math.abs(d.x)0^this.settings.rtl?\"left\":\"right\";a(c).off(\".owl.core\"),this.$element.removeClass(this.options.grabClass),(0!==d.x&&this.is(\"dragging\")||!this.is(\"valid\"))&&(this.speed(this.settings.dragEndSpeed||this.settings.smartSpeed),this.current(this.closest(e.x,0!==d.x?f:this._drag.direction)),this.invalidate(\"position\"),this.update(),this._drag.direction=f,(Math.abs(d.x)>3||(new Date).getTime()-this._drag.time>300)&&this._drag.target.one(\"click.owl.core\",function(){return!1})),this.is(\"dragging\")&&(this.leave(\"dragging\"),this.trigger(\"dragged\"))},e.prototype.closest=function(b,c){var e=-1,f=30,g=this.width(),h=this.coordinates();return this.settings.freeDrag||a.each(h,a.proxy(function(a,i){return\"left\"===c&&b>i-f&&bi-g-f&&b\",h[a+1]!==d?h[a+1]:i-g)&&(e=\"left\"===c?a+1:a),-1===e},this)),this.settings.loop||(this.op(b,\">\",h[this.minimum()])?e=b=this.minimum():this.op(b,\"<\",h[this.maximum()])&&(e=b=this.maximum())),e},e.prototype.animate=function(b){var c=this.speed()>0;this.is(\"animating\")&&this.onTransitionEnd(),c&&(this.enter(\"animating\"),this.trigger(\"translate\")),a.support.transform3d&&a.support.transition?this.$stage.css({transform:\"translate3d(\"+b+\"px,0px,0px)\",transition:this.speed()/1e3+\"s\"+(this.settings.slideTransition?\" \"+this.settings.slideTransition:\"\")}):c?this.$stage.animate({left:b+\"px\"},this.speed(),this.settings.fallbackEasing,a.proxy(this.onTransitionEnd,this)):this.$stage.css({left:b+\"px\"})},e.prototype.is=function(a){return this._states.current[a]&&this._states.current[a]>0},e.prototype.current=function(a){if(a===d)return this._current;if(0===this._items.length)return d;if(a=this.normalize(a),this._current!==a){var b=this.trigger(\"change\",{property:{name:\"position\",value:a}});b.data!==d&&(a=this.normalize(b.data)),this._current=a,this.invalidate(\"position\"),this.trigger(\"changed\",{property:{name:\"position\",value:this._current}})}return this._current},e.prototype.invalidate=function(b){return\"string\"===a.type(b)&&(this._invalidated[b]=!0,this.is(\"valid\")&&this.leave(\"valid\")),a.map(this._invalidated,function(a,b){return b})},e.prototype.reset=function(a){(a=this.normalize(a))!==d&&(this._speed=0,this._current=a,this.suppress([\"translate\",\"translated\"]),this.animate(this.coordinates(a)),this.release([\"translate\",\"translated\"]))},e.prototype.normalize=function(a,b){var c=this._items.length,e=b?0:this._clones.length;return!this.isNumeric(a)||c<1?a=d:(a<0||a>=c+e)&&(a=((a-e/2)%c+c)%c+e/2),a},e.prototype.relative=function(a){return a-=this._clones.length/2,this.normalize(a,!0)},e.prototype.maximum=function(a){var b,c,d,e=this.settings,f=this._coordinates.length;if(e.loop)f=this._clones.length/2+this._items.length-1;else if(e.autoWidth||e.merge){if(b=this._items.length)for(c=this._items[--b].width(),d=this.$element.width();b--&&!((c+=this._items[b].width()+this.settings.margin)>d););f=b+1}else f=e.center?this._items.length-1:this._items.length-e.items;return a&&(f-=this._clones.length/2),Math.max(f,0)},e.prototype.minimum=function(a){return a?0:this._clones.length/2},e.prototype.items=function(a){return a===d?this._items.slice():(a=this.normalize(a,!0),this._items[a])},e.prototype.mergers=function(a){return a===d?this._mergers.slice():(a=this.normalize(a,!0),this._mergers[a])},e.prototype.clones=function(b){var c=this._clones.length/2,e=c+this._items.length,f=function(a){return a%2==0?e+a/2:c-(a+1)/2};return b===d?a.map(this._clones,function(a,b){return f(b)}):a.map(this._clones,function(a,c){return a===b?f(c):null})},e.prototype.speed=function(a){return a!==d&&(this._speed=a),this._speed},e.prototype.coordinates=function(b){var c,e=1,f=b-1;return b===d?a.map(this._coordinates,a.proxy(function(a,b){return this.coordinates(b)},this)):(this.settings.center?(this.settings.rtl&&(e=-1,f=b+1),c=this._coordinates[b],c+=(this.width()-c+(this._coordinates[f]||0))/2*e):c=this._coordinates[f]||0,c=Math.ceil(c))},e.prototype.duration=function(a,b,c){return 0===c?0:Math.min(Math.max(Math.abs(b-a),1),6)*Math.abs(c||this.settings.smartSpeed)},e.prototype.to=function(a,b){var c=this.current(),d=null,e=a-this.relative(c),f=(e>0)-(e<0),g=this._items.length,h=this.minimum(),i=this.maximum();this.settings.loop?(!this.settings.rewind&&Math.abs(e)>g/2&&(e+=-1*f*g),a=c+e,(d=((a-h)%g+g)%g+h)!==a&&d-e<=i&&d-e>0&&(c=d-e,a=d,this.reset(c))):this.settings.rewind?(i+=1,a=(a%i+i)%i):a=Math.max(h,Math.min(i,a)),this.speed(this.duration(c,a,b)),this.current(a),this.isVisible()&&this.update()},e.prototype.next=function(a){a=a||!1,this.to(this.relative(this.current())+1,a)},e.prototype.prev=function(a){a=a||!1,this.to(this.relative(this.current())-1,a)},e.prototype.onTransitionEnd=function(a){if(a!==d&&(a.stopPropagation(),(a.target||a.srcElement||a.originalTarget)!==this.$stage.get(0)))return!1;this.leave(\"animating\"),this.trigger(\"translated\")},e.prototype.viewport=function(){var d;return this.options.responsiveBaseElement!==b?d=a(this.options.responsiveBaseElement).width():b.innerWidth?d=b.innerWidth:c.documentElement&&c.documentElement.clientWidth?d=c.documentElement.clientWidth:console.warn(\"Can not detect viewport width.\"),d},e.prototype.replace=function(b){this.$stage.empty(),this._items=[],b&&(b=b instanceof jQuery?b:a(b)),this.settings.nestedItemSelector&&(b=b.find(\".\"+this.settings.nestedItemSelector)),b.filter(function(){return 1===this.nodeType}).each(a.proxy(function(a,b){b=this.prepare(b),this.$stage.append(b),this._items.push(b),this._mergers.push(1*b.find(\"[data-merge]\").addBack(\"[data-merge]\").attr(\"data-merge\")||1)},this)),this.reset(this.isNumeric(this.settings.startPosition)?this.settings.startPosition:0),this.invalidate(\"items\")},e.prototype.add=function(b,c){var e=this.relative(this._current);c=c===d?this._items.length:this.normalize(c,!0),b=b instanceof jQuery?b:a(b),this.trigger(\"add\",{content:b,position:c}),b=this.prepare(b),0===this._items.length||c===this._items.length?(0===this._items.length&&this.$stage.append(b),0!==this._items.length&&this._items[c-1].after(b),this._items.push(b),this._mergers.push(1*b.find(\"[data-merge]\").addBack(\"[data-merge]\").attr(\"data-merge\")||1)):(this._items[c].before(b),this._items.splice(c,0,b),this._mergers.splice(c,0,1*b.find(\"[data-merge]\").addBack(\"[data-merge]\").attr(\"data-merge\")||1)),this._items[e]&&this.reset(this._items[e].index()),this.invalidate(\"items\"),this.trigger(\"added\",{content:b,position:c})},e.prototype.remove=function(a){(a=this.normalize(a,!0))!==d&&(this.trigger(\"remove\",{content:this._items[a],position:a}),this._items[a].remove(),this._items.splice(a,1),this._mergers.splice(a,1),this.invalidate(\"items\"),this.trigger(\"removed\",{content:null,position:a}))},e.prototype.preloadAutoWidthImages=function(b){b.each(a.proxy(function(b,c){this.enter(\"pre-loading\"),c=a(c),a(new Image).one(\"load\",a.proxy(function(a){c.attr(\"src\",a.target.src),c.css(\"opacity\",1),this.leave(\"pre-loading\"),!this.is(\"pre-loading\")&&!this.is(\"initializing\")&&this.refresh()},this)).attr(\"src\",c.attr(\"src\")||c.attr(\"data-src\")||c.attr(\"data-src-retina\"))},this))},e.prototype.destroy=function(){this.$element.off(\".owl.core\"),this.$stage.off(\".owl.core\"),a(c).off(\".owl.core\"),!1!==this.settings.responsive&&(b.clearTimeout(this.resizeTimer),this.off(b,\"resize\",this._handlers.onThrottledResize));for(var d in this._plugins)this._plugins[d].destroy();this.$stage.children(\".cloned\").remove(),this.$stage.unwrap(),this.$stage.children().contents().unwrap(),this.$stage.children().unwrap(),this.$stage.remove(),this.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr(\"class\",this.$element.attr(\"class\").replace(new RegExp(this.options.responsiveClass+\"-\\\\S+\\\\s\",\"g\"),\"\")).removeData(\"owl.carousel\")},e.prototype.op=function(a,b,c){var d=this.settings.rtl;switch(b){case\"<\":return d?a>c:a\":return d?ac;case\">=\":return d?a<=c:a>=c;case\"<=\":return d?a>=c:a<=c}},e.prototype.on=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d):a.attachEvent&&a.attachEvent(\"on\"+b,c)},e.prototype.off=function(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,d):a.detachEvent&&a.detachEvent(\"on\"+b,c)},e.prototype.trigger=function(b,c,d,f,g){var h={item:{count:this._items.length,index:this.current()}},i=a.camelCase(a.grep([\"on\",b,d],function(a){return a}).join(\"-\").toLowerCase()),j=a.Event([b,\"owl\",d||\"carousel\"].join(\".\").toLowerCase(),a.extend({relatedTarget:this},h,c));return this._supress[b]||(a.each(this._plugins,function(a,b){b.onTrigger&&b.onTrigger(j)}),this.register({type:e.Type.Event,name:b}),this.$element.trigger(j),this.settings&&\"function\"==typeof this.settings[i]&&this.settings[i].call(this,j)),j},e.prototype.enter=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]===d&&(this._states.current[b]=0),this._states.current[b]++},this))},e.prototype.leave=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]--},this))},e.prototype.register=function(b){if(b.type===e.Type.Event){if(a.event.special[b.name]||(a.event.special[b.name]={}),!a.event.special[b.name].owl){var c=a.event.special[b.name]._default;a.event.special[b.name]._default=function(a){return!c||!c.apply||a.namespace&&-1!==a.namespace.indexOf(\"owl\")?a.namespace&&a.namespace.indexOf(\"owl\")>-1:c.apply(this,arguments)},a.event.special[b.name].owl=!0}}else b.type===e.Type.State&&(this._states.tags[b.name]?this._states.tags[b.name]=this._states.tags[b.name].concat(b.tags):this._states.tags[b.name]=b.tags,this._states.tags[b.name]=a.grep(this._states.tags[b.name],a.proxy(function(c,d){return a.inArray(c,this._states.tags[b.name])===d},this)))},e.prototype.suppress=function(b){a.each(b,a.proxy(function(a,b){this._supress[b]=!0},this))},e.prototype.release=function(b){a.each(b,a.proxy(function(a,b){delete this._supress[b]},this))},e.prototype.pointer=function(a){var c={x:null,y:null};return a=a.originalEvent||a||b.event,a=a.touches&&a.touches.length?a.touches[0]:a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:a,a.pageX?(c.x=a.pageX,c.y=a.pageY):(c.x=a.clientX,c.y=a.clientY),c},e.prototype.isNumeric=function(a){return!isNaN(parseFloat(a))},e.prototype.difference=function(a,b){return{x:a.x-b.x,y:a.y-b.y}},a.fn.owlCarousel=function(b){var c=Array.prototype.slice.call(arguments,1);return this.each(function(){var d=a(this),f=d.data(\"owl.carousel\");f||(f=new e(this,\"object\"==typeof b&&b),d.data(\"owl.carousel\",f),a.each([\"next\",\"prev\",\"to\",\"destroy\",\"refresh\",\"replace\",\"add\",\"remove\"],function(b,c){f.register({type:e.Type.Event,name:c}),f.$element.on(c+\".owl.carousel.core\",a.proxy(function(a){a.namespace&&a.relatedTarget!==this&&(this.suppress([c]),f[c].apply(this,[].slice.call(arguments,1)),this.release([c]))},f))})),\"string\"==typeof b&&\"_\"!==b.charAt(0)&&f[b].apply(f,c)})},a.fn.owlCarousel.Constructor=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._interval=null,this._visible=null,this._handlers={\"initialized.owl.carousel\":a.proxy(function(a){a.namespace&&this._core.settings.autoRefresh&&this.watch()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={autoRefresh:!0,autoRefreshInterval:500},e.prototype.watch=function(){this._interval||(this._visible=this._core.isVisible(),this._interval=b.setInterval(a.proxy(this.refresh,this),this._core.settings.autoRefreshInterval))},e.prototype.refresh=function(){this._core.isVisible()!==this._visible&&(this._visible=!this._visible,this._core.$element.toggleClass(\"owl-hidden\",!this._visible),this._visible&&this._core.invalidate(\"width\")&&this._core.refresh())},e.prototype.destroy=function(){var a,c;b.clearInterval(this._interval);for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(c in Object.getOwnPropertyNames(this))\"function\"!=typeof this[c]&&(this[c]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoRefresh=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._loaded=[],this._handlers={\"initialized.owl.carousel change.owl.carousel resized.owl.carousel\":a.proxy(function(b){if(b.namespace&&this._core.settings&&this._core.settings.lazyLoad&&(b.property&&\"position\"==b.property.name||\"initialized\"==b.type)){var c=this._core.settings,e=c.center&&Math.ceil(c.items/2)||c.items,f=c.center&&-1*e||0,g=(b.property&&b.property.value!==d?b.property.value:this._core.current())+f,h=this._core.clones().length,i=a.proxy(function(a,b){this.load(b)},this);for(c.lazyLoadEager>0&&(e+=c.lazyLoadEager,c.loop&&(g-=c.lazyLoadEager,e++));f++-1||(e.each(a.proxy(function(c,d){var e,f=a(d),g=b.devicePixelRatio>1&&f.attr(\"data-src-retina\")||f.attr(\"data-src\")||f.attr(\"data-srcset\");this._core.trigger(\"load\",{element:f,url:g},\"lazy\"),f.is(\"img\")?f.one(\"load.owl.lazy\",a.proxy(function(){f.css(\"opacity\",1),this._core.trigger(\"loaded\",{element:f,url:g},\"lazy\")},this)).attr(\"src\",g):f.is(\"source\")?f.one(\"load.owl.lazy\",a.proxy(function(){this._core.trigger(\"loaded\",{element:f,url:g},\"lazy\")},this)).attr(\"srcset\",g):(e=new Image,e.onload=a.proxy(function(){f.css({\"background-image\":'url(\"'+g+'\")',opacity:\"1\"}),this._core.trigger(\"loaded\",{element:f,url:g},\"lazy\")},this),e.src=g)},this)),this._loaded.push(d.get(0)))},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this._core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))\"function\"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Lazy=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(c){this._core=c,this._previousHeight=null,this._handlers={\"initialized.owl.carousel refreshed.owl.carousel\":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&this.update()},this),\"changed.owl.carousel\":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&\"position\"===a.property.name&&this.update()},this),\"loaded.owl.lazy\":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&a.element.closest(\".\"+this._core.settings.itemClass).index()===this._core.current()&&this.update()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers),this._intervalId=null;var d=this;a(b).on(\"load\",function(){d._core.settings.autoHeight&&d.update()}),a(b).resize(function(){d._core.settings.autoHeight&&(null!=d._intervalId&&clearTimeout(d._intervalId),d._intervalId=setTimeout(function(){d.update()},250))})};e.Defaults={autoHeight:!1,autoHeightClass:\"owl-height\"},e.prototype.update=function(){var b=this._core._current,c=b+this._core.settings.items,d=this._core.settings.lazyLoad,e=this._core.$stage.children().toArray().slice(b,c),f=[],g=0;a.each(e,function(b,c){f.push(a(c).height())}),g=Math.max.apply(null,f),g<=1&&d&&this._previousHeight&&(g=this._previousHeight),this._previousHeight=g,this._core.$stage.parent().height(g).addClass(this._core.settings.autoHeightClass)},e.prototype.destroy=function(){var a,b;for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))\"function\"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoHeight=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._videos={},this._playing=null,this._handlers={\"initialized.owl.carousel\":a.proxy(function(a){a.namespace&&this._core.register({type:\"state\",name:\"playing\",tags:[\"interacting\"]})},this),\"resize.owl.carousel\":a.proxy(function(a){a.namespace&&this._core.settings.video&&this.isInFullScreen()&&a.preventDefault()},this),\"refreshed.owl.carousel\":a.proxy(function(a){a.namespace&&this._core.is(\"resizing\")&&this._core.$stage.find(\".cloned .owl-video-frame\").remove()},this),\"changed.owl.carousel\":a.proxy(function(a){a.namespace&&\"position\"===a.property.name&&this._playing&&this.stop()},this),\"prepared.owl.carousel\":a.proxy(function(b){if(b.namespace){var c=a(b.content).find(\".owl-video\");c.length&&(c.css(\"display\",\"none\"),this.fetch(c,a(b.content)))}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers),this._core.$element.on(\"click.owl.video\",\".owl-video-play-icon\",a.proxy(function(a){this.play(a)},this))};e.Defaults={video:!1,videoHeight:!1,videoWidth:!1},e.prototype.fetch=function(a,b){var c=function(){return a.attr(\"data-vimeo-id\")?\"vimeo\":a.attr(\"data-vzaar-id\")?\"vzaar\":\"youtube\"}(),d=a.attr(\"data-vimeo-id\")||a.attr(\"data-youtube-id\")||a.attr(\"data-vzaar-id\"),e=a.attr(\"data-width\")||this._core.settings.videoWidth,f=a.attr(\"data-height\")||this._core.settings.videoHeight,g=a.attr(\"href\");if(!g)throw new Error(\"Missing video URL.\");if(d=g.match(/(http:|https:|)\\/\\/(player.|www.|app.)?(vimeo\\.com|youtu(be\\.com|\\.be|be\\.googleapis\\.com|be\\-nocookie\\.com)|vzaar\\.com)\\/(video\\/|videos\\/|embed\\/|channels\\/.+\\/|groups\\/.+\\/|watch\\?v=|v\\/)?([A-Za-z0-9._%-]*)(\\&\\S+)?/),d[3].indexOf(\"youtu\")>-1)c=\"youtube\";else if(d[3].indexOf(\"vimeo\")>-1)c=\"vimeo\";else{if(!(d[3].indexOf(\"vzaar\")>-1))throw new Error(\"Video URL not supported.\");c=\"vzaar\"}d=d[6],this._videos[g]={type:c,id:d,width:e,height:f},b.attr(\"data-video\",g),this.thumbnail(a,this._videos[g])},e.prototype.thumbnail=function(b,c){var d,e,f,g=c.width&&c.height?\"width:\"+c.width+\"px;height:\"+c.height+\"px;\":\"\",h=b.find(\"img\"),i=\"src\",j=\"\",k=this._core.settings,l=function(c){e='
',d=k.lazyLoad?a(\"
\",{class:\"owl-video-tn \"+j,srcType:c}):a(\"
\",{class:\"owl-video-tn\",style:\"opacity:1;background-image:url(\"+c+\")\"}),b.after(d),b.after(e)};if(b.wrap(a(\"
\",{class:\"owl-video-wrapper\",style:g})),this._core.settings.lazyLoad&&(i=\"data-src\",j=\"owl-lazy\"),h.length)return l(h.attr(i)),h.remove(),!1;\"youtube\"===c.type?(f=\"//img.youtube.com/vi/\"+c.id+\"/hqdefault.jpg\",l(f)):\"vimeo\"===c.type?a.ajax({type:\"GET\",url:\"//vimeo.com/api/v2/video/\"+c.id+\".json\",jsonp:\"callback\",dataType:\"jsonp\",success:function(a){f=a[0].thumbnail_large,l(f)}}):\"vzaar\"===c.type&&a.ajax({type:\"GET\",url:\"//vzaar.com/api/videos/\"+c.id+\".json\",jsonp:\"callback\",dataType:\"jsonp\",success:function(a){f=a.framegrab_url,l(f)}})},e.prototype.stop=function(){this._core.trigger(\"stop\",null,\"video\"),this._playing.find(\".owl-video-frame\").remove(),this._playing.removeClass(\"owl-video-playing\"),this._playing=null,this._core.leave(\"playing\"),this._core.trigger(\"stopped\",null,\"video\")},e.prototype.play=function(b){var c,d=a(b.target),e=d.closest(\".\"+this._core.settings.itemClass),f=this._videos[e.attr(\"data-video\")],g=f.width||\"100%\",h=f.height||this._core.$stage.height();this._playing||(this._core.enter(\"playing\"),this._core.trigger(\"play\",null,\"video\"),e=this._core.items(this._core.relative(e.index())),this._core.reset(e.index()),c=a(''),c.attr(\"height\",h),c.attr(\"width\",g),\"youtube\"===f.type?c.attr(\"src\",\"//www.youtube.com/embed/\"+f.id+\"?autoplay=1&rel=0&v=\"+f.id):\"vimeo\"===f.type?c.attr(\"src\",\"//player.vimeo.com/video/\"+f.id+\"?autoplay=1\"):\"vzaar\"===f.type&&c.attr(\"src\",\"//view.vzaar.com/\"+f.id+\"/player?autoplay=true\"),a(c).wrap('
').insertAfter(e.find(\".owl-video\")),this._playing=e.addClass(\"owl-video-playing\"))},e.prototype.isInFullScreen=function(){var b=c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement;return b&&a(b).parent().hasClass(\"owl-video-frame\")},e.prototype.destroy=function(){var a,b;this._core.$element.off(\"click.owl.video\");for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))\"function\"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Video=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this.core=b,this.core.options=a.extend({},e.Defaults,this.core.options),this.swapping=!0,this.previous=d,this.next=d,this.handlers={\"change.owl.carousel\":a.proxy(function(a){a.namespace&&\"position\"==a.property.name&&(this.previous=this.core.current(),this.next=a.property.value)},this),\"drag.owl.carousel dragged.owl.carousel translated.owl.carousel\":a.proxy(function(a){a.namespace&&(this.swapping=\"translated\"==a.type)},this),\"translate.owl.carousel\":a.proxy(function(a){a.namespace&&this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)&&this.swap()},this)},this.core.$element.on(this.handlers)};e.Defaults={animateOut:!1,\r\nanimateIn:!1},e.prototype.swap=function(){if(1===this.core.settings.items&&a.support.animation&&a.support.transition){this.core.speed(0);var b,c=a.proxy(this.clear,this),d=this.core.$stage.children().eq(this.previous),e=this.core.$stage.children().eq(this.next),f=this.core.settings.animateIn,g=this.core.settings.animateOut;this.core.current()!==this.previous&&(g&&(b=this.core.coordinates(this.previous)-this.core.coordinates(this.next),d.one(a.support.animation.end,c).css({left:b+\"px\"}).addClass(\"animated owl-animated-out\").addClass(g)),f&&e.one(a.support.animation.end,c).addClass(\"animated owl-animated-in\").addClass(f))}},e.prototype.clear=function(b){a(b.target).css({left:\"\"}).removeClass(\"animated owl-animated-out owl-animated-in\").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut),this.core.onTransitionEnd()},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this.core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))\"function\"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Animate=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._call=null,this._time=0,this._timeout=0,this._paused=!0,this._handlers={\"changed.owl.carousel\":a.proxy(function(a){a.namespace&&\"settings\"===a.property.name?this._core.settings.autoplay?this.play():this.stop():a.namespace&&\"position\"===a.property.name&&this._paused&&(this._time=0)},this),\"initialized.owl.carousel\":a.proxy(function(a){a.namespace&&this._core.settings.autoplay&&this.play()},this),\"play.owl.autoplay\":a.proxy(function(a,b,c){a.namespace&&this.play(b,c)},this),\"stop.owl.autoplay\":a.proxy(function(a){a.namespace&&this.stop()},this),\"mouseover.owl.autoplay\":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is(\"rotating\")&&this.pause()},this),\"mouseleave.owl.autoplay\":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is(\"rotating\")&&this.play()},this),\"touchstart.owl.core\":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is(\"rotating\")&&this.pause()},this),\"touchend.owl.core\":a.proxy(function(){this._core.settings.autoplayHoverPause&&this.play()},this)},this._core.$element.on(this._handlers),this._core.options=a.extend({},e.Defaults,this._core.options)};e.Defaults={autoplay:!1,autoplayTimeout:5e3,autoplayHoverPause:!1,autoplaySpeed:!1},e.prototype._next=function(d){this._call=b.setTimeout(a.proxy(this._next,this,d),this._timeout*(Math.round(this.read()/this._timeout)+1)-this.read()),this._core.is(\"interacting\")||c.hidden||this._core.next(d||this._core.settings.autoplaySpeed)},e.prototype.read=function(){return(new Date).getTime()-this._time},e.prototype.play=function(c,d){var e;this._core.is(\"rotating\")||this._core.enter(\"rotating\"),c=c||this._core.settings.autoplayTimeout,e=Math.min(this._time%(this._timeout||c),c),this._paused?(this._time=this.read(),this._paused=!1):b.clearTimeout(this._call),this._time+=this.read()%c-e,this._timeout=c,this._call=b.setTimeout(a.proxy(this._next,this,d),c-e)},e.prototype.stop=function(){this._core.is(\"rotating\")&&(this._time=0,this._paused=!0,b.clearTimeout(this._call),this._core.leave(\"rotating\"))},e.prototype.pause=function(){this._core.is(\"rotating\")&&!this._paused&&(this._time=this.read(),this._paused=!0,b.clearTimeout(this._call))},e.prototype.destroy=function(){var a,b;this.stop();for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))\"function\"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.autoplay=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){\"use strict\";var e=function(b){this._core=b,this._initialized=!1,this._pages=[],this._controls={},this._templates=[],this.$element=this._core.$element,this._overrides={next:this._core.next,prev:this._core.prev,to:this._core.to},this._handlers={\"prepared.owl.carousel\":a.proxy(function(b){b.namespace&&this._core.settings.dotsData&&this._templates.push('
'+a(b.content).find(\"[data-dot]\").addBack(\"[data-dot]\").attr(\"data-dot\")+\"
\")},this),\"added.owl.carousel\":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,0,this._templates.pop())},this),\"remove.owl.carousel\":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,1)},this),\"changed.owl.carousel\":a.proxy(function(a){a.namespace&&\"position\"==a.property.name&&this.draw()},this),\"initialized.owl.carousel\":a.proxy(function(a){a.namespace&&!this._initialized&&(this._core.trigger(\"initialize\",null,\"navigation\"),this.initialize(),this.update(),this.draw(),this._initialized=!0,this._core.trigger(\"initialized\",null,\"navigation\"))},this),\"refreshed.owl.carousel\":a.proxy(function(a){a.namespace&&this._initialized&&(this._core.trigger(\"refresh\",null,\"navigation\"),this.update(),this.draw(),this._core.trigger(\"refreshed\",null,\"navigation\"))},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers)};e.Defaults={nav:!1,navText:['',''],navSpeed:!1,navElement:'button type=\"button\" role=\"presentation\"',navContainer:!1,navContainerClass:\"owl-nav\",navClass:[\"owl-prev\",\"owl-next\"],slideBy:1,dotClass:\"owl-dot\",dotsClass:\"owl-dots\",dots:!0,dotsEach:!1,dotsData:!1,dotsSpeed:!1,dotsContainer:!1},e.prototype.initialize=function(){var b,c=this._core.settings;this._controls.$relative=(c.navContainer?a(c.navContainer):a(\"
\").addClass(c.navContainerClass).appendTo(this.$element)).addClass(\"disabled\"),this._controls.$previous=a(\"<\"+c.navElement+\">\").addClass(c.navClass[0]).html(c.navText[0]).prependTo(this._controls.$relative).on(\"click\",a.proxy(function(a){this.prev(c.navSpeed)},this)),this._controls.$next=a(\"<\"+c.navElement+\">\").addClass(c.navClass[1]).html(c.navText[1]).appendTo(this._controls.$relative).on(\"click\",a.proxy(function(a){this.next(c.navSpeed)},this)),c.dotsData||(this._templates=[a('\r\n
`\r\n )\r\n })\r\n\r\n // click event on remove item button\r\n $(\".js-search-history-item-remove\").click(function (event) {\r\n event.preventDefault();\r\n const targetElement = $(this).closest('.search-history__item')\r\n\r\n removeLocalStorage(\r\n `${window.prefixSearchHistory}-${activeIDFinder()}`,\r\n targetElement.find('.search-history__content').attr('href')\r\n )\r\n targetElement.remove()\r\n createSearchHistoryCard()\r\n })\r\n }\r\n\r\n $('.js-search-history-loading').css(\"display\", 'none')\r\n}\r\n\r\n// add property in local storage\r\nfunction createLocalStorageKey(identifier) {\r\n // identifier: string\r\n if (identifier === 'trip-tab') {\r\n let prefixID = findTourType()\r\n if (!Boolean(window.localStorage.getItem(`${window.prefixSearchHistory}-${prefixID}${identifier}`)))\r\n window.localStorage.setItem(`${window.prefixSearchHistory}-${prefixID}${identifier}`, `[]`)\r\n }\r\n else if (Boolean(identifier) && !Boolean(window.localStorage.getItem(`${window.prefixSearchHistory}-${identifier}`))) {\r\n window.localStorage.setItem(`${window.prefixSearchHistory}-${identifier}`, `[]`)\r\n }\r\n createSearchHistoryCard()\r\n}\r\n\r\n// filler content function\r\nfunction fillerAdaptor(identifier, item) { // edit this adaptor\r\n switch (identifier) {\r\n case 'flight-tab': case 'internal-flight-tab':\r\n return flightSearchHistoryContent(item)\r\n case 'hotel-tab': case 'internal-hotel-tab':\r\n return hotelSearchHistoryContent({ ...item, identifier: identifier })\r\n case 'offline-trip-tab':\r\n return offlineTripSearchHistoryContent(item)\r\n case 'online-trip-tab':\r\n return onlineTripSearchHistoryContent(item)\r\n case 'trip-tab':\r\n return tripSearchHistoryContent(item)\r\n case 'insurance-tab':\r\n return insuranceSearchHistoryContent(item)\r\n case 'cip-tab':\r\n return cipSearchHistoryContent(item)\r\n case 'travel-service-tab':\r\n return travelServiceSearchHistoryContent(item)\r\n case 'domestic-rail-tab':\r\n return railSearchHistoryContent(item)\r\n case 'ship-tab': case 'internal-ship-tab':\r\n return shipSearchHistoryContent(item)\r\n default:\r\n return 'تاریخچه جستجو'\r\n }\r\n}\r\n\r\n// fill content of flight tabs\r\nfunction flightSearchHistoryContent(item) {\r\n if (item.routeType !== \"severalWay\") {\r\n return `\r\n
\r\n ${item.fromCity.title}${item.toCity.title}\r\n
\r\n
${moment(item.startDateValue).format(\"jDD jMMMM\")}${item.routeType === 'twoWay' ? ` تا ${moment(item.endDateValue).format(\"jDD jMMMM\")}` : ``\r\n }
\r\n `\r\n } else {\r\n return `\r\n
\r\n پرواز چند مسیره\r\n
\r\n
${moment(item.date[0]).format(\"jDD jMMMM\")}${item.date[0] !== item.date.slice(-1)[0] ? ` تا ${moment(item.date.slice(-1)[0]).format(\"jDD jMMMM\")}` : ''\r\n }
\r\n `\r\n }\r\n}\r\n\r\n// fill content of ship tabs\r\nfunction shipSearchHistoryContent(item) {\r\n if (item.routeType !== \"severalWay\") {\r\n return `\r\n
\r\n ${item.fromCity.title}${item.toCity.title}\r\n
\r\n
${moment(item.startDateValue).format(\"jDD jMMMM\")}${item.routeType === 'twoWay' ? ` تا ${moment(item.endDateValue).format(\"jDD jMMMM\")}` : ``\r\n }
\r\n `\r\n } else {\r\n return `\r\n
\r\n کشتی چند مسیره\r\n
\r\n
${moment(item.date[0]).format(\"jDD jMMMM\")}${item.date[0] !== item.date.slice(-1)[0] ? ` تا ${moment(item.date.slice(-1)[0]).format(\"jDD jMMMM\")}` : ''\r\n }
\r\n `\r\n }\r\n}\r\n\r\n// fill content of hotel tabs\r\nfunction hotelSearchHistoryContent(item) {\r\n return `\r\n
\r\n ${item.hotelTitle}\r\n
\r\n
${moment(item.hotelStartDateEn).format(\"jDD jMMMM\")} تا ${moment(item.hotelEndDateEn).format(\"jDD jMMMM\")\r\n }
\r\n `\r\n}\r\n\r\n// fill content of offline tour\r\nfunction offlineTripSearchHistoryContent(item) {\r\n return `\r\n
\r\n ${item.title}\r\n
\r\n `\r\n}\r\n\r\n// fill content of online trip\r\nfunction onlineTripSearchHistoryContent(item) {\r\n return `\r\n
\r\n ${item.origin.tripTitle}${item.destination.tripTitle}\r\n \r\n
\r\n
${moment(item.tripStartDateEn).format(\"jDD jMMMM\")} تا ${moment(item.tripEndDateEn).format(\"jDD jMMMM\")\r\n }
\r\n `\r\n}\r\n\r\n// fill content of trip tab\r\nfunction tripSearchHistoryContent(item) {\r\n if (item.tourType === 'online') {\r\n return `\r\n
\r\n ${item.origin.tripTitle}${item.destination.tripTitle}\r\n \r\n
\r\n
${moment(item.tripStartDateEn).format(\"jDD jMMMM\")} تا ${moment(item.tripEndDateEn).format(\"jDD jMMMM\")\r\n }
\r\n `\r\n }\r\n else return `\r\n
\r\n ${item.title}\r\n
\r\n `\r\n}\r\n\r\n// fill content of insurance tab\r\nfunction insuranceSearchHistoryContent(item) {\r\n return `\r\n
\r\n ${item.country.value}\r\n
\r\n
${item.durationText} ${item.personCount} نفر
\r\n `\r\n}\r\n\r\n// fill content of cip tab\r\nfunction cipSearchHistoryContent(item) {\r\n let length = item.date.length\r\n return `\r\n
\r\n ${item.ciLlocation.title}\r\n
\r\n
${item.date.reduce(\r\n (string, date, index) => {\r\n return string += `${moment(date).format(\"jDD jMMMM\")}${index !== length - 1 ? '-' : ''}`\r\n },\r\n '',\r\n )\r\n }
\r\n `\r\n}\r\n\r\n// fill content of travel service tab\r\nfunction travelServiceSearchHistoryContent(item) {\r\n return `\r\n
\r\n ${item.title}\r\n
\r\n `\r\n}\r\n\r\n// fill content of rail tab\r\nfunction railSearchHistoryContent(item) {\r\n return `\r\n
\r\n ${item.fromCity.title}${item.toCity.title\r\n }\r\n
\r\n
${moment(item.startDateValue).format(\"jDD jMMMM\")}${item.routeType === 'rail-twoWay' ? ` تا ${moment(item.endDateValue).format(\"jDD jMMMM\")}` : ``\r\n }
\r\n `\r\n}\r\n","var sourceUrl;\r\nvar documentWidth = $(document).width();\r\nvar datePickerMode = localStorage.getItem(\"datePickerMode\") ? Number(localStorage.getItem(\"datePickerMode\")) : 2;\r\n\r\n$(window).resize(function () {\r\n documentWidth = $(document).width();\r\n});\r\n\r\n$(function () {\r\n datePicker();\r\n\r\n // show more description in property\r\n $(\".js-show-more\").on(\"click\", function () {\r\n $(\".js-property-footer-content\").toggleClass(\"auto-height\");\r\n $(this).toggleClass(\"active\");\r\n });\r\n\r\n $(\".js-flight-booking-infant-info\").click(function () {\r\n $(this).closest(\".js-travelers\").find(\".js-flight-booking-infant-description\").slideDown();\r\n });\r\n\r\n $(\".js-flight .js-auto-search\").each(function () {\r\n autoSearch($(this));\r\n });\r\n\r\n //tab click\r\n var flag = 0;\r\n\r\n radioCheckedValue = $(\".js-flight .js-routes-select input:radio:checked\").val();\r\n\r\n $(\".js-flight-tab\").click(function () {\r\n routesTypeCheck(radioCheckedValue);\r\n });\r\n\r\n routesTypeCheck(radioCheckedValue);\r\n\r\n ////////////traveller count form\r\n\r\n const passemgers = (target) => {\r\n return {\r\n adult: Number($(target).closest(\".js-travelers\").find(\".js-passenger-adult\").find(\".js-number-passenger\").text()),\r\n child: Number($(target).closest(\".js-travelers\").find(\".js-passenger-child\").find(\".js-number-passenger\").text()),\r\n infant: Number(\r\n $(target).closest(\".js-travelers\").find(\".js-passenger-infant\").find(\".js-number-passenger\").text(),\r\n ),\r\n };\r\n };\r\n\r\n const updatePassenger = (target, type, value) => {\r\n $(target).parent().find(\".js-number-passenger\").text(value);\r\n $(target).closest(\".js-economy-target\").find(`.js-flight-${type}-number`).text(value);\r\n handlePassengerLimitErrorMessage(target);\r\n };\r\n\r\n const increaseAdult = (target) => {\r\n let { adult, child } = passemgers(target);\r\n\r\n if (adult + child > 8) handlePassengerLimitErrorMessage(target, \"maxPassengersNumbers\");\r\n else updatePassenger(target, \"adults\", adult + 1);\r\n };\r\n\r\n const increaseChild = (target) => {\r\n let { adult, child } = passemgers(target);\r\n\r\n if (adult + child > 8) handlePassengerLimitErrorMessage(target, \"maxPassengersNumbers\");\r\n else updatePassenger(target, \"child\", child + 1);\r\n };\r\n\r\n const increaseInfant = (target) => {\r\n let { adult, infant } = passemgers(target);\r\n\r\n if (adult <= infant) handlePassengerLimitErrorMessage(target, \"validationOfAdultAndInfantsNumber\");\r\n else updatePassenger(target, \"infant\", infant + 1);\r\n };\r\n\r\n const decreaseAdult = (target) => {\r\n let { adult, infant } = passemgers(target);\r\n\r\n if (adult <= Number($(target).parent().find(\".js-number-passenger\").data(\"min\")))\r\n handlePassengerLimitErrorMessage(target, \"minPassengersNumbers\");\r\n else if (adult <= infant) handlePassengerLimitErrorMessage(target, \"validationOfAdultAndBabiesNumber\");\r\n else updatePassenger(target, \"adults\", adult - 1);\r\n };\r\n\r\n const decreaseChild = (target) => {\r\n let { child } = passemgers(target);\r\n\r\n if (child > Number($(target).parent().find(\".js-number-passenger\").data(\"min\")))\r\n updatePassenger(target, \"child\", child - 1);\r\n };\r\n\r\n const decreaseInfant = (target) => {\r\n let { infant } = passemgers(target);\r\n\r\n if (infant > Number($(target).parent().find(\".js-number-passenger\").data(\"min\")))\r\n updatePassenger(target, \"infant\", infant - 1);\r\n };\r\n\r\n const handlePassengerLimitErrorMessage = (target, msg) => {\r\n const errorMessages = {\r\n maxPassengersNumbers: \"تعداد مسافران غیر از نوزاد بیشتر از ۹ نفر نمیتواند باشد\",\r\n validationOfAdultAndInfantsNumber: \"تعداد نوزاد نمی تواند بیشتر از تعداد بزرگسال باشد\",\r\n minPassengersNumbers: \"حداقل تعداد مسافران یک بزرگسال می باشد\",\r\n validationOfAdultAndBabiesNumber: \"تعداد بزرگسال نمی تواند کمتر از تعداد نوزاد باشد\",\r\n };\r\n\r\n // for desktop\r\n let errorLocation = $(target)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight .js-section-active .js-travelers\");\r\n\r\n if (errorLocation.find(\".js-error-travelers\").length)\r\n errorLocation.find(\".js-error-travelers\").text(errorMessages[msg] || \"\");\r\n else\r\n errorLocation.append(\r\n `${errorMessages[msg] || \"\"}`,\r\n );\r\n\r\n // for mobile\r\n $(target)\r\n .closest(\".js-travelers\")\r\n .find(\".js-validation-economy\")\r\n .text(errorMessages[msg] || \"\");\r\n };\r\n\r\n const findPassengerType = (target) => {\r\n let listElementClass = $(target).closest(\"li\").attr(\"class\");\r\n\r\n return listElementClass.includes(\"js-passenger-adult\")\r\n ? \"adult\"\r\n : listElementClass.includes(\"js-passenger-child\")\r\n ? \"child\"\r\n : listElementClass.includes(\"js-passenger-infant\")\r\n ? \"infant\"\r\n : undefined;\r\n };\r\n\r\n var sum;\r\n // increase passengers\r\n $(\".js-flight .js-count-box .js-max\").click(async function () {\r\n let actions = {\r\n adult: increaseAdult,\r\n child: increaseChild,\r\n infant: increaseInfant,\r\n };\r\n\r\n if (actions[findPassengerType($(this))]) await actions[findPassengerType($(this))]($(this));\r\n\r\n calcSum($(this).closest(\".js-economy-target\"));\r\n });\r\n\r\n // decrease passengers\r\n $(\".js-flight .js-count-box .js-min\").click(async function () {\r\n let actions = {\r\n adult: decreaseAdult,\r\n child: decreaseChild,\r\n infant: decreaseInfant,\r\n };\r\n\r\n if (actions[findPassengerType($(this))]) await actions[findPassengerType($(this))]($(this));\r\n\r\n calcSum($(this).closest(\".js-booking-container\"));\r\n });\r\n\r\n $(\".js-flight .js-economy-target\").each(function () {\r\n calcSum($(this));\r\n });\r\n\r\n function calcSum(obj) {\r\n sum = 0;\r\n obj.find(\"li.js-passenger-list .js-number-passenger\").each(function () {\r\n sum += Number($(this).text());\r\n obj.find(\".js-traveles-number .js-number\").text(sum);\r\n });\r\n }\r\n\r\n //select cabin type\r\n $(\".js-flight .js-cabin-type\").change(function () {\r\n $(\".js-cabin-type-label\").text(this.value).attr(\"title\", $(this).val());\r\n });\r\n\r\n //route type select\r\n var radioCheckedValue = $('.js-flight input:radio[name*=\"routeType\"]:checked').val();\r\n\r\n $(\".js-routes-select\").on(\"change\", \"input\", function () {\r\n routesTypeCheck($(this).val(), $(this));\r\n });\r\n\r\n function routesTypeCheck(value, obj) {\r\n if (value === \"twoWay\") {\r\n $(obj).closest(\".js-booking-section.active\").find(\".js-flight\").find(\".returnDate\").show();\r\n\r\n $(\".js-one-or-two-route-container\").show().addClass(\"js-section-active\");\r\n\r\n $(\".js-serveral-routes-container\").hide();\r\n\r\n $(\".js-flight-departure\").addClass(\"two-calendar\");\r\n\r\n sum = $(\".js-booking-section.active .js-one-or-two-route-passengers-sum\").text();\r\n } else if (value === \"oneWay\") {\r\n sum = $(\".js-booking-section.active .js-one-or-two-route-passengers-sum\").text();\r\n\r\n // $(\".js-booking-section.active .js-flight .returnDate\").hide();\r\n\r\n $(obj).closest(\".js-booking-section.active\").find(\".js-flight\").find(\".returnDate\").hide();\r\n\r\n $(\".js-flight-departure\").removeClass(\"two-calendar\");\r\n\r\n $(\".js-one-or-two-route-container\").show().addClass(\"js-section-active\");\r\n\r\n $(\".js-serveral-routes-container\").hide().removeClass(\"js-section-active\");\r\n } else if (value === \"severalWay\") {\r\n sum = $(\".js-booking-section.active .js-serveral-routes-passengers-sum\").text();\r\n\r\n $(\".js-one-or-two-route-container\").hide().removeClass(\"js-section-active\");\r\n\r\n $(\".js-flight-departure\").removeClass(\"two-calendar\");\r\n\r\n $(\".js-serveral-routes-container\").show().addClass(\"js-section-active\");\r\n }\r\n }\r\n\r\n function flightPassengerLimit({ adult, child, infant }, target) {\r\n // target: HTMLElement, adult: number, child: number, infant: number\r\n let msg = \"\";\r\n if (+adult < 1) msg = \"تعداد مسافر بزرگسال باید حداقل یک نفر باشد\";\r\n if (+adult + +child > 9) {\r\n msg = \"تعداد مسافران غیر از نوزاد بیشتر از ۹ نفر نباید باشد\";\r\n }\r\n if (+infant > +adult) {\r\n msg = `نوزادان همیشه با والدین یا سرپرستان خود سفر میکنند (هر بزرگسال یک کودک)، ${msg}`;\r\n }\r\n\r\n if (msg && $(window).width() > 767) {\r\n let errorLocation = $(target)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight .js-section-active .js-travelers\");\r\n\r\n if (errorLocation.find(\".js-error-travelers\").length) errorLocation.find(\".js-error-travelers\").text(msg);\r\n else errorLocation.append(`${msg}`);\r\n\r\n $(target)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight .js-section-active .js-economy-target>button\")\r\n .next(\".js-travelers\")\r\n .fadeToggle();\r\n }\r\n\r\n return msg;\r\n }\r\n\r\n ////search btn\r\n $(\".js-flight button.js-flight-search\").click(function (e) {\r\n var localStorageKey = `${window.prefixSearchHistory}-${\r\n $(\".js-search-holder-landing\").attr(\"id\") ||\r\n $(this).closest(\".js-tab-nav\").find(\".js-tab-content>div.active\").attr(\"id\")\r\n }`;\r\n var searchHistoryItem = {\r\n value: {},\r\n baseUrl: \"\",\r\n expire: \"\",\r\n };\r\n\r\n $(this).closest(\".js-booking-section.active\").find(\".js-flight\").find(\".error-message\").remove();\r\n var valid = true;\r\n var routeValid = true;\r\n var message = \"\";\r\n\r\n var baseUrl = \"/\" + \"fa\" + \"/flight/\";\r\n\r\n var cabinTypeNumber;\r\n\r\n //external\r\n var routeType = $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight\")\r\n .find(\".js-routes-select input:checked\")\r\n .val(); // oneWay | twoWay | severalWay\r\n searchHistoryItem.value.routeType = routeType;\r\n\r\n var cabinType = $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight\")\r\n .find(\".js-cabin-type-label\")\r\n .attr(\"title\"); // First | Business | Economy | Premium | \r\n searchHistoryItem.value.cabinType = cabinType;\r\n\r\n switch (cabinType) {\r\n case \"First\":\r\n cabinTypeNumber = 1;\r\n break;\r\n\r\n case \"Business\":\r\n cabinTypeNumber = 2;\r\n break;\r\n\r\n case \"Economy\":\r\n cabinTypeNumber = 3;\r\n break;\r\n\r\n case \"Premium\":\r\n cabinTypeNumber = 4;\r\n break;\r\n }\r\n\r\n searchHistoryItem.value.cabinTypeNumber = cabinTypeNumber;\r\n\r\n if ($(\".js-tab-nav\").length) {\r\n baseUrl +=\r\n $(\".js-tab-nav\").find(\".js-flight-tab.active\").attr(\"data-searchType\") == \"external-flight\"\r\n ? \"int/\" // international flight\r\n : \"dom/\"; //internal flight\r\n } else {\r\n baseUrl +=\r\n $(this).closest(\".js-booking-section.active\").attr(\"data-searchType\") == \"external-flight\" ? \"int/\" : \"dom/\";\r\n }\r\n\r\n if (routeType !== \"severalWay\") {\r\n // oneWay or twoWay\r\n if ($(this).closest(\".js-booking-section.active\").find(\".js-flight\").find(\".js-from-city\").data(\"code\")) {\r\n // from-city\r\n let fromCity = $(this).closest(\".js-booking-section.active\").find(\".js-flight\").find(\".js-from-city\").data();\r\n\r\n baseUrl += fromCity.code + \"-\";\r\n searchHistoryItem.value.fromCity = {\r\n code: fromCity.code,\r\n value: fromCity.value,\r\n title: fromCity.title,\r\n };\r\n } else {\r\n valid = false;\r\n }\r\n if ($(this).closest(\".js-booking-section.active\").find(\".js-flight\").find(\".js-to-city\").data(\"code\")) {\r\n // to-city\r\n let toCity = $(this).closest(\".js-booking-section.active\").find(\".js-flight\").find(\".js-to-city\").data();\r\n\r\n baseUrl += toCity.code;\r\n searchHistoryItem.value.toCity = {\r\n code: toCity.code,\r\n value: toCity.value,\r\n title: toCity.title,\r\n };\r\n } else {\r\n valid = false;\r\n }\r\n baseUrl += \"/?Cab=\" + cabinTypeNumber + \"&\";\r\n\r\n var startDateValue = $(this).closest(\".js-flight\").find(\".js-pick-date\");\r\n\r\n if (startDateValue.val() && startDateValue.next().val()) {\r\n // start-date\r\n baseUrl += \"Dep=\" + startDateValue.next().val();\r\n searchHistoryItem.value.startDateValue = startDateValue.next().val();\r\n } else {\r\n valid = false;\r\n }\r\n\r\n //dom flight and rafto bargasht\r\n if (\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight\")\r\n .find('.js-routes-select input:radio[name*=\"routeType\"]:checked')\r\n .val() === \"twoWay\"\r\n ) {\r\n // end date\r\n var endDateValue = $(this).closest(\".js-flight\").find(\".js-pick-date2\");\r\n\r\n if (endDateValue.val() && endDateValue.next().val()) {\r\n baseUrl += \"&Ret=\" + endDateValue.next().val();\r\n searchHistoryItem.value.endDateValue = endDateValue.next().val();\r\n } else {\r\n valid = false;\r\n }\r\n }\r\n\r\n baseUrl +=\r\n \"&Adt=\" +\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight\")\r\n .find(\".js-section-active .js-passenger-adult .js-number-passenger\")\r\n .text();\r\n\r\n if (\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight\")\r\n .find(\".js-section-active .js-passenger-child .js-number-passenger\")\r\n .text() > 0\r\n ) {\r\n baseUrl +=\r\n \"&Chd=\" +\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight\")\r\n .find(\".js-section-active .js-passenger-child .js-number-passenger\")\r\n .text();\r\n }\r\n if (\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight\")\r\n .find(\".js-section-active .js-passenger-infant .js-number-passenger\")\r\n .text() > 0\r\n ) {\r\n baseUrl +=\r\n \"&Inf=\" +\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight\")\r\n .find(\".js-section-active .js-passenger-infant .js-number-passenger\")\r\n .text();\r\n }\r\n\r\n searchHistoryItem.value.passenger = {\r\n adult: $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight\")\r\n .find(\".js-section-active .js-passenger-adult .js-number-passenger\")\r\n .text(),\r\n child: $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight\")\r\n .find(\".js-section-active .js-passenger-child .js-number-passenger\")\r\n .text(),\r\n infant: $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight\")\r\n .find(\".js-section-active .js-passenger-infant .js-number-passenger\")\r\n .text(),\r\n };\r\n\r\n if (searchHistoryItem.value.fromCity?.code)\r\n routeValid =\r\n searchHistoryItem.value.fromCity?.code?.trim()?.toLowerCase() !==\r\n searchHistoryItem.value.toCity?.code?.trim()?.toLowerCase();\r\n } else if (routeType === \"severalWay\") {\r\n searchHistoryItem.value.trip = [];\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight\")\r\n .find(\".js-serveral-routes-container .js-auto-search\")\r\n .each(function (index, value) {\r\n if ($(this).val() !== \"\") {\r\n searchHistoryItem.value.trip.push({\r\n code: $(this).data(\"code\"),\r\n value: $(this).data(\"value\"),\r\n });\r\n var valThis = $(this).data(\"code\");\r\n baseUrl += valThis;\r\n\r\n if ($(\".js-serveral-routes-container .js-auto-search\").length - 1 != index) {\r\n baseUrl += \"-\";\r\n }\r\n } else {\r\n valid = false;\r\n }\r\n });\r\n\r\n baseUrl += \"/?Cab=\" + cabinTypeNumber + \"&\";\r\n\r\n searchHistoryItem.value.date = [];\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight\")\r\n .find(\".js-section-active .js-pick-date\")\r\n .each(function (index, value) {\r\n if ($(this).val() !== \"\") {\r\n baseUrl += \"Dep=\" + $(this).next().val() + \"&\";\r\n searchHistoryItem.value.date.push($(this).next().val());\r\n } else {\r\n valid = false;\r\n }\r\n });\r\n\r\n baseUrl +=\r\n \"Adt=\" +\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight\")\r\n .find(\".js-section-active .js-passenger-adult .js-number-passenger\")\r\n .text();\r\n\r\n if (\r\n Number(\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight\")\r\n .find(\".js-section-active .js-passenger-child .js-number-passenger\")\r\n .text(),\r\n ) > 0\r\n ) {\r\n baseUrl +=\r\n \"&Chd=\" +\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight\")\r\n .find(\".js-section-active .js-passenger-child .js-number-passenger\")\r\n .text();\r\n }\r\n if (\r\n Number(\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight\")\r\n .find(\".js-section-active .js-passenger-infant .js-number-passenger\")\r\n .text(),\r\n ) > 0\r\n ) {\r\n baseUrl +=\r\n \"&Inf=\" +\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight\")\r\n .find(\".js-section-active .js-passenger-infant .js-number-passenger\")\r\n .text();\r\n }\r\n\r\n searchHistoryItem.value.passenger = {\r\n adult: $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight\")\r\n .find(\".js-section-active .js-passenger-adult .js-number-passenger\")\r\n .text(),\r\n child: $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight\")\r\n .find(\".js-section-active .js-passenger-child .js-number-passenger\")\r\n .text(),\r\n infant: $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight\")\r\n .find(\".js-section-active .js-passenger-infant .js-number-passenger\")\r\n .text(),\r\n };\r\n\r\n routeValid = !searchHistoryItem.value.trip.some(\r\n (tripItem, i, arr) => i % 2 === 0 && tripItem?.code && tripItem?.code === arr[i + 1]?.code,\r\n );\r\n }\r\n\r\n message = flightPassengerLimit(searchHistoryItem.value.passenger, $(this));\r\n\r\n if (!valid || !routeValid || message) {\r\n let msg = [];\r\n if (!valid) msg.push(\"لطفا تمام فیلدها را کامل نمایید\");\r\n if (!routeValid) msg.push(\"مبدا و مقصد نمی تواند یکسان باشد\");\r\n if (message) msg.push(message);\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-flight\")\r\n .append(`${msg.join(\"، \")}`);\r\n return false;\r\n } else {\r\n searchHistoryItem = {\r\n ...searchHistoryItem,\r\n baseUrl: baseUrl,\r\n expire: !!startDateValue ? startDateValue.next().val() : searchHistoryItem.value.date[0],\r\n };\r\n window.updateLocalStorage(localStorageKey, searchHistoryItem);\r\n\r\n window.location.assign(baseUrl);\r\n }\r\n });\r\n\r\n //////////\r\n $(\".js-exchange-btn\").click(function () {\r\n var input1 = $(this).closest(\".js-flight-cities\").find(\".js-from-city\");\r\n var input2 = $(this).closest(\".js-flight-cities\").find(\".js-to-city\");\r\n if (!input1.data(\"code\") || !input2.data(\"code\")) return;\r\n var inputList1 = input1.closest(\".js-flight-city\").find(\".js-flight-search-list\");\r\n var inputList2 = input2.closest(\".js-flight-city\").find(\".js-flight-search-list\");\r\n\r\n var valueHolderInMobile1 = $(this).closest(\".js-flight-cities\").find(\".js-from-city\").siblings(\".js-input-layout\");\r\n var valueHolderInMobile2 = $(this).closest(\".js-flight-cities\").find(\".js-to-city\").siblings(\".js-input-layout\");\r\n\r\n $(input2).swap(input1);\r\n\r\n $(valueHolderInMobile2).swap(valueHolderInMobile1);\r\n\r\n $(inputList2).swap(inputList1);\r\n\r\n input1.removeClass(\"js-from-city\").addClass(\"js-to-city\");\r\n input2.removeClass(\"js-to-city\").addClass(\"js-from-city\");\r\n });\r\n //swap elements\r\n $.fn.swap = function (elem) {\r\n elem = elem.jquery ? elem : $(elem);\r\n return this.each(function () {\r\n $(document.createTextNode(\"\")).insertBefore(this).before(elem.before(this)).remove();\r\n });\r\n };\r\n //traveller menu close\r\n $(document).mouseup(function (e) {\r\n if (\r\n !$(\".js-economy-target\").is(e.target) && // if the target of the click isn't the container...\r\n $(\".js-economy-target\").has(e.target).length === 0\r\n ) {\r\n if ($(window).width() > 767) {\r\n // ... nor a descendant of the container\r\n $(\".js-travelers\").fadeOut();\r\n } else {\r\n $(\".js-travelers\").removeClass(\"show-tmenu\");\r\n }\r\n }\r\n });\r\n\r\n ///events control in mobile\r\n $(\".js-flight\").delegate(\".js-close-auto-complete\", \"click\", function () {\r\n $(\"input#js-from-city, input#js-to-city\").autocomplete(\"close\");\r\n $(\".js-flight-city\").removeClass(\"show-mobile\");\r\n $(\".js-flight-search-list>ul\").hide();\r\n $(\"html\").removeClass(\"no-scroll\");\r\n });\r\n});\r\n\r\nfunction GetLanguage() {\r\n return window.location.pathname.split(\"/\")[1];\r\n}\r\n\r\n//add flight in several rout\r\n$(document).delegate(\".js-add-flight-route\", \"click\", function () {\r\n if ($(\".js-routes-row\").length <= 5) {\r\n var toCityValue = $(\".js-routes-row\").last().find(\".js-to-city\").val();\r\n var toCityValueAttr = $(\".js-routes-row\").last().find(\".js-to-city\").attr(\"data-code\");\r\n var toCitydirection = $(\".js-routes-row\").last().find(\".js-to-city\").css(\"direction\");\r\n\r\n var language = GetLanguage();\r\n\r\n var routeRowTemplate = `\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
کمی صبر کنید
\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
کمی صبر کنید ...
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n `;\r\n $(\".js-routes-row\").last().after($(routeRowTemplate));\r\n for (var i = 0; i < $(\".js-route-number\").length; i++) {\r\n var item = $(\".js-route-number\")[i];\r\n $(item).text(`مسیر ${i + 1}`);\r\n }\r\n\r\n srcType = $(this).attr(\"data-searchType\");\r\n\r\n getUrl(srcType);\r\n\r\n setTimeout(function () {\r\n $(\".js-flight .js-auto-search\").each(function () {\r\n autoSearch($(this));\r\n });\r\n }, 100);\r\n\r\n newdatePicker();\r\n }\r\n});\r\n\r\n//delete flight\r\n$(document).delegate(\".js-delete-flight-route\", \"click\", function () {\r\n $(this).closest(\".js-added-flight\").remove();\r\n for (var i = 0; i < $(\".js-route-number\").length; i++) {\r\n var item = $(\".js-route-number\")[i];\r\n $(item).text(`مسیر ${i + 1}`);\r\n }\r\n});\r\n\r\n//delete all flight\r\n$(document).delegate(\".js-clear-all-flight\", \"click\", function () {\r\n $(\".js-added-flight\").remove();\r\n for (var i = 0; i < $(\".js-route-number\").length; i++) {\r\n var item = $(\".js-route-number\")[i];\r\n $(item).text(`مسیر ${i + 1}`);\r\n }\r\n});\r\n\r\n//economy click\r\n$(document).delegate(\".js-economy-target>button\", \"click\", function () {\r\n $(this).next(\".js-travelers\").fadeToggle();\r\n $(this).next(\".js-travelers\").toggleClass(\"show-mobile\");\r\n if (documentWidth < 992) {\r\n $(\"html\").addClass(\"no-scroll\");\r\n }\r\n});\r\n\r\n//remove input text\r\n$(document).delegate(\".js-close-tmenu\", \"click\", function () {\r\n $(this).closest(\".js-travelers\").hide();\r\n $(\"html\").removeClass(\"no-scroll\");\r\n});\r\n\r\n// sort arrayObject\r\nfunction sortArrayObject(key, order = \"asc\") {\r\n return function (a, b) {\r\n if (!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) {\r\n // property doesn't exist on either object\r\n return 0;\r\n }\r\n\r\n var varA = typeof a[key] === \"string\" ? a[key].toUpperCase() : a[key];\r\n var varB = typeof b[key] === \"string\" ? b[key].toUpperCase() : b[key];\r\n\r\n var comparison = 0;\r\n\r\n if (varA > varB) {\r\n comparison = 1;\r\n } else if (varA < varB) {\r\n comparison = -1;\r\n }\r\n return order == \"desc\" ? comparison * -1 : comparison;\r\n };\r\n}\r\n\r\nvar cityList = [];\r\n\r\n//autoComplete\r\nfunction autoSearch($this) {\r\n if ($($this).closest(\".js-flight-cities\").length) {\r\n if ($(\".js-booking-section.active\").attr(\"data-searchType\") === \"internal-flight\") {\r\n if (typeof internalCityList != \"undefined\") {\r\n cityList = internalCityList;\r\n }\r\n } else {\r\n if (typeof internalCityList != \"undefined\") {\r\n cityList = externalCityList;\r\n }\r\n }\r\n }\r\n\r\n $(\".js-tab-nav .js-tab-nav-header button\").on(\"click\", function () {\r\n setTimeout(function () {\r\n if ($(\".js-tab-nav\").find(\"li.active\").attr(\"data-searchType\") === \"internal-flight\") {\r\n if (typeof internalCityList != \"undefined\") {\r\n cityList = internalCityList;\r\n }\r\n } else {\r\n if (typeof internalCityList != \"undefined\") {\r\n cityList = externalCityList;\r\n }\r\n }\r\n }, 0);\r\n });\r\n\r\n $.widget(\"custom.autocomplete\", $.ui.autocomplete, {\r\n _renderMenu: function (ul, items) {\r\n var that = this,\r\n currentCategory = \"\";\r\n var sortedByFeatured = items.sort(sortArrayObject(\"isFeatured\", \"desc\"));\r\n $.each(sortedByFeatured, function (index, item) {\r\n if (Object.keys(item).length) {\r\n that._renderItemData(ul, item);\r\n\r\n // if (!item.label) {\r\n // $.each(item, function (index, item) {\r\n // that._renderItemData(ul, item);\r\n // })\r\n // }\r\n }\r\n });\r\n\r\n if (ul.find(\".autocomplete-category-title\").length === 1) {\r\n ul.find(\".autocomplete-category-title\").remove();\r\n }\r\n },\r\n\r\n _renderItem: function (ul, item) {\r\n var li = \"\";\r\n\r\n if (Object.keys(item).length) {\r\n var className = item.isRtl ? \"rtl\" : \"ltr\";\r\n ul.removeClass(\"rtl ltr\");\r\n ul.addClass(className);\r\n\r\n if (!item.hasOwnProperty(\"airport\") && item.label) {\r\n li +=\r\n '
  • ' +\r\n '
    ' +\r\n item.label +\r\n \"\";\r\n\r\n if (item.hasOwnProperty(\"airports\") && item.airports !== null) {\r\n li += 'همه فرودگاه ها';\r\n } else if (item.hasOwnProperty(\"airports\") && item.airports === null) {\r\n li += ' (' + item.code.toUpperCase() + \")\";\r\n }\r\n\r\n li += \"
  • \";\r\n } else if (item.hasOwnProperty(\"airport\") && item.requestTerm != \"\" && item.airport) {\r\n var subdirectoryIcon = '';\r\n li +=\r\n '
  • ' +\r\n subdirectoryIcon +\r\n ' ' +\r\n item.label +\r\n \"\";\r\n li += \"
  • \";\r\n }\r\n }\r\n\r\n return $(li).appendTo(ul);\r\n },\r\n });\r\n\r\n $this\r\n .autocomplete({\r\n minLength: 0,\r\n delay: 400,\r\n appendTo: $this.next(),\r\n search: function (event) {\r\n $this.closest(\".js-flight-city\").find(\".js-search-loading\").show();\r\n if (\r\n $this.is(\".js-to-city\") &&\r\n $(\".js-tab-nav\").find(\"li.active\").attr(\"data-searchType\") === \"internal-flight\"\r\n ) {\r\n cityList = typeof destinationInternalCityList != \"undefined\" ? destinationInternalCityList : internalCityList;\r\n }\r\n if (\r\n $this.is(\".js-to-city\") &&\r\n $(\".js-tab-nav\").find(\"li.active\").attr(\"data-searchType\") === \"external-flight\"\r\n ) {\r\n cityList = typeof destinationExternalCityList != \"undefined\" ? destinationExternalCityList : externalCityList;\r\n }\r\n if (\r\n $this.is(\".js-from-city\") &&\r\n $(\".js-tab-nav\").find(\"li.active\").attr(\"data-searchType\") === \"internal-flight\"\r\n ) {\r\n cityList = internalCityList;\r\n }\r\n if (\r\n $this.is(\".js-from-city\") &&\r\n $(\".js-tab-nav\").find(\"li.active\").attr(\"data-searchType\") === \"external-flight\"\r\n ) {\r\n cityList = externalCityList;\r\n }\r\n\r\n $(this).closest(\".js-flight-city\").addClass(\"show-mobile\");\r\n\r\n if (documentWidth < 992) {\r\n $(\"html\").addClass(\"no-scroll\");\r\n }\r\n $(this).parent().find(\".error-message\").remove();\r\n },\r\n source: function (request, response) {\r\n if ($this.val() && cityList != null) {\r\n var srcType = $this.closest(\".js-flight-cities\").attr(\"data-searchType\");\r\n\r\n getUrl(srcType);\r\n $this.closest(\".js-flight-city\").find(\".js-search-loading\").show();\r\n $.ajax({\r\n url: sourceUrl,\r\n data: {\r\n keyword: request.term,\r\n orginPlace: $($this).is(\".js-from-city\"),\r\n },\r\n\r\n dataType: \"json\",\r\n success: function (data) {\r\n $this.closest(\".js-flight-city\").find(\".js-search-loading\").hide();\r\n //flight\r\n if ($($this).closest(\".js-flight-cities\").length) {\r\n var flightsArr = [],\r\n cities = {},\r\n airports = {};\r\n response(\r\n (flightsArr = []),\r\n $.map(data.results, function (obj) {\r\n cities = {\r\n label: obj.label,\r\n value: obj.cityTitle + \"(\" + obj.code + \")\",\r\n code: obj.code,\r\n cityTitle: obj.cityTitle,\r\n airports: obj.airports,\r\n isRtl: data.isRtl,\r\n isFeatured: obj.isFeatured,\r\n requestTerm: request.term,\r\n };\r\n flightsArr.push(cities);\r\n\r\n if (obj.airports != null && obj.airports.length) {\r\n $.map(obj.airports, function (airport) {\r\n airports = {\r\n airport: true,\r\n label: airport.label,\r\n code: airport.code,\r\n value: airport.label,\r\n isRtl: data.isRtl,\r\n isFeatured: obj.isFeatured,\r\n cityTitle: airport.cityTitle,\r\n requestTerm: request.term,\r\n };\r\n flightsArr.push(airports);\r\n });\r\n }\r\n\r\n return [cities, flightsArr.filter((a) => a.airport === true)];\r\n }),\r\n );\r\n }\r\n },\r\n error: function () {\r\n $this.closest(\".js-flight-city\").find(\".js-search-loading\").hide();\r\n },\r\n });\r\n } else {\r\n $this.closest(\".js-flight-city\").find(\".js-search-loading\").hide();\r\n if (cityList != null) {\r\n return response(cityList);\r\n } else {\r\n return [];\r\n }\r\n }\r\n },\r\n open: function () {\r\n var inputObj = $this;\r\n\r\n inputObj.next(\".js-flight-search-list\").children(\"ul\").width(inputObj.closest(\".js-flight-cities\").width());\r\n inputObj\r\n .next(\".js-flight-search-list\")\r\n .children(\"ul\")\r\n .offset({\r\n left: inputObj.closest(\".js-flight-cities\").offset().left,\r\n });\r\n inputObj.closest(\".js-flight-cities\").find(\".js-from-city\").addClass(\"focusedInput\");\r\n $(\".ui-autocomplete\").off(\"menufocus hover mouseover mouseenter\");\r\n\r\n //off autocomplete in chrome\r\n let chromeAgent = navigator.userAgent.indexOf(\"Chrome\") != -1;\r\n if (chromeAgent) {\r\n $this.attr(\"autocomplete\", \"off\");\r\n }\r\n\r\n inputObj\r\n .next(\".js-flight-search-list\")\r\n .children(\"ul\")\r\n .css({\r\n top: \"+=\" + 12,\r\n });\r\n },\r\n\r\n close: function () {\r\n $(\"html\").removeClass(\"no-scroll\");\r\n },\r\n\r\n select: function (e, ui) {\r\n $(this).attr(\"data-code\", ui.item.code);\r\n $(this).attr(\"data-title\", ui.item.cityTitle);\r\n $(this).attr(\"data-value\", ui.item.value);\r\n $(this).val();\r\n\r\n $(this).data({\r\n code: ui.item.code,\r\n title: ui.item.cityTitle,\r\n value: ui.item.value,\r\n });\r\n\r\n $(this).attr(\"placeholder\", ui.item.value);\r\n\r\n $this.parent().find(\".error-message\").remove();\r\n $this.removeClass(\"notValid\");\r\n\r\n if ($(this).closest(\".js-serveral-routes-container\").length && $(this).hasClass(\"js-to-city\")) {\r\n $(this).closest(\".js-routes-row\").find(\".js-pick-date\").trigger(\"focus\");\r\n\r\n if ($(this).closest(\".js-routes-row\").next().length) {\r\n if (!$(this).closest(\".js-routes-row\").next().find(\".js-from-city\").val()) {\r\n if ($(window).width() > 992) {\r\n $(this).attr(\"placeholder\", ui.item.value);\r\n }\r\n\r\n $(this).parent().find(\".error-message\").remove();\r\n }\r\n }\r\n }\r\n\r\n if ($(window).width() <= 992) {\r\n $(\".js-flight-city\").removeClass(\"show-mobile\");\r\n $(this)\r\n .closest(\".js-flight-city\")\r\n .find(\".js-input-layout\")\r\n .html(\"\" + ui.item.value + \"\");\r\n $(\"html\").removeClass(\"no-scroll\");\r\n $this.autocomplete(\"close\");\r\n $this.trigger(\"blur\");\r\n }\r\n\r\n if ($(this).is(\".js-from-city\")) {\r\n $(this).closest(\".js-flight-cities\").find(\".js-to-city\").autocomplete(\"search\");\r\n\r\n let timeOut = setTimeout(() => {\r\n $(this).closest(\".js-flight-cities\").find(\".js-to-city\").trigger(\"focus\");\r\n clearTimeout(timeOut);\r\n }, 0);\r\n } else if ($(this).is(\".js-to-city\")) {\r\n $(this).closest(\".js-one-or-two-route-container\").find(\".js-pick-date\").datepicker(\"show\");\r\n setTimeout(function () {\r\n document.activeElement.blur();\r\n // document.activeElement.focusout()\r\n }, 0);\r\n }\r\n\r\n $this.parent().find(\".error-message\").remove();\r\n $this.removeClass(\"notValid\");\r\n $(this).parent().find(\".error-message\").remove();\r\n\r\n tagManager({ value: ui.item.value, type: searchType });\r\n },\r\n })\r\n .bind(\"focus\", function (event) {\r\n if ($(window).width() > 992 || $(\".js-flight-city\").hasClass(\"show-mobile\")) {\r\n $(this).val(\"\");\r\n $(this).autocomplete(\"search\");\r\n $this.closest(\".js-flight-city\").find(\".js-search-loading\").hide();\r\n }\r\n })\r\n .bind(\"blur\", function () {\r\n $(this).val($(this).attr(\"placeholder\"));\r\n $this.closest(\".js-flight-city\").find(\".js-search-loading\").hide();\r\n });\r\n}\r\n\r\n//layout in mobile\r\n$(\".js-flight\").delegate(\".js-input-layout\", \"click\", function () {\r\n $(this).closest(\".js-flight-city\").addClass(\"show-mobile\");\r\n $(this).closest(\".js-flight-city\").find(\"input\").trigger(\"focus\");\r\n $(this).closest(\".js-flight-city\").find(\"input\").trigger(\"search\");\r\n});\r\n\r\n// init datePicker\r\nfunction datePicker() {\r\n setTimeout(function () {\r\n $(\".js-flight .js-flight-departure\").pickDate({\r\n dateFormat: \"yy/mm/dd\",\r\n dateFormatEn: \"yy M dd\",\r\n changeMonthAllow: false,\r\n changeYearAllow: false,\r\n showButtonPanel: true,\r\n isDependenceDates: false,\r\n showCurrentAtPos: 0,\r\n numberOfMonths: $(window).width() > 991 ? 2 : 1,\r\n minDate: -0,\r\n customClass: \"lightTheme\",\r\n showAllMonthsinList: false,\r\n langType: datePickerMode === 1 ? '':'fa', \r\n blurInmobile: true,\r\n dayNamesShortFa: [\"1شنبه\", \"2شنبه\", \"3شنبه\", \"4شنبه\", \"5شنبه\", \"جمعه\", \"شنبه\"],\r\n dayNamesShortEn: [\"Su\", \"Mo\", \"TU\", \"We\", \"Th\", \"Fr\", \"Sa\"],\r\n enterDateTitle: \"تاریخ رفت\",\r\n exitDateTitle: \"تاریخ برگشت\",\r\n enterDateTitleEn: \"Departure date\",\r\n exitDateTitleEn: \"Retun date\",\r\n fillHidden: {\r\n enable: true,\r\n outPut: \"en\", //en | Dependent_On_SelectedDate | fa\r\n customformatInhidden: \"YYYY-MM-DD\",\r\n },\r\n });\r\n }, 100);\r\n}\r\n\r\nfunction newdatePicker() {\r\n $(\".js-routes-row\")\r\n .last()\r\n .find(\".js-flight-departure\")\r\n .pickDate({\r\n dateFormat: \"yy/mm/dd\",\r\n dateFormatEn: \"yy M dd\",\r\n changeMonthAllow: false,\r\n changeYearAllow: false,\r\n showButtonPanel: true,\r\n blurInmobile: true,\r\n isDependenceDates: false,\r\n customClass: \"lightTheme\",\r\n showCurrentAtPos: 0,\r\n numberOfMonths: $(window).width() > 991 ? 2 : 1,\r\n minDate: -0,\r\n maxDate: \"+1Y\",\r\n showAllMonthsinList: false,\r\n langType: datePickerMode === 1 ? '':'fa', \r\n fillHidden: {\r\n enable: true,\r\n outPut: \"en\", //en | Dependent_On_SelectedDate | fa\r\n customformatInhidden: \"YYYY-MM-DD\",\r\n },\r\n });\r\n}\r\n\r\n// get url for ajax\r\nfunction getUrl(srcType) {\r\n if (srcType === \"internal-flight\") {\r\n sourceUrl = \"/airport/iranianairports/\";\r\n } else if (srcType === \"external-flight\") {\r\n sourceUrl = \"/airport/airports/\";\r\n }\r\n}\r\n","var sourceUrl;\r\nvar documentWidth = $(document).width();\r\nvar RootDataModel = modelInitializer.Get(\"RootData\");\r\n\r\n//define date picker mode\r\nvar datePickerMode = localStorage.getItem(\"datePickerMode\")\r\n ? Number(localStorage.getItem(\"datePickerMode\"))\r\n : 2;\r\n\r\n$(window).resize(function () {\r\n documentWidth = $(document).width();\r\n});\r\n\r\n$(function () {\r\n $(document).mouseup(function (e) {\r\n if (\r\n !$(\".js-rooms-options\").is(e.target) && // if the target of the click isn't the container...\r\n $(\".js-rooms-options\").has(e.target).length === 0\r\n ) {\r\n if ($(window).width() > 767) {\r\n // ... nor a descendant of the container\r\n $(\".js-rooms-options\").removeClass(\r\n \"hotel-booking__rooms-options--open\"\r\n );\r\n }\r\n }\r\n });\r\n\r\n hotelDatePicker();\r\n});\r\n\r\n// sort arrayObject\r\nfunction sortArrayObject(key, order = \"asc\") {\r\n return function (a, b) {\r\n if (!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) {\r\n // property doesn't exist on either object\r\n return 0;\r\n }\r\n\r\n var varA = typeof a[key] === \"string\" ? a[key].toUpperCase() : a[key];\r\n var varB = typeof b[key] === \"string\" ? b[key].toUpperCase() : b[key];\r\n\r\n var comparison = 0;\r\n\r\n if (varA > varB) {\r\n comparison = 1;\r\n } else if (varA < varB) {\r\n comparison = -1;\r\n }\r\n return order == \"desc\" ? comparison * -1 : comparison;\r\n };\r\n}\r\n\r\n$(function () {\r\n //close autoComplete in mobile\r\n $(\".js-hotel-cities\").delegate(\r\n \".js-close-auto-complete\",\r\n \"click\",\r\n function () {\r\n $(\".js-close\").closest(\".focused\").removeClass(\"focused\");\r\n $(\".js-mobile-layout\").show();\r\n $(\"#js-hotel-city\").hotelautoComplete(\"close\");\r\n $(\"html\").removeClass(\"no-scroll\");\r\n $(\".js-search-input\").removeClass(\"show-mobile\");\r\n }\r\n );\r\n});\r\n\r\nvar hotelList = [];\r\n\r\n//autoComplete\r\nfunction hotelSearch() {\r\n $(\".js-booking-section\").each(function () {\r\n var $this = $(this);\r\n if ($(this).hasClass(\"active\")) {\r\n if ($(this).attr(\"data-searchType\") === \"internal-hotel\") {\r\n if (typeof internalHotelList != \"undefined\") {\r\n hotelList = internalHotelList;\r\n }\r\n $this.find(\".js-hotel-form #js-hotel-city\").each(function () {\r\n hotelAutoSearch($(this), 2);\r\n });\r\n } else {\r\n if (typeof externalHotelList != \"undefined\") {\r\n hotelList = externalHotelList;\r\n }\r\n\r\n $this.find(\".js-hotel-form #js-hotel-city\").each(function () {\r\n hotelAutoSearch($(this), 1);\r\n });\r\n }\r\n }\r\n });\r\n\r\n $(\".js-tab-nav .js-tab-nav-header button\").on(\"click\", function () {\r\n setTimeout(function () {\r\n if (\r\n $(\".js-tab-nav\").find(\"li.active\").attr(\"data-searchType\") ===\r\n \"internal-hotel\"\r\n ) {\r\n if (typeof internalHotelList != \"undefined\") {\r\n hotelList = internalHotelList;\r\n }\r\n $(\".js-hotel-form #js-hotel-city\").each(function () {\r\n hotelAutoSearch($(this), 2);\r\n });\r\n } else {\r\n if (typeof externalHotelList != \"undefined\") {\r\n hotelList = externalHotelList;\r\n }\r\n\r\n $(\".js-hotel-form #js-hotel-city\").each(function () {\r\n hotelAutoSearch($(this), 1);\r\n });\r\n }\r\n }, 0);\r\n });\r\n\r\n $(\".js-hotel-form #js-hotel-city\").each(function () {\r\n if ($(this).attr(\"data-searchtype\")) {\r\n if ($(this).attr(\"data-searchtype\") == \"internal-hotel\") {\r\n hotelAutoSearch($(this), 2);\r\n } else if ($(this).attr(\"data-searchtype\") == \"external-hotel\") {\r\n hotelAutoSearch($(this), 1);\r\n }\r\n }\r\n });\r\n}\r\n\r\n$.widget(\"custom.hotelautoComplete\", $.ui.autocomplete, {\r\n _renderMenu: function (ul, items) {\r\n var that = this;\r\n $.each(items, function (index, item) {\r\n if (Object.keys(item).length) {\r\n that._renderItemData(ul, item);\r\n }\r\n });\r\n },\r\n _renderItem: function (ul, item) {\r\n var li = \"\";\r\n if (Object.keys(item).length) {\r\n var className = item.destinationType === 2 ? \"rtl\" : \"ltr\";\r\n\r\n ul.removeClass(\"rtl ltr\");\r\n\r\n ul.addClass(className);\r\n\r\n var icon = item.locationType === 1 ? \"icon-map \" : \"icon-bed\";\r\n\r\n var location;\r\n\r\n if (item.destinationType === 1) {\r\n location =\r\n item.locationType === 1\r\n ? `${item.countryTitle}`\r\n : `${item.countryTitle + \" , \" + item.cityTitle}`;\r\n } else {\r\n location =\r\n item.locationType === 2 ? `${item.cityTitle}` : null;\r\n }\r\n li +=\r\n \"
  • \" +\r\n '' +\r\n \"\" +\r\n \"\" +\r\n item.value +\r\n \"\";\r\n\r\n if (location) {\r\n li += location;\r\n }\r\n\r\n li += \"
  • \";\r\n }\r\n\r\n return $(li).appendTo(ul);\r\n },\r\n});\r\n\r\n// hotel auto search\r\nfunction hotelAutoSearch($this, $destinationType) {\r\n $this\r\n .hotelautoComplete({\r\n minLength: 0,\r\n appendTo: $this.next(\".js-hotel-search-list\"),\r\n delay: 600,\r\n search: function () {\r\n $(this).parent().find(\".js-search-loading\").show();\r\n if (documentWidth < 992) {\r\n $(\"html\").addClass(\"no-scroll\");\r\n }\r\n $(this).parent().find(\".js-search-loading\").hide();\r\n },\r\n source: function (request, response) {\r\n if ($this.val() && hotelList !== null) {\r\n $this.parent().find(\".js-search-loading\").show();\r\n $.ajax({\r\n url:\r\n \"/hotelbooking-api/searchtitle/\" +\r\n request.term +\r\n \"/?destinationtype=\" +\r\n $destinationType +\r\n \"&demandtype=0\",\r\n dataType: \"json\",\r\n success: function (data) {\r\n //hotel\r\n $this.parent().find(\".js-search-loading\").hide();\r\n response(\r\n $.map(data.model, function (obj) {\r\n return {\r\n value: obj.title,\r\n hotelTitle: obj.title,\r\n slug: obj.slug,\r\n cityTitle: obj.cityTitle,\r\n citySlug: obj.citySlug,\r\n countrySlug: obj.countrySlug,\r\n countryTitle: obj.countryTitle,\r\n locationType: obj.locationType,\r\n destinationType: obj.destinationType,\r\n id: obj.id,\r\n isRtl: obj.isRtl,\r\n dir: obj.dir,\r\n };\r\n })\r\n );\r\n },\r\n error: function () {\r\n $this.parent().find(\".js-search-loading\").hide();\r\n },\r\n });\r\n } else {\r\n $this.parent().find(\".js-search-loading\").hide();\r\n return response(hotelList);\r\n }\r\n },\r\n open: function () {\r\n $this.addClass(\"focusedInput\");\r\n $(\".ui-autocomplete\").off(\"menufocus hover mouseover mouseenter\");\r\n\r\n //off autocomplete in chrome\r\n let chromeAgent = navigator.userAgent.indexOf(\"Chrome\") != -1;\r\n if (chromeAgent) {\r\n $this.attr(\"autocomplete\", \"off\");\r\n }\r\n\r\n var inputObj = $(this);\r\n inputObj\r\n .next(\".js-hotel-search-list\")\r\n .children(\"ul\")\r\n .css({\r\n top: \"+=\" + 12,\r\n });\r\n\r\n // $(\".js-search-input\").addClass(\"show-mobile\");\r\n },\r\n close: function () {\r\n $this.removeClass(\"focusedInput\");\r\n\r\n if ($(\"html\").hasClass(\"no-scroll\")) {\r\n $(\"html\").removeClass(\"no-scroll\");\r\n }\r\n },\r\n select: function (e, ui) {\r\n window.hotelDataModel.hotelTitle = ui.item.value;\r\n\r\n window.hotelDataModel.slug = ui.item.slug;\r\n\r\n window.hotelDataModel.cityTitle = ui.item.cityTitle;\r\n\r\n window.hotelDataModel.citySlug = ui.item.citySlug;\r\n\r\n window.hotelDataModel.countryTitle = ui.item.countryTitle;\r\n\r\n window.hotelDataModel.countrySlug = ui.item.countrySlug;\r\n\r\n window.hotelDataModel.locationType = ui.item.locationType;\r\n\r\n window.hotelDataModel.destinationType = ui.item.destinationType;\r\n\r\n window.hotelDataModel.id = ui.item.id;\r\n\r\n window.hotelDataModel.dir = ui.item.dir;\r\n\r\n /////////////\r\n\r\n $this.removeClass(\"empty\");\r\n $this.closest(\".js-search-input\").addClass(ui.item.dir);\r\n\r\n $this.attr(\"data-value\", ui.item.value);\r\n\r\n $this\r\n .closest(\".js-hotel-form\")\r\n .find(\".js-hotel-check-in-date\")\r\n .trigger(\"focus\");\r\n setTimeout(function () {\r\n document.activeElement.blur();\r\n }, 0);\r\n\r\n if (documentWidth <= 992) {\r\n $this.attr(\"placeholder\", ui.item.value);\r\n $this.trigger(\"blur\");\r\n $this\r\n .closest(\".js-hotel-form\")\r\n .find(\".js-hotel-input-layout\")\r\n .html(\"\" + ui.item.value + \"\");\r\n $this.parent().find(\".js-search-loading\").hide();\r\n }\r\n\r\n $this.parent().find(\".error-message\").remove();\r\n $this.removeClass(\"notValid\");\r\n\r\n $this.parent().find(\".js-search-loading\").hide();\r\n\r\n $this\r\n .siblings(\".js-hotel-input-layout\")\r\n .html(\"\" + ui.item.value + \"\");\r\n\r\n $(this).closest(\".js-search-input\").removeClass(\"show-mobile\");\r\n $(\"html\").removeClass(\"no-scroll\");\r\n\r\n tagManager({ value: ui.item.value, type: searchType });\r\n },\r\n })\r\n .bind(\"focus\", function () {\r\n $this.val(\"\");\r\n $this.hotelautoComplete(\"search\");\r\n $this.parent().find(\".js-search-loading\").hide();\r\n })\r\n .bind(\"blur\", function () {\r\n $this.val($this.attr(\"placeholder\"));\r\n $this.parent().find(\".js-search-loading\").hide();\r\n });\r\n}\r\n\r\n$(\"body\").delegate(\".js-hotel-input-layout\", \"click\", function () {\r\n $(this).closest(\".js-search-input\").addClass(\"show-mobile\");\r\n\r\n $(this).next().trigger(\"focus\");\r\n $(\"#js-hotel-city\").hotelautoComplete(\"search\");\r\n});\r\n\r\n//toggle room detail\r\n$(\"body\").delegate(\".js-rooms-toggle\", \"click\", function () {\r\n $(this).toggleClass(\"hotel-booking__rooms-options--open\");\r\n if (documentWidth < 992) {\r\n $(\"html\").addClass(\"no-scroll\");\r\n }\r\n checkAlignBox();\r\n});\r\n\r\n//room close\r\n$(\"body\").delegate(\".js-room-close, .js-rooms-confirm\", \"click\", function () {\r\n $(\".js-rooms-toggle\").removeClass(\"hotel-booking__rooms-options--open\");\r\n if ($(\"html\").hasClass(\"no-scroll\")) {\r\n $(\"html\").removeClass(\"no-scroll\");\r\n }\r\n});\r\n\r\n//check form validation\r\nfunction checkValidation() {\r\n var valid = true;\r\n $(this).closest(\".js-hotel-form\").find(\".error-message\").remove();\r\n\r\n if (\r\n window.hotelDataModel.hotelTitle === \"\" ||\r\n $('.js-booking-section.active input[name=\"hotel-city\"]').val() === \"\" ||\r\n window.hotelDataModel.hotelStartDateEn === \"\" ||\r\n window.hotelDataModel.hotelEndDateEn === \"\"\r\n ) {\r\n $(this)\r\n .closest(\".js-hotel-form\")\r\n .append(`لطفا همه فیلدها را پر کنید`);\r\n valid = false;\r\n }\r\n\r\n if (\r\n window.hotelDataModel.rooms.flatMap((element) => element.childs).includes(0)\r\n ) {\r\n $(this)\r\n .closest(\".js-hotel-form\")\r\n .append(\r\n `لطفا فیلد سن کودک را پر کنید را پر کنید`\r\n );\r\n valid = false;\r\n }\r\n\r\n var startDate = moment(\r\n $('.js-booking-section.active input[name=\"hotelStartDate\"]').next().val()\r\n );\r\n\r\n var endDate = moment(\r\n $('.js-booking-section.active input[name=\"hotelEndDate\"]').next().val()\r\n );\r\n\r\n var dateDifference = endDate.diff(startDate, \"days\");\r\n\r\n if (dateDifference > 20) {\r\n $(\".js-hotel-form .js-hotel-booking-date\").append(\r\n 'بازه تاریخ ورود و برگشت نباید بیشتر از 20 روز باشد.'\r\n );\r\n\r\n valid = false;\r\n }\r\n\r\n return valid;\r\n}\r\n\r\n//search event\r\n$(\"body\").delegate(\".js-hotel-search\", \"click\", function () {\r\n var adultsString = \"\",\r\n childString = \"\",\r\n childAgeString = \"\";\r\n\r\n $.each(window.hotelDataModel.rooms, function (i, room) {\r\n adultsString += \"&a=\" + room.adult;\r\n\r\n childString += \"&c=\" + room.child;\r\n\r\n $.each(room.childs, function (j, child) {\r\n childAgeString += \"&g=\" + Number(child - 1);\r\n });\r\n });\r\n\r\n var url = \"/fa/hotel/\";\r\n\r\n var valid = checkValidation.bind(this)();\r\n\r\n if (!valid) {\r\n return;\r\n }\r\n\r\n url +=\r\n `${\r\n window.hotelDataModel.countrySlug\r\n ? `${window.hotelDataModel.countrySlug}/`\r\n : \"\"\r\n }` +\r\n `${\r\n window.hotelDataModel.citySlug ? `${window.hotelDataModel.citySlug}/` : \"\"\r\n }`;\r\n if (\r\n window.hotelDataModel.locationType === 2 &&\r\n window.searchInitialize?.search?.isStaticPage === false\r\n ) {\r\n url += window.hotelDataModel.slug ? `${window.hotelDataModel.slug}/` : \"\";\r\n }\r\n\r\n let destinationId = window.hotelDataModel.id;\r\n\r\n if (window.searchInitialize?.search?.isStaticPage === true) {\r\n destinationId = window.searchInitialize.search.destinations.cityId;\r\n\r\n sessionStorage.setItem(\"staticHotelComesFrom\", window.hotelDataModel.id);\r\n }\r\n\r\n url +=\r\n \"?i=\" +\r\n window.hotelDataModel.hotelStartDateEn +\r\n \"&o=\" +\r\n window.hotelDataModel.hotelEndDateEn +\r\n \"&r=\" +\r\n window.hotelDataModel.roomsCount +\r\n \"&n=\" +\r\n \"&d=\" +\r\n destinationId +\r\n adultsString +\r\n childString +\r\n childAgeString;\r\n\r\n if (window.hotelDataModel.sort) {\r\n url += \"&sort=\" + window.hotelDataModel.sort;\r\n }\r\n\r\n if (\r\n window.hotelDataModel.filter != null &&\r\n Object.keys(window.hotelDataModel.filter).length\r\n ) {\r\n for (i in window.hotelDataModel.filter) {\r\n url += `&${i}=${window.hotelDataModel.filter[i]}`;\r\n }\r\n }\r\n\r\n var localStorageKey = `${window.prefixSearchHistory}-${\r\n $(\".js-search-holder-landing\").attr(\"id\") ||\r\n $(this).closest(\".js-tab-nav\").find(\".js-tab-content>div.active\").attr(\"id\")\r\n }`;\r\n window.updateLocalStorage(localStorageKey, {\r\n value: { ...window.hotelDataModel },\r\n baseUrl: url,\r\n expire: window.hotelDataModel.hotelStartDateEn,\r\n });\r\n\r\n window.location.assign(url);\r\n});\r\n\r\n// hotel booking\r\n\r\n//static data\r\nwindow.adultCountArray = [\r\n \"1 بزرگسال\",\r\n \"2 بزرگسال\",\r\n \"3 بزرگسال\",\r\n \"4 بزرگسال\",\r\n \"5 بزرگسال\",\r\n \"6 بزرگسال\",\r\n];\r\nwindow.childCountArray = [\"0 کودک\", \"1 کودک\", \"2 کودک\", \"3 کودک\", \"4 کودک\"];\r\nwindow.childAgesArray = [\r\n \"0 - 1\",\r\n \"1 - 2\",\r\n \"2 - 3 \",\r\n \"3 - 4 \",\r\n \"4 - 5 \",\r\n \"5 - 6 \",\r\n \"6 - 7 \",\r\n \"7 - 8 \",\r\n \"8 - 9 \",\r\n \"9 - 10 \",\r\n \"10 - 11 \",\r\n \"11 - 12 \",\r\n];\r\n\r\nconst getDate = (dateType, localeType = \"fa\") => {\r\n if (!window.searchInitialize?.search) return \"\";\r\n\r\n let locale = localeType;\r\n let format = \"jYYYY/jMM/jDD\";\r\n\r\n if (locale === \"en-us\") {\r\n format = \"YYYY-MM-DD\";\r\n }\r\n\r\n if (window.searchInitialize?.search) {\r\n if (dateType === \"checkIn\") {\r\n if (window.searchInitialize?.search?.checkIn == null) return \"\";\r\n return moment\r\n .utc(window.searchInitialize?.search?.checkIn)\r\n .locale(locale)\r\n .format(format);\r\n } else if (\"checkOut\") {\r\n if (window.searchInitialize?.search?.checkOut == null) return \"\";\r\n\r\n return moment\r\n .utc(window.searchInitialize?.search?.checkOut)\r\n .locale(locale)\r\n .format(format);\r\n }\r\n }\r\n};\r\n\r\nwindow.hotelDataModel = {\r\n hotelTitle: window.searchInitialize?.search?.destinations?.title,\r\n\r\n cityTitle: \"\",\r\n\r\n citySlug: window.searchInitialize?.search?.destinations?.citySlug || \"\",\r\n\r\n slug: window.searchInitialize?.search?.destinations?.slug || \"\",\r\n\r\n countryTitle: \"\",\r\n\r\n countrySlug: window.searchInitialize?.search?.destinations?.countrySlug || \"\",\r\n\r\n id: window.searchInitialize?.search?.destinations?.id || \"\",\r\n\r\n hotelEndDate: window.searchInitialize?.search?.isStaticPage\r\n ? \"\"\r\n : getDate(\"checkOut\"),\r\n\r\n hotelEndDateEn: window.searchInitialize?.search?.isStaticPage\r\n ? \"\"\r\n : getDate(\"checkOut\", \"en-us\"),\r\n\r\n hotelStartDate: window.searchInitialize?.search?.isStaticPage\r\n ? \"\"\r\n : getDate(\"checkIn\"),\r\n\r\n hotelStartDateEn: window.searchInitialize?.search?.isStaticPage\r\n ? \"\"\r\n : getDate(\"checkIn\", \"en-us\"),\r\n\r\n locationType: window.searchInitialize?.search?.destinations.locationType || 1,\r\n\r\n destinationType:\r\n window.searchInitialize?.search?.destinations.destinationType,\r\n\r\n daysDuration: null,\r\n\r\n roomsCount: 1,\r\n\r\n childLabels: [],\r\n\r\n dir: \"rtl\",\r\n\r\n childsCount: 0,\r\n\r\n adultsCount: 0,\r\n\r\n rooms: [\r\n {\r\n room: 1,\r\n adult: 2,\r\n child: 0,\r\n childs: [],\r\n },\r\n ],\r\n\r\n sort: null,\r\n\r\n filter: null,\r\n};\r\n\r\nif (window?.searchInitialize?.search) {\r\n let newRooms = [];\r\n\r\n window.searchInitialize.search.occupancies.forEach((i) => {\r\n let newAges = [];\r\n\r\n if (i.ages && i.ages.length) {\r\n newAges = i.ages.map((age) => age + 1);\r\n }\r\n\r\n let newRoom = {\r\n adult: i.adult,\r\n child: i.childs,\r\n childs: newAges,\r\n };\r\n\r\n newRooms.push(newRoom);\r\n });\r\n\r\n window.hotelDataModel.rooms = newRooms;\r\n window.hotelDataModel.roomsCount = window.searchInitialize.search.room;\r\n}\r\n\r\nvar hotelInput = [];\r\n\r\n//add or remove room\r\nvar roomNum;\r\n$(\"body\").delegate(\".js-hotel-form .js-count-box button\", \"click\", function () {\r\n if ($(this).hasClass(\"js-max\")) {\r\n if (window.hotelDataModel.roomsCount < 4) {\r\n roomNum = window.hotelDataModel.roomsCount + 1;\r\n\r\n window.hotelDataModel.roomsCount = roomNum;\r\n\r\n window.hotelDataModel.rooms.push({\r\n room: roomNum,\r\n adult: 1,\r\n child: 0,\r\n childs: [],\r\n });\r\n }\r\n } else if ($(this).hasClass(\"js-min\")) {\r\n if (window.hotelDataModel.roomsCount > 1) {\r\n roomNum = window.hotelDataModel.roomsCount - 1;\r\n\r\n window.hotelDataModel.roomsCount = roomNum;\r\n\r\n window.hotelDataModel.rooms.pop();\r\n }\r\n }\r\n\r\n updateTemplate(window.hotelDataModel);\r\n});\r\n\r\n// select adult count\r\n$(\"body\").delegate(\"select.js-rooms-adult-count\", \"change\", function () {\r\n var roomIndex = $(this).closest(\"ul\").attr(\"data-row\");\r\n\r\n window.hotelDataModel.rooms[roomIndex].adult = Number($(this).val()) + 1;\r\n\r\n updateTemplate(window.hotelDataModel);\r\n});\r\n\r\n//in mobile\r\n$(\"body\").delegate(\".js-adults-hotel>button\", \"click\", function () {\r\n var roomIndex = $(this).closest(\"ul\").attr(\"data-row\");\r\n\r\n var roomNumber = $(this).hasClass(\"js-add\")\r\n ? Number($(this).siblings(\"input\").val()) + 1\r\n : Number($(this).siblings(\"input\").val()) - 1;\r\n\r\n $(this).siblings(\"input\").val(roomNumber);\r\n\r\n window.hotelDataModel.rooms[roomIndex].adult = Number(roomNumber);\r\n\r\n updateTemplate(window.hotelDataModel);\r\n});\r\n\r\n//select child count\r\n$(\"body\").delegate(\"select.js-rooms-child-count\", \"change\", function () {\r\n var roomIndex = $(this).closest(\"ul\").attr(\"data-row\");\r\n\r\n window.hotelDataModel.rooms[roomIndex].child = Number($(this).val());\r\n\r\n var oldChildCount = window.hotelDataModel.rooms[roomIndex].childs.length;\r\n\r\n var selectedChildCount = Number($(this).val());\r\n\r\n if (selectedChildCount === oldChildCount) return;\r\n\r\n var newChildCount = 0;\r\n\r\n if (selectedChildCount > oldChildCount) {\r\n newChildCount = selectedChildCount - oldChildCount;\r\n for (i = 0; i < newChildCount; i++) {\r\n window.hotelDataModel.rooms[roomIndex].childs.push(0);\r\n }\r\n } else {\r\n newChildCount = oldChildCount - selectedChildCount;\r\n for (i = 0; i < newChildCount; i++) {\r\n window.hotelDataModel.rooms[roomIndex].childs.pop();\r\n }\r\n }\r\n\r\n updateTemplate(window.hotelDataModel);\r\n});\r\n\r\n////select child count In mobile\r\n$(\"body\").delegate(\r\n \".js-hotel-childs-count-InMobile>button\",\r\n \"click\",\r\n function () {\r\n var roomIndex = $(this).closest(\"ul\").attr(\"data-row\");\r\n\r\n var selectedChildCount = $(this).hasClass(\"js-add\")\r\n ? Number($(this).siblings(\"input\").val()) + 1\r\n : Number($(this).siblings(\"input\").val()) - 1;\r\n\r\n if (selectedChildCount > 4 || selectedChildCount < 0) return;\r\n\r\n $(this).siblings(\"input\").val(selectedChildCount);\r\n\r\n window.hotelDataModel.rooms[roomIndex].child = selectedChildCount;\r\n\r\n var oldChildCount = window.hotelDataModel.rooms[roomIndex].childs.length;\r\n\r\n // var selectedChildCount = Number($(this).val());\r\n\r\n if (selectedChildCount === oldChildCount) return;\r\n\r\n var newChildCount = 0;\r\n\r\n if (selectedChildCount > oldChildCount) {\r\n newChildCount = selectedChildCount - oldChildCount;\r\n for (i = 0; i < newChildCount; i++) {\r\n window.hotelDataModel.rooms[roomIndex].childs.push(0);\r\n }\r\n } else {\r\n newChildCount = oldChildCount - selectedChildCount;\r\n for (i = 0; i < newChildCount; i++) {\r\n window.hotelDataModel.rooms[roomIndex].childs.pop();\r\n }\r\n }\r\n updateTemplate(window.hotelDataModel);\r\n }\r\n);\r\n\r\n//select childs Age\r\n$(\"body\").delegate(\"select.js-child-age\", \"change\", function () {\r\n var roomIndex = $(this).closest(\"ul\").attr(\"data-row\");\r\n\r\n var childAgeIndex = Number($(this).attr(\"name\"));\r\n var childAge = Number($(this).val()) + 1;\r\n window.hotelDataModel.rooms[roomIndex].childs[childAgeIndex] = childAge;\r\n\r\n updateTemplate(window.hotelDataModel);\r\n});\r\n\r\n////////////////////////////\r\n$(\"body\").delegate(\".js-room-remove\", \"click\", function () {\r\n var roomIndex = $(this).closest(\"ul\").attr(\"data-row\");\r\n\r\n window.hotelDataModel.rooms.splice(Number(roomIndex), 1);\r\n window.hotelDataModel.roomsCount = window.hotelDataModel.roomsCount - 1;\r\n updateTemplate();\r\n});\r\n\r\n//update Data\r\nfunction updateDates(e) {\r\n const checkInDate = e.hasClass(\"js-hotel-check-in-date\")\r\n ? e\r\n : e.closest(\".hotel-booking__date\").find(\".js-hotel-check-in-date\");\r\n const checkOutDate = e.hasClass(\"js-hotel-check-out-date\")\r\n ? e\r\n : e.closest(\".hotel-booking__date\").find(\".js-hotel-check-out-date\");\r\n\r\n window.hotelDataModel.hotelStartDateEn = $(checkInDate).next().val();\r\n\r\n window.hotelDataModel.hotelEndDateEn = $(checkOutDate).next().val();\r\n\r\n window.hotelDataModel.hotelStartDate = $(checkInDate).val();\r\n\r\n window.hotelDataModel.hotelEndDate = $(checkOutDate).val();\r\n\r\n if (\r\n window.hotelDataModel.hotelStartDate &&\r\n window.hotelDataModel.hotelStartDateEn === \"\"\r\n ) {\r\n const georgianFormat = \"YYYY-MM-DD\";\r\n const jalaaliFormat = \"jYYYY/jMM/jDD\";\r\n window.hotelDataModel.hotelStartDateEn = moment\r\n .utc(window.hotelDataModel.hotelStartDate, jalaaliFormat)\r\n .locale(\"en\")\r\n .format(georgianFormat);\r\n }\r\n\r\n if (window.searchInitialize) {\r\n updateSummeryBoxInHotelDetail();\r\n }\r\n}\r\n\r\n//change date picker mode\r\nconst changeDatePickerMode = (mode) => {\r\n datePickerMode = mode;\r\n};\r\n\r\nconst updateCalendarType = () => {\r\n if ($(\".js-hotel-check-in-date\").attr(\"data-lang\").length) {\r\n changeDatePickerMode(2);\r\n } else {\r\n changeDatePickerMode(1);\r\n }\r\n};\r\n\r\nconst updateSummeryBoxInHotelDetail = () => {\r\n let summeryCheckInDate = null;\r\n let summeryCheckOutDate = null;\r\n\r\n if ($(\".js-hotel-check-in-date\").attr(\"data-lang\").length) {\r\n summeryCheckInDate = window.hotelDataModel.hotelStartDate;\r\n summeryCheckOutDate = window.hotelDataModel.hotelEndDate\r\n ? \"-\" + window.hotelDataModel.hotelEndDate\r\n : null;\r\n } else {\r\n summeryCheckInDate = window.hotelDataModel.hotelStartDateEn;\r\n summeryCheckOutDate = window.hotelDataModel.hotelEndDateEn\r\n ? \"-\" + window.hotelDataModel.hotelEndDateEn\r\n : null;\r\n }\r\n $(\"#js-show-check-in\").html(summeryCheckInDate);\r\n $(\"#js-show-check-out\").html(summeryCheckOutDate);\r\n};\r\n\r\n//update Template\r\nfunction updateTemplate() {\r\n //get adultCount\r\n window.hotelDataModel.adultsCount = 0;\r\n window.hotelDataModel.childsCount = 0;\r\n\r\n $.each(window.hotelDataModel.rooms, function (key, room) {\r\n window.hotelDataModel.adultsCount += room.adult;\r\n window.hotelDataModel.childsCount += room.child;\r\n });\r\n\r\n //check if rooms menu is open after update open it\r\n var flag = false;\r\n if ($(\".js-rooms-toggle\").hasClass(\"hotel-booking__rooms-options--open\")) {\r\n flag = true;\r\n }\r\n var labelsArray = countLabelNumbers(window.hotelDataModel.rooms);\r\n window.hotelDataModel.childLabels = labelsArray;\r\n\r\n $(\".js-search-holder-hotel .bounce-loading\").remove();\r\n\r\n $(\".js-hotel-booking\").html(\r\n $(\"#js-hotel-template\").tmpl(window.hotelDataModel)\r\n );\r\n\r\n $(\".js-internal-hotel-booking\").html(\r\n $(\"#js-hotel-template\").tmpl(window.hotelDataModel)\r\n );\r\n\r\n if (flag) {\r\n $(\".js-rooms-toggle\").addClass(\"hotel-booking__rooms-options--open\");\r\n }\r\n checkAlignBox();\r\n hotelSearch();\r\n hotelDatePicker();\r\n}\r\n\r\n$(\".js-go-to-search\").click(() => {\r\n if (window.innerWidth < 993) {\r\n window.scrollTo(0, 0);\r\n\r\n if (!$(\".search-box__form\").hasClass(\"flex-show\")) {\r\n $(\".search-box__form\").addClass(\"flex-show\");\r\n }\r\n }\r\n\r\n $(\".js-hotel-check-in-date\").datepicker(\"show\");\r\n});\r\n\r\n//check align of rooms details menu\r\nfunction checkAlignBox() {\r\n if (\r\n $(\".js-hotel-form\").offset().left > $(\".js-options-rooms\").offset().left &&\r\n $(\".rooms-toggleBtn\").hasClass(\"hotel-booking__rooms-options--open\")\r\n ) {\r\n $(\".js-rooms-options\").addClass(\"align-left\");\r\n } else {\r\n $(\".js-rooms-options\").removeClass(\"align-left\");\r\n }\r\n}\r\n\r\nfunction countLabelNumbers(rooms) {\r\n var childsLabel = [\"بزرگسال\", \"کودک\"];\r\n var max = 0;\r\n for (var i = 0; i < rooms.length; i++) {\r\n if (rooms[i].childs.length > max) {\r\n max = rooms[i].childs.length;\r\n }\r\n }\r\n for (var j = 0; j < max; j++) {\r\n childsLabel.push(\"سن کودک \" + (j + 1));\r\n }\r\n return childsLabel;\r\n}\r\n\r\n//check diff\r\nfunction calcDiffDate() {\r\n if (\r\n !window.hotelDataModel.hotelStartDateEn ||\r\n !window.hotelDataModel.hotelEndDateEn\r\n ) {\r\n return \"\";\r\n }\r\n var startDate = window.hotelDataModel.hotelStartDateEn;\r\n var endDate = window.hotelDataModel.hotelEndDateEn;\r\n\r\n const date1 = new Date(startDate);\r\n const date2 = new Date(endDate);\r\n const diffTime = Math.abs(date2 - date1);\r\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\r\n\r\n return diffDays > 0 ? diffDays : \"-\";\r\n}\r\n\r\nconst hotelDatePicker = () => {\r\n let datePickerLanguageType = datePickerMode === 2 ? \"fa\" : \"\";\r\n\r\n // If it is injected in the hotel min data settings, we will calc it with today and use it\r\n let minDate = RootDataModel.hotelMinDate\r\n ? moment(RootDataModel.hotelMinDate).diff(moment(new Date()), \"days\")\r\n : -0;\r\n\r\n $(\".js-hotel-form .js-hotel-booking-date\").pickDate({\r\n dateFormat: \"yy/mm/dd\",\r\n changeMonthAllow: false,\r\n changeYearAllow: false,\r\n showButtonPanel: true,\r\n isDependenceDates: false,\r\n showCurrentAtPos: 0,\r\n numberOfMonths: $(window).width() > 991 ? 2 : 1,\r\n minDate: minDate,\r\n customClass: \"lightTheme\",\r\n showAllMonthsinList: false,\r\n langType: datePickerLanguageType,\r\n blurInmobile: true,\r\n dayNamesShortFa: [\r\n \"1شنبه\",\r\n \"2شنبه\",\r\n \"3شنبه\",\r\n \"4شنبه\",\r\n \"5شنبه\",\r\n \"جمعه\",\r\n \"شنبه\",\r\n ],\r\n enterDateTitle: \"تاریخ ورود\",\r\n exitDateTitle: \"تاریخ خروج\",\r\n enterDateTitleEn: \"Check in\",\r\n exitDateTitleEn: \"Check out\",\r\n dayNamesShortEn: [\"Su\", \"Mo\", \"TU\", \"We\", \"Th\", \"Fr\", \"Sa\"],\r\n onSelectEvent: function () {\r\n if ($(this).hasClass(\"pickDate_2\")) {\r\n var daysDurationParam = calcDiffDate();\r\n window.hotelDataModel.daysDuration = daysDurationParam;\r\n if (window.hotelDataModel.daysDuration) {\r\n $(this)\r\n .closest(\".js-hotel-booking-date\")\r\n .find(\".js-hotel-booking-night-count\")\r\n .html(\r\n \"\" + window.hotelDataModel.daysDuration\r\n )\r\n .addClass(\"night-count-show\");\r\n }\r\n } else {\r\n window.hotelDataModel.daysDuration = null;\r\n $(this)\r\n .closest(\".js-hotel-booking-date\")\r\n .find(\".js-hotel-booking-night-count\")\r\n .removeClass(\"night-count-show\");\r\n }\r\n updateCalendarType();\r\n updateDates($(this));\r\n },\r\n\r\n fillHidden: {\r\n enable: true,\r\n outPut: \"en\", //en | Dependent_On_SelectedDate | fa\r\n customformatInhidden: \"YYYY-MM-DD\",\r\n PickDate_Hidden_val: null,\r\n PickDate2_Hidden_val: null,\r\n },\r\n });\r\n};\r\n\r\nupdateTemplate();\r\n\r\n$(\"body\").on(\"click\", function (e) {\r\n if (!$(e.target).closest(\".js-rooms-options\").length) {\r\n if ($(\".js-rooms-toggle\").hasClass(\"hotel-booking__rooms-options--open\")) {\r\n $(\".js-rooms-toggle\").removeClass(\"hotel-booking__rooms-options--open\");\r\n }\r\n }\r\n});\r\n","var sourceUrl;\r\nvar documentWidth = $(document).width();\r\nvar datePickerMode = localStorage.getItem(\"datePickerMode\") ? Number(localStorage.getItem(\"datePickerMode\")) : 2;\r\n\r\nif ($(\".js-trip-card\").length) {\r\n const clonedModal = createCloneTripModal(1);\r\n\r\n const modalWrapper = clonedModal.find(\".js-trip-modal\");\r\n\r\n $(\".js-trip-card\").click(function (event) {\r\n const selectedCity = $(event.target).attr(\"city-name\")\r\n ? defaultDestinationListOfTrip.filter((city) => city.title === $(event.target).attr(\"city-name\").trim())\r\n : [];\r\n\r\n if (selectedCity.length) {\r\n tripAutoSearch(modalWrapper.find(\".js-trip-to-city\"), \"destination\", selectedCity[0].title);\r\n tripDataModel[\"destination\"].tripTitle = selectedCity[0].title;\r\n tripDataModel[\"destination\"].id = selectedCity[0].id;\r\n }\r\n\r\n modalWrapper.addClass(\"show-modal\");\r\n $(\"body\").addClass(\"no-scroll\");\r\n });\r\n}\r\n\r\nfunction createCloneTripModal(number) {\r\n const clone = $(\"#trip-tab\").clone();\r\n clone.attr(\"id\", \"trip-modal\");\r\n clone.addClass(\"active js-date-picker-not-scrollable\");\r\n clone.find(\".checkmark\").each(function () {\r\n const name = $(this).attr(\"name\");\r\n const id = $(this).attr(\"id\");\r\n const target = $(this).attr(\"target\");\r\n $(this).attr(\"name\", `${name}-${number}`);\r\n $(this).attr(\"target\", `${target}-${number}`);\r\n $(this).attr(\"id\", `${id}-${number}`);\r\n $(this).next().attr(\"for\", `${id}-${number}`);\r\n clone.find(`#${target}`).attr(\"id\", `${target}-${number}`);\r\n });\r\n\r\n const $modal = $(\r\n `
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    `\r\n );\r\n\r\n const modalWrapper = $modal.find(\".js-trip-modal\");\r\n $modal.find(\".js-booking-search\").append(clone);\r\n\r\n modalWrapper.click(function (event) {\r\n const target = $(event.target);\r\n if (target.hasClass(modalWrapper.attr(\"class\"))) {\r\n modalWrapper.removeClass(\"show-modal\");\r\n $(\"body\").removeClass(\"no-scroll\");\r\n\r\n tripAutoSearch($(this).find(\".js-trip-to-city\"), \"destination\", \"\");\r\n tripDataModel[\"destination\"].tripTitle = \"\";\r\n tripDataModel[\"destination\"].id = \"\";\r\n }\r\n });\r\n\r\n $(\"body\").append($modal);\r\n\r\n return $modal;\r\n}\r\n\r\n$(window).resize(function () {\r\n documentWidth = $(document).width();\r\n});\r\n\r\n$(function () {\r\n $(document).mouseup(function (e) {\r\n if (\r\n !$(\".js-trip-rooms-options\").is(e.target) && // if the target of the click isn't the container...\r\n $(\".js-trip-rooms-options\").has(e.target).length === 0\r\n ) {\r\n if ($(window).width() > 767) {\r\n // ... nor a descendant of the container\r\n $(\".js-trip-rooms-options\").removeClass(\"trip-booking__rooms-options--open\");\r\n }\r\n }\r\n });\r\n\r\n tripDatePicker();\r\n});\r\n\r\n// sort arrayObject\r\nfunction sortArrayObject(key, order = \"asc\") {\r\n return function (a, b) {\r\n if (!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) {\r\n // property doesn't exist on either object\r\n return 0;\r\n }\r\n\r\n var varA = typeof a[key] === \"string\" ? a[key].toUpperCase() : a[key];\r\n var varB = typeof b[key] === \"string\" ? b[key].toUpperCase() : b[key];\r\n\r\n var comparison = 0;\r\n\r\n if (varA > varB) {\r\n comparison = 1;\r\n } else if (varA < varB) {\r\n comparison = -1;\r\n }\r\n return order == \"desc\" ? comparison * -1 : comparison;\r\n };\r\n}\r\n\r\n$(function () {\r\n //close autoComplete in mobile\r\n $(\".js-trip-cities\").delegate(\".js-close-auto-complete\", \"click\", function () {\r\n $(\".js-close\").closest(\".focused\").removeClass(\"focused\");\r\n $(\".js-mobile-layout\").show();\r\n $(\"#js-trip-from-city\").tripAutoComplete(\"close\");\r\n $(\".js-trip-to-city\").tripAutoComplete(\"close\");\r\n $(\"html\").removeClass(\"no-scroll\");\r\n $(\".js-trip-search-input\").removeClass(\"show-mobile\");\r\n });\r\n});\r\n\r\nvar tripList;\r\n\r\nfunction tripinitializeSearch() {\r\n $(\".js-trip-form #js-trip-from-city\").each(function () {\r\n tripAutoSearch($(this), \"origin\");\r\n });\r\n\r\n $(\".js-trip-form .js-trip-to-city\").each(function () {\r\n tripAutoSearch($(this), \"destination\");\r\n });\r\n}\r\n\r\nfunction setInitialData() {\r\n if (typeof defaultOriginListOfTrip == \"undefined\") {\r\n defaultOriginListOfTrip = [];\r\n } else {\r\n defaultOriginListOfTrip = defaultOriginListOfTrip;\r\n }\r\n\r\n if (typeof defaultDestinationListOfTrip == \"undefined\") {\r\n defaultDestinationListOfTrip = [];\r\n } else {\r\n defaultDestinationListOfTrip = defaultDestinationListOfTrip;\r\n }\r\n}\r\n\r\n//autoComplete\r\nfunction tripSearch() {\r\n $(\".js-booking-section\").each(function () {\r\n if ($(this).hasClass(\"active\")) {\r\n setInitialData();\r\n tripinitializeSearch();\r\n }\r\n });\r\n\r\n $(\".js-tab-nav .js-tab-nav-header button\").on(\"click\", function () {\r\n setTimeout(function () {\r\n setInitialData();\r\n tripinitializeSearch();\r\n }, 0);\r\n });\r\n tripinitializeSearch();\r\n}\r\n\r\n$.widget(\"custom.tripAutoComplete\", $.ui.autocomplete, {\r\n _renderMenu: function (ul, items) {\r\n var that = this;\r\n $.each(items, function (index, item) {\r\n if (Object.keys(item).length) {\r\n that._renderItemData(ul, item);\r\n }\r\n });\r\n },\r\n _renderItem: function (ul, item) {\r\n var li = \"\";\r\n if (Object.keys(item).length) {\r\n var className = item.destinationType === 2 ? \"rtl\" : \"ltr\";\r\n\r\n ul.removeClass(\"rtl ltr\");\r\n\r\n ul.addClass(className);\r\n\r\n var icon = item.locationType === 1 ? \"icon-map \" : \"icon-bed\";\r\n\r\n var location;\r\n\r\n if (item.destinationType === 1) {\r\n location =\r\n item.locationType === 1\r\n ? `${item.countryTitle}`\r\n : `${item.countryTitle + \" , \" + item.cityTitle}`;\r\n } else {\r\n location = item.locationType === 2 ? `${item.cityTitle}` : null;\r\n }\r\n li += \"
  • \" + '' + \"\" + \"\" + item.value + \"\";\r\n\r\n if (location) {\r\n li += location;\r\n }\r\n\r\n li += \"
  • \";\r\n }\r\n\r\n return $(li).appendTo(ul);\r\n },\r\n});\r\n\r\n// trip auto search\r\nfunction tripAutoSearch($this, inputType, initValue = null) {\r\n $this\r\n .tripAutoComplete({\r\n minLength: 0,\r\n appendTo: $this.next(\".js-trip-search-list\"),\r\n delay: 600,\r\n search: function () {\r\n $(this).closest(\".js-trip-search-input\").addClass(\"show-mobile\");\r\n if (documentWidth < 992) {\r\n $(\"html\").addClass(\"no-scroll\");\r\n }\r\n },\r\n source: function (request, response) {\r\n if ($this.val() && tripList !== null) {\r\n $this.parent().find(\".js-search-loading\").show();\r\n $.ajax({\r\n url: \"/hotelbooking-api/searchtitle/\" + request.term + \"/?demandtype=1\",\r\n dataType: \"json\",\r\n success: function (data) {\r\n //trip\r\n $this.parent().find(\".js-search-loading\").hide();\r\n response(\r\n $.map(data.model, function (obj) {\r\n return {\r\n value: obj.title,\r\n tripTitle: obj.title,\r\n slug: obj.slug,\r\n cityTitle: obj.cityTitle,\r\n citySlug: obj.citySlug,\r\n countrySlug: obj.countrySlug,\r\n countryTitle: obj.countryTitle,\r\n locationType: obj.locationType,\r\n destinationType: obj.destinationType,\r\n id: obj.id,\r\n isRtl: obj.isRtl,\r\n dir: obj.dir,\r\n };\r\n })\r\n );\r\n },\r\n error: function () {\r\n $this.parent().find(\".js-search-loading\").hide();\r\n },\r\n });\r\n } else {\r\n if (inputType == \"origin\") {\r\n return response(defaultOriginListOfTrip);\r\n } else {\r\n return response(defaultDestinationListOfTrip);\r\n }\r\n }\r\n },\r\n open: function () {\r\n $this.addClass(\"focusedInput\");\r\n $(\".ui-autocomplete\").off(\"menufocus hover mouseover mouseenter\");\r\n\r\n //off autocomplete in chrome\r\n let chromeAgent = navigator.userAgent.indexOf(\"Chrome\") != -1;\r\n if (chromeAgent) {\r\n $this.attr(\"autocomplete\", \"off\");\r\n }\r\n\r\n var inputObj = $(this);\r\n inputObj\r\n .next(\".js-trip-search-list\")\r\n .children(\"ul\")\r\n .css({\r\n top: \"+=\" + 12,\r\n });\r\n\r\n $this.parent().find(\".js-trip-search-list\").show();\r\n\r\n // $(\".js-trip-search-input\").addClass(\"show-mobile\");\r\n },\r\n close: function () {\r\n $this.removeClass(\"focusedInput\");\r\n\r\n if ($(\"html\").hasClass(\"no-scroll\")) {\r\n $(\"html\").removeClass(\"no-scroll\");\r\n }\r\n },\r\n select: function (e, ui) {\r\n tripDataModel[inputType].tripTitle = ui.item.value;\r\n\r\n tripDataModel[inputType].slug = ui.item.slug;\r\n\r\n tripDataModel[inputType].cityTitle = ui.item.cityTitle;\r\n\r\n tripDataModel[inputType].citySlug = ui.item.citySlug;\r\n\r\n tripDataModel[inputType].countryTitle = ui.item.countryTitle;\r\n\r\n tripDataModel[inputType].countrySlug = ui.item.countrySlug;\r\n\r\n tripDataModel[inputType].id = ui.item.id;\r\n tripDataModel[inputType].dir = ui.item.dir;\r\n\r\n tripDataModel.locationType = ui.item.locationType;\r\n\r\n tripDataModel.destinationType = ui.item.destinationType;\r\n\r\n /////////////\r\n\r\n $this.removeClass(\"empty\");\r\n $this.closest(\".js-trip-search-input\").addClass(ui.item.dir);\r\n\r\n $this.attr(\"data-value\", ui.item.value);\r\n\r\n $this.parent().find(\".error-message\").remove();\r\n $this.removeClass(\"notValid\");\r\n\r\n $this.parent().find(\".js-search-loading\").hide();\r\n\r\n $this.siblings(\".js-trip-input-layout\").html(\"\" + ui.item.value + \"\");\r\n\r\n $(this).closest(\".js-trip-search-input\").removeClass(\"show-mobile\");\r\n $(\"html\").removeClass(\"no-scroll\");\r\n\r\n if (documentWidth <= 992) {\r\n $this.attr(\"placeholder\", ui.item.value);\r\n $this\r\n .closest(\".js-trip-form\")\r\n .find(\".js-trip-input-layout\")\r\n .html(\"\" + ui.item.value + \"\");\r\n $this.parent().find(\".js-search-loading\").hide();\r\n }\r\n\r\n if ($this.is(\".js-trip-from-city\")) {\r\n $this.closest(\".js-trip-cities\").find(\".js-trip-to-city\").tripAutoComplete(\"search\");\r\n\r\n let timeOut = setTimeout(() => {\r\n $this.closest(\".js-trip-cities\").find(\".js-trip-to-city\").trigger(\"focus\");\r\n clearTimeout(timeOut);\r\n }, 0);\r\n } else if ($(this).is(\".js-trip-to-city\")) {\r\n $(this).closest(\".js-trip-form\").find(\".js-trip-check-in-date\").datepicker(\"show\");\r\n setTimeout(function () {\r\n document.activeElement.blur();\r\n }, 0);\r\n }\r\n\r\n $(this).parent().find(\".error-message\").remove();\r\n\r\n tagManager({ value: ui.item.value, type: searchType });\r\n },\r\n })\r\n .bind(\"focus\", function () {\r\n if ($(window).width() > 992 || $(\".js-trip-search-input\").hasClass(\"show-mobile\")) {\r\n $(this).val(\"\");\r\n $(this).tripAutoComplete(\"search\");\r\n }\r\n\r\n $this.parent().find(\".js-search-loading\").hide();\r\n })\r\n .bind(\"blur\", function () {\r\n $this.parent().find(\".js-search-loading\").hide();\r\n if ($this.attr(\"id\") == \"js-trip-from-city\") {\r\n $this.attr(\"placeholder\", \"مبدا\");\r\n } else {\r\n $this.attr(\"placeholder\", \"مقصد\");\r\n }\r\n\r\n if (!$(this).hasClass(\"empty\")) $(this).val($(this).attr(\"data-value\"));\r\n });\r\n\r\n if (initValue != null) {\r\n $this.val(initValue).data(\"autocomplete\");\r\n }\r\n}\r\n\r\n$(\"body\").delegate(\".js-trip-input-layout\", \"click\", function () {\r\n $(this).closest(\".js-trip-search-input\").addClass(\"show-mobile\");\r\n\r\n $(this).next().trigger(\"focus\");\r\n\r\n $(\"#js-trip-from-city\").tripAutoComplete(\"search\");\r\n});\r\n\r\nfunction roomsDetailToggled() {\r\n $(\".js-trip-rooms-toggle\").toggleClass(\"trip-booking__rooms-options--open\");\r\n if (documentWidth < 992) {\r\n $(\"html\").addClass(\"no-scroll\");\r\n }\r\n tripcheckAlignBox();\r\n}\r\n\r\n$(\"body\").delegate(\".js-trip-rooms-toggle\", \"click\", function () {\r\n roomsDetailToggled();\r\n});\r\n\r\n//toggle room detail\r\n// $(\"body\").delegate(\".js-trip-rooms-toggle\", \"click\", function () {\r\n// $(this).toggleClass(\"trip-booking__rooms-options--open\");\r\n// if (documentWidth < 992) {\r\n// $(\"html\").addClass(\"no-scroll\");\r\n// }\r\n// tripcheckAlignBox();\r\n// });\r\n\r\n//room close\r\n$(\"body\").delegate(\".js-room-trip-close, .js-trip-rooms-confirm\", \"click\", function () {\r\n $(\".js-trip-rooms-toggle\").removeClass(\"trip-booking__rooms-options--open\");\r\n if ($(\"html\").hasClass(\"no-scroll\")) {\r\n $(\"html\").removeClass(\"no-scroll\");\r\n }\r\n});\r\n\r\n//check form validation\r\nfunction tripCheckValidation(target) {\r\n var valid = true;\r\n let fillFieldValid = !(\r\n tripDataModel[\"origin\"].tripTitle === \"\" ||\r\n tripDataModel[\"destination\"].tripTitle === \"\" ||\r\n $(target).closest(\".js-booking-section.active\").find('input[name=\"trip-city\"]').val() === \"\" ||\r\n tripDataModel.tripStartDateEn === \"\" ||\r\n tripDataModel.tripEndDateEn === \"\"\r\n );\r\n let routeValid = tripDataModel.origin?.slug?.trim()?.toLowerCase() !== tripDataModel.destination.slug?.trim()?.toLowerCase();\r\n\r\n $(target).closest(\".js-booking-section.active\").find(\".js-trip-form .error-message\").remove();\r\n // tripUpdateDates();\r\n\r\n if (!fillFieldValid || !routeValid) {\r\n $(target)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-trip-form\")\r\n .append(\r\n `${\r\n !fillFieldValid ? \"لطفا تمام فیلدها را کامل نمایید\" : \"مبدا و مقصد نمی تواند یکسان باشد\"\r\n }`\r\n );\r\n valid = false;\r\n }\r\n\r\n var startDate = moment(\r\n $(target).closest(\".js-booking-section.active\").find('input[name=\"tripStartDate\"]').next().val()\r\n );\r\n\r\n var endDate = moment($(target).closest(\".js-booking-section.active\").find('input[name=\"tripEndDate\"]').next().val());\r\n\r\n var dateDifference = endDate.diff(startDate, \"days\");\r\n\r\n if (dateDifference > 20) {\r\n $(target)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-trip-form .js-trip-booking-date\")\r\n .append('بازه تاریخ ورود و برگشت نباید بیشتر از 20 روز باشد.');\r\n\r\n valid = false;\r\n }\r\n\r\n if (\r\n tripDataModel.rooms.flatMap((element) => element.childs).includes(0)\r\n ) {\r\n $(target)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-trip-rooms\")\r\n .append(\r\n `لطفا فیلد سن کودک را پر کنید را پر کنید`\r\n );\r\n valid = false;\r\n }\r\n\r\n if (valid) valid = flightPassengerLimit(purificationPassengers(), target);\r\n\r\n return valid;\r\n}\r\n\r\nfunction purificationPassengers() {\r\n return tripDataModel.rooms.reduce(\r\n (passengers, room) => {\r\n passengers.adult += room.adult;\r\n room.childs.forEach(age => {\r\n age > 3 ? passengers.child++ : passengers.baby++;\r\n });\r\n return passengers;\r\n },\r\n { adult: 0, child: 0, baby: 0 }\r\n );\r\n}\r\n\r\nfunction flightPassengerLimit({ adult, child, baby }, target) {\r\n // target: HTMLElement, adult: number, child: number, baby: number\r\n let valid = true;\r\n let msg = ''\r\n if (+adult + +child > 9) {\r\n msg = 'تعداد مسافران غیر از نوزاد بیشتر از ۹ نفر نباید باشد'\r\n valid = false;\r\n } else if (+baby > +adult) {\r\n msg = 'نوزادان همیشه با والدین یا سرپرستان خود سفر میکنند (هر بزرگسال یک کودک)'\r\n valid = false;\r\n }\r\n\r\n if (!valid) {\r\n if($(window).width() > 767) {\r\n $(target)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-trip-options-rooms\")\r\n .append(\r\n `${msg}`\r\n );\r\n\r\n $(target)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-trip-form .js-trip-rooms\")\r\n .append(`مسافران انتخابی صحیح نیست`);\r\n\r\n if (!$(\".js-trip-rooms-toggle\").hasClass(\"trip-booking__rooms-options--open\")) roomsDetailToggled();\r\n }\r\n else {\r\n $(target)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-trip-form .js-trip-rooms\")\r\n .append(`${msg}`);\r\n\r\n }\r\n }\r\n\r\n return valid;\r\n}\r\n\r\n//search event\r\n$(\"body\").delegate(\".js-trip-search\", \"click\", function (e) {\r\n e.stopPropagation();\r\n let isInModal = Boolean(this.closest(\".js-trip-modal\"));\r\n\r\n var adultsString = \"\",\r\n childString = \"\",\r\n childAgeString = \"\";\r\n \r\n $.each(tripDataModel.rooms, function (i, room) {\r\n adultsString += \"&a=\" + room.adult;\r\n \r\n childString += \"&c=\" + room.child;\r\n \r\n $.each(room.childs, function (j, child) {\r\n childAgeString += \"&g=\" + Number(child - 1);\r\n });\r\n });\r\n\r\n var url = \"/trip/\";\r\n\r\n var valid = tripCheckValidation(e.target);\r\n\r\n if (!valid) {\r\n return;\r\n }\r\n\r\n url +=\r\n \"?i=\" +\r\n tripDataModel.tripStartDateEn +\r\n \"&o=\" +\r\n tripDataModel.tripEndDateEn +\r\n \"&r=\" +\r\n tripDataModel.roomsCount +\r\n \"&n=\" +\r\n \"&d=\" +\r\n tripDataModel.destination.id +\r\n \"&or=\" +\r\n tripDataModel.origin.id +\r\n adultsString +\r\n childString +\r\n childAgeString;\r\n\r\n var localStorageKey = `${window.prefixSearchHistory}-online-${\r\n $(\".js-search-holder-landing\").attr(\"id\") || $(\".js-tab-nav\").find(\".js-tab-content>div.active\").attr(\"id\")\r\n }`;\r\n\r\n if (!isInModal)\r\n window.updateLocalStorage(localStorageKey, {\r\n value: { ...tripDataModel, tourType: \"online\" },\r\n baseUrl: url,\r\n expire: tripDataModel.tripStartDateEn,\r\n });\r\n\r\n window.location.assign(url);\r\n});\r\n\r\n// trip booking\r\n\r\n//static data\r\ntripAdultCountArray = [\r\n \"1 بزرگسال\",\r\n \"2 بزرگسال\",\r\n \"3 بزرگسال\",\r\n \"4 بزرگسال\",\r\n \"5 بزرگسال\",\r\n \"6 بزرگسال\",\r\n \"7 بزرگسال\",\r\n \"8 بزرگسال\",\r\n \"9 بزرگسال\",\r\n];\r\ntripChildCountArray = [\"0 کودک\", \"1 کودک\", \"2 کودک\", \"3 کودک\", \"4 کودک\"];\r\ntripChildAgesArray = [\r\n \"0 - 1 (نوزاد)\",\r\n \"1 - 2 (نوزاد)\",\r\n \"2 - 3 \",\r\n \"3 - 4 \",\r\n \"4 - 5 \",\r\n \"5 - 6 \",\r\n \"6 - 7 \",\r\n \"7 - 8 \",\r\n \"8 - 9 \",\r\n \"9 - 10 \",\r\n \"10 - 11 \",\r\n \"11 - 12 \",\r\n];\r\n\r\nvar tripDataModel = {\r\n tripEndDate: \"\",\r\n tripEndDateEn: \"\",\r\n tripStartDate: \"\",\r\n tripStartDateEn: \"\",\r\n locationType: 1,\r\n daysDuration: null,\r\n roomsCount: 1,\r\n childLabels: [],\r\n dir: \"rtl\",\r\n childsCount: 0,\r\n adultsCount: 0,\r\n destination: {\r\n tripTitle: \"\",\r\n cityTitle: \"\",\r\n citySlug: \"\",\r\n slug: \"\",\r\n countryTitle: \"\",\r\n countrySlug: \"\",\r\n },\r\n origin: {\r\n tripTitle: \"\",\r\n cityTitle: \"\",\r\n citySlug: \"\",\r\n slug: \"\",\r\n countryTitle: \"\",\r\n countrySlug: \"\",\r\n },\r\n rooms: [\r\n {\r\n room: 1,\r\n adult: 2,\r\n child: 0,\r\n childs: [],\r\n },\r\n ],\r\n};\r\n\r\nvar tripInput = [];\r\n\r\n//add or remove room\r\nvar roomNum;\r\n$(\"body\").delegate(\".js-trip-form .js-trip-count-box button\", \"click\", function () {\r\n if ($(this).hasClass(\"js-trip-max\")) {\r\n if (tripDataModel.roomsCount < 4) {\r\n roomNum = tripDataModel.roomsCount + 1;\r\n\r\n tripDataModel.roomsCount = roomNum;\r\n\r\n tripDataModel.rooms.push({\r\n room: roomNum,\r\n adult: 1,\r\n child: 0,\r\n childs: [],\r\n });\r\n }\r\n } else if ($(this).hasClass(\"js-trip-min\")) {\r\n if (tripDataModel.roomsCount > 1) {\r\n roomNum = tripDataModel.roomsCount - 1;\r\n\r\n tripDataModel.roomsCount = roomNum;\r\n\r\n tripDataModel.rooms.pop();\r\n }\r\n }\r\n updateTripTemplate(tripDataModel);\r\n});\r\n\r\n// select adult count\r\n$(\"body\").delegate(\"select.js-trip-rooms-adult-count\", \"change\", function () {\r\n var roomIndex = $(this).closest(\"ul\").attr(\"data-row\");\r\n\r\n tripDataModel.rooms[roomIndex].adult = Number($(this).val()) + 1;\r\n\r\n updateTripTemplate(tripDataModel);\r\n});\r\n\r\n//in mobile\r\n$(\"body\").delegate(\".js-trip-adults>button\", \"click\", function (e) {\r\n e.preventDefault();\r\n var roomIndex = $(this).closest(\"ul\").attr(\"data-row\");\r\n\r\n var roomNumber = $(this).hasClass(\"js-trip-add\")\r\n ? Number($(this).siblings(\"input\").val()) + 1\r\n : Number($(this).siblings(\"input\").val()) - 1;\r\n\r\n $(this).siblings(\"input\").val(roomNumber);\r\n\r\n tripDataModel.rooms[roomIndex].adult = Number(roomNumber);\r\n\r\n updateTripTemplate(tripDataModel);\r\n});\r\n\r\n//select child count\r\n$(\"body\").delegate(\"select.js-trip-rooms-child-count\", \"change\", function () {\r\n var roomIndex = $(this).closest(\"ul\").attr(\"data-row\");\r\n\r\n tripDataModel.rooms[roomIndex].child = Number($(this).val());\r\n\r\n var oldChildCount = tripDataModel.rooms[roomIndex].childs.length;\r\n\r\n var selectedChildCount = Number($(this).val());\r\n\r\n if (selectedChildCount === oldChildCount) return;\r\n\r\n var newChildCount = 0;\r\n\r\n if (selectedChildCount > oldChildCount) {\r\n newChildCount = selectedChildCount - oldChildCount;\r\n for (i = 0; i < newChildCount; i++) {\r\n tripDataModel.rooms[roomIndex].childs.push(0);\r\n }\r\n } else {\r\n newChildCount = oldChildCount - selectedChildCount;\r\n for (i = 0; i < newChildCount; i++) {\r\n tripDataModel.rooms[roomIndex].childs.pop();\r\n }\r\n }\r\n updateTripTemplate(tripDataModel);\r\n});\r\n\r\n////select child count In mobile\r\n$(\"body\").delegate(\".js-trip-childs-count-InMobile>button\", \"click\", function () {\r\n var roomIndex = $(this).closest(\"ul\").attr(\"data-row\");\r\n\r\n var selectedChildCount = $(this).hasClass(\"js-trip-add\")\r\n ? Number($(this).siblings(\"input\").val()) + 1\r\n : Number($(this).siblings(\"input\").val()) - 1;\r\n\r\n if (selectedChildCount > 4 || selectedChildCount < 0) return;\r\n\r\n $(this).siblings(\"input\").val(selectedChildCount);\r\n\r\n tripDataModel.rooms[roomIndex].child = selectedChildCount;\r\n\r\n var oldChildCount = tripDataModel.rooms[roomIndex].childs.length;\r\n\r\n // var selectedChildCount = Number($(this).val());\r\n\r\n if (selectedChildCount === oldChildCount) return;\r\n\r\n var newChildCount = 0;\r\n\r\n if (selectedChildCount > oldChildCount) {\r\n newChildCount = selectedChildCount - oldChildCount;\r\n for (i = 0; i < newChildCount; i++) {\r\n tripDataModel.rooms[roomIndex].childs.push(0);\r\n }\r\n } else {\r\n newChildCount = oldChildCount - selectedChildCount;\r\n for (i = 0; i < newChildCount; i++) {\r\n tripDataModel.rooms[roomIndex].childs.pop();\r\n }\r\n }\r\n updateTripTemplate(tripDataModel);\r\n});\r\n\r\n//select childs Age\r\n$(\"body\").delegate(\"select.js-trip-child-age\", \"change\", function () {\r\n var roomIndex = $(this).closest(\"ul\").attr(\"data-row\");\r\n\r\n var childAgeIndex = Number($(this).attr(\"name\"));\r\n\r\n var childAge = Number($(this).val()) + 1;\r\n\r\n tripDataModel.rooms[roomIndex].childs[childAgeIndex] = childAge;\r\n\r\n updateTripTemplate(tripDataModel);\r\n});\r\n\r\n////////////////////////////\r\n$(\"body\").delegate(\".js-trip-room-remove\", \"click\", function () {\r\n var roomIndex = $(this).closest(\"ul\").attr(\"data-row\");\r\n\r\n tripDataModel.rooms.splice(Number(roomIndex), 1);\r\n tripDataModel.roomsCount = tripDataModel.roomsCount - 1;\r\n updateTripTemplate();\r\n});\r\n\r\n//update Data\r\nfunction tripUpdateDates(target) {\r\n tripDataModel.tripStartDateEn = $(target)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-trip-form .js-trip-check-in-date\")\r\n .next()\r\n .val();\r\n\r\n tripDataModel.tripEndDateEn = $(target)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-trip-form .js-trip-check-out-date\")\r\n .next()\r\n .val();\r\n\r\n tripDataModel.tripStartDate = $(target)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-trip-form .js-trip-check-in-date\")\r\n .val();\r\n\r\n tripDataModel.tripEndDate = $(target)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-trip-form .js-trip-check-out-date\")\r\n .val();\r\n}\r\n\r\n//update Template\r\nfunction updateTripTemplate(newTemplate) {\r\n //get adultCount\r\n tripDataModel.adultsCount = 0;\r\n tripDataModel.childsCount = 0;\r\n $.each(tripDataModel.rooms, function (key, room) {\r\n tripDataModel.adultsCount += room.adult;\r\n tripDataModel.childsCount += room.child;\r\n });\r\n //check if rooms menu is open after update open it\r\n var flag = false;\r\n if ($(\".js-trip-rooms-toggle\").hasClass(\"trip-booking__rooms-options--open\")) {\r\n flag = true;\r\n }\r\n var labelsArray = tripcountLabelNumbers(tripDataModel.rooms);\r\n tripDataModel.childLabels = labelsArray;\r\n\r\n $(\".js-trip\").html($(\"#js-trip-template\").tmpl(tripDataModel));\r\n\r\n if (flag) {\r\n $(\".js-trip-rooms-toggle\").addClass(\"trip-booking__rooms-options--open\");\r\n }\r\n tripcheckAlignBox();\r\n tripSearch();\r\n tripDatePicker();\r\n}\r\n//check align of rooms details menu\r\nfunction tripcheckAlignBox() {\r\n if (\r\n $(\".js-trip-form\").offset().left > $(\".js-trip-options-rooms\").offset().left &&\r\n $(\".rooms-toggleBtn\").hasClass(\"trip-booking__rooms-options--open\")\r\n ) {\r\n $(\".js-trip-rooms-options\").addClass(\"align-left\");\r\n } else {\r\n $(\".js-trip-rooms-options\").removeClass(\"align-left\");\r\n }\r\n}\r\n\r\nfunction tripcountLabelNumbers(rooms) {\r\n var childsLabel = [\"بزرگسال\", \"کودک\"];\r\n var max = 0;\r\n for (var i = 0; i < rooms.length; i++) {\r\n if (rooms[i].childs.length > max) {\r\n max = rooms[i].childs.length;\r\n }\r\n }\r\n for (var j = 0; j < max; j++) {\r\n childsLabel.push(\"سن کودک \" + (j + 1));\r\n }\r\n return childsLabel;\r\n}\r\n\r\n//check diff\r\nfunction tripCalcDiffDate() {\r\n if (!tripDataModel.tripStartDateEn || !tripDataModel.tripEndDateEn) {\r\n return \"\";\r\n }\r\n var startDate = moment.utc(tripDataModel.tripStartDateEn);\r\n var endDate = moment.utc(tripDataModel.tripEndDateEn);\r\n var daysDuration = endDate.diff(startDate, \"days\");\r\n return daysDuration;\r\n}\r\n\r\nfunction tripDatePicker() {\r\n setTimeout(function () {\r\n $(\".js-trip-form .js-trip-booking-date\").pickDate({\r\n // dateFormat: \"dd MM yy\",\r\n // dateFormatEn: \"yy M dd\",\r\n changeMonthAllow: false,\r\n changeYearAllow: false,\r\n showButtonPanel: true,\r\n isDependenceDates: false,\r\n showCurrentAtPos: 0,\r\n numberOfMonths: $(window).width() > 991 ? 2 : 1,\r\n minDate: -0,\r\n customClass: \"lightTheme\",\r\n showAllMonthsinList: false,\r\n langType: datePickerMode === 1 ? '':'fa',\r\n blurInmobile: true,\r\n dayNamesShortFa: [\"1شنبه\", \"2شنبه\", \"3شنبه\", \"4شنبه\", \"5شنبه\", \"جمعه\", \"شنبه\"],\r\n enterDateTitle: \"تاریخ ورود\",\r\n exitDateTitle: \"تاریخ خروج\",\r\n enterDateTitleEn: \"Check in\",\r\n exitDateTitleEn: \"Check out\",\r\n dayNamesShortEn: [\"Su\", \"Mo\", \"TU\", \"We\", \"Th\", \"Fr\", \"Sa\"],\r\n onSelectEvent: function () {\r\n if ($(this).hasClass(\"pickDate_2\")) {\r\n var daysDurationParam = tripCalcDiffDate();\r\n tripDataModel.daysDuration = daysDurationParam;\r\n if (tripDataModel.daysDuration) {\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-trip-booking-night-count\")\r\n .html(\"\" + tripDataModel.daysDuration)\r\n .addClass(\"night-count-show\");\r\n }\r\n } else {\r\n tripDataModel.daysDuration = null;\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-trip-booking-night-count\")\r\n .removeClass(\"night-count-show\");\r\n }\r\n\r\n tripUpdateDates($(this));\r\n },\r\n fillHidden: {\r\n enable: true,\r\n outPut: \"en\", //en | Dependent_On_SelectedDate | fa\r\n customformatInhidden: \"YYYY-MM-DD\",\r\n },\r\n });\r\n }, 100);\r\n}\r\n\r\nupdateTripTemplate();\r\n\r\n$(\"body\").on(\"click\", function (e) {\r\n if (!$(e.target).closest(\".js-trip-rooms-options\").length) {\r\n if ($(\".js-trip-rooms-toggle\").hasClass(\"trip-booking__rooms-options--open\")) {\r\n $(\".js-trip-rooms-toggle\").removeClass(\"trip-booking__rooms-options--open\");\r\n }\r\n }\r\n});\r\n","var documentWidth = $(document).width();\r\n$(window).resize(function () {\r\n documentWidth = $(document).width();\r\n});\r\n\r\n$(function () {\r\n // close auto complete\r\n $(\".js-tour-booking\").delegate(\r\n \".js-close-auto-complete\",\r\n \"click\",\r\n function () {\r\n $(\".js-tour-booking-input\").autocomplete(\"close\");\r\n $(\".js-autocomplete-list>ul\").hide();\r\n $(\"html\").removeClass(\"no-scroll\");\r\n $(\".js-tour-booking-item\").removeClass(\"show-mobile\");\r\n }\r\n );\r\n\r\n // close auto complete list when click in out of it\r\n $(document).click(function (e) {\r\n if ($(e.target).closest(\"js-tour-booking\").length === 0) {\r\n $(\".js-autocomplete-list\").removeClass(\"show\");\r\n $(\".js-autocomplete-field\").removeClass(\"open\");\r\n }\r\n });\r\n\r\n // module four column tours hover effect\r\n $(\".four-column-tours__content .four-column-tours__card\").each(function () {\r\n $(this).hover(\r\n function () {\r\n $(this).siblings().addClass(\"small\");\r\n $(this).addClass(\"active\");\r\n },\r\n function () {\r\n $(this).siblings().removeClass(\"small\");\r\n $(this).removeClass(\"active\");\r\n }\r\n );\r\n });\r\n\r\n // update auto complete after type\r\n function getResult(input) {\r\n var dataUrl = \"/v2/tour/search/\";\r\n if ($(input).val()) {\r\n dataUrl += $(input).val();\r\n }\r\n return dataUrl;\r\n }\r\n\r\n $(\".js-tour-booking-input\").each(function (e) {\r\n $(this)\r\n .autocomplete({\r\n minLength: 0,\r\n source: function (request, response) {\r\n if (request.term === \"\" && window.tourDefaultList) {\r\n response(window.tourDefaultList);\r\n } else {\r\n var url = getResult($(\".js-tour-booking-input\"));\r\n \r\n $.getJSON(`${url}/`).done(function (serverResponse) {\r\n response(serverResponse.model);\r\n });\r\n }\r\n },\r\n appendTo: $(this).next(),\r\n search: function () {\r\n $(this).closest(\".js-tour-booking-item\").addClass(\"show-mobile\");\r\n\r\n if (documentWidth < 992) {\r\n $(\"html\").addClass(\"no-scroll\");\r\n }\r\n },\r\n select: function (event, ui) {\r\n tourLocalStorage(ui.item.href, ui.item.title)\r\n window.location = ui.item.href;\r\n $(\".js-tour-booking-item\").removeClass(\"show-mobile\");\r\n },\r\n focus: function (e, ui) {\r\n $(\".js-tour-booking-input\").attr(\"placeholder\", \"\");\r\n setTimeout(function () {\r\n $(\".js-tour-booking-input\").val(ui.item.title);\r\n }, 1);\r\n },\r\n close: function (e, ui) {\r\n $(\".js-tour-booking-input\").attr(\"placeholder\", \"مقصد کجاست؟\");\r\n\r\n $(\"html\").removeClass(\"no-scroll\");\r\n },\r\n })\r\n .bind(\"focus\", function () {\r\n $(this).keydown();\r\n })\r\n\r\n .keydown(function (event) {\r\n if (event.keyCode === 13) {\r\n event.preventDefault();\r\n if ($(\".ui-autocomplete:visible\").length && $(\".ui-autocomplete li.ui-menu-item\").length) {\r\n var firstItem = $(\".ui-autocomplete li.ui-menu-item:first-child a\");\r\n tourLocalStorage(firstItem.attr(\"href\"), firstItem.text())\r\n if (firstItem) window.location = firstItem.attr(\"href\");\r\n }\r\n }\r\n })\r\n\r\n .autocomplete(\"instance\")._renderItem = function (ul, item) {\r\n var iconClass;\r\n iconClass = \"icon-map\";\r\n\r\n return $(\"
  • \")\r\n .append(\r\n \" \" +\r\n item.title +\r\n \"\"\r\n )\r\n .appendTo(ul);\r\n };\r\n });\r\n})\r\n\r\nfunction tourLocalStorage(url, title) {\r\n var localStorageKey = `${window.prefixSearchHistory}-offline-${\r\n $('.js-search-holder-landing').attr('id') ||\r\n $('.js-tab-nav').find(\".js-tab-content>div.active\").attr('id')\r\n }`\r\n var searchHistoryItem = {\r\n value: {\r\n href: url,\r\n title: title,\r\n tourType: 'offline'\r\n },\r\n baseUrl: url,\r\n expire: moment().add(1, 'months').format('YYYY-MM-DD')\r\n }\r\n\r\n window.updateLocalStorage(localStorageKey, searchHistoryItem)\r\n}\r\n\r\n\r\n","$(function () {\r\n $(\"input[type=radio][name^=js-tour-type-radio]\").change(function (event) {\r\n $(event.target)\r\n .closest(\".js-booking-section\")\r\n .find(\".js-tour-wrapper-item\")\r\n .removeClass(\"is-active\");\r\n\r\n let radioTarget = event.target.getAttribute(\"target\") \r\n $(`#${radioTarget}`).addClass(\"is-active\");\r\n\r\n if(radioTarget === 'js-offline-tour-section') {\r\n if(!Boolean(window.localStorage.getItem(`${window.prefixSearchHistory}-offline-trip-tab`)))\r\n window.localStorage.setItem(`${window.prefixSearchHistory}-offline-trip-tab`, `[]`)\r\n }\r\n\r\n else if(radioTarget === 'js-online-tour-section') {\r\n if(!Boolean(window.localStorage.getItem(`${window.prefixSearchHistory}-online-trip-tab`)))\r\n window.localStorage.setItem(`${window.prefixSearchHistory}-online-trip-tab`, `[]`)\r\n }\r\n createSearchHistoryCard()\r\n });\r\n});\r\n","// define variable for travel time and locations default list\r\nvar insuranceLocationList;\r\nvar datePickerMode = localStorage.getItem(\"datePickerMode\") ? Number(localStorage.getItem(\"datePickerMode\")) : 2;\r\n\r\ninitDatepicker();\r\n\r\n$(function () {\r\n if (window.insuranceDays && window.insuranceDays.length) {\r\n appendTravelTimeList(window.insuranceDays);\r\n }\r\n\r\n if (window.insuranceLocation && window.insuranceLocation.length) {\r\n insuranceLocationList = window.insuranceLocation;\r\n } else {\r\n $.get(\"/insurance/getcountries/\", function (data, status) {\r\n if (data.model && data.model.length) {\r\n insuranceLocationList = data.model;\r\n }\r\n });\r\n }\r\n\r\n $.get(\"/insurance/getdurationsofstay/?all=true\", function (data, status) {\r\n if (data.model && data.model.length) {\r\n appendTravelTimeList(data.model);\r\n }\r\n });\r\n\r\n // toggle travel time list\r\n $(\".js-toggle-insurance-time\").click(function () {\r\n $(this).closest(\".js-insurance-time\").toggleClass(\"is-open\");\r\n if (window.innerWidth < 993) {\r\n $(\"html\").toggleClass(\"no-scroll\");\r\n }\r\n });\r\n\r\n // close travel time list\r\n $(\"body\").on(\"click\", function (event) {\r\n if (!$(event.target).closest(\".js-insurance-time\").length) {\r\n if ($(\".js-insurance-time\").hasClass(\"is-open\")) {\r\n $(\".js-insurance-time\").removeClass(\"is-open\");\r\n\r\n if (window.innerWidth < 993) {\r\n $(\"html\").toggleClass(\"no-scroll\");\r\n }\r\n }\r\n }\r\n });\r\n\r\n // change travel time value\r\n $(\"body\").delegate(\".js-insurance-time-item\", \"click\", function () {\r\n $(\".js-insurance-time-value\").html($(this).html());\r\n $(\".js-insurance-time-value\").attr(\"data-value\", $(this).attr(\"data-value\"));\r\n $(\".js-insurance-time\").removeClass(\"is-open\");\r\n if (window.innerWidth < 993) {\r\n $(\"html\").toggleClass(\"no-scroll\");\r\n }\r\n\r\n let timeOut = setTimeout(() => {\r\n document.querySelector(\".js-toggle-person-list\").click();\r\n clearTimeout(timeOut);\r\n }, 100);\r\n });\r\n\r\n // toggle person list\r\n $(\".js-toggle-person-list\").click(function () {\r\n $(\".js-toggle-person\").toggleClass(\"is-open\");\r\n if (window.innerWidth < 993) {\r\n $(\"html\").toggleClass(\"no-scroll\");\r\n }\r\n });\r\n\r\n // close person list\r\n $(\"body\").on(\"click\", function (event) {\r\n if (!$(event.target).closest(\".js-toggle-person\").length) {\r\n if ($(\".js-toggle-person\").hasClass(\"is-open\")) {\r\n $(\".js-toggle-person\").removeClass(\"is-open\");\r\n\r\n $(\"html\").removeClass(\"no-scroll\");\r\n }\r\n }\r\n });\r\n\r\n // change insurance person count and create input for person birth date\r\n $(\".js-person-item\").click(function () {\r\n $(\"html\").removeClass(\"no-scroll\");\r\n\r\n var personCount = Number($(this).attr(\"data-value\"));\r\n $(\".js-person-value\").html($(this).html());\r\n $(\".js-person-value\").attr(\"data-value\", personCount);\r\n $(\".js-toggle-person\").removeClass(\"is-open\");\r\n\r\n var datepickerItemLength = $(\".js-inc-datepicker-item\").length;\r\n\r\n if (personCount !== datepickerItemLength) {\r\n if (personCount > datepickerItemLength) {\r\n for (var i = datepickerItemLength + 1; i <= personCount; i++) {\r\n $(\".js-inc-datepicker\").append(\r\n \"\\\r\n
    \\\r\n
    \\\r\n \\\r\n \\\r\n
    \\\r\n
    \"\r\n );\r\n }\r\n\r\n initDatepicker();\r\n } else {\r\n for (var i = datepickerItemLength - 1; i >= personCount; i--) {\r\n $(\".js-inc-datepicker-item\")[i].remove();\r\n }\r\n }\r\n }\r\n\r\n let timeOut = setTimeout(() => {\r\n $(\".js-inc-datepicker-item\").find(\".js-pick-date\").eq(0).datepicker(\"show\"); // show first datePicker\r\n clearTimeout(timeOut);\r\n }, 100);\r\n });\r\n\r\n $(\".js-insurance-booking .js-inc-datepicker-calendar\").pickDate({\r\n dateFormat: \"yy/mm/dd\",\r\n dateFormatEn: \"yy M dd\",\r\n changeMonthAllow: true,\r\n changeYearAllow: true,\r\n showButtonPanel: true,\r\n isDependenceDates: false,\r\n showCurrentAtPos: 0,\r\n numberOfMonths: 1,\r\n yearRange: \"c-100:+00\",\r\n minDate: \"1300/01/01\",\r\n maxDate: new Date(),\r\n customClass: \"lightTheme\",\r\n showAllMonthsinList: false,\r\n langType: datePickerMode === 1 ? '':'fa',\r\n blurInmobile: true,\r\n dayNamesShortFa: [\"1شنبه\", \"2شنبه\", \"3شنبه\", \"4شنبه\", \"5شنبه\", \"جمعه\", \"شنبه\"],\r\n dayNamesShortEn: [\"Su\", \"Mo\", \"TU\", \"We\", \"Th\", \"Fr\", \"Sa\"],\r\n enterDateTitle: \"تاریخ تولد مسافر\",\r\n enterDateTitleEn: \"Passenger date of birth\",\r\n fillHidden: {\r\n enable: true,\r\n outPut: \"en\", //en | Dependent_On_SelectedDate | fa\r\n customformatInhidden: \"YYYY-MM-DD\",\r\n },\r\n });\r\n\r\n $(\".js-search-insurance\").click(function () {\r\n var localStorageKey = `${window.prefixSearchHistory}-${\r\n $(\".js-search-holder-landing\").attr(\"id\") ||\r\n $(this).closest(\".js-tab-nav\").find(\".js-tab-content>div.active\").attr(\"id\")\r\n }`;\r\n var searchHistoryItem = {\r\n value: {},\r\n baseUrl: \"\",\r\n expire: \"\",\r\n };\r\n\r\n var baseUrl = \"/fa/Insurance/result/?\";\r\n var valid = true;\r\n\r\n $(\".js-insurance-booking\").find(\".js-error-message\").remove();\r\n $(\".js-insurance-booking-input\").removeClass(\"error\");\r\n\r\n var countryField = $(\".js-insurance-location\").data();\r\n if (countryField.code) {\r\n // $(\".js-insurance-location\").data(\"code\")\r\n searchHistoryItem.value.country = {\r\n code: countryField.code,\r\n value: countryField.value,\r\n };\r\n\r\n baseUrl += \"CountryCode=\" + countryField.code; //$(\".js-insurance-location\").data(\"code\")\r\n } else {\r\n $(\".js-insurance-location\").closest(\".js-insurance-booking-input\").addClass(\"error\");\r\n valid = false;\r\n }\r\n\r\n if ($(\".js-insurance-time-value\").attr(\"data-value\")) {\r\n searchHistoryItem.value.duration = $(\".js-insurance-time-value\").data(\"value\");\r\n searchHistoryItem.value.durationText = $(\".js-insurance-time-value\")[0].innerText;\r\n baseUrl += \"&DurationOfStay=\" + $(\".js-insurance-time-value\").data(\"value\");\r\n } else {\r\n $(\".js-insurance-time-value\").closest(\".js-insurance-booking-input\").addClass(\"error\");\r\n valid = false;\r\n }\r\n\r\n searchHistoryItem.value.personCount = $(\".js-insurance-booking .pickDate\").length;\r\n searchHistoryItem.value.birthDate = [];\r\n $(\".js-insurance-booking .pickDate\").each(function (index, value) {\r\n if ($(this).val() !== \"\") {\r\n searchHistoryItem.value.birthDate[index] = $(this).next().val();\r\n baseUrl += \"&BirthDate[\" + index + \"]=\" + $(this).next().val();\r\n } else {\r\n searchHistoryItem.value.birthDate[index] = \"\";\r\n $(this).closest(\".js-insurance-booking-input\").addClass(\"error\");\r\n valid = false;\r\n }\r\n });\r\n\r\n if (!valid) {\r\n $(\".js-insurance-booking\").append(\r\n \"لطفا تمام فیلدها را کامل نمایید\"\r\n );\r\n\r\n return false;\r\n } else {\r\n searchHistoryItem = {\r\n ...searchHistoryItem,\r\n baseUrl: baseUrl,\r\n expire: moment().add(1, \"months\").format(\"YYYY-MM-DD\"),\r\n };\r\n window.updateLocalStorage(localStorageKey, searchHistoryItem);\r\n window.location.assign(baseUrl);\r\n }\r\n });\r\n\r\n // init autoComplete\r\n $(\".js-insurance-location\")\r\n .autocomplete({\r\n minLength: 0,\r\n delay: 400,\r\n source: function (request, response) {\r\n if (request.term === \"\") {\r\n var items = insuranceLocationList && insuranceLocationList.length ? insuranceLocationList : [];\r\n\r\n response(items);\r\n } else {\r\n var url = getResult($(\".js-insurance-location\"));\r\n $.getJSON(url).done(function (serverResponse) {\r\n response(serverResponse.model);\r\n });\r\n }\r\n },\r\n\r\n appendTo: $(\".js-insurance-location\").next(),\r\n search: function () {\r\n if (window.innerWidth < 993) {\r\n $(this).closest(\".js-insurance-booking-input\").addClass(\"is-open\");\r\n $(\"html\").addClass(\"no-scroll\");\r\n }\r\n },\r\n open: function () {\r\n $(this).closest(\".js-insurance-booking-input\").addClass(\"is-open\");\r\n $(this).parent().find(\".js-autocomplete-list\").show();\r\n\r\n $(\".ui-autocomplete\").off(\"menufocus hover mouseover mouseenter\");\r\n //off autocomplete in chrome\r\n let chromeAgent = navigator.userAgent.indexOf(\"Chrome\") != -1;\r\n if (chromeAgent) {\r\n $(this).attr(\"autocomplete\", \"off\");\r\n } else {\r\n $(this).attr(\"autocomplete\", \"new-value\");\r\n }\r\n var inputObj = $(this);\r\n inputObj\r\n .next(\".js-autocomplete-list\")\r\n .children(\"ul\")\r\n .css({\r\n top: \"+=\" + 4,\r\n });\r\n },\r\n close: function (e, ui) {\r\n $(\"html\").removeClass(\"no-scroll\");\r\n },\r\n select: function (event, ui) {\r\n $(this).attr(\"data-code\", ui.item.code);\r\n $(this).attr(\"data-value\", ui.item.title);\r\n $(this).val();\r\n\r\n $(this).data({\r\n code: ui.item.code,\r\n value: ui.item.title,\r\n });\r\n\r\n $(this).attr(\"placeholder\", ui.item.title);\r\n\r\n $(this).closest(\".js-insurance-booking-input\").removeClass(\"is-open\");\r\n $(\".js-insurance-location\").autocomplete(\"close\");\r\n\r\n let timeOut = setTimeout(() => {\r\n document.querySelector(\".js-toggle-insurance-time\").click();\r\n clearTimeout(timeOut);\r\n document.activeElement.blur();\r\n }, 100);\r\n },\r\n })\r\n .bind(\"focus\", function () {\r\n $(this).val(\"\");\r\n $(this).autocomplete(\"search\");\r\n })\r\n .bind(\"blur\", function () {\r\n $(this).val($(this).attr(\"placeholder\"));\r\n })\r\n .autocomplete(\"instance\")._renderItem = function (ul, item) {\r\n var li = \"\";\r\n li +=\r\n '
  • ' +\r\n '
    ' +\r\n item.title +\r\n \"
  • \";\r\n\r\n return $(li).appendTo(ul);\r\n };\r\n\r\n // close location\r\n $(\".js-insurance-booking\").delegate(\".js-close-location-list\", \"click\", function () {\r\n $(this).closest(\".js-insurance-booking-input\").removeClass(\"is-open\");\r\n $(\".js-insurance-location\").autocomplete(\"close\");\r\n });\r\n});\r\n\r\n$(\".js-insurance-location\").click(() => {\r\n $(\".js-insurance-location\").trigger(\"focus\");\r\n $(\".js-insurance-location\").trigger(\"search\");\r\n});\r\n\r\n// init datePicker\r\nfunction initDatepicker() {\r\n $(\r\n \".js-insurance-booking .js-inc-datepicker-calendar-new, .js-insurance-booking .js-inc-datepicker-calendar\"\r\n ).pickDate({\r\n dateFormat: \"yy/mm/dd\",\r\n dateFormatEn: \"yy M dd\",\r\n changeMonthAllow: true,\r\n changeYearAllow: true,\r\n showButtonPanel: true,\r\n isDependenceDates: false,\r\n showCurrentAtPos: 0,\r\n numberOfMonths: 1,\r\n yearRange: \"c-100:+00\",\r\n minDate: \"1300/01/01\",\r\n maxDate: new Date(),\r\n customClass: \"lightTheme\",\r\n showAllMonthsinList: false,\r\n langType: datePickerMode === 1 ? '':'fa',\r\n blurInmobile: true,\r\n dayNamesShortFa: [\"1شنبه\", \"2شنبه\", \"3شنبه\", \"4شنبه\", \"5شنبه\", \"جمعه\", \"شنبه\"],\r\n dayNamesShortEn: [\"Su\", \"Mo\", \"TU\", \"We\", \"Th\", \"Fr\", \"Sa\"],\r\n enterDateTitle: \"تاریخ تولد مسافر\",\r\n enterDateTitleEn: \"Passenger date of birth\",\r\n fillHidden: {\r\n enable: true,\r\n outPut: \"en\", //en | Dependent_On_SelectedDate | fa\r\n customformatInhidden: \"YYYY-MM-DD\",\r\n },\r\n onSelectEvent: function () {\r\n let nextDatePicker = $(this).closest(\".js-inc-datepicker-item\").next(\".js-insurance-booking-input\");\r\n if (Boolean(nextDatePicker.length)) {\r\n let timeOut = setTimeout(() => {\r\n nextDatePicker.find(\".js-pick-date\").datepicker(\"show\");\r\n clearTimeout(timeOut);\r\n }, 100);\r\n }\r\n },\r\n });\r\n}\r\n\r\n// update auto complete after type\r\nfunction getResult(input) {\r\n var dataUrl = \"/insurance/getcountries/?Keyword=\";\r\n\r\n if (input.val()) {\r\n dataUrl += input.val();\r\n }\r\n return dataUrl;\r\n}\r\n\r\n// append insurance travel time list item\r\nfunction appendTravelTimeList(items) {\r\n $(\".js-insurance-time-list\").empty();\r\n\r\n if (items && items.length) {\r\n items.forEach(function (item) {\r\n $(\".js-insurance-time-list\").append(\r\n \"
  • \" + item.title + \"
  • \"\r\n );\r\n });\r\n }\r\n}\r\n","var isExternal = false;\r\nvar railList = window.internalRailStationsList || [];\r\nvar railSelector = \".js-domestic-rail\";\r\nvar documentWidth = screen.width;\r\nvar datePickerMode = localStorage.getItem(\"datePickerMode\") ? Number(localStorage.getItem(\"datePickerMode\")) : 2;\r\n\r\n// Traveller Count Form\r\nvar sum;\r\nvar youngs = ``;\r\nvar temp = true;\r\n\r\n$(window).resize(function () {\r\n documentWidth = screen.width;\r\n});\r\n\r\n$(function () {\r\n let timeOut = setTimeout(() => {\r\n $(\"#internal-rail-oneWay\").prop('checked',true)\r\n clearTimeout(timeOut)\r\n }, 0)\r\n\r\n railDatePicker();\r\n\r\n $(\".js-exclusive-compartment\").change((event) => {\r\n if (event.target.checked) {\r\n $(\".js-domestic-rail\").find(\".rail-booking__item--travellers\").show();\r\n $(\".js-car-transfer\").prop('checked', false); \r\n }\r\n })\r\n \r\n $(\".js-car-transfer\").change((event) => {\r\n if (event.target.checked) {\r\n $(\".js-domestic-rail\").find(\".rail-booking__item--travellers\").hide();\r\n $(\".js-exclusive-compartment\").prop('checked', false);\r\n }\r\n else {\r\n $(\".js-domestic-rail\").find(\".rail-booking__item--travellers\").show();\r\n }\r\n })\r\n\r\n let radioCheckedValue = $(\".js-rail .js-routes-select input:radio:checked\").val();\r\n railRoutesTypeCheck(radioCheckedValue);\r\n\r\n $(\".js-time-inner\").click(selectTime);\r\n\r\n $(\".js-rail .js-auto-search\").each(function () {\r\n autoSearchRail($(this));\r\n });\r\n\r\n $(\".js-rail .js-economy-target\").each(function () {\r\n calcSum($(this));\r\n });\r\n\r\n $(\".js-routes-select\").on(\"change\", \"input\", function () {\r\n railRoutesTypeCheck($(this).val(), $(this));\r\n });\r\n\r\n // Traveller Menu Close\r\n $(document).mouseup(function (e) {\r\n // if the target of the click isn't the container...\r\n if (\r\n !$(\".js-economy-target\").is(e.target) &&\r\n $(\".js-economy-target\").has(e.target).length === 0\r\n ) {\r\n var validToClose = true;\r\n if ($(\".js-passenger-young .js-number-passenger\").text() !== \"0\") {\r\n $(\".js-young-age\").each(function () {\r\n if (!$(this).val()) {\r\n $(this).next().fadeIn();\r\n validToClose = false;\r\n } else {\r\n $(this).next().fadeOut();\r\n }\r\n });\r\n }\r\n\r\n if ($(\".js-passenger-young .js-number-passenger\").text() !== \"0\") {\r\n $(\".js-young-age\").each(function () {\r\n if ($(this).val() > 27 || $(this).val() < 0) {\r\n $(this).next().next().fadeIn();\r\n $(\".js-passenger-young-period\").addClass(\"err\");\r\n validToClose = false;\r\n } else {\r\n $(this).next().next().fadeOut();\r\n $(\".js-passenger-young-period\").removeClass(\"err\");\r\n }\r\n });\r\n }\r\n\r\n if (validToClose && documentWidth > 992) {\r\n // ... nor a descendant of the container\r\n $(\".js-rail-travelers\").fadeOut();\r\n $(\".js-economy-target .js-rail-booking-field\").removeClass(\r\n \"rail-booking__item--border--active\"\r\n );\r\n }\r\n }\r\n });\r\n\r\n $(document).mouseup(function (e) {\r\n if (\r\n !$(\".js-time-list\").is(e.target) &&\r\n $(\".js-time-list\").has(e.target).length === 0\r\n ) {\r\n if (documentWidth > 992) {\r\n // ... nor a descendant of the container\r\n $(\".js-time-list\").fadeOut();\r\n } else {\r\n $(\".js-rail-travelers\").removeClass(\"show-tmenu\");\r\n }\r\n }\r\n });\r\n\r\n // Search Btn\r\n $(\".js-rail .js-rail-search\").click(searchRail);\r\n\r\n // Exchange Btn For Swaping Values\r\n $(\".js-domestic-rail-exchange-btn\").click(domesticRailExchange);\r\n\r\n // Show More Description In Property\r\n $(\".js-show-more\").click(function () {\r\n $(\".js-property-footer-content\").toggleClass(\"auto-height\");\r\n $(this).toggleClass(\"active\");\r\n });\r\n\r\n $(\".js-rail-tab\").click(function () {\r\n railRoutesTypeCheck(radioCheckedValue);\r\n });\r\n\r\n $(\".js-rail .js-count-box .js-max\").click(function () {\r\n var $this = $(this).closest(\".js-rail-travelers\");\r\n youngs = `\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n لطفا سن جوان را وارد نمایید\r\n سن وارد شده برای جوان صحیح نمی باشد\r\n
    \r\n
    \r\n `;\r\n if (sum < 9) {\r\n $this.find(\".js-validation-economy\").text(\"\");\r\n var num = Number($(this).parent().find(\".js-number-passenger\").text());\r\n var temp = num + 1;\r\n\r\n if ($(this).closest(\"li\").hasClass(\"js-passenger-adult\")) {\r\n $(this).parent().find(\".js-number-passenger\").text(temp);\r\n $(this)\r\n .closest(\".js-economy-target\")\r\n .find(\".js-rail-adults-number\")\r\n .text(temp);\r\n } else if ($(this).closest(\"li\").hasClass(\"js-passenger-young\")) {\r\n $(this).parent().find(\".js-number-passenger\").text(temp);\r\n $(this)\r\n .closest(\".js-economy-target\")\r\n .find(\".js-rail-young-number\")\r\n .text(temp);\r\n if (temp >= 1) {\r\n $(\".js-young\").fadeIn();\r\n if (isExternal) {\r\n $(this)\r\n .closest(\".js-rail-travelers\")\r\n .find(\".js-rail-booking-infant-description\")\r\n .slideDown();\r\n $(\".js-rail-booking-infant-description\").append(youngs);\r\n }\r\n }\r\n } else {\r\n if (temp >= 1) {\r\n $(this).parent().find(\".js-number-passenger\").text(temp);\r\n $(this)\r\n .closest(\".js-economy-target\")\r\n .find(\".js-rail-old-number\")\r\n .text(temp);\r\n $(\".js-old\").fadeIn();\r\n }\r\n }\r\n\r\n calcSum($(this).closest(\".js-economy-target\"));\r\n } else {\r\n $this\r\n .find(\".js-validation-economy\")\r\n .text(\"تعداد کل مسافرین نمیتواند بیشتر از 9 نفر باشد\");\r\n }\r\n });\r\n\r\n $(\".js-rail .js-count-box .js-min\").click(function () {\r\n var $this = $(this).closest(\".js-economy-target\");\r\n $(\".js-validation-economy\").text(\"\");\r\n\r\n var num = Number($(this).parent().find(\".js-number-passenger\").text());\r\n\r\n var min = Number($(this).parent().find(\".js-number-passenger\").data(\"min\"));\r\n\r\n var temp = num > min ? num - 1 : num;\r\n var babyNumber = Number(\r\n $(this)\r\n .closest(\".js-rail-travelers\")\r\n .find(\".js-passenger-young\")\r\n .find(\".js-number-passenger\")\r\n .text()\r\n );\r\n var adultNumber = Number(\r\n $(this).parent().find(\".js-number-passenger\").text()\r\n );\r\n if ($(this).closest(\"li\").hasClass(\"js-passenger-adult\")) {\r\n if (babyNumber < adultNumber) {\r\n $(this).parent().find(\".js-number-passenger\").text(temp);\r\n $this.find(\".js-rail-adults-number\").text(temp);\r\n } else {\r\n $(\".js-validation-economy\").text(\r\n \"تعداد بزرگسال نمی تواند کمتر از تعداد نوزاد باشد\"\r\n );\r\n }\r\n } else if (\r\n $(this).closest(\".js-passenger-list\").hasClass(\"js-passenger-young\")\r\n ) {\r\n $(this).parent().find(\".js-number-passenger\").text(temp);\r\n $this.find(\".js-rail-young-number\").text(temp);\r\n if (temp === 0) {\r\n $(\".js-young\").fadeOut();\r\n if (isExternal) {\r\n $(this)\r\n .closest(\".js-rail-travelers\")\r\n .find(\".js-rail-booking-infant-description\")\r\n .slideUp();\r\n }\r\n }\r\n } else {\r\n $(this).parent().find(\".js-number-passenger\").text(temp);\r\n $this.find(\".js-rail-old-number\").text(temp);\r\n if (temp === 0) {\r\n $(\".js-old\").fadeOut();\r\n }\r\n }\r\n $(\".js-young-wrapper:last-child\").remove();\r\n calcSum($(this).closest(\".js-booking-container\"));\r\n });\r\n\r\n // Events control in mobile\r\n $(\".js-rail\").delegate(\".js-close-auto-complete\", \"click\", function () {\r\n $(\".js-rail-city\").removeClass(\"show-mobile\");\r\n $(\".js-rail-search-list>ul\").hide();\r\n $(\"html\").removeClass(\"no-scroll\");\r\n });\r\n\r\n // Show DatePicker/autoComplete List when click on parent box\r\n $(document).delegate(\".js-rail-booking-field\", \"click\", function (e) {\r\n $(this).addClass(\"rail-booking__item--border--active\");\r\n if ($(this).find(\".js-auto-search\").length) {\r\n if (\r\n !e.target.closest(\".js-auto-search\") &&\r\n !e.target.closest(\".js-rail-search-list\") &&\r\n !e.target.closest(\".js-close-auto-complete\")\r\n ) {\r\n $(this).find(\".js-auto-search\").trigger(\"focus\");\r\n }\r\n }\r\n\r\n if (\r\n $(this).find(\".js-pick-date-rail\").length &&\r\n !e.target.closest(\".js-pick-date-rail\")\r\n ) {\r\n $(this).find(\".js-pick-date-rail.hasDatepicker\").datepicker(\"show\");\r\n setTimeout(function () {\r\n document.activeElement.blur()\r\n }, 16);\r\n }\r\n\r\n if (\r\n $(this).find(\".js-pick-date2-rail\").length &&\r\n !e.target.closest(\".js-pick-date2-rail\")\r\n ) {\r\n $(this).find(\".js-pick-date2-rail.hasDatepicker\").datepicker(\"show\");\r\n setTimeout(function () {\r\n document.activeElement.blur()\r\n }, 16);\r\n }\r\n });\r\n\r\n $(document).delegate(\".js-economy-target\", \"click\", function (e) {\r\n if (\r\n documentWidth < 992 &&\r\n !$(e.target).hasClass(\"icon-close\") &&\r\n !$(e.target).hasClass(\"js-close-tmenu\")\r\n ) {\r\n $(\".js-rail-travelers\").fadeIn();\r\n }\r\n });\r\n\r\n //search input layout in mobile\r\n $(\".js-rail\").delegate(\".js-rail-booking-field\", \"click\", function () {\r\n if (documentWidth < 992) {\r\n $(this).closest(\".js-rail-city\").addClass(\"show-mobile\");\r\n }\r\n $(this).closest(\".js-rail-city\").find(\"input\").trigger(\"focus\");\r\n $(this).closest(\".js-rail-city\").find(\"input\").trigger(\"search\");\r\n });\r\n\r\n $(document).delegate(\".js-young-age\", \"blur\", function () {\r\n if (!$(this).val()) {\r\n $(this).next().fadeIn();\r\n } else {\r\n $(this).next().fadeOut();\r\n }\r\n });\r\n\r\n $(\".js-rail-domestic-origin-location\").click(() => {\r\n $(\".js-rail-domestic-origin-location\").trigger(\"focus\")\r\n })\r\n\r\n // init autoComplete\r\n $(\".js-rail-domestic-origin-location\")\r\n .autocomplete({\r\n minLength: 0,\r\n source: function (request, response) {\r\n if (request.term === \"\") {\r\n var items = railList && railList.length ? railList : [];\r\n var newItems = [];\r\n items.map(function (item) {\r\n var rail = {\r\n clientCode: item.clientCode,\r\n code: item.code,\r\n country: item.country,\r\n id: item.id,\r\n label: item.persianLabel,\r\n engLabels: item.label,\r\n localLabel: item.localLabel,\r\n persianLabel: item.persianLabel,\r\n type: item.type,\r\n };\r\n newItems.push(rail);\r\n });\r\n response(newItems);\r\n } else {\r\n var url = getResult($(\".js-rail-domestic-origin-location\"));\r\n $.getJSON(url).done(function (serverResponse) {\r\n response(serverResponse.model);\r\n });\r\n }\r\n },\r\n\r\n appendTo: $(\".js-rail-domestic-origin-location\").next(),\r\n\r\n search: function () {\r\n $(this).closest(\".js-rail-booking-input\").addClass(\"is-open\");\r\n\r\n if (window.innerWidth < 993) {\r\n $(\"html\").addClass(\"no-scroll\");\r\n }\r\n },\r\n\r\n select: function (event, ui) {\r\n var input;\r\n if (ui.item.type === \"city\") {\r\n input = ui.item.persianLabel;\r\n } else if (ui.item.type === \"station\") {\r\n input = ui.item.label;\r\n $(this).attr(\"station\", \"true\");\r\n }\r\n $(this).attr(\"data-code\", ui.item.clientCode);\r\n $(this).attr(\"data-value\", ui.item.title);\r\n $(this).val();\r\n $(this).attr(\"placeholder\", input);\r\n $(this).closest(\".js-rail-booking-input\").removeClass(\"is-open\");\r\n\r\n // if (documentWidth > 992) {\r\n\r\n\r\n $(this).closest(\".js-section-active\").find(\".js-rail-domestic-destinations-location\").autocomplete(\"search\")\r\n\r\n let timeOut = setTimeout(() => {\r\n $(this).closest(\".js-section-active\").find(\".js-rail-domestic-destinations-location\").trigger(\"focus\");\r\n clearTimeout(timeOut)\r\n }, 0)\r\n\r\n\r\n // $(this).closest(\".js-section-active\").find(\".js-rail-domestic-destinations-location\").autocomplete(\"search\")\r\n // }\r\n },\r\n\r\n open: function () {\r\n $(\".ui-autocomplete\").off(\"menufocus hover mouseover mouseenter\");\r\n //off autocomplete in chrome\r\n let chromeAgent = navigator.userAgent.indexOf(\"Chrome\") != -1;\r\n if (chromeAgent) {\r\n $(this).attr(\"autocomplete\", \"off\");\r\n }\r\n var inputObj = $(this);\r\n inputObj\r\n .next(\".js-autocomplete-list\")\r\n .children(\"ul\")\r\n .css({\r\n top: \"+=\" + 12,\r\n });\r\n },\r\n\r\n close: function () {\r\n $(\"html\").removeClass(\"no-scroll\");\r\n },\r\n\r\n })\r\n .bind(\"focus\", function () {\r\n $(this).val(\"\");\r\n $(this).autocomplete(\"search\");\r\n })\r\n .bind(\"blur\", function () {\r\n $(this).val($(this).attr(\"placeholder\"));\r\n })\r\n .autocomplete(\"instance\")._renderItem = function (ul, item) {\r\n var input;\r\n var allStation = \"\";\r\n var icon = \"\";\r\n if (item.type === \"city\") {\r\n icon = \"\";\r\n input = '
    ' + item.persianLabel;\r\n allStation = \"همه ایستگاه‌ها\" + \"
    \";\r\n } else if (item.type === \"station\") {\r\n icon = \"\";\r\n input = '
    ' + '' + item.label + '' + \"ایستگاه\" + \"
    \";\r\n }\r\n return $(\"
  • \")\r\n .append(icon + input + allStation)\r\n .appendTo(ul);\r\n };\r\n\r\n $(\".js-rail-domestic-destinations-location\").click(() => {\r\n $(\".js-rail-domestic-destinations-location\").trigger(\"focus\")\r\n })\r\n\r\n\r\n $(\".js-rail-domestic-destinations-location\")\r\n .autocomplete({\r\n minLength: 0,\r\n source: function (request, response) {\r\n if (request.term === \"\") {\r\n var items = railList && railList.length ? railList : [];\r\n var newItems = [];\r\n items.map(function (item) {\r\n var rail = {\r\n clientCode: item.clientCode,\r\n code: item.code,\r\n country: item.country,\r\n id: item.id,\r\n label: item.persianLabel,\r\n engLabels: item.label,\r\n localLabel: item.localLabel,\r\n persianLabel: item.persianLabel,\r\n type: item.type,\r\n };\r\n newItems.push(rail);\r\n });\r\n response(newItems);\r\n } else {\r\n var url = getResult($(\".js-rail-domestic-destinations-location\"));\r\n $.getJSON(url).done(function (serverResponse) {\r\n response(serverResponse.model);\r\n });\r\n }\r\n },\r\n\r\n appendTo: $(\".js-rail-domestic-destinations-location\").next(),\r\n\r\n search: function () {\r\n $(this).closest(\".js-rail-booking-input\").addClass(\"is-open\");\r\n\r\n if (window.innerWidth < 993) {\r\n $(\"html\").addClass(\"no-scroll\");\r\n }\r\n },\r\n\r\n select: function (event, ui) {\r\n var input;\r\n if (ui.item.type === \"city\") {\r\n input = ui.item.persianLabel;\r\n } else if (ui.item.type === \"station\") {\r\n input = ui.item.label;\r\n $(this).attr(\"station\", \"true\");\r\n }\r\n $(this).attr(\"data-code\", ui.item.clientCode);\r\n $(this).attr(\"data-value\", ui.item.label);\r\n $(this).val();\r\n $(this).attr(\"placeholder\", input);\r\n $(this).closest(\".js-rail-booking-input\").removeClass(\"is-open\");\r\n\r\n // if (window.innerWidth > 992) {\r\n document.querySelector(\".js-rail-booking-field\").click()\r\n // }\r\n\r\n $(\"html\").removeClass(\"no-scroll\");\r\n },\r\n\r\n open: function () {\r\n $(\".ui-autocomplete\").off(\"menufocus hover mouseover mouseenter\");\r\n //off autocomplete in chrome\r\n let chromeAgent = navigator.userAgent.indexOf(\"Chrome\") != -1;\r\n if (chromeAgent) {\r\n $(this).attr(\"autocomplete\", \"off\");\r\n }\r\n var inputObj = $(this);\r\n inputObj\r\n .next(\".js-autocomplete-list\")\r\n .children(\"ul\")\r\n .css({\r\n top: \"+=\" + 12,\r\n });\r\n },\r\n\r\n close: function (e, ui) {\r\n $(\"html\").removeClass(\"no-scroll\");\r\n },\r\n\r\n })\r\n .bind(\"focus\", function () {\r\n $(this).val(\"\");\r\n $(this).autocomplete(\"search\");\r\n })\r\n .bind(\"blur\", function () {\r\n $(this).val($(this).attr(\"placeholder\"));\r\n })\r\n .autocomplete(\"instance\")._renderItem = function (ul, item) {\r\n var input;\r\n var allStation = \"\";\r\n var icon = \"\";\r\n if (item.type === \"city\") {\r\n icon = \"\";\r\n input = '
    ' + item.persianLabel;\r\n allStation = \"همه ایستگاه‌ها\" + \"
    \";\r\n } else if (item.type === \"station\") {\r\n icon = \"\";\r\n input = '
    ' + '' + item.label + '' + \"ایستگاه\" + \"
    \";\r\n }\r\n return $(\"
  • \")\r\n .append(icon + input + allStation)\r\n .appendTo(ul);\r\n };\r\n\r\n // close location\r\n $(\".js-rail-booking-input\").delegate(\r\n \".js-close-location-list\",\r\n \"click\",\r\n function () {\r\n $(\".js-rail-domestic-origin-location\").autocomplete(\"close\");\r\n $(this).closest(\".js-rail-booking-input\").removeClass(\"is-open\");\r\n $(\"html\").removeClass(\"no-scroll\");\r\n }\r\n );\r\n\r\n // show datepicker or autocomplete list when click on parent box\r\n $(document).delegate(\".js-rail-booking-input\", \"click\", function (e) {\r\n if ($(this).find(\".js-rail-origin-location\").length) {\r\n if (\r\n !e.target.closest(\".js-rail-origin-location\") &&\r\n !e.target.closest(\".js-autocomplete-list\") &&\r\n !e.target.closest(\".js-close-location-list\")\r\n ) {\r\n $(this).find(\".js-rail-origin-location\").trigger(\"focus\");\r\n }\r\n }\r\n\r\n if (\r\n $(this).find(\".js-pick-date\").length &&\r\n !e.target.closest(\".js-pick-date\")\r\n ) {\r\n $(this).find(\".js-pick-date.hasDatepicker\").datepicker(\"show\");\r\n }\r\n });\r\n\r\n $(document).delegate(\".js-rail-booking-input\", \"focus\", function () {\r\n // if ($(window).width() > 992) {\r\n $(this).closest(\".rail-booking__input\").addClass(\"is-open\");\r\n // }\r\n });\r\n\r\n $(document).delegate(\".js-rail-booking-input\", \"blur\", function () {\r\n // if ($(window).width() > 992) {\r\n $(this).closest(\".rail-booking__input\").removeClass(\"is-open\");\r\n // }\r\n });\r\n\r\n //economy click\r\n $(document).delegate(\r\n \".js-economy-target .js-rail-booking-field\",\r\n \"click\",\r\n function () {\r\n if (documentWidth > 992) {\r\n $(this).addClass(\"rail-booking__item--border--active\");\r\n $(this).children(\".js-rail-travelers\").fadeIn();\r\n } else {\r\n // $(\"html\").addClass(\"no-scroll\");\r\n $(this).next(\".js-rail-travelers\").toggleClass(\"show-mobile\");\r\n }\r\n }\r\n );\r\n\r\n //remove input text\r\n $(document).delegate(\".js-close-tmenu\", \"click\", function () {\r\n var validToClose = true;\r\n if ($(\".js-passenger-young .js-number-passenger\").text() !== \"0\") {\r\n $(\".js-young-age\").each(function () {\r\n if (!$(this).val()) {\r\n $(this).next().fadeIn();\r\n validToClose = false;\r\n } else {\r\n $(this).next().fadeOut();\r\n }\r\n });\r\n }\r\n\r\n if ($(\".js-passenger-young .js-number-passenger\").text() !== \"0\") {\r\n $(\".js-young-age\").each(function () {\r\n if ($(this).val() > 27 || $(this).val() < 0) {\r\n $(this).next().next().fadeIn();\r\n $(\".js-passenger-young-period\").addClass(\"err\");\r\n validToClose = false;\r\n } else {\r\n $(this).next().next().fadeOut();\r\n $(\".js-passenger-young-period\").removeClass(\"err\");\r\n }\r\n });\r\n }\r\n if (validToClose) {\r\n $(\"html\").removeClass(\"no-scroll\");\r\n $(\".js-rail-travelers\").fadeOut();\r\n }\r\n });\r\n\r\n $(document).delegate(\".js-search-filed\", \"focus\", function () {\r\n if (documentWidth > 992) {\r\n $(this)\r\n .closest(\".booking-search__field\")\r\n .addClass(\"rail-booking__item--border--active\");\r\n }\r\n });\r\n\r\n $(document).delegate(\".js-search-filed\", \"blur\", function () {\r\n if (documentWidth > 992) {\r\n $(this)\r\n .closest(\".rail-booking__item--border\")\r\n .removeClass(\"rail-booking__item--border--active\");\r\n }\r\n });\r\n});\r\n\r\n//***/ Functions ***//\r\n\r\n// Update auto complete after type\r\nfunction getResult(input) {\r\n var dataUrl;\r\n if (isExternal) {\r\n dataUrl = \"/fa/rail/getPlaces/?Keyword=\";\r\n } else {\r\n dataUrl = \"/fa/rail/getPlaces/?SearchType=2&Keyword=\";\r\n }\r\n\r\n if (input.val()) {\r\n dataUrl += input.val();\r\n }\r\n return dataUrl;\r\n}\r\n\r\n// Exchange Btn\r\nfunction domesticRailExchange() {\r\n var input1 = $(\".js-rail-domestic-origin-location\");\r\n var input2 = $(\".js-rail-domestic-destinations-location\");\r\n\r\n var inputList1 = input1.next(\".js-autocomplete-list\");\r\n var inputList2 = input2.next(\".js-autocomplete-list\");\r\n\r\n $(input2).swap(input1);\r\n\r\n $(inputList2).swap(inputList1);\r\n\r\n input1\r\n .removeClass(\"js-rail-domestic-origin-location\")\r\n .addClass(\"js-rail-domestic-destinations-location\");\r\n input2\r\n .removeClass(\"js-rail-domestic-destinations-location\")\r\n .addClass(\"js-rail-domestic-origin-location\");\r\n}\r\n\r\n// init datePicker\r\nfunction railDatePicker() {\r\n setTimeout(function () {\r\n $(\".js-rail .js-rail-departure\").pickDate({\r\n dateFormat: \"yy/mm/dd\",\r\n dateFormatEn: \"yy M dd\",\r\n nextText: \"ماه بعد\",\r\n prevText: \"ماه قبل\",\r\n nextTextEn: \"next month\",\r\n prevTextEn: \"prev month\",\r\n changeMonthAllow: false,\r\n changeYearAllow: false,\r\n showButtonPanel: true,\r\n isDependenceDates: false,\r\n showCurrentAtPos: 0,\r\n numberOfMonths: $(window).width() > 991 ? 2 : 1,\r\n minDate: -0,\r\n customClass: \"lightTheme\",\r\n showAllMonthsinList: false,\r\n langType: datePickerMode === 1 ? '':'fa',\r\n blurInmobile: true,\r\n dayNamesShortFa: [\r\n \"1شنبه\",\r\n \"2شنبه\",\r\n \"3شنبه\",\r\n \"4شنبه\",\r\n \"5شنبه\",\r\n \"جمعه\",\r\n \"شنبه\",\r\n ],\r\n dayNamesShortEn: [\"Su\", \"Mo\", \"TU\", \"We\", \"Th\", \"Fr\", \"Sa\"],\r\n enterDateTitle: \"تاریخ رفت\",\r\n exitDateTitle: \"تاریخ برگشت\",\r\n enterDateTitleEn: \"Departure date\",\r\n exitDateTitleEn: \"Retun date\",\r\n fillHidden: {\r\n enable: true,\r\n outPut: \"en\", //en | Dependent_On_SelectedDate | fa\r\n customformatInhidden: \"YYYY-MM-DD\",\r\n },\r\n\r\n onSelectEvent: function () {\r\n var $this = $(this);\r\n var routeType = $this\r\n .closest(\".js-rail\")\r\n .find(\".js-routes-select input:checked\")\r\n .val();\r\n\r\n setTimeout(function () {\r\n if (routeType === \"twoWay\" && $this.is(\".js-pick-date-rail\")) {\r\n $this\r\n .closest(\".js-rail-departure\")\r\n .find(\".js-pick-date2\")\r\n .trigger(\"focus\");\r\n }\r\n }, 10);\r\n\r\n $('.js-title--before-select').hide();\r\n $('.js-title--after-select').show();\r\n $('.js-rail-departure').addClass('date-selected');\r\n },\r\n });\r\n }, 100);\r\n}\r\n\r\n// Calc TotalPassengers\r\nfunction calcSum(obj) {\r\n sum = 0;\r\n obj.find(\"li.js-passenger-list .js-number-passenger\").each(function () {\r\n sum += Number($(this).text());\r\n obj.find(\".js-traveles-number .js-number\").text(sum);\r\n });\r\n}\r\n\r\n\r\n\r\n// Check Routes Type\r\nfunction railRoutesTypeCheck(value, obj) {\r\n if (value === \"rail-twoWay\") {\r\n $(obj).closest(\".js-rail\").find(\".js-rail-return-date\").show();\r\n\r\n // $(\".js-one-or-two-route-container\").show().addClass(\"js-section-active\");\r\n\r\n $(\".js-rail-departure\").addClass(\"two-calendar\");\r\n\r\n sum = $(\r\n \".js-booking-section.active .js-one-or-two-route-passengers-sum\"\r\n ).text();\r\n } else if (value === \"rail-oneWay\") {\r\n sum = $(\r\n \".js-booking-section.active .js-one-or-two-route-passengers-sum\"\r\n ).text();\r\n\r\n $(obj).closest(\".js-rail\").find(\".js-rail-return-date\").hide();\r\n\r\n $(\".js-rail-departure\").removeClass(\"two-calendar\");\r\n\r\n // $(\".js-one-or-two-route-container\").show().addClass(\"js-section-active\");\r\n }\r\n}\r\n\r\n// Search Rail Base On Entered Data\r\nfunction searchRail() {\r\n var localStorageKey = `${window.prefixSearchHistory}-${$('.js-search-holder-landing').attr('id') ||\r\n $(this).closest('.js-tab-nav').find(\".js-tab-content>div.active\").attr('id')\r\n }`\r\n var searchHistoryItem = {\r\n value: {},\r\n baseUrl: '',\r\n expire: ''\r\n }\r\n\r\n var fieldsEquelValidation = true;\r\n var valid = true;\r\n var baseUrl = isExternal ? \"/fa/rail/int/\" : \"/fa/rail/dom/\";\r\n var youngPassengerAgeIsValid = true;\r\n var adult =\r\n Number(\r\n $(this)\r\n .siblings(\".js-economy-target\")\r\n .find(\".js-rail-adults-number\")\r\n .text()\r\n ) || 1;\r\n var elder = Number(\r\n $(this).siblings(\".js-economy-target\").find(\".js-rail-old-number\").text()\r\n );\r\n var youngCount = Number(\r\n $(this).siblings(\".js-economy-target\").find(\".js-rail-young-number\").text()\r\n );\r\n var selectedTime;\r\n var returnSelectedTime;\r\n var toCityInput;\r\n var fromCityInput;\r\n var departureClock;\r\n var returnClock;\r\n var fromStationInput;\r\n var isExclusive = $(\".js-exclusive-compartment\").prop(\"checked\");\r\n var classType = $(\".js-list-type:checked\").val();\r\n var carTransfer = $(\".js-car-transfer:checked\").val();\r\n\r\n $(this).closest(\".js-rail\").find(\".error-message\").remove();\r\n\r\n fromCityInput = isExternal\r\n ? $(\".js-rail-origin-location\").attr(\"data-code\")\r\n : $(\".js-rail-domestic-origin-location\").attr(\"data-code\");\r\n fromStationInput = isExternal\r\n ? $(\".js-rail-origin-location\").attr(\"station\")\r\n : $(\".js-rail-domestic-origin-location\").attr(\"station\");\r\n toCityInput = isExternal\r\n ? $(\".js-rail-destinations-location\").attr(\"data-code\")\r\n : $(\".js-rail-domestic-destinations-location\").attr(\"data-code\");\r\n var toCityStaionInput = isExternal\r\n ? $(\".js-rail-destinations-location\").attr(\"station\")\r\n : $(\".js-rail-domestic-destinations-location\").attr(\"station\");\r\n\r\n departureClock = selectedTime\r\n ? moment(selectedTime, \"hh:mm\").format(\"HH-mm\")\r\n : \"\";\r\n\r\n returnClock = returnSelectedTime\r\n ? moment(returnSelectedTime, \"hh:mm\").format(\"HH-mm\")\r\n : \"\";\r\n\r\n // Check If Origin & Destination Are The Same\r\n if ((toCityInput === fromCityInput) && toCityInput && fromCityInput) {\r\n valid = false;\r\n fieldsEquelValidation = false;\r\n }\r\n\r\n searchHistoryItem.value.routeType = $(\".js-rail\").find(\".js-routes-select input:checked\").val() // rail-oneWay | rail-twoWay\r\n\r\n // Check If Origin Is Selected\r\n if (fromCityInput) {\r\n baseUrl += fromCityInput + \"-\";\r\n let fromCityElement = isExternal\r\n ? $(\".js-rail-origin-location\")\r\n : $(\".js-rail-domestic-origin-location\")\r\n searchHistoryItem.value.fromCity = {\r\n code: fromCityElement.data('code'),\r\n title: fromCityElement.attr('placeholder'),\r\n station: Boolean(fromCityElement.attr(\"station\"))\r\n }\r\n } else {\r\n valid = false;\r\n }\r\n\r\n // Check If Destination Is Selected\r\n if (toCityInput) {\r\n // baseUrl += $(this).closest(\".js-rail\").find(\".js-rail-to-city\").data(\"code\");\r\n baseUrl += toCityInput;\r\n let toCityElement = isExternal\r\n ? $(\".js-rail-destinations-location\")\r\n : $(\".js-rail-domestic-destinations-location\")\r\n searchHistoryItem.value.toCity = {\r\n code: toCityElement.data('code'),\r\n title: toCityElement.attr('placeholder'),\r\n station: Boolean(toCityElement.attr(\"station\"))\r\n }\r\n } else {\r\n valid = false;\r\n }\r\n\r\n // Check If Origin Is Station\r\n if (fromStationInput === \"true\") {\r\n baseUrl += \"/?ot=1\";\r\n } else {\r\n baseUrl += \"/?ot=2\";\r\n }\r\n\r\n // Check If Destination Is Station\r\n if (toCityStaionInput === \"true\") {\r\n baseUrl += \"&dt=1\";\r\n } else {\r\n baseUrl += \"&dt=2\";\r\n }\r\n\r\n !isExternal ? (baseUrl += \"&ST=2\") : \"\";\r\n\r\n // Went Date\r\n var startDatevalue = $(this).closest(\".js-rail\").find(\".js-pick-date-rail\");\r\n if (startDatevalue.val() && startDatevalue.next().val()) {\r\n var departureDate = startDatevalue.next().val()\r\n ? moment(startDatevalue.next().val(), \"YYYY-MM-DD\").format(\"YYYY/MM/DD\")\r\n : \"\";\r\n baseUrl += \"&d=\" + departureDate;\r\n searchHistoryItem.value.startDatevalue = startDatevalue.next().val()\r\n searchHistoryItem.expire = startDatevalue.next().val()\r\n } else {\r\n valid = false;\r\n }\r\n\r\n // Return Date\r\n if (\r\n $(this)\r\n .closest(\".js-rail\")\r\n .find('.js-routes-select input:radio[name*=\"routeType\"]:checked')\r\n .val() === \"rail-twoWay\"\r\n ) {\r\n var endDateValue = $(this).closest(\".js-rail\").find(\".js-pick-date2-rail\");\r\n\r\n if (endDateValue.val() && endDateValue.next().val()) {\r\n var returnDate = endDateValue.next().val()\r\n ? moment(endDateValue.next().val(), \"YYYY-MM-DD\").format(\"YYYY/MM/DD\")\r\n : \"\";\r\n baseUrl += \"&r=\" + returnDate;\r\n searchHistoryItem.value.endDateValue = endDateValue.next().val()\r\n } else {\r\n valid = false;\r\n }\r\n }\r\n\r\n if (isExternal) {\r\n if (adult > 0) {\r\n for (var i = 0; i < adult; i++) {\r\n baseUrl += \"&p=28\";\r\n }\r\n }\r\n\r\n if (elder > 0) {\r\n for (var i = 0; i < elder; i++) {\r\n baseUrl += \"&p=60\";\r\n }\r\n }\r\n\r\n var youngsArr = [];\r\n $(\".js-young-age\").each(function () {\r\n youngsArr.push(Number($(this).val()));\r\n });\r\n\r\n if (youngsArr.length > 0) {\r\n for (var i = 0; i < youngsArr.length; i++) {\r\n var age = convertFaToEnNumber(youngsArr[i]);\r\n if (Number(age) && Number(age) <= 27 && Number(age) > 0) {\r\n baseUrl += \"&p=\" + age;\r\n } else {\r\n valid = false;\r\n youngPassengerAgeIsValid = false;\r\n youngsArr[i].isValid = false;\r\n }\r\n }\r\n searchHistoryItem.value.youngsArr = [...youngsArr]\r\n }\r\n } else {\r\n baseUrl += \"&AC=\" + adult;\r\n elder ? (baseUrl += \"&CC=\" + elder) : \"\";\r\n youngCount ? (baseUrl += \"&IC=\" + youngCount) : \"\";\r\n }\r\n // If Compartment Is Exclusive\r\n if (!isExternal) {\r\n if (isExclusive) {\r\n baseUrl += \"&ex=True\";\r\n } else {\r\n baseUrl += \"&ex=False\";\r\n }\r\n searchHistoryItem.value.exclusive = isExclusive\r\n }\r\n\r\n if (!isExternal) {\r\n if (carTransfer) {\r\n baseUrl += \"&ct=4\";\r\n } else if (classType === \"family-class\") {\r\n baseUrl += \"&ct=3\";\r\n } else if (classType === \"womens-only-class\") {\r\n baseUrl += \"&ct=2\";\r\n } else if (classType === \"mens-only-class\") {\r\n baseUrl += \"&ct=1\";\r\n }\r\n }\r\n\r\n searchHistoryItem.value.passenger = {\r\n adult: adult,\r\n child: elder,\r\n infant: youngCount\r\n }\r\n\r\n searchHistoryItem.value.classType = classType // family-class | mens-only-class | womens-only-class\r\n\r\n var isJalali =\r\n $(this).closest(\".js-rail\").find(\".js-pick-date-rail\").attr(\"data-lang\") ===\r\n \"fa\";\r\n\r\n if (isJalali) {\r\n baseUrl += \"&dpf=fa\";\r\n } else {\r\n baseUrl += \"&dpf=en\";\r\n }\r\n\r\n if (!valid) {\r\n if (!fieldsEquelValidation) {\r\n $(this)\r\n .closest(\".js-rail\")\r\n .append(\r\n \"فیلد مبدا و مقصد نمی‌تواند یکسان باشد\"\r\n );\r\n } else if (!youngPassengerAgeIsValid) {\r\n $(this)\r\n .closest(\".js-rail\")\r\n .append(\r\n \"سن وارد شده برای جوان صحیح نمی باشد\"\r\n );\r\n } else {\r\n $(this)\r\n .closest(\".js-rail\")\r\n .append(\r\n \"لطفا فیلدها را کامل نمایید\"\r\n );\r\n }\r\n return false;\r\n } else {\r\n searchHistoryItem.baseUrl = baseUrl\r\n\r\n window.updateLocalStorage(localStorageKey, searchHistoryItem)\r\n window.location.assign(baseUrl);\r\n }\r\n}\r\n\r\nfunction selectTime() {\r\n var routeType = $(this)\r\n .closest(\".js-rail\")\r\n .find(\".js-routes-select input:checked\")\r\n .val();\r\n\r\n if (routeType === \"rail-twoWay\") {\r\n returnSelectedTime = $(this).text();\r\n $(\".js-return-time-label\").text(\",\" + returnSelectedTime);\r\n } else if (routeType === \"rail-oneWay\") {\r\n selectedTime = $(this).text();\r\n $(\".js-time-label\").text(\",\" + selectedTime);\r\n }\r\n\r\n $(\".js-time-list\").fadeOut();\r\n}\r\n\r\nfunction convertFaToEnNumber(number) {\r\n number = String(number);\r\n return number.replace(/[۰-۹]/g, function (chr) {\r\n var persian = [\"۰\", \"۱\", \"۲\", \"۳\", \"۴\", \"۵\", \"۶\", \"۷\", \"۸\", \"۹\"];\r\n return persian.indexOf(chr);\r\n });\r\n}\r\n\r\n// Swap Elements\r\n$.fn.swap = function (elem) {\r\n elem = elem.jquery ? elem : $(elem);\r\n return this.each(function () {\r\n $(document.createTextNode(\"\"))\r\n .insertBefore(this)\r\n .before(elem.before(this))\r\n .remove();\r\n });\r\n};\r\n","var sourceUrl;\r\nvar documentWidth = $(document).width();\r\nvar datePickerMode = localStorage.getItem(\"datePickerMode\") ? Number(localStorage.getItem(\"datePickerMode\")) : 2;\r\n\r\n$(window).resize(function () {\r\n documentWidth = $(document).width();\r\n});\r\n\r\n$(function () {\r\n datePicker();\r\n\r\n // show more description in property\r\n $(\".js-show-more\").on(\"click\", function () {\r\n $(\".js-property-footer-content\").toggleClass(\"auto-height\");\r\n $(this).toggleClass(\"active\");\r\n });\r\n\r\n $(\".js-ship-booking-infant-info\").click(function () {\r\n $(this).closest(\".js-ship-travelers\").find(\".js-ship-booking-infant-description\").slideDown();\r\n });\r\n\r\n $(\".js-ship .js-ship-auto-search\").each(function () {\r\n autoSearch($(this));\r\n });\r\n\r\n //tab click\r\n var flag = 0;\r\n\r\n radioCheckedValue = $(\".js-ship .js-ship-routes-select input:radio:checked\").val();\r\n\r\n $(\".js-ship-tab\").click(function () {\r\n routesTypeCheck(radioCheckedValue);\r\n });\r\n\r\n routesTypeCheck(radioCheckedValue);\r\n\r\n ////////////traveler count form\r\n\r\n const passemgers = (target) => {\r\n return {\r\n adult: Number($(target).closest(\".js-ship-travelers\").find(\".js-ship-passenger-adult\").find(\".js-number-passenger\").text()),\r\n child: Number($(target).closest(\".js-ship-travelers\").find(\".js-passenger-child\").find(\".js-number-passenger\").text()),\r\n infant: Number(\r\n $(target).closest(\".js-ship-travelers\").find(\".js-passenger-infant\").find(\".js-number-passenger\").text(),\r\n ),\r\n };\r\n };\r\n\r\n const updatePassenger = (target, type, value) => {\r\n $(target).parent().find(\".js-number-passenger\").text(value);\r\n $(target).closest(\".js-ship-economy-target\").find(`.js-ship-${type}-number`).text(value);\r\n handlePassengerLimitErrorMessage(target);\r\n };\r\n\r\n const increaseAdult = (target) => {\r\n let { adult, child } = passemgers(target);\r\n\r\n if (adult + child > 8) handlePassengerLimitErrorMessage(target, \"maxPassengersNumbers\");\r\n else updatePassenger(target, \"adults\", adult + 1);\r\n };\r\n\r\n const increaseChild = (target) => {\r\n let { adult, child } = passemgers(target);\r\n\r\n if (adult + child > 8) handlePassengerLimitErrorMessage(target, \"maxPassengersNumbers\");\r\n else updatePassenger(target, \"child\", child + 1);\r\n };\r\n\r\n const increaseInfant = (target) => {\r\n let { adult, infant } = passemgers(target);\r\n\r\n if (adult <= infant) handlePassengerLimitErrorMessage(target, \"validationOfAdultAndInfantsNumber\");\r\n else updatePassenger(target, \"infant\", infant + 1);\r\n };\r\n\r\n const decreaseAdult = (target) => {\r\n let { adult, infant } = passemgers(target);\r\n\r\n if (adult <= Number($(target).parent().find(\".js-number-passenger\").data(\"min\")))\r\n handlePassengerLimitErrorMessage(target, \"minPassengersNumbers\");\r\n else if (adult <= infant) handlePassengerLimitErrorMessage(target, \"validationOfAdultAndBabiesNumber\");\r\n else updatePassenger(target, \"adults\", adult - 1);\r\n };\r\n\r\n const decreaseChild = (target) => {\r\n let { child } = passemgers(target);\r\n\r\n if (child > Number($(target).parent().find(\".js-number-passenger\").data(\"min\")))\r\n updatePassenger(target, \"child\", child - 1);\r\n };\r\n\r\n const decreaseInfant = (target) => {\r\n let { infant } = passemgers(target);\r\n\r\n if (infant > Number($(target).parent().find(\".js-number-passenger\").data(\"min\")))\r\n updatePassenger(target, \"infant\", infant - 1);\r\n };\r\n\r\n const handlePassengerLimitErrorMessage = (target, msg) => {\r\n const errorMessages = {\r\n maxPassengersNumbers: \"تعداد مسافران غیر از نوزاد بیشتر از ۹ نفر نمیتواند باشد\",\r\n validationOfAdultAndInfantsNumber: \"تعداد نوزاد نمی تواند بیشتر از تعداد بزرگسال باشد\",\r\n minPassengersNumbers: \"حداقل تعداد مسافران یک بزرگسال می باشد\",\r\n validationOfAdultAndBabiesNumber: \"تعداد بزرگسال نمی تواند کمتر از تعداد نوزاد باشد\",\r\n };\r\n\r\n // for desktop\r\n let errorLocation = $(target)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship .js-ship-section-active .js-ship-travelers\");\r\n\r\n if (errorLocation.find(\".js-error-travelers\").length)\r\n errorLocation.find(\".js-error-travelers\").text(errorMessages[msg] || \"\");\r\n else\r\n errorLocation.append(\r\n `${errorMessages[msg] || \"\"}`,\r\n );\r\n\r\n // for mobile\r\n $(target)\r\n .closest(\".js-ship-travelers\")\r\n .find(\".js-ship-validation-economy\")\r\n .text(errorMessages[msg] || \"\");\r\n };\r\n\r\n const findPassengerType = (target) => {\r\n let listElementClass = $(target).closest(\"li\").attr(\"class\");\r\n\r\n return listElementClass.includes(\"js-ship-passenger-adult\")\r\n ? \"adult\"\r\n : listElementClass.includes(\"js-passenger-child\")\r\n ? \"child\"\r\n : listElementClass.includes(\"js-passenger-infant\")\r\n ? \"infant\"\r\n : undefined;\r\n };\r\n\r\n var sum;\r\n // increase passengers\r\n $(\".js-ship .js-count-box .js-max\").click(async function () {\r\n let actions = {\r\n adult: increaseAdult,\r\n child: increaseChild,\r\n infant: increaseInfant,\r\n };\r\n\r\n if (actions[findPassengerType($(this))]) await actions[findPassengerType($(this))]($(this));\r\n\r\n calcSum($(this).closest(\".js-ship-economy-target\"));\r\n });\r\n\r\n // decrease passengers\r\n $(\".js-ship .js-count-box .js-min\").click(async function () {\r\n let actions = {\r\n adult: decreaseAdult,\r\n child: decreaseChild,\r\n infant: decreaseInfant,\r\n };\r\n\r\n if (actions[findPassengerType($(this))]) await actions[findPassengerType($(this))]($(this));\r\n\r\n calcSum($(this).closest(\".js-ship-booking-container\"));\r\n });\r\n\r\n $(\".js-ship .js-ship-economy-target\").each(function () {\r\n calcSum($(this));\r\n });\r\n\r\n function calcSum(obj) {\r\n sum = 0;\r\n obj.find(\"li.js-ship-passenger-list .js-number-passenger\").each(function () {\r\n sum += Number($(this).text());\r\n obj.find(\".js-ship-traveles-number .js-number\").text(sum);\r\n });\r\n }\r\n\r\n //select cabin type\r\n $(\".js-ship .js-ship-cabin-type\").change(function () {\r\n $(\".js-ship-cabin-type-label\").text(this.value).attr(\"title\", $(this).val());\r\n });\r\n\r\n //route type select\r\n var radioCheckedValue = $('.js-ship input:radio[name*=\"routeType\"]:checked').val();\r\n\r\n $(\".js-ship-routes-select\").on(\"change\", \"input\", function () {\r\n routesTypeCheck($(this).val(), $(this));\r\n });\r\n\r\n function routesTypeCheck(value, obj) {\r\n if (value === \"twoWay\") {\r\n $(obj).closest(\".js-booking-section.active\").find(\".js-ship\").find(\".returnDate\").show();\r\n\r\n $(\".js-ship-one-or-two-route-container\").show().addClass(\"js-ship-section-active\");\r\n\r\n $(\".js-ship-serveral-routes-container\").hide();\r\n\r\n $(\".js-ship-departure\").addClass(\"two-calendar\");\r\n\r\n sum = $(\".js-booking-section.active .js-one-or-two-route-passengers-sum\").text();\r\n } else if (value === \"oneWay\") {\r\n sum = $(\".js-booking-section.active .js-one-or-two-route-passengers-sum\").text();\r\n\r\n // $(\".js-booking-section.active .js-ship .returnDate\").hide();\r\n\r\n $(obj).closest(\".js-booking-section.active\").find(\".js-ship\").find(\".returnDate\").hide();\r\n\r\n $(\".js-ship-departure\").removeClass(\"two-calendar\");\r\n\r\n $(\".js-ship-one-or-two-route-container\").show().addClass(\"js-ship-section-active\");\r\n\r\n $(\".js-ship-serveral-routes-container\").hide().removeClass(\"js-ship-section-active\");\r\n } else if (value === \"severalWay\") {\r\n sum = $(\".js-booking-section.active .js-ship-serveral-routes-passengers-sum\").text();\r\n\r\n $(\".js-ship-one-or-two-route-container\").hide().removeClass(\"js-ship-section-active\");\r\n\r\n $(\".js-ship-departure\").removeClass(\"two-calendar\");\r\n\r\n $(\".js-ship-serveral-routes-container\").show().addClass(\"js-ship-section-active\");\r\n }\r\n }\r\n\r\n function shipPassengerLimit({ adult, child, infant }, target) {\r\n // target: HTMLElement, adult: number, child: number, infant: number\r\n let msg = \"\";\r\n if (+adult < 1) msg = \"تعداد مسافر بزرگسال باید حداقل یک نفر باشد\";\r\n if (+adult + +child > 9) {\r\n msg = \"تعداد مسافران غیر از نوزاد بیشتر از ۹ نفر نباید باشد\";\r\n }\r\n if (+infant > +adult) {\r\n msg = `نوزادان همیشه با والدین یا سرپرستان خود سفر میکنند (هر بزرگسال یک کودک)، ${msg}`;\r\n }\r\n\r\n if (msg && $(window).width() > 767) {\r\n let errorLocation = $(target)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship .js-ship-section-active .js-ship-travelers\");\r\n\r\n if (errorLocation.find(\".js-error-travelers\").length) errorLocation.find(\".js-error-travelers\").text(msg);\r\n else errorLocation.append(`${msg}`);\r\n\r\n $(target)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship .js-ship-section-active .js-ship-economy-target>button\")\r\n .next(\".js-ship-travelers\")\r\n .fadeToggle();\r\n }\r\n\r\n return msg;\r\n }\r\n\r\n ////search btn\r\n $(\".js-ship button.js-ship-search\").click(function (e) {\r\n var localStorageKey = `${window.prefixSearchHistory}-${$(\".js-search-holder-landing\").attr(\"id\") ||\r\n $(this).closest(\".js-tab-nav\").find(\".js-tab-content>div.active\").attr(\"id\")\r\n }`;\r\n var searchHistoryItem = {\r\n value: {},\r\n baseUrl: \"\",\r\n expire: \"\",\r\n };\r\n\r\n $(this).closest(\".js-booking-section.active\").find(\".js-ship\").find(\".error-message\").remove();\r\n var valid = true;\r\n var routeValid = true;\r\n var message = \"\";\r\n\r\n var baseUrl = \"/\" + \"fa\" + \"/flight/\";\r\n\r\n var cabinTypeNumber;\r\n\r\n //external\r\n var routeType = $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship\")\r\n .find(\".js-ship-routes-select input:checked\")\r\n .val(); // oneWay | twoWay | severalWay\r\n searchHistoryItem.value.routeType = routeType;\r\n\r\n var cabinType = $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship\")\r\n .find(\".js-ship-cabin-type-label\")\r\n .attr(\"title\"); // First | Business | Economy | Premium | \r\n searchHistoryItem.value.cabinType = cabinType;\r\n\r\n switch (cabinType) {\r\n case \"First\":\r\n cabinTypeNumber = 1;\r\n break;\r\n\r\n case \"Business\":\r\n cabinTypeNumber = 2;\r\n break;\r\n\r\n case \"Economy\":\r\n cabinTypeNumber = 3;\r\n break;\r\n\r\n case \"Premium\":\r\n cabinTypeNumber = 4;\r\n break;\r\n }\r\n\r\n searchHistoryItem.value.cabinTypeNumber = cabinTypeNumber;\r\n\r\n if ($(\".js-tab-nav\").length) {\r\n baseUrl +=\r\n $(\".js-tab-nav\").find(\".js-ship-tab.active\").attr(\"data-searchType\") == \"external-ship\"\r\n ? \"int/\" // international ship\r\n : \"dom/\"; //internal ship\r\n } else {\r\n baseUrl +=\r\n $(this).closest(\".js-booking-section.active\").attr(\"data-searchType\") == \"external-ship\" ? \"int/\" : \"dom/\";\r\n }\r\n\r\n if (routeType !== \"severalWay\") {\r\n // oneWay or twoWay\r\n if ($(this).closest(\".js-booking-section.active\").find(\".js-ship\").find(\".js-ship-from-city\").data(\"code\")) {\r\n // from-city\r\n let fromCity = $(this).closest(\".js-booking-section.active\").find(\".js-ship\").find(\".js-ship-from-city\").data();\r\n\r\n baseUrl += fromCity.code + \"-\";\r\n searchHistoryItem.value.fromCity = {\r\n code: fromCity.code,\r\n value: fromCity.value,\r\n title: fromCity.title,\r\n };\r\n } else {\r\n valid = false;\r\n }\r\n if ($(this).closest(\".js-booking-section.active\").find(\".js-ship\").find(\".js-ship-to-city\").data(\"code\")) {\r\n // to-city\r\n let toCity = $(this).closest(\".js-booking-section.active\").find(\".js-ship\").find(\".js-ship-to-city\").data();\r\n\r\n baseUrl += toCity.code;\r\n searchHistoryItem.value.toCity = {\r\n code: toCity.code,\r\n value: toCity.value,\r\n title: toCity.title,\r\n };\r\n } else {\r\n valid = false;\r\n }\r\n baseUrl += \"/?Cab=\" + cabinTypeNumber + \"&\";\r\n\r\n var startDateValue = $(this).closest(\".js-ship\").find(\".js-ship-pick-date\");\r\n\r\n if (startDateValue.val() && startDateValue.next().val()) {\r\n // start-date\r\n baseUrl += \"Dep=\" + startDateValue.next().val();\r\n searchHistoryItem.value.startDateValue = startDateValue.next().val();\r\n } else {\r\n valid = false;\r\n }\r\n\r\n //dom ship and rafto bargasht\r\n if (\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship\")\r\n .find('.js-ship-routes-select input:radio[name*=\"routeType\"]:checked')\r\n .val() === \"twoWay\"\r\n ) {\r\n // end date\r\n var endDateValue = $(this).closest(\".js-ship\").find(\".js-ship-pick-date2\");\r\n\r\n if (endDateValue.val() && endDateValue.next().val()) {\r\n baseUrl += \"&Ret=\" + endDateValue.next().val();\r\n searchHistoryItem.value.endDateValue = endDateValue.next().val();\r\n } else {\r\n valid = false;\r\n }\r\n }\r\n\r\n baseUrl +=\r\n \"&Adt=\" +\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship\")\r\n .find(\".js-ship-section-active .js-ship-passenger-adult .js-number-passenger\")\r\n .text();\r\n\r\n if (\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship\")\r\n .find(\".js-ship-section-active .js-passenger-child .js-number-passenger\")\r\n .text() > 0\r\n ) {\r\n baseUrl +=\r\n \"&Chd=\" +\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship\")\r\n .find(\".js-ship-section-active .js-passenger-child .js-number-passenger\")\r\n .text();\r\n }\r\n if (\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship\")\r\n .find(\".js-ship-section-active .js-passenger-infant .js-number-passenger\")\r\n .text() > 0\r\n ) {\r\n baseUrl +=\r\n \"&Inf=\" +\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship\")\r\n .find(\".js-ship-section-active .js-passenger-infant .js-number-passenger\")\r\n .text();\r\n }\r\n\r\n searchHistoryItem.value.passenger = {\r\n adult: $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship\")\r\n .find(\".js-ship-section-active .js-ship-passenger-adult .js-number-passenger\")\r\n .text(),\r\n child: $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship\")\r\n .find(\".js-ship-section-active .js-passenger-child .js-number-passenger\")\r\n .text(),\r\n infant: $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship\")\r\n .find(\".js-ship-section-active .js-passenger-infant .js-number-passenger\")\r\n .text(),\r\n };\r\n\r\n if (searchHistoryItem.value.fromCity?.code)\r\n routeValid =\r\n searchHistoryItem.value.fromCity?.code?.trim()?.toLowerCase() !==\r\n searchHistoryItem.value.toCity?.code?.trim()?.toLowerCase();\r\n } else if (routeType === \"severalWay\") {\r\n searchHistoryItem.value.trip = [];\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship\")\r\n .find(\".js-ship-serveral-routes-container .js-ship-auto-search\")\r\n .each(function (index, value) {\r\n if ($(this).val() !== \"\") {\r\n searchHistoryItem.value.trip.push({\r\n code: $(this).data(\"code\"),\r\n value: $(this).data(\"value\"),\r\n });\r\n var valThis = $(this).data(\"code\");\r\n baseUrl += valThis;\r\n\r\n if ($(\".js-ship-serveral-routes-container .js-ship-auto-search\").length - 1 != index) {\r\n baseUrl += \"-\";\r\n }\r\n } else {\r\n valid = false;\r\n }\r\n });\r\n\r\n baseUrl += \"/?Cab=\" + cabinTypeNumber + \"&\";\r\n\r\n searchHistoryItem.value.date = [];\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship\")\r\n .find(\".js-ship-section-active .js-ship-pick-date\")\r\n .each(function (index, value) {\r\n if ($(this).val() !== \"\") {\r\n baseUrl += \"Dep=\" + $(this).next().val() + \"&\";\r\n searchHistoryItem.value.date.push($(this).next().val());\r\n } else {\r\n valid = false;\r\n }\r\n });\r\n\r\n baseUrl +=\r\n \"Adt=\" +\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship\")\r\n .find(\".js-ship-section-active .js-ship-passenger-adult .js-number-passenger\")\r\n .text();\r\n\r\n if (\r\n Number(\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship\")\r\n .find(\".js-ship-section-active .js-passenger-child .js-number-passenger\")\r\n .text(),\r\n ) > 0\r\n ) {\r\n baseUrl +=\r\n \"&Chd=\" +\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship\")\r\n .find(\".js-ship-section-active .js-passenger-child .js-number-passenger\")\r\n .text();\r\n }\r\n if (\r\n Number(\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship\")\r\n .find(\".js-ship-section-active .js-passenger-infant .js-number-passenger\")\r\n .text(),\r\n ) > 0\r\n ) {\r\n baseUrl +=\r\n \"&Inf=\" +\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship\")\r\n .find(\".js-ship-section-active .js-passenger-infant .js-number-passenger\")\r\n .text();\r\n }\r\n\r\n searchHistoryItem.value.passenger = {\r\n adult: $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship\")\r\n .find(\".js-ship-section-active .js-ship-passenger-adult .js-number-passenger\")\r\n .text(),\r\n child: $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship\")\r\n .find(\".js-ship-section-active .js-passenger-child .js-number-passenger\")\r\n .text(),\r\n infant: $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship\")\r\n .find(\".js-ship-section-active .js-passenger-infant .js-number-passenger\")\r\n .text(),\r\n };\r\n\r\n routeValid = !searchHistoryItem.value.trip.some(\r\n (tripItem, i, arr) => i % 2 === 0 && tripItem?.code && tripItem?.code === arr[i + 1]?.code,\r\n );\r\n }\r\n\r\n message = shipPassengerLimit(searchHistoryItem.value.passenger, $(this));\r\n\r\n if (!valid || !routeValid || message) {\r\n let msg = [];\r\n if (!valid) msg.push(\"لطفا تمام فیلدها را کامل نمایید\");\r\n if (!routeValid) msg.push(\"مبدا و مقصد نمی تواند یکسان باشد\");\r\n if (message) msg.push(message);\r\n $(this)\r\n .closest(\".js-booking-section.active\")\r\n .find(\".js-ship\")\r\n .append(`${msg.join(\"، \")}`);\r\n return false;\r\n } else {\r\n searchHistoryItem = {\r\n ...searchHistoryItem,\r\n baseUrl: baseUrl,\r\n expire: !!startDateValue ? startDateValue.next().val() : searchHistoryItem.value.date[0],\r\n };\r\n window.updateLocalStorage(localStorageKey, searchHistoryItem);\r\n\r\n window.location.assign(baseUrl);\r\n }\r\n });\r\n\r\n //////////\r\n $(\".js-ship-exchange-btn\").click(function () {\r\n var input1 = $(this).closest(\".js-ship-cities\").find(\".js-ship-from-city\");\r\n var input2 = $(this).closest(\".js-ship-cities\").find(\".js-ship-to-city\");\r\n if (!input1.data(\"code\") || !input2.data(\"code\")) return;\r\n var inputList1 = input1.closest(\".js-ship-city\").find(\".js-ship-search-list\");\r\n var inputList2 = input2.closest(\".js-ship-city\").find(\".js-ship-search-list\");\r\n\r\n var valueHolderInMobile1 = $(this).closest(\".js-ship-cities\").find(\".js-ship-from-city\").siblings(\".js-input-layout\");\r\n var valueHolderInMobile2 = $(this).closest(\".js-ship-cities\").find(\".js-ship-to-city\").siblings(\".js-input-layout\");\r\n\r\n $(input2).swap(input1);\r\n\r\n $(valueHolderInMobile2).swap(valueHolderInMobile1);\r\n\r\n $(inputList2).swap(inputList1);\r\n\r\n input1.removeClass(\"js-ship-from-city\").addClass(\"js-ship-to-city\");\r\n input2.removeClass(\"js-ship-to-city\").addClass(\"js-ship-from-city\");\r\n });\r\n //swap elements\r\n $.fn.swap = function (elem) {\r\n elem = elem.jquery ? elem : $(elem);\r\n return this.each(function () {\r\n $(document.createTextNode(\"\")).insertBefore(this).before(elem.before(this)).remove();\r\n });\r\n };\r\n //traveller menu close\r\n $(document).mouseup(function (e) {\r\n if (\r\n !$(\".js-ship-economy-target\").is(e.target) && // if the target of the click isn't the container...\r\n $(\".js-ship-economy-target\").has(e.target).length === 0\r\n ) {\r\n if ($(window).width() > 767) {\r\n // ... nor a descendant of the container\r\n $(\".js-ship-travelers\").fadeOut();\r\n } else {\r\n $(\".js-ship-travelers\").removeClass(\"show-tmenu\");\r\n }\r\n }\r\n });\r\n\r\n ///events control in mobile\r\n $(\".js-ship\").delegate(\".js-close-auto-complete\", \"click\", function () {\r\n $(\"input#js-ship-from-city, input#js-ship-to-city\").autocomplete(\"close\");\r\n $(\".js-ship-city\").removeClass(\"show-mobile\");\r\n $(\".js-ship-search-list>ul\").hide();\r\n $(\"html\").removeClass(\"no-scroll\");\r\n });\r\n});\r\n\r\nfunction GetLanguage() {\r\n return window.location.pathname.split(\"/\")[1];\r\n}\r\n\r\n//add ship in several rout\r\n$(document).delegate(\".js-add-ship-route\", \"click\", function () {\r\n if ($(\".js-ship-routes-row\").length <= 5) {\r\n var toCityValue = $(\".js-ship-routes-row\").last().find(\".js-ship-to-city\").val();\r\n var toCityValueAttr = $(\".js-ship-routes-row\").last().find(\".js-ship-to-city\").attr(\"data-code\");\r\n var toCitydirection = $(\".js-ship-routes-row\").last().find(\".js-ship-to-city\").css(\"direction\");\r\n\r\n var language = GetLanguage();\r\n\r\n var routeRowTemplate = `\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    کمی صبر کنید
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    کمی صبر کنید ...
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n `;\r\n $(\".js-ship-routes-row\").last().after($(routeRowTemplate));\r\n for (var i = 0; i < $(\".js-ship-route-number\").length; i++) {\r\n var item = $(\".js-ship-route-number\")[i];\r\n $(item).text(`مسیر ${i + 1}`);\r\n }\r\n\r\n srcType = $(this).attr(\"data-searchType\");\r\n\r\n getUrl(srcType);\r\n\r\n setTimeout(function () {\r\n $(\".js-flight .js-ship-auto-search\").each(function () {\r\n autoSearch($(this));\r\n });\r\n }, 100);\r\n\r\n newdatePicker();\r\n }\r\n});\r\n\r\n//delete ship\r\n$(document).delegate(\".js-delete-ship-route\", \"click\", function () {\r\n $(this).closest(\".js-added-flight\").remove();\r\n for (var i = 0; i < $(\".js-ship-route-number\").length; i++) {\r\n var item = $(\".js-ship-route-number\")[i];\r\n $(item).text(`مسیر ${i + 1}`);\r\n }\r\n});\r\n\r\n//delete all ship\r\n$(document).delegate(\".js-clear-all-ship\", \"click\", function () {\r\n $(\".js-added-ship\").remove();\r\n for (var i = 0; i < $(\".js-ship-route-number\").length; i++) {\r\n var item = $(\".js-ship-route-number\")[i];\r\n $(item).text(`مسیر ${i + 1}`);\r\n }\r\n});\r\n\r\n//economy click\r\n$(document).delegate(\".js-ship-economy-target>button\", \"click\", function () {\r\n $(this).next(\".js-ship-travelers\").fadeToggle();\r\n $(this).next(\".js-ship-travelers\").toggleClass(\"show-mobile\");\r\n if (documentWidth < 992) {\r\n $(\"html\").addClass(\"no-scroll\");\r\n }\r\n});\r\n\r\n//remove input text\r\n$(document).delegate(\".js-ship-close-tmenu\", \"click\", function () {\r\n $(this).closest(\".js-ship-travelers\").hide();\r\n $(\"html\").removeClass(\"no-scroll\");\r\n});\r\n\r\n// sort arrayObject\r\nfunction sortArrayObject(key, order = \"asc\") {\r\n return function (a, b) {\r\n if (!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) {\r\n // property doesn't exist on either object\r\n return 0;\r\n }\r\n\r\n var varA = typeof a[key] === \"string\" ? a[key].toUpperCase() : a[key];\r\n var varB = typeof b[key] === \"string\" ? b[key].toUpperCase() : b[key];\r\n\r\n var comparison = 0;\r\n\r\n if (varA > varB) {\r\n comparison = 1;\r\n } else if (varA < varB) {\r\n comparison = -1;\r\n }\r\n return order == \"desc\" ? comparison * -1 : comparison;\r\n };\r\n}\r\n\r\nvar cityList = [];\r\n\r\n//autoComplete\r\nfunction autoSearch($this) {\r\n if ($($this).closest(\".js-ship-cities\").length) {\r\n if ($(\".js-booking-section.active\").attr(\"data-searchType\") === \"internal-ship\") {\r\n if (typeof shipInternalCityList != \"undefined\") {\r\n cityList = shipInternalCityList;\r\n }\r\n } else {\r\n if (typeof shipExternalCityList != \"undefined\") {\r\n cityList = shipExternalCityList;\r\n }\r\n }\r\n }\r\n\r\n $(\".js-tab-nav .js-tab-nav-header button\").on(\"click\", function () {\r\n setTimeout(function () {\r\n if ($(\".js-tab-nav\").find(\"li.active\").attr(\"data-searchType\") === \"internal-ship\") {\r\n if (typeof shipInternalCityList != \"undefined\") {\r\n cityList = shipInternalCityList;\r\n }\r\n } else {\r\n if (typeof shipExternalCityList != \"undefined\") {\r\n cityList = shipExternalCityList;\r\n }\r\n }\r\n }, 0);\r\n });\r\n\r\n $.widget(\"custom.autocomplete\", $.ui.autocomplete, {\r\n _renderMenu: function (ul, items) {\r\n var that = this,\r\n currentCategory = \"\";\r\n var sortedByFeatured = items.sort(sortArrayObject(\"isFeatured\", \"desc\"));\r\n $.each(sortedByFeatured, function (index, item) {\r\n if (Object.keys(item).length) {\r\n that._renderItemData(ul, item);\r\n\r\n // if (!item.label) {\r\n // $.each(item, function (index, item) {\r\n // that._renderItemData(ul, item);\r\n // })\r\n // }\r\n }\r\n });\r\n\r\n if (ul.find(\".autocomplete-category-title\").length === 1) {\r\n ul.find(\".autocomplete-category-title\").remove();\r\n }\r\n },\r\n\r\n _renderItem: function (ul, item) {\r\n var li = \"\";\r\n\r\n if (Object.keys(item).length) {\r\n var className = item.isRtl ? \"rtl\" : \"ltr\";\r\n ul.removeClass(\"rtl ltr\");\r\n ul.addClass(className);\r\n\r\n if (!item.hasOwnProperty(\"airport\") && item.label) {\r\n li +=\r\n '
  • ' +\r\n '
    ' +\r\n item.label +\r\n \"\";\r\n\r\n if (item.hasOwnProperty(\"airports\") && item.airports !== null) {\r\n li += 'همه بندرها';\r\n } else if (item.hasOwnProperty(\"airports\") && item.airports === null) {\r\n li += ' (' + item.code.toUpperCase() + \")\";\r\n }\r\n\r\n li += \"
  • \";\r\n } else if (item.hasOwnProperty(\"airport\") && item.requestTerm != \"\" && item.airport) {\r\n var subdirectoryIcon = '';\r\n li +=\r\n '
  • ' +\r\n subdirectoryIcon +\r\n ' ' +\r\n item.label +\r\n \"\";\r\n li += \"
  • \";\r\n }\r\n }\r\n\r\n return $(li).appendTo(ul);\r\n },\r\n });\r\n\r\n $this\r\n .autocomplete({\r\n minLength: 0,\r\n delay: 400,\r\n appendTo: $this.next(),\r\n search: function (event) {\r\n $this.closest(\".js-ship-city\").find(\".js-search-loading\").show();\r\n if (\r\n $this.is(\".js-ship-to-city\") &&\r\n $(\".js-tab-nav\").find(\"li.active\").attr(\"data-searchType\") === \"internal-ship\"\r\n ) {\r\n cityList = typeof shipInternalCityList != \"undefined\" ? shipInternalCityList : [];\r\n }\r\n if (\r\n $this.is(\".js-ship-to-city\") &&\r\n $(\".js-tab-nav\").find(\"li.active\").attr(\"data-searchType\") === \"external-ship\"\r\n ) {\r\n cityList = typeof shipExternalCityList != \"undefined\" ? shipExternalCityList : [];\r\n }\r\n if (\r\n $this.is(\".js-ship-from-city\") &&\r\n $(\".js-tab-nav\").find(\"li.active\").attr(\"data-searchType\") === \"internal-ship\"\r\n ) {\r\n cityList = shipInternalCityList;\r\n }\r\n if (\r\n $this.is(\".js-ship-from-city\") &&\r\n $(\".js-tab-nav\").find(\"li.active\").attr(\"data-searchType\") === \"external-ship\"\r\n ) {\r\n cityList = shipExternalCityList;\r\n }\r\n\r\n $(this).closest(\".js-ship-city\").addClass(\"show-mobile\");\r\n\r\n if (documentWidth < 992) {\r\n $(\"html\").addClass(\"no-scroll\");\r\n }\r\n $(this).parent().find(\".error-message\").remove();\r\n },\r\n source: function (request, response) {\r\n if ($this.val() && cityList != null) {\r\n var srcType = $this.closest(\".js-ship-cities\").attr(\"data-searchType\");\r\n\r\n getUrl(srcType);\r\n $this.closest(\".js-ship-city\").find(\".js-search-loading\").show();\r\n $.ajax({\r\n url: sourceUrl,\r\n data: {\r\n keyword: request.term,\r\n orginPlace: $($this).is(\".js-ship-from-city\"),\r\n },\r\n\r\n dataType: \"json\",\r\n success: function (data) {\r\n $this.closest(\".js-ship-city\").find(\".js-search-loading\").hide();\r\n //ship\r\n if ($($this).closest(\".js-ship-cities\").length) {\r\n var shipsArr = [],\r\n cities = {},\r\n airports = {};\r\n response(\r\n (shipsArr = []),\r\n $.map(data.results, function (obj) {\r\n cities = {\r\n label: obj.label,\r\n value: obj.cityTitle + \"(\" + obj.code + \")\",\r\n code: obj.code,\r\n cityTitle: obj.cityTitle,\r\n airports: obj.airports,\r\n isRtl: data.isRtl,\r\n isFeatured: obj.isFeatured,\r\n requestTerm: request.term,\r\n };\r\n shipsArr.push(cities);\r\n\r\n if (obj.airports != null && obj.airports.length) {\r\n $.map(obj.airports, function (airport) {\r\n airports = {\r\n airport: true,\r\n label: airport.label,\r\n code: airport.code,\r\n value: airport.label,\r\n isRtl: data.isRtl,\r\n isFeatured: obj.isFeatured,\r\n cityTitle: airport.cityTitle,\r\n requestTerm: request.term,\r\n };\r\n shipsArr.push(airports);\r\n });\r\n }\r\n\r\n return [cities, shipsArr.filter((a) => a.airport === true)];\r\n }),\r\n );\r\n }\r\n },\r\n error: function () {\r\n $this.closest(\".js-ship-city\").find(\".js-search-loading\").hide();\r\n },\r\n });\r\n } else {\r\n $this.closest(\".js-ship-city\").find(\".js-search-loading\").hide();\r\n if (cityList != null) {\r\n return response(cityList);\r\n } else {\r\n return [];\r\n }\r\n }\r\n },\r\n open: function () {\r\n var inputObj = $this;\r\n\r\n inputObj.next(\".js-ship-search-list\").children(\"ul\").width(inputObj.closest(\".js-ship-cities\").width());\r\n inputObj\r\n .next(\".js-ship-search-list\")\r\n .children(\"ul\")\r\n .offset({\r\n left: inputObj.closest(\".js-ship-cities\").offset().left,\r\n });\r\n inputObj.closest(\".js-ship-cities\").find(\".js-ship-from-city\").addClass(\"focusedInput\");\r\n $(\".ui-autocomplete\").off(\"menufocus hover mouseover mouseenter\");\r\n\r\n //off autocomplete in chrome\r\n let chromeAgent = navigator.userAgent.indexOf(\"Chrome\") != -1;\r\n if (chromeAgent) {\r\n $this.attr(\"autocomplete\", \"off\");\r\n }\r\n\r\n inputObj\r\n .next(\".js-ship-search-list\")\r\n .children(\"ul\")\r\n .css({\r\n top: \"+=\" + 12,\r\n });\r\n },\r\n\r\n close: function () {\r\n $(\"html\").removeClass(\"no-scroll\");\r\n },\r\n\r\n select: function (e, ui) {\r\n $(this).attr(\"data-code\", ui.item.code);\r\n $(this).attr(\"data-title\", ui.item.cityTitle);\r\n $(this).attr(\"data-value\", ui.item.value);\r\n $(this).val();\r\n\r\n $(this).data({\r\n code: ui.item.code,\r\n title: ui.item.cityTitle,\r\n value: ui.item.value,\r\n });\r\n\r\n $(this).attr(\"placeholder\", ui.item.value);\r\n\r\n $this.parent().find(\".error-message\").remove();\r\n $this.removeClass(\"notValid\");\r\n\r\n if ($(this).closest(\".js-ship-serveral-routes-container\").length && $(this).hasClass(\"js-ship-to-city\")) {\r\n $(this).closest(\".js-ship-routes-row\").find(\".js-ship-pick-date\").trigger(\"focus\");\r\n\r\n if ($(this).closest(\".js-ship-routes-row\").next().length) {\r\n if (!$(this).closest(\".js-ship-routes-row\").next().find(\".js-ship-from-city\").val()) {\r\n if ($(window).width() > 992) {\r\n $(this).attr(\"placeholder\", ui.item.value);\r\n }\r\n\r\n $(this).parent().find(\".error-message\").remove();\r\n }\r\n }\r\n }\r\n\r\n if ($(window).width() <= 992) {\r\n $(\".js-ship-city\").removeClass(\"show-mobile\");\r\n $(this)\r\n .closest(\".js-ship-city\")\r\n .find(\".js-input-layout\")\r\n .html(\"\" + ui.item.value + \"\");\r\n $(\"html\").removeClass(\"no-scroll\");\r\n $this.autocomplete(\"close\");\r\n $this.trigger(\"blur\");\r\n }\r\n\r\n if ($(this).is(\".js-ship-from-city\")) {\r\n $(this).closest(\".js-ship-cities\").find(\".js-ship-to-city\").autocomplete(\"search\");\r\n\r\n let timeOut = setTimeout(() => {\r\n $(this).closest(\".js-ship-cities\").find(\".js-ship-to-city\").trigger(\"focus\");\r\n clearTimeout(timeOut);\r\n }, 0);\r\n } else if ($(this).is(\".js-ship-to-city\")) {\r\n $(this).closest(\".js-ship-one-or-two-route-container\").find(\".js-ship-pick-date\").datepicker(\"show\");\r\n setTimeout(function () {\r\n document.activeElement.blur();\r\n // document.activeElement.focusout()\r\n }, 0);\r\n }\r\n\r\n $this.parent().find(\".error-message\").remove();\r\n $this.removeClass(\"notValid\");\r\n $(this).parent().find(\".error-message\").remove();\r\n\r\n tagManager({ value: ui.item.value, type: searchType });\r\n },\r\n })\r\n .bind(\"focus\", function (event) {\r\n if ($(window).width() > 992 || $(\".js-ship-city\").hasClass(\"show-mobile\")) {\r\n $(this).val(\"\");\r\n $(this).autocomplete(\"search\");\r\n $this.closest(\".js-ship-city\").find(\".js-search-loading\").hide();\r\n }\r\n })\r\n .bind(\"blur\", function () {\r\n $(this).val($(this).attr(\"placeholder\"));\r\n $this.closest(\".js-ship-city\").find(\".js-search-loading\").hide();\r\n });\r\n}\r\n\r\n//layout in mobile\r\n$(\".js-ship\").delegate(\".js-input-layout\", \"click\", function () {\r\n $(this).closest(\".js-ship-city\").addClass(\"show-mobile\");\r\n $(this).closest(\".js-ship-city\").find(\"input\").trigger(\"focus\");\r\n $(this).closest(\".js-ship-city\").find(\"input\").trigger(\"search\");\r\n});\r\n\r\n// init datePicker\r\nfunction datePicker() {\r\n setTimeout(function () {\r\n $(\".js-ship .js-ship-departure\").pickDate({\r\n dateFormat: \"yy/mm/dd\",\r\n dateFormatEn: \"yy M dd\",\r\n changeMonthAllow: false,\r\n changeYearAllow: false,\r\n showButtonPanel: true,\r\n isDependenceDates: false,\r\n showCurrentAtPos: 0,\r\n numberOfMonths: $(window).width() > 991 ? 2 : 1,\r\n minDate: -0,\r\n customClass: \"lightTheme\",\r\n showAllMonthsinList: false,\r\n langType: datePickerMode === 1 ? '' : 'fa',\r\n blurInmobile: true,\r\n dayNamesShortFa: [\"1شنبه\", \"2شنبه\", \"3شنبه\", \"4شنبه\", \"5شنبه\", \"جمعه\", \"شنبه\"],\r\n dayNamesShortEn: [\"Su\", \"Mo\", \"TU\", \"We\", \"Th\", \"Fr\", \"Sa\"],\r\n enterDateTitle: \"تاریخ رفت\",\r\n exitDateTitle: \"تاریخ برگشت\",\r\n enterDateTitleEn: \"Departure date\",\r\n exitDateTitleEn: \"Retun date\",\r\n fillHidden: {\r\n enable: true,\r\n outPut: \"en\", //en | Dependent_On_SelectedDate | fa\r\n customformatInhidden: \"YYYY-MM-DD\",\r\n },\r\n });\r\n }, 100);\r\n}\r\n\r\nfunction newdatePicker() {\r\n $(\".js-ship-routes-row\")\r\n .last()\r\n .find(\".js-ship-departure\")\r\n .pickDate({\r\n dateFormat: \"yy/mm/dd\",\r\n dateFormatEn: \"yy M dd\",\r\n changeMonthAllow: false,\r\n changeYearAllow: false,\r\n showButtonPanel: true,\r\n blurInmobile: true,\r\n isDependenceDates: false,\r\n customClass: \"lightTheme\",\r\n showCurrentAtPos: 0,\r\n numberOfMonths: $(window).width() > 991 ? 2 : 1,\r\n minDate: -0,\r\n maxDate: \"+1Y\",\r\n showAllMonthsinList: false,\r\n langType: datePickerMode === 1 ? '' : 'fa',\r\n fillHidden: {\r\n enable: true,\r\n outPut: \"en\", //en | Dependent_On_SelectedDate | fa\r\n customformatInhidden: \"YYYY-MM-DD\",\r\n },\r\n });\r\n}\r\n\r\n// get url for ajax\r\nfunction getUrl(srcType) {\r\n if (srcType === \"internal-ship\") {\r\n sourceUrl = \"/airport/iranianairports/\";\r\n } else if (srcType === \"external-ship\") {\r\n sourceUrl = \"/airport/airports/\";\r\n }\r\n}\r\n","$(function () {\r\n //popular-destinations slider\r\n $(\".js-popular-destinations\").owlCarousel({\r\n loop: false,\r\n margin: 8,\r\n rtl: true,\r\n responsiveClass: true,\r\n autoWidth: false,\r\n dots: true,\r\n responsive: {\r\n 0: {\r\n items: 2,\r\n autoWidth: true,\r\n },\r\n 768: {\r\n items: 4,\r\n autoWidth: false,\r\n },\r\n 1320: {\r\n items: 5,\r\n nav: true,\r\n margin: 24,\r\n },\r\n },\r\n });\r\n\r\n //-four-columns slider\r\n $(\".js-four-columns\").owlCarousel({\r\n loop: false,\r\n margin: 8,\r\n rtl: true,\r\n responsiveClass: true,\r\n autoWidth: false,\r\n dots: false,\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n nav: false,\r\n autoWidth: true,\r\n },\r\n 768: {\r\n items: 3,\r\n autoWidth: false,\r\n },\r\n 1180: {\r\n items: 4,\r\n nav: true,\r\n margin: 24,\r\n },\r\n },\r\n });\r\n\r\n //tour-slider slider\r\n $(\".js-tour-slider\").owlCarousel({\r\n loop: false,\r\n margin: 8,\r\n rtl: true,\r\n responsiveClass: true,\r\n autoWidth: false,\r\n dots: false,\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n nav: false,\r\n autoWidth: true,\r\n },\r\n 768: {\r\n items: 3,\r\n autoWidth: false,\r\n },\r\n 1180: {\r\n nav: true,\r\n margin: 24,\r\n },\r\n },\r\n });\r\n\r\n //close newsletters\r\n $(\".js-newsletters-close\").click(function () {\r\n $(this).closest(\".js-newsletters\").remove();\r\n });\r\n});\r\n"],"names":["a","b","e","travelServiceLocationList","cipLocationList","documentWidth","datePickerMode","activeIDFinder","id","$","find","attr","findTourType","createLocalStorageKey","identifier","prefixID","Boolean","window","localStorage","getItem","prefixSearchHistory","setItem","createSearchHistoryCard","moment","loadPersian","tabButton","click","event","preventDefault","this","updateLocalStorage","key","item","keyData","JSON","parse","index","findIndex","data","baseUrl","splice","stringify","slice","css","searchHistory","filter","isSameOrBefore","expire","empty","length","forEach","searchItem","append","routeType","fromCity","title","toCity","startDateValue","format","endDateValue","date","flightSearchHistoryContent","hotelTitle","hotelStartDateEn","hotelEndDateEn","hotelSearchHistoryContent","travelServiceSearchHistoryContent","dir","origin","tripTitle","destination","tripStartDateEn","tripEndDateEn","onlineTripSearchHistoryContent","tourType","tripSearchHistoryContent","country","value","durationText","personCount","insuranceSearchHistoryContent","ciLlocation","reduce","string","cipSearchHistoryContent","railSearchHistoryContent","shipSearchHistoryContent","fillerAdaptor","targetElement","closest","url","removeLocalStorage","remove","c","d","settings","options","extend","Defaults","$element","_handlers","_plugins","_supress","_current","_speed","_coordinates","_breakpoint","_width","_items","_clones","_mergers","_widths","_invalidated","_pipe","_drag","time","target","pointer","stage","start","current","direction","_states","tags","initializing","animating","dragging","each","proxy","Plugins","charAt","toLowerCase","Workers","push","run","setup","initialize","items","loop","center","rewind","checkVisibility","mouseDrag","touchDrag","pullDrag","freeDrag","margin","stagePadding","merge","mergeFit","autoWidth","startPosition","rtl","smartSpeed","fluidSpeed","dragEndSpeed","responsive","responsiveRefreshRate","responsiveBaseElement","fallbackEasing","slideTransition","info","nestedItemSelector","itemElement","stageElement","refreshClass","loadedClass","loadingClass","rtlClass","responsiveClass","dragClass","itemClass","stageClass","stageOuterClass","grabClass","Width","Default","Inner","Outer","Type","Event","State","width","relative","$stage","children","toFixed","f","Math","min","max","ceil","g","h","i","normalize","outerHTML","addClass","appendTo","prependTo","abs","eq","removeAttr","minimum","maximum","reset","animate","coordinates","op","removeClass","join","prototype","initializeStage","class","wrap","parent","initializeItems","get","map","refresh","replace","not","isVisible","invalidate","enter","trigger","toggleClass","is","preloadAutoWidthImages","registerEventHandlers","leave","viewport","Number","RegExp","property","name","optionsLogic","prepare","content","update","all","grep","onThrottledResize","clearTimeout","resizeTimer","setTimeout","onResize","isDefaultPrevented","support","transition","on","end","onTransitionEnd","onDragStart","onDragEnd","which","transform","x","split","y","position","left","top","stop","type","speed","Date","getTime","one","difference","onDragMove","off","transform3d","suppress","release","isNumeric","mergers","clones","duration","to","next","prev","stopPropagation","srcElement","originalTarget","innerWidth","documentElement","clientWidth","console","warn","jQuery","nodeType","addBack","add","after","before","Image","src","destroy","unwrap","contents","removeData","addEventListener","attachEvent","removeEventListener","detachEvent","count","camelCase","j","relatedTarget","onTrigger","register","call","concat","special","owl","_default","apply","namespace","indexOf","arguments","inArray","originalEvent","touches","changedTouches","pageX","pageY","clientX","clientY","isNaN","parseFloat","fn","owlCarousel","Array","Constructor","Zepto","document","_core","_interval","_visible","autoRefresh","watch","autoRefreshInterval","setInterval","clearInterval","Object","getOwnPropertyNames","AutoRefresh","_loaded","lazyLoad","load","lazyLoadEager","devicePixelRatio","element","onload","opacity","handlers","Lazy","_previousHeight","autoHeight","_intervalId","resize","autoHeightClass","toArray","height","AutoHeight","_videos","_playing","video","isInFullScreen","fetch","play","videoHeight","videoWidth","Error","match","thumbnail","k","l","srcType","style","ajax","jsonp","dataType","success","thumbnail_large","framegrab_url","insertAfter","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","hasClass","Video","core","swapping","previous","animateOut","animateIn","swap","animation","clear","Animate","_call","_time","_timeout","_paused","autoplay","autoplayHoverPause","pause","autoplayTimeout","autoplaySpeed","_next","round","read","hidden","_initialized","_pages","_controls","_templates","_overrides","dotsData","dotClass","pop","draw","nav","navText","navSpeed","navElement","navContainer","navContainerClass","navClass","slideBy","dotsClass","dots","dotsEach","dotsSpeed","dotsContainer","$relative","$previous","html","$next","prop","$absolute","overides","page","size","getPosition","Navigation","_hashes","location","hash","substring","URLhashListener","Hash","toUpperCase","WebkitTransition","MozTransition","OTransition","WebkitAnimation","MozAnimation","OAnimation","String","sourceUrl","pickDate","dateFormat","dateFormatEn","changeMonthAllow","changeYearAllow","showButtonPanel","isDependenceDates","showCurrentAtPos","numberOfMonths","minDate","customClass","showAllMonthsinList","langType","blurInmobile","dayNamesShortFa","dayNamesShortEn","enterDateTitle","exitDateTitle","enterDateTitleEn","exitDateTitleEn","fillHidden","enable","outPut","customformatInhidden","slideDown","autoSearch","radioCheckedValue","val","routesTypeCheck","passemgers","adult","text","child","infant","updatePassenger","handlePassengerLimitErrorMessage","increaseAdult","increaseChild","increaseInfant","decreaseAdult","decreaseChild","decreaseInfant","msg","errorMessages","maxPassengersNumbers","validationOfAdultAndInfantsNumber","minPassengersNumbers","validationOfAdultAndBabiesNumber","errorLocation","findPassengerType","listElementClass","includes","undefined","sum","calcSum","obj","async","actions","change","show","hide","localStorageKey","searchHistoryItem","message","cabinTypeNumber","valid","routeValid","cabinType","code","passenger","trim","trip","valThis","some","tripItem","arr","_ref","fadeToggle","flightPassengerLimit","assign","input1","input2","inputList1","inputList2","valueHolderInMobile1","siblings","valueHolderInMobile2","elem","jquery","createTextNode","insertBefore","mouseup","has","fadeOut","delegate","autocomplete","last","pathname","getUrl","maxDate","cityList","$this","internalCityList","externalCityList","widget","ui","_renderMenu","ul","that","sortedByFeatured","sort","order","hasOwnProperty","varA","varB","comparison","sortArrayObject","keys","_renderItemData","_renderItem","li","className","isRtl","label","airports","requestTerm","airport","minLength","delay","search","destinationInternalCityList","destinationExternalCityList","source","request","response","keyword","term","orginPlace","flightsArr","cities","results","cityTitle","isFeatured","error","open","inputObj","offset","navigator","userAgent","close","select","timeOut","datepicker","activeElement","blur","tagManager","searchType","bind","RootDataModel","modelInitializer","Get","hotelDatePicker","hotelautoComplete","hotelList","hotelAutoSearch","$destinationType","model","slug","citySlug","countrySlug","countryTitle","locationType","destinationType","hotelDataModel","checkValidation","rooms","flatMap","childs","startDate","diff","icon","checkAlignBox","adultsString","childString","childAgeString","room","searchInitialize","isStaticPage","destinationId","destinations","cityId","sessionStorage","roomsCount","adultCountArray","childCountArray","childAgesArray","getDate","dateType","localeType","locale","checkIn","utc","checkOut","hotelEndDate","hotelStartDate","daysDuration","childLabels","childsCount","adultsCount","newRooms","occupancies","newAges","ages","age","newRoom","roomNum","updateTemplate","roomIndex","roomNumber","oldChildCount","selectedChildCount","newChildCount","childAgeIndex","childAge","changeDatePickerMode","mode","flag","labelsArray","childsLabel","countLabelNumbers","tmpl","internalHotelList","externalHotelList","scrollTo","datePickerLanguageType","hotelMinDate","onSelectEvent","daysDurationParam","endDate","date1","date2","diffTime","diffDays","calcDiffDate","checkInDate","checkOutDate","georgianFormat","jalaaliFormat","updateSummeryBoxInHotelDetail","summeryCheckInDate","summeryCheckOutDate","updateDates","PickDate_Hidden_val","PickDate2_Hidden_val","tripList","clonedModal","number","clone","$modal","modalWrapper","tripAutoSearch","tripDataModel","createCloneTripModal","selectedCity","defaultDestinationListOfTrip","city","tripinitializeSearch","setInitialData","defaultOriginListOfTrip","inputType","initValue","tripAutoComplete","roomsDetailToggled","tripcheckAlignBox","tripDatePicker","isInModal","fillFieldValid","baby","passengers","tripCheckValidation","tripAdultCountArray","tripChildCountArray","tripChildAgesArray","tripEndDate","tripStartDate","updateTripTemplate","newTemplate","tripcountLabelNumbers","tripCalcDiffDate","tourLocalStorage","href","hover","tourDefaultList","input","dataUrl","getJSON","done","serverResponse","focus","keydown","keyCode","firstItem","radioTarget","getAttribute","insuranceLocationList","initDatepicker","yearRange","nextDatePicker","appendTravelTimeList","insuranceDays","insuranceLocation","status","querySelector","datepickerItemLength","countryField","innerText","birthDate","temp","babyNumber","adultNumber","num","cipFlightTypeList","cipTripTypeList","cipDays","cipAirlines","flighttype","triptype","airportCode","airportEnglishTitle","airportTitle","flightTypes","tripTypes","tripType","typeTitle","flightType","travelServiceDestinations","travelServiceLocation","railList","internalRailStationsList","screen","getResult","domesticRailExchange","railRoutesTypeCheck","searchRail","toCityInput","fromCityInput","fromStationInput","fieldsEquelValidation","elder","youngCount","isExclusive","classType","carTransfer","toCityStaionInput","fromCityElement","station","toCityElement","startDatevalue","exclusive","selectTime","returnSelectedTime","selectedTime","nextText","prevText","nextTextEn","prevTextEn","checked","autoSearchRail","validToClose","fadeIn","newItems","rail","clientCode","persianLabel","engLabels","localLabel","allStation","shipPassengerLimit","shipInternalCityList","shipExternalCityList","shipsArr"],"sourceRoot":""}