WTS Lightning Returns Ultimate Box



Condition: Brand new (MISB)

PM Me for the price or pm me the price you offer. Thanks


Related to : WTS Lightning Returns Ultimate Box
[all variants] Ultimate boot CD for windows does it work in Virtual box???
Hobbies, Games & Toys
Can anyone tell me does this application run inside virtual box at all???
http://www.ubcd4win.com/
[Ultimate] Sound Issue - Ultimate Edition 3.0 *PLEASE HELP*
Hobbies, Games & Toys
When I plug my Dr. Dre Beats into the output chord it comes through the laptop speakers and the headphones. I just want it to come through the headphones? Any way I can do this on Linux Mint? Thanks.
By the way, I realize this is Ubuntu Forums, and not Linux Mint forums, but their website is down right now.
[Ultimate] Ultimate Edition 3.0 Dual Boot?
Hobbies, Games & Toys
How do I go upon dual booting this along with Windows 7? I got it on my laptop but that is only because I originally had Ubuntu 11.10 on there, so it just re wrote over that. When I tried to install it on my brothers laptop the only options that come up are "Delete Windows 7, install Ultimate Edition 3.0", and "something else". << (That is literally what it says). I cannot format his hard drive because he will go nuts, lol. He has been a long time Windows user, I plan on teaching him how to use Linux and everything about it. I absolutely have to keep Windows on there just incase he does not like this. Thanks.
Ubuntu auto-update of Thunderbird + Lightning breaks Lightning
Hobbies, Games & Toys
This is marked as 'solved' as the post contains a work-around for 'not so technical' users; but IMHO a fix should be put into the Ubuntu software centre / auto-update process.
PC is running Ubuntu 11.10; with (originally) Thunderbird 14 & Lightning 1.6 installed & functioning (do not have precise details of the original installation process used); used mainly by 1 user on the machine with sudoer rights (a.n.other user has the 'admin role', but the TB user is aware of the admin password).
The Ubuntu auto-update pushed out early October upgraded TB to v15; requiring in turn an upgrade of Lightning to v 1.7, as TB v15 add-on-manager correctly reported that Ligh
Raphael.js text box .getBBox() returns shorter width
Hobbies, Games & Toys

sorry my code is a bit lengthy, I've put it below. You can see it in action on this static page.

This problem occurs in both Chrome and Firefox, and I'm using Raphael 2.1.2.

The problem is my popup text objects are not returning their true width. There's a text object, boxT[i], and then a rect object, boxB[i], whose width is determined by the .getBBox() method on boxT[i].

Example:

Example of the
problem

The true width of the text element is 386, as can be seen here by drilling down on .node:

true width
image

However, not only does .getBBox() return a shorter width of ~362, calling console.log on el.node.clientWidth also returns 362, which seems to contradict what calling console.log on the element and then drilling down shows.

wrong width
console log

Any help is appreciated, I've found a few things on StackOverflow and elsewhere that seem to be similar problems, but they either looked a little different or I didn't quite get the solution.

Here's the whole code. Sorry, the data is inline and I'm not used to JavaScript styles; the part that draws these boxes is right at the end:

//////////
// data ///////////////////////////////////////////////////////////
//////////

