Your IP : 216.73.216.44


Current Path : /home/krobertfnz/www/wp-content/plugins/vamtam-elements-b/modules/vamtam-countdown/js/
Upload File :
Current File : /home/krobertfnz/www/wp-content/plugins/vamtam-elements-b/modules/vamtam-countdown/js/settings.js

(function($){

	FLBuilder.registerModuleHelper('countdown', {

		rules: {
			day: {
				required: true
			},
			month: {
				required: true
			},
			year: {
				required: true
			}
		},

		submit: function(){

			var self   = this;
			var form   = $( '.fl-builder-settings' ),
				day    = parseInt( form.find( 'input[name=day]' ).val() ),
				month  = parseInt( form.find( 'input[name=month]' ).val() ),
				year   = parseInt( form.find( 'input[name=year]' ).val() ),
				hour   = parseInt( form.find( 'select[name="time[][hours]"]' ).val() ),
				minute = parseInt( form.find( 'select[name="time[][minutes]"]' ).val() ),
				period = form.find( 'select[name="time[][day_period]"]' ).val(),
				date   = year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':00 ' + period.toUpperCase();

			if ( ! this._validateDate( day, 'day' ) ) {
				FLBuilder.alert( FLBuilderStrings.enterValidDay );
				return false;
			} else if ( ! this._validateDate( month, 'month' ) ) {
				FLBuilder.alert( FLBuilderStrings.enterValidMonth );
				return false;
			} else if ( ! this._validateDate( year, 'year' ) ) {
				FLBuilder.alert( FLBuilderStrings.enterValidYear );
				return false;
			} else if ( Date.parse( date ) <= Date.now() ) {
				FLBuilder.alert( FLBuilderStrings.countdownDateisInThePast );
				return false;
			}

			return true;

		},

		_isPositiveInteger: function( n ) {
		    return n >>> 0 === parseFloat( n );
		},

		_validateDate: function( date, part ){
			var self     = this,
				form     = $( '.fl-builder-settings' ),
				day      = parseInt( form.find( 'input[name=day]' ).val() ),
				month    = parseInt( form.find( 'input[name=month]' ).val() ),
				year     = parseInt( form.find( 'input[name=year]' ).val() ),
				fullDays = new Date( year, month, 0 ).getDate();

			if ( isNaN( date ) || ! this._isPositiveInteger( date ) ) {
				return false;
			} else {
				switch ( part ) {
					case 'day':
						return date <= fullDays;
						break;
					case 'month':
						return date <= 12;
						break;
					case 'year':
						return date >= new Date().getFullYear();
						break;
				}
			}
		},

	});

})(jQuery);