(function($){var useWindow=window;if(!Object.keys){Object.keys=(function(){'use strict';var hasOwnProperty=Object.prototype.hasOwnProperty,hasDontEnumBug=!({toString:null}).propertyIsEnumerable('toString'),dontEnums=['toString','toLocaleString','valueOf','hasOwnProperty','isPrototypeOf','propertyIsEnumerable','constructor'],dontEnumsLength=dontEnums.length;return function(obj){if(typeof obj!=='object'&&(typeof obj!=='function'||obj===null)){throw new TypeError('Object.keys called on non-object');} var result=[],prop,i;for(prop in obj){if(hasOwnProperty.call(obj,prop)){result.push(prop);}} if(hasDontEnumBug){for(i=0;i>>0;var from=Number(arguments[1])||0;from=(from<0)?Math.ceil(from):Math.floor(from);if(from<0) from+=len;for(;from0){var parts=str.split(" ");var date=parts[0].split("-");var time=parts[1].split(":");return new Date(date[0],date[1]-1,date[2],time[0],time[1],time[2]);} var d=Date.parse(str);if(!isNaN(d)) return d;d=Date.parse(str.replace(/-/g,'/').replace('T',' '));if(!isNaN(d)) return d;return new Date();} function parse_times(diff,old_diff,total_duration,units,floor){var raw_time={};var raw_old_time={};var time={};var pct={};var old_pct={};var old_time={};var greater_unit=null;for(var i=0;i0)curUnits=Math.floor(curUnits);else curUnits=Math.ceil(curUnits);if(oldUnits>0)oldUnits=Math.floor(oldUnits);else oldUnits=Math.ceil(oldUnits);} if(unit!=="Days"){curUnits=curUnits%maxUnits;oldUnits=oldUnits%maxUnits;} raw_time[unit]=curUnits;time[unit]=Math.abs(curUnits);raw_old_time[unit]=oldUnits;old_time[unit]=Math.abs(oldUnits);pct[unit]=Math.abs(curUnits)/maxUnits;old_pct[unit]=Math.abs(oldUnits)/maxUnits;greater_unit=unit;} return{raw_time:raw_time,raw_old_time:raw_old_time,time:time,old_time:old_time,pct:pct,old_pct:old_pct};} var TC_Instance_List={};function updateUsedWindow(){if(typeof useWindow.TC_Instance_List!=="undefined"){TC_Instance_List=useWindow.TC_Instance_List;} else{useWindow.TC_Instance_List=TC_Instance_List;} initializeAnimationFrameHandler(useWindow);};function initializeAnimationFrameHandler(w){var vendors=['webkit','moz'];for(var x=0;x");this.container.addClass('time_circles');this.container.appendTo(this.element);var height=this.element.offsetHeight;var width=this.element.offsetWidth;if(height===0) height=$(this.element).height();if(width===0) width=$(this.element).width();if(height===0&&width>0) height=width/this.data.drawn_units.length;else if(width===0&&height>0) width=height*this.data.drawn_units.length;var canvasElement=document.createElement('canvas');canvasElement.width=width;canvasElement.height=height;this.data.attributes.canvas=$(canvasElement);this.data.attributes.canvas.appendTo(this.container);var canvasSupported=isCanvasSupported();if(!canvasSupported&&typeof G_vmlCanvasManager!=="undefined"){G_vmlCanvasManager.initElement(canvasElement);limited_mode=true;canvasSupported=true;} if(canvasSupported){this.data.attributes.context=canvasElement.getContext('2d');} this.data.attributes.item_size=Math.min(width/this.data.drawn_units.length,height);this.data.attributes.line_width=this.data.attributes.item_size*this.config.fg_width;this.data.attributes.radius=((this.data.attributes.item_size*0.8)-this.data.attributes.line_width)/2;this.data.attributes.outer_radius=this.data.attributes.radius+0.5*Math.max(this.data.attributes.line_width,this.data.attributes.line_width*this.config.bg_width);var i=0;for(var key in this.data.text_elements){if(!this.config.time[key].show) continue;var textElement=$("
");textElement.addClass('textDiv_'+key);textElement.css("top",Math.round(0.35*this.data.attributes.item_size));textElement.css("left",Math.round(i++*this.data.attributes.item_size));textElement.css("width",this.data.attributes.item_size);textElement.appendTo(this.container);var numberElement=$("");numberElement.css("font-size",Math.round(this.config.number_size*this.data.attributes.item_size));numberElement.appendTo(textElement);var headerElement=$("

");headerElement.text(this.config.time[key].text);headerElement.css("font-size",Math.round(this.config.text_size*this.data.attributes.item_size));headerElement.appendTo(textElement);this.data.text_elements[key]=numberElement;} this.start();if(!this.config.start){this.data.paused=true;} var _this=this;this.data.interval_fallback=useWindow.setInterval(function(){_this.update.call(_this,true);},100);};TC_Instance.prototype.update=function(nodraw){if(typeof nodraw==="undefined"){nodraw=false;} else if(nodraw&&this.data.paused){return;} if(limited_mode){this.data.attributes.context.clearRect(0,0,this.data.attributes.canvas[0].width,this.data.attributes.canvas[0].hright);} var diff,old_diff;var prevDate=this.data.prev_time;var curDate=new Date();this.data.prev_time=curDate;if(prevDate===null) prevDate=curDate;if(!this.config.count_past_zero){if(curDate>this.data.attributes.ref_date){for(var i=0;iMath.floor(visible_times.old_time[lastKey])){this.radialFade(x,y,color,1,key);this.data.state.fading[key]=true;} else if(Math.floor(visible_times.time[lastKey])0.5){if(target_pct===0){this.radialFade(x,y,color,1);} else{this.radialFade(x,y,color,0);}} else{var progress=(tick_duration-(animation_end-(new Date()).getTime()))/tick_duration;if(progress>1) progress=1;var pct=(cur_pct*(1-progress))+(target_pct*progress);this.drawArc(x,y,color,pct);if(progress>=1) return;var _this=this;useWindow.requestAnimationFrame(function(){_this.animateArc(x,y,color,target_pct,cur_pct,animation_end);},this.element);}};TC_Instance.prototype.drawArc=function(x,y,color,pct){if(this.data.attributes.context===null) return;var clear_radius=Math.max(this.data.attributes.outer_radius,this.data.attributes.item_size/2);if(!limited_mode){this.data.attributes.context.clearRect(x-clear_radius,y-clear_radius,clear_radius*2,clear_radius*2);} if(this.config.use_background){this.data.attributes.context.beginPath();this.data.attributes.context.arc(x,y,this.data.attributes.radius,0,2*Math.PI,false);this.data.attributes.context.lineWidth=this.data.attributes.line_width*this.config.bg_width;this.data.attributes.context.strokeStyle=this.config.circle_bg_color;this.data.attributes.context.stroke();} var startAngle,endAngle,counterClockwise;var defaultOffset=(-0.5*Math.PI);var fullCircle=2*Math.PI;startAngle=defaultOffset+(this.config.start_angle/360*fullCircle);var offset=(2*pct*Math.PI);if(this.config.direction==="Both"){counterClockwise=false;startAngle-=(offset/2);endAngle=startAngle+offset;} else{if(this.config.direction==="Clockwise"){counterClockwise=false;endAngle=startAngle+offset;} else{counterClockwise=true;endAngle=startAngle-offset;}} this.data.attributes.context.beginPath();this.data.attributes.context.arc(x,y,this.data.attributes.radius,startAngle,endAngle,counterClockwise);this.data.attributes.context.lineWidth=this.data.attributes.line_width;this.data.attributes.context.strokeStyle=color;this.data.attributes.context.stroke();};TC_Instance.prototype.radialFade=function(x,y,color,from,key){var rgb=hexToRgb(color);var _this=this;var step=0.2*((from===1)?-1:1);var i;for(i=0;from<=1&&from>=0;i++){(function(){var delay=50*i;var rgba="rgba("+rgb.r+", "+rgb.g+", "+rgb.b+", "+(Math.round(from*10)/10)+")";useWindow.setTimeout(function(){_this.drawArc(x,y,rgba,1);},delay);}());from+=step;} if(typeof key!==undefined){useWindow.setTimeout(function(){_this.data.state.fading[key]=false;},50*i);}};TC_Instance.prototype.timeLeft=function(){if(this.data.paused&&typeof this.data.timer==="number"){return this.data.timer;} var now=new Date();return((this.data.attributes.ref_date-now)/1000);};TC_Instance.prototype.start=function(){useWindow.cancelAnimationFrame(this.data.animation_frame);useWindow.clearTimeout(this.data.animation_frame) var attr_data_date=$(this.element).data('date');if(typeof attr_data_date==="undefined"){attr_data_date=$(this.element).attr('data-date');} if(typeof attr_data_date==="string"){this.data.attributes.ref_date=parse_date(attr_data_date);} else if(typeof this.data.timer==="number"){if(this.data.paused){this.data.attributes.ref_date=(new Date()).getTime()+(this.data.timer*1000);}} else{var attr_data_timer=$(this.element).data('timer');if(typeof attr_data_timer==="undefined"){attr_data_timer=$(this.element).attr('data-timer');} if(typeof attr_data_timer==="string"){attr_data_timer=parseFloat(attr_data_timer);} if(typeof attr_data_timer==="number"){this.data.timer=attr_data_timer;this.data.attributes.ref_date=(new Date()).getTime()+(attr_data_timer*1000);} else{this.data.attributes.ref_date=this.config.ref_date;}} this.data.paused=false;this.update.call(this);};TC_Instance.prototype.restart=function(){this.data.timer=false;this.start();};TC_Instance.prototype.stop=function(){if(typeof this.data.timer==="number"){this.data.timer=this.timeLeft(this);} this.data.paused=true;useWindow.cancelAnimationFrame(this.data.animation_frame);};TC_Instance.prototype.destroy=function(){this.clearListeners();this.stop();useWindow.clearInterval(this.data.interval_fallback);this.data.interval_fallback=null;this.container.remove();$(this.element).removeAttr('data-tc-id');$(this.element).removeData('tc-id');};TC_Instance.prototype.setOptions=function(options){if(this.config===null){this.default_options.ref_date=new Date();this.config=$.extend(true,{},this.default_options);} $.extend(true,this.config,options);if(this.config.use_top_frame){useWindow=window.top;} else{useWindow=window;} updateUsedWindow();this.data.total_duration=this.config.total_duration;if(typeof this.data.total_duration==="string"){if(typeof secondsIn[this.data.total_duration]!=="undefined"){this.data.total_duration=secondsIn[this.data.total_duration];} else if(this.data.total_duration==="Auto"){for(var i=0;i