var data = {'cumul': [1200000, 2600000, 3276000, 3876000, 7776000,
47776000, 49776000, 51076000, 53076000, 70857462, 71430462, 72430462,
98930462, 100230462, 101160462, 101882462, 102532462, 103332462,
203332462, 206232462, 207232462, 215732462, 216599462, 217399462,
218399462, 220499462, 221199462, 238199462, 238899462, 243899462,
244706462, 245706462, 246237862, 246810862, 248310862, 249510862,
250534071, 251134071, 254434071, 255234071, 256534071, 257284071,
270284071, 270798401, 271798401, 276916200, 279916200, 280794200,
281444200, 282244200, 289244200, 290024200, 290725200, 291379200,
297837220, 298837220, 299837220, 349837220, 350837220, 356837220,
556837220, 557566220, 558416220, 559276220, 560116220, 560890943,
705890943, 706758943, 782758943, 838758943, 839608943, 840408943],
'daycode': [56, 67, 118, 122, 157, 167, 350, 426, 426, 432, 454, 503,
507, 516, 530, 564, 583, 711, 747, 830, 896, 914, 931, 1001, 1176,
1203, 1205, 1310, 1406, 1467, 1512, 1574, 1585, 1666, 1783, 1840,
1840, 1881, 1911, 2027, 2172, 2175, 2177, 2280, 2348, 2464, 2546,
2580, 2583, 2645, 2646, 2653, 2689, 2702, 2714, 2804, 2877, 2984,
3051, 3094, 3216, 3217, 3230, 3243, 3262, 3344, 3428, 3482, 3527,
3532, 3570, 3601], 'actualdata': [1200000, 1400000, 676000, 600000,
3900000, 40000000, 2000000, 1300000, 2000000, 17781462, 573000,
1000000, 26500000, 1300000, 930000, 722000, 650000, 800000, 100000000,
2900000, 1000000, 8500000, 867000, 800000, 1000000, 2100000, 700000,
17000000, 700000, 5000000, 807000, 1000000, 531400, 573000, 1500000,
1200000, 1023209, 600000, 3300000, 800000, 1300000, 750000, 13000000,
514330, 1000000, 5117799, 3000000, 878000, 650000, 800000, 7000000,
780000, 701000, 654000, 6458020, 1000000, 1000000, 50000000, 1000000,
6000000, 200000000, 729000, 850000, 860000, 840000, 774723, 145000000,
868000, 76000000, 56000000, 850000, 800000]},
    maxes = {'cumul': 1000000000, 'daycode': 3601, 'actualdata':
200000000};
    //manually update maxes.cumul for x axis

var spacingOffsets = [0, 0, 0, 0, 0, 0, 0, -5, 5, 10, 
0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 
0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 
-4, 0, 4, 0, 0, 0, 0, -3, 3, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0]; // manually set, moves circle up or down number of days

var xOffsPix = [30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0]; // manually set, moves small description box left or right
number of pixels

box_angles = [25, 335, 25, 335, 50, 325, 0, 50, 35, 330, 
310, 50, 10, 330, 335, 15, 344, 0, 0, 0, 
20, 0, 340, 0, 0, 30, 330, 0, 0, 0, 
0, 30, 330, 0, 0, 45, 315, 350, 0, 0, 
130, 35, 320, 0, 0, 0, 0, 30, 350, 160, 
0, 200, 170, 0, 190, 0, 0, 0, 0, 0, 
155, 0, 190, 190, 190, 180, 180, 180, 155, 205, 
180, 180]; // manually set

realday = [];
for (i=0; i<spacingOffsets.length; i++) {
    realday[i] = data.daycode[i] + spacingOffsets[i];
}; // day + offset

