/** * @preserve jQuery flipcountdown plugin v3.0.5 * @homepage http://xdsoft.net/jqplugins/flipcountdown/ * (c) 2013, Chupurnov Valeriy. */ (function($){ jQuery.fn.flipCountDown = jQuery.fn.flipcountdown = function( _options ){ var default_options = { showHour :true, showMinute :true, showSecond :true, am :false, tzoneOffset :0, speedFlip :60, period :1000, tick :function(){ return new Date(); }, autoUpdate :true, size :'md', beforeDateTime:false, prettyPrint :function( chars ){ return (chars instanceof Array)?chars.join(' '):chars; } }, digitsCount = 66, sizes = { lg:77, md:52, sm:35, xs:24 }, createFlipCountDown = function( $box ){ var $flipcountdown = $('
'), $clearex = $(''), options = $.extend({},default_options), timer = 0, _animateRange = function( box,a,b ){ if( !isNaN(a) ){ _animateOne( box,a,((a>b && !(a==9&&b==0) )||(a==0&&b==9))?-1:1,!((a==9&&b==0)||(a==0&&b==9))?Math.abs(a-b):1 ); }else{ box.css('background-position','0px -'+((b+1)*6*sizes[options.size]+1)+'px' ); } }, _animateOne = function( box,a,arrow,range ){ if( range<1 ) return; _setMargin(box,-((a+1)*6*sizes[options.size]+1),1,arrow,function(){ _animateOne(box,a+arrow,arrow,range-1); },range); }, _setMargin = function( box, marginTop, rec, arrow,callback,range){ if( marginTop<=-sizes[options.size]*digitsCount ) marginTop = -(6*sizes[options.size]+1); box.css('background-position','0px '+marginTop+'px' ); if( rec<=6 ){ setTimeout(function(){ _setMargin(box, marginTop-arrow*sizes[options.size], ++rec, arrow, callback,range); },parseInt(options.speedFlip/range)); }else callback(); }, blocks = [], _typeCompare = function ( a,b ){ return a&&b&&( (a==b)|| (/^[0-9]+$/.test(a+''+b))|| (/^[:.\s]+$/.test(a+''+b)) ); }, _generate = function( chars ){ if( !(chars instanceof Array) || !chars.length ) return false; for( var i = 0, n = chars.length;i