annotate test-data/quast/quast_report.html @ 3:b35f42891c7b draft default tip

planemo upload commit 8721cd95e02dd6b3a02e2eb549cd8ff6b1675ff8-dirty
author pimarin
date Sun, 23 Jul 2023 13:36:37 +0000
parents 869509bc478e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1 <!DOCTYPE html>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2 <html lang="en">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3 <head>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
5
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
6 <style rel="stylesheet">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
7 /*!
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
8 * Bootstrap v2.0.4
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
9 *
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
10 * Copyright 2012 Twitter, Inc
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
11 * Licensed under the Apache License v2.0
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
12 * http://www.apache.org/licenses/LICENSE-2.0
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
13 *
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
14 * Designed and built with all the love in the world @twitter by @mdo and @fat.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
15 */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
16 .clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
17 .clearfix:after{clear:both;}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
18 .hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
19 .input-block-level{display:block;width:100%;min-height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
20 .tooltip{position:absolute;z-index:1020;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.8;filter:alpha(opacity=80);}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
21 .tooltip.top{margin-top:-2px;}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
22 .tooltip.right{margin-left:2px;}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
23 .tooltip.bottom{margin-top:2px;}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
24 .tooltip.left{margin-left:-2px;}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
25 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
26 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
27 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
28 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
29 .tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
30 .tooltip-arrow{position:absolute;width:0;height:0;}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
31
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
32 </style>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
33
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
34 <style rel="stylesheet">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
35 /* Main things */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
36 html, body, div, span, h1, h3, h4, h5, h6, blockquote, pre,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
37 em, sub, sup, dl, dt, dd, ol, ul, li,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
38 fieldset, form, label,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
39 table, caption, tbody, tfoot, thead,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
40 article, aside, canvas, details, figure, figcaption, footer, header, hgroup,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
41 menu, nav, output, section, time {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
42 margin: 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
43 padding: 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
44 border: 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
45 font-size: 100%;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
46 font: inherit;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
47 vertical-align: baseline;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
48 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
49 body {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
50 margin: 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
51 font-family: Lucida Grande, Verdana, Arial, sans-serif;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
52 font-size: 12px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
53 color: black;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
54 padding-bottom: 30px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
55 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
56 a {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
57 text-decoration: none;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
58 /*color: #0c4f72;*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
59 color: #0077B5;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
60 border-bottom: 1px solid #487b95;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
61 border-color: #487b95; /* #487b95 */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
62 border-color: rgba(12, 79, 114, 0.2); /* #0c4f72; */ /* #a0d2eb; */ /*rgba(0, 88, cc, 0.3);*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
63 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
64 a:visited {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
65 text-decoration: none;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
66 color: #8C66B2;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
67 border-bottom: 1px solid #8c66b2;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
68 border-color: #8c66b2;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
69 border-color: rgba(102, 51, 153, 0.2);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
70 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
71 a:hover {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
72 text-decoration: none;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
73 color: #b33; /* #0088cc; */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
74 border-bottom: 1px solid #ffcccc;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
75 border-color: #ffcccc;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
76 border-color: rgba(255, 0, 0, 0.2); /* #55b2e0; */ /*#005580;*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
77 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
78 a.dark_bg_link {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
79 color: white; /* #0088cc; */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
80 border-bottom: 1px solid #cccccc;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
81 border-color: #cccccc;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
82 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
83 a.dark_bg_link:hover {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
84 color: white; /* #0088cc; */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
85 border-bottom: 1px solid white;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
86 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
87
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
88 .leading_link_dot {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
89 border-bottom: white solid 1px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
90 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
91
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
92 a.header_link, a.header_link:hover, a.header_link:visited {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
93 color: black;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
94 border-bottom: 1px solid #bbb;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
95 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
96
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
97
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
98 .dotted-link {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
99 cursor: pointer;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
100 text-decoration: none;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
101 /*color: #0c4f72;*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
102 color: #0077B5;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
103 border-bottom: 1px dashed #487b95;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
104 border-color: #487b95; /* #487b95 */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
105 border-color: rgba(12, 79, 114, 0.2);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
106 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
107 .dotted-link:hover {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
108 text-decoration: none;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
109 color: #b33 !important;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
110 border-bottom: 1px dashed #b33 !important;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
111 border-color: rgba(255, 0, 0, 0.2) !important;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
112 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
113 .js:visited {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
114 color: #0077B5;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
115 border-bottom: 1px dashed #487b95;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
116 border-color: #487b95;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
117 border-color: rgba(12, 79, 114, 0.2);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
118 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
119
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
120 .selected-switch {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
121 background-color: #fafad2;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
122 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
123
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
124 .json-code {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
125 display: none;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
126 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
127 .smallcapitals {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
128 font-size: .875em;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
129 letter-spacing: .15em;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
130 margin-right: -.15em;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
131 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
132 .highlight {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
133 background-color:#FFF9B5;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
134 padding: 0 3px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
135 margin-left: -3px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
136 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
137
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
138 ul.list {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
139 list-style-type: none;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
140 padding: 0 0 0 2em;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
141 margin: -0.5em 0 0 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
142 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
143 ul.list li {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
144 margin-bottom: 0.7em;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
145 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
146
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
147 ul.mdash {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
148 margin: -1em 0 0 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
149 padding: 0 0 0 2em;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
150 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
151 ul.mdash li {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
152 margin-bottom: 0.7em;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
153 list-style-type: none;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
154 text-indent: -1.3em;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
155 behavior: expression(!this.before ? this.before = this.innerHTML = '&mdash;&nbsp;' + this.innerHTML : '');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
156 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
157 ul.mdash li:before {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
158 content: '\2014\a0';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
159 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
160
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
161 .small_line_indent {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
162 height: 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
163 margin-top: -7px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
164 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
165 /************/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
166
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
167 /* Tooltips */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
168 .tooltip {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
169 font-size: 0.9em;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
170 margin-bottom: 5px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
171 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
172 .tooltip.in {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
173 opacity: 1;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
174 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
175 .tooltip-inner {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
176 text-align: left;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
177 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
178 .tooltip-link,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
179 .tooltip-link:visited {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
180 text-decoration: none;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
181 color: #000;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
182 border-bottom: 1px dashed #bbb;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
183 cursor: hand;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
184 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
185 .tooltip-link:hover {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
186 text-decoration: none;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
187 color: #b33;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
188 border-bottom: 1px dashed #b33;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
189 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
190 /************/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
191
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
192 /*********/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
193
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
194 .hs {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
195 /* Полупробел для
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
196 разделения разрядов чисел:
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
197 10<span class="hs"></span>000 */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
198 margin-left: .2em;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
199 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
200
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
201 .rhs {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
202 /* Полупробел на случай,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
203 если реальный пробел важен,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
204 например между ценой и валютой:
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
205 1<span class="rhs">&nbsp;</span>$ */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
206 font-size: 50%;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
207 line-height: 1;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
208 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
209
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
210 /*9490<span class="rhs"> </span>€<br/>*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
211 /*12<span class="hs"></span>650<span class="rhs"> </span>$<br/>*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
212 /*379<span class="hs"></span>000<span*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
213 /*class="rhs"> </span><span class="b-rub">Р</span><br/>*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
214 /*100<span class="hs"></span>500<span class="rhs"> </span>+*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
215
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
216 /* for wrapping long words with no spaces */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
217 /* http://stackoverflow.com/questions/3247358/css-how-do-i-wrap-text-with-no-whitespace-inside-a-td */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
218 .wrapword {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
219 white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
220 white-space: -pre-wrap; /* Opera 4-6 */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
221 white-space: -o-pre-wrap; /* Opera 7 */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
222 white-space: pre-wrap; /* css-3 */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
223 word-wrap: break-word; /* Internet Explorer 5.5+ */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
224 word-break: break-all;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
225 white-space: normal;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
226 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
227
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
228
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
229 .space_1px {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
230 height: 1px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
231 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
232 .space_2px {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
233 height: 2px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
234 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
235 .space_3px {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
236 height: 3px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
237 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
238 .space_4px {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
239 height: 4px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
240 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
241 .space_5px {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
242 height: 5px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
243 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
244 .space_6px {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
245 height: 6px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
246 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
247 .space_7px {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
248 height: 7px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
249 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
250 .space_8px {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
251 height: 8px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
252 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
253 .space_9px {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
254 height: 9px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
255 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
256 .space_10px {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
257 height: 10px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
258 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
259 .layout-table {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
260 width: 99%;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
261 border-spacing: 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
262 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
263
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
264 .layout-table td.layout-table-td {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
265 vertical-align: top;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
266 padding: 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
267 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
268 .layout-table td.layout-table-fst-td {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
269 min-width: 400px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
270 padding-right: 50px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
271 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
272 .layout-table td.layout-table-snd-td {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
273 min-width: 200px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
274 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
275 .layout-table td.layout-table-trd-td {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
276 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
277
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
278 .top-panel {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
279 background-color: #444;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
280 color: white;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
281 min-width: 650px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
282 padding: 8px 10px 0 147px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
283 min-height: 70px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
284 text-shadow: -1px -1px 0 #111;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
285 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
286 .top-panel span {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
287 color: white;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
288 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
289 .top-panel a {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
290 color: white;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
291 border-bottom: 1px solid white;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
292 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
293 #to_main_menu_button a {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
294 border-bottom: none;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
295 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
296 .page_title {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
297 margin-top: -3px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
298 margin-bottom: -3px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
299 color: white;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
300 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
301 .page_subtitle {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
302 line-height: 100%;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
303 white-space: nowrap;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
304 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
305 .content {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
306 margin-left: 147px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
307 width: 90%;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
308 /*padding-top: 20px;*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
309 margin-bottom: 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
310 /*padding-bottom: 50px;*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
311 /*{# padding-right: 20px;#}*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
312 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
313 .p_after_content {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
314 margin-left: 147px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
315 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
316 .links_after_content{
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
317 font-size: 14px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
318 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
319
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
320 p {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
321 display: block;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
322 font-size: 12px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
323 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
324
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
325 h1 {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
326 display: block;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
327 font-size: 26px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
328 padding: 0 -3px 0 5px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
329 -webkit-margin-before: 5px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
330 -webkit-margin-after: 0px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
331 -webkit-margin-start: 0px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
332 -webkit-margin-end: 0px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
333 font-weight: bold;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
334 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
335
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
336 #header {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
337 display: block;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
338 width: 100%;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
339 margin-bottom: 10px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
340 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
341
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
342 .logo_img {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
343 height: 40px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
344 margin-bottom: -10px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
345 margin-left: -6px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
346 margin-right: -7px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
347 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
348 </style>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
349
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
350 <style rel="stylesheet">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
351 .report-and-plots {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
352 margin-top: 15px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
353 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
354
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
355 /****************/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
356 /* REPORT TABLE */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
357 .report {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
358 margin: 0 100px 50px 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
359 float: left;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
360 font-size: 1em;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
361 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
362
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
363 #main_report {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
364 /*min-width: 600px;*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
365 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
366
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
367 /*#extended_link {*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
368 /*margin-top: 5px;*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
369 /*}*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
370
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
371 #ref_report {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
372 /*min-width: 300px;*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
373 margin-right: 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
374 margin-bottom: 20px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
375 /*margin-right: 200px;*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
376 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
377
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
378 .report td {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
379 margin: 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
380 padding: 2px 0.6em 0 14px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
381 /*min-width: 100px;*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
382 max-width: 400px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
383 white-space: nowrap;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
384 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
385 .report td.number {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
386 text-align: right;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
387 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
388
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
389 .report tr.top_row_tr td,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
390 .report tr.group_header td {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
391 font-weight: bold;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
392 border-bottom: 1px solid #ddd;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
393 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
394 .report tr.group_header td {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
395 height: 20px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
396 vertical-align: bottom;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
397 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
398
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
399 #ref_report tr.top_row_tr td,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
400 #ref_report tr.group_header td {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
401 font-weight: normal;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
402 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
403
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
404 .report tr td:first-child {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
405 padding-left: 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
406 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
407 .report tr td:last-child {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
408 padding-right: 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
409 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
410
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
411 .report tr.row_hidden, tr.group_empty {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
412 display: none;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
413 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
414
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
415 .report tr.secondary_hidden {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
416 display: none;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
417 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
418
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
419 /*.report td.secondary_td {*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
420 /*padding-left: 10px !important;*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
421 /*}*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
422
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
423 span.heatmap_legend {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
424 font-size: 11px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
425 display: inline-block;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
426 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
427
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
428 #heatmap_header {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
429 margin-right: 30px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
430 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
431
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
432 #combined_reference_length {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
433 padding-top: 1px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
434 padding-bottom: 15px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
435 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
436
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
437 span.metric-name.expandable {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
438 margin-left: -13px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
439 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
440
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
441 span.metric-name.secondary {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
442 margin-left: 13px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
443 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
444
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
445 span.metric-name.expandable.collapsed::before {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
446 content: '+ ';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
447 color: #CCC;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
448 cursor: pointer;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
449 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
450
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
451 span.metric-name.expandable.expanded::before {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
452 content: '\2212\a0'; /* &minus&nbsp */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
453 color: #CCC;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
454 cursor: pointer;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
455 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
456
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
457 .report_legend {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
458 padding-left: 15px; /* compensate drag handles */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
459 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
460
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
461 #contigs_are_ordered {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
462 z-index: 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
463 position: relative;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
464 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
465
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
466
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
467 /*.report .report-table-header {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
468 font-weight: bold;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
469 }*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
470
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
471 /*.report thead td {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
472 border-bottom: 1px solid #bbb;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
473 }*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
474
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
475
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
476 /*************/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
477 /* Draggable */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
478 table.moving_table {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
479 box-shadow: -0px 0px 5px 1px #888888;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
480 -moz-box-shadow: -0px 0px 5px 1px #888888;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
481 -webkit-box-shadow: -0px 0px 5px 1px #888888;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
482 /*outline: 1px solid #888888;*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
483 background-color: white;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
484 z-index: 3 !important;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
485 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
486
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
487 table.draggable .drag_handle {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
488 padding: 2px 1px 0 1px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
489 margin: 0 2px 0 1px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
490
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
491 cursor: grab;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
492 cursor: -moz-grab;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
493 cursor: -webkit-grab;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
494 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
495
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
496 table.draggable .drag_handle .drag_image {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
497 height: 9px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
498 width: 9px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
499 display: inline-block;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
500 background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAIAAABv85FHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAiElEQVQImV2OsQ3FIAxEz2AhCAukyATZf5ZMQI8okZUjhfWj6F/pd09n6b1f1wUgxkgSAACS53lqSmnfdxHBLyJCMucsc877vv201nobKSUl2VoLIeATksdxKEmf+UqOxczGGDHGP7Ztm5qZmfmkYx8upehaq/fu4P2WZK1VAdRaAbjqXghBVR9BvlQcgtQsKgAAAABJRU5ErkJggg==") no-repeat;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
501 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
502
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
503 table.draggable .drag_handle:active,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
504 table.draggable td.cell_of_moving_table .drag_handle {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
505 cursor: grabbing !important;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
506 cursor: -moz-grabbing !important;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
507 cursor: -webkit-grabbing !important;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
508 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
509
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
510 /* Override the styles for the first and the last columns of the table.report.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
511 The cloned table contains a single column which is both first and last,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
512 and we don't need it to inherit those styles. */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
513 table.draggable td.cell_of_moving_table {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
514 padding-left: 14px !important;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
515 padding-right: 0.6em !important;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
516 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
517
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
518 table.draggable td.hovered_column_td {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
519 background-color: #cccccc;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
520 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
521
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
522 table.draggable td.second_through_last_col_headers_td {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
523 padding-left: 0 !important; /* compensate handle images */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
524 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
525
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
526 table.draggable td.cell_of_empty_space * {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
527 visibility: hidden;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
528 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
529
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
530 table.draggable td.cell_of_empty_space {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
531 border: none !important;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
532 /*border-left: 1px solid #888888;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
533 border-right: 1px solid #888888;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
534 margin-right: -1px !important;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
535 margin-left: -1px !important; */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
536 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
537
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
538 /*table.draggable td.bottom_cell_of_empty_space {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
539 border-bottom: 1px solid #888888 !important;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
540 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
541
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
542 table.draggable td.top_cell_of_empty_space {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
543 border-top: 1px solid #888888 !important;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
544 /*margin-top: -1px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
545 }*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
546
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
547 table.draggable td.top_cell_of_empty_space {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
548 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
549
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
550 table.draggable td.left_to_cell_of_empty_space {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
551 /*outline-left: 1px solid #888888;*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
552 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
553
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
554 table.draggable td.right_to_cell_of_empty_space {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
555 /*outline-right: 1px solid #888888;*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
556 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
557
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
558 /********/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
559 /* META */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
560 #main_ref_genome {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
561
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
562 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
563
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
564 table#refgenome td.last_row {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
565 border-top: 1px solid #ddd;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
566 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
567
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
568 /************/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
569 /* PLOTTING */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
570 .plot-switch {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
571 margin-left: 10px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
572 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
573
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
574 .plot-mis-type-switch {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
575 margin-left: 23px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
576 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
577
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
578 .plot-wrapper {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
579 padding-right: 80px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
580 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
581
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
582 .plot-header {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
583 margin-left: 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
584 font-weight: bold;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
585 height: 1.5em;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
586 display: block;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
587 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
588
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
589 .plots {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
590 margin-left: -30px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
591 margin-right: 70px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
592 margin-top: 2px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
593 margin-bottom: 50px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
594 float: left;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
595 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
596 .plots td {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
597 vertical-align: top;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
598 white-space: nowrap;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
599 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
600
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
601 .plots div#plots-switches, tr#plots-into-tr p {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
602 padding-left: 30px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
603 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
604
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
605 #legend-placeholder {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
606 min-width: 80px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
607 margin-top: -2px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
608 margin-left: -5px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
609 position: relative;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
610 z-index: 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
611 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
612
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
613 .legendColorBox div {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
614 display: none;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
615 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
616
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
617 #legend-placeholder td {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
618 vertical-align: top;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
619 white-space: nowrap;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
620 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
621
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
622 #plot-placeholder {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
623 width: 986px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
624 height: 600px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
625
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
626 /* for auto sizing plots when resizing the page
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
627 min-width: 500px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
628 min-height: 500px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
629 width: 100%;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
630 min-height: 400px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
631 height: 50%; */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
632
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
633 margin-left: -55px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
634 margin-right: 20px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
635 float: left;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
636
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
637 z-index: 2;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
638 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
639
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
640 #change-assembly {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
641 white-space: nowrap;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
642 width: 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
643 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
644
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
645 /*************/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
646 /* Plot tips */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
647 #plot_tip {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
648 position: absolute;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
649 opacity: 1;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
650 padding: 2px 5px 2px 5px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
651
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
652 z-index: 1;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
653 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
654
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
655 #plot_tip_vertical_rule, #plot_tip_horizontal_rule {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
656 position: absolute;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
657 border: 1px solid #BBB;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
658 z-index: -2;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
659 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
660
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
661 #plot_tip_vertical_rule {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
662 border-left: 1px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
663 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
664
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
665 #plot_tip_horizontal_rule {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
666 border-top: 1px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
667 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
668
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
669 .white_stroked {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
670 color: black;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
671 background-color: white;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
672 text-shadow:
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
673 -3px -3px 0 white,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
674 3px -3px 0 white,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
675 -3px 3px 0 white,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
676 3px 3px 0 white;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
677 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
678
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
679 img.icon_plot {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
680 width: 14px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
681 height: 12px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
682 display: inline-block;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
683 content: '';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
684 background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAANCAYAAACZ3F9/AAAACXBIWXMAAAsTAAALEwEAmpwYAAA7oGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMjEgNzkuMTU1NzcyLCAyMDE0LzAxLzEzLTE5OjQ0OjAwICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoTWFjaW50b3NoKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxNS0wOC0wN1QxNjowMzowNCswMzowMDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE1LTA4LTA3VDIxOjE2OjMyKzAzOjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNS0wOC0wN1QyMToxNjozMiswMzowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDphYjJhNzRkZi04MjcxLTQ1NjctOTgxNy0zNTVkNTAwNmQ5OTk8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEb2N1bWVudElEPnhtcC5kaWQ6ZWUxMmZkZGQtZWQ3OC00MTliLTk5MDctZTQ5OTkyZDUyNjRiPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6ZWUxMmZkZGQtZWQ3OC00MTliLTk5MDctZTQ5OTkyZDUyNjRiPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmVlMTJmZGRkLWVkNzgtNDE5Yi05OTA3LWU0OTk5MmQ1MjY0Yjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNS0wOC0wN1QxNjowMzowNCswMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjQzY2E0MmJhLWQ2YmItNGQ5MC05MDQ0LTc2NDJiMjgxNGVjZTwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNS0wOC0wN1QyMTowMjo1NSswMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmFiMmE3NGRmLTgyNzEtNDU2Ny05ODE3LTM1NWQ1MDA2ZDk5OTwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNS0wOC0wN1QyMToxNjozMiswMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+NjU1MzU8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjE0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjEzPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz6T8SobAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAD7SURBVHjaYvz//z8DOYCJgUxAHY393d3PGRgYPqDjG4sWfnh348ZzZLUsyJz///5JwNjPP/1guPbuG4MJ63cGtn9/GQSlpfhx2sjCx/ft8apVDF/OnmF4zcjG8OL7H4YDxy8wfPcMYnjNyv0Np8bf378xiGqpMzz9/Z/h7c6dDKab5jA4mOsyPPr+n+Hhq/cMOJ3K9OMbw0cdfYY3nxkYDPlvMHxh/MbALyvH4IklcFA0sjAzc737ysAg9vc3g4CmBoOApgayNBcyhxE5ASRERDwX4OXk5GDnYPjy8xcDAyMjA8P//wy/f/1mUFRW/l5RVy+JVePgTjmAAQCr211NDit/xwAAAABJRU5ErkJggg==");
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
685 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
686
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
687 #sortRefsBtn label {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
688 display: block;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
689 margin-left: 20px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
690 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
691 #sortRefsBtn input {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
692 float: left;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
693 margin-left: -20px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
694 margin-right: 7px;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
695 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
696
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
697 #mincontig {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
698 margin-bottom: 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
699 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
700 </style>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
701
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
702
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
703 <script type="text/javascript">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
704 /*! jQuery v1.8.2 jquery.com | jquery.org/license */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
705 (function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s),function(a,c){b[c]=!0}),b}function J(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(I,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:+d+""===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else d=b}return d}function K(a){var b;for(b in a){if(b==="data"&&p.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function ba(){return!1}function bb(){return!0}function bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function bi(a,b){do a=a[b];while(a&&a.nodeType!==1);return a}function bj(a,b,c){b=b||0;if(p.isFunction(b))return p.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return p.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=p.grep(a,function(a){return a.nodeType===1});if(be.test(b))return p.filter(b,d,!c);b=p.filter(b,d)}return p.grep(a,function(a,d){return p.inArray(a,b)>=0===c})}function bk(a){var b=bl.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d<e;d++)p.event.add(b,c,h[c][d])}g.data&&(g.data=p.extend({},g.data))}function bE(a,b){var c;if(b.nodeType!==1)return;b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c==="object"?(b.parentNode&&(b.outerHTML=a.outerHTML),p.support.html5Clone&&a.innerHTML&&!p.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):c==="input"&&bv.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):c==="option"?b.selected=a.defaultSelected:c==="input"||c==="textarea"?b.defaultValue=a.defaultValue:c==="script"&&b.text!==a.text&&(b.text=a.text),b.removeAttribute(p.expando)}function bF(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bG(a){bv.test(a.type)&&(a.defaultChecked=a.checked)}function bY(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=bW.length;while(e--){b=bW[e]+c;if(b in a)return b}return d}function bZ(a,b){return a=b||a,p.css(a,"display")==="none"||!p.contains(a.ownerDocument,a)}function b$(a,b){var c,d,e=[],f=0,g=a.length;for(;f<g;f++){c=a[f];if(!c.style)continue;e[f]=p._data(c,"olddisplay"),b?(!e[f]&&c.style.display==="none"&&(c.style.display=""),c.style.display===""&&bZ(c)&&(e[f]=p._data(c,"olddisplay",cc(c.nodeName)))):(d=bH(c,"display"),!e[f]&&d!=="none"&&p._data(c,"olddisplay",d))}for(f=0;f<g;f++){c=a[f];if(!c.style)continue;if(!b||c.style.display==="none"||c.style.display==="")c.style.display=b?e[f]||"":"none"}return a}function b_(a,b,c){var d=bP.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function ca(a,b,c,d){var e=c===(d?"border":"content")?4:b==="width"?1:0,f=0;for(;e<4;e+=2)c==="margin"&&(f+=p.css(a,c+bV[e],!0)),d?(c==="content"&&(f-=parseFloat(bH(a,"padding"+bV[e]))||0),c!=="margin"&&(f-=parseFloat(bH(a,"border"+bV[e]+"Width"))||0)):(f+=parseFloat(bH(a,"padding"+bV[e]))||0,c!=="padding"&&(f+=parseFloat(bH(a,"border"+bV[e]+"Width"))||0));return f}function cb(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=!0,f=p.support.boxSizing&&p.css(a,"boxSizing")==="border-box";if(d<=0||d==null){d=bH(a,b);if(d<0||d==null)d=a.style[b];if(bQ.test(d))return d;e=f&&(p.support.boxSizingReliable||d===a.style[b]),d=parseFloat(d)||0}return d+ca(a,b,c||(f?"border":"content"),e)+"px"}function cc(a){if(bS[a])return bS[a];var b=p("<"+a+">").appendTo(e.body),c=b.css("display");b.remove();if(c==="none"||c===""){bI=e.body.appendChild(bI||p.extend(e.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write("<!doctype html><html><body>"),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,"display"),e.body.removeChild(bI)}return bS[a]=c,c}function ci(a,b,c,d){var e;if(p.isArray(b))p.each(b,function(b,e){c||ce.test(a)?d(a,e):ci(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&p.type(b)==="object")for(e in b)ci(a+"["+e+"]",b[e],c,d);else d(a,b)}function cz(a){return function(b,c){typeof b!="string"&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h<i;h++)d=g[h],f=/^\+/.test(d),f&&(d=d.substr(1)||"*"),e=a[d]=a[d]||[],e[f?"unshift":"push"](c)}}function cA(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h,i=a[f],j=0,k=i?i.length:0,l=a===cv;for(;j<k&&(l||!h);j++)h=i[j](c,d,e),typeof h=="string"&&(!l||g[h]?h=b:(c.dataTypes.unshift(h),h=cA(a,c,d,e,h,g)));return(l||!h)&&!g["*"]&&(h=cA(a,c,d,e,"*",g)),h}function cB(a,c){var d,e,f=p.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((f[d]?a:e||(e={}))[d]=c[d]);e&&p.extend(!0,a,e)}function cC(a,c,d){var e,f,g,h,i=a.contents,j=a.dataTypes,k=a.responseFields;for(f in k)f in d&&(c[k[f]]=d[f]);while(j[0]==="*")j.shift(),e===b&&(e=a.mimeType||c.getResponseHeader("content-type"));if(e)for(f in i)if(i[f]&&i[f].test(e)){j.unshift(f);break}if(j[0]in d)g=j[0];else{for(f in d){if(!j[0]||a.converters[f+" "+j[0]]){g=f;break}h||(h=f)}g=g||h}if(g)return g!==j[0]&&j.unshift(g),d[g]}function cD(a,b){var c,d,e,f,g=a.dataTypes.slice(),h=g[0],i={},j=0;a.dataFilter&&(b=a.dataFilter(b,a.dataType));if(g[1])for(c in a.converters)i[c.toLowerCase()]=a.converters[c];for(;e=g[++j];)if(e!=="*"){if(h!=="*"&&h!==e){c=i[h+" "+e]||i["* "+e];if(!c)for(d in i){f=d.split(" ");if(f[1]===e){c=i[h+" "+f[0]]||i["* "+f[0]];if(c){c===!0?c=i[d]:i[d]!==!0&&(e=f[0],g.splice(j--,0,e));break}}}if(c!==!0)if(c&&a["throws"])b=c(b);else try{b=c(b)}catch(k){return{state:"parsererror",error:c?k:"No conversion from "+h+" to "+e}}}h=e}return{state:"success",data:b}}function cL(){try{return new a.XMLHttpRequest}catch(b){}}function cM(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function cU(){return setTimeout(function(){cN=b},0),cN=p.now()}function cV(a,b){p.each(b,function(b,c){var d=(cT[b]||[]).concat(cT["*"]),e=0,f=d.length;for(;e<f;e++)if(d[e].call(a,b,c))return})}function cW(a,b,c){var d,e=0,f=0,g=cS.length,h=p.Deferred().always(function(){delete i.elem}),i=function(){var b=cN||cU(),c=Math.max(0,j.startTime+j.duration-b),d=1-(c/j.duration||0),e=0,f=j.tweens.length;for(;e<f;e++)j.tweens[e].run(d);return h.notifyWith(a,[j,d,c]),d<1&&f?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:p.extend({},b),opts:p.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:cN||cU(),duration:c.duration,tweens:[],createTween:function(b,c,d){var e=p.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(e),e},stop:function(b){var c=0,d=b?j.tweens.length:0;for(;c<d;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;cX(k,j.opts.specialEasing);for(;e<g;e++){d=cS[e].call(j,a,k,j.opts);if(d)return d}return cV(j,k),p.isFunction(j.opts.start)&&j.opts.start.call(a,j),p.fx.timer(p.extend(i,{anim:j,queue:j.opts.queue,elem:a})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function cX(a,b){var c,d,e,f,g;for(c in a){d=p.camelCase(c),e=b[d],f=a[c],p.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=p.cssHooks[d];if(g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}}function cY(a,b,c){var d,e,f,g,h,i,j,k,l=this,m=a.style,n={},o=[],q=a.nodeType&&bZ(a);c.queue||(j=p._queueHooks(a,"fx"),j.unqueued==null&&(j.unqueued=0,k=j.empty.fire,j.empty.fire=function(){j.unqueued||k()}),j.unqueued++,l.always(function(){l.always(function(){j.unqueued--,p.queue(a,"fx").length||j.empty.fire()})})),a.nodeType===1&&("height"in b||"width"in b)&&(c.overflow=[m.overflow,m.overflowX,m.overflowY],p.css(a,"display")==="inline"&&p.css(a,"float")==="none"&&(!p.support.inlineBlockNeedsLayout||cc(a.nodeName)==="inline"?m.display="inline-block":m.zoom=1)),c.overflow&&(m.overflow="hidden",p.support.shrinkWrapBlocks||l.done(function(){m.overflow=c.overflow[0],m.overflowX=c.overflow[1],m.overflowY=c.overflow[2]}));for(d in b){f=b[d];if(cP.exec(f)){delete b[d];if(f===(q?"hide":"show"))continue;o.push(d)}}g=o.length;if(g){h=p._data(a,"fxshow")||p._data(a,"fxshow",{}),q?p(a).show():l.done(function(){p(a).hide()}),l.done(function(){var b;p.removeData(a,"fxshow",!0);for(b in n)p.style(a,b,n[b])});for(d=0;d<g;d++)e=o[d],i=l.createTween(e,q?h[e]:0),n[e]=h[e]||p.style(a,e),e in h||(h[e]=i.start,q&&(i.end=i.start,i.start=e==="width"||e==="height"?1:0))}}function cZ(a,b,c,d,e){return new cZ.prototype.init(a,b,c,d,e)}function c$(a,b){var c,d={height:a},e=0;b=b?1:0;for(;e<4;e+=2-b)c=bV[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function da(a){return p.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}var c,d,e=a.document,f=a.location,g=a.navigator,h=a.jQuery,i=a.$,j=Array.prototype.push,k=Array.prototype.slice,l=Array.prototype.indexOf,m=Object.prototype.toString,n=Object.prototype.hasOwnProperty,o=String.prototype.trim,p=function(a,b){return new p.fn.init(a,b,c)},q=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,r=/\S/,s=/\s+/,t=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,u=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,y=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,z=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,A=/^-ms-/,B=/-([\da-z])/gi,C=function(a,b){return(b+"").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener("DOMContentLoaded",D,!1),p.ready()):e.readyState==="complete"&&(e.detachEvent("onreadystatechange",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return d.find(a);this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:"",jquery:"1.8.2",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),"slice",k.call(arguments).join(","))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h=="boolean"&&(k=h,h=arguments[1]||{},i=2),typeof h!="object"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i<j;i++)if((a=arguments[i])!=null)for(c in a){d=h[c],e=a[c];if(h===e)continue;k&&e&&(p.isPlainObject(e)||(f=p.isArray(e)))?(f?(f=!1,g=d&&p.isArray(d)?d:[]):g=d&&p.isPlainObject(d)?d:{},h[c]=p.extend(k,g,e)):e!==b&&(h[c]=e)}return h},p.extend({noConflict:function(b){return a.$===p&&(a.$=i),b&&a.jQuery===p&&(a.jQuery=h),p},isReady:!1,readyWait:1,holdReady:function(a){a?p.readyWait++:p.ready(!0)},ready:function(a){if(a===!0?--p.readyWait:p.isReady)return;if(!e.body)return setTimeout(p.ready,1);p.isReady=!0;if(a!==!0&&--p.readyWait>0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger("ready").off("ready")},isFunction:function(a){return p.type(a)==="function"},isArray:Array.isArray||function(a){return p.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||"object"},isPlainObject:function(a){if(!a||p.type(a)!=="object"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,"constructor")&&!n.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return!a||typeof a!="string"?null:(typeof b=="boolean"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!="string")return null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(w.test(b.replace(y,"@").replace(z,"]").replace(x,"")))return(new Function("return "+b))();p.error("Invalid JSON: "+b)},parseXML:function(c){var d,e;if(!c||typeof c!="string")return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&p.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,"ms-").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;f<g;)if(c.apply(a[f++],d)===!1)break}else if(h){for(e in a)if(c.call(a[e],e,a[e])===!1)break}else for(;f<g;)if(c.call(a[f],f,a[f++])===!1)break;return a},trim:o&&!o.call(" ")?function(a){return a==null?"":o.call(a)}:function(a){return a==null?"":(a+"").replace(t,"")},makeArray:function(a,b){var c,d=b||[];return a!=null&&(c=p.type(a),a.length==null||c==="string"||c==="function"||c==="regexp"||p.isWindow(a)?j.call(d,a):p.merge(d,a)),d},inArray:function(a,b,c){var d;if(b){if(l)return l.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=c.length,e=a.length,f=0;if(typeof d=="number")for(;f<d;f++)a[e++]=c[f];else while(c[f]!==b)a[e++]=c[f++];return a.length=e,a},grep:function(a,b,c){var d,e=[],f=0,g=a.length;c=!!c;for(;f<g;f++)d=!!b(a[f],f),c!==d&&e.push(a[f]);return e},map:function(a,c,d){var e,f,g=[],h=0,i=a.length,j=a instanceof p||i!==b&&typeof i=="number"&&(i>0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h<i;h++)e=c(a[h],h,d),e!=null&&(g[g.length]=e);else for(f in a)e=c(a[f],f,d),e!=null&&(g[g.length]=e);return g.concat.apply([],g)},guid:1,proxy:function(a,c){var d,e,f;return typeof c=="string"&&(d=a[c],c=a,a=d),p.isFunction(a)?(e=k.call(arguments,2),f=function(){return a.apply(c,e.concat(k.call(arguments)))},f.guid=a.guid=a.guid||p.guid++,f):b},access:function(a,c,d,e,f,g,h){var i,j=d==null,k=0,l=a.length;if(d&&typeof d=="object"){for(k in d)p.access(a,c,k,d[k],1,g,e);f=1}else if(e!==b){i=h===b&&p.isFunction(e),j&&(i?(i=c,c=function(a,b,c){return i.call(p(a),c)}):(c.call(a,e),c=null));if(c)for(;k<l;k++)c(a[k],d,i?e.call(a[k],k,c(a[k],d)):e,h);f=1}return f?a:j?c.call(a):l?c(a[0],d):g},now:function(){return(new Date).getTime()}}),p.ready.promise=function(b){if(!d){d=p.Deferred();if(e.readyState==="complete")setTimeout(p.ready,1);else if(e.addEventListener)e.addEventListener("DOMContentLoaded",D,!1),a.addEventListener("load",p.ready,!1);else{e.attachEvent("onreadystatechange",D),a.attachEvent("onload",p.ready);var c=!1;try{c=a.frameElement==null&&e.documentElement}catch(f){}c&&c.doScroll&&function g(){if(!p.isReady){try{c.doScroll("left")}catch(a){return setTimeout(g,50)}p.ready()}}()}}return d.promise(b)},p.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){E["[object "+b+"]"]=b.toLowerCase()}),c=p(e);var F={};p.Callbacks=function(a){a=typeof a=="string"?F[a]||G(a):p.extend({},a);var c,d,e,f,g,h,i=[],j=!a.once&&[],k=function(b){c=a.memory&&b,d=!0,h=f||0,f=0,g=i.length,e=!0;for(;i&&h<g;h++)if(i[h].apply(b[0],b[1])===!1&&a.stopOnFalse){c=!1;break}e=!1,i&&(j?j.length&&k(j.shift()):c?i=[]:l.disable())},l={add:function(){if(i){var b=i.length;(function d(b){p.each(b,function(b,c){var e=p.type(c);e==="function"&&(!a.unique||!l.has(c))?i.push(c):c&&c.length&&e!=="string"&&d(c)})})(arguments),e?g=i.length:c&&(f=b,k(c))}return this},remove:function(){return i&&p.each(arguments,function(a,b){var c;while((c=p.inArray(b,i,c))>-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return!i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},p.extend({Deferred:function(a){var b=[["resolve","done",p.Callbacks("once memory"),"resolved"],["reject","fail",p.Callbacks("once memory"),"rejected"],["notify","progress",p.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return a!=null?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b<d;b++)c[b]&&p.isFunction(c[b].promise)?c[b].promise().done(g(b,j,c)).fail(f.reject).progress(g(b,i,h)):--e}return e||f.resolveWith(j,c),f.promise()}}),p.support=function(){var b,c,d,f,g,h,i,j,k,l,m,n=e.createElement("div");n.setAttribute("className","t"),n.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5";if(!c||!c.length)return{};f=e.createElement("select"),g=f.appendChild(e.createElement("option")),h=n.getElementsByTagName("input")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:n.className!=="t",enctype:!!e.createElement("form").enctype,html5Clone:e.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",boxModel:e.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick"),n.detachEvent("onclick",m)),h=e.createElement("input"),h.value="t",h.setAttribute("type","radio"),b.radioValue=h.value==="t",h.setAttribute("checked","checked"),h.setAttribute("name","t"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j="on"+k,l=j in n,l||(n.setAttribute(j,"return;"),l=typeof n[j]=="function"),b[k+"Bubbles"]=l;return p(function(){var c,d,f,g,h="padding:0;margin:0;border:0;display:block;overflow:hidden;",i=e.getElementsByTagName("body")[0];if(!i)return;c=e.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",i.insertBefore(c,i.firstChild),d=e.createElement("div"),c.appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",f=d.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",l=f[0].offsetHeight===0,f[0].style.display="",f[1].style.display="none",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!=="1%",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:"4px"}).width==="4px",g=e.createElement("div"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width="0",d.style.width="1px",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!="undefined"&&(d.innerHTML="",d.style.cssText=h+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display="block",d.style.overflow="visible",d.innerHTML="<div></div>",d.firstChild.style.width="5px",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(p.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c=="string",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||p.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c=="object"||typeof c=="function")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,f=b.length;e<f;e++)delete d[b[e]];if(!(c?K:p.isEmptyObject)(d))return}}if(!c){delete h[i].data;if(!K(h[i]))return}g?p.cleanData([a],!0):p.support.deleteExpando||h!=h.window?delete h[i]:h[i]=null},_data:function(a,b,c){return p.data(a,b,c,!0)},acceptData:function(a){var b=a.nodeName&&p.noData[a.nodeName.toLowerCase()];return!b||b!==!0&&a.getAttribute("classid")===b}}),p.fn.extend({data:function(a,c){var d,e,f,g,h,i=this[0],j=0,k=null;if(a===b){if(this.length){k=p.data(i);if(i.nodeType===1&&!p._data(i,"parsedAttrs")){f=i.attributes;for(h=f.length;j<h;j++)g=f[j].name,g.indexOf("data-")||(g=p.camelCase(g.substring(5)),J(i,g,k[g]));p._data(i,"parsedAttrs",!0)}}return k}return typeof a=="object"?this.each(function(){p.data(this,a)}):(d=a.split(".",2),d[1]=d[1]?"."+d[1]:"",e=d[1]+"!",p.access(this,function(c){if(c===b)return k=this.triggerHandler("getData"+e,[d[0]]),k===b&&i&&(k=p.data(i,a),k=J(i,a,k)),k===b&&d[1]?this.data(d[0]):k;d[1]=c,this.each(function(){var b=p(this);b.triggerHandler("setData"+e,d),p.data(this,a,c),b.triggerHandler("changeData"+e,d)})},null,c,arguments.length>1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e==="inprogress"&&(e=c.shift(),d--),e&&(b==="fx"&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks("once memory").add(function(){p.removeData(a,b+"queue",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!="string"&&(c=a,a="fx",d--),arguments.length<d?p.queue(this[0],a):c===b?this:this.each(function(){var b=p.queue(this,a,c);p._queueHooks(this,a),a==="fx"&&b[0]!=="inprogress"&&p.dequeue(this,a)})},dequeue:function(a){return this.each(function(){p.dequeue(this,a)})},delay:function(a,b){return a=p.fx?p.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){var d,e=1,f=p.Deferred(),g=this,h=this.length,i=function(){--e||f.resolveWith(g,[g])};typeof a!="string"&&(c=a,a=b),a=a||"fx";while(h--)d=p._data(g[h],a+"queueHooks"),d&&d.empty&&(e++,d.empty.add(i));return i(),f.promise(c)}});var L,M,N,O=/[\t\r\n]/g,P=/\r/g,Q=/^(?:button|input)$/i,R=/^(?:button|input|object|select|textarea)$/i,S=/^a(?:rea|)$/i,T=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,U=p.support.getSetAttribute;p.fn.extend({attr:function(a,b){return p.access(this,p.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(s);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{f=" "+e.className+" ";for(g=0,h=b.length;g<h;g++)f.indexOf(" "+b[g]+" ")<0&&(f+=b[g]+" ");e.className=p.trim(f)}}}return this},removeClass:function(a){var c,d,e,f,g,h,i;if(p.isFunction(a))return this.each(function(b){p(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(s);for(h=0,i=this.length;h<i;h++){e=this[h];if(e.nodeType===1&&e.className){d=(" "+e.className+" ").replace(O," ");for(f=0,g=c.length;f<g;f++)while(d.indexOf(" "+c[f]+" ")>=0)d=d.replace(" "+c[f]+" "," ");e.className=a?p.trim(d):""}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c==="string"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&p._data(this,"__className__",this.className),this.className=this.className||a===!1?"":p._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(O," ").indexOf(b)>=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?d.replace(P,""):d==null?"":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f="":typeof f=="number"?f+="":p.isArray(f)&&(f=p.map(f,function(a){return a==null?"":a+""})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,f,"value")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type==="select-one";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c<d;c++){e=h[c];if(e.selected&&(p.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!p.nodeName(e.parentNode,"optgroup"))){b=p(e).val();if(i)return b;g.push(b)}}return i&&!g.length&&h.length?p(h[f]).val():g},set:function(a,b){var c=p.makeArray(b);return p(a).find("option").each(function(){this.selected=p.inArray(p(this).val(),c)>=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute=="undefined")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d)}return g&&"get"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g<d.length;g++)e=d[g],e&&(c=p.propFix[e]||e,f=T.test(e),f||p.attr(a,e,""),a.removeAttribute(U?e:c),f&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(Q.test(a.nodeName)&&a.parentNode)p.error("type property can't be changed");else if(!p.support.radioValue&&b==="radio"&&p.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}},value:{get:function(a,b){return L&&p.nodeName(a,"button")?L.get(a,b):b in a?a.value:null},set:function(a,b,c){if(L&&p.nodeName(a,"button"))return L.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,f,g,h=a.nodeType;if(!a||h===3||h===8||h===2)return;return g=h!==1||!p.isXMLDoc(a),g&&(c=p.propFix[c]||c,f=p.propHooks[c]),d!==b?f&&"set"in f&&(e=f.set(a,d,c))!==b?e:a[c]=d:f&&"get"in f&&(e=f.get(a,c))!==null?e:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):R.test(a.nodeName)||S.test(a.nodeName)&&a.href?0:b}}}}),M={get:function(a,c){var d,e=p.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;return b===!1?p.removeAttr(a,c):(d=p.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase())),c}},U||(N={name:!0,id:!0,coords:!0},L=p.valHooks.button={get:function(a,c){var d;return d=a.getAttributeNode(c),d&&(N[c]?d.value!=="":d.specified)?d.value:b},set:function(a,b,c){var d=a.getAttributeNode(c);return d||(d=e.createAttribute(c),a.setAttributeNode(d)),d.value=b+""}},p.each(["width","height"],function(a,b){p.attrHooks[b]=p.extend(p.attrHooks[b],{set:function(a,c){if(c==="")return a.setAttribute(b,"auto"),c}})}),p.attrHooks.contenteditable={get:L.get,set:function(a,b,c){b===""&&(b="false"),L.set(a,b,c)}}),p.support.hrefNormalized||p.each(["href","src","width","height"],function(a,c){p.attrHooks[c]=p.extend(p.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),p.support.style||(p.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=b+""}}),p.support.optSelected||(p.propHooks.selected=p.extend(p.propHooks.selected,{get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}})),p.support.enctype||(p.propFix.enctype="encoding"),p.support.checkOn||p.each(["radio","checkbox"],function(){p.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),p.each(["radio","checkbox"],function(){p.valHooks[this]=p.extend(p.valHooks[this],{set:function(a,b){if(p.isArray(b))return a.checked=p.inArray(p(a).val(),b)>=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\.]*|)(?:\.(.+)|)$/,X=/(?:^|\s)hover(\.\S+|)\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,"mouseenter$1 mouseleave$1")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(" ");for(j=0;j<c.length;j++){k=W.exec(c[j])||[],l=k[1],m=(k[2]||"").split(".").sort(),r=p.event.special[l]||{},l=(f?r.delegateType:r.bindType)||l,r=p.event.special[l]||{},n=p.extend({type:l,origType:k[1],data:e,handler:d,guid:d.guid,selector:f,needsContext:f&&p.expr.match.needsContext.test(f),namespace:m.join(".")},o),q=i[l];if(!q){q=i[l]=[],q.delegateCount=0;if(!r.setup||r.setup.call(a,e,m,h)===!1)a.addEventListener?a.addEventListener(l,h,!1):a.attachEvent&&a.attachEvent("on"+l,h)}r.add&&(r.add.call(a,n),n.handler.guid||(n.handler.guid=d.guid)),f?q.splice(q.delegateCount++,0,n):q.push(n),p.event.global[l]=!0}a=null},global:{},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,q,r=p.hasData(a)&&p._data(a);if(!r||!(m=r.events))return;b=p.trim(_(b||"")).split(" ");for(f=0;f<b.length;f++){g=W.exec(b[f])||[],h=i=g[1],j=g[2];if(!h){for(h in m)p.event.remove(a,h+b[f],c,d,!0);continue}n=p.event.special[h]||{},h=(d?n.delegateType:n.bindType)||h,o=m[h]||[],k=o.length,j=j?new RegExp("(^|\\.)"+j.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(l=0;l<o.length;l++)q=o[l],(e||i===q.origType)&&(!c||c.guid===q.guid)&&(!j||j.test(q.namespace))&&(!d||d===q.selector||d==="**"&&q.selector)&&(o.splice(l--,1),q.selector&&o.delegateCount--,n.remove&&n.remove.call(a,q));o.length===0&&k!==o.length&&((!n.teardown||n.teardown.call(a,j,r.handle)===!1)&&p.removeEvent(a,h,r.handle),delete m[h])}p.isEmptyObject(m)&&(delete r.handle,p.removeData(a,"events",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,f,g){if(!f||f.nodeType!==3&&f.nodeType!==8){var h,i,j,k,l,m,n,o,q,r,s=c.type||c,t=[];if($.test(s+p.event.triggered))return;s.indexOf("!")>=0&&(s=s.slice(0,-1),i=!0),s.indexOf(".")>=0&&(t=s.split("."),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c=="object"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,m=s.indexOf(":")<0?"on"+s:"";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j<q.length&&!c.isPropagationStopped();j++)k=q[j][0],c.type=q[j][1],o=(p._data(k,"events")||{})[c.type]&&p._data(k,"handle"),o&&o.apply(k,d),o=m&&k[m],o&&p.acceptData(k)&&o.apply&&o.apply(k,d)===!1&&c.preventDefault();return c.type=s,!g&&!c.isDefaultPrevented()&&(!n._default||n._default.apply(f.ownerDocument,d)===!1)&&(s!=="click"||!p.nodeName(f,"a"))&&p.acceptData(f)&&m&&f[s]&&(s!=="focus"&&s!=="blur"||c.target.offsetWidth!==0)&&!p.isWindow(f)&&(l=f[m],l&&(f[m]=null),p.event.triggered=s,f[s](),p.event.triggered=b,l&&(f[m]=l)),c.result}return},dispatch:function(c){c=p.event.fix(c||a.event);var d,e,f,g,h,i,j,l,m,n,o=(p._data(this,"events")||{})[c.type]||[],q=o.delegateCount,r=k.call(arguments),s=!c.exclusive&&!c.namespace,t=p.event.special[c.type]||{},u=[];r[0]=c,c.delegateTarget=this;if(t.preDispatch&&t.preDispatch.call(this,c)===!1)return;if(q&&(!c.button||c.type!=="click"))for(f=c.target;f!=this;f=f.parentNode||this)if(f.disabled!==!0||c.type!=="click"){h={},j=[];for(d=0;d<q;d++)l=o[d],m=l.selector,h[m]===b&&(h[m]=l.needsContext?p(m,this).index(f)>=0:p.find(m,this,null,[f]).length),h[m]&&j.push(l);j.length&&u.push({elem:f,matches:j})}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d<u.length&&!c.isPropagationStopped();d++){i=u[d],c.currentTarget=i.elem;for(e=0;e<i.matches.length&&!c.isImmediatePropagationStopped();e++){l=i.matches[e];if(s||!c.namespace&&!l.namespace||c.namespace_re&&c.namespace_re.test(l.namespace))c.data=l.data,c.handleObj=l,g=((p.event.special[l.origType]||{}).handle||l.handler).apply(i.elem,r),g!==b&&(c.result=g,g===!1&&(c.preventDefault(),c.stopPropagation()))}}return t.postDispatch&&t.postDispatch.call(this,c),c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,c){var d,f,g,h=c.button,i=c.fromElement;return a.pageX==null&&c.clientX!=null&&(d=a.target.ownerDocument||e,f=d.documentElement,g=d.body,a.pageX=c.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=c.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?c.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0),a}},fix:function(a){if(a[p.expando])return a;var b,c,d=a,f=p.event.fixHooks[a.type]||{},g=f.props?this.props.concat(f.props):this.props;a=p.Event(d);for(b=g.length;b;)c=g[--b],a[c]=d[c];return a.target||(a.target=d.srcElement||e),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,f.filter?f.filter(a,d):a},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){p.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=p.extend(new p.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?p.event.trigger(e,null,b):p.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},p.event.handle=p.event.dispatch,p.removeEvent=e.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]=="undefined"&&(a[d]=null),a.detachEvent(d,c))},p.Event=function(a,b){if(this instanceof p.Event)a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?bb:ba):this.type=a,b&&p.extend(this,b),this.timeStamp=a&&a.timeStamp||p.now(),this[p.expando]=!0;else return new p.Event(a,b)},p.Event.prototype={preventDefault:function(){this.isDefaultPrevented=bb;var a=this.originalEvent;if(!a)return;a.preventDefault?a.preventDefault():a.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=bb;var a=this.originalEvent;if(!a)return;a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=bb,this.stopPropagation()},isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba},p.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){p.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj,g=f.selector;if(!e||e!==d&&!p.contains(d,e))a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b;return c}}}),p.support.submitBubbles||(p.event.special.submit={setup:function(){if(p.nodeName(this,"form"))return!1;p.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=p.nodeName(c,"input")||p.nodeName(c,"button")?c.form:b;d&&!p._data(d,"_submit_attached")&&(p.event.add(d,"submit._submit",function(a){a._submit_bubble=!0}),p._data(d,"_submit_attached",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&p.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){if(p.nodeName(this,"form"))return!1;p.event.remove(this,"._submit")}}),p.support.changeBubbles||(p.event.special.change={setup:function(){if(V.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")p.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),p.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),p.event.simulate("change",this,a,!0)});return!1}p.event.add(this,"beforeactivate._change",function(a){var b=a.target;V.test(b.nodeName)&&!p._data(b,"_change_attached")&&(p.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&p.event.simulate("change",this.parentNode,a,!0)}),p._data(b,"_change_attached",!0))})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){return p.event.remove(this,"._change"),!V.test(this.nodeName)}}),p.support.focusinBubbles||p.each({focus:"focusin",blur:"focusout"},function(a,b){var c=0,d=function(a){p.event.simulate(b,a.target,p.event.fix(a),!0)};p.event.special[b]={setup:function(){c++===0&&e.addEventListener(a,d,!0)},teardown:function(){--c===0&&e.removeEventListener(a,d,!0)}}}),p.fn.extend({on:function(a,c,d,e,f){var g,h;if(typeof a=="object"){typeof c!="string"&&(d=d||c,c=b);for(h in a)this.on(h,c,d,a[h],f);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=ba;else if(!e)return this;return f===1&&(g=e,e=function(a){return p().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=p.guid++)),this.each(function(){p.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){var e,f;if(a&&a.preventDefault&&a.handleObj)return e=a.handleObj,p(a.delegateTarget).off(e.namespace?e.origType+"."+e.namespace:e.origType,e.selector,e.handler),this;if(typeof a=="object"){for(f in a)this.off(f,c,a[f]);return this}if(c===!1||typeof c=="function")d=c,c=b;return d===!1&&(d=ba),this.each(function(){p.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){return p(this.context).on(a,this.selector,b,c),this},die:function(a,b){return p(this.context).off(a,this.selector||"**",b),this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length===1?this.off(a,"**"):this.off(b,a||"**",c)},trigger:function(a,b){return this.each(function(){p.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return p.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||p.guid++,d=0,e=function(c){var e=(p._data(this,"lastToggle"+a.guid)||0)%d;return p._data(this,"lastToggle"+a.guid,e+1),c.preventDefault(),b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),p.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){p.fn[b]=function(a,c){return c==null&&(c=a,a=null),arguments.length>0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bc(a,b,c,d){c=c||[],b=b||r;var e,f,i,j,k=b.nodeType;if(!a||typeof a!="string")return c;if(k!==1&&k!==9)return[];i=g(b);if(!i&&!d)if(e=P.exec(a))if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode)return c;if(f.id===j)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&h(b,f)&&f.id===j)return c.push(f),c}else{if(e[2])return w.apply(c,x.call(b.getElementsByTagName(a),0)),c;if((j=e[3])&&_&&b.getElementsByClassName)return w.apply(c,x.call(b.getElementsByClassName(j),0)),c}return bp(a.replace(L,"$1"),b,c,d,i)}function bd(a){return function(b){var c=b.nodeName.toLowerCase();return c==="input"&&b.type===a}}function be(a){return function(b){var c=b.nodeName.toLowerCase();return(c==="input"||c==="button")&&b.type===a}}function bf(a){return z(function(b){return b=+b,z(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function bg(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}function bh(a,b){var c,d,f,g,h,i,j,k=C[o][a];if(k)return b?0:k.slice(0);h=a,i=[],j=e.preFilter;while(h){if(!c||(d=M.exec(h)))d&&(h=h.slice(d[0].length)),i.push(f=[]);c=!1;if(d=N.exec(h))f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=d[0].replace(L," ");for(g in e.filter)(d=W[g].exec(h))&&(!j[g]||(d=j[g](d,r,!0)))&&(f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=g,c.matches=d);if(!c)break}return b?h.length:h?bc.error(a):C(a,i).slice(0)}function bi(a,b,d){var e=b.dir,f=d&&b.dir==="parentNode",g=u++;return b.first?function(b,c,d){while(b=b[e])if(f||b.nodeType===1)return a(b,c,d)}:function(b,d,h){if(!h){var i,j=t+" "+g+" ",k=j+c;while(b=b[e])if(f||b.nodeType===1){if((i=b[o])===k)return b.sizset;if(typeof i=="string"&&i.indexOf(j)===0){if(b.sizset)return b}else{b[o]=k;if(a(b,d,h))return b.sizset=!0,b;b.sizset=!1}}}else while(b=b[e])if(f||b.nodeType===1)if(a(b,d,h))return b}}function bj(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function bk(a,b,c,d,e){var f,g=[],h=0,i=a.length,j=b!=null;for(;h<i;h++)if(f=a[h])if(!c||c(f,d,e))g.push(f),j&&b.push(h);return g}function bl(a,b,c,d,e,f){return d&&!d[o]&&(d=bl(d)),e&&!e[o]&&(e=bl(e,f)),z(function(f,g,h,i){if(f&&e)return;var j,k,l,m=[],n=[],o=g.length,p=f||bo(b||"*",h.nodeType?[h]:h,[],f),q=a&&(f||!b)?bk(p,m,a,h,i):p,r=c?e||(f?a:o||d)?[]:g:q;c&&c(q,r,h,i);if(d){l=bk(r,n),d(l,[],h,i),j=l.length;while(j--)if(k=l[j])r[n[j]]=!(q[n[j]]=k)}if(f){j=a&&r.length;while(j--)if(k=r[j])f[m[j]]=!(g[m[j]]=k)}else r=bk(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):w.apply(g,r)})}function bm(a){var b,c,d,f=a.length,g=e.relative[a[0].type],h=g||e.relative[" "],i=g?1:0,j=bi(function(a){return a===b},h,!0),k=bi(function(a){return y.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==l)||((b=c).nodeType?j(a,c,d):k(a,c,d))}];for(;i<f;i++)if(c=e.relative[a[i].type])m=[bi(bj(m),c)];else{c=e.filter[a[i].type].apply(null,a[i].matches);if(c[o]){d=++i;for(;d<f;d++)if(e.relative[a[d].type])break;return bl(i>1&&bj(m),i>1&&a.slice(0,i-1).join("").replace(L,"$1"),c,i<d&&bm(a.slice(i,d)),d<f&&bm(a=a.slice(d)),d<f&&a.join(""))}m.push(c)}return bj(m)}function bn(a,b){var d=b.length>0,f=a.length>0,g=function(h,i,j,k,m){var n,o,p,q=[],s=0,u="0",x=h&&[],y=m!=null,z=l,A=h||f&&e.find.TAG("*",m&&i.parentNode||i),B=t+=z==null?1:Math.E;y&&(l=i!==r&&i,c=g.el);for(;(n=A[u])!=null;u++){if(f&&n){for(o=0;p=a[o];o++)if(p(n,i,j)){k.push(n);break}y&&(t=B,c=++g.el)}d&&((n=!p&&n)&&s--,h&&x.push(n))}s+=u;if(d&&u!==s){for(o=0;p=b[o];o++)p(x,q,i,j);if(h){if(s>0)while(u--)!x[u]&&!q[u]&&(q[u]=v.call(k));q=bk(q)}w.apply(k,q),y&&!h&&q.length>0&&s+b.length>1&&bc.uniqueSort(k)}return y&&(t=B,l=z),x};return g.el=0,d?z(g):g}function bo(a,b,c,d){var e=0,f=b.length;for(;e<f;e++)bc(a,b[e],c,d);return c}function bp(a,b,c,d,f){var g,h,j,k,l,m=bh(a),n=m.length;if(!d&&m.length===1){h=m[0]=m[0].slice(0);if(h.length>2&&(j=h[0]).type==="ID"&&b.nodeType===9&&!f&&e.relative[h[1].type]){b=e.find.ID(j.matches[0].replace(V,""),b,f)[0];if(!b)return c;a=a.slice(h.shift().length)}for(g=W.POS.test(a)?-1:h.length-1;g>=0;g--){j=h[g];if(e.relative[k=j.type])break;if(l=e.find[k])if(d=l(j.matches[0].replace(V,""),R.test(h[0].type)&&b.parentNode||b,f)){h.splice(g,1),a=d.length&&h.join("");if(!a)return w.apply(c,x.call(d,0)),c;break}}}return i(a,m)(d,b,f,c,R.test(a)),c}function bq(){}var c,d,e,f,g,h,i,j,k,l,m=!0,n="undefined",o=("sizcache"+Math.random()).replace(".",""),q=String,r=a.document,s=r.documentElement,t=0,u=0,v=[].pop,w=[].push,x=[].slice,y=[].indexOf||function(a){var b=0,c=this.length;for(;b<c;b++)if(this[b]===a)return b;return-1},z=function(a,b){return a[o]=b==null||b,a},A=function(){var a={},b=[];return z(function(c,d){return b.push(c)>e.cacheLength&&delete a[b.shift()],a[c]=d},a)},B=A(),C=A(),D=A(),E="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",G=F.replace("w","w#"),H="([*^$|!~]?=)",I="\\["+E+"*("+F+")"+E+"*(?:"+H+E+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+G+")|)|)"+E+"*\\]",J=":("+F+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+I+")|[^:]|\\\\.)*|.*))\\)|)",K=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+E+"*((?:-\\d)?\\d*)"+E+"*\\)|)(?=[^-]|$)",L=new RegExp("^"+E+"+|((?:^|[^\\\\])(?:\\\\.)*)"+E+"+$","g"),M=new RegExp("^"+E+"*,"+E+"*"),N=new RegExp("^"+E+"*([\\x20\\t\\r\\n\\f>+~])"+E+"*"),O=new RegExp(J),P=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,Q=/^:not/,R=/[\x20\t\r\n\f]*[+~]/,S=/:not\($/,T=/h\d/i,U=/input|select|textarea|button/i,V=/\\(?!\\)/g,W={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),NAME:new RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:new RegExp("^("+F.replace("w","w*")+")"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+J),POS:new RegExp(K,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+E+"*(even|odd|(([+-]|)(\\d*)n|)"+E+"*(?:([+-]|)"+E+"*(\\d+)|))"+E+"*\\)|)","i"),needsContext:new RegExp("^"+E+"*[>+~]|"+K,"i")},X=function(a){var b=r.createElement("div");try{return a(b)}catch(c){return!1}finally{b=null}},Y=X(function(a){return a.appendChild(r.createComment("")),!a.getElementsByTagName("*").length}),Z=X(function(a){return a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!==n&&a.firstChild.getAttribute("href")==="#"}),$=X(function(a){a.innerHTML="<select></select>";var b=typeof a.lastChild.getAttribute("multiple");return b!=="boolean"&&b!=="string"}),_=X(function(a){return a.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!a.getElementsByClassName||!a.getElementsByClassName("e").length?!1:(a.lastChild.className="e",a.getElementsByClassName("e").length===2)}),ba=X(function(a){a.id=o+0,a.innerHTML="<a name='"+o+"'></a><div name='"+o+"'></div>",s.insertBefore(a,s.firstChild);var b=r.getElementsByName&&r.getElementsByName(o).length===2+r.getElementsByName(o+0).length;return d=!r.getElementById(o),s.removeChild(a),b});try{x.call(s.childNodes,0)[0].nodeType}catch(bb){x=function(a){var b,c=[];for(;b=this[a];a++)c.push(b);return c}}bc.matches=function(a,b){return bc(a,null,null,b)},bc.matchesSelector=function(a,b){return bc(b,null,null,[a]).length>0},f=bc.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof a.textContent=="string")return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=f(a)}else if(e===3||e===4)return a.nodeValue}else for(;b=a[d];d++)c+=f(b);return c},g=bc.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?b.nodeName!=="HTML":!1},h=bc.contains=s.contains?function(a,b){var c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:s.compareDocumentPosition?function(a,b){return b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},bc.attr=function(a,b){var c,d=g(a);return d||(b=b.toLowerCase()),(c=e.attrHandle[b])?c(a):d||$?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof a[b]=="boolean"?a[b]?b:null:c.specified?c.value:null:null)},e=bc.selectors={cacheLength:50,createPseudo:z,match:W,attrHandle:Z?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},find:{ID:d?function(a,b,c){if(typeof b.getElementById!==n&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==n&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==n&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:Y?function(a,b){if(typeof b.getElementsByTagName!==n)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a==="*"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c},NAME:ba&&function(a,b){if(typeof b.getElementsByName!==n)return b.getElementsByName(name)},CLASS:_&&function(a,b,c){if(typeof b.getElementsByClassName!==n&&!c)return b.getElementsByClassName(a)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(V,""),a[3]=(a[4]||a[5]||"").replace(V,""),a[2]==="~="&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]==="nth"?(a[2]||bc.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]==="even"||a[2]==="odd")),a[4]=+(a[6]+a[7]||a[2]==="odd")):a[2]&&bc.error(a[0]),a},PSEUDO:function(a){var b,c;if(W.CHILD.test(a[0]))return null;if(a[3])a[2]=a[3];else if(b=a[4])O.test(b)&&(c=bh(b,!0))&&(c=b.indexOf(")",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b;return a.slice(0,3)}},filter:{ID:d?function(a){return a=a.replace(V,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(V,""),function(b){var c=typeof b.getAttributeNode!==n&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return a==="*"?function(){return!0}:(a=a.replace(V,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=B[o][a];return b||(b=B(a,new RegExp("(^|"+E+")"+a+"("+E+"|$)"))),function(a){return b.test(a.className||typeof a.getAttribute!==n&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return function(d,e){var f=bc.attr(d,a);return f==null?b==="!=":b?(f+="",b==="="?f===c:b==="!="?f!==c:b==="^="?c&&f.indexOf(c)===0:b==="*="?c&&f.indexOf(c)>-1:b==="$="?c&&f.substr(f.length-c.length)===c:b==="~="?(" "+f+" ").indexOf(c)>-1:b==="|="?f===c||f.substr(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d){return a==="nth"?function(a){var b,e,f=a.parentNode;if(c===1&&d===0)return!0;if(f){e=0;for(b=f.firstChild;b;b=b.nextSibling)if(b.nodeType===1){e++;if(a===b)break}}return e-=d,e===c||e%c===0&&e/c>=0}:function(b){var c=b;switch(a){case"only":case"first":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a==="first")return!0;c=b;case"last":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b){var c,d=e.pseudos[a]||e.setFilters[a.toLowerCase()]||bc.error("unsupported pseudo: "+a);return d[o]?d(b):d.length>1?(c=[a,a,"",b],e.setFilters.hasOwnProperty(a.toLowerCase())?z(function(a,c){var e,f=d(a,b),g=f.length;while(g--)e=y.call(a,f[g]),a[e]=!(c[e]=f[g])}):function(a){return d(a,0,c)}):d}},pseudos:{not:z(function(a){var b=[],c=[],d=i(a.replace(L,"$1"));return d[o]?z(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)if(f=g[h])a[h]=!(b[h]=f)}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:z(function(a){return function(b){return bc(a,b).length>0}}),contains:z(function(a){return function(b){return(b.textContent||b.innerText||f(b)).indexOf(a)>-1}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&!!a.checked||b==="option"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!e.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>"@"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},header:function(a){return T.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()==="input"&&(b=a.type)==="text"&&((c=a.getAttribute("type"))==null||c.toLowerCase()===b)},radio:bd("radio"),checkbox:bd("checkbox"),file:bd("file"),password:bd("password"),image:bd("image"),submit:be("submit"),reset:be("reset"),button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&a.type==="button"||b==="button"},input:function(a){return U.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement},first:bf(function(a,b,c){return[0]}),last:bf(function(a,b,c){return[b-1]}),eq:bf(function(a,b,c){return[c<0?c+b:c]}),even:bf(function(a,b,c){for(var d=0;d<b;d+=2)a.push(d);return a}),odd:bf(function(a,b,c){for(var d=1;d<b;d+=2)a.push(d);return a}),lt:bf(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:bf(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},j=s.compareDocumentPosition?function(a,b){return a===b?(k=!0,0):(!a.compareDocumentPosition||!b.compareDocumentPosition?a.compareDocumentPosition:a.compareDocumentPosition(b)&4)?-1:1}:function(a,b){if(a===b)return k=!0,0;if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,h=b.parentNode,i=g;if(g===h)return bg(a,b);if(!g)return-1;if(!h)return 1;while(i)e.unshift(i),i=i.parentNode;i=h;while(i)f.unshift(i),i=i.parentNode;c=e.length,d=f.length;for(var j=0;j<c&&j<d;j++)if(e[j]!==f[j])return bg(e[j],f[j]);return j===c?bg(a,f[j],-1):bg(e[j],b,1)},[0,0].sort(j),m=!k,bc.uniqueSort=function(a){var b,c=1;k=m,a.sort(j);if(k)for(;b=a[c];c++)b===a[c-1]&&a.splice(c--,1);return a},bc.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},i=bc.compile=function(a,b){var c,d=[],e=[],f=D[o][a];if(!f){b||(b=bh(a)),c=b.length;while(c--)f=bm(b[c]),f[o]?d.push(f):e.push(f);f=D(a,bn(e,d))}return f},r.querySelectorAll&&function(){var a,b=bp,c=/'|\\/g,d=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,e=[":focus"],f=[":active",":focus"],h=s.matchesSelector||s.mozMatchesSelector||s.webkitMatchesSelector||s.oMatchesSelector||s.msMatchesSelector;X(function(a){a.innerHTML="<select><option selected=''></option></select>",a.querySelectorAll("[selected]").length||e.push("\\["+E+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),X(function(a){a.innerHTML="<p test=''></p>",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+E+"*(?:\"\"|'')"),a.innerHTML="<input type='hidden'/>",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=new RegExp(e.join("|")),bp=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a))){var i,j,k=!0,l=o,m=d,n=d.nodeType===9&&a;if(d.nodeType===1&&d.nodeName.toLowerCase()!=="object"){i=bh(a),(k=d.getAttribute("id"))?l=k.replace(c,"\\$&"):d.setAttribute("id",l),l="[id='"+l+"'] ",j=i.length;while(j--)i[j]=l+i[j].join("");m=R.test(a)&&d.parentNode||d,n=i.join(",")}if(n)try{return w.apply(f,x.call(m.querySelectorAll(n),0)),f}catch(p){}finally{k||d.removeAttribute("id")}}return b(a,d,f,g,h)},h&&(X(function(b){a=h.call(b,"div");try{h.call(b,"[test!='']:sizzle"),f.push("!=",J)}catch(c){}}),f=new RegExp(f.join("|")),bc.matchesSelector=function(b,c){c=c.replace(d,"='$1']");if(!g(b)&&!f.test(c)&&(!e||!e.test(c)))try{var i=h.call(b,c);if(i||a||b.document&&b.document.nodeType!==11)return i}catch(j){}return bc(c,null,null,[b]).length>0})}(),e.pseudos.nth=e.pseudos.eq,e.filters=bq.prototype=e.pseudos,e.setFilters=new bq,bc.attr=p.attr,p.find=bc,p.expr=bc.selectors,p.expr[":"]=p.expr.pseudos,p.unique=bc.uniqueSort,p.text=bc.getText,p.isXMLDoc=bc.isXML,p.contains=bc.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\[\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!="string")return p(a).filter(function(){for(b=0,c=h.length;b<c;b++)if(p.contains(h[b],this))return!0});g=this.pushStack("","find",a);for(b=0,c=this.length;b<c;b++){d=g.length,p.find(a,this[b],g);if(b>0)for(e=d;e<g.length;e++)for(f=0;f<d;f++)if(g[f]===g[e]){g.splice(e--,1);break}}return g},has:function(a){var b,c=p(a,this),d=c.length;return this.filter(function(){for(b=0;b<d;b++)if(p.contains(this,c[b]))return!0})},not:function(a){return this.pushStack(bj(this,a,!1),"not",a)},filter:function(a){return this.pushStack(bj(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?bf.test(a)?p(a,this.context).index(this[0])>=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!="string"?p(a,b||this.context):0;for(;d<e;d++){c=this[d];while(c&&c.ownerDocument&&c!==b&&c.nodeType!==11){if(g?g.index(c)>-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?typeof a=="string"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,"parentNode")},parentsUntil:function(a,b,c){return p.dir(a,"parentNode",c)},next:function(a){return bi(a,"nextSibling")},prev:function(a){return bi(a,"previousSibling")},nextAll:function(a){return p.dir(a,"nextSibling")},prevAll:function(a){return p.dir(a,"previousSibling")},nextUntil:function(a,b,c){return p.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return p.dir(a,"previousSibling",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d=="string"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(","))}}),p.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",bm=/ jQuery\d+="(?:null|\d+)"/g,bn=/^\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bp=/<([\w:]+)/,bq=/<tbody/i,br=/<|&#?\w+;/,bs=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,bu=new RegExp("<(?:"+bl+")[\\s/>]","i"),bv=/^(?:checkbox|radio)$/,bw=/checked\s*(?:[^=]|=\s*.checked.)/i,bx=/\/(java|ecma)script/i,by=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,bz={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bA=bk(e),bB=bA.appendChild(e.createElement("div"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,"X<div>","</div>"]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),"before",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),"after",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName("*"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,""):b;if(typeof a=="string"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(bo,"<$1></$2>");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),c.innerHTML=a);c=0}catch(f){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){return bh(this[0])?this.length?this.pushStack(p(p.isFunction(a)?a():a),"replaceWith",a):this:p.isFunction(a)?this.each(function(b){var c=p(this),d=c.html();c.replaceWith(a.call(this,b,d))}):(typeof a!="string"&&(a=p(a).detach()),this.each(function(){var b=this.nextSibling,c=this.parentNode;p(this).remove(),b?p(b).before(a):p(c).append(a)}))},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){a=[].concat.apply([],a);var e,f,g,h,i=0,j=a[0],k=[],l=this.length;if(!p.support.checkClone&&l>1&&typeof j=="string"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,"tr");for(h=e.cacheable||l-1;i<l;i++)d.call(c&&p.nodeName(this[i],"table")?bC(this[i],"tbody"):this[i],i===h?g:p.clone(g,!0,!0))}g=f=null,k.length&&p.each(k,function(a,b){b.src?p.ajax?p.ajax({url:b.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):p.error("no ajax"):p.globalEval((b.text||b.textContent||b.innerHTML||"").replace(by,"")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),p.buildFragment=function(a,c,d){var f,g,h,i=a[0];return c=c||e,c=!c.nodeType&&c[0]||c,c=c.ownerDocument||c,a.length===1&&typeof i=="string"&&i.length<512&&c===e&&i.charAt(0)==="<"&&!bt.test(i)&&(p.support.checkClone||!bw.test(i))&&(p.support.html5Clone||!bu.test(i))&&(g=!0,f=p.fragments[i],h=f!==b),f||(f=c.createDocumentFragment(),p.clean(a,c,f,d),g&&(p.fragments[i]=h&&f)),{fragment:f,cacheable:g}},p.fragments={},p.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){p.fn[a]=function(c){var d,e=0,f=[],g=p(c),h=g.length,i=this.length===1&&this[0].parentNode;if((i==null||i&&i.nodeType===11&&i.childNodes.length===1)&&h===1)return g[b](this[0]),this;for(;e<h;e++)d=(e>0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof b.createDocumentFragment=="undefined")b=e;for(f=0;(h=a[f])!=null;f++){typeof h=="number"&&(h+="");if(!h)continue;if(typeof h=="string")if(!br.test(h))h=b.createTextNode(h);else{s=s||bk(b),l=b.createElement("div"),s.appendChild(l),h=h.replace(bo,"<$1></$2>"),i=(bp.exec(h)||["",""])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i==="table"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]==="<table>"&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g)p.nodeName(n[g],"tbody")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked)for(f=0;(h=t[f])!=null;f++)p.nodeName(h,"input")?bG(h):typeof h.getElementsByTagName!="undefined"&&p.grep(h.getElementsByTagName("input"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(f=0;(h=t[f])!=null;f++)if(!p.nodeName(h,"script")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!="undefined"&&(r=p.grep(p.merge([],h.getElementsByTagName("script")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\([^)]*\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new RegExp("^("+q+")(.*)$","i"),bQ=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),bR=new RegExp("^([-+])=("+q+")","i"),bS={},bT={position:"absolute",visibility:"hidden",display:"block"},bU={letterSpacing:0,fontWeight:400},bV=["Top","Right","Bottom","Left"],bW=["Webkit","O","Moz","ms"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return b$(this,!0)},hide:function(){return b$(this)},toggle:function(a,b){var c=typeof a=="boolean";return p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,"opacity");return c===""?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":p.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g==="string"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g="number");if(d==null||g==="number"&&isNaN(d))return;g==="number"&&!p.cssNumber[i]&&(d+="px");if(!h||!("set"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f==="normal"&&c in bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h[c],d===""&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),e===""?"auto":e}),p.each(["height","width"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth===0&&bN.test(bH(a,"display"))?p.swap(a,bT,function(){return cb(a,b,d)}):cb(a,b,d)},set:function(a,c,d){return b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,"boxSizing")==="border-box"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?"alpha(opacity="+b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,""))===""&&c.removeAttribute){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+" "+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:"inline-block"},function(){if(b)return bH(a,"marginRight")})}}),!p.support.pixelPosition&&p.fn.position&&p.each(["top","left"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bQ.test(d)?p(a).position()[b]+"px":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,"display"))==="none"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:"",padding:"",border:"Width"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bV[d]+b]=e[d]||e[d-2]||e[0];return f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var cd=/%20/g,ce=/\[\]$/,cf=/\r?\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,"\r\n")}}):{name:b.name,value:c.replace(cf,"\r\n")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ci(d,a[d],c,f);return e.join("&").replace(cd,"+")};var cj,ck,cl=/#.*$/,cm=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,cn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\/\//,cq=/\?/,cr=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=["*/"]+["*"];try{ck=f.href}catch(cy){ck=e.createElement("a"),ck.href="",ck=ck.href}cj=ct.exec(ck.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!="string"&&cu)return cu.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof c=="object"&&(f="POST"),p.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p("<div>").append(a.replace(cr,"")).find(e):a)}),this},p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each(["get","post"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,"script")},getJSON:function(a,b,c){return p.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:ck,isLocal:cn.test(cj[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||"",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(p.lastModified[d]=w),w=x.getResponseHeader("Etag"),w&&(p.etag[d]=w)),a===304?(y="notmodified",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y="error",a<0&&(a=0)}x.status=a,x.statusText=(c||y)+"",k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger("ajax"+(k?"Success":"Error"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger("ajaxComplete",[x,l]),--p.active||p.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks("once memory"),r=l.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cm.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+"").replace(cl,"").replace(cp,cj[1]+"//"),l.dataTypes=p.trim(l.dataType||"*").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase())||!1,l.crossDomain=i&&i.join(":")+(i[3]?"":i[1]==="http:"?80:443)!==cj.join(":")+(cj[3]?"":cj[1]==="http:"?80:443)),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger("ajaxStart");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?"&":"?")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cs,"$1_="+z);l.url=A+(A===l.url?(cq.test(l.url)?"&":"?")+"_="+z:"")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader("If-Modified-Since",p.lastModified[d]),p.etag[d]&&x.setRequestHeader("If-None-Match",p.etag[d])),x.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+cx+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w="abort";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cA(cw,l,c,x);if(!g)y(-1,"No Transport");else{x.readyState=1,j&&n.trigger("ajaxSend",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort("timeout")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cE=[],cF=/\?/,cG=/(=)\?(?=&|$)|\?\?/,cH=p.now();p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=cE.pop()||p.expando+"_"+cH++;return this[a]=!0,a}}),p.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof i=="string"&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&cG.test(i);if(c.dataTypes[0]==="jsonp"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,"$1"+f):m?c.data=i.replace(cG,"$1"+f):k&&(c.url+=(cF.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||p.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),"script"}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),p.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName("head")[0]||e.documentElement;return{send:function(f,g){c=e.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,"success")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cI,cJ=a.ActiveXObject?function(){for(var a in cI)cI[a](0,1)}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete cI[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new RegExp("^(?:([-+])=|)("+q+")([a-z%]*)$","i"),cR=/queueHooks$/,cS=[cY],cT={"*":[function(a,b){var c,d,e=this.createTween(a,b),f=cQ.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){c=+f[2],d=f[3]||(p.cssNumber[a]?"":"px");if(d!=="px"&&h){h=p.css(e.elem,a,!0)||c||1;do i=i||".5",h=h/i,p.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&i!==1&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");var c,d=0,e=a.length;for(;d<e;d++)c=a[d],cT[c]=cT[c]||[],cT[c].unshift(b)},prefilter:function(a,b){b?cS.unshift(a):cS.push(a)}}),p.Tween=cZ,cZ.prototype={constructor:cZ,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(p.cssNumber[c]?"":"px")},cur:function(){var a=cZ.propHooks[this.prop];return a&&a.get?a.get(this):cZ.propHooks._default.get(this)},run:function(a){var b,c=cZ.propHooks[this.prop];return this.options.duration?this.pos=b=p.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):cZ.propHooks._default.set(this),this}},cZ.prototype.init.prototype=cZ.prototype,cZ.propHooks={_default:{get:function(a){var b;return a.elem[a.prop]==null||!!a.elem.style&&a.elem.style[a.prop]!=null?(b=p.css(a.elem,a.prop,!1,""),!b||b==="auto"?0:b):a.elem[a.prop]},set:function(a){p.fx.step[a.prop]?p.fx.step[a.prop](a):a.elem.style&&(a.elem.style[p.cssProps[a.prop]]!=null||p.cssHooks[a.prop])?p.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},cZ.propHooks.scrollTop=cZ.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},p.each(["toggle","show","hide"],function(a,b){var c=p.fn[b];p.fn[b]=function(d,e,f){return d==null||typeof d=="boolean"||!a&&p.isFunction(d)&&p.isFunction(e)?c.apply(this,arguments):this.animate(c$(b,!0),d,e,f)}}),p.fn.extend({fadeTo:function(a,b,c,d){return this.filter(bZ).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=p.isEmptyObject(a),f=p.speed(b,c,d),g=function(){var b=cW(this,p.extend({},a),f);e&&b.stop(!0)};return e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,c,d){var e=function(a){var b=a.stop;delete a.stop,b(d)};return typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,c=a!=null&&a+"queueHooks",f=p.timers,g=p._data(this);if(c)g[c]&&g[c].stop&&e(g[c]);else for(c in g)g[c]&&g[c].stop&&cR.test(c)&&e(g[c]);for(c=f.length;c--;)f[c].elem===this&&(a==null||f[c].queue===a)&&(f[c].anim.stop(d),b=!1,f.splice(c,1));(b||!d)&&p.dequeue(this,a)})}}),p.each({slideDown:c$("show"),slideUp:c$("hide"),slideToggle:c$("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){p.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),p.speed=function(a,b,c){var d=a&&typeof a=="object"?p.extend({},a):{complete:c||!c&&b||p.isFunction(a)&&a,duration:a,easing:c&&b||b&&!p.isFunction(b)&&b};d.duration=p.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in p.fx.speeds?p.fx.speeds[d.duration]:p.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";return d.old=d.complete,d.complete=function(){p.isFunction(d.old)&&d.old.call(this),d.queue&&p.dequeue(this,d.queue)},d},p.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},p.timers=[],p.fx=cZ.prototype.init,p.fx.tick=function(){var a,b=p.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||p.fx.stop()},p.fx.timer=function(a){a()&&p.timers.push(a)&&!cO&&(cO=setInterval(p.fx.tick,p.fx.interval))},p.fx.interval=13,p.fx.stop=function(){clearInterval(cO),cO=null},p.fx.speeds={slow:600,fast:200,_default:400},p.fx.step={},p.expr&&p.expr.filters&&(p.expr.filters.animated=function(a){return p.grep(p.timers,function(b){return a===b.elem}).length});var c_=/^(?:body|html)$/i;p.fn.offset=function(a){if(arguments.length)return a===b?this:this.each(function(b){p.offset.setOffset(this,a,b)});var c,d,e,f,g,h,i,j={top:0,left:0},k=this[0],l=k&&k.ownerDocument;if(!l)return;return(d=l.body)===k?p.offset.bodyOffset(k):(c=l.documentElement,p.contains(c,k)?(typeof k.getBoundingClientRect!="undefined"&&(j=k.getBoundingClientRect()),e=da(l),f=c.clientTop||d.clientTop||0,g=c.clientLeft||d.clientLeft||0,h=e.pageYOffset||c.scrollTop,i=e.pageXOffset||c.scrollLeft,{top:j.top+h-f,left:j.left+i-g}):j)},p.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;return p.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(p.css(a,"marginTop"))||0,c+=parseFloat(p.css(a,"marginLeft"))||0),{top:b,left:c}},setOffset:function(a,b,c){var d=p.css(a,"position");d==="static"&&(a.style.position="relative");var e=p(a),f=e.offset(),g=p.css(a,"top"),h=p.css(a,"left"),i=(d==="absolute"||d==="fixed")&&p.inArray("auto",[g,h])>-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),"using"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,"marginTop"))||0,c.left-=parseFloat(p.css(a,"marginLeft"))||0,d.top+=parseFloat(p.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(p.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,"position")==="static")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=da(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:"height",Width:"width"},function(a,c){p.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!="boolean"),h=d||(e===!0||f===!0?"margin":"border");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement["client"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return p})})(window);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
706 </script>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
707
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
708 <script type="text/javascript">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
709 (function(b){b.color={};b.color.make=function(d,e,g,f){var c={};c.r=d||0;c.g=e||0;c.b=g||0;c.a=f!=null?f:1;c.add=function(h,j){for(var k=0;k<h.length;++k){c[h.charAt(k)]+=j}return c.normalize()};c.scale=function(h,j){for(var k=0;k<h.length;++k){c[h.charAt(k)]*=j}return c.normalize()};c.toString=function(){if(c.a>=1){return"rgb("+[c.r,c.g,c.b].join(",")+")"}else{return"rgba("+[c.r,c.g,c.b,c.a].join(",")+")"}};c.normalize=function(){function h(k,j,l){return j<k?k:(j>l?l:j)}c.r=h(0,parseInt(c.r),255);c.g=h(0,parseInt(c.g),255);c.b=h(0,parseInt(c.b),255);c.a=h(0,c.a,1);return c};c.clone=function(){return b.color.make(c.r,c.b,c.g,c.a)};return c.normalize()};b.color.extract=function(d,e){var c;do{c=d.css(e).toLowerCase();if(c!=""&&c!="transparent"){break}d=d.parent()}while(!b.nodeName(d.get(0),"body"));if(c=="rgba(0, 0, 0, 0)"){c="transparent"}return b.color.parse(c)};b.color.parse=function(c){var d,f=b.color.make;if(d=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c)){return f(parseInt(d[1],10),parseInt(d[2],10),parseInt(d[3],10))}if(d=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(c)){return f(parseInt(d[1],10),parseInt(d[2],10),parseInt(d[3],10),parseFloat(d[4]))}if(d=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c)){return f(parseFloat(d[1])*2.55,parseFloat(d[2])*2.55,parseFloat(d[3])*2.55)}if(d=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(c)){return f(parseFloat(d[1])*2.55,parseFloat(d[2])*2.55,parseFloat(d[3])*2.55,parseFloat(d[4]))}if(d=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c)){return f(parseInt(d[1],16),parseInt(d[2],16),parseInt(d[3],16))}if(d=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c)){return f(parseInt(d[1]+d[1],16),parseInt(d[2]+d[2],16),parseInt(d[3]+d[3],16))}var e=b.trim(c).toLowerCase();if(e=="transparent"){return f(255,255,255,0)}else{d=a[e]||[0,0,0];return f(d[0],d[1],d[2])}};var a={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})(jQuery);(function(c){function b(av,ai,J,af){var Q=[],O={colors:["#edc240","#afd8f8","#cb4b4b","#4da74d","#9440ed"],legend:{show:true,noColumns:1,labelFormatter:null,labelBoxBorderColor:"#ccc",container:null,position:"ne",margin:5,backgroundColor:null,backgroundOpacity:0.85},xaxis:{show:null,position:"bottom",mode:null,color:null,tickColor:null,transform:null,inverseTransform:null,min:null,max:null,autoscaleMargin:null,ticks:null,tickFormatter:null,labelWidth:null,labelHeight:null,reserveSpace:null,tickLength:null,alignTicksWithAxis:null,tickDecimals:null,tickSize:null,minTickSize:null,monthNames:null,timeformat:null,twelveHourClock:false},yaxis:{autoscaleMargin:0.02,position:"left"},xaxes:[],yaxes:[],series:{points:{show:false,radius:3,lineWidth:2,fill:true,fillColor:"#ffffff",symbol:"circle"},lines:{lineWidth:2,fill:false,fillColor:null,steps:false},bars:{show:false,lineWidth:2,barWidth:1,fill:true,fillColor:null,align:"left",horizontal:false},shadowSize:3},grid:{show:true,aboveData:false,color:"#545454",backgroundColor:null,borderColor:null,tickColor:null,labelMargin:5,axisMargin:8,borderWidth:2,minBorderMargin:null,markings:null,markingsColor:"#f4f4f4",markingsLineWidth:2,clickable:false,hoverable:false,autoHighlight:true,mouseActiveRadius:10},hooks:{}},az=null,ad=null,y=null,H=null,A=null,p=[],aw=[],q={left:0,right:0,top:0,bottom:0},G=0,I=0,h=0,w=0,ak={processOptions:[],processRawData:[],processDatapoints:[],drawSeries:[],draw:[],bindEvents:[],drawOverlay:[],shutdown:[]},aq=this;aq.setData=aj;aq.setupGrid=t;aq.draw=W;aq.getPlaceholder=function(){return av};aq.getCanvas=function(){return az};aq.getPlotOffset=function(){return q};aq.width=function(){return h};aq.height=function(){return w};aq.offset=function(){var aB=y.offset();aB.left+=q.left;aB.top+=q.top;return aB};aq.getData=function(){return Q};aq.getAxes=function(){var aC={},aB;c.each(p.concat(aw),function(aD,aE){if(aE){aC[aE.direction+(aE.n!=1?aE.n:"")+"axis"]=aE}});return aC};aq.getXAxes=function(){return p};aq.getYAxes=function(){return aw};aq.c2p=C;aq.p2c=ar;aq.getOptions=function(){return O};aq.highlight=x;aq.unhighlight=T;aq.triggerRedrawOverlay=f;aq.pointOffset=function(aB){return{left:parseInt(p[aA(aB,"x")-1].p2c(+aB.x)+q.left),top:parseInt(aw[aA(aB,"y")-1].p2c(+aB.y)+q.top)}};aq.shutdown=ag;aq.resize=function(){B();g(az);g(ad)};aq.hooks=ak;F(aq);Z(J);X();aj(ai);t();W();ah();function an(aD,aB){aB=[aq].concat(aB);for(var aC=0;aC<aD.length;++aC){aD[aC].apply(this,aB)}}function F(){for(var aB=0;aB<af.length;++aB){var aC=af[aB];aC.init(aq);if(aC.options){c.extend(true,O,aC.options)}}}function Z(aC){var aB;c.extend(true,O,aC);if(O.xaxis.color==null){O.xaxis.color=O.grid.color}if(O.yaxis.color==null){O.yaxis.color=O.grid.color}if(O.xaxis.tickColor==null){O.xaxis.tickColor=O.grid.tickColor}if(O.yaxis.tickColor==null){O.yaxis.tickColor=O.grid.tickColor}if(O.grid.borderColor==null){O.grid.borderColor=O.grid.color}if(O.grid.tickColor==null){O.grid.tickColor=c.color.parse(O.grid.color).scale("a",0.22).toString()}for(aB=0;aB<Math.max(1,O.xaxes.length);++aB){O.xaxes[aB]=c.extend(true,{},O.xaxis,O.xaxes[aB])}for(aB=0;aB<Math.max(1,O.yaxes.length);++aB){O.yaxes[aB]=c.extend(true,{},O.yaxis,O.yaxes[aB])}if(O.xaxis.noTicks&&O.xaxis.ticks==null){O.xaxis.ticks=O.xaxis.noTicks}if(O.yaxis.noTicks&&O.yaxis.ticks==null){O.yaxis.ticks=O.yaxis.noTicks}if(O.x2axis){O.xaxes[1]=c.extend(true,{},O.xaxis,O.x2axis);O.xaxes[1].position="top"}if(O.y2axis){O.yaxes[1]=c.extend(true,{},O.yaxis,O.y2axis);O.yaxes[1].position="right"}if(O.grid.coloredAreas){O.grid.markings=O.grid.coloredAreas}if(O.grid.coloredAreasColor){O.grid.markingsColor=O.grid.coloredAreasColor}if(O.lines){c.extend(true,O.series.lines,O.lines)}if(O.points){c.extend(true,O.series.points,O.points)}if(O.bars){c.extend(true,O.series.bars,O.bars)}if(O.shadowSize!=null){O.series.shadowSize=O.shadowSize}for(aB=0;aB<O.xaxes.length;++aB){V(p,aB+1).options=O.xaxes[aB]}for(aB=0;aB<O.yaxes.length;++aB){V(aw,aB+1).options=O.yaxes[aB]}for(var aD in ak){if(O.hooks[aD]&&O.hooks[aD].length){ak[aD]=ak[aD].concat(O.hooks[aD])}}an(ak.processOptions,[O])}function aj(aB){Q=Y(aB);ax();z()}function Y(aE){var aC=[];for(var aB=0;aB<aE.length;++aB){var aD=c.extend(true,{},O.series);if(aE[aB].data!=null){aD.data=aE[aB].data;delete aE[aB].data;c.extend(true,aD,aE[aB]);aE[aB].data=aD.data}else{aD.data=aE[aB]}aC.push(aD)}return aC}function aA(aC,aD){var aB=aC[aD+"axis"];if(typeof aB=="object"){aB=aB.n}if(typeof aB!="number"){aB=1}return aB}function m(){return c.grep(p.concat(aw),function(aB){return aB})}function C(aE){var aC={},aB,aD;for(aB=0;aB<p.length;++aB){aD=p[aB];if(aD&&aD.used){aC["x"+aD.n]=aD.c2p(aE.left)}}for(aB=0;aB<aw.length;++aB){aD=aw[aB];if(aD&&aD.used){aC["y"+aD.n]=aD.c2p(aE.top)}}if(aC.x1!==undefined){aC.x=aC.x1}if(aC.y1!==undefined){aC.y=aC.y1}return aC}function ar(aF){var aD={},aC,aE,aB;for(aC=0;aC<p.length;++aC){aE=p[aC];if(aE&&aE.used){aB="x"+aE.n;if(aF[aB]==null&&aE.n==1){aB="x"}if(aF[aB]!=null){aD.left=aE.p2c(aF[aB]);break}}}for(aC=0;aC<aw.length;++aC){aE=aw[aC];if(aE&&aE.used){aB="y"+aE.n;if(aF[aB]==null&&aE.n==1){aB="y"}if(aF[aB]!=null){aD.top=aE.p2c(aF[aB]);break}}}return aD}function V(aC,aB){if(!aC[aB-1]){aC[aB-1]={n:aB,direction:aC==p?"x":"y",options:c.extend(true,{},aC==p?O.xaxis:O.yaxis)}}return aC[aB-1]}function ax(){var aG;var aM=Q.length,aB=[],aE=[];for(aG=0;aG<Q.length;++aG){var aJ=Q[aG].color;if(aJ!=null){--aM;if(typeof aJ=="number"){aE.push(aJ)}else{aB.push(c.color.parse(Q[aG].color))}}}for(aG=0;aG<aE.length;++aG){aM=Math.max(aM,aE[aG]+1)}var aC=[],aF=0;aG=0;while(aC.length<aM){var aI;if(O.colors.length==aG){aI=c.color.make(100,100,100)}else{aI=c.color.parse(O.colors[aG])}var aD=aF%2==1?-1:1;aI.scale("rgb",1+aD*Math.ceil(aF/2)*0.2);aC.push(aI);++aG;if(aG>=O.colors.length){aG=0;++aF}}var aH=0,aN;for(aG=0;aG<Q.length;++aG){aN=Q[aG];if(aN.color==null){aN.color=aC[aH].toString();++aH}else{if(typeof aN.color=="number"){aN.color=aC[aN.color].toString()}}if(aN.lines.show==null){var aL,aK=true;for(aL in aN){if(aN[aL]&&aN[aL].show){aK=false;break}}if(aK){aN.lines.show=true}}aN.xaxis=V(p,aA(aN,"x"));aN.yaxis=V(aw,aA(aN,"y"))}}function z(){var aO=Number.POSITIVE_INFINITY,aI=Number.NEGATIVE_INFINITY,aB=Number.MAX_VALUE,aU,aS,aR,aN,aD,aJ,aT,aP,aH,aG,aC,a0,aX,aL;function aF(a3,a2,a1){if(a2<a3.datamin&&a2!=-aB){a3.datamin=a2}if(a1>a3.datamax&&a1!=aB){a3.datamax=a1}}c.each(m(),function(a1,a2){a2.datamin=aO;a2.datamax=aI;a2.used=false});for(aU=0;aU<Q.length;++aU){aJ=Q[aU];aJ.datapoints={points:[]};an(ak.processRawData,[aJ,aJ.data,aJ.datapoints])}for(aU=0;aU<Q.length;++aU){aJ=Q[aU];var aZ=aJ.data,aW=aJ.datapoints.format;if(!aW){aW=[];aW.push({x:true,number:true,required:true});aW.push({y:true,number:true,required:true});if(aJ.bars.show||(aJ.lines.show&&aJ.lines.fill)){aW.push({y:true,number:true,required:false,defaultValue:0});if(aJ.bars.horizontal){delete aW[aW.length-1].y;aW[aW.length-1].x=true}}aJ.datapoints.format=aW}if(aJ.datapoints.pointsize!=null){continue}aJ.datapoints.pointsize=aW.length;aP=aJ.datapoints.pointsize;aT=aJ.datapoints.points;insertSteps=aJ.lines.show&&aJ.lines.steps;aJ.xaxis.used=aJ.yaxis.used=true;for(aS=aR=0;aS<aZ.length;++aS,aR+=aP){aL=aZ[aS];var aE=aL==null;if(!aE){for(aN=0;aN<aP;++aN){a0=aL[aN];aX=aW[aN];if(aX){if(aX.number&&a0!=null){a0=+a0;if(isNaN(a0)){a0=null}else{if(a0==Infinity){a0=aB}else{if(a0==-Infinity){a0=-aB}}}}if(a0==null){if(aX.required){aE=true}if(aX.defaultValue!=null){a0=aX.defaultValue}}}aT[aR+aN]=a0}}if(aE){for(aN=0;aN<aP;++aN){a0=aT[aR+aN];if(a0!=null){aX=aW[aN];if(aX.x){aF(aJ.xaxis,a0,a0)}if(aX.y){aF(aJ.yaxis,a0,a0)}}aT[aR+aN]=null}}else{if(insertSteps&&aR>0&&aT[aR-aP]!=null&&aT[aR-aP]!=aT[aR]&&aT[aR-aP+1]!=aT[aR+1]){for(aN=0;aN<aP;++aN){aT[aR+aP+aN]=aT[aR+aN]}aT[aR+1]=aT[aR-aP+1];aR+=aP}}}}for(aU=0;aU<Q.length;++aU){aJ=Q[aU];an(ak.processDatapoints,[aJ,aJ.datapoints])}for(aU=0;aU<Q.length;++aU){aJ=Q[aU];aT=aJ.datapoints.points,aP=aJ.datapoints.pointsize;var aK=aO,aQ=aO,aM=aI,aV=aI;for(aS=0;aS<aT.length;aS+=aP){if(aT[aS]==null){continue}for(aN=0;aN<aP;++aN){a0=aT[aS+aN];aX=aW[aN];if(!aX||a0==aB||a0==-aB){continue}if(aX.x){if(a0<aK){aK=a0}if(a0>aM){aM=a0}}if(aX.y){if(a0<aQ){aQ=a0}if(a0>aV){aV=a0}}}}if(aJ.bars.show){var aY=aJ.bars.align=="left"?0:-aJ.bars.barWidth/2;if(aJ.bars.horizontal){aQ+=aY;aV+=aY+aJ.bars.barWidth}else{aK+=aY;aM+=aY+aJ.bars.barWidth}}aF(aJ.xaxis,aK,aM);aF(aJ.yaxis,aQ,aV)}c.each(m(),function(a1,a2){if(a2.datamin==aO){a2.datamin=null}if(a2.datamax==aI){a2.datamax=null}})}function j(aB,aC){var aD=document.createElement("canvas");aD.className=aC;aD.width=G;aD.height=I;if(!aB){c(aD).css({position:"absolute",left:0,top:0})}c(aD).appendTo(av);if(!aD.getContext){aD=window.G_vmlCanvasManager.initElement(aD)}aD.getContext("2d").save();return aD}function B(){G=av.width();I=av.height();if(G<=0||I<=0){throw"Invalid dimensions for plot, width = "+G+", height = "+I}}function g(aC){if(aC.width!=G){aC.width=G}if(aC.height!=I){aC.height=I}var aB=aC.getContext("2d");aB.restore();aB.save()}function X(){var aC,aB=av.children("canvas.base"),aD=av.children("canvas.overlay");if(aB.length==0||aD==0){av.html("");av.css({padding:0});if(av.css("position")=="static"){av.css("position","relative")}B();az=j(true,"base");ad=j(false,"overlay");aC=false}else{az=aB.get(0);ad=aD.get(0);aC=true}H=az.getContext("2d");A=ad.getContext("2d");y=c([ad,az]);if(aC){av.data("plot").shutdown();aq.resize();A.clearRect(0,0,G,I);y.unbind();av.children().not([az,ad]).remove()}av.data("plot",aq)}function ah(){if(O.grid.hoverable){y.mousemove(aa);y.mouseleave(l)}if(O.grid.clickable){y.click(R)}an(ak.bindEvents,[y])}function ag(){if(M){clearTimeout(M)}y.unbind("mousemove",aa);y.unbind("mouseleave",l);y.unbind("click",R);an(ak.shutdown,[y])}function r(aG){function aC(aH){return aH}var aF,aB,aD=aG.options.transform||aC,aE=aG.options.inverseTransform;if(aG.direction=="x"){aF=aG.scale=h/Math.abs(aD(aG.max)-aD(aG.min));aB=Math.min(aD(aG.max),aD(aG.min))}else{aF=aG.scale=w/Math.abs(aD(aG.max)-aD(aG.min));aF=-aF;aB=Math.max(aD(aG.max),aD(aG.min))}if(aD==aC){aG.p2c=function(aH){return(aH-aB)*aF}}else{aG.p2c=function(aH){return(aD(aH)-aB)*aF}}if(!aE){aG.c2p=function(aH){return aB+aH/aF}}else{aG.c2p=function(aH){return aE(aB+aH/aF)}}}function L(aD){var aB=aD.options,aF,aJ=aD.ticks||[],aI=[],aE,aK=aB.labelWidth,aG=aB.labelHeight,aC;function aH(aM,aL){return c('<div style="position:absolute;top:-10000px;'+aL+'font-size:smaller"><div class="'+aD.direction+"Axis "+aD.direction+aD.n+'Axis">'+aM.join("")+"</div></div>").appendTo(av)}if(aD.direction=="x"){if(aK==null){aK=Math.floor(G/(aJ.length>0?aJ.length:1))}if(aG==null){aI=[];for(aF=0;aF<aJ.length;++aF){aE=aJ[aF].label;if(aE){aI.push('<div class="tickLabel" style="float:left;width:'+aK+'px">'+aE+"</div>")}}if(aI.length>0){aI.push('<div style="clear:left"></div>');aC=aH(aI,"width:10000px;");aG=aC.height();aC.remove()}}}else{if(aK==null||aG==null){for(aF=0;aF<aJ.length;++aF){aE=aJ[aF].label;if(aE){aI.push('<div class="tickLabel">'+aE+"</div>")}}if(aI.length>0){aC=aH(aI,"");if(aK==null){aK=aC.children().width()}if(aG==null){aG=aC.find("div.tickLabel").height()}aC.remove()}}}if(aK==null){aK=0}if(aG==null){aG=0}aD.labelWidth=aK;aD.labelHeight=aG}function au(aD){var aC=aD.labelWidth,aL=aD.labelHeight,aH=aD.options.position,aF=aD.options.tickLength,aG=O.grid.axisMargin,aJ=O.grid.labelMargin,aK=aD.direction=="x"?p:aw,aE;var aB=c.grep(aK,function(aN){return aN&&aN.options.position==aH&&aN.reserveSpace});if(c.inArray(aD,aB)==aB.length-1){aG=0}if(aF==null){aF="full"}var aI=c.grep(aK,function(aN){return aN&&aN.reserveSpace});var aM=c.inArray(aD,aI)==0;if(!aM&&aF=="full"){aF=5}if(!isNaN(+aF)){aJ+=+aF}if(aD.direction=="x"){aL+=aJ;if(aH=="bottom"){q.bottom+=aL+aG;aD.box={top:I-q.bottom,height:aL}}else{aD.box={top:q.top+aG,height:aL};q.top+=aL+aG}}else{aC+=aJ;if(aH=="left"){aD.box={left:q.left+aG,width:aC};q.left+=aC+aG}else{q.right+=aC+aG;aD.box={left:G-q.right,width:aC}}}aD.position=aH;aD.tickLength=aF;aD.box.padding=aJ;aD.innermost=aM}function U(aB){if(aB.direction=="x"){aB.box.left=q.left;aB.box.width=h}else{aB.box.top=q.top;aB.box.height=w}}function t(){var aC,aE=m();c.each(aE,function(aF,aG){aG.show=aG.options.show;if(aG.show==null){aG.show=aG.used}aG.reserveSpace=aG.show||aG.options.reserveSpace;n(aG)});allocatedAxes=c.grep(aE,function(aF){return aF.reserveSpace});q.left=q.right=q.top=q.bottom=0;if(O.grid.show){c.each(allocatedAxes,function(aF,aG){S(aG);P(aG);ap(aG,aG.ticks);L(aG)});for(aC=allocatedAxes.length-1;aC>=0;--aC){au(allocatedAxes[aC])}var aD=O.grid.minBorderMargin;if(aD==null){aD=0;for(aC=0;aC<Q.length;++aC){aD=Math.max(aD,Q[aC].points.radius+Q[aC].points.lineWidth/2)}}for(var aB in q){q[aB]+=O.grid.borderWidth;q[aB]=Math.max(aD,q[aB])}}h=G-q.left-q.right;w=I-q.bottom-q.top;c.each(aE,function(aF,aG){r(aG)});if(O.grid.show){c.each(allocatedAxes,function(aF,aG){U(aG)});k()}o()}function n(aE){var aF=aE.options,aD=+(aF.min!=null?aF.min:aE.datamin),aB=+(aF.max!=null?aF.max:aE.datamax),aH=aB-aD;if(aH==0){var aC=aB==0?1:0.01;if(aF.min==null){aD-=aC}if(aF.max==null||aF.min!=null){aB+=aC}}else{var aG=aF.autoscaleMargin;if(aG!=null){if(aF.min==null){aD-=aH*aG;if(aD<0&&aE.datamin!=null&&aE.datamin>=0){aD=0}}if(aF.max==null){aB+=aH*aG;if(aB>0&&aE.datamax!=null&&aE.datamax<=0){aB=0}}}}aE.min=aD;aE.max=aB}function S(aG){var aM=aG.options;var aH;if(typeof aM.ticks=="number"&&aM.ticks>0){aH=aM.ticks}else{aH=0.3*Math.sqrt(aG.direction=="x"?G:I)}var aT=(aG.max-aG.min)/aH,aO,aB,aN,aR,aS,aQ,aI;if(aM.mode=="time"){var aJ={second:1000,minute:60*1000,hour:60*60*1000,day:24*60*60*1000,month:30*24*60*60*1000,year:365.2425*24*60*60*1000};var aK=[[1,"second"],[2,"second"],[5,"second"],[10,"second"],[30,"second"],[1,"minute"],[2,"minute"],[5,"minute"],[10,"minute"],[30,"minute"],[1,"hour"],[2,"hour"],[4,"hour"],[8,"hour"],[12,"hour"],[1,"day"],[2,"day"],[3,"day"],[0.25,"month"],[0.5,"month"],[1,"month"],[2,"month"],[3,"month"],[6,"month"],[1,"year"]];var aC=0;if(aM.minTickSize!=null){if(typeof aM.tickSize=="number"){aC=aM.tickSize}else{aC=aM.minTickSize[0]*aJ[aM.minTickSize[1]]}}for(var aS=0;aS<aK.length-1;++aS){if(aT<(aK[aS][0]*aJ[aK[aS][1]]+aK[aS+1][0]*aJ[aK[aS+1][1]])/2&&aK[aS][0]*aJ[aK[aS][1]]>=aC){break}}aO=aK[aS][0];aN=aK[aS][1];if(aN=="year"){aQ=Math.pow(10,Math.floor(Math.log(aT/aJ.year)/Math.LN10));aI=(aT/aJ.year)/aQ;if(aI<1.5){aO=1}else{if(aI<3){aO=2}else{if(aI<7.5){aO=5}else{aO=10}}}aO*=aQ}aG.tickSize=aM.tickSize||[aO,aN];aB=function(aX){var a2=[],a0=aX.tickSize[0],a3=aX.tickSize[1],a1=new Date(aX.min);var aW=a0*aJ[a3];if(a3=="second"){a1.setUTCSeconds(a(a1.getUTCSeconds(),a0))}if(a3=="minute"){a1.setUTCMinutes(a(a1.getUTCMinutes(),a0))}if(a3=="hour"){a1.setUTCHours(a(a1.getUTCHours(),a0))}if(a3=="month"){a1.setUTCMonth(a(a1.getUTCMonth(),a0))}if(a3=="year"){a1.setUTCFullYear(a(a1.getUTCFullYear(),a0))}a1.setUTCMilliseconds(0);if(aW>=aJ.minute){a1.setUTCSeconds(0)}if(aW>=aJ.hour){a1.setUTCMinutes(0)}if(aW>=aJ.day){a1.setUTCHours(0)}if(aW>=aJ.day*4){a1.setUTCDate(1)}if(aW>=aJ.year){a1.setUTCMonth(0)}var a5=0,a4=Number.NaN,aY;do{aY=a4;a4=a1.getTime();a2.push(a4);if(a3=="month"){if(a0<1){a1.setUTCDate(1);var aV=a1.getTime();a1.setUTCMonth(a1.getUTCMonth()+1);var aZ=a1.getTime();a1.setTime(a4+a5*aJ.hour+(aZ-aV)*a0);a5=a1.getUTCHours();a1.setUTCHours(0)}else{a1.setUTCMonth(a1.getUTCMonth()+a0)}}else{if(a3=="year"){a1.setUTCFullYear(a1.getUTCFullYear()+a0)}else{a1.setTime(a4+aW)}}}while(a4<aX.max&&a4!=aY);return a2};aR=function(aV,aY){var a0=new Date(aV);if(aM.timeformat!=null){return c.plot.formatDate(a0,aM.timeformat,aM.monthNames)}var aW=aY.tickSize[0]*aJ[aY.tickSize[1]];var aX=aY.max-aY.min;var aZ=(aM.twelveHourClock)?" %p":"";if(aW<aJ.minute){fmt="%h:%M:%S"+aZ}else{if(aW<aJ.day){if(aX<2*aJ.day){fmt="%h:%M"+aZ}else{fmt="%b %d %h:%M"+aZ}}else{if(aW<aJ.month){fmt="%b %d"}else{if(aW<aJ.year){if(aX<aJ.year){fmt="%b"}else{fmt="%b %y"}}else{fmt="%y"}}}}return c.plot.formatDate(a0,fmt,aM.monthNames)}}else{var aU=aM.tickDecimals;var aP=-Math.floor(Math.log(aT)/Math.LN10);if(aU!=null&&aP>aU){aP=aU}aQ=Math.pow(10,-aP);aI=aT/aQ;if(aI<1.5){aO=1}else{if(aI<3){aO=2;if(aI>2.25&&(aU==null||aP+1<=aU)){aO=2.5;++aP}}else{if(aI<7.5){aO=5}else{aO=10}}}aO*=aQ;if(aM.minTickSize!=null&&aO<aM.minTickSize){aO=aM.minTickSize}aG.tickDecimals=Math.max(0,aU!=null?aU:aP);aG.tickSize=aM.tickSize||aO;aB=function(aX){var aZ=[];var a0=a(aX.min,aX.tickSize),aW=0,aV=Number.NaN,aY;do{aY=aV;aV=a0+aW*aX.tickSize;aZ.push(aV);++aW}while(aV<aX.max&&aV!=aY);return aZ};aR=function(aV,aW){return aV.toFixed(aW.tickDecimals)}}if(aM.alignTicksWithAxis!=null){var aF=(aG.direction=="x"?p:aw)[aM.alignTicksWithAxis-1];if(aF&&aF.used&&aF!=aG){var aL=aB(aG);if(aL.length>0){if(aM.min==null){aG.min=Math.min(aG.min,aL[0])}if(aM.max==null&&aL.length>1){aG.max=Math.max(aG.max,aL[aL.length-1])}}aB=function(aX){var aY=[],aV,aW;for(aW=0;aW<aF.ticks.length;++aW){aV=(aF.ticks[aW].v-aF.min)/(aF.max-aF.min);aV=aX.min+aV*(aX.max-aX.min);aY.push(aV)}return aY};if(aG.mode!="time"&&aM.tickDecimals==null){var aE=Math.max(0,-Math.floor(Math.log(aT)/Math.LN10)+1),aD=aB(aG);if(!(aD.length>1&&/\..*0$/.test((aD[1]-aD[0]).toFixed(aE)))){aG.tickDecimals=aE}}}}aG.tickGenerator=aB;if(c.isFunction(aM.tickFormatter)){aG.tickFormatter=function(aV,aW){return""+aM.tickFormatter(aV,aW)}}else{aG.tickFormatter=aR}}function P(aF){var aH=aF.options.ticks,aG=[];if(aH==null||(typeof aH=="number"&&aH>0)){aG=aF.tickGenerator(aF)}else{if(aH){if(c.isFunction(aH)){aG=aH({min:aF.min,max:aF.max})}else{aG=aH}}}var aE,aB;aF.ticks=[];for(aE=0;aE<aG.length;++aE){var aC=null;var aD=aG[aE];if(typeof aD=="object"){aB=+aD[0];if(aD.length>1){aC=aD[1]}}else{aB=+aD}if(aC==null){aC=aF.tickFormatter(aB,aF)}if(!isNaN(aB)){aF.ticks.push({v:aB,label:aC})}}}function ap(aB,aC){if(aB.options.autoscaleMargin&&aC.length>0){if(aB.options.min==null){aB.min=Math.min(aB.min,aC[0].v)}if(aB.options.max==null&&aC.length>1){aB.max=Math.max(aB.max,aC[aC.length-1].v)}}}function W(){H.clearRect(0,0,G,I);var aC=O.grid;if(aC.show&&aC.backgroundColor){N()}if(aC.show&&!aC.aboveData){ac()}for(var aB=0;aB<Q.length;++aB){an(ak.drawSeries,[H,Q[aB]]);d(Q[aB])}an(ak.draw,[H]);if(aC.show&&aC.aboveData){ac()}}function D(aB,aI){var aE,aH,aG,aD,aF=m();for(i=0;i<aF.length;++i){aE=aF[i];if(aE.direction==aI){aD=aI+aE.n+"axis";if(!aB[aD]&&aE.n==1){aD=aI+"axis"}if(aB[aD]){aH=aB[aD].from;aG=aB[aD].to;break}}}if(!aB[aD]){aE=aI=="x"?p[0]:aw[0];aH=aB[aI+"1"];aG=aB[aI+"2"]}if(aH!=null&&aG!=null&&aH>aG){var aC=aH;aH=aG;aG=aC}return{from:aH,to:aG,axis:aE}}function N(){H.save();H.translate(q.left,q.top);H.fillStyle=am(O.grid.backgroundColor,w,0,"rgba(255, 255, 255, 0)");H.fillRect(0,0,h,w);H.restore()}function ac(){var aF;H.save();H.translate(q.left,q.top);var aH=O.grid.markings;if(aH){if(c.isFunction(aH)){var aK=aq.getAxes();aK.xmin=aK.xaxis.min;aK.xmax=aK.xaxis.max;aK.ymin=aK.yaxis.min;aK.ymax=aK.yaxis.max;aH=aH(aK)}for(aF=0;aF<aH.length;++aF){var aD=aH[aF],aC=D(aD,"x"),aI=D(aD,"y");if(aC.from==null){aC.from=aC.axis.min}if(aC.to==null){aC.to=aC.axis.max}if(aI.from==null){aI.from=aI.axis.min}if(aI.to==null){aI.to=aI.axis.max}if(aC.to<aC.axis.min||aC.from>aC.axis.max||aI.to<aI.axis.min||aI.from>aI.axis.max){continue}aC.from=Math.max(aC.from,aC.axis.min);aC.to=Math.min(aC.to,aC.axis.max);aI.from=Math.max(aI.from,aI.axis.min);aI.to=Math.min(aI.to,aI.axis.max);if(aC.from==aC.to&&aI.from==aI.to){continue}aC.from=aC.axis.p2c(aC.from);aC.to=aC.axis.p2c(aC.to);aI.from=aI.axis.p2c(aI.from);aI.to=aI.axis.p2c(aI.to);if(aC.from==aC.to||aI.from==aI.to){H.beginPath();H.strokeStyle=aD.color||O.grid.markingsColor;H.lineWidth=aD.lineWidth||O.grid.markingsLineWidth;H.moveTo(aC.from,aI.from);H.lineTo(aC.to,aI.to);H.stroke()}else{H.fillStyle=aD.color||O.grid.markingsColor;H.fillRect(aC.from,aI.to,aC.to-aC.from,aI.from-aI.to)}}}var aK=m(),aM=O.grid.borderWidth;for(var aE=0;aE<aK.length;++aE){var aB=aK[aE],aG=aB.box,aQ=aB.tickLength,aN,aL,aP,aJ;if(!aB.show||aB.ticks.length==0){continue}H.strokeStyle=aB.options.tickColor||c.color.parse(aB.options.color).scale("a",0.22).toString();H.lineWidth=aB.options.lineWidth;if(aB.direction=="x"){aN=0;if(aQ=="full"){aL=(aB.position=="top"?0:w)}else{aL=aG.top-q.top+(aB.position=="top"?aG.height:0)}}else{aL=0;if(aQ=="full"){aN=(aB.position=="left"?0:h)}else{aN=aG.left-q.left+(aB.position=="left"?aG.width:0)}}if(!aB.innermost){H.beginPath();aP=aJ=0;if(aB.direction=="x"){aP=h}else{aJ=w}if(H.lineWidth==1){aN=Math.floor(aN)+0.5;aL=Math.floor(aL)+0.5}H.moveTo(aN,aL);H.lineTo(aN+aP,aL+aJ);H.stroke()}H.beginPath();for(aF=0;aF<aB.ticks.length;++aF){var aO=aB.ticks[aF].v;aP=aJ=0;if(aO<aB.min||aO>aB.max||(aQ=="full"&&aM>0&&(aO==aB.min||aO==aB.max))){continue}if(aB.direction=="x"){aN=aB.p2c(aO);aJ=aQ=="full"?-w:aQ;if(aB.position=="top"){aJ=-aJ}}else{aL=aB.p2c(aO);aP=aQ=="full"?-h:aQ;if(aB.position=="left"){aP=-aP}}if(H.lineWidth==1){if(aB.direction=="x"){aN=Math.floor(aN)+0.5}else{aL=Math.floor(aL)+0.5}}H.moveTo(aN,aL);H.lineTo(aN+aP,aL+aJ)}H.stroke()}if(aM){H.lineWidth=aM;H.strokeStyle=O.grid.borderColor;H.strokeRect(-aM/2,-aM/2,h+aM,w+aM)}H.restore()}function k(){av.find(".tickLabels").remove();var aG=['<div class="tickLabels" style="font-size:smaller">'];var aJ=m();for(var aD=0;aD<aJ.length;++aD){var aC=aJ[aD],aF=aC.box;if(!aC.show){continue}aG.push('<div class="'+aC.direction+"Axis "+aC.direction+aC.n+'Axis" style="color:'+aC.options.color+'">');for(var aE=0;aE<aC.ticks.length;++aE){var aH=aC.ticks[aE];if(!aH.label||aH.v<aC.min||aH.v>aC.max){continue}var aK={},aI;if(aC.direction=="x"){aI="center";aK.left=Math.round(q.left+aC.p2c(aH.v)-aC.labelWidth/2);if(aC.position=="bottom"){aK.top=aF.top+aF.padding}else{aK.bottom=I-(aF.top+aF.height-aF.padding)}}else{aK.top=Math.round(q.top+aC.p2c(aH.v)-aC.labelHeight/2);if(aC.position=="left"){aK.right=G-(aF.left+aF.width-aF.padding);aI="right"}else{aK.left=aF.left+aF.padding;aI="left"}}aK.width=aC.labelWidth;var aB=["position:absolute","text-align:"+aI];for(var aL in aK){aB.push(aL+":"+aK[aL]+"px")}aG.push('<div class="tickLabel" style="'+aB.join(";")+'">'+aH.label+"</div>")}aG.push("</div>")}aG.push("</div>");av.append(aG.join(""))}function d(aB){if(aB.lines.show){at(aB)}if(aB.bars.show){e(aB)}if(aB.points.show){ao(aB)}}function at(aE){function aD(aP,aQ,aI,aU,aT){var aV=aP.points,aJ=aP.pointsize,aN=null,aM=null;H.beginPath();for(var aO=aJ;aO<aV.length;aO+=aJ){var aL=aV[aO-aJ],aS=aV[aO-aJ+1],aK=aV[aO],aR=aV[aO+1];if(aL==null||aK==null){continue}if(aS<=aR&&aS<aT.min){if(aR<aT.min){continue}aL=(aT.min-aS)/(aR-aS)*(aK-aL)+aL;aS=aT.min}else{if(aR<=aS&&aR<aT.min){if(aS<aT.min){continue}aK=(aT.min-aS)/(aR-aS)*(aK-aL)+aL;aR=aT.min}}if(aS>=aR&&aS>aT.max){if(aR>aT.max){continue}aL=(aT.max-aS)/(aR-aS)*(aK-aL)+aL;aS=aT.max}else{if(aR>=aS&&aR>aT.max){if(aS>aT.max){continue}aK=(aT.max-aS)/(aR-aS)*(aK-aL)+aL;aR=aT.max}}if(aL<=aK&&aL<aU.min){if(aK<aU.min){continue}aS=(aU.min-aL)/(aK-aL)*(aR-aS)+aS;aL=aU.min}else{if(aK<=aL&&aK<aU.min){if(aL<aU.min){continue}aR=(aU.min-aL)/(aK-aL)*(aR-aS)+aS;aK=aU.min}}if(aL>=aK&&aL>aU.max){if(aK>aU.max){continue}aS=(aU.max-aL)/(aK-aL)*(aR-aS)+aS;aL=aU.max}else{if(aK>=aL&&aK>aU.max){if(aL>aU.max){continue}aR=(aU.max-aL)/(aK-aL)*(aR-aS)+aS;aK=aU.max}}if(aL!=aN||aS!=aM){H.moveTo(aU.p2c(aL)+aQ,aT.p2c(aS)+aI)}aN=aK;aM=aR;H.lineTo(aU.p2c(aK)+aQ,aT.p2c(aR)+aI)}H.stroke()}function aF(aI,aQ,aP){var aW=aI.points,aV=aI.pointsize,aN=Math.min(Math.max(0,aP.min),aP.max),aX=0,aU,aT=false,aM=1,aL=0,aR=0;while(true){if(aV>0&&aX>aW.length+aV){break}aX+=aV;var aZ=aW[aX-aV],aK=aW[aX-aV+aM],aY=aW[aX],aJ=aW[aX+aM];if(aT){if(aV>0&&aZ!=null&&aY==null){aR=aX;aV=-aV;aM=2;continue}if(aV<0&&aX==aL+aV){H.fill();aT=false;aV=-aV;aM=1;aX=aL=aR+aV;continue}}if(aZ==null||aY==null){continue}if(aZ<=aY&&aZ<aQ.min){if(aY<aQ.min){continue}aK=(aQ.min-aZ)/(aY-aZ)*(aJ-aK)+aK;aZ=aQ.min}else{if(aY<=aZ&&aY<aQ.min){if(aZ<aQ.min){continue}aJ=(aQ.min-aZ)/(aY-aZ)*(aJ-aK)+aK;aY=aQ.min}}if(aZ>=aY&&aZ>aQ.max){if(aY>aQ.max){continue}aK=(aQ.max-aZ)/(aY-aZ)*(aJ-aK)+aK;aZ=aQ.max}else{if(aY>=aZ&&aY>aQ.max){if(aZ>aQ.max){continue}aJ=(aQ.max-aZ)/(aY-aZ)*(aJ-aK)+aK;aY=aQ.max}}if(!aT){H.beginPath();H.moveTo(aQ.p2c(aZ),aP.p2c(aN));aT=true}if(aK>=aP.max&&aJ>=aP.max){H.lineTo(aQ.p2c(aZ),aP.p2c(aP.max));H.lineTo(aQ.p2c(aY),aP.p2c(aP.max));continue}else{if(aK<=aP.min&&aJ<=aP.min){H.lineTo(aQ.p2c(aZ),aP.p2c(aP.min));H.lineTo(aQ.p2c(aY),aP.p2c(aP.min));continue}}var aO=aZ,aS=aY;if(aK<=aJ&&aK<aP.min&&aJ>=aP.min){aZ=(aP.min-aK)/(aJ-aK)*(aY-aZ)+aZ;aK=aP.min}else{if(aJ<=aK&&aJ<aP.min&&aK>=aP.min){aY=(aP.min-aK)/(aJ-aK)*(aY-aZ)+aZ;aJ=aP.min}}if(aK>=aJ&&aK>aP.max&&aJ<=aP.max){aZ=(aP.max-aK)/(aJ-aK)*(aY-aZ)+aZ;aK=aP.max}else{if(aJ>=aK&&aJ>aP.max&&aK<=aP.max){aY=(aP.max-aK)/(aJ-aK)*(aY-aZ)+aZ;aJ=aP.max}}if(aZ!=aO){H.lineTo(aQ.p2c(aO),aP.p2c(aK))}H.lineTo(aQ.p2c(aZ),aP.p2c(aK));H.lineTo(aQ.p2c(aY),aP.p2c(aJ));if(aY!=aS){H.lineTo(aQ.p2c(aY),aP.p2c(aJ));H.lineTo(aQ.p2c(aS),aP.p2c(aJ))}}}H.save();H.translate(q.left,q.top);H.lineJoin="round";var aG=aE.lines.lineWidth,aB=aE.shadowSize;if(aG>0&&aB>0){H.lineWidth=aB;H.strokeStyle="rgba(0,0,0,0.1)";var aH=Math.PI/18;aD(aE.datapoints,Math.sin(aH)*(aG/2+aB/2),Math.cos(aH)*(aG/2+aB/2),aE.xaxis,aE.yaxis);H.lineWidth=aB/2;aD(aE.datapoints,Math.sin(aH)*(aG/2+aB/4),Math.cos(aH)*(aG/2+aB/4),aE.xaxis,aE.yaxis)}H.lineWidth=aG;H.strokeStyle=aE.color;var aC=ae(aE.lines,aE.color,0,w);if(aC){H.fillStyle=aC;aF(aE.datapoints,aE.xaxis,aE.yaxis)}if(aG>0){aD(aE.datapoints,0,0,aE.xaxis,aE.yaxis)}H.restore()}function ao(aE){function aH(aN,aM,aU,aK,aS,aT,aQ,aJ){var aR=aN.points,aI=aN.pointsize;for(var aL=0;aL<aR.length;aL+=aI){var aP=aR[aL],aO=aR[aL+1];if(aP==null||aP<aT.min||aP>aT.max||aO<aQ.min||aO>aQ.max){continue}H.beginPath();aP=aT.p2c(aP);aO=aQ.p2c(aO)+aK;if(aJ=="circle"){H.arc(aP,aO,aM,0,aS?Math.PI:Math.PI*2,false)}else{aJ(H,aP,aO,aM,aS)}H.closePath();if(aU){H.fillStyle=aU;H.fill()}/*H.stroke()*/}}H.save();H.translate(q.left,q.top);var aG=aE.points.lineWidth,aC=aE.shadowSize,aB=aE.points.radius,aF=aE.points.symbol;if(aG>0&&aC>0){var aD=aC/2;H.lineWidth=aD;H.strokeStyle="rgba(0,0,0,0.1)";aH(aE.datapoints,aB,null,aD+aD/2,true,aE.xaxis,aE.yaxis,aF);H.strokeStyle="rgba(0,0,0,0.2)";aH(aE.datapoints,aB,null,aD/2,true,aE.xaxis,aE.yaxis,aF)}H.lineWidth=aG;H.strokeStyle=aE.color;aH(aE.datapoints,aB,ae(aE.points,aE.color),0,false,aE.xaxis,aE.yaxis,aF);H.restore()}function E(aN,aM,aV,aI,aQ,aF,aD,aL,aK,aU,aR,aC){var aE,aT,aJ,aP,aG,aB,aO,aH,aS;if(aR){aH=aB=aO=true;aG=false;aE=aV;aT=aN;aP=aM+aI;aJ=aM+aQ;if(aT<aE){aS=aT;aT=aE;aE=aS;aG=true;aB=false}}else{aG=aB=aO=true;aH=false;aE=aN+aI;aT=aN+aQ;aJ=aV;aP=aM;if(aP<aJ){aS=aP;aP=aJ;aJ=aS;aH=true;aO=false}}if(aT<aL.min||aE>aL.max||aP<aK.min||aJ>aK.max){return}if(aE<aL.min){aE=aL.min;aG=false}if(aT>aL.max){aT=aL.max;aB=false}if(aJ<aK.min){aJ=aK.min;aH=false}if(aP>aK.max){aP=aK.max;aO=false}aE=aL.p2c(aE);aJ=aK.p2c(aJ);aT=aL.p2c(aT);aP=aK.p2c(aP);if(aD){aU.beginPath();aU.moveTo(aE,aJ);aU.lineTo(aE,aP);aU.lineTo(aT,aP);aU.lineTo(aT,aJ);aU.fillStyle=aD(aJ,aP);aU.fill()}if(aC>0&&(aG||aB||aO||aH)){aU.beginPath();aU.moveTo(aE,aJ+aF);if(aG){aU.lineTo(aE,aP+aF)}else{aU.moveTo(aE,aP+aF)}if(aO){aU.lineTo(aT,aP+aF)}else{aU.moveTo(aT,aP+aF)}if(aB){aU.lineTo(aT,aJ+aF)}else{aU.moveTo(aT,aJ+aF)}if(aH){aU.lineTo(aE,aJ+aF)}else{aU.moveTo(aE,aJ+aF)}aU.stroke()}}function e(aD){function aC(aJ,aI,aL,aG,aK,aN,aM){var aO=aJ.points,aF=aJ.pointsize;for(var aH=0;aH<aO.length;aH+=aF){if(aO[aH]==null){continue}E(aO[aH],aO[aH+1],aO[aH+2],aI,aL,aG,aK,aN,aM,H,aD.bars.horizontal,aD.bars.lineWidth)}}H.save();H.translate(q.left,q.top);H.lineWidth=aD.bars.lineWidth;H.strokeStyle=aD.color;var aB=aD.bars.align=="left"?0:-aD.bars.barWidth/2;var aE=aD.bars.fill?function(aF,aG){return ae(aD.bars,aD.color,aF,aG)}:null;aC(aD.datapoints,aB,aB+aD.bars.barWidth,0,aE,aD.xaxis,aD.yaxis);H.restore()}function ae(aD,aB,aC,aF){var aE=aD.fill;if(!aE){return null}if(aD.fillColor){return am(aD.fillColor,aC,aF,aB)}var aG=c.color.parse(aB);aG.a=typeof aE=="number"?aE:0.4;aG.normalize();return aG.toString()}function o(){av.find(".legend").remove();if(!O.legend.show){return}var aH=[],aF=false,aN=O.legend.labelFormatter,aM,aJ;for(var aE=0;aE<Q.length;++aE){aM=Q[aE];aJ=aM.label;if(!aJ){continue}if(aE%O.legend.noColumns==0){if(aF){aH.push("</tr>")}aH.push("<tr>");aF=true}if(aN){aJ=aN(aJ,aM)}aH.push('<td class="legendColorBox"><div style="border:1px solid '+O.legend.labelBoxBorderColor+';padding:1px"><div style="width:4px;height:0;border:5px solid '+aM.color+';overflow:hidden"></div></div></td><td class="legendLabel">'+aJ+"</td>")}if(aF){aH.push("</tr>")}if(aH.length==0){return}var aL='<table style="font-size:smaller;color:'+O.grid.color+'">'+aH.join("")+"</table>";if(O.legend.container!=null){c(O.legend.container).html(aL)}else{var aI="",aC=O.legend.position,aD=O.legend.margin;if(aD[0]==null){aD=[aD,aD]}if(aC.charAt(0)=="n"){aI+="top:"+(aD[1]+q.top)+"px;"}else{if(aC.charAt(0)=="s"){aI+="bottom:"+(aD[1]+q.bottom)+"px;"}}if(aC.charAt(1)=="e"){aI+="right:"+(aD[0]+q.right)+"px;"}else{if(aC.charAt(1)=="w"){aI+="left:"+(aD[0]+q.left)+"px;"}}var aK=c('<div class="legend">'+aL.replace('style="','style="position:absolute;'+aI+";")+"</div>").appendTo(av);if(O.legend.backgroundOpacity!=0){var aG=O.legend.backgroundColor;if(aG==null){aG=O.grid.backgroundColor;if(aG&&typeof aG=="string"){aG=c.color.parse(aG)}else{aG=c.color.extract(aK,"background-color")}aG.a=1;aG=aG.toString()}var aB=aK.children();c('<div style="position:absolute;width:'+aB.width()+"px;height:"+aB.height()+"px;"+aI+"background-color:"+aG+';"> </div>').prependTo(aK).css("opacity",O.legend.backgroundOpacity)}}}var ab=[],M=null;function K(aI,aG,aD){var aO=O.grid.mouseActiveRadius,a0=aO*aO+1,aY=null,aR=false,aW,aU;for(aW=Q.length-1;aW>=0;--aW){if(!aD(Q[aW])){continue}var aP=Q[aW],aH=aP.xaxis,aF=aP.yaxis,aV=aP.datapoints.points,aT=aP.datapoints.pointsize,aQ=aH.c2p(aI),aN=aF.c2p(aG),aC=aO/aH.scale,aB=aO/aF.scale;if(aH.options.inverseTransform){aC=Number.MAX_VALUE}if(aF.options.inverseTransform){aB=Number.MAX_VALUE}if(aP.lines.show||aP.points.show||aP.dashes.show){for(aU=0;aU<aV.length;aU+=aT){var aK=aV[aU],aJ=aV[aU+1];if(aK==null){continue}if(aK-aQ>aC||aK-aQ<-aC||aJ-aN>aB||aJ-aN<-aB){continue}var aM=Math.abs(aH.p2c(aK)-aI),aL=Math.abs(aF.p2c(aJ)-aG),aS=aM*aM+aL*aL;if(aS<a0){a0=aS;aY=[aW,aU/aT]}}}if(aP.bars.show&&!aY){var aE=aP.bars.align=="left"?0:-aP.bars.barWidth/2,aX=aE+aP.bars.barWidth;for(aU=0;aU<aV.length;aU+=aT){var aK=aV[aU],aJ=aV[aU+1],aZ=aV[aU+2];if(aK==null){continue}if(Q[aW].bars.horizontal?(aQ<=Math.max(aZ,aK)&&aQ>=Math.min(aZ,aK)&&aN>=aJ+aE&&aN<=aJ+aX):(aQ>=aK+aE&&aQ<=aK+aX&&aN>=Math.min(aZ,aJ)&&aN<=Math.max(aZ,aJ))){aY=[aW,aU/aT]}}}}if(aY){aW=aY[0];aU=aY[1];aT=Q[aW].datapoints.pointsize;return{datapoint:Q[aW].datapoints.points.slice(aU*aT,(aU+1)*aT),dataIndex:aU,series:Q[aW],seriesIndex:aW}}return null}function aa(aB){if(O.grid.hoverable){u("plothover",aB,function(aC){return aC.hoverable!=false})}}function l(aB){if(O.grid.hoverable){u("plothover",aB,function(aC){return false})}}function R(aB){u("plotclick",aB,function(aC){return aC.clickable!=false})}function u(aC,aB,aD){var aE=y.offset(),aH=aB.pageX-aE.left-q.left,aF=aB.pageY-aE.top-q.top,aJ=C({left:aH,top:aF});aJ.pageX=aB.pageX;aJ.pageY=aB.pageY;var aK=K(aH,aF,aD);if(aK){aK.pageX=parseInt(aK.series.xaxis.p2c(aK.datapoint[0])+aE.left+q.left);aK.pageY=parseInt(aK.series.yaxis.p2c(aK.datapoint[1])+aE.top+q.top)}if(O.grid.autoHighlight){for(var aG=0;aG<ab.length;++aG){var aI=ab[aG];if(aI.auto==aC&&!(aK&&aI.series==aK.series&&aI.point[0]==aK.datapoint[0]&&aI.point[1]==aK.datapoint[1])){T(aI.series,aI.point)}}if(aK){x(aK.series,aK.datapoint,aC)}}av.trigger(aC,[aJ,aK])}function f(){if(!M){M=setTimeout(s,30)}}function s(){M=null;A.save();A.clearRect(0,0,G,I);A.translate(q.left,q.top);var aC,aB;for(aC=0;aC<ab.length;++aC){aB=ab[aC];if(aB.series.bars.show){v(aB.series,aB.point)}else{ay(aB.series,aB.point)}}A.restore();an(ak.drawOverlay,[A])}function x(aD,aB,aF){if(typeof aD=="number"){aD=Q[aD]}if(typeof aB=="number"){var aE=aD.datapoints.pointsize;aB=aD.datapoints.points.slice(aE*aB,aE*(aB+1))}var aC=al(aD,aB);if(aC==-1){ab.push({series:aD,point:aB,auto:aF});f()}else{if(!aF){ab[aC].auto=false}}}function T(aD,aB){if(aD==null&&aB==null){ab=[];f()}if(typeof aD=="number"){aD=Q[aD]}if(typeof aB=="number"){aB=aD.data[aB]}var aC=al(aD,aB);if(aC!=-1){ab.splice(aC,1);f()}}function al(aD,aE){for(var aB=0;aB<ab.length;++aB){var aC=ab[aB];if(aC.series==aD&&aC.point[0]==aE[0]&&aC.point[1]==aE[1]){return aB}}return -1}function ay(aE,aD){var aC=aD[0],aI=aD[1],aH=aE.xaxis,aG=aE.yaxis;if(aC<aH.min||aC>aH.max||aI<aG.min||aI>aG.max){return}var aF=aE.points.radius+aE.points.lineWidth/2;A.lineWidth=aF;A.strokeStyle=c.color.parse(aE.color).scale("a",0.5).toString();var aB=1.5*aF,aC=aH.p2c(aC),aI=aG.p2c(aI);A.beginPath();if(aE.points.symbol=="circle"){A.arc(aC,aI,aB,0,2*Math.PI,false)}else{aE.points.symbol(A,aC,aI,aB,false)}A.closePath();A.stroke()}function v(aE,aB){A.lineWidth=aE.bars.lineWidth;A.strokeStyle=c.color.parse(aE.color).scale("a",0.5).toString();var aD=c.color.parse(aE.color).scale("a",0.5).toString();var aC=aE.bars.align=="left"?0:-aE.bars.barWidth/2;E(aB[0],aB[1],aB[2]||0,aC,aC+aE.bars.barWidth,0,function(){return aD},aE.xaxis,aE.yaxis,A,aE.bars.horizontal,aE.bars.lineWidth)}function am(aJ,aB,aH,aC){if(typeof aJ=="string"){return aJ}else{var aI=H.createLinearGradient(0,aH,0,aB);for(var aE=0,aD=aJ.colors.length;aE<aD;++aE){var aF=aJ.colors[aE];if(typeof aF!="string"){var aG=c.color.parse(aC);if(aF.brightness!=null){aG=aG.scale("rgb",aF.brightness)}if(aF.opacity!=null){aG.a*=aF.opacity}aF=aG.toString()}aI.addColorStop(aE/(aD-1),aF)}return aI}}}c.plot=function(g,e,d){var f=new b(c(g),e,d,c.plot.plugins);return f};c.plot.version="0.7";c.plot.plugins=[];c.plot.formatDate=function(l,f,h){var o=function(d){d=""+d;return d.length==1?"0"+d:d};var e=[];var p=false,j=false;var n=l.getUTCHours();var k=n<12;if(h==null){h=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}if(f.search(/%p|%P/)!=-1){if(n>12){n=n-12}else{if(n==0){n=12}}}for(var g=0;g<f.length;++g){var m=f.charAt(g);if(p){switch(m){case"h":m=""+n;break;case"H":m=o(n);break;case"M":m=o(l.getUTCMinutes());break;case"S":m=o(l.getUTCSeconds());break;case"d":m=""+l.getUTCDate();break;case"m":m=""+(l.getUTCMonth()+1);break;case"y":m=""+l.getUTCFullYear();break;case"b":m=""+h[l.getUTCMonth()];break;case"p":m=(k)?("am"):("pm");break;case"P":m=(k)?("AM"):("PM");break;case"0":m="";j=true;break}if(m&&j){m=o(m);j=false}e.push(m);if(!j){p=false}}else{if(m=="%"){p=true}else{e.push(m)}}}return e.join("")};function a(e,d){return d*Math.floor(e/d)}})(jQuery);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
710 </script>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
711
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
712 <script type="text/javascript">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
713 if(!document.createElement("canvas").getContext){(function(){var z=Math;var K=z.round;var J=z.sin;var U=z.cos;var b=z.abs;var k=z.sqrt;var D=10;var F=D/2;function T(){return this.context_||(this.context_=new W(this))}var O=Array.prototype.slice;function G(i,j,m){var Z=O.call(arguments,2);return function(){return i.apply(j,Z.concat(O.call(arguments)))}}function AD(Z){return String(Z).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}function r(i){if(!i.namespaces.g_vml_){i.namespaces.add("g_vml_","urn:schemas-microsoft-com:vml","#default#VML")}if(!i.namespaces.g_o_){i.namespaces.add("g_o_","urn:schemas-microsoft-com:office:office","#default#VML")}if(!i.styleSheets.ex_canvas_){var Z=i.createStyleSheet();Z.owningElement.id="ex_canvas_";Z.cssText="canvas{display:inline-block;overflow:hidden;text-align:left;width:300px;height:150px}"}}r(document);var E={init:function(Z){if(/MSIE/.test(navigator.userAgent)&&!window.opera){var i=Z||document;i.createElement("canvas");i.attachEvent("onreadystatechange",G(this.init_,this,i))}},init_:function(m){var j=m.getElementsByTagName("canvas");for(var Z=0;Z<j.length;Z++){this.initElement(j[Z])}},initElement:function(i){if(!i.getContext){i.getContext=T;r(i.ownerDocument);i.innerHTML="";i.attachEvent("onpropertychange",S);i.attachEvent("onresize",w);var Z=i.attributes;if(Z.width&&Z.width.specified){i.style.width=Z.width.nodeValue+"px"}else{i.width=i.clientWidth}if(Z.height&&Z.height.specified){i.style.height=Z.height.nodeValue+"px"}else{i.height=i.clientHeight}}return i}};function S(i){var Z=i.srcElement;switch(i.propertyName){case"width":Z.getContext().clearRect();Z.style.width=Z.attributes.width.nodeValue+"px";Z.firstChild.style.width=Z.clientWidth+"px";break;case"height":Z.getContext().clearRect();Z.style.height=Z.attributes.height.nodeValue+"px";Z.firstChild.style.height=Z.clientHeight+"px";break}}function w(i){var Z=i.srcElement;if(Z.firstChild){Z.firstChild.style.width=Z.clientWidth+"px";Z.firstChild.style.height=Z.clientHeight+"px"}}E.init();var I=[];for(var AC=0;AC<16;AC++){for(var AB=0;AB<16;AB++){I[AC*16+AB]=AC.toString(16)+AB.toString(16)}}function V(){return[[1,0,0],[0,1,0],[0,0,1]]}function d(m,j){var i=V();for(var Z=0;Z<3;Z++){for(var AF=0;AF<3;AF++){var p=0;for(var AE=0;AE<3;AE++){p+=m[Z][AE]*j[AE][AF]}i[Z][AF]=p}}return i}function Q(i,Z){Z.fillStyle=i.fillStyle;Z.lineCap=i.lineCap;Z.lineJoin=i.lineJoin;Z.lineWidth=i.lineWidth;Z.miterLimit=i.miterLimit;Z.shadowBlur=i.shadowBlur;Z.shadowColor=i.shadowColor;Z.shadowOffsetX=i.shadowOffsetX;Z.shadowOffsetY=i.shadowOffsetY;Z.strokeStyle=i.strokeStyle;Z.globalAlpha=i.globalAlpha;Z.font=i.font;Z.textAlign=i.textAlign;Z.textBaseline=i.textBaseline;Z.arcScaleX_=i.arcScaleX_;Z.arcScaleY_=i.arcScaleY_;Z.lineScale_=i.lineScale_}var B={aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aquamarine:"#7FFFD4",azure:"#F0FFFF",beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000000",blanchedalmond:"#FFEBCD",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#00FFFF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgreen:"#006400",darkgrey:"#A9A9A9",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",grey:"#808080",greenyellow:"#ADFF2F",honeydew:"#F0FFF0",hotpink:"#FF69B4",indianred:"#CD5C5C",indigo:"#4B0082",ivory:"#FFFFF0",khaki:"#F0E68C",lavender:"#E6E6FA",lavenderblush:"#FFF0F5",lawngreen:"#7CFC00",lemonchiffon:"#FFFACD",lightblue:"#ADD8E6",lightcoral:"#F08080",lightcyan:"#E0FFFF",lightgoldenrodyellow:"#FAFAD2",lightgreen:"#90EE90",lightgrey:"#D3D3D3",lightpink:"#FFB6C1",lightsalmon:"#FFA07A",lightseagreen:"#20B2AA",lightskyblue:"#87CEFA",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#B0C4DE",lightyellow:"#FFFFE0",limegreen:"#32CD32",linen:"#FAF0E6",magenta:"#FF00FF",mediumaquamarine:"#66CDAA",mediumblue:"#0000CD",mediumorchid:"#BA55D3",mediumpurple:"#9370DB",mediumseagreen:"#3CB371",mediumslateblue:"#7B68EE",mediumspringgreen:"#00FA9A",mediumturquoise:"#48D1CC",mediumvioletred:"#C71585",midnightblue:"#191970",mintcream:"#F5FFFA",mistyrose:"#FFE4E1",moccasin:"#FFE4B5",navajowhite:"#FFDEAD",oldlace:"#FDF5E6",olivedrab:"#6B8E23",orange:"#FFA500",orangered:"#FF4500",orchid:"#DA70D6",palegoldenrod:"#EEE8AA",palegreen:"#98FB98",paleturquoise:"#AFEEEE",palevioletred:"#DB7093",papayawhip:"#FFEFD5",peachpuff:"#FFDAB9",peru:"#CD853F",pink:"#FFC0CB",plum:"#DDA0DD",powderblue:"#B0E0E6",rosybrown:"#BC8F8F",royalblue:"#4169E1",saddlebrown:"#8B4513",salmon:"#FA8072",sandybrown:"#F4A460",seagreen:"#2E8B57",seashell:"#FFF5EE",sienna:"#A0522D",skyblue:"#87CEEB",slateblue:"#6A5ACD",slategray:"#708090",slategrey:"#708090",snow:"#FFFAFA",springgreen:"#00FF7F",steelblue:"#4682B4",tan:"#D2B48C",thistle:"#D8BFD8",tomato:"#FF6347",turquoise:"#40E0D0",violet:"#EE82EE",wheat:"#F5DEB3",whitesmoke:"#F5F5F5",yellowgreen:"#9ACD32"};function g(i){var m=i.indexOf("(",3);var Z=i.indexOf(")",m+1);var j=i.substring(m+1,Z).split(",");if(j.length==4&&i.substr(3,1)=="a"){alpha=Number(j[3])}else{j[3]=1}return j}function C(Z){return parseFloat(Z)/100}function N(i,j,Z){return Math.min(Z,Math.max(j,i))}function c(AF){var j,i,Z;h=parseFloat(AF[0])/360%360;if(h<0){h++}s=N(C(AF[1]),0,1);l=N(C(AF[2]),0,1);if(s==0){j=i=Z=l}else{var m=l<0.5?l*(1+s):l+s-l*s;var AE=2*l-m;j=A(AE,m,h+1/3);i=A(AE,m,h);Z=A(AE,m,h-1/3)}return"#"+I[Math.floor(j*255)]+I[Math.floor(i*255)]+I[Math.floor(Z*255)]}function A(i,Z,j){if(j<0){j++}if(j>1){j--}if(6*j<1){return i+(Z-i)*6*j}else{if(2*j<1){return Z}else{if(3*j<2){return i+(Z-i)*(2/3-j)*6}else{return i}}}}function Y(Z){var AE,p=1;Z=String(Z);if(Z.charAt(0)=="#"){AE=Z}else{if(/^rgb/.test(Z)){var m=g(Z);var AE="#",AF;for(var j=0;j<3;j++){if(m[j].indexOf("%")!=-1){AF=Math.floor(C(m[j])*255)}else{AF=Number(m[j])}AE+=I[N(AF,0,255)]}p=m[3]}else{if(/^hsl/.test(Z)){var m=g(Z);AE=c(m);p=m[3]}else{AE=B[Z]||Z}}}return{color:AE,alpha:p}}var L={style:"normal",variant:"normal",weight:"normal",size:10,family:"sans-serif"};var f={};function X(Z){if(f[Z]){return f[Z]}var m=document.createElement("div");var j=m.style;try{j.font=Z}catch(i){}return f[Z]={style:j.fontStyle||L.style,variant:j.fontVariant||L.variant,weight:j.fontWeight||L.weight,size:j.fontSize||L.size,family:j.fontFamily||L.family}}function P(j,i){var Z={};for(var AF in j){Z[AF]=j[AF]}var AE=parseFloat(i.currentStyle.fontSize),m=parseFloat(j.size);if(typeof j.size=="number"){Z.size=j.size}else{if(j.size.indexOf("px")!=-1){Z.size=m}else{if(j.size.indexOf("em")!=-1){Z.size=AE*m}else{if(j.size.indexOf("%")!=-1){Z.size=(AE/100)*m}else{if(j.size.indexOf("pt")!=-1){Z.size=m/0.75}else{Z.size=AE}}}}}Z.size*=0.981;return Z}function AA(Z){return Z.style+" "+Z.variant+" "+Z.weight+" "+Z.size+"px "+Z.family}function t(Z){switch(Z){case"butt":return"flat";case"round":return"round";case"square":default:return"square"}}function W(i){this.m_=V();this.mStack_=[];this.aStack_=[];this.currentPath_=[];this.strokeStyle="#000";this.fillStyle="#000";this.lineWidth=1;this.lineJoin="miter";this.lineCap="butt";this.miterLimit=D*1;this.globalAlpha=1;this.font="10px sans-serif";this.textAlign="left";this.textBaseline="alphabetic";this.canvas=i;var Z=i.ownerDocument.createElement("div");Z.style.width=i.clientWidth+"px";Z.style.height=i.clientHeight+"px";Z.style.overflow="hidden";Z.style.position="absolute";i.appendChild(Z);this.element_=Z;this.arcScaleX_=1;this.arcScaleY_=1;this.lineScale_=1}var M=W.prototype;M.clearRect=function(){if(this.textMeasureEl_){this.textMeasureEl_.removeNode(true);this.textMeasureEl_=null}this.element_.innerHTML=""};M.beginPath=function(){this.currentPath_=[]};M.moveTo=function(i,Z){var j=this.getCoords_(i,Z);this.currentPath_.push({type:"moveTo",x:j.x,y:j.y});this.currentX_=j.x;this.currentY_=j.y};M.lineTo=function(i,Z){var j=this.getCoords_(i,Z);this.currentPath_.push({type:"lineTo",x:j.x,y:j.y});this.currentX_=j.x;this.currentY_=j.y};M.bezierCurveTo=function(j,i,AI,AH,AG,AE){var Z=this.getCoords_(AG,AE);var AF=this.getCoords_(j,i);var m=this.getCoords_(AI,AH);e(this,AF,m,Z)};function e(Z,m,j,i){Z.currentPath_.push({type:"bezierCurveTo",cp1x:m.x,cp1y:m.y,cp2x:j.x,cp2y:j.y,x:i.x,y:i.y});Z.currentX_=i.x;Z.currentY_=i.y}M.quadraticCurveTo=function(AG,j,i,Z){var AF=this.getCoords_(AG,j);var AE=this.getCoords_(i,Z);var AH={x:this.currentX_+2/3*(AF.x-this.currentX_),y:this.currentY_+2/3*(AF.y-this.currentY_)};var m={x:AH.x+(AE.x-this.currentX_)/3,y:AH.y+(AE.y-this.currentY_)/3};e(this,AH,m,AE)};M.arc=function(AJ,AH,AI,AE,i,j){AI*=D;var AN=j?"at":"wa";var AK=AJ+U(AE)*AI-F;var AM=AH+J(AE)*AI-F;var Z=AJ+U(i)*AI-F;var AL=AH+J(i)*AI-F;if(AK==Z&&!j){AK+=0.125}var m=this.getCoords_(AJ,AH);var AG=this.getCoords_(AK,AM);var AF=this.getCoords_(Z,AL);this.currentPath_.push({type:AN,x:m.x,y:m.y,radius:AI,xStart:AG.x,yStart:AG.y,xEnd:AF.x,yEnd:AF.y})};M.rect=function(j,i,Z,m){this.moveTo(j,i);this.lineTo(j+Z,i);this.lineTo(j+Z,i+m);this.lineTo(j,i+m);this.closePath()};M.strokeRect=function(j,i,Z,m){var p=this.currentPath_;this.beginPath();this.moveTo(j,i);this.lineTo(j+Z,i);this.lineTo(j+Z,i+m);this.lineTo(j,i+m);this.closePath();this.stroke();this.currentPath_=p};M.fillRect=function(j,i,Z,m){var p=this.currentPath_;this.beginPath();this.moveTo(j,i);this.lineTo(j+Z,i);this.lineTo(j+Z,i+m);this.lineTo(j,i+m);this.closePath();this.fill();this.currentPath_=p};M.createLinearGradient=function(i,m,Z,j){var p=new v("gradient");p.x0_=i;p.y0_=m;p.x1_=Z;p.y1_=j;return p};M.createRadialGradient=function(m,AE,j,i,p,Z){var AF=new v("gradientradial");AF.x0_=m;AF.y0_=AE;AF.r0_=j;AF.x1_=i;AF.y1_=p;AF.r1_=Z;return AF};M.drawImage=function(AO,j){var AH,AF,AJ,AV,AM,AK,AQ,AX;var AI=AO.runtimeStyle.width;var AN=AO.runtimeStyle.height;AO.runtimeStyle.width="auto";AO.runtimeStyle.height="auto";var AG=AO.width;var AT=AO.height;AO.runtimeStyle.width=AI;AO.runtimeStyle.height=AN;if(arguments.length==3){AH=arguments[1];AF=arguments[2];AM=AK=0;AQ=AJ=AG;AX=AV=AT}else{if(arguments.length==5){AH=arguments[1];AF=arguments[2];AJ=arguments[3];AV=arguments[4];AM=AK=0;AQ=AG;AX=AT}else{if(arguments.length==9){AM=arguments[1];AK=arguments[2];AQ=arguments[3];AX=arguments[4];AH=arguments[5];AF=arguments[6];AJ=arguments[7];AV=arguments[8]}else{throw Error("Invalid number of arguments")}}}var AW=this.getCoords_(AH,AF);var m=AQ/2;var i=AX/2;var AU=[];var Z=10;var AE=10;AU.push(" <g_vml_:group",' coordsize="',D*Z,",",D*AE,'"',' coordorigin="0,0"',' style="width:',Z,"px;height:",AE,"px;position:absolute;");if(this.m_[0][0]!=1||this.m_[0][1]||this.m_[1][1]!=1||this.m_[1][0]){var p=[];p.push("M11=",this.m_[0][0],",","M12=",this.m_[1][0],",","M21=",this.m_[0][1],",","M22=",this.m_[1][1],",","Dx=",K(AW.x/D),",","Dy=",K(AW.y/D),"");var AS=AW;var AR=this.getCoords_(AH+AJ,AF);var AP=this.getCoords_(AH,AF+AV);var AL=this.getCoords_(AH+AJ,AF+AV);AS.x=z.max(AS.x,AR.x,AP.x,AL.x);AS.y=z.max(AS.y,AR.y,AP.y,AL.y);AU.push("padding:0 ",K(AS.x/D),"px ",K(AS.y/D),"px 0;filter:progid:DXImageTransform.Microsoft.Matrix(",p.join(""),", sizingmethod='clip');")}else{AU.push("top:",K(AW.y/D),"px;left:",K(AW.x/D),"px;")}AU.push(' ">','<g_vml_:image src="',AO.src,'"',' style="width:',D*AJ,"px;"," height:",D*AV,'px"',' cropleft="',AM/AG,'"',' croptop="',AK/AT,'"',' cropright="',(AG-AM-AQ)/AG,'"',' cropbottom="',(AT-AK-AX)/AT,'"'," />","</g_vml_:group>");this.element_.insertAdjacentHTML("BeforeEnd",AU.join(""))};M.stroke=function(AM){var m=10;var AN=10;var AE=5000;var AG={x:null,y:null};var AL={x:null,y:null};for(var AH=0;AH<this.currentPath_.length;AH+=AE){var AK=[];var AF=false;AK.push("<g_vml_:shape",' filled="',!!AM,'"',' style="position:absolute;width:',m,"px;height:",AN,'px;"',' coordorigin="0,0"',' coordsize="',D*m,",",D*AN,'"',' stroked="',!AM,'"',' path="');var AO=false;for(var AI=AH;AI<Math.min(AH+AE,this.currentPath_.length);AI++){if(AI%AE==0&&AI>0){AK.push(" m ",K(this.currentPath_[AI-1].x),",",K(this.currentPath_[AI-1].y))}var Z=this.currentPath_[AI];var AJ;switch(Z.type){case"moveTo":AJ=Z;AK.push(" m ",K(Z.x),",",K(Z.y));break;case"lineTo":AK.push(" l ",K(Z.x),",",K(Z.y));break;case"close":AK.push(" x ");Z=null;break;case"bezierCurveTo":AK.push(" c ",K(Z.cp1x),",",K(Z.cp1y),",",K(Z.cp2x),",",K(Z.cp2y),",",K(Z.x),",",K(Z.y));break;case"at":case"wa":AK.push(" ",Z.type," ",K(Z.x-this.arcScaleX_*Z.radius),",",K(Z.y-this.arcScaleY_*Z.radius)," ",K(Z.x+this.arcScaleX_*Z.radius),",",K(Z.y+this.arcScaleY_*Z.radius)," ",K(Z.xStart),",",K(Z.yStart)," ",K(Z.xEnd),",",K(Z.yEnd));break}if(Z){if(AG.x==null||Z.x<AG.x){AG.x=Z.x}if(AL.x==null||Z.x>AL.x){AL.x=Z.x}if(AG.y==null||Z.y<AG.y){AG.y=Z.y}if(AL.y==null||Z.y>AL.y){AL.y=Z.y}}}AK.push(' ">');if(!AM){R(this,AK)}else{a(this,AK,AG,AL)}AK.push("</g_vml_:shape>");this.element_.insertAdjacentHTML("beforeEnd",AK.join(""))}};function R(j,AE){var i=Y(j.strokeStyle);var m=i.color;var p=i.alpha*j.globalAlpha;var Z=j.lineScale_*j.lineWidth;if(Z<1){p*=Z}AE.push("<g_vml_:stroke",' opacity="',p,'"',' joinstyle="',j.lineJoin,'"',' miterlimit="',j.miterLimit,'"',' endcap="',t(j.lineCap),'"',' weight="',Z,'px"',' color="',m,'" />')}function a(AO,AG,Ah,AP){var AH=AO.fillStyle;var AY=AO.arcScaleX_;var AX=AO.arcScaleY_;var Z=AP.x-Ah.x;var m=AP.y-Ah.y;if(AH instanceof v){var AL=0;var Ac={x:0,y:0};var AU=0;var AK=1;if(AH.type_=="gradient"){var AJ=AH.x0_/AY;var j=AH.y0_/AX;var AI=AH.x1_/AY;var Aj=AH.y1_/AX;var Ag=AO.getCoords_(AJ,j);var Af=AO.getCoords_(AI,Aj);var AE=Af.x-Ag.x;var p=Af.y-Ag.y;AL=Math.atan2(AE,p)*180/Math.PI;if(AL<0){AL+=360}if(AL<0.000001){AL=0}}else{var Ag=AO.getCoords_(AH.x0_,AH.y0_);Ac={x:(Ag.x-Ah.x)/Z,y:(Ag.y-Ah.y)/m};Z/=AY*D;m/=AX*D;var Aa=z.max(Z,m);AU=2*AH.r0_/Aa;AK=2*AH.r1_/Aa-AU}var AS=AH.colors_;AS.sort(function(Ak,i){return Ak.offset-i.offset});var AN=AS.length;var AR=AS[0].color;var AQ=AS[AN-1].color;var AW=AS[0].alpha*AO.globalAlpha;var AV=AS[AN-1].alpha*AO.globalAlpha;var Ab=[];for(var Ae=0;Ae<AN;Ae++){var AM=AS[Ae];Ab.push(AM.offset*AK+AU+" "+AM.color)}AG.push('<g_vml_:fill type="',AH.type_,'"',' method="none" focus="100%"',' color="',AR,'"',' color2="',AQ,'"',' colors="',Ab.join(","),'"',' opacity="',AV,'"',' g_o_:opacity2="',AW,'"',' angle="',AL,'"',' focusposition="',Ac.x,",",Ac.y,'" />')}else{if(AH instanceof u){if(Z&&m){var AF=-Ah.x;var AZ=-Ah.y;AG.push("<g_vml_:fill",' position="',AF/Z*AY*AY,",",AZ/m*AX*AX,'"',' type="tile"',' src="',AH.src_,'" />')}}else{var Ai=Y(AO.fillStyle);var AT=Ai.color;var Ad=Ai.alpha*AO.globalAlpha;AG.push('<g_vml_:fill color="',AT,'" opacity="',Ad,'" />')}}}M.fill=function(){this.stroke(true)};M.closePath=function(){this.currentPath_.push({type:"close"})};M.getCoords_=function(j,i){var Z=this.m_;return{x:D*(j*Z[0][0]+i*Z[1][0]+Z[2][0])-F,y:D*(j*Z[0][1]+i*Z[1][1]+Z[2][1])-F}};M.save=function(){var Z={};Q(this,Z);this.aStack_.push(Z);this.mStack_.push(this.m_);this.m_=d(V(),this.m_)};M.restore=function(){if(this.aStack_.length){Q(this.aStack_.pop(),this);this.m_=this.mStack_.pop()}};function H(Z){return isFinite(Z[0][0])&&isFinite(Z[0][1])&&isFinite(Z[1][0])&&isFinite(Z[1][1])&&isFinite(Z[2][0])&&isFinite(Z[2][1])}function y(i,Z,j){if(!H(Z)){return }i.m_=Z;if(j){var p=Z[0][0]*Z[1][1]-Z[0][1]*Z[1][0];i.lineScale_=k(b(p))}}M.translate=function(j,i){var Z=[[1,0,0],[0,1,0],[j,i,1]];y(this,d(Z,this.m_),false)};M.rotate=function(i){var m=U(i);var j=J(i);var Z=[[m,j,0],[-j,m,0],[0,0,1]];y(this,d(Z,this.m_),false)};M.scale=function(j,i){this.arcScaleX_*=j;this.arcScaleY_*=i;var Z=[[j,0,0],[0,i,0],[0,0,1]];y(this,d(Z,this.m_),true)};M.transform=function(p,m,AF,AE,i,Z){var j=[[p,m,0],[AF,AE,0],[i,Z,1]];y(this,d(j,this.m_),true)};M.setTransform=function(AE,p,AG,AF,j,i){var Z=[[AE,p,0],[AG,AF,0],[j,i,1]];y(this,Z,true)};M.drawText_=function(AK,AI,AH,AN,AG){var AM=this.m_,AQ=1000,i=0,AP=AQ,AF={x:0,y:0},AE=[];var Z=P(X(this.font),this.element_);var j=AA(Z);var AR=this.element_.currentStyle;var p=this.textAlign.toLowerCase();switch(p){case"left":case"center":case"right":break;case"end":p=AR.direction=="ltr"?"right":"left";break;case"start":p=AR.direction=="rtl"?"right":"left";break;default:p="left"}switch(this.textBaseline){case"hanging":case"top":AF.y=Z.size/1.75;break;case"middle":break;default:case null:case"alphabetic":case"ideographic":case"bottom":AF.y=-Z.size/2.25;break}switch(p){case"right":i=AQ;AP=0.05;break;case"center":i=AP=AQ/2;break}var AO=this.getCoords_(AI+AF.x,AH+AF.y);AE.push('<g_vml_:line from="',-i,' 0" to="',AP,' 0.05" ',' coordsize="100 100" coordorigin="0 0"',' filled="',!AG,'" stroked="',!!AG,'" style="position:absolute;width:1px;height:1px;">');if(AG){R(this,AE)}else{a(this,AE,{x:-i,y:0},{x:AP,y:Z.size})}var AL=AM[0][0].toFixed(3)+","+AM[1][0].toFixed(3)+","+AM[0][1].toFixed(3)+","+AM[1][1].toFixed(3)+",0,0";var AJ=K(AO.x/D)+","+K(AO.y/D);AE.push('<g_vml_:skew on="t" matrix="',AL,'" ',' offset="',AJ,'" origin="',i,' 0" />','<g_vml_:path textpathok="true" />','<g_vml_:textpath on="true" string="',AD(AK),'" style="v-text-align:',p,";font:",AD(j),'" /></g_vml_:line>');this.element_.insertAdjacentHTML("beforeEnd",AE.join(""))};M.fillText=function(j,Z,m,i){this.drawText_(j,Z,m,i,false)};M.strokeText=function(j,Z,m,i){this.drawText_(j,Z,m,i,true)};M.measureText=function(j){if(!this.textMeasureEl_){var Z='<span style="position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;"></span>';this.element_.insertAdjacentHTML("beforeEnd",Z);this.textMeasureEl_=this.element_.lastChild}var i=this.element_.ownerDocument;this.textMeasureEl_.innerHTML="";this.textMeasureEl_.style.font=this.font;this.textMeasureEl_.appendChild(i.createTextNode(j));return{width:this.textMeasureEl_.offsetWidth}};M.clip=function(){};M.arcTo=function(){};M.createPattern=function(i,Z){return new u(i,Z)};function v(Z){this.type_=Z;this.x0_=0;this.y0_=0;this.r0_=0;this.x1_=0;this.y1_=0;this.r1_=0;this.colors_=[]}v.prototype.addColorStop=function(i,Z){Z=Y(Z);this.colors_.push({offset:i,color:Z.color,alpha:Z.alpha})};function u(i,Z){q(i);switch(Z){case"repeat":case null:case"":this.repetition_="repeat";break;case"repeat-x":case"repeat-y":case"no-repeat":this.repetition_=Z;break;default:n("SYNTAX_ERR")}this.src_=i.src;this.width_=i.width;this.height_=i.height}function n(Z){throw new o(Z)}function q(Z){if(!Z||Z.nodeType!=1||Z.tagName!="IMG"){n("TYPE_MISMATCH_ERR")}if(Z.readyState!="complete"){n("INVALID_STATE_ERR")}}function o(Z){this.code=this[Z];this.message=Z+": DOM Exception "+this.code}var x=o.prototype=new Error;x.INDEX_SIZE_ERR=1;x.DOMSTRING_SIZE_ERR=2;x.HIERARCHY_REQUEST_ERR=3;x.WRONG_DOCUMENT_ERR=4;x.INVALID_CHARACTER_ERR=5;x.NO_DATA_ALLOWED_ERR=6;x.NO_MODIFICATION_ALLOWED_ERR=7;x.NOT_FOUND_ERR=8;x.NOT_SUPPORTED_ERR=9;x.INUSE_ATTRIBUTE_ERR=10;x.INVALID_STATE_ERR=11;x.SYNTAX_ERR=12;x.INVALID_MODIFICATION_ERR=13;x.NAMESPACE_ERR=14;x.INVALID_ACCESS_ERR=15;x.VALIDATION_ERR=16;x.TYPE_MISMATCH_ERR=17;G_vmlCanvasManager=E;CanvasRenderingContext2D=W;CanvasGradient=v;CanvasPattern=u;DOMException=o})()};
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
714 </script>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
715
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
716 <script type="text/javascript">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
717 /*
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
718 * jQuery.flot.dashes
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
719 *
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
720 * options = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
721 * series: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
722 * dashes: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
723 *
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
724 * // show
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
725 * // default: false
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
726 * // Whether to show dashes for the series.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
727 * show: <boolean>,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
728 *
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
729 * // lineWidth
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
730 * // default: 2
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
731 * // The width of the dashed line in pixels.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
732 * lineWidth: <number>,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
733 *
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
734 * // dashLength
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
735 * // default: 10
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
736 * // Controls the length of the individual dashes and the amount of
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
737 * // space between them.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
738 * // If this is a number, the dashes and spaces will have that length.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
739 * // If this is an array, it is read as [ dashLength, spaceLength ]
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
740 * dashLength: <number> or <array[2]>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
741 * }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
742 * }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
743 * }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
744 */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
745 (function($){
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
746
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
747 function init(plot) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
748
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
749 plot.hooks.processDatapoints.push(function(plot, series, datapoints) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
750
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
751 if (!series.dashes.show) return;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
752
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
753 plot.hooks.draw.push(function(plot, ctx) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
754
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
755 var plotOffset = plot.getPlotOffset(),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
756 axisx = series.xaxis,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
757 axisy = series.yaxis;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
758
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
759 function plotDashes(xoffset, yoffset) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
760
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
761 var points = datapoints.points,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
762 ps = datapoints.pointsize,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
763 prevx = null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
764 prevy = null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
765 dashRemainder = 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
766 dashOn = true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
767 dashOnLength,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
768 dashOffLength;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
769
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
770 if (series.dashes.dashLength[0]) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
771 dashOnLength = series.dashes.dashLength[0];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
772 if (series.dashes.dashLength[1]) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
773 dashOffLength = series.dashes.dashLength[1];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
774 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
775 dashOffLength = dashOnLength;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
776 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
777 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
778 dashOffLength = dashOnLength = series.dashes.dashLength;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
779 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
780
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
781 ctx.beginPath();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
782
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
783 for (var i = ps; i < points.length; i += ps) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
784
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
785 var x1 = points[i - ps],
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
786 y1 = points[i - ps + 1],
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
787 x2 = points[i],
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
788 y2 = points[i + 1];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
789
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
790 if (x1 == null || x2 == null) continue;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
791
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
792 // clip with ymin
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
793 if (y1 <= y2 && y1 < axisy.min) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
794 if (y2 < axisy.min) continue; // line segment is outside
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
795 // compute new intersection point
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
796 x1 = (axisy.min - y1) / (y2 - y1) * (x2 - x1) + x1;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
797 y1 = axisy.min;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
798 } else if (y2 <= y1 && y2 < axisy.min) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
799 if (y1 < axisy.min) continue;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
800 x2 = (axisy.min - y1) / (y2 - y1) * (x2 - x1) + x1;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
801 y2 = axisy.min;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
802 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
803
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
804 // clip with ymax
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
805 if (y1 >= y2 && y1 > axisy.max) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
806 if (y2 > axisy.max) continue;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
807 x1 = (axisy.max - y1) / (y2 - y1) * (x2 - x1) + x1;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
808 y1 = axisy.max;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
809 } else if (y2 >= y1 && y2 > axisy.max) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
810 if (y1 > axisy.max) continue;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
811 x2 = (axisy.max - y1) / (y2 - y1) * (x2 - x1) + x1;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
812 y2 = axisy.max;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
813 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
814
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
815 // clip with xmin
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
816 if (x1 <= x2 && x1 < axisx.min) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
817 if (x2 < axisx.min) continue;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
818 y1 = (axisx.min - x1) / (x2 - x1) * (y2 - y1) + y1;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
819 x1 = axisx.min;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
820 } else if (x2 <= x1 && x2 < axisx.min) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
821 if (x1 < axisx.min) continue;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
822 y2 = (axisx.min - x1) / (x2 - x1) * (y2 - y1) + y1;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
823 x2 = axisx.min;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
824 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
825
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
826 // clip with xmax
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
827 if (x1 >= x2 && x1 > axisx.max) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
828 if (x2 > axisx.max) continue;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
829 y1 = (axisx.max - x1) / (x2 - x1) * (y2 - y1) + y1;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
830 x1 = axisx.max;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
831 } else if (x2 >= x1 && x2 > axisx.max) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
832 if (x1 > axisx.max) continue;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
833 y2 = (axisx.max - x1) / (x2 - x1) * (y2 - y1) + y1;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
834 x2 = axisx.max;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
835 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
836
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
837 if (x1 != prevx || y1 != prevy) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
838 ctx.moveTo(axisx.p2c(x1) + xoffset, axisy.p2c(y1) + yoffset);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
839 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
840
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
841 var ax1 = axisx.p2c(x1) + xoffset,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
842 ay1 = axisy.p2c(y1) + yoffset,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
843 ax2 = axisx.p2c(x2) + xoffset,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
844 ay2 = axisy.p2c(y2) + yoffset,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
845 dashOffset;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
846
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
847 function lineSegmentOffset(segmentLength) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
848
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
849 var c = Math.sqrt(Math.pow(ax2 - ax1, 2) + Math.pow(ay2 - ay1, 2));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
850
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
851 if (c <= segmentLength) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
852 return {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
853 deltaX: ax2 - ax1,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
854 deltaY: ay2 - ay1,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
855 distance: c,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
856 remainder: segmentLength - c
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
857 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
858 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
859 var xsign = ax2 > ax1 ? 1 : -1,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
860 ysign = ay2 > ay1 ? 1 : -1;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
861 return {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
862 deltaX: xsign * Math.sqrt(Math.pow(segmentLength, 2) / (1 + Math.pow((ay2 - ay1)/(ax2 - ax1), 2))),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
863 deltaY: ysign * Math.sqrt(Math.pow(segmentLength, 2) - Math.pow(segmentLength, 2) / (1 + Math.pow((ay2 - ay1)/(ax2 - ax1), 2))),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
864 distance: segmentLength,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
865 remainder: 0
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
866 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
867 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
868 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
869 //-end lineSegmentOffset
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
870
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
871 do {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
872
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
873 dashOffset = lineSegmentOffset(
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
874 dashRemainder > 0 ? dashRemainder :
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
875 dashOn ? dashOnLength : dashOffLength);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
876
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
877 if (dashOffset.deltaX != 0 || dashOffset.deltaY != 0) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
878 if (dashOn) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
879 ctx.lineTo(ax1 + dashOffset.deltaX, ay1 + dashOffset.deltaY);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
880 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
881 ctx.moveTo(ax1 + dashOffset.deltaX, ay1 + dashOffset.deltaY);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
882 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
883 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
884
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
885 dashOn = !dashOn;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
886 dashRemainder = dashOffset.remainder;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
887 ax1 += dashOffset.deltaX;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
888 ay1 += dashOffset.deltaY;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
889
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
890 } while (dashOffset.distance > 0);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
891
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
892 prevx = x2;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
893 prevy = y2;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
894 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
895
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
896 ctx.stroke();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
897 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
898 //-end plotDashes
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
899
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
900 ctx.save();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
901 ctx.translate(plotOffset.left, plotOffset.top);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
902 ctx.lineJoin = 'round';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
903
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
904 var lw = series.dashes.lineWidth,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
905 sw = series.shadowSize;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
906
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
907 // FIXME: consider another form of shadow when filling is turned on
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
908 if (lw > 0 && sw > 0) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
909 // draw shadow as a thick and thin line with transparency
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
910 ctx.lineWidth = sw;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
911 ctx.strokeStyle = "rgba(0,0,0,0.1)";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
912 // position shadow at angle from the mid of line
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
913 var angle = Math.PI/18;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
914 plotDashes(Math.sin(angle) * (lw/2 + sw/2), Math.cos(angle) * (lw/2 + sw/2));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
915 ctx.lineWidth = sw/2;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
916 plotDashes(Math.sin(angle) * (lw/2 + sw/4), Math.cos(angle) * (lw/2 + sw/4));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
917 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
918
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
919 ctx.lineWidth = lw;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
920 ctx.strokeStyle = series.color;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
921
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
922 if (lw > 0) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
923 plotDashes(0, 0);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
924 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
925
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
926 ctx.restore();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
927
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
928 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
929 //-end draw hook
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
930
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
931 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
932 //-end processDatapoints hook
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
933
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
934 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
935 //-end init
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
936
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
937 $.plot.plugins.push({
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
938 init: init,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
939 options: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
940 series: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
941 dashes: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
942 show: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
943 lineWidth: 2,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
944 dashLength: 10
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
945 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
946 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
947 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
948 name: 'dashes',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
949 version: '0.1'
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
950 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
951
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
952 })(jQuery)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
953
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
954
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
955 </script>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
956
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
957 <script type="text/javascript">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
958
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
959 var cumulative = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
960 isInitialized: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
961
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
962 maxX: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
963 maxY: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
964 maxYTick: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
965 series: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
966 showWithData: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
967 colors: [],
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
968
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
969 draw: function(name, title, colors, filenames, listsOfLengths, refLengths, tickX,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
970 placeholder, legendPlaceholder, glossary, order, scalePlaceholder) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
971
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
972 $(scalePlaceholder).empty();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
973
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
974 if (!this.isInitialized) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
975 // div.html(
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
976 // "<span class='plot-header'>" + addTooltipIfDefinitionExists(glossary, title) + "</span>" +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
977 // "<div class='plot-placeholder' id='cumulative-plot-placeholder'></div>"
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
978 // );
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
979 cumulative.series = [];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
980 var plotsN = filenames.length;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
981 var refLength = 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
982 if (refLengths) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
983 for (var i = 0, size = refLengths.length; i < size; i++)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
984 refLength += refLengths[i];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
985 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
986 if (refLength) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
987 cumulative.maxY = refLength;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
988 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
989
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
990 cumulative.colors = colors;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
991
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
992 function addCumulativeLenData(label, index, color, lengths, isRef) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
993 if (!(lengths instanceof Array))
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
994 lengths = [lengths];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
995 var size = lengths.length;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
996 var points = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
997 data: new Array(size + 1),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
998 label: label,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
999 number: index,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1000 color: color
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1001 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1002
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1003 points.data[0] = [0, 0];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1004
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1005 var y = 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1006 for (var j = 0; j < size; j++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1007 y += lengths[j];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1008 points.data[j+1] = [j+1, y];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1009 if (y > cumulative.maxY) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1010 cumulative.maxY = y;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1011 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1012 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1013
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1014 if (size > cumulative.maxX) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1015 cumulative.maxX = size;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1016 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1017 if (isRef){
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1018 points.isReference = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1019 points.dashes = {show: true, lineWidth: 1};
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1020 if (size < cumulative.maxX) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1021 points.data[size + 1] = [cumulative.maxX, y];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1022 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1023 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1024 return points;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1025 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1026
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1027 for (var i = 0; i < plotsN; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1028 var lengths = listsOfLengths[order[i]];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1029 var asm_name = filenames[order[i]];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1030 var color = colors[order[i]];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1031 cumulative.series[i] = addCumulativeLenData(asm_name, i, color, lengths);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1032 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1033
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1034 // var lineColors = [];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1035 //
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1036 // for (i = 0; i < colors.length; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1037 // lineColors.push(changeColor(colors[i], 0.9, false));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1038 // }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1039
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1040 for (i = 0; i < plotsN; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1041 if (typeof broken_scaffolds_labels !== undefined && $.inArray(filenames[order[i]], broken_scaffolds_labels) != -1) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1042 cumulative.series[i].dashes = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1043 show: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1044 lineWidth: 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1045 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1046 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1047 else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1048 cumulative.series[i].lines = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1049 show: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1050 lineWidth: 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1051 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1052 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1053 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1054
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1055 for (i = 0; i < plotsN; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1056 cumulative.colors.push(cumulative.series[i].color);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1057 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1058
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1059 //cumulative.maxYTick = getMaxDecimalTick(cumulative.maxY);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1060
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1061 if (refLengths) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1062 size = refLengths.length;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1063 var ref_label = 'reference,&nbsp;' + toPrettyString(refLength, 'bp');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1064 cumulative.series.push(addCumulativeLenData(ref_label, i, '#000000', refLengths, true));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1065 cumulative.colors.push('#000000');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1066 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1067
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1068
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1069 // if (referenceLength) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1070 // yaxes.push({
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1071 // ticks: [referenceLength],
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1072 // min: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1073 // max: maxYTick,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1074 // position: 'right',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1075 //// labelWidth: 50,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1076 // reserveSpace: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1077 // tickFormatter: function (val, axis) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1078 // return '<div style="">' + toPrettyStringWithDimension(referenceLength, 'bp') +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1079 // ' <span style="margin-left: -0.2em;">(reference)</span></div>';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1080 // },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1081 // minTickSize: 1,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1082 // });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1083 // }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1084 var yaxis = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1085 min: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1086 //max: cumulative.maxYTick,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1087 labelWidth: 120,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1088 reserveSpace: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1089 lineWidth: 0.5,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1090 color: '#000000',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1091 tickFormatter: getBpTickFormatter(cumulative.maxY),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1092 minTickSize: 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1093 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1094 var yaxes = [yaxis];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1095
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1096 cumulative.showWithData = function(series, colors) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1097 var plot = $.plot(placeholder, series, {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1098 shadowSize: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1099 colors: cumulative.colors,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1100 legend: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1101 container: $('useless-invisible-element-that-does-not-even-exist'),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1102 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1103 // legend: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1104 // container: legendPlaceholder,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1105 // position: 'se',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1106 // labelBoxBorderColor: '#FFF',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1107 // labelFormatter: labelFormatter,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1108 // },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1109 grid: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1110 borderWidth: 1,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1111 hoverable: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1112 autoHighlight: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1113 mouseActiveRadius: 1000
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1114 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1115 yaxes: yaxes,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1116 xaxis: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1117 min: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1118 max: cumulative.maxX,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1119 lineWidth: 0.5,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1120 color: '#000',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1121 tickFormatter: getContigNumberTickFormatter(cumulative.maxX, tickX),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1122 minTickSize: tickX
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1123 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1124 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1125
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1126 bindTip(placeholder, series, plot, ordinalNumberToPrettyString, tickX, 'contig', 'bottom right');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1127 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1128
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1129 cumulative.isInitialized = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1130 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1131
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1132 addLegendClickEvents(cumulative, filenames.length, showPlotWithInfo, refLengths);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1133
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1134 showPlotWithInfo(cumulative);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1135
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1136 $('#contigs_are_ordered').show();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1137 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1138 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1139
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1140 </script>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1141
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1142 <script type="text/javascript">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1143
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1144 var nx = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1145 nx: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1146 isInitialized: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1147 maxY: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1148 maxYTick: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1149 series: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1150 showWithData: null
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1151 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1152
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1153 nax: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1154 isInitialized: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1155 maxY: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1156 maxYTick: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1157 series: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1158 showWithData: null
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1159 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1160
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1161 ngx: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1162 isInitialized: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1163 maxY: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1164 maxYTick: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1165 series: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1166 showWithData: null
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1167 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1168
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1169 ngax: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1170 isInitialized: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1171 maxY: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1172 maxYTick: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1173 series: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1174 showWithData: null
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1175 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1176
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1177 draw: function (name, title, colors, filenames, data, refPlotValue, tickX,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1178 placeholder, legendPlaceholder, glossary, order, scalePlaceholder) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1179
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1180 $(scalePlaceholder).empty();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1181
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1182 var coordX = data.coord_x;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1183 var coordY = data.coord_y;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1184
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1185 var cur_filenames = data.filenames;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1186 var info = nx[name];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1187
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1188 if (!info.isInitialized) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1189 var plotsN = cur_filenames.length;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1190 info.series = new Array(plotsN);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1191
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1192 for (var i = 0; i < plotsN; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1193 var index = $.inArray(cur_filenames[order[i]], filenames);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1194 var plot_coordX = coordX[order[i]];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1195 var plot_coordY = coordY[order[i]];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1196 var size = plot_coordX.length;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1197
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1198 info.series[i] = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1199 data: [],
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1200 label: filenames[index],
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1201 number: index,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1202 color: colors[index]
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1203 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1204 info.series[i].data.push([0.0, plot_coordY[0]]);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1205 var currentLen = 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1206 var x = 0.0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1207
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1208 for (var k = 0; k < size; k++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1209 info.series[i].data.push([plot_coordX[k], plot_coordY[k]]);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1210 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1211
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1212 if (info.series[i].data[0][1] > info.maxY) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1213 info.maxY = info.series[i].data[0][1];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1214 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1215
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1216 var lastPt = info.series[i].data[info.series[i].data.length-1];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1217 info.series[i].data.push([lastPt[0], 0]);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1218 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1219
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1220 for (i = 0; i < plotsN; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1221 if (typeof broken_scaffolds_labels !== undefined && $.inArray(filenames[order[i]], broken_scaffolds_labels) != -1) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1222 info.series[i].dashes = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1223 show: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1224 lineWidth: 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1225 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1226 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1227 else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1228 info.series[i].lines = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1229 show: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1230 lineWidth: 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1231 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1232 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1233 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1234
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1235 // for (i = 0; i < plotsN; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1236 // plotsData[i].points = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1237 // show: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1238 // radius: 1,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1239 // fill: 1,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1240 // fillColor: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1241 // }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1242 // }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1243
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1244 info.showWithData = function(series, colors) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1245 var plot = $.plot(placeholder, series, {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1246 shadowSize: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1247 colors: colors,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1248 legend: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1249 container: $('useless-invisible-element-that-does-not-even-exist'),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1250 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1251 grid: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1252 borderWidth: 1,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1253 hoverable: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1254 autoHighlight: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1255 mouseActiveRadius: 1000
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1256 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1257 yaxis: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1258 min: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1259 // max: info.maxY,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1260 labelWidth: 120,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1261 reserveSpace: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1262 lineWidth: 0.5,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1263 color: '#000',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1264 tickFormatter: getBpTickFormatter(info.maxY),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1265 minTickSize: 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1266 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1267 xaxis: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1268 min: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1269 max: 100,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1270 lineWidth: 0.5,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1271 color: '#000',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1272 tickFormatter: function (val, axis) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1273 if (val == 100) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1274 return '&nbsp;x<span class="rhs">&nbsp;</span>=<span class="rhs">&nbsp;</span>100%'
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1275 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1276 return val;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1277 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1278 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1279 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1280 minTickSize: tickX
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1281 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1282 );
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1283
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1284 var firstLabel = $('.yAxis .tickLabel').last();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1285 firstLabel.prepend(title + '<span class="rhs">&nbsp;</span>=<span class="rhs">&nbsp;</span>');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1286
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1287 bindTip(placeholder, series, plot, toPrettyString, 1, '%', 'top right');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1288
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1289 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1290
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1291 info.isInitialized = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1292 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1293
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1294 addLegendClickEvents(info, filenames.length, showPlotWithInfo);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1295 showPlotWithInfo(info);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1296 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1297 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1298
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1299
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1300
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1301 </script>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1302
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1303 <script type="text/javascript">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1304
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1305 var normal_scale_span =
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1306 "<span class='selected-switch'>" +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1307 'Normal' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1308 "</span>";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1309 var normal_scale_a =
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1310 "<a class='dotted-link' onClick='setNormalScale()'>" +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1311 'Normal' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1312 "</a>";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1313 var log_scale_span =
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1314 "<span class='selected-switch'>" +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1315 'logarithmic' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1316 "</span>";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1317 var log_scale_a =
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1318 "<a class='dotted-link' onClick='setLogScale()'>" +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1319 'logarithmic' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1320 "</a>";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1321
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1322 var show_all_span =
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1323 "<span class='selected-switch gc'>" +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1324 'Back to overview' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1325 "</span>";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1326 var show_all_a =
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1327 "&nbsp;&nbsp;&nbsp;<a class='dotted-link' onClick='showAll()'>" +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1328 'Back to overview' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1329 "</a>";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1330
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1331 var gc = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1332 isInitialized: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1333
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1334 maxY: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1335 plot: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1336 series: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1337 showWithData: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1338 minPow: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1339 ticks: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1340 placeholder: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1341 legendPlaceholder: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1342 colors: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1343 yAxisLabeled: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1344
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1345 show_all_el: show_all_span,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1346 reference: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1347
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1348 normal_scale_el: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1349 log_scale_el: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1350
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1351 draw: function(name, title, colors, filenames, gcInfos, reflen, tickX,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1352 placeholder, legendPlaceholder, glossary, order, scalePlaceholder) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1353 gc.normal_scale_el = normal_scale_span;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1354 gc.log_scale_el = log_scale_a;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1355 $(scalePlaceholder).html(
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1356 "<div id='change-scale' style='margin-right: 3px; visibility: hidden;'>" +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1357 "<span id='normal_scale_label'>" +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1358 gc.normal_scale_el +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1359 "</span>&nbsp;/&nbsp;" +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1360 "<span id='log_scale_label'>" +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1361 gc.log_scale_el +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1362 "</span> scale" +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1363 "</div>"
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1364 );
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1365
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1366 var refIndex = gcInfos.reference_index;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1367 if (!gc.isInitialized) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1368 gc.legendPlaceholder = legendPlaceholder;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1369 gc.placeholder = placeholder;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1370 gc.colors = colors;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1371 gc.filenames = filenames;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1372
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1373 var bin_size = 1.0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1374 var plotsN = filenames.length;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1375 gc.series = new Array(plotsN + 1);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1376 gc.series[0] = new Array(plotsN);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1377
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1378 gc.maxY = 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1379 var minY = Number.MAX_VALUE;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1380
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1381 function updateMinY(y) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1382 if (y < minY && y != 0) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1383 minY = y;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1384 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1385 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1386 function updateMaxY(y) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1387 if (y > gc.maxY) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1388 gc.maxY = y;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1389 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1390 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1391
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1392 for (var i = 0; i < plotsN; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1393 gc.series[0][i] = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1394 data: [],
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1395 label: filenames[order[i]],
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1396 number: order[i],
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1397 color: colors[order[i]]
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1398 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1399 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1400
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1401 function makeSeriesFromDistributions(distributionsXandY, series_i, plot_i) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1402 var distributionsX = distributionsXandY[0];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1403 var distributionsY = distributionsXandY[1];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1404
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1405 for (var j = 0; j < distributionsX.length; j++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1406 var x = distributionsX[j];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1407 var y = distributionsY[j];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1408 gc.series[series_i][plot_i].data.push([x, y]);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1409 updateMinY(y);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1410 updateMaxY(y);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1411 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1412 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1413
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1414 function makeSeries(listsOfGCInfo, listOfGcDistributions, seriesIdx) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1415 for (var i = 0; i < plotsN; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1416 if (listsOfGCInfo) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1417 makeSeriesFromInfo(listsOfGCInfo[order[i]], seriesIdx, i);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1418 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1419 makeSeriesFromDistributions(listOfGcDistributions[order[i]], seriesIdx, i);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1420 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1421 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1422 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1423
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1424 var listsOfGCInfo = gcInfos.lists_of_gc_info;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1425 var listOfGcDistributions = gcInfos.list_of_GC_distributions;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1426 makeSeries(listsOfGCInfo, listOfGcDistributions, 0);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1427
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1428 function makeSeriesFromInfo(GC_info, series_i, i) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1429 var cur_bin = 0.0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1430
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1431 var x = cur_bin;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1432 var y = filterAndSumGcInfo(GC_info, function(GC_percent) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1433 return GC_percent == cur_bin;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1434 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1435 gc.series[series_i][i].data.push([x, y]);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1436
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1437 updateMinY(y);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1438 updateMaxY(y);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1439
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1440 while (cur_bin < 100.0 - bin_size) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1441 cur_bin += bin_size;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1442
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1443 x = cur_bin;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1444 y = filterAndSumGcInfo(GC_info, function(GC_percent) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1445 return GC_percent > (cur_bin - bin_size) && GC_percent <= cur_bin;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1446 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1447 gc.series[series_i][i].data.push([x, y]);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1448
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1449 updateMinY(y);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1450 updateMaxY(y);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1451 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1452
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1453 x = 100.0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1454 y = filterAndSumGcInfo(GC_info, function(GC_percent) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1455 return GC_percent > cur_bin && GC_percent <= 100.0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1456 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1457
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1458 gc.series[series_i][i].data.push([x, y]);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1459
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1460 updateMinY(y);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1461 updateMaxY(y);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1462 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1463
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1464 for (i = 0; i < plotsN; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1465 if (typeof broken_scaffolds_labels !== undefined && $.inArray(filenames[order[i]], broken_scaffolds_labels) != -1) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1466 gc.series[0][i].dashes = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1467 show: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1468 lineWidth: 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1469 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1470 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1471 else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1472 gc.series[0][i].lines = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1473 show: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1474 lineWidth: 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1475 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1476 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1477 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1478
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1479 if (refIndex) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1480 gc.reference = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1481 gc.series[0].push({
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1482 data: [],
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1483 label: 'reference',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1484 isReference: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1485 number: filenames.length,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1486 lines: {},
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1487 dashes: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1488 show: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1489 lineWidth: 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1490 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1491 color: '#000000'
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1492 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1493 if (listsOfGCInfo) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1494 makeSeriesFromInfo(listsOfGCInfo[refIndex], 0, refIndex);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1495 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1496 makeSeriesFromDistributions(listOfGcDistributions[refIndex], 0, refIndex);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1497 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1498 gc.colors.push('#000000')
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1499 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1500
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1501 if (gcInfos.list_of_GC_contigs_distributions) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1502 listOfGcDistributions = gcInfos.list_of_GC_contigs_distributions;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1503 var maxY = 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1504 for (var file_n = 0; file_n < filenames.length; file_n++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1505 gc.series[file_n + 1] = new Array(1);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1506 gc.series[file_n + 1][0] = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1507 data: [],
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1508 label: filenames[order[file_n]],
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1509 number: order[file_n],
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1510 color: colors[order[file_n]],
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1511 bars: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1512 show: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1513 lineWidth: 0.6,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1514 fill: 0.6,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1515 barWidth: 5
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1516 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1517 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1518
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1519 var distributionsX = listOfGcDistributions[file_n][0];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1520 var distributionsY = listOfGcDistributions[file_n][1];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1521
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1522 for (var j = 0; j < distributionsX.length; j++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1523 var x = distributionsX[j];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1524 var y = distributionsY[j];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1525 gc.series[file_n + 1][0].data.push([x, y]);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1526 maxY = Math.max(maxY, y);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1527 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1528 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1529 for (var file_n = 0; file_n < filenames.length; file_n++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1530 gc.series[file_n + 1][0].maxY = maxY;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1531 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1532 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1533 // Calculate the minimum possible non-zero Y to clip useless bottoms
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1534 // of logarithmic plots.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1535 var maxYTick = getMaxDecimalTick(gc.maxY);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1536 gc.minPow = Math.round(Math.log(minY) / Math.log(10));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1537 gc.ticks = [];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1538 for (var pow = gc.minPow; Math.pow(10, pow) < maxYTick; pow++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1539 gc.ticks.push(Math.pow(10, pow));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1540 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1541 gc.ticks.push(Math.pow(10, pow));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1542
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1543 gc.isInitialized = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1544 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1545
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1546 gc.showWithData = showInNormalScaleWithData;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1547 if (gcInfos.list_of_GC_contigs_distributions) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1548 createLegend(gc.filenames, gc.colors, 0, gc.reference);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1549 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1550 addLegendClickEvents(gc, filenames.length, showPlotWithInfo, false, 0);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1551
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1552 showPlotWithInfo(gc, 0);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1553
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1554 $('#change-scale').css('visibility', 'visible');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1555 $('#gc_info').show();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1556 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1557 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1558
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1559 function showAll() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1560 $('#change-scale').show();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1561 $('#gc_info').show();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1562 $('#gc_contigs_info').hide();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1563 createLegend(gc.filenames, gc.colors, 0, gc.reference);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1564
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1565 gc.show_all_el = show_all_span;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1566 gc.showWithData = gc.log_scale_el == log_scale_a ? showInNormalScaleWithData : showInLogarithmicScaleWithData;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1567
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1568 $('#show_all_label').html(gc.show_all_el);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1569 showPlotWithInfo(gc, 0);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1570 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1571
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1572 function showPlot(index) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1573 $('#change-scale').hide();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1574 $('#gc_info').hide();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1575 $('#gc_contigs_info').show();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1576 createLegend([gc.filenames[index - 1]], [gc.colors[index - 1]], index);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1577
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1578 gc.show_all_el = show_all_a;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1579 gc.showWithData = showOneAssembly;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1580
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1581 $('#show_all_label').html(gc.show_all_el);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1582 showPlotWithInfo(gc, index);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1583 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1584
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1585 function showOneAssembly(series, colors) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1586 if (series == null) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1587 return;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1588 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1589
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1590 gc.plot = $.plot(gc.placeholder, series, {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1591 shadowSize: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1592 colors: colors,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1593 legend: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1594 container: $('useless-invisible-element-that-does-not-even-exist')
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1595 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1596 grid: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1597 hoverable: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1598 borderWidth: 1,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1599 autoHighlight: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1600 mouseActiveRadius: 1000
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1601 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1602 yaxis: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1603 min: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1604 max: series[0].maxY * 1.1,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1605 labelWidth: 120,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1606 reserveSpace: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1607 lineWidth: 0.5,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1608 color: '#000',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1609 tickFormatter: getJustNumberTickFormatter(gc.maxY),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1610 minTickSize: 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1611 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1612 xaxis: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1613 min: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1614 max: 100,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1615 lineWidth: 0.5,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1616 color: '#000',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1617 tickFormatter: function (val, axis) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1618 if (val == 100) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1619 return '&nbsp;100% GC'
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1620 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1621 return val;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1622 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1623 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1624 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1625 minTickSize: 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1626 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1627 );
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1628
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1629 var firstLabel = $('.yAxis .tickLabel').last();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1630 firstLabel.append(' contigs');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1631 unBindTips(gc.placeholder);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1632 bindTip(gc.placeholder, series, gc.plot, getIntervalToPrettyString(5), 1, '%<span class="rhs">&nbsp;</span>GC', 'top right');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1633 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1634
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1635 function showInNormalScaleWithData(series, colors) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1636 if (series == null || gc.maxY == null)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1637 return;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1638
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1639 gc.yAxisLabeled = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1640
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1641 gc.plot = $.plot(gc.placeholder, series, {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1642 shadowSize: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1643 colors: colors,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1644 legend: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1645 container: $('useless-invisible-element-that-does-not-even-exist'),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1646 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1647 grid: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1648 borderWidth: 1,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1649 hoverable: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1650 autoHighlight: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1651 mouseActiveRadius: 1000,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1652 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1653 yaxis: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1654 min: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1655 // max: gc.maxY + 0.1 * gc.maxY,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1656 labelWidth: 120,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1657 reserveSpace: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1658 lineWidth: 0.5,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1659 color: '#000',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1660 tickFormatter: windowsTickFormatter,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1661 minTickSize: 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1662 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1663 xaxis: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1664 min: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1665 max: 100,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1666 lineWidth: 0.5,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1667 color: '#000',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1668 tickFormatter: function (val, axis) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1669 if (val == 100) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1670 return '&nbsp;100% GC'
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1671 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1672 return val;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1673 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1674 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1675 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1676 minTickSize: 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1677 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1678 );
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1679
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1680 var firstLabel = $('.yAxis .tickLabel').last();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1681 firstLabel.append(' windows');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1682 bindTip(gc.placeholder, series, gc.plot, toPrettyString, 1, '%<span class="rhs">&nbsp;</span>GC', 'top right');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1683 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1684
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1685
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1686 function showInLogarithmicScaleWithData(series, colors) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1687 if (series == null || gc.maxY == null || gc.minPow == null) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1688 return;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1689 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1690
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1691 gc.yAxisLabeled = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1692
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1693 gc.plot = $.plot(gc.placeholder, series, {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1694 shadowSize: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1695 colors: colors,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1696 legend: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1697 container: $('useless-invisible-element-that-does-not-even-exist'),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1698 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1699 grid: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1700 hoverable: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1701 borderWidth: 1,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1702 autoHighlight: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1703 mouseActiveRadius: 1000
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1704 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1705 yaxis: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1706 min: Math.pow(10, gc.minPow),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1707 // max: gc.maxY,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1708 labelWidth: 120,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1709 reserveSpace: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1710 lineWidth: 0.5,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1711 color: '#000',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1712 tickFormatter: windowsTickFormatter,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1713 minTickSize: 1,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1714 ticks: gc.ticks,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1715
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1716 transform: function(v) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1717 return Math.log(v + 0.0001)/*move away from zero*/ / Math.log(10);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1718 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1719 inverseTransform: function(v) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1720 return Math.pow(v, 10);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1721 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1722 tickDecimals: 3
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1723 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1724 xaxis: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1725 min: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1726 max: 100,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1727 lineWidth: 0.5,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1728 color: '#000',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1729 tickFormatter: function (val, axis) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1730 if (val == 100) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1731 return '&nbsp;100%<span class="rhs">&nbsp;</span>GC'
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1732 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1733 return val;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1734 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1735 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1736 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1737 minTickSize: 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1738 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1739 );
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1740
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1741 var firstLabel = $('.yAxis .tickLabel').last();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1742 firstLabel.append(' windows');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1743 bindTip(gc.placeholder, series, gc.plot, toPrettyString, 1, '% GC', 'top right');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1744 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1745
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1746
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1747 function setLogScale() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1748 gc.normal_scale_el = normal_scale_a;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1749 gc.log_scale_el = log_scale_span;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1750 gc.showWithData = showInLogarithmicScaleWithData;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1751
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1752 $('#normal_scale_label').html(gc.normal_scale_el);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1753 $('#log_scale_label').html(gc.log_scale_el);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1754 showPlotWithInfo(gc, 0);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1755 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1756
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1757
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1758 function setNormalScale() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1759 gc.normal_scale_el = normal_scale_span;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1760 gc.log_scale_el = log_scale_a;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1761 gc.showWithData = showInNormalScaleWithData;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1762
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1763 $('#normal_scale_label').html(gc.normal_scale_el);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1764 $('#log_scale_label').html(gc.log_scale_el);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1765 showPlotWithInfo(gc, 0);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1766 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1767
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1768
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1769
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1770 function filterAndSumGcInfo(GC_info, condition) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1771 var contigs_lengths_cur_bin = [];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1772 for (var j = 0; j < GC_info.length; j++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1773 var GC = GC_info[j];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1774 var contig_length = GC[0];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1775 var GC_percent = GC[1];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1776
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1777 if (condition(GC_percent) == true) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1778 contigs_lengths_cur_bin.push(contig_length);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1779 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1780 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1781 var val_bp = 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1782 for (var j = 0; j < contigs_lengths_cur_bin.length; j++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1783 val_bp += contigs_lengths_cur_bin[j];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1784 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1785 return val_bp;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1786 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1787
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1788 function createLegend(labels, colors, index, reference) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1789 var selectedAssemblies = getSelectedAssemblies(labels);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1790 $('#legend-placeholder').empty();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1791 var selectors = "";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1792
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1793 labels.forEach(function(label, i) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1794 var link = index ? '' : '<span id="' + labels[i] + '-switch"' + "class='plot-gc-type-switch dotted-link'>by contigs<br></span><br>";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1795 var assemblyIdx = gc.filenames.indexOf(label);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1796 addLabelToLegend(assemblyIdx, label, selectedAssemblies, colors, link);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1797 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1798 if (reference) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1799 isChecked = (selectedAssemblies.length > 0 && selectedAssemblies.indexOf(gc.filenames.length.toString())) != -1 ? 'checked="checked"' : "";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1800 $('#legend-placeholder').append(
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1801 '<div id="reference-label">' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1802 '<label for="reference" style="color: #000000;">' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1803 '<input type="checkbox" name="' + gc.filenames.length +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1804 '" checked="' + isChecked + '" id="reference">&nbsp;' + 'reference' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1805 '</label>' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1806 '</div>'
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1807 );
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1808 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1809 if (index > 0) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1810 for (var filenames_n = 0; filenames_n < gc.filenames.length; filenames_n++){
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1811 selectors += '<br><span id="' + gc.filenames[filenames_n] + '-switch" ' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1812 "class='plot-switch dotted-link'>" +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1813 gc.filenames[filenames_n] + "</span>";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1814 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1815 $('#legend-placeholder').append(
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1816 "<br><br><div id='change-assembly' style='margin-right: 3px;'>" +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1817 "<span id='show_all_label'>" +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1818 gc.show_all_el +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1819 "</span><br>" + selectors +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1820 "</div>"
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1821 );
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1822 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1823 addLinksToSwitches(index - 1);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1824 addLegendClickEvents(gc, gc.series.length, showPlotWithInfo, false, index);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1825 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1826
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1827 function addLinksToSwitches(index) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1828 var filenames = gc.filenames;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1829 for (filenames_n = 0; filenames_n < filenames.length; filenames_n++){
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1830 var switchSpan = document.getElementById(filenames[filenames_n] + "-switch");
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1831 $(switchSpan).click(getToggleSwitchFunction(filenames_n + 1));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1832 if (filenames_n == index) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1833 switchSpan.className = 'plot-switch selected-switch gc';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1834 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1835 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1836 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1837
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1838 function getToggleSwitchFunction(index) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1839 return function() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1840 if (index > 0) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1841 showPlot(index);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1842 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1843 else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1844 showAll();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1845 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1846 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1847 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1848 </script>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1849
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1850 <script type="text/javascript">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1851
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1852 var frc = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1853 genes: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1854 isInitialized: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1855
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1856 maxY: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1857 maxYTick: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1858 series: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1859 showWithData: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1860
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1861 yAxisLabeled: false
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1862 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1863
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1864 operons: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1865 isInitialized: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1866
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1867 maxY: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1868 maxYTick: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1869 series: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1870 showWithData: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1871
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1872 yAxisLabeled: false
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1873 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1874
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1875 misassemblies: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1876 isInitialized: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1877
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1878 maxY: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1879 maxYTick: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1880 series: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1881 showWithData: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1882
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1883 yAxisLabeled: false
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1884 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1885
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1886 draw: function (name, title, colors, filenames, data, refGenesNumber, tickX,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1887 placeholder, legendPlaceholder, glossary, order, scalePlaceholder) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1888 // div.html(
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1889 // "<span class='plot-header'>" + kind[0].toUpperCase() + kind.slice(1) + "s covered</span>" +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1890 // "<div class='plot-placeholder' id='" + kind + "s-plot-placeholder'></div>"
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1891 // );
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1892 $(scalePlaceholder).empty();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1893
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1894 var info = frc[name];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1895 var coordX = data.coord_x;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1896 var coordY = data.coord_y;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1897
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1898 info.yAxisLabeled = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1899 var cur_filenames = data.filenames;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1900 if (!info.isInitialized) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1901 var plotsN = cur_filenames.length;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1902 info.series = new Array(plotsN);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1903
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1904 info.maxY = 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1905 info.maxX = 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1906
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1907 for (var i = 0; i < plotsN; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1908 var index = $.inArray(cur_filenames[order[i]], filenames);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1909 var plot_coordX = coordX[order[i]];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1910 var plot_coordY = coordY[order[i]];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1911 var featureSpace = plot_coordX[plot_coordX.length - 1];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1912 var maxY = plot_coordY[plot_coordY.length - 1];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1913
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1914 info.series[i] = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1915 data: [],
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1916 label: filenames[index],
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1917 number: index,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1918 color: colors[index]
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1919 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1920
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1921 info.series[i].data.push([0.0, plot_coordY[0]]);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1922
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1923 if (featureSpace > info.maxX) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1924 info.maxX = featureSpace;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1925 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1926 for (var k = 0; k < plot_coordX.length; k++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1927 info.series[i].data.push([plot_coordX[k], plot_coordY[k]]);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1928 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1929
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1930 if (maxY > info.maxY) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1931 info.maxY = maxY;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1932 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1933 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1934
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1935 for (i = 0; i < plotsN; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1936 if (typeof broken_scaffolds_labels !== undefined && $.inArray(filenames[order[i]], broken_scaffolds_labels) != -1) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1937 info.series[i].dashes = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1938 show: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1939 lineWidth: 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1940 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1941 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1942 else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1943 info.series[i].lines = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1944 show: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1945 lineWidth: 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1946 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1947 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1948 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1949
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1950 info.showWithData = function(series, colors) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1951 var plot = $.plot(placeholder, series, {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1952 shadowSize: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1953 colors: colors,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1954 legend: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1955 container: $('useless-invisible-element-that-does-not-even-exist')
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1956 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1957 grid: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1958 borderWidth: 1,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1959 hoverable: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1960 autoHighlight: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1961 mouseActiveRadius: 1000,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1962 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1963 yaxis: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1964 min: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1965 max: Math.max(100, info.maxY),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1966 labelWidth: 145,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1967 reserveSpace: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1968 lineWidth: 0.5,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1969 color: '#000',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1970 tickFormatter: getPercentTickFormatter(Math.max(100, info.maxY)),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1971 minTickSize: 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1972 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1973 xaxis: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1974 min: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1975 max: info.maxX,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1976 lineWidth: 0.5,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1977 color: '#000',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1978 tickFormatter: getJustNumberTickFormatter(info.maxX, ' ' + name),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1979 minTickSize: tickX
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1980 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1981 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1982
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1983 var firstLabel = $('.yAxis .tickLabel').last();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1984 firstLabel.prepend('Genome coverage<span class="rhs">&nbsp;</span>=<span class="rhs">&nbsp;</span>');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1985
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1986 bindTip(placeholder, series, plot, frcNumberToPrettyString, tickX, name, 'bottom right', false, '%');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1987 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1988
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1989 info.isInitialized = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1990 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1991
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1992 addLegendClickEvents(info, filenames.length, showPlotWithInfo, refGenesNumber);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1993 showPlotWithInfo(info);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1994 $('#frc_info').show();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1995 $('.frc_plot_name').html(name);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1996 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1997 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1998
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
1999
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2000
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2001 </script>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2002
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2003 <script type="text/javascript">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2004
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2005 /**********/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2006 /* COLORS */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2007
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2008 // var colors = ["#FF5900", "#008FFF", "#168A16", "#7C00FF", "#00B7FF", "#FF0080", "#7AE01B", "#782400", "#E01B6A"];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2009 var standard_colors = [
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2010 '#FF0000', //red
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2011 '#0000FF', //blue
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2012 '#008000', //green
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2013 '#FFA500', //orange
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2014 '#FF00FF', //fushua
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2015 '#CCCC00', //yellow
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2016 '#800000', //maroon
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2017 '#00CCCC', //aqua
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2018 '#808080', //gray
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2019 '#800080', //purple
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2020 '#808000', //olive
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2021 '#000080', //navy
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2022 '#008080', //team
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2023 '#00FF00', //lime
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2024 ];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2025
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2026 function distinctColors(count) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2027 var colors = [];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2028 for(var hue = 0; hue < 360; hue += 360 / count) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2029 var color = hsvToRgb(hue, 100, 100);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2030 var colorStr = '#' + color[0].toString(16) + color[1].toString(16) + color[2].toString(16);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2031 colors.push();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2032 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2033 return colors;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2034 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2035
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2036 /**************/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2037 /* FORMATTING */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2038 function isIntegral(num) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2039 return num % 1 === 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2040 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2041
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2042 function isFractional(num) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2043 return !isIntegral(num);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2044 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2045
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2046 function getIntervalToPrettyString(interval) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2047 return function(num, unit) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2048 return intervalToPrettyString(interval, num, unit);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2049 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2050 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2051
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2052 function intervalToPrettyString(interval, num, unit) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2053 if (typeof num === 'number') {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2054 var str = toPrettyString(num);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2055 str += '-' + toPrettyString(num + interval);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2056 str += (unit ? '<span class="rhs">&nbsp;</span>' + unit : '');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2057 return str;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2058 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2059 return num;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2060 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2061 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2062
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2063 function toPrettyString(num, unit) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2064 if (typeof num === 'number') {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2065 var str;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2066 if (num <= 9999) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2067 if (isFractional(num)) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2068 if (isIntegral(num * 10)) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2069 str = num.toFixed(1);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2070 } else if (isIntegral(num * 100) || num >= 100) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2071 str = num.toFixed(2);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2072 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2073 str = num.toFixed(3);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2074 if (str.slice(-1) == '0')
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2075 str = str.slice(0, -1);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2076 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2077 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2078 str = num.toFixed(0);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2079 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2080 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2081 str = num.toFixed(0).replace(/(\d)(?=(\d\d\d)+(?!\d))/g,'$1<span class="hs"></span>');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2082 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2083 str += (unit ? '<span class="rhs">&nbsp;</span>' + unit : '');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2084 return str;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2085 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2086 return num;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2087 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2088 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2089
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2090 //elif isinstance(value, float):
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2091 // if value == 0.0:
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2092 // return '0'
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2093 // if human_readable:
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2094 // if unit == '%':
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2095 // value *= 100
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2096 // precision = 2
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2097 // for i in range(10, 1, -1):
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2098 // if abs(value) < 1./(10**i):
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2099 // precision = i + 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2100 // break
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2101 // return '{value:.{precision}f}{unit_str}'.format(**locals())
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2102 // else:
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2103 // return str(value)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2104
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2105
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2106 function refToPrettyString(num, refs) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2107 return refs[Math.round(num)-1];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2108 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2109
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2110 function ordinalNumberToPrettyString(num, unit, tickX) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2111 num = num * tickX;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2112 var numStr = num.toString();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2113 var lastDigit = numStr[numStr.length-1];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2114 var beforeLastDigit = numStr[numStr.length-2];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2115
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2116 var res = toPrettyString(num);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2117
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2118 if (lastDigit == '1' && beforeLastDigit != '1') {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2119 res += "st";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2120 } else if (lastDigit == '2' && beforeLastDigit != '1') {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2121 res += "nd";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2122 } else if (lastDigit == '3' && beforeLastDigit != '1') {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2123 res += "rd";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2124 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2125 res += 'th';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2126 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2127
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2128 res += (unit ? '<span class="rhs">&nbsp;</span>' + unit : '');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2129
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2130 return res;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2131 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2132
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2133 function frcNumberToPrettyString(num, unit, tickX, index) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2134 if (index % 2 == 0 && num > 0) num--;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2135 return toPrettyString(num) + ' ' + unit;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2136 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2137
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2138 function getMaxDecimalTick(maxY) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2139 var maxYTick = maxY;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2140 if (maxY <= 100000000000) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2141 maxYTick = Math.ceil((maxY+1)/10000000000)*10000000000;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2142 } if (maxY <= 10000000000) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2143 maxYTick = Math.ceil((maxY+1)/1000000000)*1000000000;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2144 } if (maxY <= 1000000000) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2145 maxYTick = Math.ceil((maxY+1)/100000000)*100000000;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2146 } if (maxY <= 100000000) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2147 maxYTick = Math.ceil((maxY+1)/10000000)*10000000;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2148 } if (maxY <= 10000000) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2149 maxYTick = Math.ceil((maxY+1)/1000000)*1000000;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2150 } if (maxY <= 1000000) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2151 maxYTick = Math.ceil((maxY+1)/100000)*100000;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2152 } if (maxY <= 100000) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2153 maxYTick = Math.ceil((maxY+1)/10000)*10000;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2154 } if (maxY <= 10000) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2155 maxYTick = Math.ceil((maxY+1)/1000)*1000;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2156 } if (maxY <= 1000) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2157 maxYTick = Math.ceil((maxY+1)/100)*100.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2158 } if (maxY <= 100) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2159 maxYTick = Math.ceil((maxY+1)/10)*10.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2160 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2161 return maxYTick;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2162 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2163
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2164 function getBpTickFormatter(maxY, additionalText) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2165 additionalText = additionalText || '';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2166
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2167 return function(val, axis) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2168 var res;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2169 if (val == 0) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2170 res = 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2171
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2172 } else if (axis.max >= 1000000) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2173 res = val / 1000000;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2174
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2175 if (val > axis.max - 1 || val + axis.tickSize >= 1000000000) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2176 res = additionalText + toPrettyString(res, 'Mbp');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2177 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2178 res = toPrettyString(res);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2179 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2180 } else if (axis.max >= 1000) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2181 res = val / 1000;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2182
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2183 if (val > axis.max - 1 || val + axis.tickSize >= 1000000) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2184 res = additionalText + toPrettyString(res, 'kbp');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2185 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2186 res = toPrettyString(res);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2187 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2188 } else if (axis.max >= 1) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2189 res = val;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2190
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2191 if (val > axis.max - 1 || val + axis.tickSize >= 1000) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2192 res = additionalText + toPrettyString(res, 'bp');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2193 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2194 res = toPrettyString(res);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2195 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2196 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2197 return res;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2198 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2199 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2200
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2201 function windowsTickFormatter(v, axis) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2202 return toPrettyString(v);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2203 // var val = v.toFixed(0);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2204 // if (!gc.yAxisLabeled && val > gc.maxY) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2205 // gc.yAxisLabeled = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2206 // var res = val + ' window';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2207 // if (val > 1) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2208 // res += 's'
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2209 // }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2210 // return res;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2211 // } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2212 // return val;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2213 // }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2214 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2215
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2216 function getBpLogTickFormatter(maxY) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2217 return getBpTickFormatter(maxY);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2218 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2219
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2220 function getContigNumberTickFormatter(maxX, tickX) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2221 return function (val, axis) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2222 if (typeof axis.tickSize == 'number' && val > maxX - axis.tickSize) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2223 return "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + ordinalNumberToPrettyString(val, 'contig', tickX);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2224 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2225 return val * tickX;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2226 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2227 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2228 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2229
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2230 function getJustNumberTickFormatter(maxY, additionalText) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2231 return function (val, axis) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2232 additionalText = additionalText || '';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2233 if (val > axis.max - axis.tickSize) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2234 res = toPrettyString(val) + additionalText;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2235 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2236 res = toPrettyString(val);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2237 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2238 return res;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2239 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2240 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2241
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2242 function getPercentTickFormatter(maxY, additionalText) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2243 return function (val, axis) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2244 additionalText = additionalText || '';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2245 if (val > maxY + 1 || val == 100) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2246 res = additionalText + toPrettyString(val, '%');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2247 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2248 res = toPrettyString(val);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2249 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2250 return res;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2251 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2252 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2253
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2254 function trim(str) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2255 return str.replace(/^\s+/g, '');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2256 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2257
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2258 function initial_spaces_to_nbsp(str, metricName) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2259 if (metricName.length > 0 && metricName[0] == ' ') {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2260 str = '&nbsp;&nbsp;&nbsp;' + str;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2261 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2262 return str;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2263 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2264
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2265 function containsObject(obj, list) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2266 var i;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2267 for (i = 0; i < list.length; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2268 if (list[i] === obj) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2269 return true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2270 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2271 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2272
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2273 return false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2274 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2275
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2276 function addLegendClickEvents(info, numLegendItems, showPlotWithInfo, showReference, index) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2277 if (showReference) numLegendItems++;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2278 for (var i = 0; i < numLegendItems; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2279 $('#legend-placeholder input[name=' + i + ']').click(function() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2280 showPlotWithInfo(info, index);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2281 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2282 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2283 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2284
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2285 /*********************/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2286 /* GLOSSARY TOOLTIPS */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2287 function addTooltipIfDefinitionExists(glossary, metricName) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2288 metricName = trim(metricName);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2289
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2290 if (containsObject(metricName, Object.keys(glossary))) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2291 return '<a class="tooltip-link" rel="tooltip" title="' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2292 metricName + ' ' + glossary[metricName] + '">' + metricName + '</a>';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2293 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2294 return metricName;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2295 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2296 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2297
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2298 /*************/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2299 /* PLOT TIPS */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2300 function bindTip(placeholder, series, plot, xToPrettyStringFunction, tickX, xUnit, position, summaryPlots, unitY) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2301 var prevPoint = null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2302 var prevIndex = null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2303
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2304 $(placeholder).bind("plothover", function(event, pos, item) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2305 if (dragTable && dragTable.isDragging)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2306 return;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2307
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2308 if (item) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2309 if (prevPoint != item.dataIndex || (summaryPlots && item.seriesIndex != prevIndex)) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2310 prevPoint = item.dataIndex;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2311 prevIndex = item.seriesIndex;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2312 var x = item.datapoint[0];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2313
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2314 showTip(item.pageX, item.pageY, plot.offset(),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2315 plot.width(), plot.height(),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2316 series, item.seriesIndex, x, item.dataIndex,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2317 xToPrettyStringFunction(x, xUnit, tickX, item.dataIndex) + ':',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2318 position, summaryPlots, unitY);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2319 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2320 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2321 $('#plot_tip').hide();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2322 $('#plot_tip_vertical_rule').hide();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2323 $('#plot_tip_horizontal_rule').hide();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2324 prevPoint = null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2325 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2326 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2327 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2328
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2329 function unBindTips(placeholder) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2330 $(placeholder).unbind("plothover");
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2331 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2332
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2333 var tipElementExists = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2334 function showTip(pageX, pageY, offset, plotWidth, plotHeight,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2335 series, centralSeriesIndex, xPos, xIndex, xStr, position, summaryPlots, unitY) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2336 const LINE_HEIGHT = 16; // pixels
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2337
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2338 position = ((position != null) ? position : 'bottom right');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2339 // pageY -= LINE_HEIGHT * (centralSeriesIndex + 1.5);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2340
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2341 var directions = position.split(' ');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2342
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2343 if (!tipElementExists) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2344 $('<div id="plot_tip" class="white_stroked"></div>').appendTo('body');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2345
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2346 $('<div id="plot_tip_vertical_rule"></div>').css({
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2347 height: plotHeight,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2348 }).appendTo('body');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2349
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2350 $('<div id="plot_tip_horizontal_rule"></div>').css({
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2351 width: plotWidth,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2352 }).appendTo('body');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2353
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2354 tipElementExists = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2355 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2356
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2357 $('#plot_tip').html('').css({
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2358 top: pageY + 5 - ((directions[0] == 'top') ? LINE_HEIGHT * (series.length + 2) : 0),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2359 left: pageX + 10,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2360 }).show();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2361
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2362 $('#plot_tip_vertical_rule').html('').css({
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2363 top: offset.top,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2364 left: pageX,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2365 }).show();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2366
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2367 $('#plot_tip_horizontal_rule').html('').css({
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2368 top: pageY,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2369 left: offset.left,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2370 }).show();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2371
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2372 $('<div>' + xStr + '</div>').css({
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2373 height: LINE_HEIGHT,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2374 }).appendTo('#plot_tip');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2375
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2376 var sortedYsAndColors = [];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2377 for (var i = 0; i < series.length; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2378 if (!summaryPlots || (summaryPlots && series[i].data[xIndex] != undefined && series[i].data[xIndex][1] != null)) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2379 sortedYsAndColors.push({
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2380 y: summaryPlots ? series[i].data[xIndex][1] : (i == centralSeriesIndex ? (series[i].data[xIndex] || series[i].data[series[i].data.length - 1])[1] :
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2381 findNearestPoint(series[i].data, xPos)),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2382 color: series[i].color,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2383 label: (series[i].isReference ? 'Reference' : series[i].label),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2384 isCurrent: i == centralSeriesIndex,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2385 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2386 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2387 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2388 sortedYsAndColors.sort(function(a, b) { return a.y < b.y;});
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2389
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2390 for (i = 0; i < sortedYsAndColors.length; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2391 var item = sortedYsAndColors[i];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2392
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2393 $('<div id="tip_line' + i + '">' + toPrettyString(item.y) + (unitY ? unitY : '') +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2394 ', <span style="color: ' + item.color + ';">' + item.label + '</span></div>').css({
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2395 height: LINE_HEIGHT,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2396 "font-weight": item.isCurrent ? "bold" : "normal",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2397 }).appendTo('#plot_tip');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2398 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2399 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2400
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2401 function findNearestPoint(points, x) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2402 for (var i = 0; i < points.length; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2403 if (points[i][0] >= x) return points[i][1];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2404 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2405 return points[points.length-1][1]
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2406 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2407
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2408 function addLabelToLegend(idx, label, selectedLabels, colors, link) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2409 var isChecked = (selectedLabels.length > 0 && selectedLabels.indexOf(idx.toString())) != -1 ? 'checked="checked"' : "";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2410 $('#legend-placeholder').append('<div>' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2411 '<label for="' + label + '" style="color: ' + colors[idx] + '">' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2412 '<input type="checkbox" name="' + idx + '"' + isChecked + ' id="' + label + '">&nbsp;' + label + '</label>' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2413 (link ? '<br>' + link : '') + '</div>');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2414 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2415
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2416 function getSelectedAssemblies(labels) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2417 var selectedAssemblies = [];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2418 var labelsMatch = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2419 var legendLabels = [];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2420 $('#legend-placeholder input[type="checkbox"]').each(function() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2421 legendLabels.push($(this).attr('id'));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2422 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2423 if (labels.every(function(label, i) { return ($.inArray(label, legendLabels) != -1 || label == 'reference')}) ) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2424 labelsMatch = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2425 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2426 if (labelsMatch) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2427 $('#legend-placeholder input:checked[type="checkbox"]').each(function() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2428 selectedAssemblies.push($(this).attr('name'));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2429 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2430 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2431 else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2432 selectedAssemblies = Array.apply(null, {length: labels}).map(Number.call, Number);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2433 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2434 return selectedAssemblies;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2435 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2436
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2437 // Cookie functions based on http://www.quirksmode.org/js/cookies.html
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2438 // Cookies won't work for local files.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2439
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2440 var createCookie = function(name, value, days) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2441 var expires = '';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2442 if (days) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2443 var date = new Date();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2444 date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2445 expires = '; expires=' + date.toGMTString();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2446 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2447 var path = document.location.pathname;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2448 document.cookie = name + '=' + value + expires + '; path=' + path;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2449 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2450
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2451 var readCookie = function(name) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2452 var nameEQ = name + '=';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2453 var ca = document.cookie.split(';');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2454 for(var i = 0; i < ca.length; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2455 var c = ca[i];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2456 while (c.charAt(0) == ' ') {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2457 c = c.substring(1, c.length);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2458 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2459 if (c.indexOf(nameEQ) == 0) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2460 return c.substring(nameEQ.length, c.length);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2461 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2462 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2463 return null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2464 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2465
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2466 var eraseCookie = function(name) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2467 createCookie(name, '', -1);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2468 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2469
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2470
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2471 // Dean's forEach: http://dean.edwards.name/base/forEach.js
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2472 /*forEach, version 1.0
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2473 Copyright 2006, Dean Edwards
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2474 License: http://www.opensource.org/licenses/mit-license.php */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2475
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2476 // array-like enumeration
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2477 if (!Array.forEach) { // mozilla already supports this
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2478 Array.forEach = function(array, block, context) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2479 for (var i = 0; i < array.length; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2480 block.call(context, array[i], i, array);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2481 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2482 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2483 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2484
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2485 // generic enumeration
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2486 Function.prototype.forEach = function(object, block, context) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2487 for (var key in object) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2488 if (typeof this.prototype[key] == "undefined") {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2489 block.call(context, object[key], key, object);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2490 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2491 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2492 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2493
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2494 // character enumeration
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2495 String.forEach = function(string, block, context) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2496 Array.forEach(string.split(""), function(chr, index) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2497 block.call(context, chr, index, string);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2498 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2499 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2500
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2501 // globally resolve forEach enumeration
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2502 var forEach = function(object, block, context) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2503 if (object) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2504 if (object instanceof Function) { // functions have a "length" property
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2505 Function.forEach(object, block, context);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2506
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2507 } else if (object.each instanceof Function) { // jQuery
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2508 object.each(function(i, elt) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2509 block(elt);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2510 }, context);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2511
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2512 } else if (object.forEach instanceof Function) { // the object implements a custom forEach method
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2513 object.forEach(block, context);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2514
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2515 } else if (typeof object == "string") { // a string
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2516 String.forEach(object, block, context);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2517
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2518 } else if (typeof object.length == "number") { // array-like object
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2519 Array.forEach(object, block, context);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2520
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2521 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2522 Object.forEach(object, block, context);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2523 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2524 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2525 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2526
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2527
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2528 jQuery.fn.exists = function(){
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2529 return jQuery(this).length > 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2530 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2531
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2532
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2533 function Range(from, to) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2534 var r = [];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2535 for (var i = from; i < to; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2536 r.push(i);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2537 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2538 return r;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2539 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2540
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2541
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2542
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2543 </script>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2544
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2545 <script type="text/javascript">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2546 /**
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2547 * HSV to RGB color conversion
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2548 *
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2549 * H runs from 0 to 360 degrees
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2550 * S and V run from 0 to 100
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2551 *
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2552 * Ported from the excellent java algorithm by Eugene Vishnevsky at:
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2553 * http://www.cs.rit.edu/~ncs/color/t_convert.html
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2554 */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2555 function hsvToRgb(h, s, v) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2556 var r, g, b;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2557 var i;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2558 var f, p, q, t;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2559
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2560 // Make sure our arguments stay in-range
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2561 h = Math.max(0, Math.min(360, h));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2562 s = Math.max(0, Math.min(100, s));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2563 v = Math.max(0, Math.min(100, v));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2564
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2565 // We accept saturation and value arguments from 0 to 100 because that's
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2566 // how Photoshop represents those values. Internally, however, the
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2567 // saturation and value are calculated from a range of 0 to 1. We make
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2568 // That conversion here.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2569 s /= 100;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2570 v /= 100;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2571
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2572 if(s == 0) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2573 // Achromatic (grey)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2574 r = g = b = v;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2575 return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2576 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2577
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2578 h /= 60; // sector 0 to 5
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2579 i = Math.floor(h);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2580 f = h - i; // factorial part of h
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2581 p = v * (1 - s);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2582 q = v * (1 - s * f);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2583 t = v * (1 - s * (1 - f));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2584
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2585 switch(i) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2586 case 0:
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2587 r = v;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2588 g = t;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2589 b = p;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2590 break;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2591
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2592 case 1:
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2593 r = q;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2594 g = v;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2595 b = p;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2596 break;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2597
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2598 case 2:
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2599 r = p;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2600 g = v;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2601 b = t;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2602 break;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2603
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2604 case 3:
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2605 r = p;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2606 g = q;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2607 b = v;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2608 break;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2609
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2610 case 4:
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2611 r = t;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2612 g = p;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2613 b = v;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2614 break;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2615
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2616 default: // case 5:
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2617 r = v;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2618 g = p;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2619 b = q;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2620 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2621
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2622 return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2623 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2624
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2625 function hslToRgb(h, s, l){
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2626 var r, g, b;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2627
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2628 if(s == 0) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2629 r = g = b = l; // achromatic
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2630 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2631 function hue2rgb(p, q, t){
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2632 if(t < 0) t += 1;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2633 if(t > 1) t -= 1;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2634 if(t < 1/6) return p + (q - p) * 6 * t;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2635 if(t < 1/2) return q;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2636 if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2637 return p;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2638 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2639
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2640 var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2641 var p = 2 * l - q;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2642 r = hue2rgb(p, q, h + 1/3);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2643 g = hue2rgb(p, q, h);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2644 b = hue2rgb(p, q, h - 1/3);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2645 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2646
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2647 return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2648 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2649 </script>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2650
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2651 <script type="text/javascript">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2652
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2653 var gns = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2654 features: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2655 isInitialized: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2656
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2657 maxY: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2658 maxYTick: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2659 series: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2660 showWithData: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2661
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2662 yAxisLabeled: false
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2663 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2664
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2665 operons: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2666 isInitialized: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2667
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2668 maxY: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2669 maxYTick: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2670 series: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2671 showWithData: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2672
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2673 yAxisLabeled: false
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2674 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2675
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2676 draw: function (name, title, colors, filenames, data, refFeaturesNumber, tickX,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2677 placeholder, legendPlaceholder, glossary, order, scalePlaceholder) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2678 // div.html(
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2679 // "<span class='plot-header'>" + kind[0].toUpperCase() + kind.slice(1) + "s covered</span>" +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2680 // "<div class='plot-placeholder' id='" + kind + "s-plot-placeholder'></div>"
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2681 // );
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2682 $(scalePlaceholder).empty();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2683
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2684 var info = gns[name];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2685
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2686 info.yAxisLabeled = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2687 var cur_filenames = data.filenames;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2688 if (!info.isInitialized) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2689 var filesFeatureInContigs = data.filesFeatureInContigs;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2690 var kind = data.kind;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2691
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2692 var plotsN = cur_filenames.length;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2693 info.series = new Array(plotsN);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2694
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2695 info.maxY = 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2696 info.maxX = 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2697
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2698 if (refFeaturesNumber) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2699 info.maxY = refFeaturesNumber;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2700 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2701
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2702 for (var fi = 0; fi < plotsN; fi++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2703 var index = $.inArray(cur_filenames[order[fi]], filenames);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2704 var filename = filenames[index];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2705 var featureInContigs = filesFeatureInContigs[filename];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2706
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2707 info.series[fi] = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2708 data: [[0, 0]],
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2709 label: filenames[index],
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2710 number: index,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2711 color: colors[index]
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2712 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2713
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2714 var contigNo = 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2715 var totalFull = 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2716
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2717 for (var k = 0; k < featureInContigs.length; k++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2718 contigNo += 1;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2719 totalFull += featureInContigs[k];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2720
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2721 info.series[fi].data.push([contigNo, totalFull]);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2722
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2723 if (info.series[fi].data[k][1] > info.maxY) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2724 info.maxY = info.series[fi].data[k][1];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2725 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2726 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2727
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2728 if (featureInContigs.length > info.maxX) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2729 info.maxX = featureInContigs.length;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2730 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2731 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2732
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2733 for (i = 0; i < plotsN; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2734 if (typeof broken_scaffolds_labels !== undefined && $.inArray(filenames[order[i]], broken_scaffolds_labels) != -1) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2735 info.series[i].dashes = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2736 show: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2737 lineWidth: 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2738 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2739 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2740 else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2741 info.series[i].lines = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2742 show: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2743 lineWidth: 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2744 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2745 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2746 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2747
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2748 // for (i = 0; i < plotsN; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2749 // plotsData[i].points = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2750 // show: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2751 // radius: 1,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2752 // fill: 1,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2753 // fillColor: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2754 // }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2755 // }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2756
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2757 if (refFeaturesNumber) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2758 info.series.push({
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2759 data: [[0, refFeaturesNumber], [info.maxX, refFeaturesNumber]],
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2760 label: 'reference,&nbsp;' + toPrettyString(refFeaturesNumber, 'features'),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2761 isReference: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2762 dashes: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2763 show: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2764 lineWidth: 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2765 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2766 yaxis: 1,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2767 number: filenames.length,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2768 color: '#000000'
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2769 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2770
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2771 colors.push('#000000');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2772 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2773
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2774 info.showWithData = function(series, colors) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2775 var plot = $.plot(placeholder, series, {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2776 shadowSize: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2777 colors: colors,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2778 legend: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2779 container: $('useless-invisible-element-that-does-not-even-exist'),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2780 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2781 grid: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2782 borderWidth: 1,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2783 hoverable: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2784 autoHighlight: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2785 mouseActiveRadius: 1000,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2786 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2787 yaxis: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2788 min: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2789 // max: info.maxY,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2790 labelWidth: 120,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2791 reserveSpace: true,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2792 lineWidth: 0.5,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2793 color: '#000',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2794 tickFormatter: function (val, axis) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2795 // if (!info.yAxisLabeled && val > info.maxY) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2796 // info.yAxisLabeled = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2797 // var res = val + ' ' + kind;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2798 // if (val > 1) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2799 // res += 's'
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2800 // }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2801 // return res;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2802 // } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2803 return val;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2804 // }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2805 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2806 minTickSize: 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2807 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2808 xaxis: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2809 min: 0,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2810 max: info.maxX,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2811 lineWidth: 0.5,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2812 color: '#000',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2813 tickFormatter: getContigNumberTickFormatter(info.maxX, tickX),
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2814 minTickSize: tickX
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2815 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2816 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2817
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2818 var firstLabel = $('.yAxis .tickLabel').last();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2819 firstLabel.append(' ' + name);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2820
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2821 bindTip(placeholder, series, plot, ordinalNumberToPrettyString, tickX, 'contig', 'bottom right');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2822 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2823
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2824 info.isInitialized = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2825 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2826
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2827 addLegendClickEvents(info, filenames.length, showPlotWithInfo, refFeaturesNumber);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2828
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2829 showPlotWithInfo(info);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2830
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2831 $('#contigs_are_ordered').show();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2832 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2833 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2834
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2835
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2836
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2837 </script>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2838
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2839 <script type="text/javascript">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2840 /*
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2841 DT v1.0
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2842 June 26, 2008
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2843 Dan Vanderkam, http://danvk.org/DT/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2844 http://code.google.com/p/DT/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2845
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2846 This is code was based on:
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2847 - Stuart Langridge's SortTable (kryogenix.org/code/browser/sorttable)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2848 - Mike Hall's draggable class (http://www.brainjar.com/dhtml/drag/)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2849 - A discussion of permuting table columns on comp.lang.javascript
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2850
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2851 Licensed under the MIT license.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2852 */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2853
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2854 // Here's the notice from Mike Hall's draggable script:
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2855 //*****************************************************************************
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2856 // Do not remove this notice.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2857 //
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2858 // Copyright 2001 by Mike Hall.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2859 // See http://www.brainjar.com for terms of use.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2860 //*****************************************************************************
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2861
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2862 var classes = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2863 cell_of_emptySpace: 'cell_of_empty_space',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2864 cell_of_movingTable: 'cell_of_moving_table',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2865 newTable: 'moving_table',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2866 handle: 'drag_handle',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2867 hoveredCell: 'hovered_column_td',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2868 assemblyName: 'assembly_name',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2869
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2870 bottomCell_of_emptySpace: 'bottom_cell_of_empty_space',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2871 topCell_of_emptySpace: 'top_cell_of_empty_space',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2872 leftToCell_of_emptySpace: 'left_to_cell_of_empty_space',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2873 rightToCell_of_emptySpace: 'right_to_cell_of_empty_space',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2874
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2875 mainReportTable_id: 'main_report_table',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2876 totalReportJson_id: 'total-report-json',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2877 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2878
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2879 var dragTable = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2880 isDragging: false,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2881
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2882 // How far should the mouse move before it's considered a drag, not a click?
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2883 dragRadius2: 0, // 100,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2884 setMinDragDistance: function(x) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2885 DT.dragRadius2 = x * x;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2886 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2887
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2888 // How long should cookies persist? (in days)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2889 cookieDays: 365,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2890 setCookieDays: function(x) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2891 DT.cookieDays = x;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2892 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2893
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2894 // Determine browser and version.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2895 // TODO: eliminate browser sniffing except where it's really necessary.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2896 Browser: function() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2897 var ua, s, i;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2898
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2899 this.isIE = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2900 this.isNS = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2901 this.version = null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2902 ua = navigator.userAgent;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2903
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2904 s = "MSIE";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2905 if ((i = ua.indexOf(s)) >= 0) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2906 this.isIE = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2907 this.version = parseFloat(ua.substr(i + s.length));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2908 return;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2909 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2910
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2911 s = "Netscape6/";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2912 if ((i = ua.indexOf(s)) >= 0) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2913 this.isNS = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2914 this.version = parseFloat(ua.substr(i + s.length));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2915 return;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2916 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2917
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2918 // Treat any other "Gecko" browser as NS 6.1.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2919 s = "Gecko";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2920 if ((i = ua.indexOf(s)) >= 0) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2921 this.isNS = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2922 this.version = 6.1;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2923 return;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2924 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2925 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2926 browser: null,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2927
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2928 // Detect all draggable tables and attach handlers to their headers.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2929 init: function() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2930 // Don't initialize twice
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2931 if (arguments.callee.done)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2932 return;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2933 else
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2934 arguments.callee.done = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2935
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2936 // if (_dgtimer)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2937 // clearInterval(_dgtimer);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2938
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2939 if (!document.createElement || !document.getElementsByTagName)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2940 return;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2941
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2942 DT.dragObj.zIndex = 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2943 DT.browser = new DT.Browser();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2944 forEach(document.getElementsByTagName('table'), function(table) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2945 if ($(table).hasClass('draggable')) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2946 DT.makeDraggable(table);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2947 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2948 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2949 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2950
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2951 // The thead business is taken straight from sorttable.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2952 makeDraggable: function(table) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2953 DT.dragObj.table = table;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2954
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2955 if (table.getElementsByTagName('thead').length == 0) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2956 thead = document.createElement('thead');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2957 thead.appendChild(table.rows[0]);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2958 table.insertBefore(thead, table.firstChild);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2959 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2960
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2961 // Safari doesn't support table.tHead, sigh
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2962 if (table.tHead == null) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2963 table.tHead = table.getElementsByTagName('thead')[0];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2964 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2965
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2966 var handles = $('.' + classes.handle) || table.tHead.rows[0].cells;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2967
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2968 forEach(handles, function(handle) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2969 handle.onmousedown = DT.dragStart;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2970 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2971 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2972
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2973 // Global object to hold drag information.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2974 dragObj: {},
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2975
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2976 getEventPosition: function(event) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2977 var x, y;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2978 if (DT.browser.isIE) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2979 x = window.event.clientX + document.documentElement.scrollLeft
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2980 + document.body.scrollLeft;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2981 y = window.event.clientY + document.documentElement.scrollTop
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2982 + document.body.scrollTop;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2983 return {x: x, y: y};
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2984 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2985 return {x: event.pageX, y: event.pageY};
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2986 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2987
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2988 // Determine the position of this element on the page. Many thanks to Magnus
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2989 // Kristiansen for help making this work with "position: fixed" elements.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2990 getPositionOnThePage: function(elt, stopAtRelative) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2991 var ex = 0, ey = 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2992 do {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2993 var curStyle = DT.browser.isIE ? elt.currentStyle
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2994 : window.getComputedStyle(elt, '');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2995 var supportFixed = !(DT.browser.isIE &&
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2996 DT.browser.version < 7);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2997 if (stopAtRelative && curStyle.position == 'relative') {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2998 break;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
2999 } else if (supportFixed && curStyle.position == 'fixed') {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3000 // Get the fixed el's offset
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3001 ex += parseInt(curStyle.left, 10);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3002 ey += parseInt(curStyle.top, 10);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3003 // Compensate for scrolling
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3004 ex += document.body.scrollLeft;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3005 ey += document.body.scrollTop;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3006 // End the loop
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3007 break;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3008 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3009 ex += elt.offsetLeft;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3010 ey += elt.offsetTop;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3011 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3012 } while (elt = elt.offsetParent);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3013 return {x: ex, y: ey};
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3014 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3015
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3016 // MouseDown handler -- sets up the appropriate mousemove/mouseup handlers
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3017 // and fills in the global DT.dragObj object.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3018 dragStart: function(event, id) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3019 DT.isDragging = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3020
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3021 var drag_obj = DT.dragObj;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3022
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3023 var browser = DT.browser;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3024 var clicked_node = browser.isIE ? window.event.srcElement : event.target;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3025 var pos = DT.getEventPosition(event);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3026
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3027 var table = $(clicked_node).closest('table')[0];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3028 var top_cell = $(clicked_node).closest('td, th')[0];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3029 drag_obj.topCell = top_cell;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3030 drag_obj.table = table;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3031
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3032 var col_index = top_cell.cellIndex;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3033 drag_obj.movingColIndex = drag_obj.startIndex = col_index;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3034 drag_obj.movingColWidth = $(top_cell).width();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3035
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3036 // Since a column header can't be dragged directly, duplicate its contents
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3037 // in a div and drag that instead.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3038 var new_table = DT.fullCopy(table, false);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3039
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3040 // Copy the entire column
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3041 var forEachSection = function(table, func) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3042 if (table.tHead) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3043 func(table.tHead);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3044 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3045 forEach(table.tBodies, function(tbody) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3046 func(tbody);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3047 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3048 if (table.tFoot) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3049 func(table.tFoot);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3050 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3051 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3052
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3053 forEachSection(table, function(sec) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3054 var new_sec = DT.fullCopy(sec, false);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3055
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3056 forEach(sec.rows, function(row) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3057 var cell = row.cells[col_index];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3058 var new_tr = DT.fullCopy(row, false);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3059 if (row.offsetHeight) new_tr.style.height = row.offsetHeight + "px";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3060 var new_td = DT.fullCopy(cell, true);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3061 if (cell.offsetWidth) new_td.style.width = cell.offsetWidth + "px !important";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3062 new_tr.appendChild(new_td);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3063 new_sec.appendChild(new_tr);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3064 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3065
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3066 new_table.appendChild(new_sec);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3067 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3068
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3069 var obj_pos = DT.getPositionOnThePage(top_cell, true);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3070 new_table.style.position = "absolute";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3071 new_table.style.left = obj_pos.x + "px";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3072 new_table.style.top = obj_pos.y + "px";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3073 // new_table.style.width = dragObj.origNode.offsetWidth + "px";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3074 // new_table.style.height = dragObj.origNode.offsetHeight + "px";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3075
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3076 // Hold off adding the element until this is clearly a drag.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3077 drag_obj.addedNode = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3078
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3079 drag_obj.tableContainer = drag_obj.table.parentNode || document.body;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3080 drag_obj.newTable = new_table;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3081
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3082 // Save starting positions of cursor and element.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3083 drag_obj.startPos = pos;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3084 drag_obj.prevPos = pos;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3085 drag_obj.elStartLeft = parseInt(drag_obj.newTable.style.left, 10);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3086 drag_obj.elStartTop = parseInt(drag_obj.newTable.style.top, 10);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3087
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3088 if (isNaN(drag_obj.elStartLeft)) drag_obj.elStartLeft = 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3089 if (isNaN(drag_obj.elStartTop)) drag_obj.elStartTop = 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3090
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3091 // Update element's z-index.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3092 drag_obj.newTable.style.zIndex = ++drag_obj.zIndex;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3093
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3094 // Capture mousemove and mouseup events on the page.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3095 if (browser.isIE) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3096 document.attachEvent("onmousemove", DT.dragMove);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3097 document.attachEvent("onmouseup", DT.dragEnd);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3098 window.event.cancelBubble = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3099 window.event.returnValue = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3100 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3101 document.addEventListener("mousemove", DT.dragMove, true);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3102 document.addEventListener("mouseup", DT.dragEnd, true);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3103 event.preventDefault();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3104 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3105 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3106
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3107 // Move the floating column header with the mouse
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3108 // TODO: Reorder columns as the mouse moves for a more interactive feel.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3109 dragMove: function(event) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3110 var x, y;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3111 var drag_obj = DT.dragObj;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3112 var col_index = drag_obj.movingColIndex;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3113
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3114 // Get cursor position with respect to the page.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3115 var pos = DT.getEventPosition(event);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3116
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3117 var full_dx = drag_obj.startPos.x - pos.x;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3118 var full_dy = drag_obj.startPos.y - pos.y;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3119
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3120 if (!drag_obj.addedNode && full_dx * full_dx + full_dy * full_dy > DT.dragRadius2) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3121 // Real dragging has began, the following block performs once
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3122
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3123 // Attach a moving table
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3124 drag_obj.tableContainer.insertBefore(drag_obj.newTable, drag_obj.table);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3125 drag_obj.addedNode = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3126
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3127 // Add classes for the dragged column (original and the clone)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3128 $(drag_obj.newTable).addClass(classes.newTable);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3129 $(DT.getColumn(drag_obj.newTable)).addClass(classes.cell_of_movingTable);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3130
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3131 $(DT.getColumn(drag_obj.table, col_index)).addClass(classes.cell_of_emptySpace);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3132 $(DT.getColumn(drag_obj.table, col_index)[0]).addClass(classes.topCell_of_emptySpace);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3133 var visibleCells = $(DT.getColumn(drag_obj.table, col_index)).filter(':visible');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3134 $(visibleCells[visibleCells.length - 1]).addClass(classes.bottomCell_of_emptySpace);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3135
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3136 DT.addStylesForAdjacentColumns(col_index);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3137 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3138
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3139 // Move drag element by the same amount the cursor has moved.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3140 var style = drag_obj.newTable.style;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3141 style.left = (drag_obj.elStartLeft + pos.x - drag_obj.startPos.x) + "px";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3142 style.top = (drag_obj.elStartTop + pos.y - drag_obj.startPos.y) + "px";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3143
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3144 if (DT.browser.isIE) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3145 window.event.cancelBubble = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3146 window.event.returnValue = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3147 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3148 event.preventDefault();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3149 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3150
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3151 // If moving over an adjacent column, do swapping, swapping with the adjacent column
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3152 var column_pos_x = DT.getPositionOnThePage(DT.getColumn(drag_obj.newTable)[0]).x;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3153 var column_center_x = column_pos_x + drag_obj.movingColWidth / 2;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3154 var hovered_col_index = DT.getColumnAtPosition(drag_obj.table, column_center_x);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3155
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3156 var dx = drag_obj.prevPos.x - pos.x;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3157
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3158 if (DT.isSuitableColumnToSwap(hovered_col_index, col_index)) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3159 if (dx < 0 && hovered_col_index > col_index || // moving right
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3160 dx > 0 && hovered_col_index < col_index) { // moving left
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3161 DT.removeStylesForAdjacentColumns(col_index);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3162 DT.moveColumn(drag_obj.table, col_index, hovered_col_index);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3163 DT.addStylesForAdjacentColumns(hovered_col_index);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3164 drag_obj.movingColIndex = hovered_col_index;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3165 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3166 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3167 drag_obj.prevPos = pos;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3168 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3169
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3170 removeStylesForAdjacentColumns: function(oldIndex) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3171 var table = DT.dragObj.table;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3172 var rows = table.rows;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3173 var oldColumn = DT.getColumn(table, oldIndex);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3174 $(DT.getColumn(table, oldIndex - 1)).removeClass(classes.leftToCell_of_emptySpace);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3175 $(DT.getColumn(table, oldIndex + 1)).removeClass(classes.rightToCell_of_emptySpace);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3176 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3177
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3178 addStylesForAdjacentColumns: function(index) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3179 var table = DT.dragObj.table;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3180 var rows = table.rows;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3181 var column = DT.getColumn(table, index);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3182 $(DT.getColumn(table, index - 1)).addClass(classes.leftToCell_of_emptySpace);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3183 $(DT.getColumn(table, index + 1)).addClass(classes.rightToCell_of_emptySpace);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3184 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3185
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3186 // Stop capturing mousemove and mouseup events.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3187 // Determine which (if any) column we're over and shuffle the table.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3188 dragEnd: function(event) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3189 if (DT.browser.isIE) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3190 document.detachEvent("onmousemove", DT.dragMove);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3191 document.detachEvent("onmouseup", DT.dragEnd);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3192 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3193 document.removeEventListener("mousemove", DT.dragMove, true);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3194 document.removeEventListener("mouseup", DT.dragEnd, true);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3195 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3196
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3197 var drag_obj = DT.dragObj;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3198 var col_index = drag_obj.movingColIndex;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3199
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3200 // If the floating header wasn't added, the mouse didn't move far enough.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3201 if (drag_obj.addedNode) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3202 // TODO: Move with animation
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3203 var final_pos = DT.getPositionOnThePage(DT.getColumn(drag_obj.table, col_index)[0]);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3204
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3205 $(drag_obj.newTable).animate({
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3206 left: final_pos.x,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3207 top: final_pos.y,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3208 }, 'fast', function() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3209 $(drag_obj.newTable).remove();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3210 $(DT.getColumn(drag_obj.table, col_index)).removeClass(classes.cell_of_emptySpace);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3211 $(DT.getColumn(drag_obj.table, col_index)[0]).removeClass(classes.topCell_of_emptySpace);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3212 var visibleCells = $(DT.getColumn(drag_obj.table, col_index)).filter(':visible');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3213 $(visibleCells[visibleCells.length - 1]).removeClass(classes.bottomCell_of_emptySpace);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3214
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3215 DT.removeStylesForAdjacentColumns(col_index);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3216 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3217
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3218 DT.storeDrag(drag_obj.table);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3219 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3220 DT.isDragging = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3221 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3222
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3223 moveColumn: function(table, index, nextIndex) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3224 forEach(table.rows, function(row) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3225 var startCell = $(row.cells[index]);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3226 var finishCell = $(row.cells[nextIndex]);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3227
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3228 // startCell.animate({
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3229 // left: finishCell.offset().left,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3230 // }, 'slow', function() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3231 if (nextIndex > index) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3232 startCell.before(finishCell);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3233 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3234 startCell.after(finishCell);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3235 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3236 // });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3237 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3238 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3239
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3240 // clone an element, copying its style and class.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3241 fullCopy: function(elt, deep) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3242 if (!elt) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3243 return null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3244 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3245 var new_elt = elt.cloneNode(deep);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3246 new_elt.className = elt.className;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3247 $(new_elt).addClass('clone');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3248 forEach(elt.style, function(value, key, object) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3249 if (value == null) return;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3250 if (typeof(value) == "string" && value.length == 0) return;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3251
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3252 new_elt.style[key] = elt.style[key];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3253 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3254 return new_elt;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3255 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3256
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3257 getColumn: function(table, index) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3258 index = typeof index !== 'undefined' ? index : 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3259
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3260 if (index < 0 || index >= table.rows[0].cells.length) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3261 return [];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3262
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3263 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3264 var column = [];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3265 forEach(table.rows, function(row) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3266 column.push(row.cells[index]);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3267 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3268 return column;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3269 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3270 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3271
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3272 isSuitableColumnToSwap: function(targetIndex, movingColIndex) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3273 if (targetIndex != -1) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3274 if (typeof movingColIndex === 'undefined' || targetIndex != movingColIndex) { // check if equals the moving one
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3275 var top_cell = $(DT.getColumn(DT.dragObj.table, targetIndex)[0]);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3276 if (top_cell.find('.' + classes.handle).addBack('.' + classes.handle).exists()) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3277 return true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3278 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3279 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3280 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3281 return false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3282 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3283
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3284 // Which column does the x value fall inside of? x should include scrollLeft.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3285 getColumnAtPosition: function(table, x) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3286 var header = table.tHead.rows[0].cells;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3287 for (var i = 0; i < header.length; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3288 //var left = header[i].offsetLeft;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3289 var pos = DT.getPositionOnThePage(header[i]);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3290 //if (left <= x && x <= left + header[i].offsetWidth) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3291 var px = pos.x;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3292 var ow = header[i].offsetWidth;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3293 var xpow = pos.x + header[i].offsetWidth;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3294 if (pos.x <= x && x <= pos.x + header[i].offsetWidth) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3295 return i;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3296 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3297 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3298 return -1;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3299 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3300
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3301 // Store a column swap in a cookie for posterity.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3302 storeDrag: function(table) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3303 var order = [];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3304 forEach(table.rows[0].cells, function(cell) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3305 var pos = cell.getAttribute('position');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3306 if (pos)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3307 order.push(pos);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3308 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3309
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3310 var order_string = order[0];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3311 for (var i = 1; i < order.length; i++)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3312 order_string += ' ' + order[i];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3313
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3314 DT.storeInCookies(order_string);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3315 DT.sendOrderToServer(order_string);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3316 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3317
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3318 storeInCookies: function(string) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3319 if (navigator.cookieEnabled) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3320 var cookieName = 'order';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3321 createCookie(cookieName, string, DT.cookieDays);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3322 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3323 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3324
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3325 sendOrderToServer: function(string) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3326 if (document.reportId) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3327 $.ajax({
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3328 type: 'GET',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3329 url: '/reorder-report-columns',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3330 dataType: 'json',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3331 data: {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3332 reportId: document.reportId,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3333 order: string,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3334 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3335 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3336 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3337 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3338 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3339
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3340 var DT = dragTable;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3341
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3342 /* ******************************************************************
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3343 Supporting functions: bundled here to avoid depending on a library
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3344 ****************************************************************** */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3345
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3346
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3347 //// Dean Edwards/Matthias Miller/John Resig
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3348 //// has a hook for DT.init already been added? (see below)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3349 //var dgListenOnLoad = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3350 //
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3351 ///* for Mozilla/Opera9 */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3352 //if (document.addEventListener) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3353 // dgListenOnLoad = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3354 // document.addEventListener("DOMContentLoaded", DT.init, false);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3355 //}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3356 //
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3357 ///* for Internet Explorer */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3358 ///*@cc_on @*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3359 ///*@if (@_win32)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3360 // dgListenOnLoad = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3361 // document.write("<script id=__dt_onload defer src=//0)><\/script>");
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3362 // var script = document.getElementById("__dt_onload");
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3363 // script.onreadystatechange = function() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3364 // if (this.readyState == "complete") {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3365 // DT.init(); // call the onload handler
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3366 // }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3367 // };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3368 ///*@end @*/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3369 //
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3370 ///* for Safari */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3371 //if (/WebKit/i.test(navigator.userAgent)) { // sniff
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3372 // dgListenOnLoad = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3373 // var _dgtimer = setInterval(function() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3374 // if (/loaded|complete/.test(document.readyState)) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3375 // DT.init(); // call the onload handler
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3376 // }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3377 // }, 10);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3378 //}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3379 //
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3380 ///* for other browsers */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3381 ///* Avoid this unless it's absolutely necessary (it breaks sorttable) */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3382 //if (!dgListenOnLoad) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3383 // window.onload = DT.init;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3384 //}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3385
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3386 </script>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3387
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3388 <script type="text/javascript">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3389 /*! HTML5 Shiv vpre3.6 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3390 Uncompressed source: https://github.com/aFarkas/html5shiv */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3391 (function(a,b){function h(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function i(){var a=l.elements;return typeof a=="string"?a.split(" "):a}function j(a){var b={},c=a.createElement,f=a.createDocumentFragment,g=f();a.createElement=function(a){if(!l.shivMethods)return c(a);var f;return b[a]?f=b[a].cloneNode():e.test(a)?f=(b[a]=c(a)).cloneNode():f=c(a),f.canHaveChildren&&!d.test(a)?g.appendChild(f):f},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+i().join().replace(/\w+/g,function(a){return c(a),g.createElement(a),'c("'+a+'")'})+");return n}")(l,g)}function k(a){var b;return a.documentShived?a:(l.shivCSS&&!f&&(b=!!h(a,"article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio{display:none}canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden]{display:none}audio[controls]{display:inline-block;*display:inline;*zoom:1}mark{background:#FF0;color:#000}")),g||(b=!j(a)),b&&(a.documentShived=b),a)}var c=a.html5||{},d=/^<|^(?:button|form|map|select|textarea|object|iframe|option|optgroup)$/i,e=/^<|^(?:a|b|button|code|div|fieldset|form|h1|h2|h3|h4|h5|h6|i|iframe|img|input|label|li|link|ol|option|p|param|q|script|select|span|strong|style|table|tbody|td|textarea|tfoot|th|thead|tr|ul)$/i,f,g;(function(){var c=b.createElement("a");c.innerHTML="<xyz></xyz>",f="hidden"in c,f&&typeof injectElementWithStyles=="function"&&injectElementWithStyles("#modernizr{}",function(b){b.hidden=!0,f=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).display=="none"}),g=c.childNodes.length==1||function(){try{b.createElement("a")}catch(a){return!0}var c=b.createDocumentFragment();return typeof c.cloneNode=="undefined"||typeof c.createDocumentFragment=="undefined"||typeof c.createElement=="undefined"}()})();var l={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:k};a.html5=l,k(b)})(this,document)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3392 </script>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3393
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3394 <script type="text/javascript">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3395 /**
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3396 * Bootstrap.js by @fat & @mdo
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3397 * plugins: bootstrap-tooltip.js
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3398 * Copyright 2012 Twitter, Inc.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3399 * http://www.apache.org/licenses/LICENSE-2.0.txt
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3400 */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3401 !function(a){var b=function(a,b){this.init("tooltip",a,b)};b.prototype={constructor:b,init:function(b,c,d){var e,f;this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.enabled=!0,this.options.trigger!="manual"&&(e=this.options.trigger=="hover"?"mouseenter":"focus",f=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(e,this.options.selector,a.proxy(this.enter,this)),this.$element.on(f,this.options.selector,a.proxy(this.leave,this))),this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(b){return b=a.extend({},a.fn[this.type].defaults,b,this.$element.data()),b.delay&&typeof b.delay=="number"&&(b.delay={show:b.delay,hide:b.delay}),b},enter:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);if(!c.options.delay||!c.options.delay.show)return c.show();clearTimeout(this.timeout),c.hoverState="in",this.timeout=setTimeout(function(){c.hoverState=="in"&&c.show()},c.options.delay.show)},leave:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!c.options.delay||!c.options.delay.hide)return c.hide();c.hoverState="out",this.timeout=setTimeout(function(){c.hoverState=="out"&&c.hide()},c.options.delay.hide)},show:function(){var a,b,c,d,e,f,g;if(this.hasContent()&&this.enabled){a=this.tip(),this.setContent(),this.options.animation&&a.addClass("fade"),f=typeof this.options.placement=="function"?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,b=/in/.test(f),a.remove().css({top:0,left:0,display:"block"}).appendTo(b?this.$element:document.body),c=this.getPosition(b),d=a[0].offsetWidth,e=a[0].offsetHeight;switch(b?f.split(" ")[1]:f){case"bottom":g={top:c.top+c.height,left:c.left+c.width/2-d/2};break;case"top":g={top:c.top-e+4,left:c.left+c.width/2-d/2};break;case"left":g={top:c.top+c.height/2-e/2,left:c.left-d};break;case"right":g={top:c.top+c.height/2-e/2,left:c.left+c.width}}a.css(g).addClass(f).addClass("in")}},isHTML:function(a){return typeof a!="string"||a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3||/^(?:[^<]*<[\w\W]+>[^>]*$)/.exec(a)},setContent:function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.isHTML(b)?"html":"text"](b),a.removeClass("fade in top bottom left right")},hide:function(){function d(){var b=setTimeout(function(){c.off(a.support.transition.end).remove()},500);c.one(a.support.transition.end,function(){clearTimeout(b),c.remove()})}var b=this,c=this.tip();c.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d():c.remove()},fixTitle:function(){var a=this.$element;(a.attr("title")||typeof a.attr("data-original-title")!="string")&&a.attr("data-original-title",a.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(b){return a.extend({},b?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||(typeof c.title=="function"?c.title.call(b[0]):c.title),a},tip:function(){return this.$tip=this.$tip||a(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(){this[this.tip().hasClass("in")?"hide":"show"]()}},a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("tooltip"),f=typeof c=="object"&&c;e||d.data("tooltip",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover",title:"",delay:0}}(window.jQuery)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3402 </script>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3403
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3404 <script type="text/javascript">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3405 /*!
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3406 * Bootstrap.js by @fat & @mdo
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3407 * Copyright 2012 Twitter, Inc.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3408 * http://www.apache.org/licenses/LICENSE-2.0.txt
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3409 */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3410 !function(a){a(function(){"use strict",a.support.transition=function(){var a=function(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",msTransition:"MSTransitionEnd",transition:"transitionend"},c;for(c in b)if(a.style[c]!==undefined)return b[c]}();return a&&{end:a}}()})}(window.jQuery),!function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function f(){e.trigger("closed").remove()}var c=a(this),d=c.attr("data-target"),e;d||(d=c.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),e=a(d),b&&b.preventDefault(),e.length||(e=c.hasClass("alert")?c:c.parent()),e.trigger(b=a.Event("close"));if(b.isDefaultPrevented())return;e.removeClass("in"),a.support.transition&&e.hasClass("fade")?e.on(a.support.transition.end,f):f()},a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("alert");e||d.data("alert",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.alert.Constructor=c,a(function(){a("body").on("click.alert.data-api",b,c.prototype.close)})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.button.defaults,c)};b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.data(),e=c.is("input")?"val":"html";a+="Text",d.resetText||c.data("resetText",c[e]()),c[e](d[a]||this.options[a]),setTimeout(function(){a=="loadingText"?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.parent('[data-toggle="buttons-radio"]');a&&a.find(".active").removeClass("active"),this.$element.toggleClass("active")},a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("button"),f=typeof c=="object"&&c;e||d.data("button",e=new b(this,f)),c=="toggle"?e.toggle():c&&e.setState(c)})},a.fn.button.defaults={loadingText:"loading..."},a.fn.button.Constructor=b,a(function(){a("body").on("click.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle")})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=c,this.options.slide&&this.slide(this.options.slide),this.options.pause=="hover"&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.prototype={cycle:function(b){return b||(this.paused=!1),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},to:function(b){var c=this.$element.find(".active"),d=c.parent().children(),e=d.index(c),f=this;if(b>d.length-1||b<0)return;return this.sliding?this.$element.one("slid",function(){f.to(b)}):e==b?this.pause().cycle():this.slide(b>e?"next":"prev",a(d[b]))},pause:function(a){return a||(this.paused=!0),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(b,c){var d=this.$element.find(".active"),e=c||d[b](),f=this.interval,g=b=="next"?"left":"right",h=b=="next"?"first":"last",i=this,j=a.Event("slide");this.sliding=!0,f&&this.pause(),e=e.length?e:this.$element.find(".item")[h]();if(e.hasClass("active"))return;if(a.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(j);if(j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),this.$element.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)})}else{this.$element.trigger(j);if(j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&&this.cycle(),this}},a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("carousel"),f=a.extend({},a.fn.carousel.defaults,typeof c=="object"&&c);e||d.data("carousel",e=new b(this,f)),typeof c=="number"?e.to(c):typeof c=="string"||(c=f.slide)?e[c]():f.interval&&e.cycle()})},a.fn.carousel.defaults={interval:5e3,pause:"hover"},a.fn.carousel.Constructor=b,a(function(){a("body").on("click.carousel.data-api","[data-slide]",function(b){var c=a(this),d,e=a(c.attr("data-target")||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,"")),f=!e.data("modal")&&a.extend({},e.data(),c.data());e.carousel(f),b.preventDefault()})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.collapse.defaults,c),this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.prototype={constructor:b,dimension:function(){var a=this.$element.hasClass("width");return a?"width":"height"},show:function(){var b,c,d,e;if(this.transitioning)return;b=this.dimension(),c=a.camelCase(["scroll",b].join("-")),d=this.$parent&&this.$parent.find("> .accordion-group > .in");if(d&&d.length){e=d.data("collapse");if(e&&e.transitioning)return;d.collapse("hide"),e||d.data("collapse",null)}this.$element[b](0),this.transition("addClass",a.Event("show"),"shown"),this.$element[b](this.$element[0][c])},hide:function(){var b;if(this.transitioning)return;b=this.dimension(),this.reset(this.$element[b]()),this.transition("removeClass",a.Event("hide"),"hidden"),this.$element[b](0)},reset:function(a){var b=this.dimension();return this.$element.removeClass("collapse")[b](a||"auto")[0].offsetWidth,this.$element[a!==null?"addClass":"removeClass"]("collapse"),this},transition:function(b,c,d){var e=this,f=function(){c.type=="show"&&e.reset(),e.transitioning=0,e.$element.trigger(d)};this.$element.trigger(c);if(c.isDefaultPrevented())return;this.transitioning=1,this.$element[b]("in"),a.support.transition&&this.$element.hasClass("collapse")?this.$element.one(a.support.transition.end,f):f()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}},a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("collapse"),f=typeof c=="object"&&c;e||d.data("collapse",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.collapse.defaults={toggle:!0},a.fn.collapse.Constructor=b,a(function(){a("body").on("click.collapse.data-api","[data-toggle=collapse]",function(b){var c=a(this),d,e=c.attr("data-target")||b.preventDefault()||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=a(e).data("collapse")?"toggle":c.data();a(e).collapse(f)})})}(window.jQuery),!function(a){function d(){a(b).parent().removeClass("open")}"use strict";var b='[data-toggle="dropdown"]',c=function(b){var c=a(b).on("click.dropdown.data-api",this.toggle);a("html").on("click.dropdown.data-api",function(){c.parent().removeClass("open")})};c.prototype={constructor:c,toggle:function(b){var c=a(this),e,f,g;if(c.is(".disabled, :disabled"))return;return f=c.attr("data-target"),f||(f=c.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,"")),e=a(f),e.length||(e=c.parent()),g=e.hasClass("open"),d(),g||e.toggleClass("open"),!1}},a.fn.dropdown=function(b){return this.each(function(){var d=a(this),e=d.data("dropdown");e||d.data("dropdown",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.dropdown.Constructor=c,a(function(){a("html").on("click.dropdown.data-api",d),a("body").on("click.dropdown",".dropdown form",function(a){a.stopPropagation()}).on("click.dropdown.data-api",b,c.prototype.toggle)})}(window.jQuery),!function(a){function c(){var b=this,c=setTimeout(function(){b.$element.off(a.support.transition.end),d.call(b)},500);this.$element.one(a.support.transition.end,function(){clearTimeout(c),d.call(b)})}function d(a){this.$element.hide().trigger("hidden"),e.call(this)}function e(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;this.$backdrop=a('<div class="modal-backdrop '+d+'" />').appendTo(document.body),this.options.backdrop!="static"&&this.$backdrop.click(a.proxy(this.hide,this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),e?this.$backdrop.one(a.support.transition.end,b):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,a.proxy(f,this)):f.call(this)):b&&b()}function f(){this.$backdrop.remove(),this.$backdrop=null}function g(){var b=this;this.isShown&&this.options.keyboard?a(document).on("keyup.dismiss.modal",function(a){a.which==27&&b.hide()}):this.isShown||a(document).off("keyup.dismiss.modal")}"use strict";var b=function(b,c){this.options=c,this.$element=a(b).delegate('[data-dismiss="modal"]',"click.dismiss.modal",a.proxy(this.hide,this))};b.prototype={constructor:b,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var b=this,c=a.Event("show");this.$element.trigger(c);if(this.isShown||c.isDefaultPrevented())return;a("body").addClass("modal-open"),this.isShown=!0,g.call(this),e.call(this,function(){var c=a.support.transition&&b.$element.hasClass("fade");b.$element.parent().length||b.$element.appendTo(document.body),b.$element.show(),c&&b.$element[0].offsetWidth,b.$element.addClass("in"),c?b.$element.one(a.support.transition.end,function(){b.$element.trigger("shown")}):b.$element.trigger("shown")})},hide:function(b){b&&b.preventDefault();var e=this;b=a.Event("hide"),this.$element.trigger(b);if(!this.isShown||b.isDefaultPrevented())return;this.isShown=!1,a("body").removeClass("modal-open"),g.call(this),this.$element.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?c.call(this):d.call(this)}},a.fn.modal=function(c){return this.each(function(){var d=a(this),e=d.data("modal"),f=a.extend({},a.fn.modal.defaults,d.data(),typeof c=="object"&&c);e||d.data("modal",e=new b(this,f)),typeof c=="string"?e[c]():f.show&&e.show()})},a.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},a.fn.modal.Constructor=b,a(function(){a("body").on("click.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d,e=a(c.attr("data-target")||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({},e.data(),c.data());b.preventDefault(),e.modal(f)})})}(window.jQuery),!function(a){"use strict";var b=function(a,b){this.init("tooltip",a,b)};b.prototype={constructor:b,init:function(b,c,d){var e,f;this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.enabled=!0,this.options.trigger!="manual"&&(e=this.options.trigger=="hover"?"mouseenter":"focus",f=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(e,this.options.selector,a.proxy(this.enter,this)),this.$element.on(f,this.options.selector,a.proxy(this.leave,this))),this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(b){return b=a.extend({},a.fn[this.type].defaults,b,this.$element.data()),b.delay&&typeof b.delay=="number"&&(b.delay={show:b.delay,hide:b.delay}),b},enter:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);if(!c.options.delay||!c.options.delay.show)return c.show();clearTimeout(this.timeout),c.hoverState="in",this.timeout=setTimeout(function(){c.hoverState=="in"&&c.show()},c.options.delay.show)},leave:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!c.options.delay||!c.options.delay.hide)return c.hide();c.hoverState="out",this.timeout=setTimeout(function(){c.hoverState=="out"&&c.hide()},c.options.delay.hide)},show:function(){var a,b,c,d,e,f,g;if(this.hasContent()&&this.enabled){a=this.tip(),this.setContent(),this.options.animation&&a.addClass("fade"),f=typeof this.options.placement=="function"?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,b=/in/.test(f),a.remove().css({top:0,left:0,display:"block"}).appendTo(b?this.$element:document.body),c=this.getPosition(b),d=a[0].offsetWidth,e=a[0].offsetHeight;switch(b?f.split(" ")[1]:f){case"bottom":g={top:c.top+c.height,left:c.left+c.width/2-d/2};break;case"top":g={top:c.top-e,left:c.left+c.width/2-d/2};break;case"left":g={top:c.top+c.height/2-e/2,left:c.left-d};break;case"right":g={top:c.top+c.height/2-e/2,left:c.left+c.width}}a.css(g).addClass(f).addClass("in")}},isHTML:function(a){return typeof a!="string"||a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3||/^(?:[^<]*<[\w\W]+>[^>]*$)/.exec(a)},setContent:function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.isHTML(b)?"html":"text"](b),a.removeClass("fade in top bottom left right")},hide:function(){function d(){var b=setTimeout(function(){c.off(a.support.transition.end).remove()},500);c.one(a.support.transition.end,function(){clearTimeout(b),c.remove()})}var b=this,c=this.tip();c.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d():c.remove()},fixTitle:function(){var a=this.$element;(a.attr("title")||typeof a.attr("data-original-title")!="string")&&a.attr("data-original-title",a.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(b){return a.extend({},b?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||(typeof c.title=="function"?c.title.call(b[0]):c.title),a},tip:function(){return this.$tip=this.$tip||a(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(){this[this.tip().hasClass("in")?"hide":"show"]()}},a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("tooltip"),f=typeof c=="object"&&c;e||d.data("tooltip",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover",title:"",delay:0}}(window.jQuery),!function(a){"use strict";var b=function(a,b){this.init("popover",a,b)};b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.isHTML(b)?"html":"text"](b),a.find(".popover-content > *")[this.isHTML(c)?"html":"text"](c),a.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-content")||(typeof c.content=="function"?c.content.call(b[0]):c.content),a},tip:function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip}}),a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("popover"),f=typeof c=="object"&&c;e||d.data("popover",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.defaults=a.extend({},a.fn.tooltip.defaults,{placement:"right",content:"",template:'<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'})}(window.jQuery),!function(a){function b(b,c){var d=a.proxy(this.process,this),e=a(b).is("body")?a(window):a(b),f;this.options=a.extend({},a.fn.scrollspy.defaults,c),this.$scrollElement=e.on("scroll.scroll.data-api",d),this.selector=(this.options.target||(f=a(b).attr("href"))&&f.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=a("body"),this.refresh(),this.process()}"use strict",b.prototype={constructor:b,refresh:function(){var b=this,c;this.offsets=a([]),this.targets=a([]),c=this.$body.find(this.selector).map(function(){var b=a(this),c=b.data("target")||b.attr("href"),d=/^#\w/.test(c)&&a(c);return d&&c.length&&[[d.position().top,c]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},process:function(){var a=this.$scrollElement.scrollTop()+this.options.offset,b=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,c=b-this.$scrollElement.height(),d=this.offsets,e=this.targets,f=this.activeTarget,g;if(a>=c)return f!=(g=e.last()[0])&&this.activate(g);for(g=d.length;g--;)f!=e[g]&&a>=d[g]&&(!d[g+1]||a<=d[g+1])&&this.activate(e[g])},activate:function(b){var c,d;this.activeTarget=b,a(this.selector).parent(".active").removeClass("active"),d=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',c=a(d).parent("li").addClass("active"),c.parent(".dropdown-menu")&&(c=c.closest("li.dropdown").addClass("active")),c.trigger("activate")}},a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("scrollspy"),f=typeof c=="object"&&c;e||d.data("scrollspy",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.defaults={offset:10},a(function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(window.jQuery),!function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype={constructor:b,show:function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.attr("data-target"),e,f,g;d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,""));if(b.parent("li").hasClass("active"))return;e=c.find(".active a").last()[0],g=a.Event("show",{relatedTarget:e}),b.trigger(g);if(g.isDefaultPrevented())return;f=a(d),this.activate(b.parent("li"),c),this.activate(f,f.parent(),function(){b.trigger({type:"shown",relatedTarget:e})})},activate:function(b,c,d){function g(){e.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),f?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var e=c.find("> .active"),f=d&&a.support.transition&&e.hasClass("fade");f?e.one(a.support.transition.end,g):g(),e.removeClass("in")}},a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("tab");e||d.data("tab",e=new b(this)),typeof c=="string"&&e[c]()})},a.fn.tab.Constructor=b,a(function(){a("body").on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.typeahead.defaults,c),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.$menu=a(this.options.menu).appendTo("body"),this.source=this.options.source,this.shown=!1,this.listen()};b.prototype={constructor:b,select:function(){var a=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(a)).change(),this.hide()},updater:function(a){return a},show:function(){var b=a.extend({},this.$element.offset(),{height:this.$element[0].offsetHeight});return this.$menu.css({top:b.top+b.height,left:b.left}),this.$menu.show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(b){var c=this,d,e;return this.query=this.$element.val(),this.query?(d=a.grep(this.source,function(a){return c.matcher(a)}),d=this.sorter(d),d.length?this.render(d.slice(0,this.options.items)).show():this.shown?this.hide():this):this.shown?this.hide():this},matcher:function(a){return~a.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(a){var b=[],c=[],d=[],e;while(e=a.shift())e.toLowerCase().indexOf(this.query.toLowerCase())?~e.indexOf(this.query)?c.push(e):d.push(e):b.push(e);return b.concat(c,d)},highlighter:function(a){var b=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return a.replace(new RegExp("("+b+")","ig"),function(a,b){return"<strong>"+b+"</strong>"})},render:function(b){var c=this;return b=a(b).map(function(b,d){return b=a(c.options.item).attr("data-value",d),b.find("a").html(c.highlighter(d)),b[0]}),b.first().addClass("active"),this.$menu.html(b),this},next:function(b){var c=this.$menu.find(".active").removeClass("active"),d=c.next();d.length||(d=a(this.$menu.find("li")[0])),d.addClass("active")},prev:function(a){var b=this.$menu.find(".active").removeClass("active"),c=b.prev();c.length||(c=this.$menu.find("li").last()),c.addClass("active")},listen:function(){this.$element.on("blur",a.proxy(this.blur,this)).on("keypress",a.proxy(this.keypress,this)).on("keyup",a.proxy(this.keyup,this)),(a.browser.webkit||a.browser.msie)&&this.$element.on("keydown",a.proxy(this.keypress,this)),this.$menu.on("click",a.proxy(this.click,this)).on("mouseenter","li",a.proxy(this.mouseenter,this))},keyup:function(a){switch(a.keyCode){case 40:case 38:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}a.stopPropagation(),a.preventDefault()},keypress:function(a){if(!this.shown)return;switch(a.keyCode){case 9:case 13:case 27:a.preventDefault();break;case 38:if(a.type!="keydown")break;a.preventDefault(),this.prev();break;case 40:if(a.type!="keydown")break;a.preventDefault(),this.next()}a.stopPropagation()},blur:function(a){var b=this;setTimeout(function(){b.hide()},150)},click:function(a){a.stopPropagation(),a.preventDefault(),this.select()},mouseenter:function(b){this.$menu.find(".active").removeClass("active"),a(b.currentTarget).addClass("active")}},a.fn.typeahead=function(c){return this.each(function(){var d=a(this),e=d.data("typeahead"),f=typeof c=="object"&&c;e||d.data("typeahead",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.typeahead.defaults={source:[],items:8,menu:'<ul class="typeahead dropdown-menu"></ul>',item:'<li><a href="#"></a></li>'},a.fn.typeahead.Constructor=b,a(function(){a("body").on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(b){var c=a(this);if(c.data("typeahead"))return;b.preventDefault(),c.typeahead(c.data())})})}(window.jQuery);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3411 </script>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3412
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3413 <script type="text/javascript">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3414 /* ===========================================================
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3415 * bootstrap-tooltip.js v2.0.4
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3416 * http://twitter.github.com/bootstrap/javascript.html#tooltips
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3417 * Inspired by the original jQuery.tipsy by Jason Frame
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3418 * ===========================================================
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3419 * Copyright 2012 Twitter, Inc.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3420 *
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3421 * Licensed under the Apache License, Version 2.0 (the "License");
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3422 * you may not use this file except in compliance with the License.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3423 * You may obtain a copy of the License at
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3424 *
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3425 * http://www.apache.org/licenses/LICENSE-2.0
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3426 *
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3427 * Unless required by applicable law or agreed to in writing, software
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3428 * distributed under the License is distributed on an "AS IS" BASIS,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3429 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3430 * See the License for the specific language governing permissions and
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3431 * limitations under the License.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3432 * ========================================================== */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3433
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3434
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3435 !function ($) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3436
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3437 "use strict"; // jshint ;_;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3438
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3439
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3440 /* TOOLTIP PUBLIC CLASS DEFINITION
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3441 * =============================== */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3442
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3443 var Tooltip = function (element, options) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3444 this.init('tooltip', element, options)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3445 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3446
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3447 Tooltip.prototype = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3448
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3449 constructor: Tooltip
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3450
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3451 , init: function (type, element, options) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3452 var eventIn
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3453 , eventOut;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3454
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3455 this.type = type;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3456 this.$element = $(element);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3457 this.options = this.getOptions(options);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3458 this.enabled = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3459
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3460 if (this.options.trigger != 'manual') {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3461 eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3462 eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3463 this.$element.on(eventIn, this.options.selector, $.proxy(this.enter, this));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3464 this.$element.on(eventOut, this.options.selector, $.proxy(this.leave, this));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3465 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3466
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3467 this.options.selector ?
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3468 (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3469 this.fixTitle();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3470 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3471
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3472 , getOptions: function (options) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3473 options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3474
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3475 if (options.delay && typeof options.delay == 'number') {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3476 options.delay = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3477 show: options.delay
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3478 , hide: options.delay
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3479 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3480 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3481
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3482 return options;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3483 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3484
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3485 , enter: function (e) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3486 if (dragTable && dragTable.isDragging)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3487 return;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3488
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3489 var self = $(e.currentTarget)[this.type](this._options).data(this.type);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3490
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3491 if (!self.options.delay || !self.options.delay.show) self.show();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3492
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3493 clearTimeout(this.timeout);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3494 self.hoverState = 'in';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3495 this.timeout = setTimeout(
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3496 function() { if (self.hoverState == 'in') self.show(); },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3497 self.options.delay.show
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3498 );
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3499 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3500
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3501 , leave: function (e) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3502 var self = $(e.currentTarget)[this.type](this._options).data(this.type);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3503
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3504 if (this.timeout) clearTimeout(this.timeout);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3505 if (!self.options.delay || !self.options.delay.hide) self.hide();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3506
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3507 self.hoverState = 'out';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3508 this.timeout = setTimeout(
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3509 function() { if (self.hoverState == 'out') self.hide() },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3510 self.options.delay.hide
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3511 );
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3512 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3513
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3514 , show: function () {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3515 var $tip
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3516 , inside
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3517 , pos
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3518 , actualWidth
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3519 , actualHeight
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3520 , placement
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3521 , tp;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3522
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3523 if (this.hasContent() && this.enabled) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3524 $tip = this.tip();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3525 this.setContent();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3526
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3527 if (this.options.animation) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3528 $tip.addClass('fade');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3529 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3530
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3531 placement = typeof this.options.placement == 'function' ?
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3532 this.options.placement.call(this, $tip[0], this.$element[0]) :
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3533 this.options.placement;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3534
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3535 inside = /in/.test(placement);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3536
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3537 $tip
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3538 .remove()
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3539 .css({ top: 0, left: 0, display: 'block' })
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3540 .appendTo(inside ? this.$element : document.body);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3541
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3542 pos = this.getPosition(inside);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3543
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3544 actualWidth = $tip[0].offsetWidth;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3545 actualHeight = $tip[0].offsetHeight;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3546
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3547 switch (inside ? placement.split(' ')[1] : placement) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3548 case 'bottom':
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3549 tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2};
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3550 break;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3551 case 'top': // modificated by Vlad Saveliev: +4px to top position
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3552 tp = {top: pos.top - actualHeight + 4, left: pos.left + pos.width / 2 - actualWidth / 2};
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3553 break;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3554 case 'left':
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3555 tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth};
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3556 break;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3557 case 'right':
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3558 tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width};
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3559 break;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3560 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3561
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3562 $tip
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3563 .css(tp)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3564 .addClass(placement)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3565 .addClass('in');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3566 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3567 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3568
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3569 , isHTML: function(text) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3570 // html string detection logic adapted from jQuery
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3571 return typeof text != 'string'
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3572 || ( text.charAt(0) === "<"
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3573 && text.charAt( text.length - 1 ) === ">"
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3574 && text.length >= 3
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3575 ) || /^(?:[^<]*<[\w\W]+>[^>]*$)/.exec(text);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3576 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3577
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3578 , setContent: function () {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3579 var $tip = this.tip()
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3580 , title = this.getTitle();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3581
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3582 $tip.find('.tooltip-inner')[this.isHTML(title) ? 'html' : 'text'](title);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3583 $tip.removeClass('fade in top bottom left right');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3584 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3585
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3586 , hide: function () {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3587 var that = this
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3588 , $tip = this.tip();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3589
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3590 $tip.removeClass('in');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3591
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3592 function removeWithAnimation() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3593 var timeout = setTimeout(function () {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3594 $tip.off($.support.transition.end).remove()
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3595 }, 500);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3596
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3597 $tip.one($.support.transition.end, function () {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3598 clearTimeout(timeout);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3599 $tip.remove();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3600 })
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3601 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3602
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3603 $.support.transition && this.$tip.hasClass('fade') ?
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3604 removeWithAnimation() :
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3605 $tip.remove()
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3606 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3607
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3608 , fixTitle: function () {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3609 var $e = this.$element;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3610 if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3611 $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3612 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3613 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3614
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3615 , hasContent: function () {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3616 return this.getTitle();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3617 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3618
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3619 , getPosition: function (inside) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3620 return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3621 width: this.$element[0].offsetWidth
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3622 , height: this.$element[0].offsetHeight
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3623 })
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3624 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3625
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3626 , getTitle: function () {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3627 var title
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3628 , $e = this.$element
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3629 , o = this.options;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3630
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3631 title = $e.attr('data-original-title')
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3632 || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3633
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3634 return title;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3635 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3636
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3637 , tip: function () {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3638 return this.$tip = this.$tip || $(this.options.template);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3639 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3640
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3641 , validate: function () {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3642 if (!this.$element[0].parentNode) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3643 this.hide();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3644 this.$element = null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3645 this.options = null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3646 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3647 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3648
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3649 , enable: function () {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3650 this.enabled = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3651 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3652
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3653 , disable: function () {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3654 this.enabled = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3655 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3656
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3657 , toggleEnabled: function () {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3658 this.enabled = !this.enabled;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3659 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3660
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3661 , toggle: function () {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3662 this[this.tip().hasClass('in') ? 'hide' : 'show']();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3663 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3664
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3665 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3666
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3667
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3668 /* TOOLTIP PLUGIN DEFINITION
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3669 * ========================= */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3670
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3671 $.fn.tooltip = function ( option ) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3672 return this.each(function () {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3673 var $this = $(this)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3674 , data = $this.data('tooltip')
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3675 , options = typeof option == 'object' && option;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3676 if (!data) $this.data('tooltip', (data = new Tooltip(this, options)));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3677 if (typeof option == 'string') data[option]();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3678 })
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3679 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3680
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3681 $.fn.tooltip.Constructor = Tooltip;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3682
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3683 $.fn.tooltip.defaults = {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3684 animation: true
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3685 , placement: 'top'
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3686 , selector: false
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3687 , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3688 , trigger: 'hover'
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3689 , title: ''
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3690 , delay: 0
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3691 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3692
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3693 }(window.jQuery);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3694
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3695 </script>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3696
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3697 <script type="text/javascript">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3698 function showPlotWithInfo(info, index) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3699 var newSeries = [];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3700 var newColors = [];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3701 var oldSeries = info.series;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3702 var usingSeries;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3703 var sortOrder;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3704 if ($("input[name=sortRefs]")[0])
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3705 sortOrder = getSortOrder();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3706 if (index != undefined) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3707 oldSeries = info.series[index];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3708 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3709 if (sortOrder == 'alphabet') {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3710 usingSeries = [];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3711 sortedRefs = info.references.slice(0).sort();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3712 for(var i = 0; i < oldSeries.length; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3713 usingSeries.push($.extend(true, {}, oldSeries[i]));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3714 for(var j = 0; j < info.references.length; j++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3715 usingSeries[i].data[j][1] = oldSeries[i].data[info.references.indexOf(sortedRefs[j])][1];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3716 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3717 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3718 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3719 else usingSeries = oldSeries;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3720 $('#legend-placeholder').find('input[type="checkbox"]:checked').each(function() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3721 var number = $(this).attr('name');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3722 if (number && usingSeries && usingSeries.length > 0) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3723 var i = 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3724 do {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3725 var series = usingSeries[i];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3726 i++;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3727 } while (i <= usingSeries.length && (series == null || series.number != number));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3728 //
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3729 if (i <= usingSeries.length) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3730 newSeries.push(series);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3731 newColors.push(series.color);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3732 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3733 console.log('no series with number ' + number);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3734 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3735 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3736 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3737 if (sortOrder) sortReferences(sortOrder, info);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3738
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3739 if (newSeries.length === 0) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3740 newSeries.push({
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3741 data: []
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3742 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3743 newColors.push('#FFF');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3744 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3745
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3746 info.showWithData(newSeries, newColors);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3747 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3748
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3749 function recoverOrderFromCookies() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3750 if (!navigator.cookieEnabled)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3751 return null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3752
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3753 var order_string = readCookie("order");
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3754 if (!order_string)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3755 return null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3756
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3757 var order = [];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3758 var fail = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3759 forEach(order_string.split(' '), function(val) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3760 val = parseInt(val);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3761 if (isNaN(val))
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3762 fail = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3763 else
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3764 order.push(val);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3765 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3766
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3767 if (fail)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3768 return null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3769
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3770 return order;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3771 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3772
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3773
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3774 function readJson(what) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3775 var result;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3776 try {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3777 result = JSON.parse($('#' + what + '-json').html());
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3778 } catch (e) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3779 result = null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3780 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3781 return result;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3782 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3783
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3784
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3785 function getToggleFunction(assembliesNames, order, name, title, drawPlot, data, refPlotValue, tickX) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3786 return function() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3787 this.parentNode.getElementsByClassName('selected-switch')[0].className = 'plot-switch dotted-link';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3788 this.className = 'plot-switch selected-switch';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3789 togglePlots(assembliesNames, order, name, title, drawPlot, data, refPlotValue, tickX)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3790 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3791 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3792
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3793 function togglePlots(assembliesNames, order, name, title, drawPlot, data, refPlotValue, tickX) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3794 var plotPlaceholder = document.getElementById('plot-placeholder');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3795 var legendPlaceholder = document.getElementById('legend-placeholder');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3796 var scalePlaceholder = document.getElementById('scale-placeholder');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3797
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3798 var glossary = JSON.parse($('#glossary-json').html());
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3799
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3800 if (name === 'cumulative') {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3801 $(plotPlaceholder).addClass('cumulative-plot-placeholder');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3802 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3803 $(plotPlaceholder).removeClass('cumulative-plot-placeholder');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3804 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3805
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3806 $('#contigs_are_ordered').hide();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3807 $('#gc_info').hide();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3808 $('#gc_contigs_info').hide();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3809 $('#frc_info').hide();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3810
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3811 var selectedAssemblies = getSelectedAssemblies(assembliesNames);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3812 var sortBtnClass;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3813 if ($("input[name=sortRefs]")[0]) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3814 sortBtnClass = getSortRefsRule();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3815 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3816 $('#legend-placeholder').empty();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3817 assembliesNames.forEach(function(filename, i) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3818 addLabelToLegend(i, filename, selectedAssemblies, colors);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3819 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3820 if (refPlotValue) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3821 $('#legend-placeholder').append(
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3822 '<div id="reference-label">' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3823 '<label for="reference" style="color: #000000;">' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3824 '<input type="checkbox" name="' + assembliesNames.length +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3825 '" checked="checked" id="reference">&nbsp;' + 'reference' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3826 '</label>' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3827 '</div>'
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3828 );
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3829 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3830 if (sortBtnClass) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3831 addSortRefsBtn(sortBtnClass);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3832 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3833
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3834 drawPlot(name, title, colors, assembliesNames, data, refPlotValue, tickX,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3835 plotPlaceholder, legendPlaceholder, glossary, order, scalePlaceholder);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3836 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3837
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3838 function makePlot(firstPlot, assembliesNames, order, name, title, drawPlot, data, refPlotValue, tickX) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3839 var switchSpan = document.createElement('span');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3840 switchSpan.id = name + '-switch';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3841 switchSpan.innerHTML = title;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3842 var plotsSwitchesDiv = document.getElementById('plots-switches');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3843 plotsSwitchesDiv.appendChild(switchSpan);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3844
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3845 if (firstPlot) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3846 switchSpan.className = 'plot-switch selected-switch';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3847 togglePlots(assembliesNames, order, name, title, drawPlot, data, refPlotValue, tickX);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3848 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3849 switchSpan.className = 'plot-switch dotted-link';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3850 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3851
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3852 $(switchSpan).click(getToggleFunction(assembliesNames, order, name, title, drawPlot, data, refPlotValue, tickX));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3853 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3854 </script>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3855
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3856 <script type="text/javascript">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3857 String.prototype.trunc =
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3858 function(n){
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3859 return this.substr(0, n-1) + (this.length > n ? '&hellip;' : '');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3860 };
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3861
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3862
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3863 function getColor (hue, lightness) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3864 lightness = lightness ? lightness : 92;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3865 var rgb = hslToRgb(hue / 360, 0.8, lightness / 100);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3866 return '#' + rgb[0].toString(16) + rgb[1].toString(16) + rgb[2].toString(16);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3867 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3868
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3869 function getMedian (x) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3870 if (x.length == 0) return null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3871 if (x.length % 2 == 1) return x[(x.length - 1) / 2];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3872 else return (x[(x.length / 2) - 1] + x[(x.length / 2)]) / 2;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3873 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3874
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3875 function toggleSecondary(event, caller) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3876 event = event || window.event;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3877 if(event.target.nodeName == "IMG") return;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3878 if (!caller.hasClass('primary') || caller.hasClass('not_extend')) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3879 return;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3880 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3881 var nextRow = caller.next('.content-row');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3882 $(caller).find('.metric-name').toggleClass('collapsed').toggleClass('expanded');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3883
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3884 while (!nextRow.hasClass('primary') && (nextRow.length > 0)) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3885 nextRow.toggleClass('secondary_hidden');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3886 nextRow.find('.left_column_td').css('background-color', '#E8E8E8');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3887 nextRow = nextRow.next('.content-row');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3888 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3889 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3890
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3891 function setUpHeatMap(table) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3892
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3893 (function () {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3894 $(function () {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3895 $('tr.group_empty').removeClass('row_hidden');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3896 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3897 })();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3898
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3899 $('#main_report').append(table);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3900 var rows = $('#main_report_table').find('.content-row');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3901 var showHeatmap = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3902 for (var rows_n = 0; rows_n < rows.length; rows_n++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3903 if ($(rows[rows_n]).find('td[number]').length > 1) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3904 showHeatmap = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3905 break
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3906 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3907 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3908
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3909 if (showHeatmap) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3910 var canvas = document.getElementById('gradientHeatmap');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3911 var context = canvas.getContext('2d');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3912 context.rect(0, 0, canvas.width, canvas.height);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3913
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3914 var gradient = context.createLinearGradient(0, 0, canvas.width, canvas.height);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3915 gradient.addColorStop(0, getColor(0, 65));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3916 gradient.addColorStop(0.5, 'white');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3917 gradient.addColorStop(1, getColor(240, 65));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3918 canvas.style.border = "0px solid rgba(0, 0, 0, .1)";
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3919 context.fillStyle = gradient;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3920 context.fill();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3921 $('#heatmaps_chbox').change(function(){
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3922 if($(this).is(':checked')) toggleHeatMap('on');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3923 else toggleHeatMap('off');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3924 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3925 toggleHeatMap('on');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3926 $('#heatmap_header').show();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3927 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3928 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3929
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3930 function toggleHeatMap(state){
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3931 var rows = $('#main_report_table').find('.content-row');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3932 for (var rows_n = 0; rows_n < rows.length; rows_n++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3933 var cells = $(rows[rows_n]).find('td[number]');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3934 if (state == 'on') {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3935 var quality = $(rows[rows_n]).attr('quality');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3936 heatMapOneRow(cells, quality);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3937 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3938 else cells.each(function (i) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3939 $(this).css('background', 'white');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3940 $(this).css('color', 'black');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3941 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3942 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3943 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3944
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3945 function heatMapOneRow (cells, quality) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3946 if (quality == 'Equal')
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3947 return;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3948 var BLUE_HUE = 240;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3949 var BLUE_OUTER_BRT = 55;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3950 var BLUE_INNER_BRT = 65;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3951
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3952 var RED_HUE = 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3953 var RED_OUTER_BRT = 50;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3954 var RED_INNER_BRT = 60;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3955
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3956 var MIN_NORMAL_BRT = 80;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3957 var MEDIAN_BRT = 100;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3958
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3959 var numbers = $.map(cells, function (cell) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3960 return parseFloat($(cell).attr('number'));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3961 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3962
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3963 var min = Math.min.apply(null, numbers);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3964 var max = Math.max.apply(null, numbers);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3965
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3966 var topHue = BLUE_HUE;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3967 var lowHue = RED_HUE;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3968
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3969 var innerTopBrt = BLUE_INNER_BRT;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3970 var outerTopBrt = BLUE_OUTER_BRT;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3971 var innerLowBrt = RED_INNER_BRT;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3972 var outerLowBrt = RED_OUTER_BRT;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3973
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3974 if (quality == 'Less is better') {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3975 topHue = RED_HUE;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3976 lowHue = BLUE_HUE;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3977
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3978 innerTopBrt = RED_INNER_BRT;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3979 outerTopBrt = RED_OUTER_BRT;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3980 innerLowBrt = BLUE_INNER_BRT;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3981 outerLowBrt = BLUE_OUTER_BRT;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3982 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3983
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3984 var twoCols = cells.length == 2;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3985
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3986 if (max == min) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3987 $(cells).css('color', MEDIAN_BRT);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3988 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3989 var sortedValues = numbers.slice().sort(function(a, b) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3990 return a - b;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3991 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3992 var median = getMedian(sortedValues);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3993 var l = numbers.length;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3994 var q1 = sortedValues[Math.floor((l - 1) / 4)];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3995 var q3 = sortedValues[Math.floor((l - 1) * 3 / 4)];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3996
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3997 var d = q3 - q1;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3998 var low_outer_fence = q1 - 3 * d;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
3999 var low_inner_fence = q1 - 1.5 * d;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4000 var top_inner_fence = q3 + 1.5 * d;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4001 var top_outer_fence = q3 + 3 * d;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4002 cells.each(function (i) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4003 var number = numbers[i];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4004 if (number < low_outer_fence) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4005 $(this).css('background', getColor(lowHue, twoCols ? null : outerLowBrt));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4006 if (twoCols != true) $(this).css('color', 'white');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4007 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4008 else if (number < low_inner_fence) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4009 $(this).css('background', getColor(lowHue, twoCols ? null : innerLowBrt));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4010 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4011 else if (number < median) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4012 var k = (MEDIAN_BRT - MIN_NORMAL_BRT) / (median - low_inner_fence);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4013 var brt = Math.round(MEDIAN_BRT - (median - number) * k);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4014 $(this).css('background', getColor(lowHue, twoCols ? null : brt));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4015 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4016 else if (number > top_inner_fence) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4017 $(this).css('background', getColor(topHue, twoCols ? null : innerTopBrt));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4018 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4019 else if (number > top_outer_fence) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4020 $(this).css('background', getColor(topHue, twoCols ? null : outerTopBrt));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4021 if (twoCols != true) $(this).css('color', 'white');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4022 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4023 else if (number > median) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4024 var k = (MEDIAN_BRT - MIN_NORMAL_BRT) / (top_inner_fence - median);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4025 var brt = Math.round(MEDIAN_BRT - (number - median) * k);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4026 $(this).css('background', getColor(topHue, twoCols ? null : brt));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4027 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4028 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4029 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4030 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4031 function extendedClick() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4032 $('.row_to_hide').toggleClass('row_hidden');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4033
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4034 var link = $('#extended_report_link');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4035 if (link.html() == 'Extended report') {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4036 link.html('Short report');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4037 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4038 link.html('Extended report');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4039 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4040 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4041
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4042 function buildExtendedLinkClick() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4043 return '<p id="extended_link"><a class="dotted-link" id="extended_report_link" onclick="extendedClick($(this))">Extended report</a></p>';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4044 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4045
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4046 function appendIcarusLinks() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4047 if (icarusLinks = readJson('icarus')) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4048 if (icarusLinks.links != undefined) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4049 var links = '';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4050 for (var link_n = 0; link_n < icarusLinks.links.length; link_n++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4051 //links += '<a href="' + icarusLinks.links[link_n] + '">' + icarusLinks.links_names[link_n] + '</a><br>'
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4052 links += '<a class="btn btn-default btn-xs" role="button" href="' + icarusLinks.links[link_n] + '">' + icarusLinks.links_names[link_n] + '</a><br>'
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4053 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4054 $('#icarus').html(links);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4055 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4056 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4057 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4058
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4059 </script>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4060
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4061
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4062 <script type="text/javascript">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4063 var colors = ["#FF0000"];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4064 var broken_scaffolds_labels = [];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4065 </script>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4066 <script type="text/javascript">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4067 function addRow(metric, mainMetrics, rowName, group_n, order, glossary, isExpandable, isPrimary) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4068 (function(group_n) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4069 var id_group = '#group_' + group_n;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4070 $(function() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4071 $(id_group).removeClass('group_empty');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4072 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4073 })(group_n);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4074
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4075 var table = '';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4076 metricName = metric.metricName;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4077 var quality = metric.quality;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4078 var values = metric.values;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4079
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4080 var trClass = 'content-row';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4081 if (metric.isMain || $.inArray(metricName, mainMetrics) > -1) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4082 (function(group_n) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4083 var id_group = '#group_' + group_n;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4084 $(function() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4085 $(id_group).removeClass('row_hidden');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4086 $(id_group).removeClass('row_to_hide');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4087 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4088 })(group_n);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4089 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4090 trClass = 'content-row row_hidden row_to_hide';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4091 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4092 var tdClass = '';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4093 if (!isPrimary) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4094 trClass += ' secondary_hidden';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4095 tdClass = 'secondary_td';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4096 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4097 else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4098 trClass += ' primary';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4099 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4100 if (isExpandable) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4101 table +=
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4102 '<tr class="' + trClass + '" quality="' + quality + '" onclick="toggleSecondary(event, $(this))">' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4103 '<td class="left_column_td ' + tdClass + '">' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4104 '<span class="metric-name expandable collapsed">' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4105 initial_spaces_to_nbsp(addTooltipIfDefinitionExists(glossary, rowName.trunc(55)), metricName) +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4106 '</span></td>';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4107 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4108 else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4109 table +=
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4110 '<tr class="' + trClass + '" quality="' + quality + '">' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4111 '<td class="left_column_td"><span class="metric-name">' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4112 initial_spaces_to_nbsp(addTooltipIfDefinitionExists(glossary, rowName.trunc(55)), metricName) +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4113 '</span>' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4114 '</td>';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4115 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4116 for (var val_n = 0; val_n < values.length; val_n++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4117 value = values[order[val_n]];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4118
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4119 if (value === null || value === '') {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4120 table += '<td><span>-</span></td>';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4121 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4122 if (typeof value === 'number') {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4123 table +=
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4124 '<td number="' + value + '"><span>'
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4125 + toPrettyString(value) + '</span></td>';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4126 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4127 var result = /([0-9\.]+)(.*)/.exec(value);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4128 var num = parseFloat(result[1]);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4129 var rest = result[2];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4130 // alert('value = ' + value + ' result = ' + result);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4131
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4132 // var num = parseFloat(value);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4133
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4134 if (num !== null) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4135 table += '<td number="' + num + '"><span>' + toPrettyString(num) + rest + '</span></td>';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4136 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4137 table += '<td><span>' + value + '</span></td>';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4138 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4139 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4140 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4141 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4142 return table;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4143 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4144
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4145 function getSubRows(subReports, groupName, metricName) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4146 rows = [];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4147 if (subReports) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4148 for (var report_n = 0; report_n < subReports.length; report_n++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4149 subReport = subReports[report_n];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4150 for (var group_n = 0; group_n < subReport.length; group_n++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4151 if (subReport[group_n][0] != groupName)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4152 continue;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4153 metrics = subReport[group_n][1];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4154 for (var metric_n = 0; metric_n < metrics.length; metric_n++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4155 if (metrics[metric_n].metricName == metricName)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4156 rows.push(metrics[metric_n])
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4157 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4158 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4159 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4160 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4161 return rows;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4162 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4163
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4164 function buildTotalReport(assembliesNames, totalReport, order, glossary, qualities, mainMetrics) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4165 var report = totalReport.report,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4166 date = totalReport.date,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4167 minContig = totalReport.minContig,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4168 referenceName = totalReport.referenceName,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4169 subReports = totalReport.subreports,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4170 subReferences = totalReport.subreferences;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4171 $('#report_date').html('<p>' + date + '</p>');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4172 var extraInfo = '<p>All statistics are based on contigs of size >= ' + minContig +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4173 '<span class="rhs">&nbsp;</span>bp, unless otherwise noted (e.g., "# contigs (>= 0 bp)" and "Total length (>= 0 bp)" include all contigs).</p>';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4174 $('#extrainfo').html(extraInfo);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4175 $('#plot-caption').show();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4176
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4177 var table = '';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4178 table += '<table cellspacing="0" class="report_table draggable" id="main_report_table">';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4179
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4180 if (referenceName) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4181 $('#reference_name').show().find('.val').html(referenceName);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4182 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4183
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4184 if (report[0][0] == 'Genome statistics') { // if first section is empty (no reference), swap it and w/o reference statistics
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4185 var genomeMetrics = report[0][1];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4186 var isSectionEmpty = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4187 for (var index = 0; index < genomeMetrics.length; index++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4188 if (genomeMetrics[index].isMain || $.inArray(genomeMetrics[index].metric_name, mainMetrics) > -1)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4189 isSectionEmpty = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4190 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4191 if (isSectionEmpty) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4192 for (var group_n = 0; group_n < report.length; group_n++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4193 if (report[group_n][0] == 'Statistics without reference') {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4194 report[0] = report.splice(group_n, 1, report[0])[0];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4195 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4196 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4197 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4198 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4199
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4200 for (var group_n = 0; group_n < report.length; group_n++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4201 var group = report[group_n];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4202 var groupName = group[0];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4203 var metrics = group[1];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4204 var width = assembliesNames.length + 1;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4205
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4206 if (groupName == 'Reference statistics') {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4207 var referenceValues = {};
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4208 for (var metric_n = 0; metric_n < metrics.length; metric_n++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4209 var metric = metrics[metric_n];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4210 var metricName = metric.metricName;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4211 var value = metric.values[0];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4212 referenceValues[metricName] = value;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4213 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4214 var refLen = referenceValues['Reference length'];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4215 var refFragments = referenceValues['Reference fragments'];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4216 var refGC = referenceValues['Reference GC (%)'];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4217 var refFeatures = referenceValues['Reference genomic features'];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4218 var refOperons = referenceValues['Reference operons'];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4219 var refChr = referenceValues['Reference chromosomes'];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4220 var totalReads = referenceValues['# total reads'];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4221 var refMappedReads = referenceValues['Reference mapped (%)'];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4222 var refPairedReads = referenceValues['Reference properly paired (%)'];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4223 var estRefLen = referenceValues['Estimated reference length'];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4224
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4225 if (refLen)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4226 $('#reference_length').show().find('.val').html(toPrettyString(refLen));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4227 else if (estRefLen)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4228 $('#est_reference_length').show().find('.val').html(toPrettyString(estRefLen));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4229 if (refFragments) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4230 $('#reference_fragments').show().find('.val').html(refFragments);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4231 if (refFragments > 1)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4232 $('#reference_fragments').find('.plural_ending').show();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4233 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4234 if (refGC)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4235 $('#reference_gc').show().find('.val').html(toPrettyString(refGC));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4236 if (refFeatures)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4237 $('#reference_features').show().find('.val').html(toPrettyString(refFeatures));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4238 if (refOperons)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4239 $('#reference_operons').show().find('.val').html(toPrettyString(refOperons));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4240 if (refChr) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4241 $('#reference_chr').show().find('.val').html(refChr);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4242 if (refChr > 1)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4243 $('#reference_chr').find('.plural_ending').show();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4244 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4245 if (totalReads)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4246 $('#total_reads').show().find('.val').html(toPrettyString(totalReads));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4247 if (refMappedReads !== undefined)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4248 $('#reference_mapped_reads').show().find('.val').html(toPrettyString(refMappedReads));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4249 if (refPairedReads !== undefined)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4250 $('#reference_paired_reads').show().find('.val').html(toPrettyString(refPairedReads));
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4251 continue;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4252 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4253
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4254 if (group_n == 0) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4255 table += '<tr class="top_row_tr"><td id="top_left_td" class="left_column_td"><span>' + groupName + '</span></td>';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4256
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4257 for (var assembly_n = 0; assembly_n < assembliesNames.length; assembly_n++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4258 var assemblyName = assembliesNames[order[assembly_n]];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4259 if (assemblyName.length > 30) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4260 assemblyName =
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4261 '<span class="tooltip-link" rel="tooltip" title="' + assemblyName + '">' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4262 assemblyName.trunc(30) +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4263 '</span>'
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4264 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4265
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4266 table += '<td class="second_through_last_col_headers_td" position="' + order[assembly_n] + '">' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4267 '<span class="drag_handle"><span class="drag_image"></span></span>' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4268 '<span class="assembly_name">' + assemblyName + '</span>' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4269 '</td>';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4270 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4271
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4272 } else {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4273 table +=
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4274 '<tr class="group_header row_to_hide row_hidden group_empty" id="group_' + group_n + '">' +
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4275 '<td class="left_column_td"><span>' + groupName + '</span></td>'; //colspan="' + width + '"
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4276 for (var i = 1; i < width; i++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4277 table += '<td></td>';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4278 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4279 table += '</tr>';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4280 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4281
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4282 for (metric_n = 0; metric_n < metrics.length; metric_n++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4283 isExpandable = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4284 isPrimary = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4285 metricName = metrics[metric_n].metricName;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4286 subRows = getSubRows(subReports, groupName, metricName);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4287 if (subRows && subRows.length > 0) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4288 isExpandable = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4289 table += addRow(metrics[metric_n], mainMetrics, metricName, group_n, order, glossary, isExpandable, isPrimary);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4290 for (var rows_n = 0; rows_n < subRows.length; rows_n++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4291 isExpandable = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4292 isPrimary = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4293 table += addRow(subRows[rows_n], mainMetrics, subReferences[rows_n], group_n, order, glossary, isExpandable, isPrimary);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4294 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4295 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4296 else table += addRow(metrics[metric_n], mainMetrics, metricName, group_n, order, glossary, isExpandable, isPrimary);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4297 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4298 table += '</tr>';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4299 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4300 table += '</table>';
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4301
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4302 table += buildExtendedLinkClick();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4303
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4304 setUpHeatMap(table);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4305 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4306
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4307 </script>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4308
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4309
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4310 <script type="text/javascript">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4311
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4312 function buildReport() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4313 var assembliesNames;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4314 var order;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4315
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4316 var totalReport = null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4317 var qualities = null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4318 var mainMetrics = null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4319 var contigsLens = null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4320 var coordNx = null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4321 var contigsLensNx = null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4322 var alignedContigsLens = null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4323 var refLengths = null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4324 var contigs = null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4325 var featuresInContigs = null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4326 var operonsInContigs = null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4327 var gcInfos = null;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4328
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4329 var glossary = JSON.parse($('#glossary-json').html());
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4330
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4331 var plotsSwitchesDiv = document.getElementById('plots-switches');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4332 var toRemoveRefLabel = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4333 var firstPlot = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4334
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4335 /****************/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4336 /* Total report */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4337
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4338 if (!(totalReport = readJson('total-report'))) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4339 console.log("Error: cannot read #total-report-json");
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4340 return 1;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4341 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4342
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4343 assembliesNames = totalReport.assembliesNames;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4344
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4345 order = recoverOrderFromCookies() || totalReport.order || Range(0, assembliesNames.length);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4346
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4347 buildTotalReport(assembliesNames, totalReport, order, glossary, qualities, mainMetrics);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4348
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4349 if (refLengths = readJson('reference-length'))
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4350 refLengths = refLengths.reflen;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4351
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4352 /****************/
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4353 /* Plots */
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4354
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4355 while (assembliesNames.length > colors.length) { // colors is defined in utils.js
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4356 colors = colors.concat(colors);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4357 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4358
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4359 $(plotsSwitchesDiv).html('<b>Plots:</b>');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4360
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4361 var selectedAssemblies = Array.apply(null, {length: assembliesNames}).map(Number.call, Number);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4362 assembliesNames.forEach(function(filename, i) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4363 addLabelToLegend(i, filename, selectedAssemblies, colors)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4364 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4365
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4366 var tickX = 1;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4367 if (tickX = readJson('tick-x'))
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4368 tickX = tickX.tickX;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4369
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4370 if (contigsLens = readJson('contigs-lengths')) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4371 makePlot(firstPlot, assembliesNames, order, 'cumulative', 'Cumulative length', cumulative.draw, contigsLens.lists_of_lengths, refLengths, tickX);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4372 firstPlot = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4373 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4374
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4375 if (coordNx = readJson('coord-nx')) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4376 makePlot(firstPlot, assembliesNames, order, 'nx', 'Nx', nx.draw, {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4377 coord_x: coordNx.coord_x,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4378 coord_y: coordNx.coord_y,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4379 filenames: coordNx.filenames
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4380 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4381 null, null
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4382 );
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4383 firstPlot = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4384 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4385
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4386 if (coordNx = readJson('coord-nax')) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4387 makePlot(firstPlot, assembliesNames, order, 'nax', 'NAx', nx.draw, {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4388 coord_x: coordNx.coord_x,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4389 coord_y: coordNx.coord_y,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4390 filenames: coordNx.filenames
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4391 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4392 null, null
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4393 );
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4394 firstPlot = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4395 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4396
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4397 if (coordNx = readJson('coord-ngx')) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4398 makePlot(firstPlot, assembliesNames, order, 'ngx', 'NGx', nx.draw, {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4399 coord_x: coordNx.coord_x,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4400 coord_y: coordNx.coord_y,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4401 filenames: coordNx.filenames
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4402 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4403 null, null
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4404 );
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4405 firstPlot = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4406 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4407
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4408 if (coordNx = readJson('coord-ngax')) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4409 makePlot(firstPlot, assembliesNames, order, 'ngax', 'NGAx', nx.draw, {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4410 coord_x: coordNx.coord_x,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4411 coord_y: coordNx.coord_y,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4412 filenames: coordNx.filenames
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4413 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4414 null, null
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4415 );
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4416 firstPlot = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4417 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4418
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4419 if (coordMisassemblies = readJson('coord-misassemblies')) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4420 makePlot(firstPlot, assembliesNames, order, 'misassemblies', 'Misassemblies', frc.draw, {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4421 coord_x: coordMisassemblies.coord_x,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4422 coord_y: coordMisassemblies.coord_y,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4423 filenames: coordMisassemblies.filenames
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4424 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4425 null, 1
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4426 );
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4427 firstPlot = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4428 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4429
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4430 featuresInContigs = readJson('features-in-contigs');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4431 operonsInContigs = readJson('operons-in-contigs');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4432 // if (genesInContigs || operonsInContigs)
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4433 // contigs = readJson('contigs');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4434
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4435 if (featuresInContigs) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4436 makePlot(firstPlot, assembliesNames, order, 'features', 'Genomic features', gns.draw, {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4437 filesFeatureInContigs: featuresInContigs.features_in_contigs,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4438 kind: 'gene',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4439 filenames: featuresInContigs.filenames
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4440 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4441 featuresInContigs.ref_features_number, tickX
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4442 );
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4443 firstPlot = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4444 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4445 if (operonsInContigs) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4446 makePlot(firstPlot, assembliesNames, order, 'operons', 'Operons', gns.draw, {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4447 filesFeatureInContigs: operonsInContigs.operons_in_contigs,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4448 kind: 'operon',
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4449 filenames: operonsInContigs.filenames
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4450 },
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4451 operonsInContigs.ref_operons_number, tickX
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4452 );
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4453 firstPlot = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4454 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4455 gcInfos = readJson('gc');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4456 if (gcInfos && (gcInfos.lists_of_gc_info || gcInfos.list_of_GC_distributions)) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4457 makePlot(firstPlot, assembliesNames, order, 'gc', 'GC content', gc.draw, gcInfos, gcInfos.reference_index);
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4458 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4459
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4460 var noReference = true;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4461 var report = totalReport.report;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4462 for (var group_n = 0; group_n < report.length; group_n++) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4463 var group = report[group_n];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4464 var groupName = group[0];
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4465 if (groupName == 'Reference statistics' && group[1].length > 0) {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4466 noReference = false;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4467 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4468 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4469 if (noReference) extendAll();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4470 appendIcarusLinks();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4471 return 0;
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4472 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4473
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4474 function extendAll() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4475 $('.row_to_hide').toggleClass('row_hidden');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4476
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4477 var link = $('#extended_report_link');
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4478 link.hide();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4479 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4480 </script>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4481
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4482
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4483 <script type="text/javascript">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4484 $(function() {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4485
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4486 buildReport();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4487
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4488 dragTable.init();
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4489
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4490 $("[rel=tooltip]").tooltip({ animation: false, });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4491 });
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4492 </script>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4493 </head>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4494
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4495 <body>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4496 <div class="top-panel">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4497 <table class="layout-table">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4498 <tr>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4499 <td class='layout-table-td'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4500 <div class="page_title">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4501 <h1>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4502 QUAST
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4503 </h1>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4504 <p class="page_subtitle">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4505 <b>Quality Assessment Tool for Genome Assemblies</b>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4506 by <a href="http://cab.spbu.ru" class='dark_bg_link'>CAB</a>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4507 </p>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4508 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4509 </td>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4510 </tr>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4511 </table>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4512 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4513 <div class="content">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4514 <div id='header'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4515 <p id='report_date'></p>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4516
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4517 <p id='icarus'></p>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4518 <p id='extrainfo'>Loading...</p>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4519 <p id='per_ref_msg'></p>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4520 <p id='krona'></p>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4521
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4522 <p id="data_set_p">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4523 <span style="display: none;" id="reference_name">Aligned to
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4524 "<span class='val'></span>"
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4525 </span>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4526
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4527 <span style="display: none;" id="combined_reference_name">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4528 Combined reference
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4529 </span>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4530
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4531 <span style="display: none;" id="est_reference_length">Estimated reference size:
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4532 <span class='val'></span><span class='rhs'>&nbsp;</span>bp
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4533 </span>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4534
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4535 <span style="display: none;" id="reference_length">|
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4536 <span class='val'></span><span class='rhs'>&nbsp;</span>bp
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4537 </span>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4538
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4539 <span style="display: none;" id="combined_reference_files">|
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4540 <span class='val'></span><span class='rhs'>&nbsp;</span>reference<span style="display: none;" class='plural_ending'>s</span>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4541 </span>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4542
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4543 <span style="display: none;" id="reference_fragments">|
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4544 <span class='val'></span><span class='rhs'>&nbsp;</span>fragment<span style="display: none;" class='plural_ending'>s</span>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4545 </span>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4546
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4547 <span style="display: none;" id="reference_gc">|
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4548 <span class='val'></span><span class='rhs'>&nbsp;</span>% G+C
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4549 </span>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4550
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4551 <span style="display: none;" id="reference_chr">|
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4552 <span class='val'></span> chromosome<span style="display: none;" class='plural_ending'>s</span>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4553 </span>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4554
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4555 <span style="display: none;" id="total_reads"><br>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4556 <span class='val'></span> reads
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4557 </span>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4558
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4559 <span style="display: none;" id="reference_mapped_reads">|
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4560 <span class='val'></span>% mapped
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4561 </span>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4562
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4563 <span style="display: none;" id="reference_paired_reads">|
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4564 <span class='val'></span>% properly paired
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4565 </span>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4566
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4567 <span style="display: none;" id="reference_features"><br>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4568 <span class='val'></span> genomic features
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4569 </span>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4570
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4571 <span style="display: none;" id="reference_operons">|
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4572 <span class='val'></span> operons
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4573 </span>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4574 </p>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4575 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4576
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4577 <noscript>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4578 <div style="margin-left: 0;">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4579 Unfortunately, <span style="font-weight: bold">JavaScript</span> in your
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4580 browser <span style="font-weight: bold">is disabled</span> or is not supported.</br>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4581 We need JavaScript to build report and plots.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4582 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4583 </noscript>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4584
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4585 <div class='report-and-plots'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4586 <div class='report' id='main_report'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4587 <div id="heatmap_header" style='display: none; float: left;'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4588 <div style="padding-right: 10px; display: inline-block; vertical-align:top;">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4589 <canvas id="gradientHeatmap" width="150" height="6"></canvas>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4590 <div style="margin-left: 0; text-align: justify;">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4591 <span class="heatmap_legend">Worst</span>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4592 <span style="margin-left: -5px;" class="heatmap_legend">Median</span>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4593 <span class="heatmap_legend">Best</span>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4594 <span class="heatmap_legend" style='width: 100%; height: 0;'></span>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4595 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4596 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4597 <label for="heatmaps_chbox"><input type="checkbox" checked="checked" id="heatmaps_chbox">Show heatmap</label>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4598 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4599 <div style="clear: both;"></div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4600 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4601 <div class='plots'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4602 <table style='margin: -3px;'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4603 <tr id='all-switches'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4604 <td>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4605 <div id='plots-switches'></div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4606 </td>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4607 <td style='text-align: right; padding-right: 22px;'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4608 <span id='scale-placeholder'></span>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4609 </td>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4610 </tr>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4611 <tr>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4612 <td colspan="2">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4613 <div id='plot-placeholder' style=''></div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4614 </td>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4615 <td>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4616 <div id='legend-placeholder'></div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4617 </td>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4618 </tr>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4619 <tr>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4620 <td colspan="3" id="plot-caption" style="display: none;">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4621 <p id="contigs_are_ordered">Contigs are ordered from largest (contig #1) to smallest.</p>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4622 <p id="frc_info">FRCurve:
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4623 Y is the total number of aligned bases divided by the reference length,
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4624 in the contigs having the total number of <span class="frc_plot_name"></span> at most X.</p>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4625 <p id="gc_info">Contigs are broken into nonoverlapping 100 bp windows.
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4626 Plot shows number of windows for each GC percentage.</p>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4627 <p id="gc_contigs_info">Plot shows number of contigs with GC percentage in a certain range.</p>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4628 </td>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4629 </tr>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4630 </table>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4631 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4632
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4633 <p>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4634 <span id="main_ref_genome"></span>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4635 </p>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4636
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4637 <div style="clear: left"></div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4638 <div style="clear: right"></div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4639
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4640 <div class='json-code'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4641 <div id='total-report-json'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4642 {"date":"12 April 2023, Wednesday, 09:50:51","assembliesNames":["TEST"],"referenceName":"","order":[0],"report":[["Genome statistics",[{"metricName":"Complete BUSCO (%)","quality":"More is better","values":["0.00"],"isMain":true},{"metricName":"Partial BUSCO (%)","quality":"Less is better","values":["0.00"],"isMain":true}]],["Reads mapping",[]],["Misassemblies",[]],["Unaligned",[]],["Mismatches",[{"metricName":"# N's per 100 kbp","quality":"Less is better","values":["0.00"],"isMain":true},{"metricName":"# N's","quality":"Less is better","values":[0],"isMain":false}]],["Statistics without reference",[{"metricName":"# contigs","quality":"Equal","values":[62],"isMain":true},{"metricName":"# contigs (>= 0 bp)","quality":"Equal","values":[100],"isMain":false},{"metricName":"# contigs (>= 1000 bp)","quality":"Equal","values":[58],"isMain":false},{"metricName":"# contigs (>= 5000 bp)","quality":"Equal","values":[48],"isMain":false},{"metricName":"# contigs (>= 10000 bp)","quality":"Equal","values":[41],"isMain":false},{"metricName":"# contigs (>= 25000 bp)","quality":"Equal","values":[28],"isMain":false},{"metricName":"# contigs (>= 50000 bp)","quality":"Equal","values":[20],"isMain":false},{"metricName":"Largest contig","quality":"More is better","values":[436224],"isMain":true},{"metricName":"Total length","quality":"More is better","values":[3017519],"isMain":true},{"metricName":"Total length (>= 0 bp)","quality":"More is better","values":[3027634],"isMain":false},{"metricName":"Total length (>= 1000 bp)","quality":"More is better","values":[3015201],"isMain":true},{"metricName":"Total length (>= 5000 bp)","quality":"More is better","values":[2996428],"isMain":false},{"metricName":"Total length (>= 10000 bp)","quality":"More is better","values":[2944723],"isMain":true},{"metricName":"Total length (>= 25000 bp)","quality":"More is better","values":[2735277],"isMain":false},{"metricName":"Total length (>= 50000 bp)","quality":"More is better","values":[2421445],"isMain":true},{"metricName":"N50","quality":"More is better","values":[99915],"isMain":false},{"metricName":"N90","quality":"More is better","values":[27780],"isMain":false},{"metricName":"auN","quality":"More is better","values":["154096.4"],"isMain":false},{"metricName":"L50","quality":"Less is better","values":[8],"isMain":false},{"metricName":"L90","quality":"Less is better","values":[28],"isMain":false},{"metricName":"GC (%)","quality":"Equal","values":["37.31"],"isMain":false}]],["K-mer-based statistics",[]],["Predicted genes",[]],["Similarity statistics",[]],["Reference statistics",[]]],"subreferences":[],"subreports":[],"minContig":500}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4643 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4644 <div id='qualities-json'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4645 {{ qualities }}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4646 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4647 <div id='main-metrics-json'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4648 {{ mainMetrics }}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4649 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4650
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4651 <div id="contigs-lengths-json">
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4652 {"filenames":["TEST"],"lists_of_lengths":[[436224,252900,206370,168397,132811,115359,113419,99915,97190,92075,86662,82418,81741,81694,71911,66886,64537,62649,55461,52826,48115,47790,45935,44497,35306,35051,29358,27780,24296,23952,18776,17346,16026,15602,15587,15306,13750,13168,12357,12074,11206,9892,8939,7812,6929,6828,5969,5336,3276,2262,2083,1817,1775,1642,1578,1526,1515,1299,652,607,534,525]]}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4653 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4654 <div id='assemblies-lengths-json'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4655 {{ assembliesLengths }}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4656 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4657 <div id='reference-length-json'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4658 {{ referenceLength }}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4659 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4660 <div id='tick-x-json'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4661 {"tickX":1}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4662 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4663 <div id='coord-nx-json'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4664 {"coord_x":[[0.0,1e-10,14.45637956215023,14.45637956225023,22.8374369805128,22.837436980612797,29.676499137205102,29.6764991373051,35.25714336844275,35.25714336854275,39.65847439568732,39.65847439578732,43.48144949542986,43.48144949552986,47.24013336784292,47.240133367942924,50.55129727435022,50.55129727445022,53.772155204325145,53.77215520442515,56.82350301688241,56.823503016982414,59.6954650492673,59.6954650493673,62.426781736916986,62.42678173701699,65.13566277461716,65.13566277471716,67.84298624134595,67.84298624144596,70.22610296737155,70.22610296747155,72.44269215869063,72.44269215879063,74.58143594124843,74.58143594134843,76.65761176648763,76.65761176658764,78.49557865252878,78.49557865262878,80.24622214474871,80.24622214484872,81.84074400194332,81.84074400204332,83.42449542156984,83.42449542166985,84.94677249753855,84.94677249763855,86.42139452974448,86.42139452984448,87.59142858752504,87.59142858762505,88.75301199429067,88.75301199439068,89.72593047467142,89.72593047477142,90.64655433818312,90.64655433828312,91.451719110965,91.451719111065,92.24548378982867,92.24548378992867,92.86771682299266,92.86771682309266,93.4425599308571,93.4425599309571,93.97365849229118,93.97365849239118,94.4907057751749,94.4907057752749,95.0072559609401,95.0072559610401,95.5144938606849,95.5144938607849,95.97016621933449,95.97016621943449,96.40655120978526,96.40655120988527,96.81605981602767,96.81605981612768,97.21618985663387,97.21618985673388,97.58755454398133,97.58755454408133,97.91537352374583,97.91537352384583,98.21161026657992,98.21161026667993,98.4704984459087,98.4704984460087,98.7001241748602,98.70012417496021,98.92640278321363,98.92640278331363,99.12421429657941,99.12421429667941,99.30104831154335,99.30104831164336,99.40961432222961,99.40961432232962,99.48457656770347,99.48457656780347,99.5536067875629,99.5536067876629,99.61382181852045,99.61382181862045,99.67264497754613,99.67264497764613,99.72706054212087,99.72706054222087,99.77935515898989,99.77935515908989,99.82992650584802,99.82992650594802,99.88013331481923,99.88013331491923,99.92318192528366,99.92318192538366,99.94478908003562,99.94478908013562,99.964904943432,99.964904943532,99.98260160085157,99.98260160095157,100.0,100.0000000001]],"coord_y":[[436224,436224,436224,252900,252900,206370,206370,168397,168397,132811,132811,115359,115359,113419,113419,99915,99915,97190,97190,92075,92075,86662,86662,82418,82418,81741,81741,81694,81694,71911,71911,66886,66886,64537,64537,62649,62649,55461,55461,52826,52826,48115,48115,47790,47790,45935,45935,44497,44497,35306,35306,35051,35051,29358,29358,27780,27780,24296,24296,23952,23952,18776,18776,17346,17346,16026,16026,15602,15602,15587,15587,15306,15306,13750,13750,13168,13168,12357,12357,12074,12074,11206,11206,9892,9892,8939,8939,7812,7812,6929,6929,6828,6828,5969,5969,5336,5336,3276,3276,2262,2262,2083,2083,1817,1817,1775,1775,1642,1642,1578,1578,1526,1526,1515,1515,1299,1299,652,652,607,607,534,534,525,525,0.0]],"filenames":["TEST"]}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4665 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4666 <div id='coord-ngx-json'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4667 {{ coordNGx }}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4668 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4669 <div id='coord-nax-json'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4670 {{ coordNAx }}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4671 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4672 <div id='coord-ngax-json'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4673 {{ coordNGAx }}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4674 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4675 <div id='coord-misassemblies-json'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4676 {{ coordmisassemblies }}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4677 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4678 <div id='features-in-contigs-json'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4679 {{ featuresInContigs }}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4680 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4681 <div id='operons-in-contigs-json'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4682 {{ operonsInContigs }}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4683 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4684 <div id='summary-json'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4685 [{{ num_contigs }},
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4686 {{ Largest_alignment }},
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4687 {{ Total_aligned_length }},
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4688 {{ num_misassemblies }},
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4689 {{ Misassembled_contigs_length }},
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4690 {{ num_mismatches_per_100_kbp }},
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4691 {{ num_indels_per_100_kbp }},
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4692 {{ num_N's_per_100_kbp }},
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4693 {{ Genome_fraction }},
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4694 {{ Duplication_ratio }},
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4695 {{ NGA50 }}]
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4696 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4697 <div id='misassemblies-json'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4698 {{ allMisassemblies }}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4699 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4700 <div id='krona-json'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4701 {{ krona }}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4702 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4703 <div id='gc-json'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4704 {"filenames":["TEST"],"reference_index":null,"list_of_GC_distributions":[[[0.0,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,21.0,22.0,23.0,24.0,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,33.0,34.0,35.0,36.0,37.0,38.0,39.0,40.0,41.0,42.0,43.0,44.0,45.0,46.0,47.0,48.0,49.0,50.0,51.0,52.0,53.0,54.0,55.0,56.0,57.0,58.0,59.0,60.0,61.0,62.0,63.0,64.0,65.0,66.0,67.0,68.0,69.0,70.0,71.0,72.0,73.0,74.0,75.0,76.0,77.0,78.0,79.0,80.0,81.0,82.0,83.0,84.0,85.0,86.0,87.0,88.0,89.0,90.0,91.0,92.0,93.0,94.0,95.0,96.0,97.0,98.0,99.0,100.0],[0,0,0,0,0,0,0,0,1,0,0,1,2,1,1,8,9,12,23,35,61,95,116,157,220,277,347,457,580,713,942,1109,1276,1469,1593,1822,1890,1935,1942,1965,1885,1759,1570,1320,1103,862,701,537,433,295,196,142,95,82,45,30,22,15,10,6,5,1,2,1,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]]],"list_of_GC_contigs_distributions":[[[0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100],[0,0,0,0,0,1,12,44,2,1,2,0,0,0,0,0,0,0,0,0,0]]],"lists_of_gc_info":null}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4705 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4706 <div id='icarus-json'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4707 {"links":["icarus_viewers/contig_size_viewer.html"],"links_names":["View in Icarus contig browser"]}
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4708 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4709 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4710 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4711
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4712 <div class='json-code'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4713 <div id='glossary-json'>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4714 {
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4715 "# contigs" : "<span>is the total number of contigs in the assembly.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4716 "Largest contig" : "<span>is the length of the longest contig in the assembly.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4717 "Total length" : "<span>is the total number of bases in the assembly.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4718 "Reference length" : "<span>is the total number of bases in the reference.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4719
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4720 "# contigs (>= 0 bp)" : "<span>is the total number of contigs in the assembly that have size greater than or equal to 0 bp.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4721 "Total length (>= 0 bp)" : "<span>is the total number of bases in the contigs having size greater than or equal to 0 bp.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4722
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4723 "N50" : "<span>is the contig length such that using longer or equal length contigs produces half (50%) of the bases of the assembly. Usually there is no value that produces exactly 50%, so the technical definition is the maximum length x such that using contigs of length at least x accounts for at least 50% of the total assembly length. Similarly, Nx for any x between 0 and 100 could be computed (x% of assembly).</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4724 "NG50" : "<span>is the contig length such that using longer or equal length contigs produces half (50%) of the bases of the reference genome. This metric is computed only if a reference genome is provided. Similarly, NGx for any x between 0 and 100 could be computed (x% of the reference).</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4725
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4726 "L50" : "<span>is the minimum number of contigs that produce half (50%) of the bases of the assembly. In other words, it's the number of contigs of length at least N50. Similarly, Lx for any x between 0 and 100 could be computed.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4727 "LG50" : "<span>is the minimum number of contigs that produce half (50%) of the bases of the reference genome. In other words, it's the number of contigs of length at least NG50. This metric is computed only if a reference genome is provided. Similarly, LGx for any x between 0 and 100 could be computed.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4728
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4729 "NA50" : "<span>is N50 where the lengths of aligned blocks are counted instead of contig lengths. I.e., if a contig has a misassembly with respect to the reference, the contig is broken into smaller pieces. This metric is computed only if a reference genome is provided. Similarly, NAx for any x between 0 and 100 could be computed.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4730 "NGA50" : "<span>is NG50 where the lengths of aligned blocks are counted instead of contig lengths. I.e., if a contig has a misassembly with respect to the reference, the contig is broken into smaller pieces. This metric is computed only if a reference genome is provided. Similarly, NGAx for any x between 0 and 100 could be computed.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4731
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4732 "LA50" : "<span>is L50 where aligned blocks are counted instead of contigs. I.e., if a contig has a misassembly with respect to the reference, the contig is broken into smaller pieces. Similarly, LAx for any x between 0 and 100 could be computed.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4733 "LGA50" : "<span>is LG50 where aligned blocks are counted instead of contigs. I.e., if a contig has a misassembly with respect to the reference, the contig is broken into smaller pieces. Similarly, LGAx for any x between 0 and 100 could be computed.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4734
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4735 "auN" : "<span>is the area under the Nx curve.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4736 "auNG" : "<span>is the area under the NGx curve.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4737 "auNA" : "<span>is the area under the NAx curve.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4738 "auNGA" : "<span>is the area under the NGAx curve.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4739
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4740 "Average %IDY" : "<span>is the average of alignment identity percent (alignment accuracy) among all contigs.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4741 "# misassemblies" : "<span>is the number of positions in the assembled contigs where the left flanking sequence aligns over 1 kbp away from the right flanking sequence on the reference (<i>relocation</i>) or they overlap on more than 1 kbp (<i>relocation</i>) or flanking sequences align on different strands (<i>inversion</i>) or different chromosomes (<i>translocation</i>).</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4742 "# large block misassemblies" : "<span>is the number of misassemblies between alignments with length greater than or equal to 3 kbp and with the misassembly threshold equal to 5 kbp (instead of default 1 kbp for regular misassemblies).</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4743 "# misassembled contigs" : "<span>is the number of contigs that contain misassembly events.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4744 "Misassembled contigs length" : "<span>is the number of total bases contained in all contigs that have one or more misassemblies.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4745
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4746 "# relocations" : "<span>is the number of relocation events among all misassembly events. Relocation is a misassembly where the left flanking sequence aligns over 1 kbp away from the right flanking sequence on the reference, or they overlap by more than 1 kbp and both flanking sequences align on the same chromosome.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4747 "# translocations" : "<span>is the number of translocation events among all misassembly events. Translocation is a misassembly where the flanking sequences align on different chromosomes.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4748 "# interspecies translocations" : "<span>is the number of interspecies translocation events among all misassembly events. Interspecies translocation is a misassembly where the flanking sequences align on different references (based on alignments to the combined reference).</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4749 "# inversions" : "<span>is the number of inversion events among all misassembly events. Inversion is a misassembly where it is not a <i>relocation</i> and the flanking sequences align on opposite strands of the same chromosome.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4750 "# large relocations" : "<span>is the number of relocation events among all large block misassemblies. Relocation is a misassembly where the left flanking sequence aligns over 5 kbp away from the right flanking sequence on the reference, or they overlap by more than 5 kbp and both flanking sequences align on the same chromosome.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4751 "# large translocations" : "<span>is the number of translocation events among all large block misassemblies. Translocation is a misassembly where the flanking sequences align on different chromosomes.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4752 "# large i/s translocations" : "<span>is the number of interspecies translocation events among all large block misassemblies. Interspecies translocation is a misassembly where the flanking sequences align on different references (based on alignments to the combined reference).</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4753 "# large inversions" : "<span>is the number of inversion events among all large block misassemblies. Inversion is a misassembly where it is not a <i>relocation</i> and the flanking sequences align on opposite strands of the same chromosome.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4754 "# local misassemblies" : "<span>is the number of local misassemblies. We define a local misassembly breakpoint as a breakpoint that satisfies these conditions: <ol> <li>Two or more distinct alignments cover the breakpoint.</li> <li>The gap between left and right flanking sequences is less than the misassembly threshold (1 kbp by default).</li> <li>The left and right flanking sequences both are on the same strand of the same chromosome of the reference genome.</li> </ol> </span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4755 "# scaffold gap ext. mis." : "<span>is the number of scaffold gap size extensive misassemblies. We define a scaffold gap size misassembly as a breakpoint where the flanking sequences are combined in a scaffold on the wrong distance. These misassemblies are not included in the total number of misassemblies. </span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4756 "# scaffold gap loc. mis." : "<span>is the number of scaffold gap size local misassemblies. Such breakpoints satisfy the local misassembly conditions but they occur inside scaffolds. These misassemblies are not included in the total number of local misassemblies. </span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4757 "# possibly misassembled contigs": "<span>is the number of contigs that contain large unaligned fragment (default min length is 500 bp) and thus could possibly contain interspecies translocation with unknown reference.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4758 "# possible misassemblies" : "<span>is the number of putative interspecies translocations in possibly misassembled contigs if each large unaligned fragment is supposed to be a fragment of unknown reference.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4759 "# intergenomic misassemblies" : "<span>is the number of all found and putative (possible) interspecies translocations.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4760 "# structural variations" : "<span>is the number of misassemblies matched with structural variations.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4761 "# possible TEs" : "<span>is the number of misassemblies possibly caused by transposable elements (TEs). We define a possible TE as an event that satisfies these conditions: <ol> <li>There are two misassembly breakpoints of the same type around a short alignment (less than 7 kbp by default)</li> <li>The gap between two long flanking sequences on the sides of the short alignment is less than 7 kbp.</li> <li> The long flanking sequences both are on the same strand of the same chromosome of the reference genome.</li> </ol> </span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4762 "# unaligned mis. contigs" : "<span>is the number of contigs that have the number of unaligned bases more than 50% of the contig length and a misassembly event in their aligned fragment. Note that such misassemblies are not counted in <i># misassemblies</i> and other <i>misassemblies</i> statistics.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4763
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4764 "# fully unaligned contigs" : "<span>is the number of contigs that have no alignment to the reference sequence.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4765 "Fully unaligned length" : "<span>is the total number of bases contained in all fully unaligned contigs. Uncalled bases (N's) are not counted.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4766 "# partially unaligned contigs" : "<span>is the number of contigs that have at least one alignment to the reference sequence but also have at least one unaligned fragment of length &ge; <i>unaligned-part-size threshold</i> (uncalled bases (N's) are not counted towards the fragment length).</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4767 "Partially unaligned length" : "<span>is the total number of unaligned bases in all partially unaligned contigs. Uncalled bases (N's) are not counted.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4768
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4769 "# ambiguous contigs" : "<span>is the number of contigs that have reference alignments of equal quality in multiple locations on the reference.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4770 "Ambiguous contigs length" : "<span>is the total number of bases contained in all ambiguous contigs.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4771
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4772 "Genome fraction (%)" : "<span>is the total number of aligned bases in the reference, divided by the genome size. A base in the reference genome is counted as aligned if there is at least one contig with at least one alignment to this base. Contigs from repeat regions may map to multiple places, and thus may be counted multiple times in this quantity.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4773 "GC (%)" : "<span>is the total number of G and C nucleotides in the assembly, divided by the total length of the assembly.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4774 "Reference GC (%)" : "<span>is the total number of G and C nucleotides in the reference, divided by the total length of the reference.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4775
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4776 "# mismatches per 100 kbp" : "<span>is the average number of mismatches per 100,000 aligned bases in the assembly.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4777 "# mismatches" : "<span>is the number of mismatches in all aligned bases in the assembly.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4778 "# indels per 100 kbp" : "<span>is the average number of indels per 100,000 aligned bases in the assembly.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4779 "# indels" : "<span>is the number of indels in all aligned bases in the assembly.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4780 "# indels (<= 5 bp)" : "<span>is the number of indels of length less than or equal to 5 bp.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4781 "# indels (> 5 bp)" : "<span>is the number of indels of length greater than 5 bp.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4782 "Indels length" : "<span>is the number of total bases contained in all indels.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4783
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4784 "# genomic features" : "<span>is the number of genomic features (genes, transcripts, CDS) in the assembly (complete and partial), based on a user-provided annotated list of gene positions in the reference genome. A feature counts as 'partially covered' if the assembly contains at least 100 bp of this feature but not the whole feature.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4785 "# operons" : "<span>is the number of operons in the assembly (complete and partial), based on a user-provided annotated list of operon positions in the reference genome. An operon counts as 'partially covered' if the assembly contains at least 100 bp of this operon but not the whole operon.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4786 "# predicted genes (unique)" : "<span>is the number of unique genes in the assembly found by a gene prediction tool.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4787 "# predicted genes (>= 0 bp)" : "<span>is the number of found genes having length greater than or equal to 0 bp.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4788
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4789 "Complete BUSCO (%)" : "<span>is the percent of BUSCO (Universal Single-Copy Ortholog) genes found in the assembly in a complete form.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4790 "Partial BUSCO (%)" : "<span>is the percent of BUSCO (Universal Single-Copy Ortholog) genes found in the assembly in a partial form.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4791
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4792 "Cumulative length" : "<span>plot shows the growth of assembly contig lengths. On the x-axis, contigs are ordered from largest (contig #1) to smallest. The y-axis gives the size of the x largest contigs in the assembly.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4793 "Nx" : "<span>plot shows the Nx metric value as x varies from 0 to 100.</span> <span>Nx is the minimum contig length <b>y</b> such that using contigs of length at least <b>y</b> accounts for at least x% of the total assembly length.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4794 "NGx" : "<span>plot shows the NGx metric value as x varies from 0 to 100.</span> <span>NGx is the minimum contig length <b>y</b> such that using contigs of length at least <b>y</b> accounts for at least x% of the bases of the reference genome. This metric is computed only if a reference genome is provided.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4795 "NAx" : "<span>plot shows the NAx metric value as x varies from 0 to 100.</span> <span>NAx is computed similarly to Nx, but based on lengths of aligned blocks instead of contig lengths. Contigs are broken into aligned blocks at misassembly breakpoints. NAx is the minimum block length <b>y</b> such that using blocks of length at least <b>y</b> accounts for at least x% of the bases of the assembly. This metric is computed only if a reference genome is provided.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4796 "NGAx" : "<span>plot shows the NGAx metric value as x varies from 0 to 100.</span><span>NGAx is computed similarly to NGx, but based on lengths of aligned blocks instead of contig lengths. Contigs are broken at misassembly breakpoints. NGAx is the minimum block length <b>y</b> such that using blocks of length at least <b>y</b> accounts for at least x% of the bases of the reference genome. This metric is computed only if a reference genome is provided.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4797 "GC content" : "<span>plot shows the distribution of GC percentage among the contigs, i.e., the total number of bases in contigs with such GC content. Typically, the distribution is approximately Gaussian. However, for some genomes it is not Gaussian. For assembly projects with contaminants, the GC distribution of the contaminants often differs from the reference genome and may give a superposition of multiple curves with different peaks.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4798
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4799 "Duplication ratio" : "<span>is the total number of aligned bases in the assembly, divided by the total number of aligned bases in the reference (see the <b>Genome fraction (%)</b> metric). If the assembly contains many contigs that cover the same regions of the reference, its <i>Duplication ratio</i> may be much larger than 1. This may occur due to overestimating repeat multiplicities and due to small overlaps between contigs, among other reasons.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4800 "Largest alignment" : "<span>is the length of the largest continuous alignment in the assembly. This metric is always equal to the <i>Largest contig</i> metric but it can be smaller if the largest contig of the assembly contains a misassembly event.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4801 "Total aligned length" : "<span>is the total number of aligned bases in the assembly.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4802 "Avg contig read support" : "<span>is the average coverage of contigs that have large unique alignments to the reference. Read coverage is extracted from contig names (SPAdes/Velvet naming scheme only).</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4803
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4804 "# N's" : "<span>is the total number of uncalled bases (N's) in the assembly.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4805 "# N's per 100 kbp" : "<span>is the average number of uncalled bases (N's) per 100,000 assembly bases.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4806
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4807 "# mapped" : "<span>is the number of reads that mapped to the assembly.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4808 "Mapped (%)" : "<span>is the percent of reads that mapped to the assembly.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4809 "# properly paired" : "<span>is the number of reads that mapped within expected range and orientation of each other to the assembly.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4810 "Properly paired (%)" : "<span>is the percent of reads that mapped within expected range and orientation of each other to the assembly.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4811 "# singletons" : "<span>is the number of reads which do not overlap any other reads.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4812 "Singletons (%)" : "<span>is the percent of reads which do not overlap any other reads.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4813 "# misjoint mates" : "<span>is the number of reads with mate mapped to a different contig.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4814 "Misjoint mates (%)" : "<span>is the percent of reads with mate mapped to a different contig.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4815 "Avg. coverage depth" : "<span>is the average depth of coverage.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4816 "Coverage >= 1x (%)" : "<span>is the total number of bases with at least 1x coverage, divided by the total length of the assembly.</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4817
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4818 "# similar correct contigs" : "<span>is the number of correct contigs similar among > 50% assemblies (see Icarus for visualization).</span>",
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4819 "# similar misassembled blocks" : "<span>is the number of misassembled blocks similar among > 50% assemblies (see Icarus for visualization).</span>"
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4820 }
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4821
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4822 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4823 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4824 </div>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4825 </body>
869509bc478e planemo upload commit 0a5fc6ee1a42b0c1c413de143a01559cb491c2e5-dirty
pimarin
parents:
diff changeset
4826 </html>