var money = {'daycode': [0, 16, 32, 48, 65, 81, 98, 114, 131, 147,
163, 179, 195, 210, 225, 241, 256, 272, 288, 304, 320, 337, 353, 369,
385, 401, 417, 433, 447, 462, 478, 494, 506, 522, 538, 553, 569, 585,
601, 617, 633, 647, 662, 678, 694, 710, 726, 742, 758, 773, 789, 805,
821, 837, 853, 870, 887, 904, 921, 937, 953, 969, 985, 1001, 1016,
1032, 1048, 1065, 1081, 1098, 1115, 1131, 1147, 1163, 1179, 1195,
1212, 1228, 1245, 1262, 1278, 1294, 1310, 1326, 1341, 1357, 1373,
1389, 1405, 1421, 1437, 1453, 1469, 1484, 1501, 1517, 1534, 1550,
1566, 1582, 1598, 1613, 1629, 1644, 1659, 1676, 1694, 1711, 1728,
1744, 1760, 1774, 1789, 1805, 1821, 1838, 1853, 1868, 1883, 1899,
1916, 1932, 1949, 1966, 1982, 1999, 2015, 2032, 2049, 2067, 2084,
2101, 2119, 2135, 2148, 2162, 2179, 2196, 2213, 2231, 2248, 2264,
2280, 2296, 2311, 2327, 2343, 2359, 2375, 2391, 2405, 2419, 2434,
2450, 2466, 2482, 2497, 2513, 2529, 2545, 2560, 2576, 2592, 2609,
2624, 2640, 2655, 2669, 2687, 2704, 2721, 2737, 2753, 2769, 2785,
2800, 2816, 2832, 2849, 2865, 2881, 2897, 2912, 2928, 2944, 2960,
2976, 2992, 3007, 3024, 3039, 3055, 3071, 3087, 3103, 3119, 3135,
3151, 3167, 3183, 3198, 3214, 3229, 3244, 3259, 3275, 3291, 3307,
3323, 3339, 3355, 3371, 3387, 3403, 3419, 3435, 3451, 3467, 3483,
3499, 3515, 3532, 3548, 3563, 3579, 3597, 3614, 3629], 'cumul': [0,
324, 649, 974, 1298, 1623, 1847, 1992, 2138, 2283, 2429, 3056, 3717,
4668, 5620, 6515, 7187, 7601, 8016, 8430, 8654, 8844, 9102, 9359,
9617, 9874, 10132, 10591, 12304, 13020, 13737, 14453, 16401, 17140,
17879, 18618, 19357, 19906, 20454, 21003, 21731, 22884, 24037, 24664,
25168, 25560, 25895, 26399, 26914, 27384, 27855, 28325, 28795, 29265,
29624, 29747, 29870, 29993, 30116, 30463, 31012, 31560, 32109, 32658,
33542, 34505, 35255, 35445, 35636, 35826, 36016, 36207, 36699, 37360,
38020, 38603, 38827, 39050, 39274, 39498, 39801, 40136, 40439, 40696,
40954, 41211, 41469, 41726, 41973, 42219, 42465, 42711, 42958, 44413,
44559, 44704, 44850, 44995, 45253, 45701, 46149, 46697, 47593, 48724,
49843, 49966, 50090, 50213, 50336, 50940, 51679, 53068, 54456, 54713,
54893, 55072, 55822, 57076, 58005, 58531, 58800, 59069, 59326, 59516,
59707, 59897, 60087, 60278, 60401, 60457, 60513, 60569, 60625, 60681,
62550, 64297, 64823, 64958, 65092, 65226, 65361, 65640, 65920, 66200,
66637, 67085, 67533, 67980, 68428, 68876, 70354, 71720, 72862, 73858,
74396, 74933, 75470, 76008, 76545, 77407, 78281, 78684, 79087, 79490,
79781, 80385, 81706, 82994, 83128, 83263, 83397, 83554, 84170, 84785,
85401, 86140, 86689, 87036, 87383, 87730, 88077, 88446, 88984, 89521,
89947, 90215, 90484, 90753, 91021, 91436, 91928, 92421, 92913, 93406,
93798, 94100, 94503, 95085, 95668, 96250, 96832, 97683, 98970, 100180,
100918, 101501, 101870, 102240, 102609, 102855, 102990, 103124,
103258, 103393, 103583, 104255, 104927, 105374, 105665, 105957,
106248, 106539, 106830, 107770, 108599, 108711, 108823, 109976]} ,
    moneymaxes = {'daycode': 3629, 'cumul': 109976};

box_texts = ["Sample box text that's really long and shows the width
matching problem", 'Sample', 'Sample', 'Sample', 'Sample', 'Sample',
'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample',
'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample',
'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample',
'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample',
'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample',
'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample',
'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample',
'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample',
'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample',
'Sample', 'Sample'];

