-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Expand file tree
/
Copy pathwheelnav.js
More file actions
415 lines (413 loc) · 100 KB
/
wheelnav.js
File metadata and controls
415 lines (413 loc) · 100 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
//#source 1 1 /js/source/wheelnav.core.js
/* ======================================================================================= */
/* wheelnav.js - v1.7.1 */
/* ======================================================================================= */
/* This is a small JavaScript library for animated SVG based wheel navigation. */
/* Requires Raphaël JavaScript Vector Library (http://dmitrybaranovskiy.github.io/raphael/)*/
/* ======================================================================================= */
/* Check http://wheelnavjs.softwaretailoring.net for samples. */
/* Fork https://github.com/softwaretailoring/wheelnav for contribution. */
/* ======================================================================================= */
/* Copyright © 2014-2017 Gábor Berkesi (http://softwaretailoring.net) */
/* Licensed under MIT (https://github.com/softwaretailoring/wheelnav/blob/master/LICENSE) */
/* ======================================================================================= */
/* ======================================================================================= */
/* Documentation: http://wheelnavjs.softwaretailoring.net/documentation/core.html */
/* ======================================================================================= */
wheelnav=function(divId,raphael,divWidth,divHeight){this.holderId="wheel";if(divId!==undefined&&divId!==null){this.holderId=divId;}
var holderDiv=document.getElementById(divId);if((holderDiv===null||holderDiv===undefined)&&(raphael===undefined||raphael===null)){return this;}
var canvasWidth;var clearContent=true;if(raphael===undefined||raphael===null){var removeChildrens=[];for(var i=0;i<holderDiv.children.length;i++){if(holderDiv.children[i].localName==="svg"){removeChildrens.push(holderDiv.children[i]);}}
for(var i=0;i<removeChildrens.length;i++){holderDiv.removeChild(removeChildrens[i]);}
if(divWidth!==undefined&&divWidth!==null){if(divHeight===undefined||divHeight===null){divHeight=divWidth;}
this.raphael=new Raphael(divId,divWidth,divHeight);canvasWidth=divWidth;}
else{this.raphael=new Raphael(divId);canvasWidth=holderDiv.clientWidth;}
this.raphael.setViewBox(0,0,this.raphael.width,this.raphael.height,true);}
else{this.raphael=raphael;canvasWidth=this.raphael.width;clearContent=false;}
this.centerX=canvasWidth/2;this.centerY=canvasWidth/2;this.wheelRadius=canvasWidth/2;this.navAngle=0;this.sliceAngle=null;this.titleRotateAngle=null;this.initTitleRotate=false;this.clickModeRotate=true;this.rotateRound=false;this.rotateRoundCount=0;this.clickModeSpreadOff=false;this.animatetimeCalculated=false;this.animateRepeatCount=0;this.clockwise=true;this.multiSelect=false;this.hoverPercent=1;this.selectedPercent=1;this.clickablePercentMin=0;this.clickablePercentMax=1;this.currentPercent=null;this.cssMode=false;this.selectedToFront=true;this.selectedNavItemIndex=0;this.navItemCount=0;this.navItemCountLabeled=false;this.navItemCountLabelOffset=0;this.navItems=[];this.navItemsEnabled=true;this.animateFinishFunction=null;this.navItemsContinuous=false;this.navItemsCentered=true;this.colors=colorpalette.defaultpalette;this.titleSpreadScale=null;this.spreaderEnable=false;this.spreaderRadius=20;this.spreaderStartAngle=0;this.spreaderSliceAngle=360;this.spreaderPathFunction=spreaderPath().PieSpreader;this.spreaderPathCustom=null;this.spreaderInPercent=1;this.spreaderOutPercent=1;this.spreaderInTitle="+";this.spreaderOutTitle="-";this.spreaderTitleFont=null;this.spreaderPathInAttr=null;this.spreaderPathOutAttr=null;this.spreaderTitleInAttr=null;this.spreaderTitleOutAttr=null;this.spreaderInTitleWidth=null;this.spreaderInTitleHeight=null;this.spreaderOutTitleWidth=null;this.spreaderOutTitleHeight=null;this.minPercent=0.01;this.maxPercent=1;this.initPercent=1;this.markerEnable=false;this.markerPathFunction=markerPath().TriangleMarker;this.markerPathCustom=null;this.currentClick=0;this.animateLocked=false;this.slicePathAttr=null;this.sliceHoverAttr=null;this.sliceSelectedAttr=null;this.titleFont='100 48px Times New Roman';this.titleAttr=null;this.titleHoverAttr=null;this.titleSelectedAttr=null;this.titleWidth=null;this.titleHeight=null;this.titleHoverWidth=null;this.titleHoverHeight=null;this.titleSelectedWidth=null;this.titleSelectedHeight=null;this.linePathAttr=null;this.lineHoverAttr=null;this.lineSelectedAttr=null;this.slicePathCustom=null;this.sliceClickablePathCustom=null;this.sliceSelectedPathCustom=null;this.sliceHoverPathCustom=null;this.sliceInitPathCustom=null;this.sliceTransformCustom=null;this.sliceSelectedTransformCustom=null;this.sliceHoverTransformCustom=null;this.sliceInitTransformCustom=null;this.animateeffect=null;this.animatetime=null;if(slicePath()["PieSlice"]!==undefined){this.slicePathFunction=slicePath().PieSlice;}
else{this.slicePathFunction=slicePath().NullSlice;}
this.sliceClickablePathFunction=null;this.sliceTransformFunction=null;this.sliceSelectedPathFunction=null;this.sliceSelectedTransformFunction=null;this.sliceHoverPathFunction=null;this.sliceHoverTransformFunction=null;this.sliceInitPathFunction=null;this.sliceInitTransformFunction=null;this.keynavigateEnabled=false;this.keynavigateOnlyFocus=false;this.keynavigateDownCode=37;this.keynavigateDownCodeAlt=40;this.keynavigateUpCode=39;this.keynavigateUpCodeAlt=38;this.parseWheel(holderDiv);return this;};wheelnav.prototype.initWheel=function(titles){this.styleWheel();var navItem;if(this.navItemCount===0){if(titles===undefined||titles===null||!Array.isArray(titles)){titles=["title-0","title-1","title-2","title-3"];}
this.navItemCount=titles.length;}
else{titles=null;}
for(i=0;i<this.navItemCount;i++){var itemTitle="";if(this.navItemCountLabeled){itemTitle=(i+this.navItemCountLabelOffset).toString();}
else{if(titles!==null)
{itemTitle=titles[i];}
else
{itemTitle="";}}
navItem=new wheelnavItem(this,itemTitle,i);this.navItems.push(navItem);}
var colorIndex=0;for(i=0;i<this.navItems.length;i++){this.navItems[i].fillAttr=this.colors[colorIndex];colorIndex++;if(colorIndex===this.colors.length){colorIndex=0;}}};wheelnav.prototype.createWheel=function(titles,withSpread){if(this.currentPercent===null){if(withSpread){this.currentPercent=this.minPercent;}
else{this.currentPercent=this.maxPercent;}}
if(this.navItems.length===0){this.initWheel(titles);}
if(this.selectedNavItemIndex!==null){this.navItems[this.selectedNavItemIndex].selected=true;}
for(i=0;i<this.navItemCount;i++){this.navItems[i].createNavItem();}
if(this.keynavigateEnabled){var thiswheelnav=this;var keyelement=window;if(this.keynavigateOnlyFocus){keyelement=document.getElementById(this.holderId);if(!keyelement.hasAttribute("tabindex")){keyelement.setAttribute("tabindex",0);}}
keyelement.addEventListener("keydown",this.keyNavigateFunction=function(e){e=e||window.e;var keyCodeEvent=e.which||e.keyCode;if([thiswheelnav.keynavigateDownCode,thiswheelnav.keynavigateDownCodeAlt,thiswheelnav.keynavigateUpCode,thiswheelnav.keynavigateUpCodeAlt].indexOf(e.keyCode)>-1){e.preventDefault();}
var keynavigate=null;if(keyCodeEvent===thiswheelnav.keynavigateUpCode||keyCodeEvent===thiswheelnav.keynavigateUpCodeAlt){if(thiswheelnav.currentClick===thiswheelnav.navItemCount-1){keynavigate=0;}
else{keynavigate=thiswheelnav.currentClick+1;}}
if(keyCodeEvent===thiswheelnav.keynavigateDownCode||keyCodeEvent===thiswheelnav.keynavigateDownCodeAlt){if(thiswheelnav.currentClick===0){keynavigate=thiswheelnav.navItemCount-1;}
else{keynavigate=thiswheelnav.currentClick-1;}}
if(keynavigate!==null){thiswheelnav.navigateWheel(keynavigate);}});}
this.spreader=new spreader(this);this.marker=new marker(this);this.refreshWheel();if(withSpread!==undefined){this.spreadWheel();}
return this;};wheelnav.prototype.removeWheel=function(){this.raphael.remove();if(this.keynavigateEnabled){var keyelement=window;if(this.keynavigateOnlyFocus){keyelement=document.getElementById(this.holderId);if(keyelement.hasAttribute("tabindex")){keyelement.removeAttribute("tabindex");}}
keyelement.removeEventListener("keydown",this.keyNavigateFunction);}};wheelnav.prototype.refreshWheel=function(withPathAndTransform){for(i=0;i<this.navItemCount;i++){var navItem=this.navItems[i];navItem.setWheelSettings(withPathAndTransform);navItem.refreshNavItem(withPathAndTransform);}
this.marker.setCurrentTransform();this.spreader.setCurrentTransform();};wheelnav.prototype.navigateWheel=function(clicked){this.animateUnlock(true);if(this.clickModeRotate){this.animateLocked=true;}
var navItem;for(i=0;i<this.navItemCount;i++){navItem=this.navItems[i];navItem.hovered=false;if(i===clicked){if(this.multiSelect){navItem.selected=!navItem.selected;}else{navItem.selected=true;this.selectedNavItemIndex=i;}}
else{if(!this.multiSelect){navItem.selected=false;}}
if(this.clickModeRotate){var rotationAngle=this.navItems[clicked].navAngle-this.navItems[this.currentClick].navAngle;if(this.rotateRound){if(this.clockwise&&rotationAngle<0){rotationAngle=360+rotationAngle;}
if(!this.clockwise&&rotationAngle>0){rotationAngle=rotationAngle-360;}}
navItem.currentRotateAngle-=rotationAngle;var currentAnimateTime;if(this.animatetime!=null){currentAnimateTime=this.animatetime;}
else{currentAnimateTime=1500;}
if(this.animatetimeCalculated&&clicked!==this.currentClick){navItem.animatetime=currentAnimateTime*(Math.abs(rotationAngle)/360);}
if(this.rotateRoundCount>0){if(this.clockwise){navItem.currentRotateAngle-=this.rotateRoundCount*360;}
else{navItem.currentRotateAngle+=this.rotateRoundCount*360;}
navItem.animatetime=currentAnimateTime*(this.rotateRoundCount+1);}}}
for(i=0;i<this.navItemCount;i++){navItem=this.navItems[i];navItem.setCurrentTransform(true,true);navItem.refreshNavItem();}
this.currentClick=clicked;if(this.clickModeSpreadOff){this.currentPercent=this.maxPercent;this.spreadWheel();}
else{if(clicked!==null&&!this.clickModeRotate){this.marker.setCurrentTransform(this.navItems[this.currentClick].navAngle);}
else{this.marker.setCurrentTransform();}
this.spreader.setCurrentTransform(true);}
if(this.navItems[clicked].navigateFunction!==null){this.navItems[clicked].navigateFunction();}};wheelnav.prototype.spreadWheel=function(){this.animateUnlock(true);this.animateLocked=true;if(this.currentPercent===this.maxPercent||this.currentPercent===null){this.currentPercent=this.minPercent;}
else{this.currentPercent=this.maxPercent;}
for(i=0;i<this.navItemCount;i++){var navItem=this.navItems[i];navItem.hovered=false;navItem.setCurrentTransform(true,false);}
this.marker.setCurrentTransform();this.spreader.setCurrentTransform();return this;};wheelnav.prototype.animateUnlock=function(force,withFinishFunction){if(force!==undefined&&force===true){for(var f=0;f<this.navItemCount;f++){this.navItems[f].navSliceUnderAnimation=false;this.navItems[f].navTitleUnderAnimation=false;this.navItems[f].navLineUnderAnimation=false;this.navItems[f].navSlice.stop();this.navItems[f].navLine.stop();this.navItems[f].navTitle.stop();}}
else{for(var i=0;i<this.navItemCount;i++){if(this.navItems[i].navSliceUnderAnimation===true||this.navItems[i].navTitleUnderAnimation===true||this.navItems[i].navLineUnderAnimation===true){return;}}
this.animateLocked=false;if(this.animateFinishFunction!==null&&withFinishFunction!==undefined&&withFinishFunction===true){this.animateFinishFunction();}}};wheelnav.prototype.setTooltips=function(tooltips){if(tooltips!==undefined&&tooltips!==null&&Array.isArray(tooltips)&&tooltips.length<=this.navItems.length){for(var i=0;i<tooltips.length;i++){this.navItems[i].setTooltip(tooltips[i]);}}};wheelnav.prototype.getItemId=function(index){return"wheelnav-"+this.holderId+"-item-"+index;};wheelnav.prototype.getSliceId=function(index){return"wheelnav-"+this.holderId+"-slice-"+index;};wheelnav.prototype.getClickableSliceId=function(index){return"wheelnav-"+this.holderId+"-clickableslice-"+index;};wheelnav.prototype.getTitleId=function(index){return"wheelnav-"+this.holderId+"-title-"+index;};wheelnav.prototype.getLineId=function(index){return"wheelnav-"+this.holderId+"-line-"+index;};wheelnav.prototype.getSpreaderId=function(){return"wheelnav-"+this.holderId+"-spreader";};wheelnav.prototype.getSpreaderTitleId=function(){return"wheelnav-"+this.holderId+"-spreadertitle";};wheelnav.prototype.getMarkerId=function(){return"wheelnav-"+this.holderId+"-marker";};wheelnav.prototype.parseWheel=function(holderDiv){if(holderDiv!==undefined&&holderDiv!==null){var wheelnavData=holderDiv.hasAttribute("data-wheelnav");if(wheelnavData){var parsedNavItems=[];var parsedNavItemsHref=[];var parsedNavItemsOnmouseup=[];var onlyInit=false;var wheelnavSlicepath=holderDiv.getAttribute("data-wheelnav-slicepath");if(wheelnavSlicepath!==null){if(slicePath()[wheelnavSlicepath]!==undefined){this.slicePathFunction=slicePath()[wheelnavSlicepath];}}
var wheelnavColors=holderDiv.getAttribute("data-wheelnav-colors");if(wheelnavColors!==null){this.colors=wheelnavColors.split(',');}
var wheelnavWheelradius=holderDiv.getAttribute("data-wheelnav-wheelradius");if(wheelnavWheelradius!==null){this.wheelRadius=Number(wheelnavWheelradius);}
var wheelnavNavangle=holderDiv.getAttribute("data-wheelnav-navangle");if(wheelnavNavangle!==null){this.navAngle=Number(wheelnavNavangle);}
var wheelnavRotateOff=holderDiv.getAttribute("data-wheelnav-rotateoff");if(wheelnavRotateOff!==null){this.clickModeRotate=false;}
var wheelnavCssmode=holderDiv.getAttribute("data-wheelnav-cssmode");if(wheelnavCssmode!==null){this.cssMode=true;}
var wheelnavSpreader=holderDiv.getAttribute("data-wheelnav-spreader");if(wheelnavSpreader!==null){this.spreaderEnable=true;}
var wheelnavSpreaderRadius=holderDiv.getAttribute("data-wheelnav-spreaderradius");if(wheelnavSpreaderRadius!==null){this.spreaderRadius=Number(wheelnavSpreaderRadius);}
var wheelnavSpreaderPath=holderDiv.getAttribute("data-wheelnav-spreaderpath");if(wheelnavSpreaderPath!==null){if(markerPath()[wheelnavSpreaderPath]!==undefined){this.spreaderPathFunction=spreaderPath()[wheelnavSpreaderPath];}}
var wheelnavMarker=holderDiv.getAttribute("data-wheelnav-marker");if(wheelnavMarker!==null){this.markerEnable=true;}
var wheelnavMarkerPath=holderDiv.getAttribute("data-wheelnav-markerpath");if(wheelnavMarkerPath!==null){if(markerPath()[wheelnavMarkerPath]!==undefined){this.markerPathFunction=markerPath()[wheelnavMarkerPath];}}
var wheelnavTitleWidth=holderDiv.getAttribute("data-wheelnav-titlewidth");if(wheelnavTitleWidth!==null){this.titleWidth=Number(wheelnavTitleWidth);}
var wheelnavTitleHeight=holderDiv.getAttribute("data-wheelnav-titleheight");if(wheelnavTitleHeight!==null){this.titleHeight=Number(wheelnavTitleHeight);}
var wheelnavKeynav=holderDiv.getAttribute("data-wheelnav-keynav");if(wheelnavKeynav!==null){this.keynavigateEnabled=true;}
var wheelnavKeynavOnlyfocus=holderDiv.getAttribute("data-wheelnav-keynavonlyfocus");if(wheelnavKeynavOnlyfocus!==null){this.keynavigateOnlyFocus=true;}
var wheelnavKeynavDowncode=holderDiv.getAttribute("data-wheelnav-keynavdowncode");if(wheelnavKeynavDowncode!==null){this.keynavigateDownCode=Number(wheelnavKeynavDowncode);}
var wheelnavKeynavDowncodeAlt=holderDiv.getAttribute("data-wheelnav-keynavdowncodealt");if(wheelnavKeynavDowncodeAlt!==null){this.keynavigateDownCodeAlt=Number(wheelnavKeynavDowncodeAlt);}
var wheelnavKeynavUpcode=holderDiv.getAttribute("data-wheelnav-keynavupcode");if(wheelnavKeynavUpcode!==null){this.keynavigateUpCode=Number(wheelnavKeynavUpcode);}
var wheelnavKeynavUpcodeAlt=holderDiv.getAttribute("data-wheelnav-keynavupcodealt");if(wheelnavKeynavUpcodeAlt!==null){this.keynavigateUpCodeAlt=Number(wheelnavKeynavUpcodeAlt);}
var wheelnavOnlyinit=holderDiv.getAttribute("data-wheelnav-init");if(wheelnavOnlyinit!==null){onlyInit=true;}
for(var i=0;i<holderDiv.children.length;i++){var wheelnavNavitemtext=holderDiv.children[i].getAttribute("data-wheelnav-navitemtext");var wheelnavNavitemicon=holderDiv.children[i].getAttribute("data-wheelnav-navitemicon");var wheelnavNavitemimg=holderDiv.children[i].getAttribute("data-wheelnav-navitemimg");if(wheelnavNavitemtext!==null||wheelnavNavitemicon!==null||wheelnavNavitemimg!==null){if(wheelnavNavitemtext!==null){parsedNavItems.push(wheelnavNavitemtext);}
else if(wheelnavNavitemicon!==null){if(icon[wheelnavNavitemicon]!==undefined){parsedNavItems.push(icon[wheelnavNavitemicon]);}
else{parsedNavItems.push(wheelnavNavitemicon);}}
else if(wheelnavNavitemimg!==null){parsedNavItems.push("imgsrc:"+wheelnavNavitemimg);}
else{continue;}
if(holderDiv.children[i].onmouseup!==undefined){parsedNavItemsOnmouseup.push(holderDiv.children[i].onmouseup);}
else{parsedNavItemsOnmouseup.push(null);}
var foundHref=false;for(var j=0;j<holderDiv.children[i].children.length;j++){if(holderDiv.children[i].children[j].getAttribute('href')!==undefined){parsedNavItemsHref.push(holderDiv.children[i].children[j].getAttribute('href'));}}
if(!foundHref){parsedNavItemsHref.push(null);}}}
if(parsedNavItems.length>0){this.initWheel(parsedNavItems);for(var i=0;i<parsedNavItemsOnmouseup.length;i++){this.navItems[i].navigateFunction=parsedNavItemsOnmouseup[i];this.navItems[i].navigateHref=parsedNavItemsHref[i];}
if(!onlyInit){this.createWheel();}}}
var removeChildrens=[];for(var i=0;i<holderDiv.children.length;i++){if(holderDiv.children[i].localName!=="svg"){removeChildrens.push(holderDiv.children[i]);}}
for(var i=0;i<removeChildrens.length;i++){holderDiv.removeChild(removeChildrens[i]);}}};wheelnavItem=function(wheelnav,title,itemIndex){this.wheelnav=wheelnav;this.wheelItemIndex=itemIndex;if(wheelnav.clockwise){this.itemIndex=itemIndex;}
else{this.itemIndex=-itemIndex;}
this.enabled=wheelnav.navItemsEnabled;this.selected=false;this.hovered=false;this.navItem=null;this.navSlice=null;this.navTitle=null;this.navLine=null;this.navClickableSlice=null;this.navSliceCurrentTransformString=null;this.navTitleCurrentTransformString=null;this.navLineCurrentTransformString=null;this.navSliceUnderAnimation=false;this.navTitleUnderAnimation=false;this.navLineUnderAnimation=false;this.currentRotateAngle=0;this.setTitle(title);this.tooltip=null;this.fillAttr="#CCC";this.titleFont=this.wheelnav.titleFont;this.navigateHref=null;this.navigateFunction=null;this.titleWidth=null;this.titleHeight=null;this.titleHoverWidth=null;this.titleHoverHeight=null;this.titleSelectedWidth=null;this.titleSelectedHeight=null;this.animateeffect=null;this.animatetime=null;this.sliceInitPathFunction=null;this.sliceClickablePathFunction=null;this.slicePathFunction=null;this.sliceSelectedPathFunction=null;this.sliceHoverPathFunction=null;this.sliceTransformFunction=null;this.sliceSelectedTransformFunction=null;this.sliceHoverTransformFunction=null;this.sliceInitTransformFunction=null;this.slicePathCustom=null;this.sliceClickablePathCustom=null;this.sliceSelectedPathCustom=null;this.sliceHoverPathCustom=null;this.sliceInitPathCustom=null;this.sliceTransformCustom=null;this.sliceSelectedTransformCustom=null;this.sliceHoverTransformCustom=null;this.sliceInitTransformCustom=null;this.initPercent=null;this.minPercent=null;this.maxPercent=null;this.hoverPercent=null;this.selectedPercent=null;this.clickablePercentMin=null;this.clickablePercentMax=null;this.titleSpreadScale=null;this.sliceAngle=null;this.styleNavItem();return this;};wheelnavItem.prototype.createNavItem=function(){this.setWheelSettings(false);if(this.navigateHref!==null){this.navigateFunction=function(){window.location.href=this.navigateHref;};}
if(!this.wheelnav.cssMode){this.slicePathAttr.fill=this.fillAttr;this.sliceHoverAttr.fill=this.fillAttr;this.sliceSelectedAttr.fill=this.fillAttr;}
if(!this.enabled){if(!this.wheelnav.cssMode){this.slicePathAttr.cursor="default";this.sliceHoverAttr.cursor="default";this.titleAttr.cursor="default";this.titleHoverAttr.cursor="default";this.linePathAttr.cursor="default";this.lineHoverAttr.cursor="default";}
this.sliceClickablePathAttr.cursor="default";this.sliceClickableHoverAttr.cursor="default";}
var prevItemIndex=this.wheelItemIndex-1;var wheelSliceAngle=360/this.wheelnav.navItemCount;if(this.sliceAngle===null){this.sliceAngle=360/this.wheelnav.navItemCount;}
if(this.wheelnav.clockwise){if(this.wheelnav.navItemsContinuous){if(this.itemIndex===0){this.baseAngle=(this.itemIndex*this.sliceAngle)+((-this.sliceAngle/2)+this.wheelnav.navAngle);}
else{this.baseAngle=this.wheelnav.navItems[prevItemIndex].baseAngle+this.wheelnav.navItems[prevItemIndex].sliceAngle;}}
else{if(this.wheelnav.navItemsCentered){this.baseAngle=(this.itemIndex*wheelSliceAngle)+((-this.sliceAngle/2)+this.wheelnav.navAngle);}
else{this.baseAngle=(this.itemIndex*wheelSliceAngle)+((-wheelSliceAngle/2)+this.wheelnav.navAngle);this.currentRotateAngle+=((wheelSliceAngle/2)-(this.wheelnav.navItems[0].sliceAngle/2));}}}
else{if(this.wheelnav.navItemsContinuous){if(this.itemIndex===0){this.baseAngle=(this.itemIndex*this.sliceAngle)+((-this.sliceAngle/2)+this.wheelnav.navAngle);}
else{this.baseAngle=this.wheelnav.navItems[prevItemIndex].baseAngle-this.wheelnav.navItems[this.wheelItemIndex].sliceAngle;}}
else{if(this.wheelnav.navItemsCentered){this.baseAngle=(this.itemIndex*wheelSliceAngle)+((-this.sliceAngle/2)+this.wheelnav.navAngle);}
else{this.baseAngle=(this.itemIndex*wheelSliceAngle)+((-wheelSliceAngle/2)+this.wheelnav.navAngle)+(wheelSliceAngle-this.sliceAngle);this.currentRotateAngle-=((wheelSliceAngle/2)-(this.wheelnav.navItems[0].sliceAngle/2));}}}
this.navAngle=this.baseAngle+(this.sliceAngle/2);if(this.wheelnav.animatetimeCalculated){this.animatetime=this.wheelnav.animatetime/this.wheelnav.navItemCount;}
this.initPathsAndTransforms();var sliceInitPath=this.sliceInitPath;this.navSlice=this.wheelnav.raphael.path(sliceInitPath.slicePathString);this.navSlice.attr(this.slicePathAttr);this.navSlice.id=this.wheelnav.getSliceId(this.wheelItemIndex);this.navSlice.node.id=this.navSlice.id;this.navLine=this.wheelnav.raphael.path(sliceInitPath.linePathString);this.navLine.attr(this.linePathAttr);this.navLine.id=this.wheelnav.getLineId(this.wheelItemIndex);this.navLine.node.id=this.navLine.id;var currentTitle=this.initNavTitle;if(wheelnavTitle().isPathTitle(this.title)){this.navTitle=this.wheelnav.raphael.path(currentTitle.path);}
else if(wheelnavTitle().isImageTitle(this.title)){this.navTitle=this.wheelnav.raphael.image(currentTitle.src,sliceInitPath.titlePosX-(this.titleWidth/2),sliceInitPath.titlePosY-(this.titleHeight/2),this.titleWidth,this.titleHeight);}
else{this.navTitle=this.wheelnav.raphael.text(sliceInitPath.titlePosX,sliceInitPath.titlePosY,currentTitle.title);}
this.navTitle.attr(this.titleAttr);this.navTitle.id=this.wheelnav.getTitleId(this.wheelItemIndex);this.navTitle.node.id=this.navTitle.id;this.navSliceCurrentTransformString="";if(this.initTransform.sliceTransformString!==""){this.navSliceCurrentTransformString+=this.initTransform.sliceTransformString;}
this.navLineCurrentTransformString="";if(this.initTransform.lineTransformString!==""){this.navLineCurrentTransformString+=this.initTransform.lineTransformString;}
this.navTitleCurrentTransformString="";this.navTitleCurrentTransformString+=this.getTitleRotateString(this.wheelnav.initTitleRotate);if(this.initTransform.titleTransformString!==""){this.navTitleCurrentTransformString+=this.initTransform.titleTransformString;}
if(this.wheelnav.currentPercent<0.05){this.navTitleCurrentTransformString+=",s0.05";}
if(this.navTitleSizeTransform!==undefined){this.navTitleCurrentTransformString+=this.navTitleSizeTransform;}
this.navSlice.attr({transform:this.navSliceCurrentTransformString});this.navLine.attr({transform:this.navLineCurrentTransformString});this.navTitle.attr({transform:this.navTitleCurrentTransformString});this.navItem=this.wheelnav.raphael.set();if(this.sliceClickablePathFunction!==null){var sliceClickablePath=this.getCurrentClickablePath();this.navClickableSlice=this.wheelnav.raphael.path(sliceClickablePath.slicePathString).attr(this.sliceClickablePathAttr).toBack();this.navClickableSlice.id=this.wheelnav.getClickableSliceId(this.wheelItemIndex);this.navClickableSlice.node.id=this.navClickableSlice.id;this.navItem.push(this.navSlice,this.navLine,this.navTitle,this.navClickableSlice);}
else{this.navItem.push(this.navSlice,this.navLine,this.navTitle);}
this.setTooltip(this.tooltip);this.navItem.id=this.wheelnav.getItemId(this.wheelItemIndex);if(typeof window!=="undefined"&&window.__wheelnavA11yLabelForItem){var a11yLabel=window.__wheelnavA11yLabelForItem(this);if(a11yLabel){var a11yNodes=[this.navSlice,this.navTitle,this.navLine,this.navClickableSlice];for(var a=0;a<a11yNodes.length;a++){if(a11yNodes[a]&&a11yNodes[a].node){a11yNodes[a].node.setAttribute("role","button");a11yNodes[a].node.setAttribute("aria-label",a11yLabel);a11yNodes[a].node.setAttribute("tabindex","-1");}}}}
var thisWheelNav=this.wheelnav;var thisNavItem=this;var thisItemIndex=this.wheelItemIndex;if(this.enabled){this.navItem.mouseup(function(){thisWheelNav.navigateWheel(thisItemIndex);if(typeof window!=="undefined"&&window.__wheelnavA11yAnnounce){window.__wheelnavA11yAnnounce(thisNavItem);}if(typeof window!=="undefined"&&window.__wheelnavA11ySpeak){window.__wheelnavA11ySpeak(thisNavItem);}});this.navItem.mouseover(function(){if(thisNavItem.hovered!==true){thisNavItem.hoverEffect(thisItemIndex,true);}if(typeof window!=="undefined"&&window.__wheelnavA11yAnnounce){window.__wheelnavA11yAnnounce(thisNavItem);}});this.navItem.mouseout(function(){thisNavItem.hovered=false;thisNavItem.hoverEffect(thisItemIndex,false);});}
this.setCurrentTransform(true,false);};wheelnavItem.prototype.hoverEffect=function(hovered,isEnter){if(this.wheelnav.animateLocked===false){if(isEnter){if(!this.selected){this.hovered=true;}}
this.refreshNavItem();if(this.hoverPercent!==1||this.sliceHoverPathFunction!==null||this.sliceHoverTransformFunction!==null||this.titleHover!==this.title||this.titleHoverWidth!==this.titleWidth||this.titleHoverHeight!==this.titleHeight){this.setCurrentTransform(false,false);}
this.wheelnav.marker.setCurrentTransform();this.wheelnav.spreader.setCurrentTransform(true);}};wheelnavItem.prototype.setCurrentTransform=function(locked,withFinishFunction){if(!this.wheelnav.clickModeRotate||(!this.navSliceUnderAnimation&&!this.navTitleUnderAnimation&&!this.navLineUnderAnimation)){if(locked!==undefined&&locked===true){this.navSliceUnderAnimation=true;this.navTitleUnderAnimation=true;this.navLineUnderAnimation=true;}
this.navSliceCurrentTransformString="";if(this.wheelnav.clickModeRotate){this.navSliceCurrentTransformString+=this.getItemRotateString();}
if(this.selected){if(this.selectTransform.sliceTransformString!==undefined){this.navSliceCurrentTransformString+=this.selectTransform.sliceTransformString;}}
else if(this.hovered){if(this.hoverTransform.sliceTransformString!==undefined){this.navSliceCurrentTransformString+=this.hoverTransform.sliceTransformString;}}
if(this.sliceTransform.sliceTransformString!==undefined){this.navSliceCurrentTransformString+=this.sliceTransform.sliceTransformString;}
this.navLineCurrentTransformString="";if(this.wheelnav.clickModeRotate){this.navLineCurrentTransformString+=this.getItemRotateString();}
if(this.selected){if(this.selectTransform.lineTransformString!==undefined){this.navLineCurrentTransformString+=this.selectTransform.lineTransformString;}}
else if(this.hovered){if(this.hoverTransform.lineTransformString!==undefined){this.navLineCurrentTransformString+=this.hoverTransform.lineTransformString;}}
if(this.sliceTransform.lineTransformString!==undefined){this.navLineCurrentTransformString+=this.sliceTransform.lineTransformString;}
this.navTitleCurrentTransformString="";this.navTitleCurrentTransformString+=this.getTitleRotateString(true);if(this.selected){if(this.navTitleSizeSelectedTransform!==undefined){this.navTitleCurrentTransformString+=this.navTitleSizeSelectedTransform;}
if(this.selectTransform.titleTransformString===""||this.selectTransform.titleTransformString===undefined){this.navTitleCurrentTransformString+=",s1";}
else{this.navTitleCurrentTransformString+=","+this.selectTransform.titleTransformString;}
if(this.wheelnav.currentPercent<0.05){this.navTitleCurrentTransformString+=",s0.05";}}
else if(this.hovered){if(this.navTitleSizeHoverTransform!==undefined){this.navTitleCurrentTransformString+=this.navTitleSizeHoverTransform;}
if(this.hoverTransform.titleTransformString===""||this.hoverTransform.titleTransformString===undefined){this.navTitleCurrentTransformString+=",s1";}
else{this.navTitleCurrentTransformString+=","+this.hoverTransform.titleTransformString;}}
else if(this.wheelnav.currentPercent<0.05){this.navTitleCurrentTransformString+=",s0.05";}
else if(this.titleSpreadScale){this.navTitleCurrentTransformString+=",s"+this.wheelnav.currentPercent;}
else{if(this.navTitleSizeTransform!==undefined){this.navTitleCurrentTransformString+=this.navTitleSizeTransform;}
if(this.sliceTransform.titleTransformString===""||this.sliceTransform.titleTransformString===undefined){this.navTitleCurrentTransformString+=",s1";}
else{this.navTitleCurrentTransformString+=","+this.sliceTransform.titleTransformString;}}
var slicePath=this.getCurrentPath();var sliceTransformAttr={};sliceTransformAttr={path:slicePath.slicePathString,transform:this.navSliceCurrentTransformString};var sliceClickableTransformAttr={};if(this.sliceClickablePathFunction!==null){var sliceClickablePath=this.getCurrentClickablePath();sliceClickableTransformAttr={path:sliceClickablePath.slicePathString,transform:this.navSliceCurrentTransformString};}
var lineTransformAttr={};lineTransformAttr={path:slicePath.linePathString,transform:this.navLineCurrentTransformString};var currentTitle=this.getCurrentTitle();var titleTransformAttr={};if(wheelnavTitle().isPathTitle(currentTitle.title)){titleTransformAttr={path:currentTitle.path,transform:this.navTitleCurrentTransformString};}
else if(wheelnavTitle().isImageTitle(currentTitle.title)){titleTransformAttr={x:currentTitle.x,y:currentTitle.y,width:currentTitle.width,height:currentTitle.height,transform:this.navTitleCurrentTransformString};this.navTitle.attr({src:currentTitle.src});}
else{titleTransformAttr={x:currentTitle.x,y:currentTitle.y,transform:this.navTitleCurrentTransformString};if(currentTitle.title!==null){this.navTitle.attr({text:currentTitle.title});}}
var thisNavItem=this;var thisWheelnav=this.wheelnav;this.animSlice=Raphael.animation(sliceTransformAttr,this.animatetime,this.animateeffect,function(){thisNavItem.navSliceUnderAnimation=false;thisWheelnav.animateUnlock(false,withFinishFunction);});this.animLine=Raphael.animation(lineTransformAttr,this.animatetime,this.animateeffect,function(){thisNavItem.navLineUnderAnimation=false;thisWheelnav.animateUnlock(false,withFinishFunction);});this.animTitle=Raphael.animation(titleTransformAttr,this.animatetime,this.animateeffect,function(){thisNavItem.navTitleUnderAnimation=false;thisWheelnav.animateUnlock(false,withFinishFunction);});if(this.navClickableSlice!==null){this.animClickableSlice=Raphael.animation(sliceClickableTransformAttr,this.animatetime,this.animateeffect);}
var animateRepeatCount=this.wheelnav.animateRepeatCount;if(locked!==undefined&&locked===true){if(this.wheelItemIndex===this.wheelnav.navItemCount-1){for(i=0;i<this.wheelnav.navItemCount;i++){var navItemSlice=this.wheelnav.navItems[i];navItemSlice.navSlice.animate(navItemSlice.animSlice.repeat(animateRepeatCount));}
for(i=0;i<this.wheelnav.navItemCount;i++){var navItemLine=this.wheelnav.navItems[i];navItemLine.navLine.animate(navItemLine.animLine.repeat(animateRepeatCount));}
for(i=0;i<this.wheelnav.navItemCount;i++){var navItemTitle=this.wheelnav.navItems[i];navItemTitle.navTitle.animate(navItemTitle.animTitle.repeat(animateRepeatCount));}
if(this.wheelnav.sliceClickablePathFunction!==null){for(i=0;i<this.wheelnav.navItemCount;i++){var navItemClickableSlice=this.wheelnav.navItems[i];if(navItemClickableSlice.navClickableSlice!==null){navItemClickableSlice.navClickableSlice.animate(navItemClickableSlice.animClickableSlice.repeat(animateRepeatCount));}}}}}
else{this.navSlice.animate(this.animSlice.repeat(animateRepeatCount));this.navLine.animate(this.animLine.repeat(animateRepeatCount));this.navTitle.animate(this.animTitle.repeat(animateRepeatCount));if(this.navClickableSlice!==null){this.navClickableSlice.animate(this.animClickableSlice.repeat(animateRepeatCount));}}}};wheelnavItem.prototype.setTitle=function(title){if(title===undefined){this.title=null;}
else{this.title=title;}
this.titleHover=this.title;this.titleSelected=this.title;};wheelnavItem.prototype.setTooltip=function(tooltip){if(tooltip!==null){this.navItem.attr({title:tooltip});}};wheelnavItem.prototype.refreshNavItem=function(withPathAndTransform){if(this.selected){this.navSlice.attr(this.sliceSelectedAttr);this.navLine.attr(this.lineSelectedAttr);this.navTitle.attr(this.titleSelectedAttr);if(this.navClickableSlice!==null){this.navClickableSlice.attr(this.sliceClickableSelectedAttr);}
if(this.wheelnav.selectedToFront){this.navSlice.toFront();this.navLine.toFront();this.navTitle.toFront();if(this.navClickableSlice!==null){this.navClickableSlice.toFront();}}
else{if(this.navClickableSlice!==null){this.navClickableSlice.toBack();}
this.navTitle.toBack();this.navLine.toBack();this.navSlice.toBack();}}
else if(this.hovered){this.navSlice.attr(this.sliceHoverAttr).toFront();this.navLine.attr(this.lineHoverAttr).toFront();this.navTitle.attr(this.titleHoverAttr).toFront();if(this.navClickableSlice!==null){this.navClickableSlice.attr(this.sliceClickableHoverAttr).toFront();}}
else{this.navSlice.attr(this.slicePathAttr);this.navLine.attr(this.linePathAttr);this.navTitle.attr(this.titleAttr);if(this.navClickableSlice!==null){this.navClickableSlice.attr(this.sliceClickablePathAttr);}
if(this.navClickableSlice!==null){this.navClickableSlice.toBack();};this.navTitle.toBack();this.navLine.toBack();this.navSlice.toBack();}
if(withPathAndTransform!==undefined&&withPathAndTransform===true){this.initPathsAndTransforms();this.setCurrentTransform(false,false);}};wheelnavItem.prototype.setWheelSettings=function(force){if(this.wheelnav.slicePathAttr!==null){this.slicePathAttr=JSON.parse(JSON.stringify(this.wheelnav.slicePathAttr));}
if(this.wheelnav.sliceHoverAttr!==null){this.sliceHoverAttr=JSON.parse(JSON.stringify(this.wheelnav.sliceHoverAttr));}
if(this.wheelnav.sliceSelectedAttr!==null){this.sliceSelectedAttr=JSON.parse(JSON.stringify(this.wheelnav.sliceSelectedAttr));}
if(this.wheelnav.titleAttr!==null){this.titleAttr=JSON.parse(JSON.stringify(this.wheelnav.titleAttr));}
if(this.wheelnav.titleHoverAttr!==null){this.titleHoverAttr=JSON.parse(JSON.stringify(this.wheelnav.titleHoverAttr));}
if(this.wheelnav.titleSelectedAttr!==null){this.titleSelectedAttr=JSON.parse(JSON.stringify(this.wheelnav.titleSelectedAttr));}
if(this.wheelnav.titleWidth!==null&&this.titleWidth===null){this.titleWidth=this.wheelnav.titleWidth;}
if(this.wheelnav.titleHeight!==null&&this.titleHeight===null){this.titleHeight=this.wheelnav.titleHeight;}
if(this.titleWidth!==null&&this.titleHeight===null){this.titleHeight=this.titleWidth;}
if(this.titleWidth===null&&this.titleHeight!==null){this.titleWidth=this.titleHeight;}
if(wheelnavTitle().isImageTitle(this.title)){if(this.titleWidth===null){this.titleWidth=32;}
if(this.titleHeight===null){this.titleHeight=32;}}
if(this.wheelnav.titleHoverWidth!==null&&this.titleHoverWidth===null){this.titleHoverWidth=this.wheelnav.titleHoverWidth;}
if(this.wheelnav.titleHoverHeight!==null&&this.titleHoverHeight===null){this.titleHoverHeight=this.wheelnav.titleHoverHeight;}
if(this.titleHoverWidth!==null&&this.titleHoverHeight===null){this.titleHoverHeight=this.titleHoverWidth;}
if(this.titleHoverWidth===null&&this.titleHoverHeight!==null){this.titleHoverWidth=this.titleHoverHeight;}
if(this.wheelnav.titleSelectedWidth!==null&&this.titleSelectedWidth===null){this.titleSelectedWidth=this.wheelnav.titleSelectedWidth;}
if(this.wheelnav.titleSelectedHeight!==null&&this.titleSelectedHeight===null){this.titleSelectedHeight=this.wheelnav.titleSelectedHeight;}
if(this.titleSelectedWidth!==null&&this.titleSelectedHeight===null){this.titleSelectedHeight=this.titleSelectedWidth;}
if(this.titleSelectedWidth===null&&this.titleSelectedHeight!==null){this.titleSelectedWidth=this.titleSelectedHeight;}
if(this.titleHoverHeight===null){this.titleHoverHeight=this.titleHeight;}
if(this.titleHoverWidth===null){this.titleHoverWidth=this.titleWidth;}
if(this.titleSelectedHeight===null){this.titleSelectedHeight=this.titleHeight;}
if(this.titleSelectedWidth===null){this.titleSelectedWidth=this.titleWidth;}
if(this.wheelnav.linePathAttr!==null){this.linePathAttr=JSON.parse(JSON.stringify(this.wheelnav.linePathAttr));}
if(this.wheelnav.lineHoverAttr!==null){this.lineHoverAttr=JSON.parse(JSON.stringify(this.wheelnav.lineHoverAttr));}
if(this.wheelnav.lineSelectedAttr!==null){this.lineSelectedAttr=JSON.parse(JSON.stringify(this.wheelnav.lineSelectedAttr));}
if(this.animateeffect===null||force){if(this.wheelnav.animateeffect!==null){this.animateeffect=this.wheelnav.animateeffect;}
else{this.animateeffect="bounce";}}
if(this.animatetime===null||force){if(this.wheelnav.animatetime!==null){this.animatetime=this.wheelnav.animatetime;}
else{this.animatetime=1500;}}
if(this.title!==null){if(this.sliceInitPathFunction===null||force){this.sliceInitPathFunction=this.wheelnav.sliceInitPathFunction;}
if(this.sliceClickablePathFunction===null||force){this.sliceClickablePathFunction=this.wheelnav.sliceClickablePathFunction;}
if(this.slicePathFunction===null||force){this.slicePathFunction=this.wheelnav.slicePathFunction;}
if(this.sliceSelectedPathFunction===null||force){this.sliceSelectedPathFunction=this.wheelnav.sliceSelectedPathFunction;}
if(this.sliceHoverPathFunction===null||force){this.sliceHoverPathFunction=this.wheelnav.sliceHoverPathFunction;}
if(this.sliceTransformFunction===null||force){this.sliceTransformFunction=this.wheelnav.sliceTransformFunction;}
if(this.sliceSelectedTransformFunction===null||force){this.sliceSelectedTransformFunction=this.wheelnav.sliceSelectedTransformFunction;}
if(this.sliceHoverTransformFunction===null||force){this.sliceHoverTransformFunction=this.wheelnav.sliceHoverTransformFunction;}
if(this.sliceInitTransformFunction===null||force){this.sliceInitTransformFunction=this.wheelnav.sliceInitTransformFunction;}}
else{this.sliceInitPathFunction=slicePath().NullInitSlice;this.sliceClickablePathFunction=slicePath().NullSlice;this.slicePathFunction=slicePath().NullSlice;this.sliceSelectedPathFunction=null;this.sliceHoverPathFunction=null;this.sliceTransformFunction=null;this.sliceSelectedTransformFunction=null;this.sliceHoverTransformFunction=null;this.sliceInitTransformFunction=null;}
if(this.slicePathCustom===null||force){this.slicePathCustom=this.wheelnav.slicePathCustom;}
if(this.sliceClickablePathCustom===null||force){this.sliceClickablePathCustom=this.wheelnav.sliceClickablePathCustom;}
if(this.sliceSelectedPathCustom===null||force){this.sliceSelectedPathCustom=this.wheelnav.sliceSelectedPathCustom;}
if(this.sliceHoverPathCustom===null||force){this.sliceHoverPathCustom=this.wheelnav.sliceHoverPathCustom;}
if(this.sliceInitPathCustom===null||force){this.sliceInitPathCustom=this.wheelnav.sliceInitPathCustom;}
if(this.sliceTransformCustom===null||force){this.sliceTransformCustom=this.wheelnav.sliceTransformCustom;}
if(this.sliceSelectedTransformCustom===null||force){this.sliceSelectedTransformCustom=this.wheelnav.sliceSelectedTransformCustom;}
if(this.sliceHoverTransformCustom===null||force){this.sliceHoverTransformCustom=this.wheelnav.sliceHoverTransformCustom;}
if(this.sliceInitTransformCustom===null||force){this.sliceInitTransformCustom=this.wheelnav.sliceInitTransformCustom;}
if(this.initPercent===null||force){this.initPercent=this.wheelnav.initPercent;}
if(this.minPercent===null||force){this.minPercent=this.wheelnav.minPercent;}
if(this.maxPercent===null||force){this.maxPercent=this.wheelnav.maxPercent;}
if(this.hoverPercent===null||force){this.hoverPercent=this.wheelnav.hoverPercent;}
if(this.selectedPercent===null||force){this.selectedPercent=this.wheelnav.selectedPercent;}
if(this.clickablePercentMin===null||force){this.clickablePercentMin=this.wheelnav.clickablePercentMin;}
if(this.clickablePercentMax===null||force){this.clickablePercentMax=this.wheelnav.clickablePercentMax;}
if(this.titleSpreadScale===null||force){if(this.wheelnav.titleSpreadScale!==null){this.titleSpreadScale=this.wheelnav.titleSpreadScale;}
else{this.titleSpreadScale=false;}}
if(this.sliceAngle===null||force){if(this.wheelnav.sliceAngle!==null){this.sliceAngle=this.wheelnav.sliceAngle;}}};wheelnavItem.prototype.initPathsAndTransforms=function(){this.sliceHelper=new pathHelper();this.sliceHelper.centerX=this.wheelnav.centerX;this.sliceHelper.centerY=this.wheelnav.centerY;this.sliceHelper.wheelRadius=this.wheelnav.wheelRadius;this.sliceHelper.startAngle=this.baseAngle;this.sliceHelper.sliceAngle=this.sliceAngle;this.sliceHelper.itemIndex=this.itemIndex;this.slicePathMin=this.slicePathFunction(this.sliceHelper,this.minPercent,this.slicePathCustom);this.slicePathMax=this.slicePathFunction(this.sliceHelper,this.maxPercent,this.slicePathCustom);if(this.sliceSelectedPathFunction!==null){this.selectedSlicePathMin=this.sliceSelectedPathFunction(this.sliceHelper,this.selectedPercent*this.minPercent,this.sliceSelectedPathCustom);}
else{this.selectedSlicePathMin=this.slicePathFunction(this.sliceHelper,this.selectedPercent*this.minPercent,this.sliceSelectedPathCustom);}
if(this.sliceSelectedPathFunction!==null){this.selectedSlicePathMax=this.sliceSelectedPathFunction(this.sliceHelper,this.selectedPercent*this.maxPercent,this.sliceSelectedPathCustom);}
else{this.selectedSlicePathMax=this.slicePathFunction(this.sliceHelper,this.selectedPercent*this.maxPercent,this.sliceSelectedPathCustom);}
if(this.sliceHoverPathFunction!==null){this.hoverSlicePathMin=this.sliceHoverPathFunction(this.sliceHelper,this.hoverPercent*this.minPercent,this.sliceHoverPathCustom);}
else{this.hoverSlicePathMin=this.slicePathFunction(this.sliceHelper,this.hoverPercent*this.minPercent,this.sliceHoverPathCustom);}
if(this.sliceHoverPathFunction!==null){this.hoverSlicePathMax=this.sliceHoverPathFunction(this.sliceHelper,this.hoverPercent*this.maxPercent,this.sliceHoverPathCustom);}
else{this.hoverSlicePathMax=this.slicePathFunction(this.sliceHelper,this.hoverPercent*this.maxPercent,this.sliceHoverPathCustom);}
if(this.sliceClickablePathFunction!==null){this.clickableSlicePathMin=this.sliceClickablePathFunction(this.sliceHelper,this.clickablePercentMin,this.sliceClickablePathCustom);this.clickableSlicePathMax=this.sliceClickablePathFunction(this.sliceHelper,this.clickablePercentMax,this.sliceClickablePathCustom);}
if(this.sliceInitPathFunction!==null){this.sliceInitPath=this.sliceInitPathFunction(this.sliceHelper,this.initPercent,this.sliceInitPathCustom);}
else{if(this.wheelnav.currentPercent===this.wheelnav.maxPercent){this.sliceInitPath=this.slicePathFunction(this.sliceHelper,this.maxPercent,this.sliceInitPathCustom);}
else{this.sliceInitPath=this.slicePathFunction(this.sliceHelper,this.minPercent,this.sliceInitPathCustom);}}
if(this.sliceTransformFunction!==null){this.sliceTransform=this.sliceTransformFunction(this.wheelnav.centerX,this.wheelnav.centerY,this.wheelnav.wheelRadius,this.baseAngle,this.sliceAngle,this.wheelnav.titleRotateAngle,this.itemIndex,this.sliceTransformCustom);}
else{this.sliceTransform=sliceTransform().NullTransform;}
if(this.sliceSelectedTransformFunction!==null){this.selectTransform=this.sliceSelectedTransformFunction(this.wheelnav.centerX,this.wheelnav.centerY,this.wheelnav.wheelRadius,this.baseAngle,this.sliceAngle,this.wheelnav.titleRotateAngle,this.itemIndex,this.sliceSelectedTransformCustom);}
else{this.selectTransform=sliceTransform().NullTransform;}
if(this.sliceHoverTransformFunction!==null){this.hoverTransform=this.sliceHoverTransformFunction(this.wheelnav.centerX,this.wheelnav.centerY,this.wheelnav.wheelRadius,this.baseAngle,this.sliceAngle,this.wheelnav.titleRotateAngle,this.itemIndex,this.sliceHoverTransformCustom);}
else{this.hoverTransform=sliceTransform().NullTransform;}
if(this.sliceInitTransformFunction!==null){this.initTransform=this.sliceInitTransformFunction(this.wheelnav.centerX,this.wheelnav.centerY,this.wheelnav.wheelRadius,this.baseAngle,this.sliceAngle,this.wheelnav.titleRotateAngle,this.itemIndex,this.sliceInitTransformCustom);}
else{this.initTransform=sliceTransform().NullTransform;}
if(wheelnavTitle().isPathTitle(this.title)){initNavTitle=new wheelnavTitle(this.title,this.wheelnav.raphael.raphael);basicNavTitleMin=new wheelnavTitle(this.title,this.wheelnav.raphael.raphael);basicNavTitleMax=new wheelnavTitle(this.title,this.wheelnav.raphael.raphael);hoverNavTitleMin=new wheelnavTitle(this.titleHover,this.wheelnav.raphael.raphael);hoverNavTitleMax=new wheelnavTitle(this.titleHover,this.wheelnav.raphael.raphael);selectedNavTitleMin=new wheelnavTitle(this.titleSelected,this.wheelnav.raphael.raphael);selectedNavTitleMax=new wheelnavTitle(this.titleSelected,this.wheelnav.raphael.raphael);this.navTitleSizeTransform=basicNavTitleMax.getTitleSizeTransform(this.titleWidth,this.titleHeight);this.navTitleSizeHoverTransform=hoverNavTitleMax.getTitleSizeTransform(this.titleHoverWidth,this.titleHoverHeight);this.navTitleSizeSelectedTransform=selectedNavTitleMax.getTitleSizeTransform(this.titleSelectedWidth,this.titleSelectedHeight);}
else{initNavTitle=new wheelnavTitle(this.title);basicNavTitleMin=new wheelnavTitle(this.title);basicNavTitleMax=new wheelnavTitle(this.title);hoverNavTitleMin=new wheelnavTitle(this.titleHover);hoverNavTitleMax=new wheelnavTitle(this.titleHover);selectedNavTitleMin=new wheelnavTitle(this.titleSelected);selectedNavTitleMax=new wheelnavTitle(this.titleSelected);}
this.initNavTitle=initNavTitle.getTitlePercentAttr(this.sliceInitPath.titlePosX,this.sliceInitPath.titlePosY,this.titleWidth,this.titleHeight);this.basicNavTitleMin=basicNavTitleMin.getTitlePercentAttr(this.slicePathMin.titlePosX,this.slicePathMin.titlePosY,this.titleWidth,this.titleHeight);this.basicNavTitleMax=basicNavTitleMax.getTitlePercentAttr(this.slicePathMax.titlePosX,this.slicePathMax.titlePosY,this.titleWidth,this.titleHeight);this.hoverNavTitleMin=hoverNavTitleMin.getTitlePercentAttr(this.hoverSlicePathMin.titlePosX,this.hoverSlicePathMin.titlePosY,this.titleHoverWidth,this.titleHoverHeight);this.hoverNavTitleMax=hoverNavTitleMax.getTitlePercentAttr(this.hoverSlicePathMax.titlePosX,this.hoverSlicePathMax.titlePosY,this.titleHoverWidth,this.titleHoverHeight);this.selectedNavTitleMin=selectedNavTitleMin.getTitlePercentAttr(this.selectedSlicePathMin.titlePosX,this.selectedSlicePathMin.titlePosY,this.titleSelectedWidth,this.titleSelectedHeight);this.selectedNavTitleMax=selectedNavTitleMax.getTitlePercentAttr(this.selectedSlicePathMax.titlePosX,this.selectedSlicePathMax.titlePosY,this.titleSelectedWidth,this.titleSelectedHeight);};wheelnavItem.prototype.getCurrentPath=function(){var slicePath;if(this.wheelnav.currentPercent===this.wheelnav.maxPercent){if(this.selected){slicePath=this.selectedSlicePathMax;}
else{if(this.hovered){slicePath=this.hoverSlicePathMax;}
else{slicePath=this.slicePathMax;}}}
else{if(this.selected){slicePath=this.selectedSlicePathMin;}
else{if(this.hovered){slicePath=this.hoverSlicePathMin;}
else{slicePath=this.slicePathMin;}}}
return slicePath;};wheelnavItem.prototype.getCurrentClickablePath=function(){var sliceClickablePath;if(this.wheelnav.currentPercent===this.wheelnav.maxPercent){sliceClickablePath=this.clickableSlicePathMax;}
else{sliceClickablePath=this.clickableSlicePathMin;}
return sliceClickablePath;};wheelnavItem.prototype.getCurrentTitle=function(){var currentTitle;if(this.wheelnav.currentPercent===this.wheelnav.maxPercent){if(this.selected){currentTitle=this.selectedNavTitleMax;}
else{if(this.hovered){currentTitle=this.hoverNavTitleMax;}
else{currentTitle=this.basicNavTitleMax;}}}
else{if(this.selected){currentTitle=this.selectedNavTitleMin;}
else{if(this.hovered){currentTitle=this.hoverNavTitleMin;}
else{currentTitle=this.basicNavTitleMin;}}}
return currentTitle;};wheelnavItem.prototype.getItemRotateString=function(){return"r,"+(this.currentRotateAngle).toString()+","+this.wheelnav.centerX+","+this.wheelnav.centerY;};wheelnavItem.prototype.getTitleRotateString=function(withTitleRotateAngle){var titleRotate="";titleRotate+=this.getItemRotateString();if(this.wheelnav.titleRotateAngle!==null&&withTitleRotateAngle){titleRotate+=",r,"+(this.navAngle+this.wheelnav.titleRotateAngle).toString();}
else{titleRotate+=",r,"+(-this.currentRotateAngle).toString();}
return titleRotate;};wheelnavTitle=function(title,raphael){this.title=title;if(title!==null){if(raphael!==undefined){this.relativePath=raphael.pathToRelative(title);var bbox=raphael.pathBBox(this.relativePath);this.centerX=bbox.cx;this.centerY=bbox.cy;this.width=bbox.width;this.height=bbox.height;this.startX=this.relativePath[0][1];this.startY=this.relativePath[0][2];}
this.title=title;}
else{this.title="";}
this.isPathTitle=function(title){if(title!==null&&(title.substr(0,1)==="m"||title.substr(0,1)==="M")&&(title.substr(title.length-1,1)==="z"||title.substr(title.length-1,1)==="Z")&&(title.indexOf(",")>-1||title.indexOf(" ")>-1)){return true;}
else{return false;}};this.isImageTitle=function(title){if(title===undefined){title=this.title;}
if(title!==null&&title.substr(0,7)==="imgsrc:"){return true;}
else{return false;}};return this;};wheelnavTitle.prototype.getTitlePercentAttr=function(currentX,currentY,titlewidth,titleheight){var transformAttr={};if(this.relativePath!==undefined){var pathCx=currentX+(this.startX-this.centerX);var pathCy=currentY+(this.startY-this.centerY);this.relativePath[0][1]=pathCx;this.relativePath[0][2]=pathCy;transformAttr={path:this.relativePath,title:this.title};}
else{if(this.isImageTitle()){transformAttr={x:currentX-(titlewidth/2),y:currentY-(titleheight/2),width:titlewidth,height:titleheight,title:this.title,src:this.title.substr(7,this.title.length)};}
else{transformAttr={x:currentX,y:currentY,title:this.title};}}
return transformAttr;};wheelnavTitle.prototype.getTitleSizeTransform=function(titlewidth,titleheight){var transformAttr="";if(titlewidth!==null&&titleheight!==null){transformAttr="s";if(this.height>this.width){transformAttr+=(titlewidth/this.height).toString()+",";transformAttr+=(titleheight/this.height).toString();}
else{transformAttr+=(titlewidth/this.width).toString()+",";transformAttr+=(titleheight/this.width).toString();}}
return transformAttr;};wheelnav.prototype.styleWheel=function(){if(!this.cssMode){if(this.spreaderPathInAttr===undefined||this.spreaderPathInAttr===null){this.spreaderPathInAttr={fill:"#444",stroke:"#444","stroke-width":2,cursor:'pointer'};}
if(this.spreaderPathOutAttr===undefined||this.spreaderPathOutAttr===null){this.spreaderPathOutAttr={fill:"#444",stroke:"#444","stroke-width":2,cursor:'pointer'};}
if(this.spreaderTitleInAttr===undefined||this.spreaderTitleInAttr===null){this.spreaderTitleInAttr={fill:"#eee",stroke:"#444",cursor:'pointer'};}
if(this.spreaderTitleOutAttr===undefined||this.spreaderTitleOutAttr===null){this.spreaderTitleOutAttr={fill:"#eee",stroke:"#444",cursor:'pointer'};}
if(this.markerAttr===undefined||this.markerAttr===null){this.markerAttr={stroke:"#444","stroke-width":2};}}
else{this.spreaderPathInAttr={"class":this.getSpreaderCssClass("in")};this.spreaderPathOutAttr={"class":this.getSpreaderCssClass("out")};this.spreaderTitleInAttr={"class":this.getSpreaderTitleCssClass("in")};this.spreaderTitleOutAttr={"class":this.getSpreaderTitleCssClass("out")};this.markerAttr={"class":this.getMarkerCssClass()};}};wheelnavItem.prototype.styleNavItem=function(){if(!this.wheelnav.cssMode){this.slicePathAttr={stroke:"#333","stroke-width":0,cursor:'pointer',"fill-opacity":1};this.sliceHoverAttr={stroke:"#222","stroke-width":0,cursor:'pointer',"fill-opacity":0.77};this.sliceSelectedAttr={stroke:"#111","stroke-width":0,cursor:'default',"fill-opacity":1};this.titleAttr={font:this.titleFont,fill:"#333",stroke:"none",cursor:'pointer'};this.titleHoverAttr={font:this.titleFont,fill:"#222",cursor:'pointer',stroke:"none"};this.titleSelectedAttr={font:this.titleFont,fill:"#fff",cursor:'default'};this.linePathAttr={stroke:"#444","stroke-width":1,cursor:'pointer'};this.lineHoverAttr={stroke:"#222","stroke-width":2,cursor:'pointer'};this.lineSelectedAttr={stroke:"#444","stroke-width":1,cursor:'default'};}
else{this.slicePathAttr={"class":this.wheelnav.getSliceCssClass(this.wheelItemIndex,"basic")};this.sliceHoverAttr={"class":this.wheelnav.getSliceCssClass(this.wheelItemIndex,"hover")};this.sliceSelectedAttr={"class":this.wheelnav.getSliceCssClass(this.wheelItemIndex,"selected")};this.titleAttr={"class":this.wheelnav.getTitleCssClass(this.wheelItemIndex,"basic")};this.titleHoverAttr={"class":this.wheelnav.getTitleCssClass(this.wheelItemIndex,"hover")};this.titleSelectedAttr={"class":this.wheelnav.getTitleCssClass(this.wheelItemIndex,"selected")};this.linePathAttr={"class":this.wheelnav.getLineCssClass(this.wheelItemIndex,"basic")};this.lineHoverAttr={"class":this.wheelnav.getLineCssClass(this.wheelItemIndex,"hover")};this.lineSelectedAttr={"class":this.wheelnav.getLineCssClass(this.wheelItemIndex,"selected")};}
this.sliceClickablePathAttr={fill:"#FFF",stroke:"#FFF","stroke-width":0,cursor:'pointer',"fill-opacity":0.01};this.sliceClickableHoverAttr={stroke:"#FFF","stroke-width":0,cursor:'pointer'};this.sliceClickableSelectedAttr={stroke:"#FFF","stroke-width":0,cursor:'default'};}
wheelnav.prototype.getSliceCssClass=function(index,subclass){return"wheelnav-"+this.holderId+"-slice-"+subclass+"-"+index;};wheelnav.prototype.getTitleCssClass=function(index,subclass){return"wheelnav-"+this.holderId+"-title-"+subclass+"-"+index;};wheelnav.prototype.getLineCssClass=function(index,subclass){return"wheelnav-"+this.holderId+"-line-"+subclass+"-"+index;};wheelnav.prototype.getSpreaderCssClass=function(state){return"wheelnav-"+this.holderId+"-spreader-"+state;};wheelnav.prototype.getSpreaderTitleCssClass=function(state){return"wheelnav-"+this.holderId+"-spreadertitle-"+state;};wheelnav.prototype.getMarkerCssClass=function(){return"wheelnav-"+this.holderId+"-marker";};var pathHelper=function(){this.sliceRadius=0;this.startAngle=0;this.middleAngle=0;this.endAngle=0;this.sliceAngle=0;this.startTheta=0;this.middleTheta=0;this.endTheta=0;this.titlePosX=0;this.titlePosY=0;this.titleRadius=0;this.titleTheta=0;this.custom=null;this.centerX=0;this.centerY=0;this.wheelRadius=0;this.itemIndex=0;this.navItemCount=0;this.navAngle=0;this.setBaseValue=function(percent,custom){if(custom===null){custom=new slicePathCustomization();}
else{this.custom=custom;}
this.sliceRadius=this.wheelRadius*percent*0.9;this.middleAngle=this.startAngle+this.sliceAngle/2;this.endAngle=this.startAngle+this.sliceAngle;this.startTheta=this.getTheta(this.startAngle);this.middleTheta=this.getTheta(this.middleAngle);this.endTheta=this.getTheta(this.endAngle);if(custom!==null){if(custom.titleRadiusPercent!==null){this.titleRadius=this.sliceRadius*custom.titleRadiusPercent;}
if(custom.titleSliceAnglePercent!==null){this.titleTheta=this.getTheta(this.startAngle+this.sliceAngle*custom.titleSliceAnglePercent);}}
else{this.titleRadius=this.sliceRadius*0.5;this.titleTheta=this.middleTheta;}
this.setTitlePos();};this.setTitlePos=function(){this.titlePosX=this.titleRadius*Math.cos(this.titleTheta)+this.centerX;this.titlePosY=this.titleRadius*Math.sin(this.titleTheta)+this.centerY;};this.getX=function(angle,length){return length*Math.cos(this.getTheta(angle))+this.centerX;};this.getY=function(angle,length){return length*Math.sin(this.getTheta(angle))+this.centerY;};this.MoveTo=function(angle,length){return["M",this.getX(angle,length),this.getY(angle,length)];};this.MoveToCenter=function(){return["M",this.centerX,this.centerY];};this.LineTo=function(angle,length,angleY,lengthY){if(angleY===undefined){angleY=angle;}
if(lengthY===undefined){lengthY=length;}
return["L",this.getX(angle,length),this.getY(angleY,lengthY)];};this.ArcTo=function(arcRadius,angle,length){return["A",arcRadius,arcRadius,0,0,1,this.getX(angle,length),this.getY(angle,length)]};this.ArcBackTo=function(arcRadius,angle,length){return["A",arcRadius,arcRadius,0,0,0,this.getX(angle,length),this.getY(angle,length)]};this.StartSpreader=function(spreaderPathString,angle,length){if(this.endAngle-this.startAngle===360){spreaderPathString.push(this.MoveTo(angle,length));}
else{spreaderPathString.push(this.MoveToCenter());spreaderPathString.push(this.LineTo(angle,length));}};this.Close=function(){return["z"];};this.getTheta=function(angle){return(angle%360)*Math.PI/180;};this.radians=function(degrees){return degrees*Math.PI/180;};this.degrees=function(radians){return radians*180/Math.PI;};return this;};var slicePathCustomization=function(){this.titleRadiusPercent=0.5;this.titleSliceAnglePercent=0.5;return this;};var spreaderPathCustomization=function(){this.titleRadiusPercent=0;this.titleSliceAnglePercent=0.5;this.spreaderPercent=1;return this;};var markerPathCustomization=function(){this.titleRadiusPercent=1;this.titleSliceAnglePercent=0.5;this.markerPercent=1.05;return this;};slicePath=function(){this.NullSlice=function(helper,percent,custom){helper.setBaseValue(percent,custom);return{slicePathString:"",linePathString:"",titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.NullInitSlice=function(helper,percent,custom){helper.setBaseValue(percent,custom);slicePathString=[helper.MoveToCenter(),helper.Close()];return{slicePathString:slicePathString,linePathString:slicePathString,titlePosX:helper.centerX,titlePosY:helper.centerY};};this.PieSliceCustomization=function(){var custom=new slicePathCustomization();custom.titleRadiusPercent=0.6;custom.arcBaseRadiusPercent=1;custom.arcRadiusPercent=1;custom.startRadiusPercent=0;return custom;};this.PieSlice=function(helper,percent,custom){if(custom===null){custom=PieSliceCustomization();}
helper.setBaseValue(percent,custom);var arcBaseRadius=helper.sliceRadius*custom.arcBaseRadiusPercent;var arcRadius=helper.sliceRadius*custom.arcRadiusPercent;slicePathString=[helper.MoveTo(helper.middleAngle,custom.startRadiusPercent*helper.sliceRadius),helper.LineTo(helper.startAngle,arcBaseRadius),helper.ArcTo(arcRadius,helper.middleAngle,arcBaseRadius),helper.ArcTo(arcRadius,helper.endAngle,arcBaseRadius),helper.Close()];return{slicePathString:slicePathString,linePathString:"",titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.FlowerSlice=function(helper,percent,custom){if(custom===null){custom=PieSliceCustomization();custom.titleRadiusPercent=0.5;custom.arcBaseRadiusPercent=0.65;custom.arcRadiusPercent=0.14;}
var slicePath=PieSlice(helper,percent,custom);return{slicePathString:slicePath.slicePathString,linePathString:"",titlePosX:slicePath.titlePosX,titlePosY:slicePath.titlePosY};};this.PieArrowSliceCustomization=function(){var custom=new slicePathCustomization();custom.titleRadiusPercent=0.6;custom.arrowRadiusPercent=1.1;return custom;};this.PieArrowSlice=function(helper,percent,custom){if(custom===null){custom=PieArrowSliceCustomization();}
helper.setBaseValue(percent,custom);r=helper.sliceRadius;arrowAngleStart=helper.startAngle+helper.sliceAngle*0.45;arrowAngleEnd=helper.startAngle+helper.sliceAngle*0.55;var arrowRadius=r*custom.arrowRadiusPercent;slicePathString=[helper.MoveToCenter(),helper.LineTo(helper.startAngle,r),helper.ArcTo(r,arrowAngleStart,r),helper.LineTo(helper.middleAngle,arrowRadius),helper.LineTo(arrowAngleEnd,r),helper.ArcTo(r,helper.endAngle,r),helper.Close()];return{slicePathString:slicePathString,linePathString:"",titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.PieArrowBasePieSlice=function(helper,percent,custom){if(custom===null){custom=PieArrowSliceCustomization();}
custom.arrowRadiusPercent=1;var slicePath=PieArrowSlice(helper,percent,custom);return{slicePathString:slicePath.slicePathString,linePathString:"",titlePosX:slicePath.titlePosX,titlePosY:slicePath.titlePosY};};this.DonutSliceCustomization=function(){var custom=new slicePathCustomization();custom.minRadiusPercent=0.37;custom.maxRadiusPercent=0.9;return custom;};this.DonutSlice=function(helper,percent,custom){if(custom===null){custom=DonutSliceCustomization();}
maxRadius=helper.wheelRadius*percent*custom.maxRadiusPercent;minRadius=helper.wheelRadius*percent*custom.minRadiusPercent;helper.setBaseValue(percent,custom);helper.titleRadius=(maxRadius+minRadius)/2;helper.setTitlePos();slicePathString=[helper.MoveTo(helper.startAngle,minRadius),helper.LineTo(helper.startAngle,maxRadius),helper.ArcTo(maxRadius,helper.middleAngle,maxRadius),helper.ArcTo(maxRadius,helper.endAngle,maxRadius),helper.LineTo(helper.endAngle,minRadius),helper.ArcBackTo(minRadius,helper.middleAngle,minRadius),helper.ArcBackTo(minRadius,helper.startAngle,minRadius),helper.Close()];return{slicePathString:slicePathString,linePathString:"",titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.CogSliceCustomization=function(){var custom=new slicePathCustomization();custom.titleRadiusPercent=0.55;custom.isBasePieSlice=false;return custom;};this.CogSlice=function(helper,percent,custom){if(custom===null){custom=CogSliceCustomization();}
helper.setBaseValue(percent,custom);r=helper.sliceRadius;rbase=helper.wheelRadius*percent*0.83;percentAngle0625=helper.startAngle+helper.sliceAngle*0.0625;percentAngle1250=helper.startAngle+helper.sliceAngle*0.125;percentAngle1875=helper.startAngle+helper.sliceAngle*0.1875;percentAngle2500=helper.startAngle+helper.sliceAngle*0.25;percentAngle3125=helper.startAngle+helper.sliceAngle*0.3125;percentAngle3750=helper.startAngle+helper.sliceAngle*0.375;percentAngle4375=helper.startAngle+helper.sliceAngle*0.4375;percentAngle5000=helper.startAngle+helper.sliceAngle*0.5;percentAngle5625=helper.startAngle+helper.sliceAngle*0.5625;percentAngle6250=helper.startAngle+helper.sliceAngle*0.625;percentAngle6875=helper.startAngle+helper.sliceAngle*0.6875;percentAngle7500=helper.startAngle+helper.sliceAngle*0.75;percentAngle8125=helper.startAngle+helper.sliceAngle*0.8125;percentAngle8750=helper.startAngle+helper.sliceAngle*0.875;percentAngle9375=helper.startAngle+helper.sliceAngle*0.9375;percentAngle9687=helper.startAngle+helper.sliceAngle*0.96875;if(custom.isBasePieSlice){r=rbase;slicePathString=[helper.MoveToCenter(),helper.LineTo(helper.startAngle,r),helper.ArcTo(r,percentAngle0625,r),helper.ArcTo(r,percentAngle1250,r),helper.ArcTo(r,percentAngle1875,r),helper.ArcTo(r,percentAngle2500,r),helper.ArcTo(r,percentAngle3125,r),helper.ArcTo(r,percentAngle3750,r),helper.ArcTo(r,percentAngle4375,r),helper.ArcTo(r,percentAngle5000,r),helper.ArcTo(r,percentAngle5625,r),helper.ArcTo(r,percentAngle6250,r),helper.ArcTo(r,percentAngle6875,r),helper.ArcTo(r,percentAngle7500,r),helper.ArcTo(r,percentAngle8125,r),helper.ArcTo(r,percentAngle8750,r),helper.ArcTo(r,percentAngle9375,r),helper.ArcTo(r,percentAngle9687,r),helper.ArcTo(r,helper.endAngle,r),helper.Close()];}
else{slicePathString=[helper.MoveToCenter(),helper.LineTo(helper.startAngle,r),helper.ArcTo(r,percentAngle0625,r),helper.LineTo(percentAngle0625,rbase),helper.ArcTo(rbase,percentAngle1875,rbase),helper.LineTo(percentAngle1875,r),helper.ArcTo(r,percentAngle3125,r),helper.LineTo(percentAngle3125,rbase),helper.ArcTo(rbase,percentAngle4375,rbase),helper.LineTo(percentAngle4375,r),helper.ArcTo(r,percentAngle5625,r),helper.LineTo(percentAngle5625,rbase),helper.ArcTo(rbase,percentAngle6875,rbase),helper.LineTo(percentAngle6875,r),helper.ArcTo(r,percentAngle8125,r),helper.LineTo(percentAngle8125,rbase),helper.ArcTo(rbase,percentAngle9375,rbase),helper.LineTo(percentAngle9375,r),helper.ArcTo(r,helper.endAngle,r),helper.Close()];}
return{slicePathString:slicePathString,linePathString:"",titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.CogBasePieSlice=function(helper,percent,custom){if(custom===null){custom=CogSliceCustomization();}
custom.isBasePieSlice=true;var slicePath=CogSlice(helper,percent,custom);return{slicePathString:slicePath.slicePathString,linePathString:"",titlePosX:slicePath.titlePosX,titlePosY:slicePath.titlePosY};};this.StarSliceCustomization=function(){var custom=new slicePathCustomization();custom.titleRadiusPercent=0.44;custom.minRadiusPercent=0.5;custom.isBasePieSlice=false;return custom;};this.StarSlice=function(helper,percent,custom){if(custom===null){custom=StarSliceCustomization();}
helper.setBaseValue(percent,custom);r=helper.wheelRadius*percent;rbase=r*custom.minRadiusPercent;if(custom.isBasePieSlice){r=helper.sliceRadius;slicePathString=[helper.MoveToCenter(),helper.LineTo(helper.startAngle,r),helper.ArcTo(r,helper.middleAngle,r),helper.ArcTo(r,helper.endAngle,r),helper.Close()];}
else{slicePathString=[helper.MoveToCenter(),helper.LineTo(helper.startAngle,rbase),helper.LineTo(helper.middleAngle,r),helper.LineTo(helper.endAngle,rbase),helper.Close()];}
return{slicePathString:slicePathString,linePathString:"",titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.StarBasePieSlice=function(helper,percent,custom){if(custom===null){custom=StarSliceCustomization();}
custom.titleRadiusPercent=0.6;custom.isBasePieSlice=true;var slicePath=StarSlice(helper,percent,custom);return{slicePathString:slicePath.slicePathString,linePathString:"",titlePosX:slicePath.titlePosX,titlePosY:slicePath.titlePosY};};this.MenuSliceCustomization=function(){var custom=new slicePathCustomization();custom.menuRadius=35;custom.titleRadiusPercent=0.63;custom.isSelectedLine=false;custom.lineBaseRadiusPercent=0;return custom;};this.MenuSlice=function(helper,percent,custom){if(custom===null){custom=MenuSliceCustomization();}
helper.setBaseValue(percent,custom);x=helper.centerX;y=helper.centerY;var r=helper.wheelRadius*percent;helper.titleRadius=r*custom.titleRadiusPercent;helper.setTitlePos();var menuRadius=percent*custom.menuRadius;if(percent<=0.05){menuRadius=10;}
middleTheta=helper.middleTheta;slicePathString=[["M",helper.titlePosX-(menuRadius*Math.cos(middleTheta)),helper.titlePosY-(menuRadius*Math.sin(middleTheta))],["A",menuRadius,menuRadius,0,0,1,helper.titlePosX+(menuRadius*Math.cos(middleTheta)),helper.titlePosY+(menuRadius*Math.sin(middleTheta))],["A",menuRadius,menuRadius,0,0,1,helper.titlePosX-(menuRadius*Math.cos(middleTheta)),helper.titlePosY-(menuRadius*Math.sin(middleTheta))],["z"]];if(percent<=0.05){linePathString=[["M",x,y],["A",1,1,0,0,1,x+1,y+1]];}
else{if(!custom.isSelectedLine){linePathString=[helper.MoveTo(helper.middleAngle,custom.lineBaseRadiusPercent*r),helper.ArcTo(r/2,helper.middleAngle,helper.titleRadius-menuRadius)];}
else{linePathString=[helper.MoveTo(helper.middleAngle,custom.lineBaseRadiusPercent*r),helper.ArcTo(r/3,helper.middleAngle,helper.titleRadius-menuRadius)];}}
return{slicePathString:slicePathString,linePathString:linePathString,titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.MenuSliceSelectedLine=function(helper,percent,custom){if(custom===null){custom=MenuSliceCustomization();}
custom.isSelectedLine=true;var slicePath=MenuSlice(helper,percent,custom);return{slicePathString:slicePath.slicePathString,linePathString:slicePath.linePathString,titlePosX:slicePath.titlePosX,titlePosY:slicePath.titlePosY};};this.MenuSliceWithoutLine=function(helper,percent,custom){var slicePath=MenuSlice(helper,percent,custom);return{slicePathString:slicePath.slicePathString,linePathString:"",titlePosX:slicePath.titlePosX,titlePosY:slicePath.titlePosY};};this.LineSlice=function(helper,percent,custom){helper.setBaseValue(percent,custom);r=helper.sliceRadius;if(helper.sliceAngle>60&&helper.sliceAngle<180){helper.titleRadius=r*((180/helper.sliceAngle)/5);helper.setTitlePos();}
else{helper.titleRadius=r*0.55;helper.setTitlePos();}
if(helper.sliceAngle<180){slicePathString=[helper.MoveToCenter(),helper.LineTo(helper.startAngle,r),helper.LineTo(helper.endAngle,r),helper.Close()];}
else{if(helper.startAngle===180||helper.startAngle===0||helper.startAngle===-180||helper.startAngle===360){slicePathString=[helper.MoveToCenter(),helper.LineTo(helper.startAngle,r),helper.LineTo(helper.startAngle,r,helper.middleAngle,r),helper.LineTo(helper.endAngle,r,helper.middleAngle,r),helper.LineTo(helper.endAngle,r),helper.Close()];}
else{slicePathString=[helper.MoveToCenter(),helper.LineTo(helper.startAngle,r),helper.LineTo(helper.middleAngle,r,helper.startAngle,r),helper.LineTo(helper.middleAngle,r,helper.endAngle,r),helper.LineTo(helper.endAngle,r),helper.Close()];}}
return{slicePathString:slicePathString,linePathString:"",titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.EyeSliceCustomization=function(){var custom=new slicePathCustomization();custom.titleRadiusPercent=0.68;return custom;};this.EyeSlice=function(helper,percent,custom){if(custom===null){custom=EyeSliceCustomization();}
helper.setBaseValue(percent,custom);r=helper.wheelRadius*percent*0.7;if(percent===0){r=0.01;}
startAngle=helper.startAngle;endAngle=helper.endAngle;if(helper.sliceAngle===180){startAngle=helper.startAngle+helper.sliceAngle/4;endAngle=helper.startAngle+helper.sliceAngle-helper.sliceAngle/4;}
slicePathString=[helper.MoveTo(endAngle,r),helper.ArcTo(r,startAngle,r),helper.ArcTo(r,endAngle,r),helper.Close()];return{slicePathString:slicePathString,linePathString:"",titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.WheelSlice=function(helper,percent,custom){helper.setBaseValue(percent,custom);x=helper.centerX;y=helper.centerY;r=helper.sliceRadius;startTheta=helper.startTheta;middleTheta=helper.middleTheta;endTheta=helper.endTheta;var innerRadiusPercent;var startendRadiusPercent;if(helper.sliceAngle<120){helper.titleRadius=r*0.57;innerRadiusPercent=0.9;middleRadiusPercent=0.87;startendRadiusPercent=0.87;}
else if(helper.sliceAngle<180){helper.titleRadius=r*0.52;innerRadiusPercent=0.91;middleRadiusPercent=0.87;startendRadiusPercent=0.87;}
else{helper.titleRadius=r*0.45;innerRadiusPercent=0.873;middleRadiusPercent=0.87;startendRadiusPercent=0.94;}
slicePathString=[helper.MoveTo(helper.middleAngle,r*0.07),["L",(r*0.07)*Math.cos(middleTheta)+(r*startendRadiusPercent)*Math.cos(startTheta)+x,(r*0.07)*Math.sin(middleTheta)+(r*startendRadiusPercent)*Math.sin(startTheta)+y],["A",(r*innerRadiusPercent),(r*innerRadiusPercent),0,0,1,(r*0.07)*Math.cos(middleTheta)+(r*middleRadiusPercent)*Math.cos(middleTheta)+x,(r*0.07)*Math.sin(middleTheta)+(r*middleRadiusPercent)*Math.sin(middleTheta)+y],["A",(r*innerRadiusPercent),(r*innerRadiusPercent),0,0,1,(r*0.07)*Math.cos(middleTheta)+(r*startendRadiusPercent)*Math.cos(endTheta)+x,(r*0.07)*Math.sin(middleTheta)+(r*startendRadiusPercent)*Math.sin(endTheta)+y],helper.Close()];linePathString=[helper.MoveTo(helper.startAngle,r),helper.ArcTo(r,helper.middleAngle,r),helper.ArcTo(r,helper.endAngle,r),helper.ArcBackTo(r,helper.middleAngle,r),helper.ArcBackTo(r,helper.startAngle,r)];helper.setTitlePos();return{slicePathString:slicePathString,linePathString:linePathString,titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.OuterStrokeSlice=function(helper,percent,custom){helper.setBaseValue(percent,custom);x=helper.centerX;y=helper.centerY;r=helper.sliceRadius;innerRadius=r/4;if(helper.sliceAngle<120){helper.titleRadius=r*0.57;}
else if(helper.sliceAngle<180){helper.titleRadius=r*0.52;}
else{helper.titleRadius=r*0.45;}
linePathString=[helper.MoveTo(helper.startAngle,innerRadius),helper.LineTo(helper.startAngle,r),helper.MoveTo(helper.endAngle,innerRadius),helper.LineTo(helper.endAngle,r)];slicePathString=[helper.MoveTo(helper.startAngle,r),helper.ArcTo(r,helper.middleAngle,r),helper.ArcTo(r,helper.endAngle,r),helper.ArcBackTo(r,helper.middleAngle,r),helper.ArcBackTo(r,helper.startAngle,r),helper.MoveTo(helper.startAngle,innerRadius),helper.ArcTo(innerRadius,helper.middleAngle,innerRadius),helper.ArcTo(innerRadius,helper.endAngle,innerRadius),helper.ArcBackTo(innerRadius,helper.middleAngle,innerRadius),helper.ArcBackTo(innerRadius,helper.startAngle,innerRadius)];helper.setTitlePos();return{slicePathString:slicePathString,linePathString:linePathString,titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.TabSlice=function(helper,percent,custom){var rOriginal=helper.wheelRadius*0.9;var navItemCount=360/helper.sliceAngle;var itemSize=2*rOriginal/navItemCount;x=helper.centerX;y=helper.centerY;itemIndex=helper.itemIndex;titlePosX=x;titlePosY=itemIndex*itemSize+y+(itemSize/2)-rOriginal;slicePathString=[["M",x-(itemSize/2),itemIndex*itemSize+y-rOriginal],["L",(itemSize/2)+x,itemIndex*itemSize+y-rOriginal],["L",(itemSize/2)+x,(itemIndex+1)*itemSize+y-rOriginal],["L",x-(itemSize/2),(itemIndex+1)*itemSize+y-rOriginal],["z"]];return{slicePathString:slicePathString,linePathString:"",titlePosX:titlePosX,titlePosY:titlePosY};};this.YinYangSlice=function(helper,percent,custom){helper.setBaseValue(percent,custom);r=helper.sliceRadius;slicePathString=[helper.MoveToCenter(),helper.ArcTo(r/2,helper.startAngle,r),helper.ArcTo(r,helper.middleAngle,r),helper.ArcTo(r,helper.endAngle,r),helper.ArcBackTo(r/2,0,0),helper.Close()];titlePosX=helper.getX(helper.startAngle,r/2);titlePosY=helper.getY(helper.startAngle,r/2);return{slicePathString:slicePathString,linePathString:slicePathString,titlePosX:titlePosX,titlePosY:titlePosY};};this.WebSlice=function(helper,percent,custom){helper.setBaseValue(percent,custom);r=helper.sliceRadius;helper.titleRadius=r*0.55;helper.setTitlePos();linePathString=[helper.MoveToCenter(),helper.LineTo(helper.startAngle,r*1.1),helper.MoveToCenter(),helper.LineTo(helper.endAngle,r*1.1),helper.MoveTo(helper.startAngle,r*0.15),helper.LineTo(helper.endAngle,r*0.15),helper.MoveTo(helper.startAngle,r*0.35),helper.LineTo(helper.endAngle,r*0.35),helper.MoveTo(helper.startAngle,r*0.55),helper.LineTo(helper.endAngle,r*0.55),helper.MoveTo(helper.startAngle,r*0.75),helper.LineTo(helper.endAngle,r*0.75),helper.MoveTo(helper.startAngle,r*0.95),helper.LineTo(helper.endAngle,r*0.95),helper.Close()];return{slicePathString:"",linePathString:linePathString,titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.WinterSliceCustomization=function(){var custom=new slicePathCustomization();custom.titleRadiusPercent=0.85;custom.arcRadiusPercent=1;return custom;};this.WinterSlice=function(helper,percent,custom){if(custom===null){custom=WinterSliceCustomization();}
helper.setBaseValue(percent,custom);sliceAngle=helper.sliceAngle;parallelAngle=helper.startAngle+sliceAngle/4;parallelAngle2=helper.startAngle+((sliceAngle/4)*3);borderAngle1=helper.startAngle+(sliceAngle/200);borderAngle2=helper.startAngle+(sliceAngle/2)-(sliceAngle/200);borderAngle3=helper.startAngle+(sliceAngle/2)+(sliceAngle/200);borderAngle4=helper.startAngle+sliceAngle-(sliceAngle/200);var arcRadius=helper.sliceRadius*custom.arcRadiusPercent;slicePathString=[helper.MoveToCenter(),helper.MoveTo(parallelAngle,arcRadius/100),helper.LineTo(borderAngle1,arcRadius/2),helper.LineTo(parallelAngle,arcRadius-(arcRadius/100)),helper.LineTo(borderAngle2,arcRadius/2),helper.LineTo(parallelAngle,arcRadius/100),helper.MoveTo(parallelAngle2,arcRadius/100),helper.LineTo(borderAngle4,arcRadius/2),helper.LineTo(parallelAngle2,arcRadius-(arcRadius/100)),helper.LineTo(borderAngle3,arcRadius/2),helper.LineTo(parallelAngle2,arcRadius/100),helper.Close()];linePathString=[helper.MoveTo(parallelAngle,arcRadius),helper.LineTo(borderAngle2,arcRadius/2),helper.MoveTo(borderAngle3,arcRadius/2),helper.LineTo(parallelAngle2,arcRadius)];return{slicePathString:slicePathString,linePathString:linePathString,titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.TutorialSliceCustomization=function(){var custom=new slicePathCustomization();custom.titleRadiusPercent=0.6;custom.isMoveTo=false;custom.isLineTo=false;custom.isArcTo=false;custom.isArcBackTo=false;return custom;};this.TutorialSlice=function(helper,percent,custom){if(custom===null){custom=TutorialSliceCustomization();}
helper.setBaseValue(percent,custom);slicePathString=[];slicePathString.push(helper.MoveToCenter());if(custom.isMoveTo===true){slicePathString.push(helper.MoveTo(helper.middleAngle,helper.sliceRadius/4));}
if(custom.isLineTo){slicePathString.push(helper.LineTo(helper.startAngle,helper.sliceRadius));}
if(custom.isArcTo){slicePathString.push(helper.ArcTo(helper.sliceRadius,helper.middleAngle,helper.sliceRadius));}
if(custom.isArcBackTo){slicePathString.push(helper.ArcBackTo(helper.sliceRadius,helper.endAngle,helper.sliceRadius));}
slicePathString.push(helper.Close());linePathString=[helper.MoveToCenter(),helper.LineTo(helper.startAngle,helper.sliceRadius),helper.ArcTo(helper.sliceRadius,helper.middleAngle,helper.sliceRadius),helper.ArcTo(helper.sliceRadius,helper.endAngle,helper.sliceRadius),helper.Close()];return{slicePathString:slicePathString,linePathString:linePathString,titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};return this;};var sliceTransform=function(){this.startAngle=0;this.startTheta=0;this.middleTheta=0;this.endTheta=0;var setBaseValue=function(x,y,rOriginal,baseAngle,sliceAngle,titleRotateAngle,itemIndex,custom){this.startAngle=baseAngle;this.startTheta=getTheta(startAngle);this.middleTheta=getTheta(startAngle+sliceAngle/2);this.endTheta=getTheta(startAngle+sliceAngle);};var getTheta=function(angle){return(angle%360)*Math.PI/180;};this.NullTransform=function(x,y,rOriginal,baseAngle,sliceAngle,titleRotateAngle,itemIndex,custom){return{sliceTransformString:"",lineTransformString:"",titleTransformString:""};};this.MoveMiddleTransform=function(x,y,rOriginal,baseAngle,sliceAngle,titleRotateAngle,itemIndex,custom){setBaseValue(x,y,rOriginal,baseAngle,sliceAngle,titleRotateAngle,itemIndex);var sliceTransformString="t"+(rOriginal/10*Math.cos(middleTheta)).toString()+","+(rOriginal/10*Math.sin(middleTheta)).toString();var baseTheta;if(titleRotateAngle!==null){baseTheta=getTheta(-titleRotateAngle);}
else{var wheelBaseAngle=baseAngle-(itemIndex*sliceAngle);baseTheta=getTheta(wheelBaseAngle+sliceAngle/2);}
var titleTransformString="s1,r0,t"+(rOriginal/10*Math.cos(baseTheta)).toString()+","+(rOriginal/10*Math.sin(baseTheta)).toString();return{sliceTransformString:sliceTransformString,lineTransformString:sliceTransformString,titleTransformString:titleTransformString};};this.RotateTransform=function(x,y,rOriginal,baseAngle,sliceAngle,titleRotateAngle,itemIndex,custom){var sliceTransformString="s1,r360";return{sliceTransformString:sliceTransformString,lineTransformString:sliceTransformString,titleTransformString:sliceTransformString};};this.RotateHalfTransform=function(x,y,rOriginal,baseAngle,sliceAngle,titleRotateAngle,itemIndex,custom){var sliceTransformString="s1,r90";return{sliceTransformString:sliceTransformString,lineTransformString:sliceTransformString,titleTransformString:sliceTransformString};};this.RotateTitleTransform=function(x,y,rOriginal,baseAngle,sliceAngle,titleRotateAngle,itemIndex,custom){var titleTransformString="s1,r360";return{sliceTransformString:"",lineTransformString:"",titleTransformString:titleTransformString};};this.ScaleTransform=function(x,y,rOriginal,baseAngle,sliceAngle,titleRotateAngle,itemIndex,custom){var sliceTransformString="s1.2";return{sliceTransformString:sliceTransformString,lineTransformString:"",titleTransformString:sliceTransformString};};this.ScaleTitleTransform=function(x,y,rOriginal,baseAngle,sliceAngle,titleRotateAngle,itemIndex,custom){return{sliceTransformString:"",lineTransformString:"",titleTransformString:"s1.3"};};this.RotateScaleTransform=function(x,y,rOriginal,baseAngle,sliceAngle,titleRotateAngle,itemIndex,custom){var sliceTransformString="r360,s1.3";return{sliceTransformString:sliceTransformString,lineTransformString:"",titleTransformString:sliceTransformString};};this.CustomTransform=function(x,y,rOriginal,baseAngle,sliceAngle,titleRotateAngle,itemIndex,custom){var sliceTransformString=custom.scaleString+","+custom.rotateString;return{sliceTransformString:sliceTransformString,lineTransformString:sliceTransformString,titleTransformString:sliceTransformString};};this.CustomTitleTransform=function(x,y,rOriginal,baseAngle,sliceAngle,titleRotateAngle,itemIndex,custom){var titleTransformString=custom.scaleString+","+custom.rotateString;return{sliceTransformString:"",lineTransformString:"",titleTransformString:titleTransformString};};return this;};var sliceTransformCustomization=function(){this.scaleString="s1";this.rotateString="r0";return this;};spreader=function(wheelnav){this.wheelnav=wheelnav;if(this.wheelnav.spreaderEnable){this.spreaderHelper=new pathHelper();this.spreaderHelper.centerX=this.wheelnav.centerX;this.spreaderHelper.centerY=this.wheelnav.centerY;this.spreaderHelper.navItemCount=this.wheelnav.navItemCount;this.spreaderHelper.navAngle=this.wheelnav.navAngle;this.spreaderHelper.wheelRadius=this.wheelnav.spreaderRadius;this.spreaderHelper.startAngle=this.wheelnav.spreaderStartAngle;this.spreaderHelper.sliceAngle=this.wheelnav.spreaderSliceAngle;var thisWheelNav=this.wheelnav;this.animateeffect="bounce";this.animatetime=1500;if(this.wheelnav.animateeffect!==null){this.animateeffect=this.wheelnav.animateeffect;}
if(this.wheelnav.animatetime!==null){this.animatetime=this.wheelnav.animatetime;}
if(this.wheelnav.spreaderTitleFont!==null){this.fontAttr={font:this.wheelnav.spreaderTitleFont};}
else{this.fontAttr={font:'100 32px Times New Roman'};}
this.spreaderPathIn=this.wheelnav.spreaderPathFunction(this.spreaderHelper,this.wheelnav.spreaderInPercent,this.wheelnav.spreaderPathCustom);this.spreaderPathOut=this.wheelnav.spreaderPathFunction(this.spreaderHelper,this.wheelnav.spreaderOutPercent,this.wheelnav.spreaderPathCustom);var currentPath=this.spreaderPathOut;if(thisWheelNav.initPercent<thisWheelNav.maxPercent){currentPath=this.spreaderPathIn;}
this.spreaderPath=this.wheelnav.raphael.path(currentPath.spreaderPathString);this.spreaderPath.attr(thisWheelNav.spreaderPathAttr);this.spreaderPath.id=thisWheelNav.getSpreaderId();this.spreaderPath.node.id=this.spreaderPath.id;this.spreaderPath.click(function(){thisWheelNav.spreadWheel();});this.inTitleWidth=this.wheelnav.spreaderInTitleWidth;this.inTitleHeight=this.wheelnav.spreaderInTitleHeight;this.outTitleWidth=this.wheelnav.spreaderOutTitleWidth;this.outTitleHeight=this.wheelnav.spreaderOutTitleHeight;if(this.inTitleWidth!==null&&this.inTitleHeight===null){this.inTitleHeight=this.inTitleWidth;}
if(this.inTitleWidth===null&&this.inTitleHeight!==null){this.inTitleWidth=this.inTitleHeight;}
if(this.outTitleWidth!==null&&this.outTitleHeight===null){this.outTitleHeight=this.outTitleWidth;}
if(this.outTitleWidth===null&&this.outTitleHeight!==null){this.outTitleWidth=this.outTitleHeight;}
if(wheelnavTitle().isImageTitle(this.wheelnav.spreaderOutTitle)){if(this.inTitleWidth===null){this.inTitleWidth=32;}
if(this.inTitleHeight===null){this.inTitleHeight=32;}
if(this.outTitleWidth===null){this.outTitleWidth=32;}
if(this.outTitleHeight===null){this.outTitleHeight=32;}}
if(wheelnavTitle().isPathTitle(this.wheelnav.spreaderInTitle)){inTitle=new wheelnavTitle(this.wheelnav.spreaderInTitle,this.wheelnav.raphael.raphael);}
else{inTitle=new wheelnavTitle(this.wheelnav.spreaderInTitle);}
this.inTitleSizeTransform=inTitle.getTitleSizeTransform(this.inTitleWidth,this.inTitleHeight);this.inTitle=inTitle.getTitlePercentAttr(this.spreaderPathIn.titlePosX,this.spreaderPathIn.titlePosY,this.inTitleWidth,this.inTitleHeight);if(wheelnavTitle().isPathTitle(this.wheelnav.spreaderOutTitle)){outTitle=new wheelnavTitle(this.wheelnav.spreaderOutTitle,this.wheelnav.raphael.raphael);}
else{outTitle=new wheelnavTitle(this.wheelnav.spreaderOutTitle);}
this.outTitleSizeTransform=outTitle.getTitleSizeTransform(this.outTitleWidth,this.outTitleHeight);this.outTitle=outTitle.getTitlePercentAttr(this.spreaderPathOut.titlePosX,this.spreaderPathOut.titlePosY,this.outTitleWidth,this.outTitleHeight);var currentTitle=this.outTitle;var currentTitleAttr=this.wheelnav.spreaderTitleOutAttr;var currentTitleWidth=this.outTitleWidth;var currentTitleHeight=this.outTitleHeight;var currentTitleSizeTransform=this.outTitleSizeTransform;if(thisWheelNav.initPercent<thisWheelNav.maxPercent){currentTitle=this.inTitle;currentTitleAttr=this.wheelnav.spreaderTitleInAttr;currentTitleWidth=this.inTitleWidth;currentTitleHeight=this.inTitleHeight;currentTitleSizeTransform=this.inTitleSizeTransform;}
if(wheelnavTitle().isPathTitle(this.wheelnav.spreaderOutTitle)){this.spreaderTitle=thisWheelNav.raphael.path(currentTitle.path);}
else if(wheelnavTitle().isImageTitle(this.wheelnav.spreaderOutTitle)){this.spreaderTitle=this.wheelnav.raphael.image(currentTitle.src,currentPath.titlePosX-(currentTitleWidth/2),currentPath.titlePosY-(currentTitleHeight/2),currentTitleWidth,currentTitleHeight);}
else{this.spreaderTitle=thisWheelNav.raphael.text(currentPath.titlePosX,currentPath.titlePosY,currentTitle.title);}
this.spreaderTitle.attr(this.fontAttr);this.spreaderTitle.attr(currentTitleAttr);this.spreaderTitle.attr({transform:currentTitleSizeTransform});this.spreaderTitle.id=thisWheelNav.getSpreaderTitleId();this.spreaderTitle.node.id=this.spreaderTitle.id;this.spreaderTitle.click(function(){thisWheelNav.spreadWheel();});this.setCurrentTransform();}
return this;};spreader.prototype.setCurrentTransform=function(withoutAnimate){if(this.wheelnav.spreaderEnable){if(withoutAnimate===undefined||withoutAnimate===false){if(this.wheelnav.currentPercent>this.wheelnav.minPercent){currentPath=this.spreaderPathOut.spreaderPathString;}
else{currentPath=this.spreaderPathIn.spreaderPathString;}
spreaderTransformAttr={path:currentPath};this.spreaderPath.animate(spreaderTransformAttr,this.animatetime,this.animateeffect);var currentTitle;var titleTransformAttr;var titleSizeTransform;if(this.wheelnav.currentPercent===this.wheelnav.maxPercent){currentTitle=this.outTitle;titleTransformAttr=this.wheelnav.spreaderTitleOutAttr;this.spreaderPath.attr(this.wheelnav.spreaderPathOutAttr);titleSizeTransform=this.outTitleSizeTransform;}
else{currentTitle=this.inTitle;titleTransformAttr=this.wheelnav.spreaderTitleInAttr;this.spreaderPath.attr(this.wheelnav.spreaderPathInAttr);titleSizeTransform=this.inTitleSizeTransform;}
if(wheelnavTitle().isPathTitle(currentTitle.title)){titleTransformAttr.path=currentTitle.path;titleTransformAttr.transform=titleSizeTransform;}
else if(wheelnavTitle().isImageTitle(currentTitle.title)){titleTransformAttr.x=currentTitle.x;titleTransformAttr.y=currentTitle.y;titleTransformAttr.width=currentTitle.width;titleTransformAttr.height=currentTitle.height;this.spreaderTitle.attr({src:currentTitle.src});}
else{offYOffset=0;if(currentTitle.title==="-"){offYOffset=3;};titleTransformAttr.x=currentTitle.x;titleTransformAttr.y=currentTitle.y-offYOffset;if(currentTitle.title!==null){this.spreaderTitle.attr({text:currentTitle.title});}}
this.spreaderTitle.animate(titleTransformAttr,this.animatetime,this.animateeffect);}
this.spreaderPath.toFront();this.spreaderTitle.toFront();}};spreaderPath=function(){this.NullSpreader=function(helper,custom){if(custom===null){custom=new spreaderPathCustomization();}
helper.setBaseValue(custom.spreaderPercent,custom);return{spreaderPathString:"",titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.PieSpreaderCustomization=function(){var custom=new spreaderPathCustomization();custom.spreaderRadius=25;custom.arcBaseRadiusPercent=1;custom.arcRadiusPercent=1;custom.startRadiusPercent=0;return custom;};this.PieSpreader=function(helper,percent,custom){if(custom===null){custom=PieSpreaderCustomization();}
helper.setBaseValue(custom.spreaderPercent*percent,custom);var arcBaseRadius=helper.sliceRadius*custom.arcBaseRadiusPercent;var arcRadius=helper.sliceRadius*custom.arcRadiusPercent;spreaderPathString=[];helper.StartSpreader(spreaderPathString,helper.startAngle,arcBaseRadius);spreaderPathString.push(helper.ArcTo(arcRadius,helper.middleAngle,arcBaseRadius));spreaderPathString.push(helper.ArcTo(arcRadius,helper.endAngle,arcBaseRadius));spreaderPathString.push(helper.Close());return{spreaderPathString:spreaderPathString,titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.StarSpreaderCustomization=function(){var custom=new spreaderPathCustomization();custom.minRadiusPercent=0.5;return custom;};this.StarSpreader=function(helper,percent,custom){if(custom===null){custom=StarSpreaderCustomization();}
helper.setBaseValue(custom.spreaderPercent*percent,custom);rbase=helper.wheelRadius*custom.spreaderPercent*custom.minRadiusPercent*percent;r=helper.sliceRadius;spreaderPathString=[];sliceAngle=helper.sliceAngle/helper.navItemCount;baseAngle=helper.navAngle;if(helper.endAngle-helper.startAngle<360){baseAngle=helper.startAngle;}
helper.StartSpreader(spreaderPathString,baseAngle,r);for(var i=0;i<helper.navItemCount;i++){startAngle=i*sliceAngle+(baseAngle+sliceAngle/2);middleAngle=startAngle+(sliceAngle/2);endAngle=startAngle+sliceAngle;if(helper.endAngle-helper.startAngle<360){if(i===helper.navItemCount-1){endAngle=middleAngle;}}
spreaderPathString.push(helper.LineTo(startAngle,rbase));spreaderPathString.push(helper.LineTo(middleAngle,r));spreaderPathString.push(helper.LineTo(endAngle,rbase));}
spreaderPathString.push(helper.Close());return{spreaderPathString:spreaderPathString,titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.AntiStarSpreaderCustomization=function(){var custom=new spreaderPathCustomization();custom.minRadiusPercent=0.21;return custom;};this.AntiStarSpreader=function(helper,percent,custom){if(custom===null){custom=AntiStarSpreaderCustomization();}
helper.setBaseValue(custom.spreaderPercent*percent,custom);rbase=helper.wheelRadius*custom.spreaderPercent*custom.minRadiusPercent*percent;r=helper.sliceRadius;spreaderPathString=[];sliceAngle=helper.sliceAngle/helper.navItemCount;baseAngle=helper.navAngle;if(helper.endAngle-helper.startAngle<360){baseAngle=helper.startAngle;helper.StartSpreader(spreaderPathString,baseAngle,rbase);}
else{spreaderPathString.push(helper.MoveTo(helper.startAngle+(helper.navAngle+sliceAngle/2),rbase));}
for(var i=0;i<helper.navItemCount;i++){startAngle=i*sliceAngle+(baseAngle+sliceAngle/2);middleAngle=startAngle+(sliceAngle/2);endAngle=startAngle+sliceAngle;if(helper.endAngle-helper.startAngle<360){if(i===helper.navItemCount-1){endAngle=middleAngle;}}
spreaderPathString.push(helper.LineTo(startAngle,r));spreaderPathString.push(helper.LineTo(middleAngle,rbase));spreaderPathString.push(helper.LineTo(endAngle,r));}
spreaderPathString.push(helper.Close());return{spreaderPathString:spreaderPathString,titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.FlowerSpreaderCustomization=function(){var custom=new spreaderPathCustomization();custom.minRadiusPercent=0.63
custom.menuRadius=7;;return custom;};this.FlowerSpreader=function(helper,percent,custom){if(custom===null){custom=FlowerSpreaderCustomization();}
helper.setBaseValue(custom.spreaderPercent*percent,custom);rbase=helper.wheelRadius*custom.spreaderPercent*custom.minRadiusPercent*percent;r=helper.sliceRadius;spreaderPathString=[];sliceAngle=helper.sliceAngle/helper.navItemCount;baseAngle=helper.navAngle;if(helper.endAngle-helper.startAngle<360){baseAngle=helper.startAngle;helper.StartSpreader(spreaderPathString,baseAngle,rbase);}
else{spreaderPathString.push(helper.MoveTo(helper.startAngle+(helper.navAngle+sliceAngle/2),rbase));}
for(var i=0;i<helper.navItemCount;i++){startAngle=i*sliceAngle+(baseAngle+sliceAngle/2);middleAngle=startAngle+(sliceAngle/2);endAngle=startAngle+sliceAngle;if(helper.endAngle-helper.startAngle<360){if(i===0){spreaderPathString.push(helper.ArcTo(custom.menuRadius,startAngle,rbase));}
if(i===helper.navItemCount-1){endAngle=middleAngle;}}
else{spreaderPathString.push(helper.LineTo(startAngle,rbase));}
spreaderPathString.push(helper.ArcTo(custom.menuRadius,endAngle,rbase));}
spreaderPathString.push(helper.Close());return{spreaderPathString:spreaderPathString,titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.HolderSpreaderCustomization=function(){var custom=new spreaderPathCustomization();custom.minRadiusPercent=0.5;custom.menuRadius=37;return custom;};this.HolderSpreader=function(helper,percent,custom){if(custom===null){custom=HolderSpreaderCustomization();}
helper.setBaseValue(custom.spreaderPercent*percent,custom);rbase=helper.wheelRadius*custom.spreaderPercent*custom.minRadiusPercent*percent;r=helper.sliceRadius;spreaderPathString=[];sliceAngle=helper.sliceAngle/helper.navItemCount;baseAngle=helper.navAngle;if(helper.endAngle-helper.startAngle<360){baseAngle=helper.startAngle;helper.StartSpreader(spreaderPathString,baseAngle,rbase);}
else{spreaderPathString.push(helper.MoveTo(helper.startAngle+(helper.navAngle+sliceAngle/2),rbase));}
for(var i=0;i<helper.navItemCount;i++){startAngle=i*sliceAngle+(baseAngle+sliceAngle/2);middleAngle=startAngle+(sliceAngle/4);endAngle=startAngle+sliceAngle;if(helper.endAngle-helper.startAngle<360){if(i===helper.navItemCount-1){endAngle=middleAngle;}}
else{spreaderPathString.push(helper.LineTo(startAngle,rbase));}
spreaderPathString.push(helper.LineTo(startAngle,r));spreaderPathString.push(helper.ArcBackTo(custom.menuRadius,middleAngle,rbase));spreaderPathString.push(helper.ArcTo(custom.menuRadius,endAngle,r));}
spreaderPathString.push(helper.Close());return{spreaderPathString:spreaderPathString,titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.LineSpreaderCustomization=function(){var custom=new spreaderPathCustomization();custom.minRadiusPercent=0.5;return custom;};this.LineSpreader=function(helper,percent,custom){if(custom===null){custom=LineSpreaderCustomization();}
helper.setBaseValue(custom.spreaderPercent*percent,custom);rbase=helper.wheelRadius*custom.spreaderPercent*custom.minRadiusPercent*percent;r=helper.sliceRadius;spreaderPathString=[];sliceAngle=helper.sliceAngle/helper.navItemCount;baseAngle=helper.navAngle;if(helper.endAngle-helper.startAngle<360){baseAngle=helper.startAngle;}
spreaderPathString.push(helper.MoveTo(baseAngle+sliceAngle/2,r));for(var i=0;i<helper.navItemCount;i++){startAngle=i*sliceAngle+(baseAngle+sliceAngle/2);endAngle=startAngle+sliceAngle;if(helper.navItemCount===2){endAngle-=90;}
spreaderPathString.push(helper.LineTo(startAngle,r));spreaderPathString.push(helper.LineTo(endAngle,r));}
spreaderPathString.push(helper.Close());return{spreaderPathString:spreaderPathString,titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};return this;};marker=function(wheelnav){this.wheelnav=wheelnav;if(this.wheelnav.markerEnable){this.markerHelper=new pathHelper();this.markerHelper.centerX=this.wheelnav.centerX;this.markerHelper.centerY=this.wheelnav.centerY;this.markerHelper.navItemCount=this.wheelnav.navItemCount;this.markerHelper.navAngle=this.wheelnav.navAngle;this.markerHelper.wheelRadius=this.wheelnav.wheelRadius*this.wheelnav.maxPercent;this.markerHelper.sliceAngle=this.wheelnav.navItems[0].sliceAngle;this.markerHelper.startAngle=this.markerHelper.navAngle-(this.markerHelper.sliceAngle/2);this.animateeffect="bounce";this.animatetime=1500;if(this.wheelnav.animateeffect!==null){this.animateeffect=this.wheelnav.animateeffect;}
if(this.wheelnav.animatetime!==null){this.animatetime=this.wheelnav.animatetime;}
this.markerPathMin=this.wheelnav.markerPathFunction(this.markerHelper,this.wheelnav.minPercent,this.wheelnav.markerPathCustom);this.markerPathMax=this.wheelnav.markerPathFunction(this.markerHelper,this.wheelnav.maxPercent,this.wheelnav.markerPathCustom);this.marker=this.wheelnav.raphael.path(this.markerPathMax.markerPathString);this.marker.attr(this.wheelnav.markerAttr);this.marker.id=this.wheelnav.getMarkerId();this.marker.node.id=this.marker.id;}
return this;};marker.prototype.setCurrentTransform=function(navAngle){if(this.wheelnav.markerEnable){var currentPath="";if(this.wheelnav.currentPercent===this.wheelnav.maxPercent){currentPath=this.markerPathMax.markerPathString;}
else{currentPath=this.markerPathMin.markerPathString;}
if(navAngle!==undefined){var rotationAngle=navAngle-this.markerHelper.navAngle;markerTransformAttr={transform:"r,"+(rotationAngle).toString()+","+this.wheelnav.centerX+","+this.wheelnav.centerY,path:currentPath};}
else{markerTransformAttr={path:currentPath};}
this.marker.animate(markerTransformAttr,this.animatetime,this.animateeffect);this.marker.toFront();}};markerPath=function(){this.NullMarker=function(helper,custom){if(custom===null){custom=new markerPathCustomization();}
helper.setBaseValue(custom);return{markerPathString:"",titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.TriangleMarkerCustomization=function(){var custom=new markerPathCustomization();custom.arcBaseRadiusPercent=1.09;custom.arcRadiusPercent=1.2;custom.startRadiusPercent=0;return custom;};this.TriangleMarker=function(helper,percent,custom){if(custom===null){custom=TriangleMarkerCustomization();}
helper.setBaseValue(custom.markerPercent*percent,custom);var arcBaseRadius=helper.sliceRadius*custom.arcBaseRadiusPercent;var arcRadius=helper.sliceRadius*custom.arcRadiusPercent;var startAngle=helper.startAngle+helper.sliceAngle*0.46;var endAngle=helper.startAngle+helper.sliceAngle*0.54;markerPathString=[helper.MoveTo(helper.navAngle,arcBaseRadius),helper.LineTo(startAngle,arcRadius),helper.LineTo(endAngle,arcRadius),helper.Close()];return{markerPathString:markerPathString,titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.PieLineMarkerCustomization=function(){var custom=new markerPathCustomization();custom.arcBaseRadiusPercent=1;custom.arcRadiusPercent=1;custom.startRadiusPercent=0;custom.sliceAngle=null;return custom;};this.PieLineMarker=function(helper,percent,custom){if(custom===null){custom=PieLineMarkerCustomization();}
helper.setBaseValue(custom.markerPercent*percent,custom);var arcBaseRadius=helper.sliceRadius*custom.arcBaseRadiusPercent;var arcRadius=helper.sliceRadius*custom.arcRadiusPercent;if(custom.sliceAngle!==null){helper.startAngle=helper.navAngle-(custom.sliceAngle/2);helper.endAngle=helper.navAngle+(custom.sliceAngle/2);}
markerPathString=[helper.MoveTo(helper.startAngle,arcBaseRadius),helper.ArcTo(arcRadius,helper.endAngle,arcBaseRadius),helper.ArcBackTo(arcRadius,helper.startAngle,arcBaseRadius),helper.Close()];return{markerPathString:markerPathString,titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.MenuMarkerCustomization=function(){var custom=new markerPathCustomization();custom.menuRadius=40;custom.titleRadiusPercent=0.63;custom.lineBaseRadiusPercent=0;return custom;};this.MenuMarker=function(helper,percent,custom){if(custom===null){custom=MenuMarkerCustomization();}
helper.setBaseValue(custom.markerPercent*percent,custom);x=helper.centerX;y=helper.centerY;helper.titleRadius=helper.wheelRadius*custom.titleRadiusPercent*percent;helper.setTitlePos();var menuRadius=custom.menuRadius*percent;if(percent<=0.05){menuRadius=11;}
middleTheta=helper.middleTheta;markerPathString=[["M",helper.titlePosX-(menuRadius*Math.cos(middleTheta)),helper.titlePosY-(menuRadius*Math.sin(middleTheta))],["A",menuRadius,menuRadius,0,0,1,helper.titlePosX+(menuRadius*Math.cos(middleTheta)),helper.titlePosY+(menuRadius*Math.sin(middleTheta))],["A",menuRadius,menuRadius,0,0,1,helper.titlePosX-(menuRadius*Math.cos(middleTheta)),helper.titlePosY-(menuRadius*Math.sin(middleTheta))],["z"]];return{markerPathString:markerPathString,titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.LineMarkerCustomization=function(){var custom=new markerPathCustomization();custom.arcBaseRadiusPercent=1.05;custom.arcRadiusPercent=1.2;custom.startRadiusPercent=0;return custom;};this.LineMarker=function(helper,percent,custom){if(custom===null){custom=LineMarkerCustomization();}
helper.setBaseValue(custom.markerPercent*percent,custom);var arcBaseRadius=helper.sliceRadius*custom.arcBaseRadiusPercent;var arcRadius=helper.sliceRadius*custom.arcRadiusPercent;markerPathString=[helper.MoveTo(helper.navAngle,arcBaseRadius),helper.LineTo(helper.navAngle,arcRadius),helper.Close()];return{markerPathString:markerPathString,titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};this.DropMarkerCustomization=function(){var custom=new markerPathCustomization();custom.dropBaseRadiusPercent=0;custom.dropRadiusPercent=0.15;return custom;};this.DropMarker=function(helper,percent,custom){if(custom===null){custom=DropMarkerCustomization();}
helper.setBaseValue(custom.markerPercent*percent,custom);var arcBaseRadius=helper.sliceRadius*custom.dropBaseRadiusPercent;var startAngle=helper.startAngle+helper.sliceAngle*0.2;var startAngle2=helper.startAngle;var endAngle=helper.startAngle+helper.sliceAngle*0.8;var endAngle2=helper.startAngle+helper.sliceAngle;var dropRadius=helper.sliceRadius*custom.dropRadiusPercent;markerPathString=[helper.MoveTo(0,dropRadius),helper.ArcTo(dropRadius,180,dropRadius),helper.ArcTo(dropRadius,360,dropRadius),helper.MoveTo(helper.navAngle,arcBaseRadius),helper.LineTo(startAngle,dropRadius),helper.LineTo(startAngle2,dropRadius),helper.LineTo(helper.navAngle,dropRadius*1.6),helper.LineTo(endAngle2,dropRadius),helper.LineTo(endAngle,dropRadius),helper.Close()];return{markerPathString:markerPathString,titlePosX:helper.titlePosX,titlePosY:helper.titlePosY};};return this;};var colorpalette={defaultpalette:new Array("#2D9E46","#F5BE41","#F77604","#D63C22","#006BA6","#92ADAF"),purple:new Array("#4F346B","#623491","#9657D6","#AD74E7","#CBA3F3"),greenred:new Array("#17B92A","#FF3D00","#17B92A","#FF3D00"),greensilver:new Array("#1F700A","#79CC3C","#D4E178","#E6D5C3","#AC875D"),oceanfive:new Array("#00A0B0","#6A4A3C","#CC333F","#EB6841","#EDC951"),garden:new Array("#648A4F","#2B2B29","#DF6126","#FFA337","#F57C85"),gamebookers:new Array("#FF9900","#DCDCDC","#BCBCBC","#3299BB","#727272"),parrot:new Array("#D80351","#F5D908","#00A3EE","#929292","#3F3F3F"),pisycholand:new Array("#FF1919","#FF5E19","#FF9F19","#E4FF19","#29FF19"),makeLOVEnotWAR:new Array("#2C0EF0","#B300FF","#6751F0","#FF006F","#8119FF"),theworldismine:new Array("#F21D1D","#FF2167","#B521FF","#7E2AA8","#000000"),fractalloveone:new Array("#002EFF","#00FFF7","#00FF62","#FFAA00","#FFF700"),fractallovetwo:new Array("#FF9500","#FF0000","#FF00F3","#AA00FF","#002EFF"),fractallove:new Array("#002EFF","#00FFF7","#00FF62","#FFAA00","#F5D908","#FF0000","#FF00F3","#AA00FF"),sprinkles:new Array("#272523","#FFACAC","#FFD700","#00590C","#08006D"),goldenyellow:new Array("#D8B597","#8C4006","#B6690F","#E3C57F","#FFEDBE"),hotaru:new Array("#364C4A","#497C7F","#92C5C0","#858168","#CCBCA5")};