var freehand2=new function() {

this.digitPad = 4;
this.groupPad = 15;
this.heightFrac = 0.9;
this.widthFrac = .9;

this.bgColor = [0, 250, 250];
this.baseColor = [238, 238, 238];
this.partColor = [0, 100, 200];
this.secondColor = [0, 0, 0];
this.colonColors = { a:this.secondColor , b:this.bgColor };
this.lineCap = 'round';
this.lineGap = .75

this.baseLineWidth = 0;
this.partLineWidth = 10;
this.colonRadius = 4;
this.beginAniTime = 0.25;
this.endAniTime = 1.0;

this.baseInFront = false;
this.pulsate = false;

this.disableSlowest = true;

this.t = new Array();
for (var i=0;i<=50;i++)
this.t[i] = new Array();

/* 0->1 (-0, -1, -4, -6) */
this.t[0].push({ src: 2, type: 'shrink', mov: 0, t:[0,.1] });
this.t[0].push({ src: 5, type: 'shrink', mov: 0, t:[.1,.2] });
this.t[0].push({ src: 6, type: 'shrink', mov: 1, t:[.2,.3] });
this.t[0].push({ src: 4, type: 'shrink', mov: 1, t:[.3, .4] });
this.t[0].push({ src: 1, type: 'shrink', mov: 1, t:[.4, .5] });
this.t[0].push({ src: 0, type: 'shrink', mov: 0, t:[.5, .6] });

this.t[0].push({ src: 2, type: 'grow', mov: 1, t:[.6, .65] });
this.t[0].push({ src: 5, type: 'grow', mov: 1, t:[.65, .7] });


/* 1->2 (+0, +3, +4, +6, -5)*/
this.t[1].push({ src: 2, type: 'shrink', mov: 0, t:[0, .1] });
this.t[1].push({ src: 5, type: 'shrink', mov: 0, t:[.1, .2] });

this.t[1].push({ src: 6, type: 'grow', mov: 0, t:[.2,.25] });
this.t[1].push({ src: 4, type: 'grow', mov: 0, t:[.25,.3] });
this.t[1].push({ src: 3, type: 'grow', mov: 1, t:[.35,.4] });
this.t[1].push({ src: 2, type: 'grow', mov: 0, t:[.4,.45] });
this.t[1].push({ src: 0, type: 'grow', mov: 0, t:[.45,.5] });


/* 2->3 (-4, +5) */
this.t[2].push({ src: 0, type: 'shrink', mov: 0, t:[0,.125] });
this.t[2].push({ src: 2, type: 'shrink', mov: 0, t:[.125,.25] });
this.t[2].push({ src: 3, type: 'shrink', mov: 1, t:[.25,.375] });
this.t[2].push({ src: 4, type: 'shrink', mov: 0, t:[.375,.4] });
this.t[2].push({ src: 6, type: 'shrink', mov: 0, t:[.4,.5] });


this.t[2].push({ src: 0, type: 'grow', mov: 1, t:[.5,.55] });
this.t[2].push({ src: 2, type: 'grow', mov: 1, t:[.5, .6] });
this.t[2].push({ src: 3, type: 'grow', mov: 0, t:[.6,.65] });
this.t[2].push({ src: 5, type: 'grow', mov: 1, t:[.75, .8] });
this.t[2].push({ src: 6, type: 'grow', mov: 0, t:[.8,.85] });



/* 3->4 (-0, -6, +1) */
this.t[3].push({ src: 6, type: 'shrink', mov: 0, t:[0,.125] });
this.t[3].push({ src: 5, type: 'shrink', mov: 1, t:[.125,.25] });
this.t[3].push({ src: 3, type: 'shrink', mov: 1, t:[.25,.275] });
this.t[3].push({ src: 2, type: 'shrink', mov: 1, t:[.275,.35] });
this.t[3].push({ src: 0, type: 'shrink', mov: 1, t:[.35,.5] });

this.t[3].push({ src: 1, type: 'grow', mov: 1, t:[.5,.55] });
this.t[3].push({ src: 3, type: 'grow', mov: 1, t:[.55, .6] });
this.t[3].push({ src: 2, type: 'grow', mov: 1, t:[.6,.65] });
this.t[3].push({ src: 5, type: 'grow', mov: 1, t:[.65,.7] });


/* 4->5 (+0, -2, +6) */
this.t[4].push({ src: 1, type: 'shrink', mov: 0, t:[0,.25] });
this.t[4].push({ src: 2, type: 'shrink', mov: 0, t:[0,.25] });
this.t[4].push({ src: 3, type: 'shrink', mov: 0, t:[.25,.35] });
this.t[4].push({ src: 5, type: 'shrink', mov: 0, t:[.35,.5] });

this.t[4].push({ src: 0, type: 'grow', mov: 0, t:[.5, .55] });
this.t[4].push({ src: 1, type: 'grow', mov: 1, t:[.55, .6] });
this.t[4].push({ src: 3, type: 'grow', mov: 1, t:[.6, .65] });
this.t[4].push({ src: 5, type: 'grow', mov: 1, t:[.65, .7] });
this.t[4].push({ src: 6, type: 'grow', mov: 0, t:[.7, .75] });


/* 5->6 (+4) */
this.t[5].push({ src: 0, type: 'shrink', mov: 1, t:[0,.125] });
this.t[5].push({ src: 1, type: 'shrink', mov: 0, t:[.125,.25] });
this.t[5].push({ src: 3, type: 'shrink', mov: 0, t:[.25,.375] });
this.t[5].push({ src: 5, type: 'shrink', mov: 0, t:[.375,.4] });
this.t[5].push({ src: 6, type: 'shrink', mov: 1, t:[.4,.5] });

this.t[5].push({ src: 0, type: 'grow', mov: 0, t:[.5,.55] });
this.t[5].push({ src: 1, type: 'grow', mov: 1, t:[.55, .6] });
this.t[5].push({ src: 4, type: 'grow', mov: 1, t:[.6,.65] });
this.t[5].push({ src: 6, type: 'grow', mov: 1, t:[.65, .7] });
this.t[5].push({ src: 5, type: 'grow', mov: 0, t:[.75,.8] });
this.t[5].push({ src: 3, type: 'grow', mov: 0, t:[.8,.85] });


/* 6->7 (-1, -3, -4, -6, +2) */
this.t[6].push({ src: 0, type: 'shrink', mov: 1, t:[0,.125] });
this.t[6].push({ src: 1, type: 'shrink', mov: 0, t:[.125,.25] });
this.t[6].push({ src: 4, type: 'shrink', mov: 0, t:[.25,.3] });
this.t[6].push({ src: 3, type: 'shrink', mov: 1, t:[.4,.5] });
this.t[6].push({ src: 5, type: 'shrink', mov: 1, t:[.35,.4] });
this.t[6].push({ src: 6, type: 'shrink', mov: 0, t:[.3,.35] });

this.t[6].push({ src: 0, type: 'grow', mov: 1, t:[.5,.55] });
this.t[6].push({ src: 2, type: 'grow', mov: 1, t:[.55, .6] });
this.t[6].push({ src: 5, type: 'grow', mov: 1, t:[.6,.65] });

/* 7->8 (+1, +3, +4, +6) */
this.t[7].push({ src: 0, type: 'shrink', mov: 0, t:[0,.125] });
this.t[7].push({ src: 2, type: 'shrink', mov: 0, t:[.125,.25] });
this.t[7].push({ src: 5, type: 'shrink', mov: 0, t:[.25,.3] });

this.t[7].push({ src: 0, type: 'grow', mov: 0, t:[.3,.35] });
this.t[7].push({ src: 1, type: 'grow', mov: 1, t:[.35, .4] });
this.t[7].push({ src: 3, type: 'grow', mov: 1, t:[.4, .45] });
this.t[7].push({ src: 5, type: 'grow', mov: 1, t:[.45, .5] });
this.t[7].push({ src: 6, type: 'grow', mov: 0, t:[.5, .55] });
this.t[7].push({ src: 4, type: 'grow', mov: 0, t:[.55, .6] });
this.t[7].push({ src: 2, type: 'grow', mov: 0, t:[.65, .7] });

/* 8->9 (-4) */
this.t[8].push({ src: 0, type: 'shrink', mov: 1, t:[0,.125] });
this.t[8].push({ src: 1, type: 'shrink', mov: 0, t:[.125,.25] });
this.t[8].push({ src: 3, type: 'shrink', mov: 0, t:[.25,.375] });
this.t[8].push({ src: 5, type: 'shrink', mov: 0, t:[.375,.4] });
this.t[8].push({ src: 6, type: 'shrink', mov: 1, t:[.4,.5] });
this.t[8].push({ src: 4, type: 'shrink', mov: 1, t:[.5,.55] });
this.t[8].push({ src: 2, type: 'shrink', mov: 1, t:[.55,.6] });

this.t[8].push({ src: 2, type: 'grow', mov: 0, t:[.65, .66] });
this.t[8].push({ src: 0, type: 'grow', mov: 0, t:[.66, .67] });
this.t[8].push({ src: 1, type: 'grow', mov: 1, t:[.67,.68] });
this.t[8].push({ src: 3, type: 'grow', mov: 1, t:[.68, .69] });
this.t[8].push({ src: 5, type: 'grow', mov: 1, t:[.69,.70] });
this.t[8].push({ src: 6, type: 'grow', mov: 0, t:[.70, .75] });

/* 9->0 (-3, +4) */
this.t[9].push({ src: 2, type: 'shrink', mov: 1, t:[0,.125] });
this.t[9].push({ src: 0, type: 'shrink', mov: 1, t:[.125,.25] });
this.t[9].push({ src: 1, type: 'shrink', mov: 0, t:[.25,.375] });
this.t[9].push({ src: 3, type: 'shrink', mov: 0, t:[.375,.4] });
this.t[9].push({ src: 5, type: 'shrink', mov: 0, t:[.4,.5] });
this.t[9].push({ src: 6, type: 'shrink', mov: 1, t:[.5,.55] });

this.t[9].push({ src: 0, type: 'grow', mov: 0, t:[.65, .7] });
this.t[9].push({ src: 1, type: 'grow', mov: 0, t:[.7, .75] });
this.t[9].push({ src: 4, type: 'grow', mov: 1, t:[.75,.775] });
this.t[9].push({ src: 6, type: 'grow', mov: 1, t:[.775, .8] });
this.t[9].push({ src: 5, type: 'grow', mov: 1, t:[.8,.825] });
this.t[9].push({ src: 2, type: 'grow', mov: 0, t:[.825,.85] });


/* special cases */

/* leading 5->0 (+2, +4, -3) */
this.t[50].push({ src: 0, type: 'flip', via: 'acc', to: 0 });
this.t[50].push({ src: 1, type: 'flip', via: 'acc', to: 1 });
this.t[50].push({ src: 3, type: 'shift', via: 'acc', to: 2 });
this.t[50].push({ src: 5, type: 'flip', via: 'acc', to: 4 });
this.t[50].push({ src: 5, type: 'flip', via: 'acc', to: 5 });
this.t[50].push({ src: 6, type: 'shift', via: 'acc', to: 6 });

/* (noon/midnight under 12hr) 1->nothing (-2, -5) */
this.t[10].push({ src: 2, type: 'shrink', mov: 0 });
this.t[10].push({ src: 5, type: 'shrink', mov: 1 });

/* (noon/midnight under 12hr) 2->1 (-0, -3, -4, -6, +5) */
this.t[21].push({ src: 0, type: 'flip', via: 'acc', to: 2 });
this.t[21].push({ src: 2, type: 'shift', via: 'acc', to: 2 });
this.t[21].push({ src: 3, type: 'flip', via: 'acc', to: 5 });
this.t[21].push({ src: 4, type: 'shift', via: 'acc', to: 5 });
this.t[21].push({ src: 6, type: 'flip', via: 'acc', to: 5 });

/* (midnight under 24hr) 2->nothing (-0, -2, -3, -4, -6) */
this.t[20].push({ src: 0, type: 'shrink', mov: 0 });
this.t[20].push({ src: 2, type: 'shrink', mov: 1 });
this.t[20].push({ src: 3, type: 'shrink', mov: 1 });
this.t[20].push({ src: 4, type: 'shrink', mov: 1 });
this.t[20].push({ src: 6, type: 'shrink', mov: 1 });

/* (midnight under 24hr) 3->0 (-3, +1, +4) */
this.t[30].push({ src: 0, type: 'flip', via: 'acc', to: 0 });
this.t[30].push({ src: 2, type: 'flip', via: 'acc', to: 1 });
this.t[30].push({ src: 3, type: 'shift', via: 'acc', to: 2 });
this.t[30].push({ src: 5, type: 'flip', via: 'acc', to: 4 });
this.t[30].push({ src: 5, type: 'shift', via: 'acc', to: 6 });
this.t[30].push({ src: 6, type: 'shift', via: 'acc', to: 5 });

/* (leading hr @ 9:59) nothing -> 1 (+2, +5)*/
this.t[11].push({ src: 5, type: 'grow', mov: 0, t:[.9,.95]});
this.t[11].push({ src: 2, type: 'grow', mov: 0, t:[.95,1]});
this.fontName='freehand2';}