descripts = ["Sample text", 'Sample', 'Sample', 'Sample', 'Sample',
'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample',
'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample',
'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample',
'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample',
'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample',
'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample',
'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample',
'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample',
'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample', 'Sample',
'Sample', 'Sample', 'Sample'];

 var mouseoverStarts = [36, 47, 76, 98, 102, 
    137, 138, 142, 147, 177, 
    330, 406, 412, 434, 446, 
    452, 483, 487, 496, 510, 
    523, 527, 536, 544, 550, 
    563, 584, 691, 727, 731, 
    810, 876, 894, 911, 916, 
    934, 981, 1156, 1183, 1185, 
    1196, 1223, 1290, 1386, 1447, 
    1492, 1554, 1565, 1594, 1646, 
    1763, 1820, 1861, 1891, 1901, 
    2007, 2152, 2155, 2157, 2192, 
    2195, 2250, 2328, 2444, 2526, 
    2560, 2563, 2566, 2600, 2625, 
    2626, 2633, 2665, 2666, 2669, 
    2673, 2682, 2694, 2709, 2722, 
    2784, 2857, 2964, 3031, 3074, 
    3196, 3197, 3210, 3223, 3236, 
    3237, 3242, 3250, 3263, 3324, 
    3408, 3462, 3507, 3512, 3547, 
    3550, 3552, 3581, 3590],
    mouseoverEnds =  [47, 76, 87, 102, 137, 
    138, 142, 147, 177, 187, 
    370, 412, 434, 446, 452, 
    474, 487, 496, 510, 523, 
    527, 536, 544, 550, 563, 
    584, 603, 727, 731, 767, 
    850, 894, 911, 916, 934, 
    951, 1021, 1183, 1185, 1196, 
    1223, 1225, 1330, 1426, 1487, 
    1532, 1565, 1594, 1605, 1686, 
    1803, 1860, 1891, 1901, 1931, 
    2047, 2155, 2157, 2192, 2195, 
    2197, 2300, 2368, 2484, 2560, 
    2563, 2566, 2600, 2603, 2626, 
    2633, 2665, 2666, 2669, 2673, 
    2682, 2694, 2709, 2722, 2734, 
    2824, 2897, 3004, 3071, 3114, 
    3197, 3210, 3223, 3236, 3237, 
    3242, 3250, 3263, 3282, 3364, 
    3448, 3502, 3512, 3547, 3550, 
    3552, 3581, 3590, 3621],
  mouseoverItems = [[0], [0, 1], [1], [2], [2, 3], 
  [2, 3, 4], [3, 4], [4], [4, 5], [5], 
  [6], [7, 8], [7, 8, 9], [7, 8, 9, 10], [9, 10], 
  [10], [11], [11, 12], [11, 12, 13], [11, 12, 13, 14],
  [12, 13, 14], [13, 14], [14], [14, 15], [15],
  [15, 16], [16], [17], [17, 18], [18],
  [19], [20], [20, 21], [20, 21, 22], [21, 22],
  [22], [23], [24], [24, 25], [24, 25, 26], 
  [25, 26], [26], [27], [28], [29], 
  [30], [31], [32, 31], [32], [33], 
  [34], [35, 36], [37], [37, 38], [38],
  [39], [40], [40, 41], [40, 41, 42], [41, 42],
  [42], [43], [44], [45], [46],
  [46, 47], [48, 46, 47], [48, 47], [48], [49], 
  [49, 50], [49, 50, 51], [50, 51], [51], [51, 52], 
  [52], [52, 53], [52, 53, 54], [53, 54], [54], 
  [55], [56], [57], [58], [59], 
  [60], [60, 61], [60, 61, 62], [60, 61, 62, 63], [61, 62, 63],
  [62, 63], [64, 62, 63], [64, 63], [64], [65], 
  [66], [67], [68], [68, 69], [69], 
  [69, 70], [70], [70, 71], [71]];

var yaxisdata = {labels: ['2005-01-01', '2005-04-01', '2005-07-01',
'2005-10-01', '2006-01-01', '2006-04-01', '2006-07-01', '2006-10-01',
'2007-01-01', '2007-04-01', '2007-07-01', '2007-10-01', '2008-01-01',
'2008-04-01', '2008-07-01', '2008-10-01', '2009-01-01', '2009-04-01',
'2009-07-01', '2009-10-01', '2010-01-01', '2010-04-01', '2010-07-01',
'2010-10-01', '2011-01-01', '2011-04-01', '2011-07-01', '2011-10-01',
'2012-01-01', '2012-04-01', '2012-07-01', '2012-10-01', '2013-01-01',
'2013-04-01', '2013-07-01', '2013-10-01', '2014-01-01', '2014-04-01',
'2014-07-01', '2014-10-01', '2015-01-01'], values: [0, 90, 181, 273,
365, 455, 546, 638, 730, 820, 911, 1003, 1095, 1186, 1277, 1369, 1461,
1551, 1642, 1734, 1826, 1916, 2007, 2099, 2191, 2281, 2372, 2464,
2556, 2647, 2738, 2830, 2922, 3012, 3103, 3195, 3287, 3377, 3468,
3560, 3652], ymax: 3652};

var xaxisbr = {labels: ['0', '1', '2', '3', '4', '5'], values: [0,
200000000, 400000000, 600000000, 800000000, 1000000000]};

var colors = {green: "#54BC21", pink: "#F00092" , ltblue: "#D1D7DD",
ltmagenta: "#8A0054", dkmagenta: "#570035", white: "#ffffff", dkblue:
"#1E354B", medblue: "#436893", dkgray: "#373737"};

var width = 800;
var height = 5000;
var margin = {l: 16, r: 16, t: 16, b: 16};
var graphPos = {l: margin.l + 100, t: margin.t + 100, r: width -
margin.r, b:height - margin.b};
n = data.cumul.length;

defaultRad = 6;

/////////////////////////////
// graph element functions
/////////////////////////////////////////////
/////////////////////////////

function calcDataY(day) {
    return day / maxes.daycode * (graphPos.b - graphPos.t) +
graphPos.t
};
function calcDataX(br) {
    return br / maxes.cumul * (graphPos.r - graphPos.l) + graphPos.l
};
function calcDataXM(br) {
    return br / moneymaxes.cumul * (graphPos.r - graphPos.l) +
graphPos.l
};
function calcRad(br) {
    var minRad = 20;
    var maxRad = 100;
    return (maxRad - minRad) * Math.sqrt(br/maxes.actualdata) +
minRad;
};

///////////
// setup //////////////////////////////////////////////
///////////

var p0 = Raphael("paper", width, height);
firstrun = false; // for infobox

//////////
// axes //////////////////////////////////////////
//////////

yOffs = 14;
yTick = 5;
yTickOffs = 4;
xAx = {offs1: 16, tick: 6, offs2: 6, offs3: 14};
yaxline =
p0.path("M"+(calcDataX(0)-yOffs)+','+calcDataY(0)+'L'+(calcDataX(0)-yOffs)+','+calcDataY(yaxisdata.ymax)).attr({stroke:
colors.ltblue, 'stroke-width': '1px'});
yticks = [];
ylabels = [];
for (i=0; i<yaxisdata.values.length; i++) {
    yticks[i] =
p0.path("M"+(calcDataX(0)-yOffs)+','+calcDataY(yaxisdata.values[i])+'L'+(calcDataX(0)-yOffs-yTick)+','+calcDataY(yaxisdata.values[i])).attr({stroke:
colors.ltblue, 'stroke-width': '1px'});
    ylabels[i] = p0.text(calcDataX(0)-yOffs-yTick-yTickOffs,
calcDataY(yaxisdata.values[i]),
yaxisdata.labels[i]).attr({"font-family": "Righteous, sans-serif",
fill: colors.ltblue, "font-size":"11.5pt", 'text-anchor': 'end'});
};
xbrticks=[];
xbrlabels=[];
for (i=0; i<xaxisbr.values.length; i++) {
    xbrticks[i] =
p0.path("M"+calcDataX(xaxisbr.values[i])+','+(calcDataY(0)-xAx.offs1)+'L'+(calcDataX(xaxisbr.values[i]))+','+(calcDataY(0)-xAx.offs1-xAx.tick)).attr({stroke:
colors.pink, 'stroke-width': '2px'});
    xbrlabels[i] = p0.text(calcDataX(xaxisbr.values[i]),
calcDataY(0)-xAx.offs1-xAx.tick-xAx.offs2,
xaxisbr.labels[i]).attr({"font-family": "Righteous, sans-serif", fill:
colors.pink, "font-size":"11.5pt"});
};
var xbrexpl = p0.text(calcDataX(0) - 20,
calcDataY(0)-xAx.offs1-xAx.tick-xAx.offs2-xAx.offs3, "X axis
label").attr({"font-family": "Righteous, sans-serif", fill:
colors.pink, "font-size":"11.5pt", "text-anchor":"start"});
var xmonexpl = p0.text(calcDataXM(0) - 20,
calcDataY(0)-xAx.offs1-xAx.tick-xAx.offs2-xAx.offs3-30, "Secondary
axis label").attr({"font-family": "Righteous, sans-serif", fill:
colors.green, "font-size":"11.5pt", "text-anchor":"start"});
var tempxxx = p0.text(calcDataXM(0),
calcDataY(0)-xAx.offs1-xAx.tick-xAx.offs2-xAx.offs3-15,
"|").attr({"font-family": "Righteous, sans-serif", fill: colors.green,
"font-size":"10pt", "text-anchor":"start"});

////////////////////
// graph elements
/////////////////////////////////////////////////////////
////////////////////

var dollarsigns = [];
for (i = 0; i < money.daycode.length; i++) {
    dollarsigns[i] = p0.text(calcDataXM(money.cumul[i]),
calcDataY(money.daycode[i]), "$").attr({"font-family": "Righteous,
sans-serif", fill: colors.green, "font-size":"30pt"});
    dollarsigns[i].id = "ds"+i;
};
var dataline = [];
for (i = 0; i < n - 1; i++) {
    mtext = "M"+calcDataX(data.cumul[i])+","+calcDataY(realday[i])+"
L"+calcDataX(data.cumul[i+1])+","+calcDataY(realday[i+1]);
    dataline[i] = p0.path(mtext);
    dataline[i].attr({stroke: colors.ltmagenta, "stroke-width":2});
    dataline[i].id = "line"+i;
};
var circles = [];
for (i = 0; i < n - 1; i++) {
    circles[i] = p0.circle(calcDataX(data.cumul[i]),
calcDataY(realday[i]), defaultRad);
    // same formula for cx, cy used in box loop - careful to change it
both places if changed
    circles[i].attr({"fill": colors.pink, stroke: "#ddd",
"stroke-width":1.5});
    circles[i].id = "c"+i;
};

////////////////////////////////
// popup description boxes  /////////////////
////////////////////////////////


imarg = 14;
iboxcount = 0;
// so that the jquery click function does not immediately remove the
box upon creation

function makebox(num) {
    iboxcount++;
    iboxgroup = p0.set();
    iboxtext = p0.text(100, (window.pageYOffset ||
document.documentElement.scrollTop) + 16,
descripts[num]).attr({"font-family": "Ubuntu, sans-serif",
'font-style': 'italic', 'font-size': '14pt', 'text-anchor': 'start',
'fill': '#000'});
    iboxbox = p0.rect(iboxtext.getBBox().x - imarg,
iboxtext.getBBox().y - imarg, iboxtext.getBBox().width + imarg*2,
iboxtext.getBBox().height + imarg*2).attr({fill: colors.white,
"stroke-width": "0.5px", opacity: 0.7});
    iboxtext.toFront();
    iboxgroup.push(iboxtext);
    iboxgroup.push(iboxbox);
    iboxgroup.mouseout(function() {
        iboxcount = 0;
        iboxgroup.remove();
    });
    iboxgroup.toFront();
};

$(document).click(function(e) {
    if (iboxcount > 1) {
        iboxgroup.remove();
        iboxcount = 0;
    } else {
        iboxcount++;
    };
});

animate_on = function(n2) {
            p0.getById("c"+n2).stop().animate({r:
calcRad(data.actualdata[n2])}, 480, "bounce");
            p0.getById("ba"+n2).stop().animate({opacity: 1}, 320,
"<>");
            p0.getById("bt"+n2).stop().animate({opacity: 1}, 320,
"<>");
            p0.getById("bb"+n2).stop().animate({opacity: 1}, 320,
"<>");
};
animate_off = function(num) {
            p0.getById("c"+num).stop().animate({r: defaultRad}, 320,
"bounce");
            p0.getById("ba"+num).stop().animate({opacity: 0}, 240,
"<>");
            p0.getById("bt"+num).stop().animate({opacity: 0}, 240,
"<>");
            p0.getById("bb"+num).stop().animate({opacity: 0}, 240,
"<>");
};

animate_on_each = function(num, ignoreindex, ignorearray) {
    animate_on(num);
};
animate_off_each = function(num, ignoreindex, ignorearray) {
    animate_off(num);
};

moboxes = [];
function drawmoboxes() {
    for (i=0; i<mouseoverStarts.length; i++) {
        tempstart = calcDataY(mouseoverStarts[i])
        moboxes[i] = p0.rect(margin.l, tempstart, graphPos.r-margin.l,
calcDataY(mouseoverEnds[i])-tempstart);
        moboxes[i].attr({fill: "#f00", opacity: 0});
        moboxes[i].id = "mob" + i;
        moboxes[i].hover(function () {
            j = parseInt(this.id.slice(3));
            mouseoverItems[j].forEach(animate_on_each);
            }, function () {
            mouseoverItems[j].forEach(animate_off_each);
            });
    };
};

drawmoboxes();

////////////////////////////////
// pointer boxes on mouseover //
// only their opacity changes
///////////////////////////////////////////////
////////////////////////////////

boxB = []; // bounding box
boxT = []; // text
boxA = []; // angle triangle
boxG = []; // groups
boxOff = 20;
boxMarg = 4;
boxTri = 5; // plusminus of triangle
for (i=0; i<box_angles.length; i++) {
    thiscx = calcDataX(data.cumul[i]); // same formula as in var
circles
    thiscy = calcDataY(realday[i]);
    thisr = calcRad(data.actualdata[i]);
    a = box_angles[i];
    arad = a * 0.0174532925;
    tana = Math.tan(arad);
    if (((a > 90) && (a < 270))||((a < -90)
&& (a > -270))) { 
        tana = -tana ;
        newx=thiscx-thisr-boxOff;
        txtanc = "end"
        } else {
        newx=thiscx+thisr+boxOff;
        txtanc = "start";
    };
    if ((a < -90) && (a > -270)) {tana = -tana };
    newy = thiscy - tana*(thisr+boxOff)
    boxT[i] = p0.text(newx, newy, i+" "+box_texts[i]+' 
Click for more.').attr({"font-family": "Ubuntu, sans-serif", fill:
colors.medblue, "font-size":"11pt", "text-anchor": txtanc});
    boxT[i].id = 'bt'+i
    bw = p0.getById("bt"+i).getBBox(true).width;
    bh = p0.getById("bt"+i).getBBox(true).height;
    bx = p0.getById("bt"+i).getBBox(true).x;
    by = p0.getById("bt"+i).getBBox(true).y;
    boxB[i] = p0.rect(bx - boxMarg, by - boxMarg, bw + 4*boxMarg,
bh+2*boxMarg).attr({fill: colors.ltblue, "stroke-width":0});

    boxB[i].id = 'bb'+i
    boxT[i].toFront();
    tx = thiscx + thisr * Math.cos(arad);
    ty = thiscy - thisr * Math.sin(arad);
    if (txtanc == "start") {
        pathtri = 'M'+(bx-boxMarg+1)+','+(newy-boxTri) +
'L'+(bx-boxMarg+1)+','+(newy+boxTri) + 'L'+tx+','+ty+'Z'
        } else {
        pathtri = 'M'+(bx+bw+boxMarg-1)+','+(newy-boxTri) +
'L'+(bx+bw+boxMarg-1)+','+(newy+boxTri) + 'L'+tx+','+ty+'Z';
       
//console.log(boxT[i]._.bboxwt.x2+boxMarg-boxB[i].attrs.x-boxB[i].attrs.width);
       
//boxB[i].transform("t"+(boxT[i]._.bboxwt.x2+boxMarg-boxB[i].attrs.x-boxB[i].attrs.width)+",0")
    };
    boxA[i] = p0.path(pathtri).attr({fill: colors.ltblue,
"stroke-width":0})
    boxA[i].id = 'ba'+i
    boxA[i].attr({opacity: 0});
    boxT[i].attr({opacity: 0});
    boxB[i].attr({opacity: 0});
    boxB[i].hover(function () {
            cn = parseInt(this.id.slice(2));
            animate_on(cn);
            // this.toFront();
            }, function () {
            cn = parseInt(this.id.slice(2));
            animate_off(cn);
            });
    boxT[i].hover(function () {
            cn = parseInt(this.id.slice(2));
            animate_on(cn);
            // this.toFront();
            }, function () {
            cn = parseInt(this.id.slice(2));
            animate_off(cn);
            });
    boxA[i].hover(function () {
            cn = parseInt(this.id.slice(2));
            animate_on(cn);
            // this.toFront();
            }, function () {
            cn = parseInt(this.id.slice(2));
            animate_off(cn);
            });
    boxB[i].click(function () {
            cn = parseInt(this.id.slice(2));
            makebox(cn);
            });
    boxT[i].click(function () {
            cn = parseInt(this.id.slice(2));
            makebox(cn);
            });
    boxA[i].click(function () {
            cn = parseInt(this.id.slice(2));
            makebox(cn);
            });
};


console.log("getBBox width =",boxT[0].getBBox(true).width);
console.log("boxT[0].node.clientWidth =",boxT[0].node.clientWidth);
console.log(boxT[0]);

WTS Lightning Returns Ultimate Box
Hobbies, Games & Toys
Condition: Brand new (MISB)

PM Me for the price or pm me the price you offer. Thanks



Privacy Policy - Copyrights Notice - Feedback - Report Violation - RSS 2017 © bighow.org All Rights Reserved .