##// END OF EJS Templates
collapsable diff container in changeset, makes quick review easier
marcink -
r3419:efc00d36 beta
parent child Browse files
Show More
@@ -1,4835 +1,4851 b''
1 html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td {
1 html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td {
2 border: 0;
2 border: 0;
3 outline: 0;
3 outline: 0;
4 font-size: 100%;
4 font-size: 100%;
5 vertical-align: baseline;
5 vertical-align: baseline;
6 background: transparent;
6 background: transparent;
7 margin: 0;
7 margin: 0;
8 padding: 0;
8 padding: 0;
9 }
9 }
10
10
11 body {
11 body {
12 line-height: 1;
12 line-height: 1;
13 height: 100%;
13 height: 100%;
14 background: url("../images/background.png") repeat scroll 0 0 #B0B0B0;
14 background: url("../images/background.png") repeat scroll 0 0 #B0B0B0;
15 font-family: Lucida Grande, Verdana, Lucida Sans Regular,
15 font-family: Lucida Grande, Verdana, Lucida Sans Regular,
16 Lucida Sans Unicode, Arial, sans-serif; font-size : 12px;
16 Lucida Sans Unicode, Arial, sans-serif; font-size : 12px;
17 color: #000;
17 color: #000;
18 margin: 0;
18 margin: 0;
19 padding: 0;
19 padding: 0;
20 font-size: 12px;
20 font-size: 12px;
21 }
21 }
22
22
23 ol, ul {
23 ol, ul {
24 list-style: none;
24 list-style: none;
25 }
25 }
26
26
27 blockquote, q {
27 blockquote, q {
28 quotes: none;
28 quotes: none;
29 }
29 }
30
30
31 blockquote:before, blockquote:after, q:before, q:after {
31 blockquote:before, blockquote:after, q:before, q:after {
32 content: none;
32 content: none;
33 }
33 }
34
34
35 :focus {
35 :focus {
36 outline: 0;
36 outline: 0;
37 }
37 }
38
38
39 del {
39 del {
40 text-decoration: line-through;
40 text-decoration: line-through;
41 }
41 }
42
42
43 table {
43 table {
44 border-collapse: collapse;
44 border-collapse: collapse;
45 border-spacing: 0;
45 border-spacing: 0;
46 }
46 }
47
47
48 html {
48 html {
49 height: 100%;
49 height: 100%;
50 }
50 }
51
51
52 a {
52 a {
53 color: #003367;
53 color: #003367;
54 text-decoration: none;
54 text-decoration: none;
55 cursor: pointer;
55 cursor: pointer;
56 }
56 }
57
57
58 a:hover {
58 a:hover {
59 color: #316293;
59 color: #316293;
60 text-decoration: underline;
60 text-decoration: underline;
61 }
61 }
62
62
63 h1, h2, h3, h4, h5, h6,
63 h1, h2, h3, h4, h5, h6,
64 div.h1, div.h2, div.h3, div.h4, div.h5, div.h6 {
64 div.h1, div.h2, div.h3, div.h4, div.h5, div.h6 {
65 color: #292929;
65 color: #292929;
66 font-weight: 700;
66 font-weight: 700;
67 }
67 }
68
68
69 h1, div.h1 {
69 h1, div.h1 {
70 font-size: 22px;
70 font-size: 22px;
71 }
71 }
72
72
73 h2, div.h2 {
73 h2, div.h2 {
74 font-size: 20px;
74 font-size: 20px;
75 }
75 }
76
76
77 h3, div.h3 {
77 h3, div.h3 {
78 font-size: 18px;
78 font-size: 18px;
79 }
79 }
80
80
81 h4, div.h4 {
81 h4, div.h4 {
82 font-size: 16px;
82 font-size: 16px;
83 }
83 }
84
84
85 h5, div.h5 {
85 h5, div.h5 {
86 font-size: 14px;
86 font-size: 14px;
87 }
87 }
88
88
89 h6, div.h6 {
89 h6, div.h6 {
90 font-size: 11px;
90 font-size: 11px;
91 }
91 }
92
92
93 ul.circle {
93 ul.circle {
94 list-style-type: circle;
94 list-style-type: circle;
95 }
95 }
96
96
97 ul.disc {
97 ul.disc {
98 list-style-type: disc;
98 list-style-type: disc;
99 }
99 }
100
100
101 ul.square {
101 ul.square {
102 list-style-type: square;
102 list-style-type: square;
103 }
103 }
104
104
105 ol.lower-roman {
105 ol.lower-roman {
106 list-style-type: lower-roman;
106 list-style-type: lower-roman;
107 }
107 }
108
108
109 ol.upper-roman {
109 ol.upper-roman {
110 list-style-type: upper-roman;
110 list-style-type: upper-roman;
111 }
111 }
112
112
113 ol.lower-alpha {
113 ol.lower-alpha {
114 list-style-type: lower-alpha;
114 list-style-type: lower-alpha;
115 }
115 }
116
116
117 ol.upper-alpha {
117 ol.upper-alpha {
118 list-style-type: upper-alpha;
118 list-style-type: upper-alpha;
119 }
119 }
120
120
121 ol.decimal {
121 ol.decimal {
122 list-style-type: decimal;
122 list-style-type: decimal;
123 }
123 }
124
124
125 div.color {
125 div.color {
126 clear: both;
126 clear: both;
127 overflow: hidden;
127 overflow: hidden;
128 position: absolute;
128 position: absolute;
129 background: #FFF;
129 background: #FFF;
130 margin: 7px 0 0 60px;
130 margin: 7px 0 0 60px;
131 padding: 1px 1px 1px 0;
131 padding: 1px 1px 1px 0;
132 }
132 }
133
133
134 div.color a {
134 div.color a {
135 width: 15px;
135 width: 15px;
136 height: 15px;
136 height: 15px;
137 display: block;
137 display: block;
138 float: left;
138 float: left;
139 margin: 0 0 0 1px;
139 margin: 0 0 0 1px;
140 padding: 0;
140 padding: 0;
141 }
141 }
142
142
143 div.options {
143 div.options {
144 clear: both;
144 clear: both;
145 overflow: hidden;
145 overflow: hidden;
146 position: absolute;
146 position: absolute;
147 background: #FFF;
147 background: #FFF;
148 margin: 7px 0 0 162px;
148 margin: 7px 0 0 162px;
149 padding: 0;
149 padding: 0;
150 }
150 }
151
151
152 div.options a {
152 div.options a {
153 height: 1%;
153 height: 1%;
154 display: block;
154 display: block;
155 text-decoration: none;
155 text-decoration: none;
156 margin: 0;
156 margin: 0;
157 padding: 3px 8px;
157 padding: 3px 8px;
158 }
158 }
159
159
160 .top-left-rounded-corner {
160 .top-left-rounded-corner {
161 -webkit-border-top-left-radius: 8px;
161 -webkit-border-top-left-radius: 8px;
162 -khtml-border-radius-topleft: 8px;
162 -khtml-border-radius-topleft: 8px;
163 -moz-border-radius-topleft: 8px;
163 -moz-border-radius-topleft: 8px;
164 border-top-left-radius: 8px;
164 border-top-left-radius: 8px;
165 }
165 }
166
166
167 .top-right-rounded-corner {
167 .top-right-rounded-corner {
168 -webkit-border-top-right-radius: 8px;
168 -webkit-border-top-right-radius: 8px;
169 -khtml-border-radius-topright: 8px;
169 -khtml-border-radius-topright: 8px;
170 -moz-border-radius-topright: 8px;
170 -moz-border-radius-topright: 8px;
171 border-top-right-radius: 8px;
171 border-top-right-radius: 8px;
172 }
172 }
173
173
174 .bottom-left-rounded-corner {
174 .bottom-left-rounded-corner {
175 -webkit-border-bottom-left-radius: 8px;
175 -webkit-border-bottom-left-radius: 8px;
176 -khtml-border-radius-bottomleft: 8px;
176 -khtml-border-radius-bottomleft: 8px;
177 -moz-border-radius-bottomleft: 8px;
177 -moz-border-radius-bottomleft: 8px;
178 border-bottom-left-radius: 8px;
178 border-bottom-left-radius: 8px;
179 }
179 }
180
180
181 .bottom-right-rounded-corner {
181 .bottom-right-rounded-corner {
182 -webkit-border-bottom-right-radius: 8px;
182 -webkit-border-bottom-right-radius: 8px;
183 -khtml-border-radius-bottomright: 8px;
183 -khtml-border-radius-bottomright: 8px;
184 -moz-border-radius-bottomright: 8px;
184 -moz-border-radius-bottomright: 8px;
185 border-bottom-right-radius: 8px;
185 border-bottom-right-radius: 8px;
186 }
186 }
187
187
188 .top-left-rounded-corner-mid {
188 .top-left-rounded-corner-mid {
189 -webkit-border-top-left-radius: 4px;
189 -webkit-border-top-left-radius: 4px;
190 -khtml-border-radius-topleft: 4px;
190 -khtml-border-radius-topleft: 4px;
191 -moz-border-radius-topleft: 4px;
191 -moz-border-radius-topleft: 4px;
192 border-top-left-radius: 4px;
192 border-top-left-radius: 4px;
193 }
193 }
194
194
195 .top-right-rounded-corner-mid {
195 .top-right-rounded-corner-mid {
196 -webkit-border-top-right-radius: 4px;
196 -webkit-border-top-right-radius: 4px;
197 -khtml-border-radius-topright: 4px;
197 -khtml-border-radius-topright: 4px;
198 -moz-border-radius-topright: 4px;
198 -moz-border-radius-topright: 4px;
199 border-top-right-radius: 4px;
199 border-top-right-radius: 4px;
200 }
200 }
201
201
202 .bottom-left-rounded-corner-mid {
202 .bottom-left-rounded-corner-mid {
203 -webkit-border-bottom-left-radius: 4px;
203 -webkit-border-bottom-left-radius: 4px;
204 -khtml-border-radius-bottomleft: 4px;
204 -khtml-border-radius-bottomleft: 4px;
205 -moz-border-radius-bottomleft: 4px;
205 -moz-border-radius-bottomleft: 4px;
206 border-bottom-left-radius: 4px;
206 border-bottom-left-radius: 4px;
207 }
207 }
208
208
209 .bottom-right-rounded-corner-mid {
209 .bottom-right-rounded-corner-mid {
210 -webkit-border-bottom-right-radius: 4px;
210 -webkit-border-bottom-right-radius: 4px;
211 -khtml-border-radius-bottomright: 4px;
211 -khtml-border-radius-bottomright: 4px;
212 -moz-border-radius-bottomright: 4px;
212 -moz-border-radius-bottomright: 4px;
213 border-bottom-right-radius: 4px;
213 border-bottom-right-radius: 4px;
214 }
214 }
215
215
216 .help-block {
216 .help-block {
217 color: #999999;
217 color: #999999;
218 display: block;
218 display: block;
219 margin-bottom: 0;
219 margin-bottom: 0;
220 margin-top: 5px;
220 margin-top: 5px;
221 }
221 }
222
222
223 .empty_data {
223 .empty_data {
224 color:#B9B9B9;
224 color:#B9B9B9;
225 }
225 }
226
226
227 a.permalink {
227 a.permalink {
228 visibility: hidden;
228 visibility: hidden;
229 }
229 }
230
230
231 a.permalink:hover {
231 a.permalink:hover {
232 text-decoration: none;
232 text-decoration: none;
233 }
233 }
234
234
235 h1:hover > a.permalink,
235 h1:hover > a.permalink,
236 h2:hover > a.permalink,
236 h2:hover > a.permalink,
237 h3:hover > a.permalink,
237 h3:hover > a.permalink,
238 h4:hover > a.permalink,
238 h4:hover > a.permalink,
239 h5:hover > a.permalink,
239 h5:hover > a.permalink,
240 h6:hover > a.permalink,
240 h6:hover > a.permalink,
241 div:hover > a.permalink {
241 div:hover > a.permalink {
242 visibility: visible;
242 visibility: visible;
243 }
243 }
244
244
245 #header {
245 #header {
246 }
246 }
247
248 #header ul#logged-user {
247 #header ul#logged-user {
249 margin-bottom: 5px !important;
248 margin-bottom: 5px !important;
250 -webkit-border-radius: 0px 0px 8px 8px;
249 -webkit-border-radius: 0px 0px 8px 8px;
251 -khtml-border-radius: 0px 0px 8px 8px;
250 -khtml-border-radius: 0px 0px 8px 8px;
252 -moz-border-radius: 0px 0px 8px 8px;
251 -moz-border-radius: 0px 0px 8px 8px;
253 border-radius: 0px 0px 8px 8px;
252 border-radius: 0px 0px 8px 8px;
254 height: 37px;
253 height: 37px;
255 background-color: #003B76;
254 background-color: #003B76;
256 background-repeat: repeat-x;
255 background-repeat: repeat-x;
257 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
256 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
258 background-image: -moz-linear-gradient(top, #003b76, #00376e);
257 background-image: -moz-linear-gradient(top, #003b76, #00376e);
259 background-image: -ms-linear-gradient(top, #003b76, #00376e);
258 background-image: -ms-linear-gradient(top, #003b76, #00376e);
260 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
259 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
261 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
260 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
262 background-image: -o-linear-gradient(top, #003b76, #00376e);
261 background-image: -o-linear-gradient(top, #003b76, #00376e);
263 background-image: linear-gradient(top, #003b76, #00376e);
262 background-image: linear-gradient(top, #003b76, #00376e);
264 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',endColorstr='#00376e', GradientType=0 );
263 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',endColorstr='#00376e', GradientType=0 );
265 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
264 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
266 }
265 }
267
266
268 #header ul#logged-user li {
267 #header ul#logged-user li {
269 list-style: none;
268 list-style: none;
270 float: left;
269 float: left;
271 margin: 8px 0 0;
270 margin: 8px 0 0;
272 padding: 4px 12px;
271 padding: 4px 12px;
273 border-left: 1px solid #316293;
272 border-left: 1px solid #316293;
274 }
273 }
275
274
276 #header ul#logged-user li.first {
275 #header ul#logged-user li.first {
277 border-left: none;
276 border-left: none;
278 margin: 4px;
277 margin: 4px;
279 }
278 }
280
279
281 #header ul#logged-user li.first div.gravatar {
280 #header ul#logged-user li.first div.gravatar {
282 margin-top: -2px;
281 margin-top: -2px;
283 }
282 }
284
283
285 #header ul#logged-user li.first div.account {
284 #header ul#logged-user li.first div.account {
286 padding-top: 4px;
285 padding-top: 4px;
287 float: left;
286 float: left;
288 }
287 }
289
288
290 #header ul#logged-user li.last {
289 #header ul#logged-user li.last {
291 border-right: none;
290 border-right: none;
292 }
291 }
293
292
294 #header ul#logged-user li a {
293 #header ul#logged-user li a {
295 color: #fff;
294 color: #fff;
296 font-weight: 700;
295 font-weight: 700;
297 text-decoration: none;
296 text-decoration: none;
298 }
297 }
299
298
300 #header ul#logged-user li a:hover {
299 #header ul#logged-user li a:hover {
301 text-decoration: underline;
300 text-decoration: underline;
302 }
301 }
303
302
304 #header ul#logged-user li.highlight a {
303 #header ul#logged-user li.highlight a {
305 color: #fff;
304 color: #fff;
306 }
305 }
307
306
308 #header ul#logged-user li.highlight a:hover {
307 #header ul#logged-user li.highlight a:hover {
309 color: #FFF;
308 color: #FFF;
310 }
309 }
311 #header-dd {
310 #header-dd {
312 clear: both;
311 clear: both;
313 position: fixed !important;
312 position: fixed !important;
314 background-color: #003B76;
313 background-color: #003B76;
315 opacity: 0.01;
314 opacity: 0.01;
316 cursor: pointer;
315 cursor: pointer;
317 min-height: 10px;
316 min-height: 10px;
318 width: 100% !important;
317 width: 100% !important;
319 -webkit-border-radius: 0px 0px 4px 4px;
318 -webkit-border-radius: 0px 0px 4px 4px;
320 -khtml-border-radius: 0px 0px 4px 4px;
319 -khtml-border-radius: 0px 0px 4px 4px;
321 -moz-border-radius: 0px 0px 4px 4px;
320 -moz-border-radius: 0px 0px 4px 4px;
322 border-radius: 0px 0px 4px 4px;
321 border-radius: 0px 0px 4px 4px;
323 }
322 }
324
323
325 #header-dd:hover{
324 #header-dd:hover{
326 opacity: 0.2;
325 opacity: 0.2;
327 -webkit-transition: opacity 0.5s ease-in-out;
326 -webkit-transition: opacity 0.5s ease-in-out;
328 -moz-transition: opacity 0.5s ease-in-out;
327 -moz-transition: opacity 0.5s ease-in-out;
329 transition: opacity 0.5s ease-in-out;
328 transition: opacity 0.5s ease-in-out;
330 }
329 }
331
330
332 #header #header-inner {
331 #header #header-inner {
333 min-height: 44px;
332 min-height: 44px;
334 clear: both;
333 clear: both;
335 position: relative;
334 position: relative;
336 background-color: #003B76;
335 background-color: #003B76;
337 background-repeat: repeat-x;
336 background-repeat: repeat-x;
338 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
337 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
339 background-image: -moz-linear-gradient(top, #003b76, #00376e);
338 background-image: -moz-linear-gradient(top, #003b76, #00376e);
340 background-image: -ms-linear-gradient(top, #003b76, #00376e);
339 background-image: -ms-linear-gradient(top, #003b76, #00376e);
341 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76),color-stop(100%, #00376e) );
340 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76),color-stop(100%, #00376e) );
342 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
341 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
343 background-image: -o-linear-gradient(top, #003b76, #00376e);
342 background-image: -o-linear-gradient(top, #003b76, #00376e);
344 background-image: linear-gradient(top, #003b76, #00376e);
343 background-image: linear-gradient(top, #003b76, #00376e);
345 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',endColorstr='#00376e', GradientType=0 );
344 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',endColorstr='#00376e', GradientType=0 );
346 margin: 0;
345 margin: 0;
347 padding: 0;
346 padding: 0;
348 display: block;
347 display: block;
349 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
348 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
350 -webkit-border-radius: 0px 0px 4px 4px;
349 -webkit-border-radius: 0px 0px 4px 4px;
351 -khtml-border-radius: 0px 0px 4px 4px;
350 -khtml-border-radius: 0px 0px 4px 4px;
352 -moz-border-radius: 0px 0px 4px 4px;
351 -moz-border-radius: 0px 0px 4px 4px;
353 border-radius: 0px 0px 4px 4px;
352 border-radius: 0px 0px 4px 4px;
354 }
353 }
355 #header #header-inner.hover {
354 #header #header-inner.hover {
356 width: 100% !important;
355 width: 100% !important;
357 -webkit-border-radius: 0px 0px 0px 0px;
356 -webkit-border-radius: 0px 0px 0px 0px;
358 -khtml-border-radius: 0px 0px 0px 0px;
357 -khtml-border-radius: 0px 0px 0px 0px;
359 -moz-border-radius: 0px 0px 0px 0px;
358 -moz-border-radius: 0px 0px 0px 0px;
360 border-radius: 0px 0px 0px 0px;
359 border-radius: 0px 0px 0px 0px;
361 position: fixed !important;
360 position: fixed !important;
362 z-index: 10000;
361 z-index: 10000;
363 }
362 }
364
363
365 .ie7 #header #header-inner.hover,
364 .ie7 #header #header-inner.hover,
366 .ie8 #header #header-inner.hover,
365 .ie8 #header #header-inner.hover,
367 .ie9 #header #header-inner.hover
366 .ie9 #header #header-inner.hover
368 {
367 {
369 z-index: auto !important;
368 z-index: auto !important;
370 }
369 }
371
370
372 .header-pos-fix, .anchor {
371 .header-pos-fix, .anchor {
373 margin-top: -46px;
372 margin-top: -46px;
374 padding-top: 46px;
373 padding-top: 46px;
375 }
374 }
376
375
377 #header #header-inner #home a {
376 #header #header-inner #home a {
378 height: 40px;
377 height: 40px;
379 width: 46px;
378 width: 46px;
380 display: block;
379 display: block;
381 background: url("../images/button_home.png");
380 background: url("../images/button_home.png");
382 background-position: 0 0;
381 background-position: 0 0;
383 margin: 0;
382 margin: 0;
384 padding: 0;
383 padding: 0;
385 }
384 }
386
385
387 #header #header-inner #home a:hover {
386 #header #header-inner #home a:hover {
388 background-position: 0 -40px;
387 background-position: 0 -40px;
389 }
388 }
390
389
391 #header #header-inner #logo {
390 #header #header-inner #logo {
392 float: left;
391 float: left;
393 position: absolute;
392 position: absolute;
394 }
393 }
395
394
396 #header #header-inner #logo h1 {
395 #header #header-inner #logo h1 {
397 color: #FFF;
396 color: #FFF;
398 font-size: 20px;
397 font-size: 20px;
399 margin: 12px 0 0 13px;
398 margin: 12px 0 0 13px;
400 padding: 0;
399 padding: 0;
401 }
400 }
402
401
403 #header #header-inner #logo a {
402 #header #header-inner #logo a {
404 color: #fff;
403 color: #fff;
405 text-decoration: none;
404 text-decoration: none;
406 }
405 }
407
406
408 #header #header-inner #logo a:hover {
407 #header #header-inner #logo a:hover {
409 color: #bfe3ff;
408 color: #bfe3ff;
410 }
409 }
411
410
412 #header #header-inner #quick, #header #header-inner #quick ul {
411 #header #header-inner #quick, #header #header-inner #quick ul {
413 position: relative;
412 position: relative;
414 float: right;
413 float: right;
415 list-style-type: none;
414 list-style-type: none;
416 list-style-position: outside;
415 list-style-position: outside;
417 margin: 8px 8px 0 0;
416 margin: 8px 8px 0 0;
418 padding: 0;
417 padding: 0;
419 }
418 }
420
419
421 #header #header-inner #quick li {
420 #header #header-inner #quick li {
422 position: relative;
421 position: relative;
423 float: left;
422 float: left;
424 margin: 0 5px 0 0;
423 margin: 0 5px 0 0;
425 padding: 0;
424 padding: 0;
426 }
425 }
427
426
428 #header #header-inner #quick li a.menu_link {
427 #header #header-inner #quick li a.menu_link {
429 top: 0;
428 top: 0;
430 left: 0;
429 left: 0;
431 height: 1%;
430 height: 1%;
432 display: block;
431 display: block;
433 clear: both;
432 clear: both;
434 overflow: hidden;
433 overflow: hidden;
435 color: #FFF;
434 color: #FFF;
436 font-weight: 700;
435 font-weight: 700;
437 text-decoration: none;
436 text-decoration: none;
438 background: #369;
437 background: #369;
439 padding: 0;
438 padding: 0;
440 -webkit-border-radius: 4px 4px 4px 4px;
439 -webkit-border-radius: 4px 4px 4px 4px;
441 -khtml-border-radius: 4px 4px 4px 4px;
440 -khtml-border-radius: 4px 4px 4px 4px;
442 -moz-border-radius: 4px 4px 4px 4px;
441 -moz-border-radius: 4px 4px 4px 4px;
443 border-radius: 4px 4px 4px 4px;
442 border-radius: 4px 4px 4px 4px;
444 }
443 }
445
444
446 #header #header-inner #quick li span.short {
445 #header #header-inner #quick li span.short {
447 padding: 9px 6px 8px 6px;
446 padding: 9px 6px 8px 6px;
448 }
447 }
449
448
450 #header #header-inner #quick li span {
449 #header #header-inner #quick li span {
451 top: 0;
450 top: 0;
452 right: 0;
451 right: 0;
453 height: 1%;
452 height: 1%;
454 display: block;
453 display: block;
455 float: left;
454 float: left;
456 border-left: 1px solid #3f6f9f;
455 border-left: 1px solid #3f6f9f;
457 margin: 0;
456 margin: 0;
458 padding: 10px 12px 8px 10px;
457 padding: 10px 12px 8px 10px;
459 }
458 }
460
459
461 #header #header-inner #quick li span.normal {
460 #header #header-inner #quick li span.normal {
462 border: none;
461 border: none;
463 padding: 10px 12px 8px;
462 padding: 10px 12px 8px;
464 }
463 }
465
464
466 #header #header-inner #quick li span.icon {
465 #header #header-inner #quick li span.icon {
467 top: 0;
466 top: 0;
468 left: 0;
467 left: 0;
469 border-left: none;
468 border-left: none;
470 border-right: 1px solid #2e5c89;
469 border-right: 1px solid #2e5c89;
471 padding: 8px 6px 4px;
470 padding: 8px 6px 4px;
472 min-width: 16px;
471 min-width: 16px;
473 min-height: 16px;
472 min-height: 16px;
474 }
473 }
475
474
476 #header #header-inner #quick li span.icon_short {
475 #header #header-inner #quick li span.icon_short {
477 top: 0;
476 top: 0;
478 left: 0;
477 left: 0;
479 border-left: none;
478 border-left: none;
480 border-right: 1px solid #2e5c89;
479 border-right: 1px solid #2e5c89;
481 padding: 8px 6px 4px;
480 padding: 8px 6px 4px;
482 }
481 }
483
482
484 #header #header-inner #quick li span.icon img, #header #header-inner #quick li span.icon_short img {
483 #header #header-inner #quick li span.icon img, #header #header-inner #quick li span.icon_short img {
485 margin: 0px -2px 0px 0px;
484 margin: 0px -2px 0px 0px;
486 }
485 }
487
486
488 #header #header-inner #quick li.current a,
487 #header #header-inner #quick li.current a,
489 #header #header-inner #quick li a:hover {
488 #header #header-inner #quick li a:hover {
490 background: #4e4e4e no-repeat top left;
489 background: #4e4e4e no-repeat top left;
491 }
490 }
492
491
493 #header #header-inner #quick li.current a span,
492 #header #header-inner #quick li.current a span,
494 #header #header-inner #quick li a:hover span {
493 #header #header-inner #quick li a:hover span {
495 border-left: 1px solid #545454;
494 border-left: 1px solid #545454;
496 }
495 }
497
496
498 #header #header-inner #quick li.current a span.icon,
497 #header #header-inner #quick li.current a span.icon,
499 #header #header-inner #quick li.current a span.icon_short,
498 #header #header-inner #quick li.current a span.icon_short,
500 #header #header-inner #quick li a:hover span.icon,
499 #header #header-inner #quick li a:hover span.icon,
501 #header #header-inner #quick li a:hover span.icon_short {
500 #header #header-inner #quick li a:hover span.icon_short {
502 border-left: none;
501 border-left: none;
503 border-right: 1px solid #464646;
502 border-right: 1px solid #464646;
504 }
503 }
505
504
506 #header #header-inner #quick ul {
505 #header #header-inner #quick ul {
507 top: 29px;
506 top: 29px;
508 right: 0;
507 right: 0;
509 min-width: 200px;
508 min-width: 200px;
510 display: none;
509 display: none;
511 position: absolute;
510 position: absolute;
512 background: #FFF;
511 background: #FFF;
513 border: 1px solid #666;
512 border: 1px solid #666;
514 border-top: 1px solid #003367;
513 border-top: 1px solid #003367;
515 z-index: 100;
514 z-index: 100;
516 margin: 0px 0px 0px 0px;
515 margin: 0px 0px 0px 0px;
517 padding: 0;
516 padding: 0;
518 }
517 }
519
518
520 #header #header-inner #quick ul.repo_switcher {
519 #header #header-inner #quick ul.repo_switcher {
521 max-height: 275px;
520 max-height: 275px;
522 overflow-x: hidden;
521 overflow-x: hidden;
523 overflow-y: auto;
522 overflow-y: auto;
524 }
523 }
525
524
526 #header #header-inner #quick ul.repo_switcher li.qfilter_rs {
525 #header #header-inner #quick ul.repo_switcher li.qfilter_rs {
527 float: none;
526 float: none;
528 margin: 0;
527 margin: 0;
529 border-bottom: 2px solid #003367;
528 border-bottom: 2px solid #003367;
530 }
529 }
531
530
532 #header #header-inner #quick .repo_switcher_type {
531 #header #header-inner #quick .repo_switcher_type {
533 position: absolute;
532 position: absolute;
534 left: 0;
533 left: 0;
535 top: 9px;
534 top: 9px;
536 }
535 }
537
536
538 #header #header-inner #quick li ul li {
537 #header #header-inner #quick li ul li {
539 border-bottom: 1px solid #ddd;
538 border-bottom: 1px solid #ddd;
540 }
539 }
541
540
542 #header #header-inner #quick li ul li a {
541 #header #header-inner #quick li ul li a {
543 width: 182px;
542 width: 182px;
544 height: auto;
543 height: auto;
545 display: block;
544 display: block;
546 float: left;
545 float: left;
547 background: #FFF;
546 background: #FFF;
548 color: #003367;
547 color: #003367;
549 font-weight: 400;
548 font-weight: 400;
550 margin: 0;
549 margin: 0;
551 padding: 7px 9px;
550 padding: 7px 9px;
552 }
551 }
553
552
554 #header #header-inner #quick li ul li a:hover {
553 #header #header-inner #quick li ul li a:hover {
555 color: #000;
554 color: #000;
556 background: #FFF;
555 background: #FFF;
557 }
556 }
558
557
559 #header #header-inner #quick ul ul {
558 #header #header-inner #quick ul ul {
560 top: auto;
559 top: auto;
561 }
560 }
562
561
563 #header #header-inner #quick li ul ul {
562 #header #header-inner #quick li ul ul {
564 right: 200px;
563 right: 200px;
565 max-height: 290px;
564 max-height: 290px;
566 overflow: auto;
565 overflow: auto;
567 overflow-x: hidden;
566 overflow-x: hidden;
568 white-space: normal;
567 white-space: normal;
569 }
568 }
570
569
571 #header #header-inner #quick li ul li a.journal, #header #header-inner #quick li ul li a.journal:hover {
570 #header #header-inner #quick li ul li a.journal, #header #header-inner #quick li ul li a.journal:hover {
572 background: url("../images/icons/book.png") no-repeat scroll 4px 9px
571 background: url("../images/icons/book.png") no-repeat scroll 4px 9px
573 #FFF;
572 #FFF;
574 width: 167px;
573 width: 167px;
575 margin: 0;
574 margin: 0;
576 padding: 12px 9px 7px 24px;
575 padding: 12px 9px 7px 24px;
577 }
576 }
578
577
579 #header #header-inner #quick li ul li a.private_repo, #header #header-inner #quick li ul li a.private_repo:hover {
578 #header #header-inner #quick li ul li a.private_repo, #header #header-inner #quick li ul li a.private_repo:hover {
580 background: url("../images/icons/lock.png") no-repeat scroll 4px 9px
579 background: url("../images/icons/lock.png") no-repeat scroll 4px 9px
581 #FFF;
580 #FFF;
582 min-width: 167px;
581 min-width: 167px;
583 margin: 0;
582 margin: 0;
584 padding: 12px 9px 7px 24px;
583 padding: 12px 9px 7px 24px;
585 }
584 }
586
585
587 #header #header-inner #quick li ul li a.public_repo, #header #header-inner #quick li ul li a.public_repo:hover {
586 #header #header-inner #quick li ul li a.public_repo, #header #header-inner #quick li ul li a.public_repo:hover {
588 background: url("../images/icons/lock_open.png") no-repeat scroll 4px
587 background: url("../images/icons/lock_open.png") no-repeat scroll 4px
589 9px #FFF;
588 9px #FFF;
590 min-width: 167px;
589 min-width: 167px;
591 margin: 0;
590 margin: 0;
592 padding: 12px 9px 7px 24px;
591 padding: 12px 9px 7px 24px;
593 }
592 }
594
593
595 #header #header-inner #quick li ul li a.hg, #header #header-inner #quick li ul li a.hg:hover {
594 #header #header-inner #quick li ul li a.hg, #header #header-inner #quick li ul li a.hg:hover {
596 background: url("../images/icons/hgicon.png") no-repeat scroll 4px 9px
595 background: url("../images/icons/hgicon.png") no-repeat scroll 4px 9px
597 #FFF;
596 #FFF;
598 min-width: 167px;
597 min-width: 167px;
599 margin: 0 0 0 14px;
598 margin: 0 0 0 14px;
600 padding: 12px 9px 7px 24px;
599 padding: 12px 9px 7px 24px;
601 }
600 }
602
601
603 #header #header-inner #quick li ul li a.git, #header #header-inner #quick li ul li a.git:hover {
602 #header #header-inner #quick li ul li a.git, #header #header-inner #quick li ul li a.git:hover {
604 background: url("../images/icons/giticon.png") no-repeat scroll 4px 9px
603 background: url("../images/icons/giticon.png") no-repeat scroll 4px 9px
605 #FFF;
604 #FFF;
606 min-width: 167px;
605 min-width: 167px;
607 margin: 0 0 0 14px;
606 margin: 0 0 0 14px;
608 padding: 12px 9px 7px 24px;
607 padding: 12px 9px 7px 24px;
609 }
608 }
610
609
611 #header #header-inner #quick li ul li a.repos, #header #header-inner #quick li ul li a.repos:hover {
610 #header #header-inner #quick li ul li a.repos, #header #header-inner #quick li ul li a.repos:hover {
612 background: url("../images/icons/database_edit.png") no-repeat scroll
611 background: url("../images/icons/database_edit.png") no-repeat scroll
613 4px 9px #FFF;
612 4px 9px #FFF;
614 width: 167px;
613 width: 167px;
615 margin: 0;
614 margin: 0;
616 padding: 12px 9px 7px 24px;
615 padding: 12px 9px 7px 24px;
617 }
616 }
618
617
619 #header #header-inner #quick li ul li a.repos_groups, #header #header-inner #quick li ul li a.repos_groups:hover {
618 #header #header-inner #quick li ul li a.repos_groups, #header #header-inner #quick li ul li a.repos_groups:hover {
620 background: url("../images/icons/database_link.png") no-repeat scroll
619 background: url("../images/icons/database_link.png") no-repeat scroll
621 4px 9px #FFF;
620 4px 9px #FFF;
622 width: 167px;
621 width: 167px;
623 margin: 0;
622 margin: 0;
624 padding: 12px 9px 7px 24px;
623 padding: 12px 9px 7px 24px;
625 }
624 }
626
625
627 #header #header-inner #quick li ul li a.users, #header #header-inner #quick li ul li a.users:hover {
626 #header #header-inner #quick li ul li a.users, #header #header-inner #quick li ul li a.users:hover {
628 background: #FFF url("../images/icons/user_edit.png") no-repeat 4px 9px;
627 background: #FFF url("../images/icons/user_edit.png") no-repeat 4px 9px;
629 width: 167px;
628 width: 167px;
630 margin: 0;
629 margin: 0;
631 padding: 12px 9px 7px 24px;
630 padding: 12px 9px 7px 24px;
632 }
631 }
633
632
634 #header #header-inner #quick li ul li a.groups, #header #header-inner #quick li ul li a.groups:hover {
633 #header #header-inner #quick li ul li a.groups, #header #header-inner #quick li ul li a.groups:hover {
635 background: #FFF url("../images/icons/group_edit.png") no-repeat 4px 9px;
634 background: #FFF url("../images/icons/group_edit.png") no-repeat 4px 9px;
636 width: 167px;
635 width: 167px;
637 margin: 0;
636 margin: 0;
638 padding: 12px 9px 7px 24px;
637 padding: 12px 9px 7px 24px;
639 }
638 }
640
639
641 #header #header-inner #quick li ul li a.defaults, #header #header-inner #quick li ul li a.defaults:hover {
640 #header #header-inner #quick li ul li a.defaults, #header #header-inner #quick li ul li a.defaults:hover {
642 background: #FFF url("../images/icons/wrench.png") no-repeat 4px 9px;
641 background: #FFF url("../images/icons/wrench.png") no-repeat 4px 9px;
643 width: 167px;
642 width: 167px;
644 margin: 0;
643 margin: 0;
645 padding: 12px 9px 7px 24px;
644 padding: 12px 9px 7px 24px;
646 }
645 }
647
646
648 #header #header-inner #quick li ul li a.settings, #header #header-inner #quick li ul li a.settings:hover {
647 #header #header-inner #quick li ul li a.settings, #header #header-inner #quick li ul li a.settings:hover {
649 background: #FFF url("../images/icons/cog.png") no-repeat 4px 9px;
648 background: #FFF url("../images/icons/cog.png") no-repeat 4px 9px;
650 width: 167px;
649 width: 167px;
651 margin: 0;
650 margin: 0;
652 padding: 12px 9px 7px 24px;
651 padding: 12px 9px 7px 24px;
653 }
652 }
654
653
655 #header #header-inner #quick li ul li a.permissions, #header #header-inner #quick li ul li a.permissions:hover {
654 #header #header-inner #quick li ul li a.permissions, #header #header-inner #quick li ul li a.permissions:hover {
656 background: #FFF url("../images/icons/key.png") no-repeat 4px 9px;
655 background: #FFF url("../images/icons/key.png") no-repeat 4px 9px;
657 width: 167px;
656 width: 167px;
658 margin: 0;
657 margin: 0;
659 padding: 12px 9px 7px 24px;
658 padding: 12px 9px 7px 24px;
660 }
659 }
661
660
662 #header #header-inner #quick li ul li a.ldap, #header #header-inner #quick li ul li a.ldap:hover {
661 #header #header-inner #quick li ul li a.ldap, #header #header-inner #quick li ul li a.ldap:hover {
663 background: #FFF url("../images/icons/server_key.png") no-repeat 4px 9px;
662 background: #FFF url("../images/icons/server_key.png") no-repeat 4px 9px;
664 width: 167px;
663 width: 167px;
665 margin: 0;
664 margin: 0;
666 padding: 12px 9px 7px 24px;
665 padding: 12px 9px 7px 24px;
667 }
666 }
668
667
669 #header #header-inner #quick li ul li a.fork, #header #header-inner #quick li ul li a.fork:hover {
668 #header #header-inner #quick li ul li a.fork, #header #header-inner #quick li ul li a.fork:hover {
670 background: #FFF url("../images/icons/arrow_divide.png") no-repeat 4px
669 background: #FFF url("../images/icons/arrow_divide.png") no-repeat 4px
671 9px;
670 9px;
672 width: 167px;
671 width: 167px;
673 margin: 0;
672 margin: 0;
674 padding: 12px 9px 7px 24px;
673 padding: 12px 9px 7px 24px;
675 }
674 }
676
675
677 #header #header-inner #quick li ul li a.locking_add, #header #header-inner #quick li ul li a.locking_add:hover {
676 #header #header-inner #quick li ul li a.locking_add, #header #header-inner #quick li ul li a.locking_add:hover {
678 background: #FFF url("../images/icons/lock_add.png") no-repeat 4px
677 background: #FFF url("../images/icons/lock_add.png") no-repeat 4px
679 9px;
678 9px;
680 width: 167px;
679 width: 167px;
681 margin: 0;
680 margin: 0;
682 padding: 12px 9px 7px 24px;
681 padding: 12px 9px 7px 24px;
683 }
682 }
684
683
685 #header #header-inner #quick li ul li a.locking_del, #header #header-inner #quick li ul li a.locking_del:hover {
684 #header #header-inner #quick li ul li a.locking_del, #header #header-inner #quick li ul li a.locking_del:hover {
686 background: #FFF url("../images/icons/lock_delete.png") no-repeat 4px
685 background: #FFF url("../images/icons/lock_delete.png") no-repeat 4px
687 9px;
686 9px;
688 width: 167px;
687 width: 167px;
689 margin: 0;
688 margin: 0;
690 padding: 12px 9px 7px 24px;
689 padding: 12px 9px 7px 24px;
691 }
690 }
692
691
693 #header #header-inner #quick li ul li a.pull_request, #header #header-inner #quick li ul li a.pull_request:hover {
692 #header #header-inner #quick li ul li a.pull_request, #header #header-inner #quick li ul li a.pull_request:hover {
694 background: #FFF url("../images/icons/arrow_join.png") no-repeat 4px
693 background: #FFF url("../images/icons/arrow_join.png") no-repeat 4px
695 9px;
694 9px;
696 width: 167px;
695 width: 167px;
697 margin: 0;
696 margin: 0;
698 padding: 12px 9px 7px 24px;
697 padding: 12px 9px 7px 24px;
699 }
698 }
700
699
701 #header #header-inner #quick li ul li a.compare_request, #header #header-inner #quick li ul li a.compare_request:hover {
700 #header #header-inner #quick li ul li a.compare_request, #header #header-inner #quick li ul li a.compare_request:hover {
702 background: #FFF url("../images/icons/arrow_inout.png") no-repeat 4px
701 background: #FFF url("../images/icons/arrow_inout.png") no-repeat 4px
703 9px;
702 9px;
704 width: 167px;
703 width: 167px;
705 margin: 0;
704 margin: 0;
706 padding: 12px 9px 7px 24px;
705 padding: 12px 9px 7px 24px;
707 }
706 }
708
707
709 #header #header-inner #quick li ul li a.search, #header #header-inner #quick li ul li a.search:hover {
708 #header #header-inner #quick li ul li a.search, #header #header-inner #quick li ul li a.search:hover {
710 background: #FFF url("../images/icons/search_16.png") no-repeat 4px 9px;
709 background: #FFF url("../images/icons/search_16.png") no-repeat 4px 9px;
711 width: 167px;
710 width: 167px;
712 margin: 0;
711 margin: 0;
713 padding: 12px 9px 7px 24px;
712 padding: 12px 9px 7px 24px;
714 }
713 }
715
714
716 #header #header-inner #quick li ul li a.shortlog, #header #header-inner #quick li ul li a.shortlog:hover {
715 #header #header-inner #quick li ul li a.shortlog, #header #header-inner #quick li ul li a.shortlog:hover {
717 background: #FFF url("../images/icons/clock_16.png") no-repeat 4px 9px;
716 background: #FFF url("../images/icons/clock_16.png") no-repeat 4px 9px;
718 width: 167px;
717 width: 167px;
719 margin: 0;
718 margin: 0;
720 padding: 12px 9px 7px 24px;
719 padding: 12px 9px 7px 24px;
721 }
720 }
722
721
723
722
724 #header #header-inner #quick li ul li a.delete, #header #header-inner #quick li ul li a.delete:hover {
723 #header #header-inner #quick li ul li a.delete, #header #header-inner #quick li ul li a.delete:hover {
725 background: #FFF url("../images/icons/delete.png") no-repeat 4px 9px;
724 background: #FFF url("../images/icons/delete.png") no-repeat 4px 9px;
726 width: 167px;
725 width: 167px;
727 margin: 0;
726 margin: 0;
728 padding: 12px 9px 7px 24px;
727 padding: 12px 9px 7px 24px;
729 }
728 }
730
729
731 #header #header-inner #quick li ul li a.branches, #header #header-inner #quick li ul li a.branches:hover {
730 #header #header-inner #quick li ul li a.branches, #header #header-inner #quick li ul li a.branches:hover {
732 background: #FFF url("../images/icons/arrow_branch.png") no-repeat 4px
731 background: #FFF url("../images/icons/arrow_branch.png") no-repeat 4px
733 9px;
732 9px;
734 width: 167px;
733 width: 167px;
735 margin: 0;
734 margin: 0;
736 padding: 12px 9px 7px 24px;
735 padding: 12px 9px 7px 24px;
737 }
736 }
738
737
739 #header #header-inner #quick li ul li a.tags,
738 #header #header-inner #quick li ul li a.tags,
740 #header #header-inner #quick li ul li a.tags:hover {
739 #header #header-inner #quick li ul li a.tags:hover {
741 background: #FFF url("../images/icons/tag_blue.png") no-repeat 4px 9px;
740 background: #FFF url("../images/icons/tag_blue.png") no-repeat 4px 9px;
742 width: 167px;
741 width: 167px;
743 margin: 0;
742 margin: 0;
744 padding: 12px 9px 7px 24px;
743 padding: 12px 9px 7px 24px;
745 }
744 }
746
745
747 #header #header-inner #quick li ul li a.bookmarks,
746 #header #header-inner #quick li ul li a.bookmarks,
748 #header #header-inner #quick li ul li a.bookmarks:hover {
747 #header #header-inner #quick li ul li a.bookmarks:hover {
749 background: #FFF url("../images/icons/tag_green.png") no-repeat 4px 9px;
748 background: #FFF url("../images/icons/tag_green.png") no-repeat 4px 9px;
750 width: 167px;
749 width: 167px;
751 margin: 0;
750 margin: 0;
752 padding: 12px 9px 7px 24px;
751 padding: 12px 9px 7px 24px;
753 }
752 }
754
753
755 #header #header-inner #quick li ul li a.admin,
754 #header #header-inner #quick li ul li a.admin,
756 #header #header-inner #quick li ul li a.admin:hover {
755 #header #header-inner #quick li ul li a.admin:hover {
757 background: #FFF url("../images/icons/cog_edit.png") no-repeat 4px 9px;
756 background: #FFF url("../images/icons/cog_edit.png") no-repeat 4px 9px;
758 width: 167px;
757 width: 167px;
759 margin: 0;
758 margin: 0;
760 padding: 12px 9px 7px 24px;
759 padding: 12px 9px 7px 24px;
761 }
760 }
762
761
763 .groups_breadcrumbs a {
762 .groups_breadcrumbs a {
764 color: #fff;
763 color: #fff;
765 }
764 }
766
765
767 .groups_breadcrumbs a:hover {
766 .groups_breadcrumbs a:hover {
768 color: #bfe3ff;
767 color: #bfe3ff;
769 text-decoration: none;
768 text-decoration: none;
770 }
769 }
771
770
772 td.quick_repo_menu {
771 td.quick_repo_menu {
773 background: #FFF url("../images/vertical-indicator.png") 8px 50% no-repeat !important;
772 background: #FFF url("../images/vertical-indicator.png") 8px 50% no-repeat !important;
774 cursor: pointer;
773 cursor: pointer;
775 width: 8px;
774 width: 8px;
776 border: 1px solid transparent;
775 border: 1px solid transparent;
777 }
776 }
778
777
779 td.quick_repo_menu.active {
778 td.quick_repo_menu.active {
780 background: url("../images/dt-arrow-dn.png") no-repeat scroll 5px 50% #FFFFFF !important;
779 background: url("../images/dt-arrow-dn.png") no-repeat scroll 5px 50% #FFFFFF !important;
781 border: 1px solid #003367;
780 border: 1px solid #003367;
782 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
781 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
783 cursor: pointer;
782 cursor: pointer;
784 }
783 }
785
784
786 td.quick_repo_menu .menu_items {
785 td.quick_repo_menu .menu_items {
787 margin-top: 10px;
786 margin-top: 10px;
788 margin-left:-6px;
787 margin-left:-6px;
789 width: 150px;
788 width: 150px;
790 position: absolute;
789 position: absolute;
791 background-color: #FFF;
790 background-color: #FFF;
792 background: none repeat scroll 0 0 #FFFFFF;
791 background: none repeat scroll 0 0 #FFFFFF;
793 border-color: #003367 #666666 #666666;
792 border-color: #003367 #666666 #666666;
794 border-right: 1px solid #666666;
793 border-right: 1px solid #666666;
795 border-style: solid;
794 border-style: solid;
796 border-width: 1px;
795 border-width: 1px;
797 box-shadow: 2px 8px 4px rgba(0, 0, 0, 0.2);
796 box-shadow: 2px 8px 4px rgba(0, 0, 0, 0.2);
798 border-top-style: none;
797 border-top-style: none;
799 }
798 }
800
799
801 td.quick_repo_menu .menu_items li {
800 td.quick_repo_menu .menu_items li {
802 padding: 0 !important;
801 padding: 0 !important;
803 }
802 }
804
803
805 td.quick_repo_menu .menu_items a {
804 td.quick_repo_menu .menu_items a {
806 display: block;
805 display: block;
807 padding: 4px 12px 4px 8px;
806 padding: 4px 12px 4px 8px;
808 }
807 }
809
808
810 td.quick_repo_menu .menu_items a:hover {
809 td.quick_repo_menu .menu_items a:hover {
811 background-color: #EEE;
810 background-color: #EEE;
812 text-decoration: none;
811 text-decoration: none;
813 }
812 }
814
813
815 td.quick_repo_menu .menu_items .icon img {
814 td.quick_repo_menu .menu_items .icon img {
816 margin-bottom: -2px;
815 margin-bottom: -2px;
817 }
816 }
818
817
819 td.quick_repo_menu .menu_items.hidden {
818 td.quick_repo_menu .menu_items.hidden {
820 display: none;
819 display: none;
821 }
820 }
822
821
823 .yui-dt-first th {
822 .yui-dt-first th {
824 text-align: left;
823 text-align: left;
825 }
824 }
826
825
827 /*
826 /*
828 Copyright (c) 2011, Yahoo! Inc. All rights reserved.
827 Copyright (c) 2011, Yahoo! Inc. All rights reserved.
829 Code licensed under the BSD License:
828 Code licensed under the BSD License:
830 http://developer.yahoo.com/yui/license.html
829 http://developer.yahoo.com/yui/license.html
831 version: 2.9.0
830 version: 2.9.0
832 */
831 */
833 .yui-skin-sam .yui-dt-mask {
832 .yui-skin-sam .yui-dt-mask {
834 position: absolute;
833 position: absolute;
835 z-index: 9500;
834 z-index: 9500;
836 }
835 }
837 .yui-dt-tmp {
836 .yui-dt-tmp {
838 position: absolute;
837 position: absolute;
839 left: -9000px;
838 left: -9000px;
840 }
839 }
841 .yui-dt-scrollable .yui-dt-bd { overflow: auto }
840 .yui-dt-scrollable .yui-dt-bd { overflow: auto }
842 .yui-dt-scrollable .yui-dt-hd {
841 .yui-dt-scrollable .yui-dt-hd {
843 overflow: hidden;
842 overflow: hidden;
844 position: relative;
843 position: relative;
845 }
844 }
846 .yui-dt-scrollable .yui-dt-bd thead tr,
845 .yui-dt-scrollable .yui-dt-bd thead tr,
847 .yui-dt-scrollable .yui-dt-bd thead th {
846 .yui-dt-scrollable .yui-dt-bd thead th {
848 position: absolute;
847 position: absolute;
849 left: -1500px;
848 left: -1500px;
850 }
849 }
851 .yui-dt-scrollable tbody { -moz-outline: 0 }
850 .yui-dt-scrollable tbody { -moz-outline: 0 }
852 .yui-skin-sam thead .yui-dt-sortable { cursor: pointer }
851 .yui-skin-sam thead .yui-dt-sortable { cursor: pointer }
853 .yui-skin-sam thead .yui-dt-draggable { cursor: move }
852 .yui-skin-sam thead .yui-dt-draggable { cursor: move }
854 .yui-dt-coltarget {
853 .yui-dt-coltarget {
855 position: absolute;
854 position: absolute;
856 z-index: 999;
855 z-index: 999;
857 }
856 }
858 .yui-dt-hd { zoom: 1 }
857 .yui-dt-hd { zoom: 1 }
859 th.yui-dt-resizeable .yui-dt-resizerliner { position: relative }
858 th.yui-dt-resizeable .yui-dt-resizerliner { position: relative }
860 .yui-dt-resizer {
859 .yui-dt-resizer {
861 position: absolute;
860 position: absolute;
862 right: 0;
861 right: 0;
863 bottom: 0;
862 bottom: 0;
864 height: 100%;
863 height: 100%;
865 cursor: e-resize;
864 cursor: e-resize;
866 cursor: col-resize;
865 cursor: col-resize;
867 background-color: #CCC;
866 background-color: #CCC;
868 opacity: 0;
867 opacity: 0;
869 filter: alpha(opacity=0);
868 filter: alpha(opacity=0);
870 }
869 }
871 .yui-dt-resizerproxy {
870 .yui-dt-resizerproxy {
872 visibility: hidden;
871 visibility: hidden;
873 position: absolute;
872 position: absolute;
874 z-index: 9000;
873 z-index: 9000;
875 background-color: #CCC;
874 background-color: #CCC;
876 opacity: 0;
875 opacity: 0;
877 filter: alpha(opacity=0);
876 filter: alpha(opacity=0);
878 }
877 }
879 th.yui-dt-hidden .yui-dt-liner,
878 th.yui-dt-hidden .yui-dt-liner,
880 td.yui-dt-hidden .yui-dt-liner,
879 td.yui-dt-hidden .yui-dt-liner,
881 th.yui-dt-hidden .yui-dt-resizer { display: none }
880 th.yui-dt-hidden .yui-dt-resizer { display: none }
882 .yui-dt-editor,
881 .yui-dt-editor,
883 .yui-dt-editor-shim {
882 .yui-dt-editor-shim {
884 position: absolute;
883 position: absolute;
885 z-index: 9000;
884 z-index: 9000;
886 }
885 }
887 .yui-skin-sam .yui-dt table {
886 .yui-skin-sam .yui-dt table {
888 margin: 0;
887 margin: 0;
889 padding: 0;
888 padding: 0;
890 font-family: arial;
889 font-family: arial;
891 font-size: inherit;
890 font-size: inherit;
892 border-collapse: separate;
891 border-collapse: separate;
893 *border-collapse: collapse;
892 *border-collapse: collapse;
894 border-spacing: 0;
893 border-spacing: 0;
895 border: 1px solid #7f7f7f;
894 border: 1px solid #7f7f7f;
896 }
895 }
897 .yui-skin-sam .yui-dt thead { border-spacing: 0 }
896 .yui-skin-sam .yui-dt thead { border-spacing: 0 }
898 .yui-skin-sam .yui-dt caption {
897 .yui-skin-sam .yui-dt caption {
899 color: #000;
898 color: #000;
900 font-size: 85%;
899 font-size: 85%;
901 font-weight: normal;
900 font-weight: normal;
902 font-style: italic;
901 font-style: italic;
903 line-height: 1;
902 line-height: 1;
904 padding: 1em 0;
903 padding: 1em 0;
905 text-align: center;
904 text-align: center;
906 }
905 }
907 .yui-skin-sam .yui-dt th { background: #d8d8da url(../images/sprite.png) repeat-x 0 0 }
906 .yui-skin-sam .yui-dt th { background: #d8d8da url(../images/sprite.png) repeat-x 0 0 }
908 .yui-skin-sam .yui-dt th,
907 .yui-skin-sam .yui-dt th,
909 .yui-skin-sam .yui-dt th a {
908 .yui-skin-sam .yui-dt th a {
910 font-weight: normal;
909 font-weight: normal;
911 text-decoration: none;
910 text-decoration: none;
912 color: #000;
911 color: #000;
913 vertical-align: bottom;
912 vertical-align: bottom;
914 }
913 }
915 .yui-skin-sam .yui-dt th {
914 .yui-skin-sam .yui-dt th {
916 margin: 0;
915 margin: 0;
917 padding: 0;
916 padding: 0;
918 border: 0;
917 border: 0;
919 border-right: 1px solid #cbcbcb;
918 border-right: 1px solid #cbcbcb;
920 }
919 }
921 .yui-skin-sam .yui-dt tr.yui-dt-first td { border-top: 1px solid #7f7f7f }
920 .yui-skin-sam .yui-dt tr.yui-dt-first td { border-top: 1px solid #7f7f7f }
922 .yui-skin-sam .yui-dt th .yui-dt-liner { white-space: nowrap }
921 .yui-skin-sam .yui-dt th .yui-dt-liner { white-space: nowrap }
923 .yui-skin-sam .yui-dt-liner {
922 .yui-skin-sam .yui-dt-liner {
924 margin: 0;
923 margin: 0;
925 padding: 0;
924 padding: 0;
926 }
925 }
927 .yui-skin-sam .yui-dt-coltarget {
926 .yui-skin-sam .yui-dt-coltarget {
928 width: 5px;
927 width: 5px;
929 background-color: red;
928 background-color: red;
930 }
929 }
931 .yui-skin-sam .yui-dt td {
930 .yui-skin-sam .yui-dt td {
932 margin: 0;
931 margin: 0;
933 padding: 0;
932 padding: 0;
934 border: 0;
933 border: 0;
935 border-right: 1px solid #cbcbcb;
934 border-right: 1px solid #cbcbcb;
936 text-align: left;
935 text-align: left;
937 }
936 }
938 .yui-skin-sam .yui-dt-list td { border-right: 0 }
937 .yui-skin-sam .yui-dt-list td { border-right: 0 }
939 .yui-skin-sam .yui-dt-resizer { width: 6px }
938 .yui-skin-sam .yui-dt-resizer { width: 6px }
940 .yui-skin-sam .yui-dt-mask {
939 .yui-skin-sam .yui-dt-mask {
941 background-color: #000;
940 background-color: #000;
942 opacity: .25;
941 opacity: .25;
943 filter: alpha(opacity=25);
942 filter: alpha(opacity=25);
944 }
943 }
945 .yui-skin-sam .yui-dt-message { background-color: #FFF }
944 .yui-skin-sam .yui-dt-message { background-color: #FFF }
946 .yui-skin-sam .yui-dt-scrollable table { border: 0 }
945 .yui-skin-sam .yui-dt-scrollable table { border: 0 }
947 .yui-skin-sam .yui-dt-scrollable .yui-dt-hd {
946 .yui-skin-sam .yui-dt-scrollable .yui-dt-hd {
948 border-left: 1px solid #7f7f7f;
947 border-left: 1px solid #7f7f7f;
949 border-top: 1px solid #7f7f7f;
948 border-top: 1px solid #7f7f7f;
950 border-right: 1px solid #7f7f7f;
949 border-right: 1px solid #7f7f7f;
951 }
950 }
952 .yui-skin-sam .yui-dt-scrollable .yui-dt-bd {
951 .yui-skin-sam .yui-dt-scrollable .yui-dt-bd {
953 border-left: 1px solid #7f7f7f;
952 border-left: 1px solid #7f7f7f;
954 border-bottom: 1px solid #7f7f7f;
953 border-bottom: 1px solid #7f7f7f;
955 border-right: 1px solid #7f7f7f;
954 border-right: 1px solid #7f7f7f;
956 background-color: #FFF;
955 background-color: #FFF;
957 }
956 }
958 .yui-skin-sam .yui-dt-scrollable .yui-dt-data tr.yui-dt-last td { border-bottom: 1px solid #7f7f7f }
957 .yui-skin-sam .yui-dt-scrollable .yui-dt-data tr.yui-dt-last td { border-bottom: 1px solid #7f7f7f }
959 .yui-skin-sam th.yui-dt-asc,
958 .yui-skin-sam th.yui-dt-asc,
960 .yui-skin-sam th.yui-dt-desc { background: url(../images/sprite.png) repeat-x 0 -100px }
959 .yui-skin-sam th.yui-dt-desc { background: url(../images/sprite.png) repeat-x 0 -100px }
961 .yui-skin-sam th.yui-dt-sortable .yui-dt-label { margin-right: 10px }
960 .yui-skin-sam th.yui-dt-sortable .yui-dt-label { margin-right: 10px }
962 .yui-skin-sam th.yui-dt-asc .yui-dt-liner { background: url(../images/dt-arrow-up.png) no-repeat right }
961 .yui-skin-sam th.yui-dt-asc .yui-dt-liner { background: url(../images/dt-arrow-up.png) no-repeat right }
963 .yui-skin-sam th.yui-dt-desc .yui-dt-liner { background: url(../images/dt-arrow-dn.png) no-repeat right }
962 .yui-skin-sam th.yui-dt-desc .yui-dt-liner { background: url(../images/dt-arrow-dn.png) no-repeat right }
964 tbody .yui-dt-editable { cursor: pointer }
963 tbody .yui-dt-editable { cursor: pointer }
965 .yui-dt-editor {
964 .yui-dt-editor {
966 text-align: left;
965 text-align: left;
967 background-color: #f2f2f2;
966 background-color: #f2f2f2;
968 border: 1px solid #808080;
967 border: 1px solid #808080;
969 padding: 6px;
968 padding: 6px;
970 }
969 }
971 .yui-dt-editor label {
970 .yui-dt-editor label {
972 padding-left: 4px;
971 padding-left: 4px;
973 padding-right: 6px;
972 padding-right: 6px;
974 }
973 }
975 .yui-dt-editor .yui-dt-button {
974 .yui-dt-editor .yui-dt-button {
976 padding-top: 6px;
975 padding-top: 6px;
977 text-align: right;
976 text-align: right;
978 }
977 }
979 .yui-dt-editor .yui-dt-button button {
978 .yui-dt-editor .yui-dt-button button {
980 background: url(../images/sprite.png) repeat-x 0 0;
979 background: url(../images/sprite.png) repeat-x 0 0;
981 border: 1px solid #999;
980 border: 1px solid #999;
982 width: 4em;
981 width: 4em;
983 height: 1.8em;
982 height: 1.8em;
984 margin-left: 6px;
983 margin-left: 6px;
985 }
984 }
986 .yui-dt-editor .yui-dt-button button.yui-dt-default {
985 .yui-dt-editor .yui-dt-button button.yui-dt-default {
987 background: url(../images/sprite.png) repeat-x 0 -1400px;
986 background: url(../images/sprite.png) repeat-x 0 -1400px;
988 background-color: #5584e0;
987 background-color: #5584e0;
989 border: 1px solid #304369;
988 border: 1px solid #304369;
990 color: #FFF;
989 color: #FFF;
991 }
990 }
992 .yui-dt-editor .yui-dt-button button:hover {
991 .yui-dt-editor .yui-dt-button button:hover {
993 background: url(../images/sprite.png) repeat-x 0 -1300px;
992 background: url(../images/sprite.png) repeat-x 0 -1300px;
994 color: #000;
993 color: #000;
995 }
994 }
996 .yui-dt-editor .yui-dt-button button:active {
995 .yui-dt-editor .yui-dt-button button:active {
997 background: url(../images/sprite.png) repeat-x 0 -1700px;
996 background: url(../images/sprite.png) repeat-x 0 -1700px;
998 color: #000;
997 color: #000;
999 }
998 }
1000 .yui-skin-sam tr.yui-dt-even { background-color: #FFF }
999 .yui-skin-sam tr.yui-dt-even { background-color: #FFF }
1001 .yui-skin-sam tr.yui-dt-odd { background-color: #edf5ff }
1000 .yui-skin-sam tr.yui-dt-odd { background-color: #edf5ff }
1002 .yui-skin-sam tr.yui-dt-even td.yui-dt-asc,
1001 .yui-skin-sam tr.yui-dt-even td.yui-dt-asc,
1003 .yui-skin-sam tr.yui-dt-even td.yui-dt-desc { background-color: #edf5ff }
1002 .yui-skin-sam tr.yui-dt-even td.yui-dt-desc { background-color: #edf5ff }
1004 .yui-skin-sam tr.yui-dt-odd td.yui-dt-asc,
1003 .yui-skin-sam tr.yui-dt-odd td.yui-dt-asc,
1005 .yui-skin-sam tr.yui-dt-odd td.yui-dt-desc { background-color: #dbeaff }
1004 .yui-skin-sam tr.yui-dt-odd td.yui-dt-desc { background-color: #dbeaff }
1006 .yui-skin-sam .yui-dt-list tr.yui-dt-even { background-color: #FFF }
1005 .yui-skin-sam .yui-dt-list tr.yui-dt-even { background-color: #FFF }
1007 .yui-skin-sam .yui-dt-list tr.yui-dt-odd { background-color: #FFF }
1006 .yui-skin-sam .yui-dt-list tr.yui-dt-odd { background-color: #FFF }
1008 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-asc,
1007 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-asc,
1009 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-desc { background-color: #edf5ff }
1008 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-desc { background-color: #edf5ff }
1010 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-asc,
1009 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-asc,
1011 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-desc { background-color: #edf5ff }
1010 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-desc { background-color: #edf5ff }
1012 .yui-skin-sam th.yui-dt-highlighted,
1011 .yui-skin-sam th.yui-dt-highlighted,
1013 .yui-skin-sam th.yui-dt-highlighted a { background-color: #b2d2ff }
1012 .yui-skin-sam th.yui-dt-highlighted a { background-color: #b2d2ff }
1014 .yui-skin-sam tr.yui-dt-highlighted,
1013 .yui-skin-sam tr.yui-dt-highlighted,
1015 .yui-skin-sam tr.yui-dt-highlighted td.yui-dt-asc,
1014 .yui-skin-sam tr.yui-dt-highlighted td.yui-dt-asc,
1016 .yui-skin-sam tr.yui-dt-highlighted td.yui-dt-desc,
1015 .yui-skin-sam tr.yui-dt-highlighted td.yui-dt-desc,
1017 .yui-skin-sam tr.yui-dt-even td.yui-dt-highlighted,
1016 .yui-skin-sam tr.yui-dt-even td.yui-dt-highlighted,
1018 .yui-skin-sam tr.yui-dt-odd td.yui-dt-highlighted {
1017 .yui-skin-sam tr.yui-dt-odd td.yui-dt-highlighted {
1019 cursor: pointer;
1018 cursor: pointer;
1020 background-color: #b2d2ff;
1019 background-color: #b2d2ff;
1021 }
1020 }
1022 .yui-skin-sam .yui-dt-list th.yui-dt-highlighted,
1021 .yui-skin-sam .yui-dt-list th.yui-dt-highlighted,
1023 .yui-skin-sam .yui-dt-list th.yui-dt-highlighted a { background-color: #b2d2ff }
1022 .yui-skin-sam .yui-dt-list th.yui-dt-highlighted a { background-color: #b2d2ff }
1024 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted,
1023 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted,
1025 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted td.yui-dt-asc,
1024 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted td.yui-dt-asc,
1026 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted td.yui-dt-desc,
1025 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted td.yui-dt-desc,
1027 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-highlighted,
1026 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-highlighted,
1028 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-highlighted {
1027 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-highlighted {
1029 cursor: pointer;
1028 cursor: pointer;
1030 background-color: #b2d2ff;
1029 background-color: #b2d2ff;
1031 }
1030 }
1032 .yui-skin-sam th.yui-dt-selected,
1031 .yui-skin-sam th.yui-dt-selected,
1033 .yui-skin-sam th.yui-dt-selected a { background-color: #446cd7 }
1032 .yui-skin-sam th.yui-dt-selected a { background-color: #446cd7 }
1034 .yui-skin-sam tr.yui-dt-selected td,
1033 .yui-skin-sam tr.yui-dt-selected td,
1035 .yui-skin-sam tr.yui-dt-selected td.yui-dt-asc,
1034 .yui-skin-sam tr.yui-dt-selected td.yui-dt-asc,
1036 .yui-skin-sam tr.yui-dt-selected td.yui-dt-desc {
1035 .yui-skin-sam tr.yui-dt-selected td.yui-dt-desc {
1037 background-color: #426fd9;
1036 background-color: #426fd9;
1038 color: #FFF;
1037 color: #FFF;
1039 }
1038 }
1040 .yui-skin-sam tr.yui-dt-even td.yui-dt-selected,
1039 .yui-skin-sam tr.yui-dt-even td.yui-dt-selected,
1041 .yui-skin-sam tr.yui-dt-odd td.yui-dt-selected {
1040 .yui-skin-sam tr.yui-dt-odd td.yui-dt-selected {
1042 background-color: #446cd7;
1041 background-color: #446cd7;
1043 color: #FFF;
1042 color: #FFF;
1044 }
1043 }
1045 .yui-skin-sam .yui-dt-list th.yui-dt-selected,
1044 .yui-skin-sam .yui-dt-list th.yui-dt-selected,
1046 .yui-skin-sam .yui-dt-list th.yui-dt-selected a { background-color: #446cd7 }
1045 .yui-skin-sam .yui-dt-list th.yui-dt-selected a { background-color: #446cd7 }
1047 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td,
1046 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td,
1048 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td.yui-dt-asc,
1047 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td.yui-dt-asc,
1049 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td.yui-dt-desc {
1048 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td.yui-dt-desc {
1050 background-color: #426fd9;
1049 background-color: #426fd9;
1051 color: #FFF;
1050 color: #FFF;
1052 }
1051 }
1053 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-selected,
1052 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-selected,
1054 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-selected {
1053 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-selected {
1055 background-color: #446cd7;
1054 background-color: #446cd7;
1056 color: #FFF;
1055 color: #FFF;
1057 }
1056 }
1058 .yui-skin-sam .yui-dt-paginator {
1057 .yui-skin-sam .yui-dt-paginator {
1059 display: block;
1058 display: block;
1060 margin: 6px 0;
1059 margin: 6px 0;
1061 white-space: nowrap;
1060 white-space: nowrap;
1062 }
1061 }
1063 .yui-skin-sam .yui-dt-paginator .yui-dt-first,
1062 .yui-skin-sam .yui-dt-paginator .yui-dt-first,
1064 .yui-skin-sam .yui-dt-paginator .yui-dt-last,
1063 .yui-skin-sam .yui-dt-paginator .yui-dt-last,
1065 .yui-skin-sam .yui-dt-paginator .yui-dt-selected { padding: 2px 6px }
1064 .yui-skin-sam .yui-dt-paginator .yui-dt-selected { padding: 2px 6px }
1066 .yui-skin-sam .yui-dt-paginator a.yui-dt-first,
1065 .yui-skin-sam .yui-dt-paginator a.yui-dt-first,
1067 .yui-skin-sam .yui-dt-paginator a.yui-dt-last { text-decoration: none }
1066 .yui-skin-sam .yui-dt-paginator a.yui-dt-last { text-decoration: none }
1068 .yui-skin-sam .yui-dt-paginator .yui-dt-previous,
1067 .yui-skin-sam .yui-dt-paginator .yui-dt-previous,
1069 .yui-skin-sam .yui-dt-paginator .yui-dt-next { display: none }
1068 .yui-skin-sam .yui-dt-paginator .yui-dt-next { display: none }
1070 .yui-skin-sam a.yui-dt-page {
1069 .yui-skin-sam a.yui-dt-page {
1071 border: 1px solid #cbcbcb;
1070 border: 1px solid #cbcbcb;
1072 padding: 2px 6px;
1071 padding: 2px 6px;
1073 text-decoration: none;
1072 text-decoration: none;
1074 background-color: #fff;
1073 background-color: #fff;
1075 }
1074 }
1076 .yui-skin-sam .yui-dt-selected {
1075 .yui-skin-sam .yui-dt-selected {
1077 border: 1px solid #fff;
1076 border: 1px solid #fff;
1078 background-color: #fff;
1077 background-color: #fff;
1079 }
1078 }
1080
1079
1081 #content #left {
1080 #content #left {
1082 left: 0;
1081 left: 0;
1083 width: 280px;
1082 width: 280px;
1084 position: absolute;
1083 position: absolute;
1085 }
1084 }
1086
1085
1087 #content #right {
1086 #content #right {
1088 margin: 0 60px 10px 290px;
1087 margin: 0 60px 10px 290px;
1089 }
1088 }
1090
1089
1091 #content div.box {
1090 #content div.box {
1092 clear: both;
1091 clear: both;
1093 overflow: hidden;
1092 overflow: hidden;
1094 background: #fff;
1093 background: #fff;
1095 margin: 0 0 10px;
1094 margin: 0 0 10px;
1096 padding: 0 0 10px;
1095 padding: 0 0 10px;
1097 -webkit-border-radius: 4px 4px 4px 4px;
1096 -webkit-border-radius: 4px 4px 4px 4px;
1098 -khtml-border-radius: 4px 4px 4px 4px;
1097 -khtml-border-radius: 4px 4px 4px 4px;
1099 -moz-border-radius: 4px 4px 4px 4px;
1098 -moz-border-radius: 4px 4px 4px 4px;
1100 border-radius: 4px 4px 4px 4px;
1099 border-radius: 4px 4px 4px 4px;
1101 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1100 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1102 }
1101 }
1103
1102
1104 #content div.box-left {
1103 #content div.box-left {
1105 width: 49%;
1104 width: 49%;
1106 clear: none;
1105 clear: none;
1107 float: left;
1106 float: left;
1108 margin: 0 0 10px;
1107 margin: 0 0 10px;
1109 }
1108 }
1110
1109
1111 #content div.box-right {
1110 #content div.box-right {
1112 width: 49%;
1111 width: 49%;
1113 clear: none;
1112 clear: none;
1114 float: right;
1113 float: right;
1115 margin: 0 0 10px;
1114 margin: 0 0 10px;
1116 }
1115 }
1117
1116
1118 #content div.box div.title {
1117 #content div.box div.title {
1119 clear: both;
1118 clear: both;
1120 overflow: hidden;
1119 overflow: hidden;
1121 background-color: #003B76;
1120 background-color: #003B76;
1122 background-repeat: repeat-x;
1121 background-repeat: repeat-x;
1123 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
1122 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
1124 background-image: -moz-linear-gradient(top, #003b76, #00376e);
1123 background-image: -moz-linear-gradient(top, #003b76, #00376e);
1125 background-image: -ms-linear-gradient(top, #003b76, #00376e);
1124 background-image: -ms-linear-gradient(top, #003b76, #00376e);
1126 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
1125 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
1127 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
1126 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
1128 background-image: -o-linear-gradient(top, #003b76, #00376e);
1127 background-image: -o-linear-gradient(top, #003b76, #00376e);
1129 background-image: linear-gradient(top, #003b76, #00376e);
1128 background-image: linear-gradient(top, #003b76, #00376e);
1130 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76', endColorstr='#00376e', GradientType=0 );
1129 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76', endColorstr='#00376e', GradientType=0 );
1131 margin: 0 0 20px;
1130 margin: 0 0 20px;
1132 padding: 0;
1131 padding: 0;
1133 }
1132 }
1134
1133
1135 #content div.box div.title h5 {
1134 #content div.box div.title h5 {
1136 float: left;
1135 float: left;
1137 border: none;
1136 border: none;
1138 color: #fff;
1137 color: #fff;
1139 text-transform: uppercase;
1138 text-transform: uppercase;
1140 margin: 0;
1139 margin: 0;
1141 padding: 11px 0 11px 10px;
1140 padding: 11px 0 11px 10px;
1142 }
1141 }
1143
1142
1144 #content div.box div.title .link-white {
1143 #content div.box div.title .link-white {
1145 color: #FFFFFF;
1144 color: #FFFFFF;
1146 }
1145 }
1147
1146
1148 #content div.box div.title .link-white.current {
1147 #content div.box div.title .link-white.current {
1149 color: #BFE3FF;
1148 color: #BFE3FF;
1150 }
1149 }
1151
1150
1152 #content div.box div.title ul.links li {
1151 #content div.box div.title ul.links li {
1153 list-style: none;
1152 list-style: none;
1154 float: left;
1153 float: left;
1155 margin: 0;
1154 margin: 0;
1156 padding: 0;
1155 padding: 0;
1157 }
1156 }
1158
1157
1159 #content div.box div.title ul.links li a {
1158 #content div.box div.title ul.links li a {
1160 border-left: 1px solid #316293;
1159 border-left: 1px solid #316293;
1161 color: #FFFFFF;
1160 color: #FFFFFF;
1162 display: block;
1161 display: block;
1163 float: left;
1162 float: left;
1164 font-size: 13px;
1163 font-size: 13px;
1165 font-weight: 700;
1164 font-weight: 700;
1166 height: 1%;
1165 height: 1%;
1167 margin: 0;
1166 margin: 0;
1168 padding: 11px 22px 12px;
1167 padding: 11px 22px 12px;
1169 text-decoration: none;
1168 text-decoration: none;
1170 }
1169 }
1171
1170
1172 #content div.box h1, #content div.box h2, #content div.box h3, #content div.box h4, #content div.box h5, #content div.box h6,
1171 #content div.box h1, #content div.box h2, #content div.box h3, #content div.box h4, #content div.box h5, #content div.box h6,
1173 #content div.box div.h1, #content div.box div.h2, #content div.box div.h3, #content div.box div.h4, #content div.box div.h5, #content div.box div.h6 {
1172 #content div.box div.h1, #content div.box div.h2, #content div.box div.h3, #content div.box div.h4, #content div.box div.h5, #content div.box div.h6 {
1174 clear: both;
1173 clear: both;
1175 overflow: hidden;
1174 overflow: hidden;
1176 border-bottom: 1px solid #DDD;
1175 border-bottom: 1px solid #DDD;
1177 margin: 10px 20px;
1176 margin: 10px 20px;
1178 padding: 0 0 15px;
1177 padding: 0 0 15px;
1179 }
1178 }
1180
1179
1181 #content div.box p {
1180 #content div.box p {
1182 color: #5f5f5f;
1181 color: #5f5f5f;
1183 font-size: 12px;
1182 font-size: 12px;
1184 line-height: 150%;
1183 line-height: 150%;
1185 margin: 0 24px 10px;
1184 margin: 0 24px 10px;
1186 padding: 0;
1185 padding: 0;
1187 }
1186 }
1188
1187
1189 #content div.box blockquote {
1188 #content div.box blockquote {
1190 border-left: 4px solid #DDD;
1189 border-left: 4px solid #DDD;
1191 color: #5f5f5f;
1190 color: #5f5f5f;
1192 font-size: 11px;
1191 font-size: 11px;
1193 line-height: 150%;
1192 line-height: 150%;
1194 margin: 0 34px;
1193 margin: 0 34px;
1195 padding: 0 0 0 14px;
1194 padding: 0 0 0 14px;
1196 }
1195 }
1197
1196
1198 #content div.box blockquote p {
1197 #content div.box blockquote p {
1199 margin: 10px 0;
1198 margin: 10px 0;
1200 padding: 0;
1199 padding: 0;
1201 }
1200 }
1202
1201
1203 #content div.box dl {
1202 #content div.box dl {
1204 margin: 10px 0px;
1203 margin: 10px 0px;
1205 }
1204 }
1206
1205
1207 #content div.box dt {
1206 #content div.box dt {
1208 font-size: 12px;
1207 font-size: 12px;
1209 margin: 0;
1208 margin: 0;
1210 }
1209 }
1211
1210
1212 #content div.box dd {
1211 #content div.box dd {
1213 font-size: 12px;
1212 font-size: 12px;
1214 margin: 0;
1213 margin: 0;
1215 padding: 8px 0 8px 15px;
1214 padding: 8px 0 8px 15px;
1216 }
1215 }
1217
1216
1218 #content div.box li {
1217 #content div.box li {
1219 font-size: 12px;
1218 font-size: 12px;
1220 padding: 4px 0;
1219 padding: 4px 0;
1221 }
1220 }
1222
1221
1223 #content div.box ul.disc, #content div.box ul.circle {
1222 #content div.box ul.disc, #content div.box ul.circle {
1224 margin: 10px 24px 10px 38px;
1223 margin: 10px 24px 10px 38px;
1225 }
1224 }
1226
1225
1227 #content div.box ul.square {
1226 #content div.box ul.square {
1228 margin: 10px 24px 10px 40px;
1227 margin: 10px 24px 10px 40px;
1229 }
1228 }
1230
1229
1231 #content div.box img.left {
1230 #content div.box img.left {
1232 border: none;
1231 border: none;
1233 float: left;
1232 float: left;
1234 margin: 10px 10px 10px 0;
1233 margin: 10px 10px 10px 0;
1235 }
1234 }
1236
1235
1237 #content div.box img.right {
1236 #content div.box img.right {
1238 border: none;
1237 border: none;
1239 float: right;
1238 float: right;
1240 margin: 10px 0 10px 10px;
1239 margin: 10px 0 10px 10px;
1241 }
1240 }
1242
1241
1243 #content div.box div.messages {
1242 #content div.box div.messages {
1244 clear: both;
1243 clear: both;
1245 overflow: hidden;
1244 overflow: hidden;
1246 margin: 0 20px;
1245 margin: 0 20px;
1247 padding: 0;
1246 padding: 0;
1248 }
1247 }
1249
1248
1250 #content div.box div.message {
1249 #content div.box div.message {
1251 clear: both;
1250 clear: both;
1252 overflow: hidden;
1251 overflow: hidden;
1253 margin: 0;
1252 margin: 0;
1254 padding: 5px 0;
1253 padding: 5px 0;
1255 white-space: pre-wrap;
1254 white-space: pre-wrap;
1256 }
1255 }
1257 #content div.box div.expand {
1256 #content div.box div.expand {
1258 width: 110%;
1257 width: 110%;
1259 height:14px;
1258 height:14px;
1260 font-size:10px;
1259 font-size:10px;
1261 text-align:center;
1260 text-align:center;
1262 cursor: pointer;
1261 cursor: pointer;
1263 color:#666;
1262 color:#666;
1264
1263
1265 background:-webkit-gradient(linear,0% 50%,100% 50%,color-stop(0%,rgba(255,255,255,0)),color-stop(100%,rgba(64,96,128,0.1)));
1264 background:-webkit-gradient(linear,0% 50%,100% 50%,color-stop(0%,rgba(255,255,255,0)),color-stop(100%,rgba(64,96,128,0.1)));
1266 background:-webkit-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1265 background:-webkit-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1267 background:-moz-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1266 background:-moz-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1268 background:-o-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1267 background:-o-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1269 background:-ms-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1268 background:-ms-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1270 background:linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1269 background:linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1271
1270
1272 display: none;
1271 display: none;
1273 }
1272 }
1274 #content div.box div.expand .expandtext {
1273 #content div.box div.expand .expandtext {
1275 background-color: #ffffff;
1274 background-color: #ffffff;
1276 padding: 2px;
1275 padding: 2px;
1277 border-radius: 2px;
1276 border-radius: 2px;
1278 }
1277 }
1279
1278
1280 #content div.box div.message a {
1279 #content div.box div.message a {
1281 font-weight: 400 !important;
1280 font-weight: 400 !important;
1282 }
1281 }
1283
1282
1284 #content div.box div.message div.image {
1283 #content div.box div.message div.image {
1285 float: left;
1284 float: left;
1286 margin: 9px 0 0 5px;
1285 margin: 9px 0 0 5px;
1287 padding: 6px;
1286 padding: 6px;
1288 }
1287 }
1289
1288
1290 #content div.box div.message div.image img {
1289 #content div.box div.message div.image img {
1291 vertical-align: middle;
1290 vertical-align: middle;
1292 margin: 0;
1291 margin: 0;
1293 }
1292 }
1294
1293
1295 #content div.box div.message div.text {
1294 #content div.box div.message div.text {
1296 float: left;
1295 float: left;
1297 margin: 0;
1296 margin: 0;
1298 padding: 9px 6px;
1297 padding: 9px 6px;
1299 }
1298 }
1300
1299
1301 #content div.box div.message div.dismiss a {
1300 #content div.box div.message div.dismiss a {
1302 height: 16px;
1301 height: 16px;
1303 width: 16px;
1302 width: 16px;
1304 display: block;
1303 display: block;
1305 background: url("../images/icons/cross.png") no-repeat;
1304 background: url("../images/icons/cross.png") no-repeat;
1306 margin: 15px 14px 0 0;
1305 margin: 15px 14px 0 0;
1307 padding: 0;
1306 padding: 0;
1308 }
1307 }
1309
1308
1310 #content div.box div.message div.text h1, #content div.box div.message div.text h2, #content div.box div.message div.text h3, #content div.box div.message div.text h4, #content div.box div.message div.text h5, #content div.box div.message div.text h6 {
1309 #content div.box div.message div.text h1, #content div.box div.message div.text h2, #content div.box div.message div.text h3, #content div.box div.message div.text h4, #content div.box div.message div.text h5, #content div.box div.message div.text h6 {
1311 border: none;
1310 border: none;
1312 margin: 0;
1311 margin: 0;
1313 padding: 0;
1312 padding: 0;
1314 }
1313 }
1315
1314
1316 #content div.box div.message div.text span {
1315 #content div.box div.message div.text span {
1317 height: 1%;
1316 height: 1%;
1318 display: block;
1317 display: block;
1319 margin: 0;
1318 margin: 0;
1320 padding: 5px 0 0;
1319 padding: 5px 0 0;
1321 }
1320 }
1322
1321
1323 #content div.box div.message-error {
1322 #content div.box div.message-error {
1324 height: 1%;
1323 height: 1%;
1325 clear: both;
1324 clear: both;
1326 overflow: hidden;
1325 overflow: hidden;
1327 background: #FBE3E4;
1326 background: #FBE3E4;
1328 border: 1px solid #FBC2C4;
1327 border: 1px solid #FBC2C4;
1329 color: #860006;
1328 color: #860006;
1330 }
1329 }
1331
1330
1332 #content div.box div.message-error h6 {
1331 #content div.box div.message-error h6 {
1333 color: #860006;
1332 color: #860006;
1334 }
1333 }
1335
1334
1336 #content div.box div.message-warning {
1335 #content div.box div.message-warning {
1337 height: 1%;
1336 height: 1%;
1338 clear: both;
1337 clear: both;
1339 overflow: hidden;
1338 overflow: hidden;
1340 background: #FFF6BF;
1339 background: #FFF6BF;
1341 border: 1px solid #FFD324;
1340 border: 1px solid #FFD324;
1342 color: #5f5200;
1341 color: #5f5200;
1343 }
1342 }
1344
1343
1345 #content div.box div.message-warning h6 {
1344 #content div.box div.message-warning h6 {
1346 color: #5f5200;
1345 color: #5f5200;
1347 }
1346 }
1348
1347
1349 #content div.box div.message-notice {
1348 #content div.box div.message-notice {
1350 height: 1%;
1349 height: 1%;
1351 clear: both;
1350 clear: both;
1352 overflow: hidden;
1351 overflow: hidden;
1353 background: #8FBDE0;
1352 background: #8FBDE0;
1354 border: 1px solid #6BACDE;
1353 border: 1px solid #6BACDE;
1355 color: #003863;
1354 color: #003863;
1356 }
1355 }
1357
1356
1358 #content div.box div.message-notice h6 {
1357 #content div.box div.message-notice h6 {
1359 color: #003863;
1358 color: #003863;
1360 }
1359 }
1361
1360
1362 #content div.box div.message-success {
1361 #content div.box div.message-success {
1363 height: 1%;
1362 height: 1%;
1364 clear: both;
1363 clear: both;
1365 overflow: hidden;
1364 overflow: hidden;
1366 background: #E6EFC2;
1365 background: #E6EFC2;
1367 border: 1px solid #C6D880;
1366 border: 1px solid #C6D880;
1368 color: #4e6100;
1367 color: #4e6100;
1369 }
1368 }
1370
1369
1371 #content div.box div.message-success h6 {
1370 #content div.box div.message-success h6 {
1372 color: #4e6100;
1371 color: #4e6100;
1373 }
1372 }
1374
1373
1375 #content div.box div.form div.fields div.field {
1374 #content div.box div.form div.fields div.field {
1376 height: 1%;
1375 height: 1%;
1377 min-height: 12px;
1376 min-height: 12px;
1378 border-bottom: 1px solid #DDD;
1377 border-bottom: 1px solid #DDD;
1379 clear: both;
1378 clear: both;
1380 margin: 0;
1379 margin: 0;
1381 padding: 10px 0;
1380 padding: 10px 0;
1382 }
1381 }
1383
1382
1384 #content div.box div.form div.fields div.field-first {
1383 #content div.box div.form div.fields div.field-first {
1385 padding: 0 0 10px;
1384 padding: 0 0 10px;
1386 }
1385 }
1387
1386
1388 #content div.box div.form div.fields div.field-noborder {
1387 #content div.box div.form div.fields div.field-noborder {
1389 border-bottom: 0 !important;
1388 border-bottom: 0 !important;
1390 }
1389 }
1391
1390
1392 #content div.box div.form div.fields div.field span.error-message {
1391 #content div.box div.form div.fields div.field span.error-message {
1393 height: 1%;
1392 height: 1%;
1394 display: inline-block;
1393 display: inline-block;
1395 color: red;
1394 color: red;
1396 margin: 8px 0 0 4px;
1395 margin: 8px 0 0 4px;
1397 padding: 0;
1396 padding: 0;
1398 }
1397 }
1399
1398
1400 #content div.box div.form div.fields div.field span.success {
1399 #content div.box div.form div.fields div.field span.success {
1401 height: 1%;
1400 height: 1%;
1402 display: block;
1401 display: block;
1403 color: #316309;
1402 color: #316309;
1404 margin: 8px 0 0;
1403 margin: 8px 0 0;
1405 padding: 0;
1404 padding: 0;
1406 }
1405 }
1407
1406
1408 #content div.box div.form div.fields div.field div.label {
1407 #content div.box div.form div.fields div.field div.label {
1409 left: 70px;
1408 left: 70px;
1410 width: 155px;
1409 width: 155px;
1411 position: absolute;
1410 position: absolute;
1412 margin: 0;
1411 margin: 0;
1413 padding: 5px 0 0 0px;
1412 padding: 5px 0 0 0px;
1414 }
1413 }
1415
1414
1416 #content div.box div.form div.fields div.field div.label-summary {
1415 #content div.box div.form div.fields div.field div.label-summary {
1417 left: 30px;
1416 left: 30px;
1418 width: 155px;
1417 width: 155px;
1419 position: absolute;
1418 position: absolute;
1420 margin: 0;
1419 margin: 0;
1421 padding: 0px 0 0 0px;
1420 padding: 0px 0 0 0px;
1422 }
1421 }
1423
1422
1424 #content div.box-left div.form div.fields div.field div.label,
1423 #content div.box-left div.form div.fields div.field div.label,
1425 #content div.box-right div.form div.fields div.field div.label,
1424 #content div.box-right div.form div.fields div.field div.label,
1426 #content div.box-left div.form div.fields div.field div.label,
1425 #content div.box-left div.form div.fields div.field div.label,
1427 #content div.box-left div.form div.fields div.field div.label-summary,
1426 #content div.box-left div.form div.fields div.field div.label-summary,
1428 #content div.box-right div.form div.fields div.field div.label-summary,
1427 #content div.box-right div.form div.fields div.field div.label-summary,
1429 #content div.box-left div.form div.fields div.field div.label-summary {
1428 #content div.box-left div.form div.fields div.field div.label-summary {
1430 clear: both;
1429 clear: both;
1431 overflow: hidden;
1430 overflow: hidden;
1432 left: 0;
1431 left: 0;
1433 width: auto;
1432 width: auto;
1434 position: relative;
1433 position: relative;
1435 margin: 0;
1434 margin: 0;
1436 padding: 0 0 8px;
1435 padding: 0 0 8px;
1437 }
1436 }
1438
1437
1439 #content div.box div.form div.fields div.field div.label-select {
1438 #content div.box div.form div.fields div.field div.label-select {
1440 padding: 5px 0 0 5px;
1439 padding: 5px 0 0 5px;
1441 }
1440 }
1442
1441
1443 #content div.box-left div.form div.fields div.field div.label-select,
1442 #content div.box-left div.form div.fields div.field div.label-select,
1444 #content div.box-right div.form div.fields div.field div.label-select {
1443 #content div.box-right div.form div.fields div.field div.label-select {
1445 padding: 0 0 8px;
1444 padding: 0 0 8px;
1446 }
1445 }
1447
1446
1448 #content div.box-left div.form div.fields div.field div.label-textarea,
1447 #content div.box-left div.form div.fields div.field div.label-textarea,
1449 #content div.box-right div.form div.fields div.field div.label-textarea {
1448 #content div.box-right div.form div.fields div.field div.label-textarea {
1450 padding: 0 0 8px !important;
1449 padding: 0 0 8px !important;
1451 }
1450 }
1452
1451
1453 #content div.box div.form div.fields div.field div.label label, div.label label {
1452 #content div.box div.form div.fields div.field div.label label, div.label label {
1454 color: #393939;
1453 color: #393939;
1455 font-weight: 700;
1454 font-weight: 700;
1456 }
1455 }
1457 #content div.box div.form div.fields div.field div.label label, div.label-summary label {
1456 #content div.box div.form div.fields div.field div.label label, div.label-summary label {
1458 color: #393939;
1457 color: #393939;
1459 font-weight: 700;
1458 font-weight: 700;
1460 }
1459 }
1461 #content div.box div.form div.fields div.field div.input {
1460 #content div.box div.form div.fields div.field div.input {
1462 margin: 0 0 0 200px;
1461 margin: 0 0 0 200px;
1463 }
1462 }
1464
1463
1465 #content div.box div.form div.fields div.field div.input.summary {
1464 #content div.box div.form div.fields div.field div.input.summary {
1466 margin: 0 0 0 110px;
1465 margin: 0 0 0 110px;
1467 }
1466 }
1468 #content div.box div.form div.fields div.field div.input.summary-short {
1467 #content div.box div.form div.fields div.field div.input.summary-short {
1469 margin: 0 0 0 110px;
1468 margin: 0 0 0 110px;
1470 }
1469 }
1471 #content div.box div.form div.fields div.field div.file {
1470 #content div.box div.form div.fields div.field div.file {
1472 margin: 0 0 0 200px;
1471 margin: 0 0 0 200px;
1473 }
1472 }
1474
1473
1475 #content div.box-left div.form div.fields div.field div.input, #content div.box-right div.form div.fields div.field div.input {
1474 #content div.box-left div.form div.fields div.field div.input, #content div.box-right div.form div.fields div.field div.input {
1476 margin: 0 0 0 0px;
1475 margin: 0 0 0 0px;
1477 }
1476 }
1478
1477
1479 #content div.box div.form div.fields div.field div.input input,
1478 #content div.box div.form div.fields div.field div.input input,
1480 .reviewer_ac input {
1479 .reviewer_ac input {
1481 background: #FFF;
1480 background: #FFF;
1482 border-top: 1px solid #b3b3b3;
1481 border-top: 1px solid #b3b3b3;
1483 border-left: 1px solid #b3b3b3;
1482 border-left: 1px solid #b3b3b3;
1484 border-right: 1px solid #eaeaea;
1483 border-right: 1px solid #eaeaea;
1485 border-bottom: 1px solid #eaeaea;
1484 border-bottom: 1px solid #eaeaea;
1486 color: #000;
1485 color: #000;
1487 font-size: 11px;
1486 font-size: 11px;
1488 margin: 0;
1487 margin: 0;
1489 padding: 7px 7px 6px;
1488 padding: 7px 7px 6px;
1490 }
1489 }
1491
1490
1492 #content div.box div.form div.fields div.field div.input input#clone_url,
1491 #content div.box div.form div.fields div.field div.input input#clone_url,
1493 #content div.box div.form div.fields div.field div.input input#clone_url_id
1492 #content div.box div.form div.fields div.field div.input input#clone_url_id
1494 {
1493 {
1495 font-size: 16px;
1494 font-size: 16px;
1496 padding: 2px;
1495 padding: 2px;
1497 }
1496 }
1498
1497
1499 #content div.box div.form div.fields div.field div.file input {
1498 #content div.box div.form div.fields div.field div.file input {
1500 background: none repeat scroll 0 0 #FFFFFF;
1499 background: none repeat scroll 0 0 #FFFFFF;
1501 border-color: #B3B3B3 #EAEAEA #EAEAEA #B3B3B3;
1500 border-color: #B3B3B3 #EAEAEA #EAEAEA #B3B3B3;
1502 border-style: solid;
1501 border-style: solid;
1503 border-width: 1px;
1502 border-width: 1px;
1504 color: #000000;
1503 color: #000000;
1505 font-size: 11px;
1504 font-size: 11px;
1506 margin: 0;
1505 margin: 0;
1507 padding: 7px 7px 6px;
1506 padding: 7px 7px 6px;
1508 }
1507 }
1509
1508
1510 input.disabled {
1509 input.disabled {
1511 background-color: #F5F5F5 !important;
1510 background-color: #F5F5F5 !important;
1512 }
1511 }
1513 #content div.box div.form div.fields div.field div.input input.small {
1512 #content div.box div.form div.fields div.field div.input input.small {
1514 width: 30%;
1513 width: 30%;
1515 }
1514 }
1516
1515
1517 #content div.box div.form div.fields div.field div.input input.medium {
1516 #content div.box div.form div.fields div.field div.input input.medium {
1518 width: 55%;
1517 width: 55%;
1519 }
1518 }
1520
1519
1521 #content div.box div.form div.fields div.field div.input input.large {
1520 #content div.box div.form div.fields div.field div.input input.large {
1522 width: 85%;
1521 width: 85%;
1523 }
1522 }
1524
1523
1525 #content div.box div.form div.fields div.field div.input input.date {
1524 #content div.box div.form div.fields div.field div.input input.date {
1526 width: 177px;
1525 width: 177px;
1527 }
1526 }
1528
1527
1529 #content div.box div.form div.fields div.field div.input input.button {
1528 #content div.box div.form div.fields div.field div.input input.button {
1530 background: #D4D0C8;
1529 background: #D4D0C8;
1531 border-top: 1px solid #FFF;
1530 border-top: 1px solid #FFF;
1532 border-left: 1px solid #FFF;
1531 border-left: 1px solid #FFF;
1533 border-right: 1px solid #404040;
1532 border-right: 1px solid #404040;
1534 border-bottom: 1px solid #404040;
1533 border-bottom: 1px solid #404040;
1535 color: #000;
1534 color: #000;
1536 margin: 0;
1535 margin: 0;
1537 padding: 4px 8px;
1536 padding: 4px 8px;
1538 }
1537 }
1539
1538
1540 #content div.box div.form div.fields div.field div.textarea {
1539 #content div.box div.form div.fields div.field div.textarea {
1541 border-top: 1px solid #b3b3b3;
1540 border-top: 1px solid #b3b3b3;
1542 border-left: 1px solid #b3b3b3;
1541 border-left: 1px solid #b3b3b3;
1543 border-right: 1px solid #eaeaea;
1542 border-right: 1px solid #eaeaea;
1544 border-bottom: 1px solid #eaeaea;
1543 border-bottom: 1px solid #eaeaea;
1545 margin: 0 0 0 200px;
1544 margin: 0 0 0 200px;
1546 padding: 10px;
1545 padding: 10px;
1547 }
1546 }
1548
1547
1549 #content div.box div.form div.fields div.field div.textarea-editor {
1548 #content div.box div.form div.fields div.field div.textarea-editor {
1550 border: 1px solid #ddd;
1549 border: 1px solid #ddd;
1551 padding: 0;
1550 padding: 0;
1552 }
1551 }
1553
1552
1554 #content div.box div.form div.fields div.field div.textarea textarea {
1553 #content div.box div.form div.fields div.field div.textarea textarea {
1555 width: 100%;
1554 width: 100%;
1556 height: 220px;
1555 height: 220px;
1557 overflow: hidden;
1556 overflow: hidden;
1558 background: #FFF;
1557 background: #FFF;
1559 color: #000;
1558 color: #000;
1560 font-size: 11px;
1559 font-size: 11px;
1561 outline: none;
1560 outline: none;
1562 border-width: 0;
1561 border-width: 0;
1563 margin: 0;
1562 margin: 0;
1564 padding: 0;
1563 padding: 0;
1565 }
1564 }
1566
1565
1567 #content div.box-left div.form div.fields div.field div.textarea textarea, #content div.box-right div.form div.fields div.field div.textarea textarea {
1566 #content div.box-left div.form div.fields div.field div.textarea textarea, #content div.box-right div.form div.fields div.field div.textarea textarea {
1568 width: 100%;
1567 width: 100%;
1569 height: 100px;
1568 height: 100px;
1570 }
1569 }
1571
1570
1572 #content div.box div.form div.fields div.field div.textarea table {
1571 #content div.box div.form div.fields div.field div.textarea table {
1573 width: 100%;
1572 width: 100%;
1574 border: none;
1573 border: none;
1575 margin: 0;
1574 margin: 0;
1576 padding: 0;
1575 padding: 0;
1577 }
1576 }
1578
1577
1579 #content div.box div.form div.fields div.field div.textarea table td {
1578 #content div.box div.form div.fields div.field div.textarea table td {
1580 background: #DDD;
1579 background: #DDD;
1581 border: none;
1580 border: none;
1582 padding: 0;
1581 padding: 0;
1583 }
1582 }
1584
1583
1585 #content div.box div.form div.fields div.field div.textarea table td table {
1584 #content div.box div.form div.fields div.field div.textarea table td table {
1586 width: auto;
1585 width: auto;
1587 border: none;
1586 border: none;
1588 margin: 0;
1587 margin: 0;
1589 padding: 0;
1588 padding: 0;
1590 }
1589 }
1591
1590
1592 #content div.box div.form div.fields div.field div.textarea table td table td {
1591 #content div.box div.form div.fields div.field div.textarea table td table td {
1593 font-size: 11px;
1592 font-size: 11px;
1594 padding: 5px 5px 5px 0;
1593 padding: 5px 5px 5px 0;
1595 }
1594 }
1596
1595
1597 #content div.box div.form div.fields div.field input[type=text]:focus,
1596 #content div.box div.form div.fields div.field input[type=text]:focus,
1598 #content div.box div.form div.fields div.field input[type=password]:focus,
1597 #content div.box div.form div.fields div.field input[type=password]:focus,
1599 #content div.box div.form div.fields div.field input[type=file]:focus,
1598 #content div.box div.form div.fields div.field input[type=file]:focus,
1600 #content div.box div.form div.fields div.field textarea:focus,
1599 #content div.box div.form div.fields div.field textarea:focus,
1601 #content div.box div.form div.fields div.field select:focus,
1600 #content div.box div.form div.fields div.field select:focus,
1602 .reviewer_ac input:focus {
1601 .reviewer_ac input:focus {
1603 background: #f6f6f6;
1602 background: #f6f6f6;
1604 border-color: #666;
1603 border-color: #666;
1605 }
1604 }
1606
1605
1607 .reviewer_ac {
1606 .reviewer_ac {
1608 padding:10px
1607 padding:10px
1609 }
1608 }
1610
1609
1611 div.form div.fields div.field div.button {
1610 div.form div.fields div.field div.button {
1612 margin: 0;
1611 margin: 0;
1613 padding: 0 0 0 8px;
1612 padding: 0 0 0 8px;
1614 }
1613 }
1615 #content div.box table.noborder {
1614 #content div.box table.noborder {
1616 border: 1px solid transparent;
1615 border: 1px solid transparent;
1617 }
1616 }
1618
1617
1619 #content div.box table {
1618 #content div.box table {
1620 width: 100%;
1619 width: 100%;
1621 border-collapse: separate;
1620 border-collapse: separate;
1622 margin: 0;
1621 margin: 0;
1623 padding: 0;
1622 padding: 0;
1624 border: 1px solid #eee;
1623 border: 1px solid #eee;
1625 -webkit-border-radius: 4px;
1624 -webkit-border-radius: 4px;
1626 -moz-border-radius: 4px;
1625 -moz-border-radius: 4px;
1627 border-radius: 4px;
1626 border-radius: 4px;
1628 }
1627 }
1629
1628
1630 #content div.box table th {
1629 #content div.box table th {
1631 background: #eee;
1630 background: #eee;
1632 border-bottom: 1px solid #ddd;
1631 border-bottom: 1px solid #ddd;
1633 padding: 5px 0px 5px 5px;
1632 padding: 5px 0px 5px 5px;
1634 text-align: left;
1633 text-align: left;
1635 }
1634 }
1636
1635
1637 #content div.box table th.left {
1636 #content div.box table th.left {
1638 text-align: left;
1637 text-align: left;
1639 }
1638 }
1640
1639
1641 #content div.box table th.right {
1640 #content div.box table th.right {
1642 text-align: right;
1641 text-align: right;
1643 }
1642 }
1644
1643
1645 #content div.box table th.center {
1644 #content div.box table th.center {
1646 text-align: center;
1645 text-align: center;
1647 }
1646 }
1648
1647
1649 #content div.box table th.selected {
1648 #content div.box table th.selected {
1650 vertical-align: middle;
1649 vertical-align: middle;
1651 padding: 0;
1650 padding: 0;
1652 }
1651 }
1653
1652
1654 #content div.box table td {
1653 #content div.box table td {
1655 background: #fff;
1654 background: #fff;
1656 border-bottom: 1px solid #cdcdcd;
1655 border-bottom: 1px solid #cdcdcd;
1657 vertical-align: middle;
1656 vertical-align: middle;
1658 padding: 5px;
1657 padding: 5px;
1659 }
1658 }
1660
1659
1661 #content div.box table tr.selected td {
1660 #content div.box table tr.selected td {
1662 background: #FFC;
1661 background: #FFC;
1663 }
1662 }
1664
1663
1665 #content div.box table td.selected {
1664 #content div.box table td.selected {
1666 width: 3%;
1665 width: 3%;
1667 text-align: center;
1666 text-align: center;
1668 vertical-align: middle;
1667 vertical-align: middle;
1669 padding: 0;
1668 padding: 0;
1670 }
1669 }
1671
1670
1672 #content div.box table td.action {
1671 #content div.box table td.action {
1673 width: 45%;
1672 width: 45%;
1674 text-align: left;
1673 text-align: left;
1675 }
1674 }
1676
1675
1677 #content div.box table td.date {
1676 #content div.box table td.date {
1678 width: 33%;
1677 width: 33%;
1679 text-align: center;
1678 text-align: center;
1680 }
1679 }
1681
1680
1682 #content div.box div.action {
1681 #content div.box div.action {
1683 float: right;
1682 float: right;
1684 background: #FFF;
1683 background: #FFF;
1685 text-align: right;
1684 text-align: right;
1686 margin: 10px 0 0;
1685 margin: 10px 0 0;
1687 padding: 0;
1686 padding: 0;
1688 }
1687 }
1689
1688
1690 #content div.box div.action select {
1689 #content div.box div.action select {
1691 font-size: 11px;
1690 font-size: 11px;
1692 margin: 0;
1691 margin: 0;
1693 }
1692 }
1694
1693
1695 #content div.box div.action .ui-selectmenu {
1694 #content div.box div.action .ui-selectmenu {
1696 margin: 0;
1695 margin: 0;
1697 padding: 0;
1696 padding: 0;
1698 }
1697 }
1699
1698
1700 #content div.box div.pagination {
1699 #content div.box div.pagination {
1701 height: 1%;
1700 height: 1%;
1702 clear: both;
1701 clear: both;
1703 overflow: hidden;
1702 overflow: hidden;
1704 margin: 10px 0 0;
1703 margin: 10px 0 0;
1705 padding: 0;
1704 padding: 0;
1706 }
1705 }
1707
1706
1708 #content div.box div.pagination ul.pager {
1707 #content div.box div.pagination ul.pager {
1709 float: right;
1708 float: right;
1710 text-align: right;
1709 text-align: right;
1711 margin: 0;
1710 margin: 0;
1712 padding: 0;
1711 padding: 0;
1713 }
1712 }
1714
1713
1715 #content div.box div.pagination ul.pager li {
1714 #content div.box div.pagination ul.pager li {
1716 height: 1%;
1715 height: 1%;
1717 float: left;
1716 float: left;
1718 list-style: none;
1717 list-style: none;
1719 background: #ebebeb url("../images/pager.png") repeat-x;
1718 background: #ebebeb url("../images/pager.png") repeat-x;
1720 border-top: 1px solid #dedede;
1719 border-top: 1px solid #dedede;
1721 border-left: 1px solid #cfcfcf;
1720 border-left: 1px solid #cfcfcf;
1722 border-right: 1px solid #c4c4c4;
1721 border-right: 1px solid #c4c4c4;
1723 border-bottom: 1px solid #c4c4c4;
1722 border-bottom: 1px solid #c4c4c4;
1724 color: #4A4A4A;
1723 color: #4A4A4A;
1725 font-weight: 700;
1724 font-weight: 700;
1726 margin: 0 0 0 4px;
1725 margin: 0 0 0 4px;
1727 padding: 0;
1726 padding: 0;
1728 }
1727 }
1729
1728
1730 #content div.box div.pagination ul.pager li.separator {
1729 #content div.box div.pagination ul.pager li.separator {
1731 padding: 6px;
1730 padding: 6px;
1732 }
1731 }
1733
1732
1734 #content div.box div.pagination ul.pager li.current {
1733 #content div.box div.pagination ul.pager li.current {
1735 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1734 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1736 border-top: 1px solid #ccc;
1735 border-top: 1px solid #ccc;
1737 border-left: 1px solid #bebebe;
1736 border-left: 1px solid #bebebe;
1738 border-right: 1px solid #b1b1b1;
1737 border-right: 1px solid #b1b1b1;
1739 border-bottom: 1px solid #afafaf;
1738 border-bottom: 1px solid #afafaf;
1740 color: #515151;
1739 color: #515151;
1741 padding: 6px;
1740 padding: 6px;
1742 }
1741 }
1743
1742
1744 #content div.box div.pagination ul.pager li a {
1743 #content div.box div.pagination ul.pager li a {
1745 height: 1%;
1744 height: 1%;
1746 display: block;
1745 display: block;
1747 float: left;
1746 float: left;
1748 color: #515151;
1747 color: #515151;
1749 text-decoration: none;
1748 text-decoration: none;
1750 margin: 0;
1749 margin: 0;
1751 padding: 6px;
1750 padding: 6px;
1752 }
1751 }
1753
1752
1754 #content div.box div.pagination ul.pager li a:hover, #content div.box div.pagination ul.pager li a:active {
1753 #content div.box div.pagination ul.pager li a:hover, #content div.box div.pagination ul.pager li a:active {
1755 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1754 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1756 border-top: 1px solid #ccc;
1755 border-top: 1px solid #ccc;
1757 border-left: 1px solid #bebebe;
1756 border-left: 1px solid #bebebe;
1758 border-right: 1px solid #b1b1b1;
1757 border-right: 1px solid #b1b1b1;
1759 border-bottom: 1px solid #afafaf;
1758 border-bottom: 1px solid #afafaf;
1760 margin: -1px;
1759 margin: -1px;
1761 }
1760 }
1762
1761
1763 #content div.box div.pagination-wh {
1762 #content div.box div.pagination-wh {
1764 height: 1%;
1763 height: 1%;
1765 clear: both;
1764 clear: both;
1766 overflow: hidden;
1765 overflow: hidden;
1767 text-align: right;
1766 text-align: right;
1768 margin: 10px 0 0;
1767 margin: 10px 0 0;
1769 padding: 0;
1768 padding: 0;
1770 }
1769 }
1771
1770
1772 #content div.box div.pagination-right {
1771 #content div.box div.pagination-right {
1773 float: right;
1772 float: right;
1774 }
1773 }
1775
1774
1776 #content div.box div.pagination-wh a,
1775 #content div.box div.pagination-wh a,
1777 #content div.box div.pagination-wh span.pager_dotdot,
1776 #content div.box div.pagination-wh span.pager_dotdot,
1778 #content div.box div.pagination-wh span.yui-pg-previous,
1777 #content div.box div.pagination-wh span.yui-pg-previous,
1779 #content div.box div.pagination-wh span.yui-pg-last,
1778 #content div.box div.pagination-wh span.yui-pg-last,
1780 #content div.box div.pagination-wh span.yui-pg-next,
1779 #content div.box div.pagination-wh span.yui-pg-next,
1781 #content div.box div.pagination-wh span.yui-pg-first {
1780 #content div.box div.pagination-wh span.yui-pg-first {
1782 height: 1%;
1781 height: 1%;
1783 float: left;
1782 float: left;
1784 background: #ebebeb url("../images/pager.png") repeat-x;
1783 background: #ebebeb url("../images/pager.png") repeat-x;
1785 border-top: 1px solid #dedede;
1784 border-top: 1px solid #dedede;
1786 border-left: 1px solid #cfcfcf;
1785 border-left: 1px solid #cfcfcf;
1787 border-right: 1px solid #c4c4c4;
1786 border-right: 1px solid #c4c4c4;
1788 border-bottom: 1px solid #c4c4c4;
1787 border-bottom: 1px solid #c4c4c4;
1789 color: #4A4A4A;
1788 color: #4A4A4A;
1790 font-weight: 700;
1789 font-weight: 700;
1791 margin: 0 0 0 4px;
1790 margin: 0 0 0 4px;
1792 padding: 6px;
1791 padding: 6px;
1793 }
1792 }
1794
1793
1795 #content div.box div.pagination-wh span.pager_curpage {
1794 #content div.box div.pagination-wh span.pager_curpage {
1796 height: 1%;
1795 height: 1%;
1797 float: left;
1796 float: left;
1798 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1797 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1799 border-top: 1px solid #ccc;
1798 border-top: 1px solid #ccc;
1800 border-left: 1px solid #bebebe;
1799 border-left: 1px solid #bebebe;
1801 border-right: 1px solid #b1b1b1;
1800 border-right: 1px solid #b1b1b1;
1802 border-bottom: 1px solid #afafaf;
1801 border-bottom: 1px solid #afafaf;
1803 color: #515151;
1802 color: #515151;
1804 font-weight: 700;
1803 font-weight: 700;
1805 margin: 0 0 0 4px;
1804 margin: 0 0 0 4px;
1806 padding: 6px;
1805 padding: 6px;
1807 }
1806 }
1808
1807
1809 #content div.box div.pagination-wh a:hover, #content div.box div.pagination-wh a:active {
1808 #content div.box div.pagination-wh a:hover, #content div.box div.pagination-wh a:active {
1810 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1809 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1811 border-top: 1px solid #ccc;
1810 border-top: 1px solid #ccc;
1812 border-left: 1px solid #bebebe;
1811 border-left: 1px solid #bebebe;
1813 border-right: 1px solid #b1b1b1;
1812 border-right: 1px solid #b1b1b1;
1814 border-bottom: 1px solid #afafaf;
1813 border-bottom: 1px solid #afafaf;
1815 text-decoration: none;
1814 text-decoration: none;
1816 }
1815 }
1817
1816
1818 #content div.box div.traffic div.legend {
1817 #content div.box div.traffic div.legend {
1819 clear: both;
1818 clear: both;
1820 overflow: hidden;
1819 overflow: hidden;
1821 border-bottom: 1px solid #ddd;
1820 border-bottom: 1px solid #ddd;
1822 margin: 0 0 10px;
1821 margin: 0 0 10px;
1823 padding: 0 0 10px;
1822 padding: 0 0 10px;
1824 }
1823 }
1825
1824
1826 #content div.box div.traffic div.legend h6 {
1825 #content div.box div.traffic div.legend h6 {
1827 float: left;
1826 float: left;
1828 border: none;
1827 border: none;
1829 margin: 0;
1828 margin: 0;
1830 padding: 0;
1829 padding: 0;
1831 }
1830 }
1832
1831
1833 #content div.box div.traffic div.legend li {
1832 #content div.box div.traffic div.legend li {
1834 list-style: none;
1833 list-style: none;
1835 float: left;
1834 float: left;
1836 font-size: 11px;
1835 font-size: 11px;
1837 margin: 0;
1836 margin: 0;
1838 padding: 0 8px 0 4px;
1837 padding: 0 8px 0 4px;
1839 }
1838 }
1840
1839
1841 #content div.box div.traffic div.legend li.visits {
1840 #content div.box div.traffic div.legend li.visits {
1842 border-left: 12px solid #edc240;
1841 border-left: 12px solid #edc240;
1843 }
1842 }
1844
1843
1845 #content div.box div.traffic div.legend li.pageviews {
1844 #content div.box div.traffic div.legend li.pageviews {
1846 border-left: 12px solid #afd8f8;
1845 border-left: 12px solid #afd8f8;
1847 }
1846 }
1848
1847
1849 #content div.box div.traffic table {
1848 #content div.box div.traffic table {
1850 width: auto;
1849 width: auto;
1851 }
1850 }
1852
1851
1853 #content div.box div.traffic table td {
1852 #content div.box div.traffic table td {
1854 background: transparent;
1853 background: transparent;
1855 border: none;
1854 border: none;
1856 padding: 2px 3px 3px;
1855 padding: 2px 3px 3px;
1857 }
1856 }
1858
1857
1859 #content div.box div.traffic table td.legendLabel {
1858 #content div.box div.traffic table td.legendLabel {
1860 padding: 0 3px 2px;
1859 padding: 0 3px 2px;
1861 }
1860 }
1862
1861
1863 #summary {
1862 #summary {
1864 }
1863 }
1865
1864
1866 #summary .metatag {
1865 #summary .metatag {
1867 display: inline-block;
1866 display: inline-block;
1868 padding: 3px 5px;
1867 padding: 3px 5px;
1869 margin-bottom: 3px;
1868 margin-bottom: 3px;
1870 margin-right: 1px;
1869 margin-right: 1px;
1871 border-radius: 5px;
1870 border-radius: 5px;
1872 }
1871 }
1873
1872
1874 #content div.box #summary p {
1873 #content div.box #summary p {
1875 margin-bottom: -5px;
1874 margin-bottom: -5px;
1876 width: 600px;
1875 width: 600px;
1877 white-space: pre-wrap;
1876 white-space: pre-wrap;
1878 }
1877 }
1879
1878
1880 #content div.box #summary p:last-child {
1879 #content div.box #summary p:last-child {
1881 margin-bottom: 9px;
1880 margin-bottom: 9px;
1882 }
1881 }
1883
1882
1884 #content div.box #summary p:first-of-type {
1883 #content div.box #summary p:first-of-type {
1885 margin-top: 9px;
1884 margin-top: 9px;
1886 }
1885 }
1887
1886
1888 .metatag {
1887 .metatag {
1889 display: inline-block;
1888 display: inline-block;
1890 margin-right: 1px;
1889 margin-right: 1px;
1891 -webkit-border-radius: 4px 4px 4px 4px;
1890 -webkit-border-radius: 4px 4px 4px 4px;
1892 -khtml-border-radius: 4px 4px 4px 4px;
1891 -khtml-border-radius: 4px 4px 4px 4px;
1893 -moz-border-radius: 4px 4px 4px 4px;
1892 -moz-border-radius: 4px 4px 4px 4px;
1894 border-radius: 4px 4px 4px 4px;
1893 border-radius: 4px 4px 4px 4px;
1895
1894
1896 border: solid 1px #9CF;
1895 border: solid 1px #9CF;
1897 padding: 2px 3px 2px 3px !important;
1896 padding: 2px 3px 2px 3px !important;
1898 background-color: #DEF;
1897 background-color: #DEF;
1899 }
1898 }
1900
1899
1901 .metatag[tag="dead"] {
1900 .metatag[tag="dead"] {
1902 background-color: #E44;
1901 background-color: #E44;
1903 }
1902 }
1904
1903
1905 .metatag[tag="stale"] {
1904 .metatag[tag="stale"] {
1906 background-color: #EA4;
1905 background-color: #EA4;
1907 }
1906 }
1908
1907
1909 .metatag[tag="featured"] {
1908 .metatag[tag="featured"] {
1910 background-color: #AEA;
1909 background-color: #AEA;
1911 }
1910 }
1912
1911
1913 .metatag[tag="requires"] {
1912 .metatag[tag="requires"] {
1914 background-color: #9CF;
1913 background-color: #9CF;
1915 }
1914 }
1916
1915
1917 .metatag[tag="recommends"] {
1916 .metatag[tag="recommends"] {
1918 background-color: #BDF;
1917 background-color: #BDF;
1919 }
1918 }
1920
1919
1921 .metatag[tag="lang"] {
1920 .metatag[tag="lang"] {
1922 background-color: #FAF474;
1921 background-color: #FAF474;
1923 }
1922 }
1924
1923
1925 .metatag[tag="license"] {
1924 .metatag[tag="license"] {
1926 border: solid 1px #9CF;
1925 border: solid 1px #9CF;
1927 background-color: #DEF;
1926 background-color: #DEF;
1928 target-new: tab !important;
1927 target-new: tab !important;
1929 }
1928 }
1930 .metatag[tag="see"] {
1929 .metatag[tag="see"] {
1931 border: solid 1px #CBD;
1930 border: solid 1px #CBD;
1932 background-color: #EDF;
1931 background-color: #EDF;
1933 }
1932 }
1934
1933
1935 a.metatag[tag="license"]:hover {
1934 a.metatag[tag="license"]:hover {
1936 background-color: #003367;
1935 background-color: #003367;
1937 color: #FFF;
1936 color: #FFF;
1938 text-decoration: none;
1937 text-decoration: none;
1939 }
1938 }
1940
1939
1941 #summary .desc {
1940 #summary .desc {
1942 white-space: pre;
1941 white-space: pre;
1943 width: 100%;
1942 width: 100%;
1944 }
1943 }
1945
1944
1946 #summary .repo_name {
1945 #summary .repo_name {
1947 font-size: 1.6em;
1946 font-size: 1.6em;
1948 font-weight: bold;
1947 font-weight: bold;
1949 vertical-align: baseline;
1948 vertical-align: baseline;
1950 clear: right
1949 clear: right
1951 }
1950 }
1952
1951
1953 #footer {
1952 #footer {
1954 clear: both;
1953 clear: both;
1955 overflow: hidden;
1954 overflow: hidden;
1956 text-align: right;
1955 text-align: right;
1957 margin: 0;
1956 margin: 0;
1958 padding: 0 10px 4px;
1957 padding: 0 10px 4px;
1959 margin: -10px 0 0;
1958 margin: -10px 0 0;
1960 }
1959 }
1961
1960
1962 #footer div#footer-inner {
1961 #footer div#footer-inner {
1963 background-color: #003B76;
1962 background-color: #003B76;
1964 background-repeat : repeat-x;
1963 background-repeat : repeat-x;
1965 background-image : -khtml-gradient( linear, left top, left bottom, from(#003B76), to(#00376E));
1964 background-image : -khtml-gradient( linear, left top, left bottom, from(#003B76), to(#00376E));
1966 background-image : -moz-linear-gradient(top, #003b76, #00376e);
1965 background-image : -moz-linear-gradient(top, #003b76, #00376e);
1967 background-image : -ms-linear-gradient( top, #003b76, #00376e);
1966 background-image : -ms-linear-gradient( top, #003b76, #00376e);
1968 background-image : -webkit-gradient( linear, left top, left bottom, color-stop( 0%, #003b76), color-stop( 100%, #00376e));
1967 background-image : -webkit-gradient( linear, left top, left bottom, color-stop( 0%, #003b76), color-stop( 100%, #00376e));
1969 background-image : -webkit-linear-gradient( top, #003b76, #00376e));
1968 background-image : -webkit-linear-gradient( top, #003b76, #00376e));
1970 background-image : -o-linear-gradient( top, #003b76, #00376e));
1969 background-image : -o-linear-gradient( top, #003b76, #00376e));
1971 background-image : linear-gradient( top, #003b76, #00376e);
1970 background-image : linear-gradient( top, #003b76, #00376e);
1972 filter :progid : DXImageTransform.Microsoft.gradient ( startColorstr = '#003b76', endColorstr = '#00376e', GradientType = 0);
1971 filter :progid : DXImageTransform.Microsoft.gradient ( startColorstr = '#003b76', endColorstr = '#00376e', GradientType = 0);
1973 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1972 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1974 -webkit-border-radius: 4px 4px 4px 4px;
1973 -webkit-border-radius: 4px 4px 4px 4px;
1975 -khtml-border-radius: 4px 4px 4px 4px;
1974 -khtml-border-radius: 4px 4px 4px 4px;
1976 -moz-border-radius: 4px 4px 4px 4px;
1975 -moz-border-radius: 4px 4px 4px 4px;
1977 border-radius: 4px 4px 4px 4px;
1976 border-radius: 4px 4px 4px 4px;
1978 }
1977 }
1979
1978
1980 #footer div#footer-inner p {
1979 #footer div#footer-inner p {
1981 padding: 15px 25px 15px 0;
1980 padding: 15px 25px 15px 0;
1982 color: #FFF;
1981 color: #FFF;
1983 font-weight: 700;
1982 font-weight: 700;
1984 }
1983 }
1985
1984
1986 #footer div#footer-inner .footer-link {
1985 #footer div#footer-inner .footer-link {
1987 float: left;
1986 float: left;
1988 padding-left: 10px;
1987 padding-left: 10px;
1989 }
1988 }
1990
1989
1991 #footer div#footer-inner .footer-link a, #footer div#footer-inner .footer-link-right a {
1990 #footer div#footer-inner .footer-link a, #footer div#footer-inner .footer-link-right a {
1992 color: #FFF;
1991 color: #FFF;
1993 }
1992 }
1994
1993
1995 #login div.title {
1994 #login div.title {
1996 clear: both;
1995 clear: both;
1997 overflow: hidden;
1996 overflow: hidden;
1998 position: relative;
1997 position: relative;
1999 background-color: #003B76;
1998 background-color: #003B76;
2000 background-repeat : repeat-x;
1999 background-repeat : repeat-x;
2001 background-image : -khtml-gradient( linear, left top, left bottom, from(#003B76), to(#00376E));
2000 background-image : -khtml-gradient( linear, left top, left bottom, from(#003B76), to(#00376E));
2002 background-image : -moz-linear-gradient( top, #003b76, #00376e);
2001 background-image : -moz-linear-gradient( top, #003b76, #00376e);
2003 background-image : -ms-linear-gradient( top, #003b76, #00376e);
2002 background-image : -ms-linear-gradient( top, #003b76, #00376e);
2004 background-image : -webkit-gradient( linear, left top, left bottom, color-stop( 0%, #003b76), color-stop( 100%, #00376e));
2003 background-image : -webkit-gradient( linear, left top, left bottom, color-stop( 0%, #003b76), color-stop( 100%, #00376e));
2005 background-image : -webkit-linear-gradient( top, #003b76, #00376e));
2004 background-image : -webkit-linear-gradient( top, #003b76, #00376e));
2006 background-image : -o-linear-gradient( top, #003b76, #00376e));
2005 background-image : -o-linear-gradient( top, #003b76, #00376e));
2007 background-image : linear-gradient( top, #003b76, #00376e);
2006 background-image : linear-gradient( top, #003b76, #00376e);
2008 filter : progid : DXImageTransform.Microsoft.gradient ( startColorstr = '#003b76', endColorstr = '#00376e', GradientType = 0);
2007 filter : progid : DXImageTransform.Microsoft.gradient ( startColorstr = '#003b76', endColorstr = '#00376e', GradientType = 0);
2009 margin: 0 auto;
2008 margin: 0 auto;
2010 padding: 0;
2009 padding: 0;
2011 }
2010 }
2012
2011
2013 #login div.inner {
2012 #login div.inner {
2014 background: #FFF url("../images/login.png") no-repeat top left;
2013 background: #FFF url("../images/login.png") no-repeat top left;
2015 border-top: none;
2014 border-top: none;
2016 border-bottom: none;
2015 border-bottom: none;
2017 margin: 0 auto;
2016 margin: 0 auto;
2018 padding: 20px;
2017 padding: 20px;
2019 }
2018 }
2020
2019
2021 #login div.form div.fields div.field div.label {
2020 #login div.form div.fields div.field div.label {
2022 width: 173px;
2021 width: 173px;
2023 float: left;
2022 float: left;
2024 text-align: right;
2023 text-align: right;
2025 margin: 2px 10px 0 0;
2024 margin: 2px 10px 0 0;
2026 padding: 5px 0 0 5px;
2025 padding: 5px 0 0 5px;
2027 }
2026 }
2028
2027
2029 #login div.form div.fields div.field div.input input {
2028 #login div.form div.fields div.field div.input input {
2030 background: #FFF;
2029 background: #FFF;
2031 border-top: 1px solid #b3b3b3;
2030 border-top: 1px solid #b3b3b3;
2032 border-left: 1px solid #b3b3b3;
2031 border-left: 1px solid #b3b3b3;
2033 border-right: 1px solid #eaeaea;
2032 border-right: 1px solid #eaeaea;
2034 border-bottom: 1px solid #eaeaea;
2033 border-bottom: 1px solid #eaeaea;
2035 color: #000;
2034 color: #000;
2036 font-size: 11px;
2035 font-size: 11px;
2037 margin: 0;
2036 margin: 0;
2038 padding: 7px 7px 6px;
2037 padding: 7px 7px 6px;
2039 }
2038 }
2040
2039
2041 #login div.form div.fields div.buttons {
2040 #login div.form div.fields div.buttons {
2042 clear: both;
2041 clear: both;
2043 overflow: hidden;
2042 overflow: hidden;
2044 border-top: 1px solid #DDD;
2043 border-top: 1px solid #DDD;
2045 text-align: right;
2044 text-align: right;
2046 margin: 0;
2045 margin: 0;
2047 padding: 10px 0 0;
2046 padding: 10px 0 0;
2048 }
2047 }
2049
2048
2050 #login div.form div.links {
2049 #login div.form div.links {
2051 clear: both;
2050 clear: both;
2052 overflow: hidden;
2051 overflow: hidden;
2053 margin: 10px 0 0;
2052 margin: 10px 0 0;
2054 padding: 0 0 2px;
2053 padding: 0 0 2px;
2055 }
2054 }
2056
2055
2057 .user-menu {
2056 .user-menu {
2058 margin: 0px !important;
2057 margin: 0px !important;
2059 float: left;
2058 float: left;
2060 }
2059 }
2061
2060
2062 .user-menu .container {
2061 .user-menu .container {
2063 padding:0px 4px 0px 4px;
2062 padding:0px 4px 0px 4px;
2064 margin: 0px 0px 0px 0px;
2063 margin: 0px 0px 0px 0px;
2065 }
2064 }
2066
2065
2067 .user-menu .gravatar {
2066 .user-menu .gravatar {
2068 margin: 0px 0px 0px 0px;
2067 margin: 0px 0px 0px 0px;
2069 cursor: pointer;
2068 cursor: pointer;
2070 }
2069 }
2071 .user-menu .gravatar.enabled {
2070 .user-menu .gravatar.enabled {
2072 background-color: #FDF784 !important;
2071 background-color: #FDF784 !important;
2073 }
2072 }
2074 .user-menu .gravatar:hover {
2073 .user-menu .gravatar:hover {
2075 background-color: #FDF784 !important;
2074 background-color: #FDF784 !important;
2076 }
2075 }
2077 #quick_login {
2076 #quick_login {
2078 min-height: 80px;
2077 min-height: 80px;
2079 padding: 4px;
2078 padding: 4px;
2080 position: absolute;
2079 position: absolute;
2081 right: 0;
2080 right: 0;
2082 width: 278px;
2081 width: 278px;
2083 background-color: #003B76;
2082 background-color: #003B76;
2084 background-repeat: repeat-x;
2083 background-repeat: repeat-x;
2085 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
2084 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
2086 background-image: -moz-linear-gradient(top, #003b76, #00376e);
2085 background-image: -moz-linear-gradient(top, #003b76, #00376e);
2087 background-image: -ms-linear-gradient(top, #003b76, #00376e);
2086 background-image: -ms-linear-gradient(top, #003b76, #00376e);
2088 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
2087 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
2089 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
2088 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
2090 background-image: -o-linear-gradient(top, #003b76, #00376e);
2089 background-image: -o-linear-gradient(top, #003b76, #00376e);
2091 background-image: linear-gradient(top, #003b76, #00376e);
2090 background-image: linear-gradient(top, #003b76, #00376e);
2092 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76', endColorstr='#00376e', GradientType=0 );
2091 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76', endColorstr='#00376e', GradientType=0 );
2093
2092
2094 z-index: 999;
2093 z-index: 999;
2095 -webkit-border-radius: 0px 0px 4px 4px;
2094 -webkit-border-radius: 0px 0px 4px 4px;
2096 -khtml-border-radius: 0px 0px 4px 4px;
2095 -khtml-border-radius: 0px 0px 4px 4px;
2097 -moz-border-radius: 0px 0px 4px 4px;
2096 -moz-border-radius: 0px 0px 4px 4px;
2098 border-radius: 0px 0px 4px 4px;
2097 border-radius: 0px 0px 4px 4px;
2099 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
2098 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
2100 }
2099 }
2101 #quick_login h4 {
2100 #quick_login h4 {
2102 color: #fff;
2101 color: #fff;
2103 padding: 5px 0px 5px 14px;
2102 padding: 5px 0px 5px 14px;
2104 }
2103 }
2105
2104
2106 #quick_login .password_forgoten {
2105 #quick_login .password_forgoten {
2107 padding-right: 10px;
2106 padding-right: 10px;
2108 padding-top: 0px;
2107 padding-top: 0px;
2109 text-align: left;
2108 text-align: left;
2110 }
2109 }
2111
2110
2112 #quick_login .password_forgoten a {
2111 #quick_login .password_forgoten a {
2113 font-size: 10px;
2112 font-size: 10px;
2114 color: #fff;
2113 color: #fff;
2115 }
2114 }
2116
2115
2117 #quick_login .register {
2116 #quick_login .register {
2118 padding-right: 10px;
2117 padding-right: 10px;
2119 padding-top: 5px;
2118 padding-top: 5px;
2120 text-align: left;
2119 text-align: left;
2121 }
2120 }
2122
2121
2123 #quick_login .register a {
2122 #quick_login .register a {
2124 font-size: 10px;
2123 font-size: 10px;
2125 color: #fff;
2124 color: #fff;
2126 }
2125 }
2127
2126
2128 #quick_login .submit {
2127 #quick_login .submit {
2129 margin: -20px 0 0 0px;
2128 margin: -20px 0 0 0px;
2130 position: absolute;
2129 position: absolute;
2131 right: 15px;
2130 right: 15px;
2132 }
2131 }
2133
2132
2134 #quick_login .links_left {
2133 #quick_login .links_left {
2135 float: left;
2134 float: left;
2136 }
2135 }
2137 #quick_login .links_right {
2136 #quick_login .links_right {
2138 float: right;
2137 float: right;
2139 }
2138 }
2140 #quick_login .full_name {
2139 #quick_login .full_name {
2141 color: #FFFFFF;
2140 color: #FFFFFF;
2142 font-weight: bold;
2141 font-weight: bold;
2143 padding: 3px 3px 3px 6px;
2142 padding: 3px 3px 3px 6px;
2144 }
2143 }
2145 #quick_login .big_gravatar {
2144 #quick_login .big_gravatar {
2146 padding:4px 0px 0px 6px;
2145 padding:4px 0px 0px 6px;
2147 }
2146 }
2148 #quick_login .notifications {
2147 #quick_login .notifications {
2149 padding:4px 0px 0px 6px;
2148 padding:4px 0px 0px 6px;
2150 color: #FFFFFF;
2149 color: #FFFFFF;
2151 font-weight: bold;
2150 font-weight: bold;
2152 }
2151 }
2153 #quick_login .notifications a,
2152 #quick_login .notifications a,
2154 #quick_login .unread a {
2153 #quick_login .unread a {
2155 color: #FFFFFF;
2154 color: #FFFFFF;
2156 display: block;
2155 display: block;
2157 padding: 2px;
2156 padding: 2px;
2158 }
2157 }
2159 #quick_login .notifications a:hover,
2158 #quick_login .notifications a:hover,
2160 #quick_login .unread a:hover {
2159 #quick_login .unread a:hover {
2161 background-color: inherit !important;
2160 background-color: inherit !important;
2162 }
2161 }
2163 #quick_login .email, #quick_login .unread {
2162 #quick_login .email, #quick_login .unread {
2164 color: #FFFFFF;
2163 color: #FFFFFF;
2165 padding: 3px 3px 3px 6px;
2164 padding: 3px 3px 3px 6px;
2166 }
2165 }
2167 #quick_login .links .logout {
2166 #quick_login .links .logout {
2168 }
2167 }
2169
2168
2170 #quick_login div.form div.fields {
2169 #quick_login div.form div.fields {
2171 padding-top: 2px;
2170 padding-top: 2px;
2172 padding-left: 10px;
2171 padding-left: 10px;
2173 }
2172 }
2174
2173
2175 #quick_login div.form div.fields div.field {
2174 #quick_login div.form div.fields div.field {
2176 padding: 5px;
2175 padding: 5px;
2177 }
2176 }
2178
2177
2179 #quick_login div.form div.fields div.field div.label label {
2178 #quick_login div.form div.fields div.field div.label label {
2180 color: #fff;
2179 color: #fff;
2181 padding-bottom: 3px;
2180 padding-bottom: 3px;
2182 }
2181 }
2183
2182
2184 #quick_login div.form div.fields div.field div.input input {
2183 #quick_login div.form div.fields div.field div.input input {
2185 width: 236px;
2184 width: 236px;
2186 background: #FFF;
2185 background: #FFF;
2187 border-top: 1px solid #b3b3b3;
2186 border-top: 1px solid #b3b3b3;
2188 border-left: 1px solid #b3b3b3;
2187 border-left: 1px solid #b3b3b3;
2189 border-right: 1px solid #eaeaea;
2188 border-right: 1px solid #eaeaea;
2190 border-bottom: 1px solid #eaeaea;
2189 border-bottom: 1px solid #eaeaea;
2191 color: #000;
2190 color: #000;
2192 font-size: 11px;
2191 font-size: 11px;
2193 margin: 0;
2192 margin: 0;
2194 padding: 5px 7px 4px;
2193 padding: 5px 7px 4px;
2195 }
2194 }
2196
2195
2197 #quick_login div.form div.fields div.buttons {
2196 #quick_login div.form div.fields div.buttons {
2198 clear: both;
2197 clear: both;
2199 overflow: hidden;
2198 overflow: hidden;
2200 text-align: right;
2199 text-align: right;
2201 margin: 0;
2200 margin: 0;
2202 padding: 5px 14px 0px 5px;
2201 padding: 5px 14px 0px 5px;
2203 }
2202 }
2204
2203
2205 #quick_login div.form div.links {
2204 #quick_login div.form div.links {
2206 clear: both;
2205 clear: both;
2207 overflow: hidden;
2206 overflow: hidden;
2208 margin: 10px 0 0;
2207 margin: 10px 0 0;
2209 padding: 0 0 2px;
2208 padding: 0 0 2px;
2210 }
2209 }
2211
2210
2212 #quick_login ol.links {
2211 #quick_login ol.links {
2213 display: block;
2212 display: block;
2214 font-weight: bold;
2213 font-weight: bold;
2215 list-style: none outside none;
2214 list-style: none outside none;
2216 text-align: right;
2215 text-align: right;
2217 }
2216 }
2218 #quick_login ol.links li {
2217 #quick_login ol.links li {
2219 line-height: 27px;
2218 line-height: 27px;
2220 margin: 0;
2219 margin: 0;
2221 padding: 0;
2220 padding: 0;
2222 color: #fff;
2221 color: #fff;
2223 display: block;
2222 display: block;
2224 float:none !important;
2223 float:none !important;
2225 }
2224 }
2226
2225
2227 #quick_login ol.links li a {
2226 #quick_login ol.links li a {
2228 color: #fff;
2227 color: #fff;
2229 display: block;
2228 display: block;
2230 padding: 2px;
2229 padding: 2px;
2231 }
2230 }
2232 #quick_login ol.links li a:HOVER {
2231 #quick_login ol.links li a:HOVER {
2233 background-color: inherit !important;
2232 background-color: inherit !important;
2234 }
2233 }
2235
2234
2236 #register div.title {
2235 #register div.title {
2237 clear: both;
2236 clear: both;
2238 overflow: hidden;
2237 overflow: hidden;
2239 position: relative;
2238 position: relative;
2240 background-color: #003B76;
2239 background-color: #003B76;
2241 background-repeat: repeat-x;
2240 background-repeat: repeat-x;
2242 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
2241 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
2243 background-image: -moz-linear-gradient(top, #003b76, #00376e);
2242 background-image: -moz-linear-gradient(top, #003b76, #00376e);
2244 background-image: -ms-linear-gradient(top, #003b76, #00376e);
2243 background-image: -ms-linear-gradient(top, #003b76, #00376e);
2245 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
2244 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
2246 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
2245 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
2247 background-image: -o-linear-gradient(top, #003b76, #00376e);
2246 background-image: -o-linear-gradient(top, #003b76, #00376e);
2248 background-image: linear-gradient(top, #003b76, #00376e);
2247 background-image: linear-gradient(top, #003b76, #00376e);
2249 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',
2248 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',
2250 endColorstr='#00376e', GradientType=0 );
2249 endColorstr='#00376e', GradientType=0 );
2251 margin: 0 auto;
2250 margin: 0 auto;
2252 padding: 0;
2251 padding: 0;
2253 }
2252 }
2254
2253
2255 #register div.inner {
2254 #register div.inner {
2256 background: #FFF;
2255 background: #FFF;
2257 border-top: none;
2256 border-top: none;
2258 border-bottom: none;
2257 border-bottom: none;
2259 margin: 0 auto;
2258 margin: 0 auto;
2260 padding: 20px;
2259 padding: 20px;
2261 }
2260 }
2262
2261
2263 #register div.form div.fields div.field div.label {
2262 #register div.form div.fields div.field div.label {
2264 width: 135px;
2263 width: 135px;
2265 float: left;
2264 float: left;
2266 text-align: right;
2265 text-align: right;
2267 margin: 2px 10px 0 0;
2266 margin: 2px 10px 0 0;
2268 padding: 5px 0 0 5px;
2267 padding: 5px 0 0 5px;
2269 }
2268 }
2270
2269
2271 #register div.form div.fields div.field div.input input {
2270 #register div.form div.fields div.field div.input input {
2272 width: 300px;
2271 width: 300px;
2273 background: #FFF;
2272 background: #FFF;
2274 border-top: 1px solid #b3b3b3;
2273 border-top: 1px solid #b3b3b3;
2275 border-left: 1px solid #b3b3b3;
2274 border-left: 1px solid #b3b3b3;
2276 border-right: 1px solid #eaeaea;
2275 border-right: 1px solid #eaeaea;
2277 border-bottom: 1px solid #eaeaea;
2276 border-bottom: 1px solid #eaeaea;
2278 color: #000;
2277 color: #000;
2279 font-size: 11px;
2278 font-size: 11px;
2280 margin: 0;
2279 margin: 0;
2281 padding: 7px 7px 6px;
2280 padding: 7px 7px 6px;
2282 }
2281 }
2283
2282
2284 #register div.form div.fields div.buttons {
2283 #register div.form div.fields div.buttons {
2285 clear: both;
2284 clear: both;
2286 overflow: hidden;
2285 overflow: hidden;
2287 border-top: 1px solid #DDD;
2286 border-top: 1px solid #DDD;
2288 text-align: left;
2287 text-align: left;
2289 margin: 0;
2288 margin: 0;
2290 padding: 10px 0 0 150px;
2289 padding: 10px 0 0 150px;
2291 }
2290 }
2292
2291
2293 #register div.form div.activation_msg {
2292 #register div.form div.activation_msg {
2294 padding-top: 4px;
2293 padding-top: 4px;
2295 padding-bottom: 4px;
2294 padding-bottom: 4px;
2296 }
2295 }
2297
2296
2298 #journal .journal_day {
2297 #journal .journal_day {
2299 font-size: 20px;
2298 font-size: 20px;
2300 padding: 10px 0px;
2299 padding: 10px 0px;
2301 border-bottom: 2px solid #DDD;
2300 border-bottom: 2px solid #DDD;
2302 margin-left: 10px;
2301 margin-left: 10px;
2303 margin-right: 10px;
2302 margin-right: 10px;
2304 }
2303 }
2305
2304
2306 #journal .journal_container {
2305 #journal .journal_container {
2307 padding: 5px;
2306 padding: 5px;
2308 clear: both;
2307 clear: both;
2309 margin: 0px 5px 0px 10px;
2308 margin: 0px 5px 0px 10px;
2310 }
2309 }
2311
2310
2312 #journal .journal_action_container {
2311 #journal .journal_action_container {
2313 padding-left: 38px;
2312 padding-left: 38px;
2314 }
2313 }
2315
2314
2316 #journal .journal_user {
2315 #journal .journal_user {
2317 color: #747474;
2316 color: #747474;
2318 font-size: 14px;
2317 font-size: 14px;
2319 font-weight: bold;
2318 font-weight: bold;
2320 height: 30px;
2319 height: 30px;
2321 }
2320 }
2322
2321
2323 #journal .journal_user.deleted {
2322 #journal .journal_user.deleted {
2324 color: #747474;
2323 color: #747474;
2325 font-size: 14px;
2324 font-size: 14px;
2326 font-weight: normal;
2325 font-weight: normal;
2327 height: 30px;
2326 height: 30px;
2328 font-style: italic;
2327 font-style: italic;
2329 }
2328 }
2330
2329
2331
2330
2332 #journal .journal_icon {
2331 #journal .journal_icon {
2333 clear: both;
2332 clear: both;
2334 float: left;
2333 float: left;
2335 padding-right: 4px;
2334 padding-right: 4px;
2336 padding-top: 3px;
2335 padding-top: 3px;
2337 }
2336 }
2338
2337
2339 #journal .journal_action {
2338 #journal .journal_action {
2340 padding-top: 4px;
2339 padding-top: 4px;
2341 min-height: 2px;
2340 min-height: 2px;
2342 float: left
2341 float: left
2343 }
2342 }
2344
2343
2345 #journal .journal_action_params {
2344 #journal .journal_action_params {
2346 clear: left;
2345 clear: left;
2347 padding-left: 22px;
2346 padding-left: 22px;
2348 }
2347 }
2349
2348
2350 #journal .journal_repo {
2349 #journal .journal_repo {
2351 float: left;
2350 float: left;
2352 margin-left: 6px;
2351 margin-left: 6px;
2353 padding-top: 3px;
2352 padding-top: 3px;
2354 }
2353 }
2355
2354
2356 #journal .date {
2355 #journal .date {
2357 clear: both;
2356 clear: both;
2358 color: #777777;
2357 color: #777777;
2359 font-size: 11px;
2358 font-size: 11px;
2360 padding-left: 22px;
2359 padding-left: 22px;
2361 }
2360 }
2362
2361
2363 #journal .journal_repo .journal_repo_name {
2362 #journal .journal_repo .journal_repo_name {
2364 font-weight: bold;
2363 font-weight: bold;
2365 font-size: 1.1em;
2364 font-size: 1.1em;
2366 }
2365 }
2367
2366
2368 #journal .compare_view {
2367 #journal .compare_view {
2369 padding: 5px 0px 5px 0px;
2368 padding: 5px 0px 5px 0px;
2370 width: 95px;
2369 width: 95px;
2371 }
2370 }
2372
2371
2373 .journal_highlight {
2372 .journal_highlight {
2374 font-weight: bold;
2373 font-weight: bold;
2375 padding: 0 2px;
2374 padding: 0 2px;
2376 vertical-align: bottom;
2375 vertical-align: bottom;
2377 }
2376 }
2378
2377
2379 .trending_language_tbl, .trending_language_tbl td {
2378 .trending_language_tbl, .trending_language_tbl td {
2380 border: 0 !important;
2379 border: 0 !important;
2381 margin: 0 !important;
2380 margin: 0 !important;
2382 padding: 0 !important;
2381 padding: 0 !important;
2383 }
2382 }
2384
2383
2385 .trending_language_tbl, .trending_language_tbl tr {
2384 .trending_language_tbl, .trending_language_tbl tr {
2386 border-spacing: 1px;
2385 border-spacing: 1px;
2387 }
2386 }
2388
2387
2389 .trending_language {
2388 .trending_language {
2390 background-color: #003367;
2389 background-color: #003367;
2391 color: #FFF;
2390 color: #FFF;
2392 display: block;
2391 display: block;
2393 min-width: 20px;
2392 min-width: 20px;
2394 text-decoration: none;
2393 text-decoration: none;
2395 height: 12px;
2394 height: 12px;
2396 margin-bottom: 0px;
2395 margin-bottom: 0px;
2397 margin-left: 5px;
2396 margin-left: 5px;
2398 white-space: pre;
2397 white-space: pre;
2399 padding: 3px;
2398 padding: 3px;
2400 }
2399 }
2401
2400
2402 h3.files_location {
2401 h3.files_location {
2403 font-size: 1.8em;
2402 font-size: 1.8em;
2404 font-weight: 700;
2403 font-weight: 700;
2405 border-bottom: none !important;
2404 border-bottom: none !important;
2406 margin: 10px 0 !important;
2405 margin: 10px 0 !important;
2407 }
2406 }
2408
2407
2409 #files_data dl dt {
2408 #files_data dl dt {
2410 float: left;
2409 float: left;
2411 width: 60px;
2410 width: 60px;
2412 margin: 0 !important;
2411 margin: 0 !important;
2413 padding: 5px;
2412 padding: 5px;
2414 }
2413 }
2415
2414
2416 #files_data dl dd {
2415 #files_data dl dd {
2417 margin: 0 !important;
2416 margin: 0 !important;
2418 padding: 5px !important;
2417 padding: 5px !important;
2419 }
2418 }
2420
2419
2421 .file_history {
2420 .file_history {
2422 padding-top:10px;
2421 padding-top:10px;
2423 font-size:16px;
2422 font-size:16px;
2424 }
2423 }
2425 .file_author {
2424 .file_author {
2426 float: left;
2425 float: left;
2427 }
2426 }
2428
2427
2429 .file_author .item {
2428 .file_author .item {
2430 float:left;
2429 float:left;
2431 padding:5px;
2430 padding:5px;
2432 color: #888;
2431 color: #888;
2433 }
2432 }
2434
2433
2435 .tablerow0 {
2434 .tablerow0 {
2436 background-color: #F8F8F8;
2435 background-color: #F8F8F8;
2437 }
2436 }
2438
2437
2439 .tablerow1 {
2438 .tablerow1 {
2440 background-color: #FFFFFF;
2439 background-color: #FFFFFF;
2441 }
2440 }
2442
2441
2443 .changeset_id {
2442 .changeset_id {
2444 font-family: monospace;
2443 font-family: monospace;
2445 color: #666666;
2444 color: #666666;
2446 }
2445 }
2447
2446
2448 .changeset_hash {
2447 .changeset_hash {
2449 color: #000000;
2448 color: #000000;
2450 }
2449 }
2451
2450
2452 #changeset_content {
2451 #changeset_content {
2453 border-left: 1px solid #CCC;
2452 border-left: 1px solid #CCC;
2454 border-right: 1px solid #CCC;
2453 border-right: 1px solid #CCC;
2455 border-bottom: 1px solid #CCC;
2454 border-bottom: 1px solid #CCC;
2456 padding: 5px;
2455 padding: 5px;
2457 }
2456 }
2458
2457
2459 #changeset_compare_view_content {
2458 #changeset_compare_view_content {
2460 border: 1px solid #CCC;
2459 border: 1px solid #CCC;
2461 padding: 5px;
2460 padding: 5px;
2462 }
2461 }
2463
2462
2464 #changeset_content .container {
2463 #changeset_content .container {
2465 min-height: 100px;
2464 min-height: 100px;
2466 font-size: 1.2em;
2465 font-size: 1.2em;
2467 overflow: hidden;
2466 overflow: hidden;
2468 }
2467 }
2469
2468
2470 #changeset_compare_view_content .compare_view_commits {
2469 #changeset_compare_view_content .compare_view_commits {
2471 width: auto !important;
2470 width: auto !important;
2472 }
2471 }
2473
2472
2474 #changeset_compare_view_content .compare_view_commits td {
2473 #changeset_compare_view_content .compare_view_commits td {
2475 padding: 0px 0px 0px 12px !important;
2474 padding: 0px 0px 0px 12px !important;
2476 }
2475 }
2477
2476
2478 #changeset_content .container .right {
2477 #changeset_content .container .right {
2479 float: right;
2478 float: right;
2480 width: 20%;
2479 width: 20%;
2481 text-align: right;
2480 text-align: right;
2482 }
2481 }
2483
2482
2484 #changeset_content .container .left .message {
2483 #changeset_content .container .left .message {
2485 white-space: pre-wrap;
2484 white-space: pre-wrap;
2486 }
2485 }
2487 #changeset_content .container .left .message a:hover {
2486 #changeset_content .container .left .message a:hover {
2488 text-decoration: none;
2487 text-decoration: none;
2489 }
2488 }
2490 .cs_files .cur_cs {
2489 .cs_files .cur_cs {
2491 margin: 10px 2px;
2490 margin: 10px 2px;
2492 font-weight: bold;
2491 font-weight: bold;
2493 }
2492 }
2494
2493
2495 .cs_files .node {
2494 .cs_files .node {
2496 float: left;
2495 float: left;
2497 }
2496 }
2498
2497
2499 .cs_files .changes {
2498 .cs_files .changes {
2500 float: right;
2499 float: right;
2501 color:#003367;
2500 color:#003367;
2502 }
2501 }
2503
2502
2504 .cs_files .changes .added {
2503 .cs_files .changes .added {
2505 background-color: #BBFFBB;
2504 background-color: #BBFFBB;
2506 float: left;
2505 float: left;
2507 text-align: center;
2506 text-align: center;
2508 font-size: 9px;
2507 font-size: 9px;
2509 padding: 2px 0px 2px 0px;
2508 padding: 2px 0px 2px 0px;
2510 }
2509 }
2511
2510
2512 .cs_files .changes .deleted {
2511 .cs_files .changes .deleted {
2513 background-color: #FF8888;
2512 background-color: #FF8888;
2514 float: left;
2513 float: left;
2515 text-align: center;
2514 text-align: center;
2516 font-size: 9px;
2515 font-size: 9px;
2517 padding: 2px 0px 2px 0px;
2516 padding: 2px 0px 2px 0px;
2518 }
2517 }
2519 /*new binary*/
2518 /*new binary*/
2520 .cs_files .changes .bin1 {
2519 .cs_files .changes .bin1 {
2521 background-color: #BBFFBB;
2520 background-color: #BBFFBB;
2522 float: left;
2521 float: left;
2523 text-align: center;
2522 text-align: center;
2524 font-size: 9px;
2523 font-size: 9px;
2525 padding: 2px 0px 2px 0px;
2524 padding: 2px 0px 2px 0px;
2526 }
2525 }
2527
2526
2528 /*deleted binary*/
2527 /*deleted binary*/
2529 .cs_files .changes .bin2 {
2528 .cs_files .changes .bin2 {
2530 background-color: #FF8888;
2529 background-color: #FF8888;
2531 float: left;
2530 float: left;
2532 text-align: center;
2531 text-align: center;
2533 font-size: 9px;
2532 font-size: 9px;
2534 padding: 2px 0px 2px 0px;
2533 padding: 2px 0px 2px 0px;
2535 }
2534 }
2536
2535
2537 /*mod binary*/
2536 /*mod binary*/
2538 .cs_files .changes .bin3 {
2537 .cs_files .changes .bin3 {
2539 background-color: #DDDDDD;
2538 background-color: #DDDDDD;
2540 float: left;
2539 float: left;
2541 text-align: center;
2540 text-align: center;
2542 font-size: 9px;
2541 font-size: 9px;
2543 padding: 2px 0px 2px 0px;
2542 padding: 2px 0px 2px 0px;
2544 }
2543 }
2545
2544
2546 /*rename file*/
2545 /*rename file*/
2547 .cs_files .changes .bin4 {
2546 .cs_files .changes .bin4 {
2548 background-color: #6D99FF;
2547 background-color: #6D99FF;
2549 float: left;
2548 float: left;
2550 text-align: center;
2549 text-align: center;
2551 font-size: 9px;
2550 font-size: 9px;
2552 padding: 2px 0px 2px 0px;
2551 padding: 2px 0px 2px 0px;
2553 }
2552 }
2554
2553
2555
2554
2556 .cs_files .cs_added, .cs_files .cs_A {
2555 .cs_files .cs_added, .cs_files .cs_A {
2557 background: url("../images/icons/page_white_add.png") no-repeat scroll
2556 background: url("../images/icons/page_white_add.png") no-repeat scroll
2558 3px;
2557 3px;
2559 height: 16px;
2558 height: 16px;
2560 padding-left: 20px;
2559 padding-left: 20px;
2561 margin-top: 7px;
2560 margin-top: 7px;
2562 text-align: left;
2561 text-align: left;
2563 }
2562 }
2564
2563
2565 .cs_files .cs_changed, .cs_files .cs_M {
2564 .cs_files .cs_changed, .cs_files .cs_M {
2566 background: url("../images/icons/page_white_edit.png") no-repeat scroll
2565 background: url("../images/icons/page_white_edit.png") no-repeat scroll
2567 3px;
2566 3px;
2568 height: 16px;
2567 height: 16px;
2569 padding-left: 20px;
2568 padding-left: 20px;
2570 margin-top: 7px;
2569 margin-top: 7px;
2571 text-align: left;
2570 text-align: left;
2572 }
2571 }
2573
2572
2574 .cs_files .cs_removed, .cs_files .cs_D {
2573 .cs_files .cs_removed, .cs_files .cs_D {
2575 background: url("../images/icons/page_white_delete.png") no-repeat
2574 background: url("../images/icons/page_white_delete.png") no-repeat
2576 scroll 3px;
2575 scroll 3px;
2577 height: 16px;
2576 height: 16px;
2578 padding-left: 20px;
2577 padding-left: 20px;
2579 margin-top: 7px;
2578 margin-top: 7px;
2580 text-align: left;
2579 text-align: left;
2581 }
2580 }
2582
2581
2583 #graph {
2582 #graph {
2584 overflow: hidden;
2583 overflow: hidden;
2585 }
2584 }
2586
2585
2587 #graph_nodes {
2586 #graph_nodes {
2588 float: left;
2587 float: left;
2589 margin-right: 0px;
2588 margin-right: 0px;
2590 margin-top: 0px;
2589 margin-top: 0px;
2591 }
2590 }
2592
2591
2593 #graph_content {
2592 #graph_content {
2594 width: 80%;
2593 width: 80%;
2595 float: left;
2594 float: left;
2596 }
2595 }
2597
2596
2598 #graph_content .container_header {
2597 #graph_content .container_header {
2599 border-bottom: 1px solid #DDD;
2598 border-bottom: 1px solid #DDD;
2600 padding: 10px;
2599 padding: 10px;
2601 height: 25px;
2600 height: 25px;
2602 }
2601 }
2603
2602
2604 #graph_content #rev_range_container {
2603 #graph_content #rev_range_container {
2605 float: left;
2604 float: left;
2606 margin: 0px 0px 0px 3px;
2605 margin: 0px 0px 0px 3px;
2607 }
2606 }
2608
2607
2609 #graph_content #rev_range_clear {
2608 #graph_content #rev_range_clear {
2610 float: left;
2609 float: left;
2611 margin: 0px 0px 0px 3px;
2610 margin: 0px 0px 0px 3px;
2612 }
2611 }
2613
2612
2614 #graph_content .container {
2613 #graph_content .container {
2615 border-bottom: 1px solid #DDD;
2614 border-bottom: 1px solid #DDD;
2616 height: 56px;
2615 height: 56px;
2617 overflow: hidden;
2616 overflow: hidden;
2618 }
2617 }
2619
2618
2620 #graph_content .container .right {
2619 #graph_content .container .right {
2621 float: right;
2620 float: right;
2622 width: 23%;
2621 width: 23%;
2623 text-align: right;
2622 text-align: right;
2624 }
2623 }
2625
2624
2626 #graph_content .container .left {
2625 #graph_content .container .left {
2627 float: left;
2626 float: left;
2628 width: 25%;
2627 width: 25%;
2629 padding-left: 5px;
2628 padding-left: 5px;
2630 }
2629 }
2631
2630
2632 #graph_content .container .mid {
2631 #graph_content .container .mid {
2633 float: left;
2632 float: left;
2634 width: 49%;
2633 width: 49%;
2635 }
2634 }
2636
2635
2637
2636
2638 #graph_content .container .left .date {
2637 #graph_content .container .left .date {
2639 color: #666;
2638 color: #666;
2640 padding-left: 22px;
2639 padding-left: 22px;
2641 font-size: 10px;
2640 font-size: 10px;
2642 }
2641 }
2643
2642
2644 #graph_content .container .left .author {
2643 #graph_content .container .left .author {
2645 height: 22px;
2644 height: 22px;
2646 }
2645 }
2647
2646
2648 #graph_content .container .left .author .user {
2647 #graph_content .container .left .author .user {
2649 color: #444444;
2648 color: #444444;
2650 float: left;
2649 float: left;
2651 margin-left: -4px;
2650 margin-left: -4px;
2652 margin-top: 4px;
2651 margin-top: 4px;
2653 }
2652 }
2654
2653
2655 #graph_content .container .mid .message {
2654 #graph_content .container .mid .message {
2656 white-space: pre-wrap;
2655 white-space: pre-wrap;
2657 }
2656 }
2658
2657
2659 #graph_content .container .mid .message a:hover {
2658 #graph_content .container .mid .message a:hover {
2660 text-decoration: none;
2659 text-decoration: none;
2661 }
2660 }
2662
2661
2663 .revision-link {
2662 .revision-link {
2664 color:#3F6F9F;
2663 color:#3F6F9F;
2665 font-weight: bold !important;
2664 font-weight: bold !important;
2666 }
2665 }
2667
2666
2668 .issue-tracker-link {
2667 .issue-tracker-link {
2669 color:#3F6F9F;
2668 color:#3F6F9F;
2670 font-weight: bold !important;
2669 font-weight: bold !important;
2671 }
2670 }
2672
2671
2673 .changeset-status-container {
2672 .changeset-status-container {
2674 padding-right: 5px;
2673 padding-right: 5px;
2675 margin-top:1px;
2674 margin-top:1px;
2676 float:right;
2675 float:right;
2677 height:14px;
2676 height:14px;
2678 }
2677 }
2679 .code-header .changeset-status-container {
2678 .code-header .changeset-status-container {
2680 float:left;
2679 float:left;
2681 padding:2px 0px 0px 2px;
2680 padding:2px 0px 0px 2px;
2682 }
2681 }
2683 .changeset-status-container .changeset-status-lbl {
2682 .changeset-status-container .changeset-status-lbl {
2684 color: rgb(136, 136, 136);
2683 color: rgb(136, 136, 136);
2685 float: left;
2684 float: left;
2686 padding: 3px 4px 0px 0px
2685 padding: 3px 4px 0px 0px
2687 }
2686 }
2688 .code-header .changeset-status-container .changeset-status-lbl {
2687 .code-header .changeset-status-container .changeset-status-lbl {
2689 float: left;
2688 float: left;
2690 padding: 0px 4px 0px 0px;
2689 padding: 0px 4px 0px 0px;
2691 }
2690 }
2692 .changeset-status-container .changeset-status-ico {
2691 .changeset-status-container .changeset-status-ico {
2693 float: left;
2692 float: left;
2694 }
2693 }
2695 .code-header .changeset-status-container .changeset-status-ico, .container .changeset-status-ico {
2694 .code-header .changeset-status-container .changeset-status-ico, .container .changeset-status-ico {
2696 float: left;
2695 float: left;
2697 }
2696 }
2698 .right .comments-container {
2697 .right .comments-container {
2699 padding-right: 5px;
2698 padding-right: 5px;
2700 margin-top:1px;
2699 margin-top:1px;
2701 float:right;
2700 float:right;
2702 height:14px;
2701 height:14px;
2703 }
2702 }
2704
2703
2705 .right .comments-cnt {
2704 .right .comments-cnt {
2706 float: left;
2705 float: left;
2707 color: rgb(136, 136, 136);
2706 color: rgb(136, 136, 136);
2708 padding-right: 2px;
2707 padding-right: 2px;
2709 }
2708 }
2710
2709
2711 .right .changes {
2710 .right .changes {
2712 clear: both;
2711 clear: both;
2713 }
2712 }
2714
2713
2715 .right .changes .changed_total {
2714 .right .changes .changed_total {
2716 display: block;
2715 display: block;
2717 float: right;
2716 float: right;
2718 text-align: center;
2717 text-align: center;
2719 min-width: 45px;
2718 min-width: 45px;
2720 cursor: pointer;
2719 cursor: pointer;
2721 color: #444444;
2720 color: #444444;
2722 background: #FEA;
2721 background: #FEA;
2723 -webkit-border-radius: 0px 0px 0px 6px;
2722 -webkit-border-radius: 0px 0px 0px 6px;
2724 -moz-border-radius: 0px 0px 0px 6px;
2723 -moz-border-radius: 0px 0px 0px 6px;
2725 border-radius: 0px 0px 0px 6px;
2724 border-radius: 0px 0px 0px 6px;
2726 padding: 1px;
2725 padding: 1px;
2727 }
2726 }
2728
2727
2729 .right .changes .added, .changed, .removed {
2728 .right .changes .added, .changed, .removed {
2730 display: block;
2729 display: block;
2731 padding: 1px;
2730 padding: 1px;
2732 color: #444444;
2731 color: #444444;
2733 float: right;
2732 float: right;
2734 text-align: center;
2733 text-align: center;
2735 min-width: 15px;
2734 min-width: 15px;
2736 }
2735 }
2737
2736
2738 .right .changes .added {
2737 .right .changes .added {
2739 background: #CFC;
2738 background: #CFC;
2740 }
2739 }
2741
2740
2742 .right .changes .changed {
2741 .right .changes .changed {
2743 background: #FEA;
2742 background: #FEA;
2744 }
2743 }
2745
2744
2746 .right .changes .removed {
2745 .right .changes .removed {
2747 background: #FAA;
2746 background: #FAA;
2748 }
2747 }
2749
2748
2750 .right .merge {
2749 .right .merge {
2751 padding: 1px 3px 1px 3px;
2750 padding: 1px 3px 1px 3px;
2752 background-color: #fca062;
2751 background-color: #fca062;
2753 font-size: 10px;
2752 font-size: 10px;
2754 font-weight: bold;
2753 font-weight: bold;
2755 color: #ffffff;
2754 color: #ffffff;
2756 text-transform: uppercase;
2755 text-transform: uppercase;
2757 white-space: nowrap;
2756 white-space: nowrap;
2758 -webkit-border-radius: 3px;
2757 -webkit-border-radius: 3px;
2759 -moz-border-radius: 3px;
2758 -moz-border-radius: 3px;
2760 border-radius: 3px;
2759 border-radius: 3px;
2761 margin-right: 2px;
2760 margin-right: 2px;
2762 }
2761 }
2763
2762
2764 .right .parent {
2763 .right .parent {
2765 color: #666666;
2764 color: #666666;
2766 clear:both;
2765 clear:both;
2767 }
2766 }
2768 .right .logtags {
2767 .right .logtags {
2769 padding: 2px 2px 2px 2px;
2768 padding: 2px 2px 2px 2px;
2770 }
2769 }
2771 .right .logtags .branchtag, .right .logtags .tagtag, .right .logtags .booktag {
2770 .right .logtags .branchtag, .right .logtags .tagtag, .right .logtags .booktag {
2772 margin: 0px 2px;
2771 margin: 0px 2px;
2773 }
2772 }
2774
2773
2775 .right .logtags .branchtag,
2774 .right .logtags .branchtag,
2776 .logtags .branchtag,
2775 .logtags .branchtag,
2777 .spantag {
2776 .spantag {
2778 padding: 1px 3px 1px 3px;
2777 padding: 1px 3px 1px 3px;
2779 background-color: #bfbfbf;
2778 background-color: #bfbfbf;
2780 font-size: 10px;
2779 font-size: 10px;
2781 font-weight: bold;
2780 font-weight: bold;
2782 color: #ffffff;
2781 color: #ffffff;
2783 white-space: nowrap;
2782 white-space: nowrap;
2784 -webkit-border-radius: 3px;
2783 -webkit-border-radius: 3px;
2785 -moz-border-radius: 3px;
2784 -moz-border-radius: 3px;
2786 border-radius: 3px;
2785 border-radius: 3px;
2787 }
2786 }
2788 .right .logtags .branchtag a:hover, .logtags .branchtag a {
2787 .right .logtags .branchtag a:hover, .logtags .branchtag a {
2789 color: #ffffff;
2788 color: #ffffff;
2790 }
2789 }
2791 .right .logtags .branchtag a:hover, .logtags .branchtag a:hover {
2790 .right .logtags .branchtag a:hover, .logtags .branchtag a:hover {
2792 text-decoration: none;
2791 text-decoration: none;
2793 color: #ffffff;
2792 color: #ffffff;
2794 }
2793 }
2795 .right .logtags .tagtag, .logtags .tagtag {
2794 .right .logtags .tagtag, .logtags .tagtag {
2796 padding: 1px 3px 1px 3px;
2795 padding: 1px 3px 1px 3px;
2797 background-color: #62cffc;
2796 background-color: #62cffc;
2798 font-size: 10px;
2797 font-size: 10px;
2799 font-weight: bold;
2798 font-weight: bold;
2800 color: #ffffff;
2799 color: #ffffff;
2801 white-space: nowrap;
2800 white-space: nowrap;
2802 -webkit-border-radius: 3px;
2801 -webkit-border-radius: 3px;
2803 -moz-border-radius: 3px;
2802 -moz-border-radius: 3px;
2804 border-radius: 3px;
2803 border-radius: 3px;
2805 }
2804 }
2806 .right .logtags .tagtag a:hover, .logtags .tagtag a {
2805 .right .logtags .tagtag a:hover, .logtags .tagtag a {
2807 color: #ffffff;
2806 color: #ffffff;
2808 }
2807 }
2809 .right .logtags .tagtag a:hover, .logtags .tagtag a:hover {
2808 .right .logtags .tagtag a:hover, .logtags .tagtag a:hover {
2810 text-decoration: none;
2809 text-decoration: none;
2811 color: #ffffff;
2810 color: #ffffff;
2812 }
2811 }
2813 .right .logbooks .bookbook, .logbooks .bookbook, .right .logtags .bookbook, .logtags .bookbook {
2812 .right .logbooks .bookbook, .logbooks .bookbook, .right .logtags .bookbook, .logtags .bookbook {
2814 padding: 1px 3px 1px 3px;
2813 padding: 1px 3px 1px 3px;
2815 background-color: #46A546;
2814 background-color: #46A546;
2816 font-size: 10px;
2815 font-size: 10px;
2817 font-weight: bold;
2816 font-weight: bold;
2818 color: #ffffff;
2817 color: #ffffff;
2819 text-transform: uppercase;
2818 text-transform: uppercase;
2820 white-space: nowrap;
2819 white-space: nowrap;
2821 -webkit-border-radius: 3px;
2820 -webkit-border-radius: 3px;
2822 -moz-border-radius: 3px;
2821 -moz-border-radius: 3px;
2823 border-radius: 3px;
2822 border-radius: 3px;
2824 }
2823 }
2825 .right .logbooks .bookbook, .logbooks .bookbook a, .right .logtags .bookbook, .logtags .bookbook a {
2824 .right .logbooks .bookbook, .logbooks .bookbook a, .right .logtags .bookbook, .logtags .bookbook a {
2826 color: #ffffff;
2825 color: #ffffff;
2827 }
2826 }
2828 .right .logbooks .bookbook, .logbooks .bookbook a:hover, .right .logtags .bookbook, .logtags .bookbook a:hover {
2827 .right .logbooks .bookbook, .logbooks .bookbook a:hover, .right .logtags .bookbook, .logtags .bookbook a:hover {
2829 text-decoration: none;
2828 text-decoration: none;
2830 color: #ffffff;
2829 color: #ffffff;
2831 }
2830 }
2832 div.browserblock {
2831 div.browserblock {
2833 overflow: hidden;
2832 overflow: hidden;
2834 border: 1px solid #ccc;
2833 border: 1px solid #ccc;
2835 background: #f8f8f8;
2834 background: #f8f8f8;
2836 font-size: 100%;
2835 font-size: 100%;
2837 line-height: 125%;
2836 line-height: 125%;
2838 padding: 0;
2837 padding: 0;
2839 -webkit-border-radius: 6px 6px 0px 0px;
2838 -webkit-border-radius: 6px 6px 0px 0px;
2840 -moz-border-radius: 6px 6px 0px 0px;
2839 -moz-border-radius: 6px 6px 0px 0px;
2841 border-radius: 6px 6px 0px 0px;
2840 border-radius: 6px 6px 0px 0px;
2842 }
2841 }
2843
2842
2844 div.browserblock .browser-header {
2843 div.browserblock .browser-header {
2845 background: #FFF;
2844 background: #FFF;
2846 padding: 10px 0px 15px 0px;
2845 padding: 10px 0px 15px 0px;
2847 width: 100%;
2846 width: 100%;
2848 }
2847 }
2849
2848
2850 div.browserblock .browser-nav {
2849 div.browserblock .browser-nav {
2851 float: left
2850 float: left
2852 }
2851 }
2853
2852
2854 div.browserblock .browser-branch {
2853 div.browserblock .browser-branch {
2855 float: left;
2854 float: left;
2856 }
2855 }
2857
2856
2858 div.browserblock .browser-branch label {
2857 div.browserblock .browser-branch label {
2859 color: #4A4A4A;
2858 color: #4A4A4A;
2860 vertical-align: text-top;
2859 vertical-align: text-top;
2861 }
2860 }
2862
2861
2863 div.browserblock .browser-header span {
2862 div.browserblock .browser-header span {
2864 margin-left: 5px;
2863 margin-left: 5px;
2865 font-weight: 700;
2864 font-weight: 700;
2866 }
2865 }
2867
2866
2868 div.browserblock .browser-search {
2867 div.browserblock .browser-search {
2869 clear: both;
2868 clear: both;
2870 padding: 8px 8px 0px 5px;
2869 padding: 8px 8px 0px 5px;
2871 height: 20px;
2870 height: 20px;
2872 }
2871 }
2873
2872
2874 div.browserblock #node_filter_box {
2873 div.browserblock #node_filter_box {
2875 }
2874 }
2876
2875
2877 div.browserblock .search_activate {
2876 div.browserblock .search_activate {
2878 float: left
2877 float: left
2879 }
2878 }
2880
2879
2881 div.browserblock .add_node {
2880 div.browserblock .add_node {
2882 float: left;
2881 float: left;
2883 padding-left: 5px;
2882 padding-left: 5px;
2884 }
2883 }
2885
2884
2886 div.browserblock .search_activate a:hover, div.browserblock .add_node a:hover {
2885 div.browserblock .search_activate a:hover, div.browserblock .add_node a:hover {
2887 text-decoration: none !important;
2886 text-decoration: none !important;
2888 }
2887 }
2889
2888
2890 div.browserblock .browser-body {
2889 div.browserblock .browser-body {
2891 background: #EEE;
2890 background: #EEE;
2892 border-top: 1px solid #CCC;
2891 border-top: 1px solid #CCC;
2893 }
2892 }
2894
2893
2895 table.code-browser {
2894 table.code-browser {
2896 border-collapse: collapse;
2895 border-collapse: collapse;
2897 width: 100%;
2896 width: 100%;
2898 }
2897 }
2899
2898
2900 table.code-browser tr {
2899 table.code-browser tr {
2901 margin: 3px;
2900 margin: 3px;
2902 }
2901 }
2903
2902
2904 table.code-browser thead th {
2903 table.code-browser thead th {
2905 background-color: #EEE;
2904 background-color: #EEE;
2906 height: 20px;
2905 height: 20px;
2907 font-size: 1.1em;
2906 font-size: 1.1em;
2908 font-weight: 700;
2907 font-weight: 700;
2909 text-align: left;
2908 text-align: left;
2910 padding-left: 10px;
2909 padding-left: 10px;
2911 }
2910 }
2912
2911
2913 table.code-browser tbody td {
2912 table.code-browser tbody td {
2914 padding-left: 10px;
2913 padding-left: 10px;
2915 height: 20px;
2914 height: 20px;
2916 }
2915 }
2917
2916
2918 table.code-browser .browser-file {
2917 table.code-browser .browser-file {
2919 background: url("../images/icons/document_16.png") no-repeat scroll 3px;
2918 background: url("../images/icons/document_16.png") no-repeat scroll 3px;
2920 height: 16px;
2919 height: 16px;
2921 padding-left: 20px;
2920 padding-left: 20px;
2922 text-align: left;
2921 text-align: left;
2923 }
2922 }
2924 .diffblock .changeset_header {
2923 .diffblock .changeset_header {
2925 height: 16px;
2924 height: 16px;
2926 }
2925 }
2927 .diffblock .changeset_file {
2926 .diffblock .changeset_file {
2928 background: url("../images/icons/file.png") no-repeat scroll 3px;
2927 background: url("../images/icons/file.png") no-repeat scroll 3px;
2929 text-align: left;
2928 text-align: left;
2930 float: left;
2929 float: left;
2931 padding: 2px 0px 2px 22px;
2930 padding: 2px 0px 2px 22px;
2932 }
2931 }
2933 .diffblock .diff-menu-wrapper {
2932 .diffblock .diff-menu-wrapper {
2934 float: left;
2933 float: left;
2935 }
2934 }
2936
2935
2937 .diffblock .diff-menu {
2936 .diffblock .diff-menu {
2938 position: absolute;
2937 position: absolute;
2939 background: none repeat scroll 0 0 #FFFFFF;
2938 background: none repeat scroll 0 0 #FFFFFF;
2940 border-color: #003367 #666666 #666666;
2939 border-color: #003367 #666666 #666666;
2941 border-right: 1px solid #666666;
2940 border-right: 1px solid #666666;
2942 border-style: solid solid solid;
2941 border-style: solid solid solid;
2943 border-width: 1px;
2942 border-width: 1px;
2944 box-shadow: 2px 8px 4px rgba(0, 0, 0, 0.2);
2943 box-shadow: 2px 8px 4px rgba(0, 0, 0, 0.2);
2945 margin-top:5px;
2944 margin-top:5px;
2946 margin-left:1px;
2945 margin-left:1px;
2947
2946
2948 }
2947 }
2949 .diffblock .diff-actions {
2948 .diffblock .diff-actions {
2950 padding: 2px 0px 0px 2px;
2949 padding: 2px 0px 0px 2px;
2951 float: left;
2950 float: left;
2952 }
2951 }
2953 .diffblock .diff-menu ul li {
2952 .diffblock .diff-menu ul li {
2954 padding: 0px 0px 0px 0px !important;
2953 padding: 0px 0px 0px 0px !important;
2955 }
2954 }
2956 .diffblock .diff-menu ul li a {
2955 .diffblock .diff-menu ul li a {
2957 display: block;
2956 display: block;
2958 padding: 3px 8px 3px 8px !important;
2957 padding: 3px 8px 3px 8px !important;
2959 }
2958 }
2960 .diffblock .diff-menu ul li a:hover {
2959 .diffblock .diff-menu ul li a:hover {
2961 text-decoration: none;
2960 text-decoration: none;
2962 background-color: #EEEEEE;
2961 background-color: #EEEEEE;
2963 }
2962 }
2964 table.code-browser .browser-dir {
2963 table.code-browser .browser-dir {
2965 background: url("../images/icons/folder_16.png") no-repeat scroll 3px;
2964 background: url("../images/icons/folder_16.png") no-repeat scroll 3px;
2966 height: 16px;
2965 height: 16px;
2967 padding-left: 20px;
2966 padding-left: 20px;
2968 text-align: left;
2967 text-align: left;
2969 }
2968 }
2970
2969
2971 table.code-browser .submodule-dir {
2970 table.code-browser .submodule-dir {
2972 background: url("../images/icons/disconnect.png") no-repeat scroll 3px;
2971 background: url("../images/icons/disconnect.png") no-repeat scroll 3px;
2973 height: 16px;
2972 height: 16px;
2974 padding-left: 20px;
2973 padding-left: 20px;
2975 text-align: left;
2974 text-align: left;
2976 }
2975 }
2977
2976
2978
2977
2979 .box .search {
2978 .box .search {
2980 clear: both;
2979 clear: both;
2981 overflow: hidden;
2980 overflow: hidden;
2982 margin: 0;
2981 margin: 0;
2983 padding: 0 20px 10px;
2982 padding: 0 20px 10px;
2984 }
2983 }
2985
2984
2986 .box .search div.search_path {
2985 .box .search div.search_path {
2987 background: none repeat scroll 0 0 #EEE;
2986 background: none repeat scroll 0 0 #EEE;
2988 border: 1px solid #CCC;
2987 border: 1px solid #CCC;
2989 color: blue;
2988 color: blue;
2990 margin-bottom: 10px;
2989 margin-bottom: 10px;
2991 padding: 10px 0;
2990 padding: 10px 0;
2992 }
2991 }
2993
2992
2994 .box .search div.search_path div.link {
2993 .box .search div.search_path div.link {
2995 font-weight: 700;
2994 font-weight: 700;
2996 margin-left: 25px;
2995 margin-left: 25px;
2997 }
2996 }
2998
2997
2999 .box .search div.search_path div.link a {
2998 .box .search div.search_path div.link a {
3000 color: #003367;
2999 color: #003367;
3001 cursor: pointer;
3000 cursor: pointer;
3002 text-decoration: none;
3001 text-decoration: none;
3003 }
3002 }
3004
3003
3005 #path_unlock {
3004 #path_unlock {
3006 color: red;
3005 color: red;
3007 font-size: 1.2em;
3006 font-size: 1.2em;
3008 padding-left: 4px;
3007 padding-left: 4px;
3009 }
3008 }
3010
3009
3011 .info_box span {
3010 .info_box span {
3012 margin-left: 3px;
3011 margin-left: 3px;
3013 margin-right: 3px;
3012 margin-right: 3px;
3014 }
3013 }
3015
3014
3016 .info_box .rev {
3015 .info_box .rev {
3017 color: #003367;
3016 color: #003367;
3018 font-size: 1.6em;
3017 font-size: 1.6em;
3019 font-weight: bold;
3018 font-weight: bold;
3020 vertical-align: sub;
3019 vertical-align: sub;
3021 }
3020 }
3022
3021
3023 .info_box input#at_rev, .info_box input#size {
3022 .info_box input#at_rev, .info_box input#size {
3024 background: #FFF;
3023 background: #FFF;
3025 border-top: 1px solid #b3b3b3;
3024 border-top: 1px solid #b3b3b3;
3026 border-left: 1px solid #b3b3b3;
3025 border-left: 1px solid #b3b3b3;
3027 border-right: 1px solid #eaeaea;
3026 border-right: 1px solid #eaeaea;
3028 border-bottom: 1px solid #eaeaea;
3027 border-bottom: 1px solid #eaeaea;
3029 color: #000;
3028 color: #000;
3030 font-size: 12px;
3029 font-size: 12px;
3031 margin: 0;
3030 margin: 0;
3032 padding: 1px 5px 1px;
3031 padding: 1px 5px 1px;
3033 }
3032 }
3034
3033
3035 .info_box input#view {
3034 .info_box input#view {
3036 text-align: center;
3035 text-align: center;
3037 padding: 4px 3px 2px 2px;
3036 padding: 4px 3px 2px 2px;
3038 }
3037 }
3039
3038
3040 .yui-overlay, .yui-panel-container {
3039 .yui-overlay, .yui-panel-container {
3041 visibility: hidden;
3040 visibility: hidden;
3042 position: absolute;
3041 position: absolute;
3043 z-index: 2;
3042 z-index: 2;
3044 }
3043 }
3045
3044
3046 #tip-box {
3045 #tip-box {
3047 position: absolute;
3046 position: absolute;
3048
3047
3049 background-color: #FFF;
3048 background-color: #FFF;
3050 border: 2px solid #003367;
3049 border: 2px solid #003367;
3051 font: 100% sans-serif;
3050 font: 100% sans-serif;
3052 width: auto;
3051 width: auto;
3053 opacity: 1px;
3052 opacity: 1px;
3054 padding: 8px;
3053 padding: 8px;
3055
3054
3056 white-space: pre-wrap;
3055 white-space: pre-wrap;
3057 -webkit-border-radius: 8px 8px 8px 8px;
3056 -webkit-border-radius: 8px 8px 8px 8px;
3058 -khtml-border-radius: 8px 8px 8px 8px;
3057 -khtml-border-radius: 8px 8px 8px 8px;
3059 -moz-border-radius: 8px 8px 8px 8px;
3058 -moz-border-radius: 8px 8px 8px 8px;
3060 border-radius: 8px 8px 8px 8px;
3059 border-radius: 8px 8px 8px 8px;
3061 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
3060 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
3062 -moz-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
3061 -moz-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
3063 -webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
3062 -webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
3064 }
3063 }
3065
3064
3066 .hl-tip-box {
3065 .hl-tip-box {
3067 visibility: hidden;
3066 visibility: hidden;
3068 position: absolute;
3067 position: absolute;
3069 color: #666;
3068 color: #666;
3070 background-color: #FFF;
3069 background-color: #FFF;
3071 border: 2px solid #003367;
3070 border: 2px solid #003367;
3072 font: 100% sans-serif;
3071 font: 100% sans-serif;
3073 width: auto;
3072 width: auto;
3074 opacity: 1px;
3073 opacity: 1px;
3075 padding: 8px;
3074 padding: 8px;
3076 white-space: pre-wrap;
3075 white-space: pre-wrap;
3077 -webkit-border-radius: 8px 8px 8px 8px;
3076 -webkit-border-radius: 8px 8px 8px 8px;
3078 -khtml-border-radius: 8px 8px 8px 8px;
3077 -khtml-border-radius: 8px 8px 8px 8px;
3079 -moz-border-radius: 8px 8px 8px 8px;
3078 -moz-border-radius: 8px 8px 8px 8px;
3080 border-radius: 8px 8px 8px 8px;
3079 border-radius: 8px 8px 8px 8px;
3081 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
3080 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
3082 }
3081 }
3083
3082
3084
3083
3085 .mentions-container {
3084 .mentions-container {
3086 width: 90% !important;
3085 width: 90% !important;
3087 }
3086 }
3088 .mentions-container .yui-ac-content {
3087 .mentions-container .yui-ac-content {
3089 width: 100% !important;
3088 width: 100% !important;
3090 }
3089 }
3091
3090
3092 .ac {
3091 .ac {
3093 vertical-align: top;
3092 vertical-align: top;
3094 }
3093 }
3095
3094
3096 .ac .yui-ac {
3095 .ac .yui-ac {
3097 position: inherit;
3096 position: inherit;
3098 font-size: 100%;
3097 font-size: 100%;
3099 }
3098 }
3100
3099
3101 .ac .perm_ac {
3100 .ac .perm_ac {
3102 width: 20em;
3101 width: 20em;
3103 }
3102 }
3104
3103
3105 .ac .yui-ac-input {
3104 .ac .yui-ac-input {
3106 width: 100%;
3105 width: 100%;
3107 }
3106 }
3108
3107
3109 .ac .yui-ac-container {
3108 .ac .yui-ac-container {
3110 position: absolute;
3109 position: absolute;
3111 top: 1.6em;
3110 top: 1.6em;
3112 width: auto;
3111 width: auto;
3113 }
3112 }
3114
3113
3115 .ac .yui-ac-content {
3114 .ac .yui-ac-content {
3116 position: absolute;
3115 position: absolute;
3117 border: 1px solid gray;
3116 border: 1px solid gray;
3118 background: #fff;
3117 background: #fff;
3119 z-index: 9050;
3118 z-index: 9050;
3120 }
3119 }
3121
3120
3122 .ac .yui-ac-shadow {
3121 .ac .yui-ac-shadow {
3123 position: absolute;
3122 position: absolute;
3124 width: 100%;
3123 width: 100%;
3125 background: #000;
3124 background: #000;
3126 -moz-opacity: 0.1px;
3125 -moz-opacity: 0.1px;
3127 opacity: .10;
3126 opacity: .10;
3128 filter: alpha(opacity = 10);
3127 filter: alpha(opacity = 10);
3129 z-index: 9049;
3128 z-index: 9049;
3130 margin: .3em;
3129 margin: .3em;
3131 }
3130 }
3132
3131
3133 .ac .yui-ac-content ul {
3132 .ac .yui-ac-content ul {
3134 width: 100%;
3133 width: 100%;
3135 margin: 0;
3134 margin: 0;
3136 padding: 0;
3135 padding: 0;
3137 z-index: 9050;
3136 z-index: 9050;
3138 }
3137 }
3139
3138
3140 .ac .yui-ac-content li {
3139 .ac .yui-ac-content li {
3141 cursor: default;
3140 cursor: default;
3142 white-space: nowrap;
3141 white-space: nowrap;
3143 margin: 0;
3142 margin: 0;
3144 padding: 2px 5px;
3143 padding: 2px 5px;
3145 height: 18px;
3144 height: 18px;
3146 z-index: 9050;
3145 z-index: 9050;
3147 display: block;
3146 display: block;
3148 width: auto !important;
3147 width: auto !important;
3149 }
3148 }
3150
3149
3151 .ac .yui-ac-content li .ac-container-wrap {
3150 .ac .yui-ac-content li .ac-container-wrap {
3152 width: auto;
3151 width: auto;
3153 }
3152 }
3154
3153
3155 .ac .yui-ac-content li.yui-ac-prehighlight {
3154 .ac .yui-ac-content li.yui-ac-prehighlight {
3156 background: #B3D4FF;
3155 background: #B3D4FF;
3157 z-index: 9050;
3156 z-index: 9050;
3158 }
3157 }
3159
3158
3160 .ac .yui-ac-content li.yui-ac-highlight {
3159 .ac .yui-ac-content li.yui-ac-highlight {
3161 background: #556CB5;
3160 background: #556CB5;
3162 color: #FFF;
3161 color: #FFF;
3163 z-index: 9050;
3162 z-index: 9050;
3164 }
3163 }
3165 .ac .yui-ac-bd {
3164 .ac .yui-ac-bd {
3166 z-index: 9050;
3165 z-index: 9050;
3167 }
3166 }
3168
3167
3169 .follow {
3168 .follow {
3170 background: url("../images/icons/heart_add.png") no-repeat scroll 3px;
3169 background: url("../images/icons/heart_add.png") no-repeat scroll 3px;
3171 height: 16px;
3170 height: 16px;
3172 width: 20px;
3171 width: 20px;
3173 cursor: pointer;
3172 cursor: pointer;
3174 display: block;
3173 display: block;
3175 float: right;
3174 float: right;
3176 margin-top: 2px;
3175 margin-top: 2px;
3177 }
3176 }
3178
3177
3179 .following {
3178 .following {
3180 background: url("../images/icons/heart_delete.png") no-repeat scroll 3px;
3179 background: url("../images/icons/heart_delete.png") no-repeat scroll 3px;
3181 height: 16px;
3180 height: 16px;
3182 width: 20px;
3181 width: 20px;
3183 cursor: pointer;
3182 cursor: pointer;
3184 display: block;
3183 display: block;
3185 float: right;
3184 float: right;
3186 margin-top: 2px;
3185 margin-top: 2px;
3187 }
3186 }
3188
3187
3189 .reposize {
3188 .reposize {
3190 background: url("../images/icons/server.png") no-repeat scroll 3px;
3189 background: url("../images/icons/server.png") no-repeat scroll 3px;
3191 height: 16px;
3190 height: 16px;
3192 width: 20px;
3191 width: 20px;
3193 cursor: pointer;
3192 cursor: pointer;
3194 display: block;
3193 display: block;
3195 float: right;
3194 float: right;
3196 margin-top: 2px;
3195 margin-top: 2px;
3197 }
3196 }
3198
3197
3199 #repo_size {
3198 #repo_size {
3200 display: block;
3199 display: block;
3201 margin-top: 4px;
3200 margin-top: 4px;
3202 color: #666;
3201 color: #666;
3203 float:right;
3202 float:right;
3204 }
3203 }
3205
3204
3206 .locking_locked {
3205 .locking_locked {
3207 background: #FFF url("../images/icons/block_16.png") no-repeat scroll 3px;
3206 background: #FFF url("../images/icons/block_16.png") no-repeat scroll 3px;
3208 height: 16px;
3207 height: 16px;
3209 width: 20px;
3208 width: 20px;
3210 cursor: pointer;
3209 cursor: pointer;
3211 display: block;
3210 display: block;
3212 float: right;
3211 float: right;
3213 margin-top: 2px;
3212 margin-top: 2px;
3214 }
3213 }
3215
3214
3216 .locking_unlocked {
3215 .locking_unlocked {
3217 background: #FFF url("../images/icons/accept.png") no-repeat scroll 3px;
3216 background: #FFF url("../images/icons/accept.png") no-repeat scroll 3px;
3218 height: 16px;
3217 height: 16px;
3219 width: 20px;
3218 width: 20px;
3220 cursor: pointer;
3219 cursor: pointer;
3221 display: block;
3220 display: block;
3222 float: right;
3221 float: right;
3223 margin-top: 2px;
3222 margin-top: 2px;
3224 }
3223 }
3225
3224
3226 .currently_following {
3225 .currently_following {
3227 padding-left: 10px;
3226 padding-left: 10px;
3228 padding-bottom: 5px;
3227 padding-bottom: 5px;
3229 }
3228 }
3230
3229
3231 .add_icon {
3230 .add_icon {
3232 background: url("../images/icons/add.png") no-repeat scroll 3px;
3231 background: url("../images/icons/add.png") no-repeat scroll 3px;
3233 padding-left: 20px;
3232 padding-left: 20px;
3234 padding-top: 0px;
3233 padding-top: 0px;
3235 text-align: left;
3234 text-align: left;
3236 }
3235 }
3237
3236
3238 .accept_icon {
3237 .accept_icon {
3239 background: url("../images/icons/accept.png") no-repeat scroll 3px;
3238 background: url("../images/icons/accept.png") no-repeat scroll 3px;
3240 padding-left: 20px;
3239 padding-left: 20px;
3241 padding-top: 0px;
3240 padding-top: 0px;
3242 text-align: left;
3241 text-align: left;
3243 }
3242 }
3244
3243
3245 .edit_icon {
3244 .edit_icon {
3246 background: url("../images/icons/application_form_edit.png") no-repeat scroll 3px;
3245 background: url("../images/icons/application_form_edit.png") no-repeat scroll 3px;
3247 padding-left: 20px;
3246 padding-left: 20px;
3248 padding-top: 0px;
3247 padding-top: 0px;
3249 text-align: left;
3248 text-align: left;
3250 }
3249 }
3251
3250
3252 .delete_icon {
3251 .delete_icon {
3253 background: url("../images/icons/delete.png") no-repeat scroll 3px;
3252 background: url("../images/icons/delete.png") no-repeat scroll 3px;
3254 padding-left: 20px;
3253 padding-left: 20px;
3255 padding-top: 0px;
3254 padding-top: 0px;
3256 text-align: left;
3255 text-align: left;
3257 }
3256 }
3258
3257
3259 .refresh_icon {
3258 .refresh_icon {
3260 background: url("../images/icons/arrow_refresh.png") no-repeat scroll
3259 background: url("../images/icons/arrow_refresh.png") no-repeat scroll
3261 3px;
3260 3px;
3262 padding-left: 20px;
3261 padding-left: 20px;
3263 padding-top: 0px;
3262 padding-top: 0px;
3264 text-align: left;
3263 text-align: left;
3265 }
3264 }
3266
3265
3267 .pull_icon {
3266 .pull_icon {
3268 background: url("../images/icons/connect.png") no-repeat scroll 3px;
3267 background: url("../images/icons/connect.png") no-repeat scroll 3px;
3269 padding-left: 20px;
3268 padding-left: 20px;
3270 padding-top: 0px;
3269 padding-top: 0px;
3271 text-align: left;
3270 text-align: left;
3272 }
3271 }
3273
3272
3274 .rss_icon {
3273 .rss_icon {
3275 background: url("../images/icons/rss_16.png") no-repeat scroll 3px;
3274 background: url("../images/icons/rss_16.png") no-repeat scroll 3px;
3276 padding-left: 20px;
3275 padding-left: 20px;
3277 padding-top: 4px;
3276 padding-top: 4px;
3278 text-align: left;
3277 text-align: left;
3279 font-size: 8px
3278 font-size: 8px
3280 }
3279 }
3281
3280
3282 .atom_icon {
3281 .atom_icon {
3283 background: url("../images/icons/rss_16.png") no-repeat scroll 3px;
3282 background: url("../images/icons/rss_16.png") no-repeat scroll 3px;
3284 padding-left: 20px;
3283 padding-left: 20px;
3285 padding-top: 4px;
3284 padding-top: 4px;
3286 text-align: left;
3285 text-align: left;
3287 font-size: 8px
3286 font-size: 8px
3288 }
3287 }
3289
3288
3290 .archive_icon {
3289 .archive_icon {
3291 background: url("../images/icons/compress.png") no-repeat scroll 3px;
3290 background: url("../images/icons/compress.png") no-repeat scroll 3px;
3292 padding-left: 20px;
3291 padding-left: 20px;
3293 text-align: left;
3292 text-align: left;
3294 padding-top: 1px;
3293 padding-top: 1px;
3295 }
3294 }
3296
3295
3297 .start_following_icon {
3296 .start_following_icon {
3298 background: url("../images/icons/heart_add.png") no-repeat scroll 3px;
3297 background: url("../images/icons/heart_add.png") no-repeat scroll 3px;
3299 padding-left: 20px;
3298 padding-left: 20px;
3300 text-align: left;
3299 text-align: left;
3301 padding-top: 0px;
3300 padding-top: 0px;
3302 }
3301 }
3303
3302
3304 .stop_following_icon {
3303 .stop_following_icon {
3305 background: url("../images/icons/heart_delete.png") no-repeat scroll 3px;
3304 background: url("../images/icons/heart_delete.png") no-repeat scroll 3px;
3306 padding-left: 20px;
3305 padding-left: 20px;
3307 text-align: left;
3306 text-align: left;
3308 padding-top: 0px;
3307 padding-top: 0px;
3309 }
3308 }
3310
3309
3311 .action_button {
3310 .action_button {
3312 border: 0;
3311 border: 0;
3313 display: inline;
3312 display: inline;
3314 }
3313 }
3315
3314
3316 .action_button:hover {
3315 .action_button:hover {
3317 border: 0;
3316 border: 0;
3318 text-decoration: underline;
3317 text-decoration: underline;
3319 cursor: pointer;
3318 cursor: pointer;
3320 }
3319 }
3321
3320
3322 #switch_repos {
3321 #switch_repos {
3323 position: absolute;
3322 position: absolute;
3324 height: 25px;
3323 height: 25px;
3325 z-index: 1;
3324 z-index: 1;
3326 }
3325 }
3327
3326
3328 #switch_repos select {
3327 #switch_repos select {
3329 min-width: 150px;
3328 min-width: 150px;
3330 max-height: 250px;
3329 max-height: 250px;
3331 z-index: 1;
3330 z-index: 1;
3332 }
3331 }
3333
3332
3334 .breadcrumbs {
3333 .breadcrumbs {
3335 border: medium none;
3334 border: medium none;
3336 color: #FFF;
3335 color: #FFF;
3337 float: left;
3336 float: left;
3338 font-weight: 700;
3337 font-weight: 700;
3339 font-size: 14px;
3338 font-size: 14px;
3340 margin: 0;
3339 margin: 0;
3341 padding: 11px 0 11px 10px;
3340 padding: 11px 0 11px 10px;
3342 }
3341 }
3343
3342
3344 .breadcrumbs .hash {
3343 .breadcrumbs .hash {
3345 text-transform: none;
3344 text-transform: none;
3346 color: #fff;
3345 color: #fff;
3347 }
3346 }
3348
3347
3349 .breadcrumbs a {
3348 .breadcrumbs a {
3350 color: #FFF;
3349 color: #FFF;
3351 }
3350 }
3352
3351
3353 .flash_msg {
3352 .flash_msg {
3354 }
3353 }
3355
3354
3356 .flash_msg ul {
3355 .flash_msg ul {
3357 }
3356 }
3358
3357
3359 .error_red {
3358 .error_red {
3360 color:red;
3359 color:red;
3361 }
3360 }
3362
3361
3363 .error_msg {
3362 .error_msg {
3364 background-color: #c43c35;
3363 background-color: #c43c35;
3365 background-repeat: repeat-x;
3364 background-repeat: repeat-x;
3366 background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35) );
3365 background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35) );
3367 background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
3366 background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
3368 background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
3367 background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
3369 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35) );
3368 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35) );
3370 background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
3369 background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
3371 background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
3370 background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
3372 background-image: linear-gradient(top, #ee5f5b, #c43c35);
3371 background-image: linear-gradient(top, #ee5f5b, #c43c35);
3373 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b',endColorstr='#c43c35', GradientType=0 );
3372 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b',endColorstr='#c43c35', GradientType=0 );
3374 border-color: #c43c35 #c43c35 #882a25;
3373 border-color: #c43c35 #c43c35 #882a25;
3375 }
3374 }
3376
3375
3377 .warning_msg {
3376 .warning_msg {
3378 color: #404040 !important;
3377 color: #404040 !important;
3379 background-color: #eedc94;
3378 background-color: #eedc94;
3380 background-repeat: repeat-x;
3379 background-repeat: repeat-x;
3381 background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94) );
3380 background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94) );
3382 background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
3381 background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
3383 background-image: -ms-linear-gradient(top, #fceec1, #eedc94);
3382 background-image: -ms-linear-gradient(top, #fceec1, #eedc94);
3384 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94) );
3383 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94) );
3385 background-image: -webkit-linear-gradient(top, #fceec1, #eedc94);
3384 background-image: -webkit-linear-gradient(top, #fceec1, #eedc94);
3386 background-image: -o-linear-gradient(top, #fceec1, #eedc94);
3385 background-image: -o-linear-gradient(top, #fceec1, #eedc94);
3387 background-image: linear-gradient(top, #fceec1, #eedc94);
3386 background-image: linear-gradient(top, #fceec1, #eedc94);
3388 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0 );
3387 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0 );
3389 border-color: #eedc94 #eedc94 #e4c652;
3388 border-color: #eedc94 #eedc94 #e4c652;
3390 }
3389 }
3391
3390
3392 .success_msg {
3391 .success_msg {
3393 background-color: #57a957;
3392 background-color: #57a957;
3394 background-repeat: repeat-x !important;
3393 background-repeat: repeat-x !important;
3395 background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957) );
3394 background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957) );
3396 background-image: -moz-linear-gradient(top, #62c462, #57a957);
3395 background-image: -moz-linear-gradient(top, #62c462, #57a957);
3397 background-image: -ms-linear-gradient(top, #62c462, #57a957);
3396 background-image: -ms-linear-gradient(top, #62c462, #57a957);
3398 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957) );
3397 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957) );
3399 background-image: -webkit-linear-gradient(top, #62c462, #57a957);
3398 background-image: -webkit-linear-gradient(top, #62c462, #57a957);
3400 background-image: -o-linear-gradient(top, #62c462, #57a957);
3399 background-image: -o-linear-gradient(top, #62c462, #57a957);
3401 background-image: linear-gradient(top, #62c462, #57a957);
3400 background-image: linear-gradient(top, #62c462, #57a957);
3402 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0 );
3401 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0 );
3403 border-color: #57a957 #57a957 #3d773d;
3402 border-color: #57a957 #57a957 #3d773d;
3404 }
3403 }
3405
3404
3406 .notice_msg {
3405 .notice_msg {
3407 background-color: #339bb9;
3406 background-color: #339bb9;
3408 background-repeat: repeat-x;
3407 background-repeat: repeat-x;
3409 background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9) );
3408 background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9) );
3410 background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
3409 background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
3411 background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
3410 background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
3412 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9) );
3411 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9) );
3413 background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
3412 background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
3414 background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
3413 background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
3415 background-image: linear-gradient(top, #5bc0de, #339bb9);
3414 background-image: linear-gradient(top, #5bc0de, #339bb9);
3416 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0 );
3415 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0 );
3417 border-color: #339bb9 #339bb9 #22697d;
3416 border-color: #339bb9 #339bb9 #22697d;
3418 }
3417 }
3419
3418
3420 .success_msg, .error_msg, .notice_msg, .warning_msg {
3419 .success_msg, .error_msg, .notice_msg, .warning_msg {
3421 font-size: 12px;
3420 font-size: 12px;
3422 font-weight: 700;
3421 font-weight: 700;
3423 min-height: 14px;
3422 min-height: 14px;
3424 line-height: 14px;
3423 line-height: 14px;
3425 margin-bottom: 10px;
3424 margin-bottom: 10px;
3426 margin-top: 0;
3425 margin-top: 0;
3427 display: block;
3426 display: block;
3428 overflow: auto;
3427 overflow: auto;
3429 padding: 6px 10px 6px 10px;
3428 padding: 6px 10px 6px 10px;
3430 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3429 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3431 position: relative;
3430 position: relative;
3432 color: #FFF;
3431 color: #FFF;
3433 border-width: 1px;
3432 border-width: 1px;
3434 border-style: solid;
3433 border-style: solid;
3435 -webkit-border-radius: 4px;
3434 -webkit-border-radius: 4px;
3436 -moz-border-radius: 4px;
3435 -moz-border-radius: 4px;
3437 border-radius: 4px;
3436 border-radius: 4px;
3438 -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3437 -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3439 -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3438 -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3440 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3439 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3441 }
3440 }
3442
3441
3443 #msg_close {
3442 #msg_close {
3444 background: transparent url("../icons/cross_grey_small.png") no-repeat scroll 0 0;
3443 background: transparent url("../icons/cross_grey_small.png") no-repeat scroll 0 0;
3445 cursor: pointer;
3444 cursor: pointer;
3446 height: 16px;
3445 height: 16px;
3447 position: absolute;
3446 position: absolute;
3448 right: 5px;
3447 right: 5px;
3449 top: 5px;
3448 top: 5px;
3450 width: 16px;
3449 width: 16px;
3451 }
3450 }
3452 div#legend_data {
3451 div#legend_data {
3453 padding-left:10px;
3452 padding-left:10px;
3454 }
3453 }
3455 div#legend_container table {
3454 div#legend_container table {
3456 border: none !important;
3455 border: none !important;
3457 }
3456 }
3458 div#legend_container table, div#legend_choices table {
3457 div#legend_container table, div#legend_choices table {
3459 width: auto !important;
3458 width: auto !important;
3460 }
3459 }
3461
3460
3462 table#permissions_manage {
3461 table#permissions_manage {
3463 width: 0 !important;
3462 width: 0 !important;
3464 }
3463 }
3465
3464
3466 table#permissions_manage span.private_repo_msg {
3465 table#permissions_manage span.private_repo_msg {
3467 font-size: 0.8em;
3466 font-size: 0.8em;
3468 opacity: 0.6px;
3467 opacity: 0.6px;
3469 }
3468 }
3470
3469
3471 table#permissions_manage td.private_repo_msg {
3470 table#permissions_manage td.private_repo_msg {
3472 font-size: 0.8em;
3471 font-size: 0.8em;
3473 }
3472 }
3474
3473
3475 table#permissions_manage tr#add_perm_input td {
3474 table#permissions_manage tr#add_perm_input td {
3476 vertical-align: middle;
3475 vertical-align: middle;
3477 }
3476 }
3478
3477
3479 div.gravatar {
3478 div.gravatar {
3480 background-color: #FFF;
3479 background-color: #FFF;
3481 float: left;
3480 float: left;
3482 margin-right: 0.7em;
3481 margin-right: 0.7em;
3483 padding: 1px 1px 1px 1px;
3482 padding: 1px 1px 1px 1px;
3484 line-height:0;
3483 line-height:0;
3485 -webkit-border-radius: 3px;
3484 -webkit-border-radius: 3px;
3486 -khtml-border-radius: 3px;
3485 -khtml-border-radius: 3px;
3487 -moz-border-radius: 3px;
3486 -moz-border-radius: 3px;
3488 border-radius: 3px;
3487 border-radius: 3px;
3489 }
3488 }
3490
3489
3491 div.gravatar img {
3490 div.gravatar img {
3492 -webkit-border-radius: 2px;
3491 -webkit-border-radius: 2px;
3493 -khtml-border-radius: 2px;
3492 -khtml-border-radius: 2px;
3494 -moz-border-radius: 2px;
3493 -moz-border-radius: 2px;
3495 border-radius: 2px;
3494 border-radius: 2px;
3496 }
3495 }
3497
3496
3498 #header, #content, #footer {
3497 #header, #content, #footer {
3499 min-width: 978px;
3498 min-width: 978px;
3500 }
3499 }
3501
3500
3502 #content {
3501 #content {
3503 clear: both;
3502 clear: both;
3504 overflow: hidden;
3503 overflow: hidden;
3505 padding: 10px 10px 14px 10px;
3504 padding: 10px 10px 14px 10px;
3506 }
3505 }
3507
3506
3508 #content.hover {
3507 #content.hover {
3509 padding: 55px 10px 14px 10px !important;
3508 padding: 55px 10px 14px 10px !important;
3510 }
3509 }
3511
3510
3512 #content div.box div.title div.search {
3511 #content div.box div.title div.search {
3513 border-left: 1px solid #316293;
3512 border-left: 1px solid #316293;
3514 }
3513 }
3515
3514
3516 #content div.box div.title div.search div.input input {
3515 #content div.box div.title div.search div.input input {
3517 border: 1px solid #316293;
3516 border: 1px solid #316293;
3518 }
3517 }
3519
3518
3520 .ui-btn {
3519 .ui-btn {
3521 color: #515151;
3520 color: #515151;
3522 background-color: #DADADA;
3521 background-color: #DADADA;
3523 background-repeat: repeat-x;
3522 background-repeat: repeat-x;
3524 background-image: -khtml-gradient(linear, left top, left bottom, from(#F4F4F4),to(#DADADA) );
3523 background-image: -khtml-gradient(linear, left top, left bottom, from(#F4F4F4),to(#DADADA) );
3525 background-image: -moz-linear-gradient(top, #F4F4F4, #DADADA);
3524 background-image: -moz-linear-gradient(top, #F4F4F4, #DADADA);
3526 background-image: -ms-linear-gradient(top, #F4F4F4, #DADADA);
3525 background-image: -ms-linear-gradient(top, #F4F4F4, #DADADA);
3527 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #F4F4F4),color-stop(100%, #DADADA) );
3526 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #F4F4F4),color-stop(100%, #DADADA) );
3528 background-image: -webkit-linear-gradient(top, #F4F4F4, #DADADA) );
3527 background-image: -webkit-linear-gradient(top, #F4F4F4, #DADADA) );
3529 background-image: -o-linear-gradient(top, #F4F4F4, #DADADA) );
3528 background-image: -o-linear-gradient(top, #F4F4F4, #DADADA) );
3530 background-image: linear-gradient(top, #F4F4F4, #DADADA);
3529 background-image: linear-gradient(top, #F4F4F4, #DADADA);
3531 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F4F4F4', endColorstr='#DADADA', GradientType=0);
3530 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F4F4F4', endColorstr='#DADADA', GradientType=0);
3532
3531
3533 border-top: 1px solid #DDD;
3532 border-top: 1px solid #DDD;
3534 border-left: 1px solid #c6c6c6;
3533 border-left: 1px solid #c6c6c6;
3535 border-right: 1px solid #DDD;
3534 border-right: 1px solid #DDD;
3536 border-bottom: 1px solid #c6c6c6;
3535 border-bottom: 1px solid #c6c6c6;
3537 color: #515151;
3536 color: #515151;
3538 outline: none;
3537 outline: none;
3539 margin: 0px 3px 3px 0px;
3538 margin: 0px 3px 3px 0px;
3540 -webkit-border-radius: 4px 4px 4px 4px !important;
3539 -webkit-border-radius: 4px 4px 4px 4px !important;
3541 -khtml-border-radius: 4px 4px 4px 4px !important;
3540 -khtml-border-radius: 4px 4px 4px 4px !important;
3542 -moz-border-radius: 4px 4px 4px 4px !important;
3541 -moz-border-radius: 4px 4px 4px 4px !important;
3543 border-radius: 4px 4px 4px 4px !important;
3542 border-radius: 4px 4px 4px 4px !important;
3544 cursor: pointer !important;
3543 cursor: pointer !important;
3545 padding: 3px 3px 3px 3px;
3544 padding: 3px 3px 3px 3px;
3546 background-position: 0 -15px;
3545 background-position: 0 -15px;
3547
3546
3548 }
3547 }
3549
3548
3550 .ui-btn.disabled {
3549 .ui-btn.disabled {
3551 color: #999;
3550 color: #999;
3552 }
3551 }
3553
3552
3554 .ui-btn.xsmall {
3553 .ui-btn.xsmall {
3555 padding: 1px 2px 1px 1px;
3554 padding: 1px 2px 1px 1px;
3556 }
3555 }
3557
3556
3558 .ui-btn.large {
3557 .ui-btn.large {
3559 padding: 6px 12px;
3558 padding: 6px 12px;
3560 }
3559 }
3561
3560
3562 .ui-btn.clone {
3561 .ui-btn.clone {
3563 padding: 5px 2px 6px 1px;
3562 padding: 5px 2px 6px 1px;
3564 margin: 0px 0px 3px -4px;
3563 margin: 0px 0px 3px -4px;
3565 -webkit-border-radius: 0px 4px 4px 0px !important;
3564 -webkit-border-radius: 0px 4px 4px 0px !important;
3566 -khtml-border-radius: 0px 4px 4px 0px !important;
3565 -khtml-border-radius: 0px 4px 4px 0px !important;
3567 -moz-border-radius: 0px 4px 4px 0px !important;
3566 -moz-border-radius: 0px 4px 4px 0px !important;
3568 border-radius: 0px 4px 4px 0px !important;
3567 border-radius: 0px 4px 4px 0px !important;
3569 width: 100px;
3568 width: 100px;
3570 text-align: center;
3569 text-align: center;
3571 display: inline-block;
3570 display: inline-block;
3572 position: relative;
3571 position: relative;
3573 top: -2px;
3572 top: -2px;
3574 }
3573 }
3575 .ui-btn:focus {
3574 .ui-btn:focus {
3576 outline: none;
3575 outline: none;
3577 }
3576 }
3578 .ui-btn:hover {
3577 .ui-btn:hover {
3579 background-position: 0 -15px;
3578 background-position: 0 -15px;
3580 text-decoration: none;
3579 text-decoration: none;
3581 color: #515151;
3580 color: #515151;
3582 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25), 0 0 3px #FFFFFF !important;
3581 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25), 0 0 3px #FFFFFF !important;
3583 }
3582 }
3584
3583
3585 .ui-btn.disabled:hover {
3584 .ui-btn.disabled:hover {
3586 background-position:none;
3585 background-position:none;
3587 color: #999;
3586 color: #999;
3588 text-decoration: none;
3587 text-decoration: none;
3589 box-shadow: none !important;
3588 box-shadow: none !important;
3590 }
3589 }
3591
3590
3592 .ui-btn.red {
3591 .ui-btn.red {
3593 color:#fff;
3592 color:#fff;
3594 background-color: #c43c35;
3593 background-color: #c43c35;
3595 background-repeat: repeat-x;
3594 background-repeat: repeat-x;
3596 background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
3595 background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
3597 background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
3596 background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
3598 background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
3597 background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
3599 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
3598 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
3600 background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
3599 background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
3601 background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
3600 background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
3602 background-image: linear-gradient(top, #ee5f5b, #c43c35);
3601 background-image: linear-gradient(top, #ee5f5b, #c43c35);
3603 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
3602 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
3604 border-color: #c43c35 #c43c35 #882a25;
3603 border-color: #c43c35 #c43c35 #882a25;
3605 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3604 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3606 }
3605 }
3607
3606
3608
3607
3609 .ui-btn.blue {
3608 .ui-btn.blue {
3610 color:#fff;
3609 color:#fff;
3611 background-color: #339bb9;
3610 background-color: #339bb9;
3612 background-repeat: repeat-x;
3611 background-repeat: repeat-x;
3613 background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
3612 background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
3614 background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
3613 background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
3615 background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
3614 background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
3616 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));
3615 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));
3617 background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
3616 background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
3618 background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
3617 background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
3619 background-image: linear-gradient(top, #5bc0de, #339bb9);
3618 background-image: linear-gradient(top, #5bc0de, #339bb9);
3620 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);
3619 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);
3621 border-color: #339bb9 #339bb9 #22697d;
3620 border-color: #339bb9 #339bb9 #22697d;
3622 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3621 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3623 }
3622 }
3624
3623
3625 .ui-btn.green {
3624 .ui-btn.green {
3626 background-color: #57a957;
3625 background-color: #57a957;
3627 background-repeat: repeat-x;
3626 background-repeat: repeat-x;
3628 background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
3627 background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
3629 background-image: -moz-linear-gradient(top, #62c462, #57a957);
3628 background-image: -moz-linear-gradient(top, #62c462, #57a957);
3630 background-image: -ms-linear-gradient(top, #62c462, #57a957);
3629 background-image: -ms-linear-gradient(top, #62c462, #57a957);
3631 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
3630 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
3632 background-image: -webkit-linear-gradient(top, #62c462, #57a957);
3631 background-image: -webkit-linear-gradient(top, #62c462, #57a957);
3633 background-image: -o-linear-gradient(top, #62c462, #57a957);
3632 background-image: -o-linear-gradient(top, #62c462, #57a957);
3634 background-image: linear-gradient(top, #62c462, #57a957);
3633 background-image: linear-gradient(top, #62c462, #57a957);
3635 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
3634 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
3636 border-color: #57a957 #57a957 #3d773d;
3635 border-color: #57a957 #57a957 #3d773d;
3637 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3636 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3638 }
3637 }
3639
3638
3640 .ui-btn.blue.hidden {
3639 .ui-btn.blue.hidden {
3641 display: none;
3640 display: none;
3642 }
3641 }
3643
3642
3644 .ui-btn.active {
3643 .ui-btn.active {
3645 font-weight: bold;
3644 font-weight: bold;
3646 }
3645 }
3647
3646
3648 ins, div.options a:hover {
3647 ins, div.options a:hover {
3649 text-decoration: none;
3648 text-decoration: none;
3650 }
3649 }
3651
3650
3652 img,
3651 img,
3653 #header #header-inner #quick li a:hover span.normal,
3652 #header #header-inner #quick li a:hover span.normal,
3654 #header #header-inner #quick li ul li.last,
3653 #header #header-inner #quick li ul li.last,
3655 #content div.box div.form div.fields div.field div.textarea table td table td a,
3654 #content div.box div.form div.fields div.field div.textarea table td table td a,
3656 #clone_url,
3655 #clone_url,
3657 #clone_url_id
3656 #clone_url_id
3658 {
3657 {
3659 border: none;
3658 border: none;
3660 }
3659 }
3661
3660
3662 img.icon, .right .merge img {
3661 img.icon, .right .merge img {
3663 vertical-align: bottom;
3662 vertical-align: bottom;
3664 }
3663 }
3665
3664
3666 #header ul#logged-user, #content div.box div.title ul.links,
3665 #header ul#logged-user, #content div.box div.title ul.links,
3667 #content div.box div.message div.dismiss,
3666 #content div.box div.message div.dismiss,
3668 #content div.box div.traffic div.legend ul {
3667 #content div.box div.traffic div.legend ul {
3669 float: right;
3668 float: right;
3670 margin: 0;
3669 margin: 0;
3671 padding: 0;
3670 padding: 0;
3672 }
3671 }
3673
3672
3674 #header #header-inner #home, #header #header-inner #logo,
3673 #header #header-inner #home, #header #header-inner #logo,
3675 #content div.box ul.left, #content div.box ol.left,
3674 #content div.box ul.left, #content div.box ol.left,
3676 #content div.box div.pagination-left, div#commit_history,
3675 #content div.box div.pagination-left, div#commit_history,
3677 div#legend_data, div#legend_container, div#legend_choices {
3676 div#legend_data, div#legend_container, div#legend_choices {
3678 float: left;
3677 float: left;
3679 }
3678 }
3680
3679
3681 #header #header-inner #quick li #quick_login,
3680 #header #header-inner #quick li #quick_login,
3682 #header #header-inner #quick li:hover ul ul,
3681 #header #header-inner #quick li:hover ul ul,
3683 #header #header-inner #quick li:hover ul ul ul,
3682 #header #header-inner #quick li:hover ul ul ul,
3684 #header #header-inner #quick li:hover ul ul ul ul,
3683 #header #header-inner #quick li:hover ul ul ul ul,
3685 #content #left #menu ul.closed, #content #left #menu li ul.collapsed, .yui-tt-shadow {
3684 #content #left #menu ul.closed, #content #left #menu li ul.collapsed, .yui-tt-shadow {
3686 display: none;
3685 display: none;
3687 }
3686 }
3688
3687
3689 #header #header-inner #quick li:hover #quick_login,
3688 #header #header-inner #quick li:hover #quick_login,
3690 #header #header-inner #quick li:hover ul, #header #header-inner #quick li li:hover ul, #header #header-inner #quick li li li:hover ul, #header #header-inner #quick li li li li:hover ul, #content #left #menu ul.opened, #content #left #menu li ul.expanded {
3689 #header #header-inner #quick li:hover ul, #header #header-inner #quick li li:hover ul, #header #header-inner #quick li li li:hover ul, #header #header-inner #quick li li li li:hover ul, #content #left #menu ul.opened, #content #left #menu li ul.expanded {
3691 display: block;
3690 display: block;
3692 }
3691 }
3693
3692
3694 #content div.graph {
3693 #content div.graph {
3695 padding: 0 10px 10px;
3694 padding: 0 10px 10px;
3696 }
3695 }
3697
3696
3698 #content div.box div.title ul.links li a:hover, #content div.box div.title ul.links li.ui-tabs-selected a {
3697 #content div.box div.title ul.links li a:hover, #content div.box div.title ul.links li.ui-tabs-selected a {
3699 color: #bfe3ff;
3698 color: #bfe3ff;
3700 }
3699 }
3701
3700
3702 #content div.box ol.lower-roman, #content div.box ol.upper-roman, #content div.box ol.lower-alpha, #content div.box ol.upper-alpha, #content div.box ol.decimal {
3701 #content div.box ol.lower-roman, #content div.box ol.upper-roman, #content div.box ol.lower-alpha, #content div.box ol.upper-alpha, #content div.box ol.decimal {
3703 margin: 10px 24px 10px 44px;
3702 margin: 10px 24px 10px 44px;
3704 }
3703 }
3705
3704
3706 #content div.box div.form, #content div.box div.table, #content div.box div.traffic {
3705 #content div.box div.form, #content div.box div.table, #content div.box div.traffic {
3707 clear: both;
3706 clear: both;
3708 overflow: hidden;
3707 overflow: hidden;
3709 margin: 0;
3708 margin: 0;
3710 padding: 0 20px 10px;
3709 padding: 0 20px 10px;
3711 }
3710 }
3712
3711
3713 #content div.box div.form div.fields, #login div.form, #login div.form div.fields, #register div.form, #register div.form div.fields {
3712 #content div.box div.form div.fields, #login div.form, #login div.form div.fields, #register div.form, #register div.form div.fields {
3714 clear: both;
3713 clear: both;
3715 overflow: hidden;
3714 overflow: hidden;
3716 margin: 0;
3715 margin: 0;
3717 padding: 0;
3716 padding: 0;
3718 }
3717 }
3719
3718
3720 #content div.box div.form div.fields div.field div.label span, #login div.form div.fields div.field div.label span, #register div.form div.fields div.field div.label span {
3719 #content div.box div.form div.fields div.field div.label span, #login div.form div.fields div.field div.label span, #register div.form div.fields div.field div.label span {
3721 height: 1%;
3720 height: 1%;
3722 display: block;
3721 display: block;
3723 color: #363636;
3722 color: #363636;
3724 margin: 0;
3723 margin: 0;
3725 padding: 2px 0 0;
3724 padding: 2px 0 0;
3726 }
3725 }
3727
3726
3728 #content div.box div.form div.fields div.field div.input input.error, #login div.form div.fields div.field div.input input.error, #register div.form div.fields div.field div.input input.error {
3727 #content div.box div.form div.fields div.field div.input input.error, #login div.form div.fields div.field div.input input.error, #register div.form div.fields div.field div.input input.error {
3729 background: #FBE3E4;
3728 background: #FBE3E4;
3730 border-top: 1px solid #e1b2b3;
3729 border-top: 1px solid #e1b2b3;
3731 border-left: 1px solid #e1b2b3;
3730 border-left: 1px solid #e1b2b3;
3732 border-right: 1px solid #FBC2C4;
3731 border-right: 1px solid #FBC2C4;
3733 border-bottom: 1px solid #FBC2C4;
3732 border-bottom: 1px solid #FBC2C4;
3734 }
3733 }
3735
3734
3736 #content div.box div.form div.fields div.field div.input input.success, #login div.form div.fields div.field div.input input.success, #register div.form div.fields div.field div.input input.success {
3735 #content div.box div.form div.fields div.field div.input input.success, #login div.form div.fields div.field div.input input.success, #register div.form div.fields div.field div.input input.success {
3737 background: #E6EFC2;
3736 background: #E6EFC2;
3738 border-top: 1px solid #cebb98;
3737 border-top: 1px solid #cebb98;
3739 border-left: 1px solid #cebb98;
3738 border-left: 1px solid #cebb98;
3740 border-right: 1px solid #c6d880;
3739 border-right: 1px solid #c6d880;
3741 border-bottom: 1px solid #c6d880;
3740 border-bottom: 1px solid #c6d880;
3742 }
3741 }
3743
3742
3744 #content div.box-left div.form div.fields div.field div.textarea, #content div.box-right div.form div.fields div.field div.textarea, #content div.box div.form div.fields div.field div.select select, #content div.box table th.selected input, #content div.box table td.selected input {
3743 #content div.box-left div.form div.fields div.field div.textarea, #content div.box-right div.form div.fields div.field div.textarea, #content div.box div.form div.fields div.field div.select select, #content div.box table th.selected input, #content div.box table td.selected input {
3745 margin: 0;
3744 margin: 0;
3746 }
3745 }
3747
3746
3748 #content div.box-left div.form div.fields div.field div.select, #content div.box-left div.form div.fields div.field div.checkboxes, #content div.box-left div.form div.fields div.field div.radios, #content div.box-right div.form div.fields div.field div.select, #content div.box-right div.form div.fields div.field div.checkboxes, #content div.box-right div.form div.fields div.field div.radios {
3747 #content div.box-left div.form div.fields div.field div.select, #content div.box-left div.form div.fields div.field div.checkboxes, #content div.box-left div.form div.fields div.field div.radios, #content div.box-right div.form div.fields div.field div.select, #content div.box-right div.form div.fields div.field div.checkboxes, #content div.box-right div.form div.fields div.field div.radios {
3749 margin: 0 0 0 0px !important;
3748 margin: 0 0 0 0px !important;
3750 padding: 0;
3749 padding: 0;
3751 }
3750 }
3752
3751
3753 #content div.box div.form div.fields div.field div.select, #content div.box div.form div.fields div.field div.checkboxes, #content div.box div.form div.fields div.field div.radios {
3752 #content div.box div.form div.fields div.field div.select, #content div.box div.form div.fields div.field div.checkboxes, #content div.box div.form div.fields div.field div.radios {
3754 margin: 0 0 0 200px;
3753 margin: 0 0 0 200px;
3755 padding: 0;
3754 padding: 0;
3756 }
3755 }
3757
3756
3758 #content div.box div.form div.fields div.field div.select a:hover, #content div.box div.form div.fields div.field div.select a.ui-selectmenu:hover, #content div.box div.action a:hover {
3757 #content div.box div.form div.fields div.field div.select a:hover, #content div.box div.form div.fields div.field div.select a.ui-selectmenu:hover, #content div.box div.action a:hover {
3759 color: #000;
3758 color: #000;
3760 text-decoration: none;
3759 text-decoration: none;
3761 }
3760 }
3762
3761
3763 #content div.box div.form div.fields div.field div.select a.ui-selectmenu-focus, #content div.box div.action a.ui-selectmenu-focus {
3762 #content div.box div.form div.fields div.field div.select a.ui-selectmenu-focus, #content div.box div.action a.ui-selectmenu-focus {
3764 border: 1px solid #666;
3763 border: 1px solid #666;
3765 }
3764 }
3766
3765
3767 #content div.box div.form div.fields div.field div.checkboxes div.checkbox, #content div.box div.form div.fields div.field div.radios div.radio {
3766 #content div.box div.form div.fields div.field div.checkboxes div.checkbox, #content div.box div.form div.fields div.field div.radios div.radio {
3768 clear: both;
3767 clear: both;
3769 overflow: hidden;
3768 overflow: hidden;
3770 margin: 0;
3769 margin: 0;
3771 padding: 8px 0 2px;
3770 padding: 8px 0 2px;
3772 }
3771 }
3773
3772
3774 #content div.box div.form div.fields div.field div.checkboxes div.checkbox input, #content div.box div.form div.fields div.field div.radios div.radio input {
3773 #content div.box div.form div.fields div.field div.checkboxes div.checkbox input, #content div.box div.form div.fields div.field div.radios div.radio input {
3775 float: left;
3774 float: left;
3776 margin: 0;
3775 margin: 0;
3777 }
3776 }
3778
3777
3779 #content div.box div.form div.fields div.field div.checkboxes div.checkbox label, #content div.box div.form div.fields div.field div.radios div.radio label {
3778 #content div.box div.form div.fields div.field div.checkboxes div.checkbox label, #content div.box div.form div.fields div.field div.radios div.radio label {
3780 height: 1%;
3779 height: 1%;
3781 display: block;
3780 display: block;
3782 float: left;
3781 float: left;
3783 margin: 2px 0 0 4px;
3782 margin: 2px 0 0 4px;
3784 }
3783 }
3785
3784
3786 div.form div.fields div.field div.button input,
3785 div.form div.fields div.field div.button input,
3787 #content div.box div.form div.fields div.buttons input
3786 #content div.box div.form div.fields div.buttons input
3788 div.form div.fields div.buttons input,
3787 div.form div.fields div.buttons input,
3789 #content div.box div.action div.button input {
3788 #content div.box div.action div.button input {
3790 /*color: #000;*/
3789 /*color: #000;*/
3791 font-size: 11px;
3790 font-size: 11px;
3792 font-weight: 700;
3791 font-weight: 700;
3793 margin: 0;
3792 margin: 0;
3794 }
3793 }
3795
3794
3796 input.ui-button {
3795 input.ui-button {
3797 background: #e5e3e3 url("../images/button.png") repeat-x;
3796 background: #e5e3e3 url("../images/button.png") repeat-x;
3798 border-top: 1px solid #DDD;
3797 border-top: 1px solid #DDD;
3799 border-left: 1px solid #c6c6c6;
3798 border-left: 1px solid #c6c6c6;
3800 border-right: 1px solid #DDD;
3799 border-right: 1px solid #DDD;
3801 border-bottom: 1px solid #c6c6c6;
3800 border-bottom: 1px solid #c6c6c6;
3802 color: #515151 !important;
3801 color: #515151 !important;
3803 outline: none;
3802 outline: none;
3804 margin: 0;
3803 margin: 0;
3805 padding: 6px 12px;
3804 padding: 6px 12px;
3806 -webkit-border-radius: 4px 4px 4px 4px;
3805 -webkit-border-radius: 4px 4px 4px 4px;
3807 -khtml-border-radius: 4px 4px 4px 4px;
3806 -khtml-border-radius: 4px 4px 4px 4px;
3808 -moz-border-radius: 4px 4px 4px 4px;
3807 -moz-border-radius: 4px 4px 4px 4px;
3809 border-radius: 4px 4px 4px 4px;
3808 border-radius: 4px 4px 4px 4px;
3810 box-shadow: 0 1px 0 #ececec;
3809 box-shadow: 0 1px 0 #ececec;
3811 cursor: pointer;
3810 cursor: pointer;
3812 }
3811 }
3813
3812
3814 input.ui-button:hover {
3813 input.ui-button:hover {
3815 background: #b4b4b4 url("../images/button_selected.png") repeat-x;
3814 background: #b4b4b4 url("../images/button_selected.png") repeat-x;
3816 border-top: 1px solid #ccc;
3815 border-top: 1px solid #ccc;
3817 border-left: 1px solid #bebebe;
3816 border-left: 1px solid #bebebe;
3818 border-right: 1px solid #b1b1b1;
3817 border-right: 1px solid #b1b1b1;
3819 border-bottom: 1px solid #afafaf;
3818 border-bottom: 1px solid #afafaf;
3820 }
3819 }
3821
3820
3822 div.form div.fields div.field div.highlight, #content div.box div.form div.fields div.buttons div.highlight {
3821 div.form div.fields div.field div.highlight, #content div.box div.form div.fields div.buttons div.highlight {
3823 display: inline;
3822 display: inline;
3824 }
3823 }
3825
3824
3826 #content div.box div.form div.fields div.buttons, div.form div.fields div.buttons {
3825 #content div.box div.form div.fields div.buttons, div.form div.fields div.buttons {
3827 margin: 10px 0 0 200px;
3826 margin: 10px 0 0 200px;
3828 padding: 0;
3827 padding: 0;
3829 }
3828 }
3830
3829
3831 #content div.box-left div.form div.fields div.buttons, #content div.box-right div.form div.fields div.buttons, div.box-left div.form div.fields div.buttons, div.box-right div.form div.fields div.buttons {
3830 #content div.box-left div.form div.fields div.buttons, #content div.box-right div.form div.fields div.buttons, div.box-left div.form div.fields div.buttons, div.box-right div.form div.fields div.buttons {
3832 margin: 10px 0 0;
3831 margin: 10px 0 0;
3833 }
3832 }
3834
3833
3835 #content div.box table td.user, #content div.box table td.address {
3834 #content div.box table td.user, #content div.box table td.address {
3836 width: 10%;
3835 width: 10%;
3837 text-align: center;
3836 text-align: center;
3838 }
3837 }
3839
3838
3840 #content div.box div.action div.button, #login div.form div.fields div.field div.input div.link, #register div.form div.fields div.field div.input div.link {
3839 #content div.box div.action div.button, #login div.form div.fields div.field div.input div.link, #register div.form div.fields div.field div.input div.link {
3841 text-align: right;
3840 text-align: right;
3842 margin: 6px 0 0;
3841 margin: 6px 0 0;
3843 padding: 0;
3842 padding: 0;
3844 }
3843 }
3845
3844
3846 #content div.box div.action div.button input.ui-state-hover, #login div.form div.fields div.buttons input.ui-state-hover, #register div.form div.fields div.buttons input.ui-state-hover {
3845 #content div.box div.action div.button input.ui-state-hover, #login div.form div.fields div.buttons input.ui-state-hover, #register div.form div.fields div.buttons input.ui-state-hover {
3847 background: #b4b4b4 url("../images/button_selected.png") repeat-x;
3846 background: #b4b4b4 url("../images/button_selected.png") repeat-x;
3848 border-top: 1px solid #ccc;
3847 border-top: 1px solid #ccc;
3849 border-left: 1px solid #bebebe;
3848 border-left: 1px solid #bebebe;
3850 border-right: 1px solid #b1b1b1;
3849 border-right: 1px solid #b1b1b1;
3851 border-bottom: 1px solid #afafaf;
3850 border-bottom: 1px solid #afafaf;
3852 color: #515151;
3851 color: #515151;
3853 margin: 0;
3852 margin: 0;
3854 padding: 6px 12px;
3853 padding: 6px 12px;
3855 }
3854 }
3856
3855
3857 #content div.box div.pagination div.results, #content div.box div.pagination-wh div.results {
3856 #content div.box div.pagination div.results, #content div.box div.pagination-wh div.results {
3858 text-align: left;
3857 text-align: left;
3859 float: left;
3858 float: left;
3860 margin: 0;
3859 margin: 0;
3861 padding: 0;
3860 padding: 0;
3862 }
3861 }
3863
3862
3864 #content div.box div.pagination div.results span, #content div.box div.pagination-wh div.results span {
3863 #content div.box div.pagination div.results span, #content div.box div.pagination-wh div.results span {
3865 height: 1%;
3864 height: 1%;
3866 display: block;
3865 display: block;
3867 float: left;
3866 float: left;
3868 background: #ebebeb url("../images/pager.png") repeat-x;
3867 background: #ebebeb url("../images/pager.png") repeat-x;
3869 border-top: 1px solid #dedede;
3868 border-top: 1px solid #dedede;
3870 border-left: 1px solid #cfcfcf;
3869 border-left: 1px solid #cfcfcf;
3871 border-right: 1px solid #c4c4c4;
3870 border-right: 1px solid #c4c4c4;
3872 border-bottom: 1px solid #c4c4c4;
3871 border-bottom: 1px solid #c4c4c4;
3873 color: #4A4A4A;
3872 color: #4A4A4A;
3874 font-weight: 700;
3873 font-weight: 700;
3875 margin: 0;
3874 margin: 0;
3876 padding: 6px 8px;
3875 padding: 6px 8px;
3877 }
3876 }
3878
3877
3879 #content div.box div.pagination ul.pager li.disabled, #content div.box div.pagination-wh a.disabled {
3878 #content div.box div.pagination ul.pager li.disabled, #content div.box div.pagination-wh a.disabled {
3880 color: #B4B4B4;
3879 color: #B4B4B4;
3881 padding: 6px;
3880 padding: 6px;
3882 }
3881 }
3883
3882
3884 #login, #register {
3883 #login, #register {
3885 width: 520px;
3884 width: 520px;
3886 margin: 10% auto 0;
3885 margin: 10% auto 0;
3887 padding: 0;
3886 padding: 0;
3888 }
3887 }
3889
3888
3890 #login div.color, #register div.color {
3889 #login div.color, #register div.color {
3891 clear: both;
3890 clear: both;
3892 overflow: hidden;
3891 overflow: hidden;
3893 background: #FFF;
3892 background: #FFF;
3894 margin: 10px auto 0;
3893 margin: 10px auto 0;
3895 padding: 3px 3px 3px 0;
3894 padding: 3px 3px 3px 0;
3896 }
3895 }
3897
3896
3898 #login div.color a, #register div.color a {
3897 #login div.color a, #register div.color a {
3899 width: 20px;
3898 width: 20px;
3900 height: 20px;
3899 height: 20px;
3901 display: block;
3900 display: block;
3902 float: left;
3901 float: left;
3903 margin: 0 0 0 3px;
3902 margin: 0 0 0 3px;
3904 padding: 0;
3903 padding: 0;
3905 }
3904 }
3906
3905
3907 #login div.title h5, #register div.title h5 {
3906 #login div.title h5, #register div.title h5 {
3908 color: #fff;
3907 color: #fff;
3909 margin: 10px;
3908 margin: 10px;
3910 padding: 0;
3909 padding: 0;
3911 }
3910 }
3912
3911
3913 #login div.form div.fields div.field, #register div.form div.fields div.field {
3912 #login div.form div.fields div.field, #register div.form div.fields div.field {
3914 clear: both;
3913 clear: both;
3915 overflow: hidden;
3914 overflow: hidden;
3916 margin: 0;
3915 margin: 0;
3917 padding: 0 0 10px;
3916 padding: 0 0 10px;
3918 }
3917 }
3919
3918
3920 #login div.form div.fields div.field span.error-message, #register div.form div.fields div.field span.error-message {
3919 #login div.form div.fields div.field span.error-message, #register div.form div.fields div.field span.error-message {
3921 height: 1%;
3920 height: 1%;
3922 display: block;
3921 display: block;
3923 color: red;
3922 color: red;
3924 margin: 8px 0 0;
3923 margin: 8px 0 0;
3925 padding: 0;
3924 padding: 0;
3926 max-width: 320px;
3925 max-width: 320px;
3927 }
3926 }
3928
3927
3929 #login div.form div.fields div.field div.label label, #register div.form div.fields div.field div.label label {
3928 #login div.form div.fields div.field div.label label, #register div.form div.fields div.field div.label label {
3930 color: #000;
3929 color: #000;
3931 font-weight: 700;
3930 font-weight: 700;
3932 }
3931 }
3933
3932
3934 #login div.form div.fields div.field div.input, #register div.form div.fields div.field div.input {
3933 #login div.form div.fields div.field div.input, #register div.form div.fields div.field div.input {
3935 float: left;
3934 float: left;
3936 margin: 0;
3935 margin: 0;
3937 padding: 0;
3936 padding: 0;
3938 }
3937 }
3939
3938
3940 #login div.form div.fields div.field div.checkbox, #register div.form div.fields div.field div.checkbox {
3939 #login div.form div.fields div.field div.checkbox, #register div.form div.fields div.field div.checkbox {
3941 margin: 0 0 0 184px;
3940 margin: 0 0 0 184px;
3942 padding: 0;
3941 padding: 0;
3943 }
3942 }
3944
3943
3945 #login div.form div.fields div.field div.checkbox label, #register div.form div.fields div.field div.checkbox label {
3944 #login div.form div.fields div.field div.checkbox label, #register div.form div.fields div.field div.checkbox label {
3946 color: #565656;
3945 color: #565656;
3947 font-weight: 700;
3946 font-weight: 700;
3948 }
3947 }
3949
3948
3950 #login div.form div.fields div.buttons input, #register div.form div.fields div.buttons input {
3949 #login div.form div.fields div.buttons input, #register div.form div.fields div.buttons input {
3951 color: #000;
3950 color: #000;
3952 font-size: 1em;
3951 font-size: 1em;
3953 font-weight: 700;
3952 font-weight: 700;
3954 margin: 0;
3953 margin: 0;
3955 }
3954 }
3956
3955
3957 #changeset_content .container .wrapper, #graph_content .container .wrapper {
3956 #changeset_content .container .wrapper, #graph_content .container .wrapper {
3958 width: 600px;
3957 width: 600px;
3959 }
3958 }
3960
3959
3961 #changeset_content .container .left {
3960 #changeset_content .container .left {
3962 float: left;
3961 float: left;
3963 width: 75%;
3962 width: 75%;
3964 padding-left: 5px;
3963 padding-left: 5px;
3965 }
3964 }
3966
3965
3967 #changeset_content .container .left .date, .ac .match {
3966 #changeset_content .container .left .date, .ac .match {
3968 font-weight: 700;
3967 font-weight: 700;
3969 padding-top: 5px;
3968 padding-top: 5px;
3970 padding-bottom: 5px;
3969 padding-bottom: 5px;
3971 }
3970 }
3972
3971
3973 div#legend_container table td, div#legend_choices table td {
3972 div#legend_container table td, div#legend_choices table td {
3974 border: none !important;
3973 border: none !important;
3975 height: 20px !important;
3974 height: 20px !important;
3976 padding: 0 !important;
3975 padding: 0 !important;
3977 }
3976 }
3978
3977
3979 .q_filter_box {
3978 .q_filter_box {
3980 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
3979 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
3981 -webkit-border-radius: 4px;
3980 -webkit-border-radius: 4px;
3982 -moz-border-radius: 4px;
3981 -moz-border-radius: 4px;
3983 border-radius: 4px;
3982 border-radius: 4px;
3984 border: 0 none;
3983 border: 0 none;
3985 color: #AAAAAA;
3984 color: #AAAAAA;
3986 margin-bottom: -4px;
3985 margin-bottom: -4px;
3987 margin-top: -4px;
3986 margin-top: -4px;
3988 padding-left: 3px;
3987 padding-left: 3px;
3989 }
3988 }
3990
3989
3991 #node_filter {
3990 #node_filter {
3992 border: 0px solid #545454;
3991 border: 0px solid #545454;
3993 color: #AAAAAA;
3992 color: #AAAAAA;
3994 padding-left: 3px;
3993 padding-left: 3px;
3995 }
3994 }
3996
3995
3997
3996
3998 .group_members_wrap {
3997 .group_members_wrap {
3999 min-height: 85px;
3998 min-height: 85px;
4000 padding-left: 20px;
3999 padding-left: 20px;
4001 }
4000 }
4002
4001
4003 .group_members .group_member {
4002 .group_members .group_member {
4004 height: 30px;
4003 height: 30px;
4005 padding:0px 0px 0px 0px;
4004 padding:0px 0px 0px 0px;
4006 }
4005 }
4007
4006
4008 .reviewers_member {
4007 .reviewers_member {
4009 height: 15px;
4008 height: 15px;
4010 padding:0px 0px 0px 10px;
4009 padding:0px 0px 0px 10px;
4011 }
4010 }
4012
4011
4013 .emails_wrap {
4012 .emails_wrap {
4014 padding: 0px 20px;
4013 padding: 0px 20px;
4015 }
4014 }
4016
4015
4017 .emails_wrap .email_entry {
4016 .emails_wrap .email_entry {
4018 height: 30px;
4017 height: 30px;
4019 padding:0px 0px 0px 10px;
4018 padding:0px 0px 0px 10px;
4020 }
4019 }
4021 .emails_wrap .email_entry .email {
4020 .emails_wrap .email_entry .email {
4022 float: left
4021 float: left
4023 }
4022 }
4024 .emails_wrap .email_entry .email_action {
4023 .emails_wrap .email_entry .email_action {
4025 float: left
4024 float: left
4026 }
4025 }
4027
4026
4028 .ips_wrap {
4027 .ips_wrap {
4029 padding: 0px 20px;
4028 padding: 0px 20px;
4030 }
4029 }
4031
4030
4032 .ips_wrap .ip_entry {
4031 .ips_wrap .ip_entry {
4033 height: 30px;
4032 height: 30px;
4034 padding:0px 0px 0px 10px;
4033 padding:0px 0px 0px 10px;
4035 }
4034 }
4036 .ips_wrap .ip_entry .ip {
4035 .ips_wrap .ip_entry .ip {
4037 float: left
4036 float: left
4038 }
4037 }
4039 .ips_wrap .ip_entry .ip_action {
4038 .ips_wrap .ip_entry .ip_action {
4040 float: left
4039 float: left
4041 }
4040 }
4042
4041
4043
4042
4044 /*README STYLE*/
4043 /*README STYLE*/
4045
4044
4046 div.readme {
4045 div.readme {
4047 padding:0px;
4046 padding:0px;
4048 }
4047 }
4049
4048
4050 div.readme h2 {
4049 div.readme h2 {
4051 font-weight: normal;
4050 font-weight: normal;
4052 }
4051 }
4053
4052
4054 div.readme .readme_box {
4053 div.readme .readme_box {
4055 background-color: #fafafa;
4054 background-color: #fafafa;
4056 }
4055 }
4057
4056
4058 div.readme .readme_box {
4057 div.readme .readme_box {
4059 clear:both;
4058 clear:both;
4060 overflow:hidden;
4059 overflow:hidden;
4061 margin:0;
4060 margin:0;
4062 padding:0 20px 10px;
4061 padding:0 20px 10px;
4063 }
4062 }
4064
4063
4065 div.readme .readme_box h1, div.readme .readme_box h2, div.readme .readme_box h3, div.readme .readme_box h4, div.readme .readme_box h5, div.readme .readme_box h6 {
4064 div.readme .readme_box h1, div.readme .readme_box h2, div.readme .readme_box h3, div.readme .readme_box h4, div.readme .readme_box h5, div.readme .readme_box h6 {
4066 border-bottom: 0 !important;
4065 border-bottom: 0 !important;
4067 margin: 0 !important;
4066 margin: 0 !important;
4068 padding: 0 !important;
4067 padding: 0 !important;
4069 line-height: 1.5em !important;
4068 line-height: 1.5em !important;
4070 }
4069 }
4071
4070
4072
4071
4073 div.readme .readme_box h1:first-child {
4072 div.readme .readme_box h1:first-child {
4074 padding-top: .25em !important;
4073 padding-top: .25em !important;
4075 }
4074 }
4076
4075
4077 div.readme .readme_box h2, div.readme .readme_box h3 {
4076 div.readme .readme_box h2, div.readme .readme_box h3 {
4078 margin: 1em 0 !important;
4077 margin: 1em 0 !important;
4079 }
4078 }
4080
4079
4081 div.readme .readme_box h2 {
4080 div.readme .readme_box h2 {
4082 margin-top: 1.5em !important;
4081 margin-top: 1.5em !important;
4083 border-top: 4px solid #e0e0e0 !important;
4082 border-top: 4px solid #e0e0e0 !important;
4084 padding-top: .5em !important;
4083 padding-top: .5em !important;
4085 }
4084 }
4086
4085
4087 div.readme .readme_box p {
4086 div.readme .readme_box p {
4088 color: black !important;
4087 color: black !important;
4089 margin: 1em 0 !important;
4088 margin: 1em 0 !important;
4090 line-height: 1.5em !important;
4089 line-height: 1.5em !important;
4091 }
4090 }
4092
4091
4093 div.readme .readme_box ul {
4092 div.readme .readme_box ul {
4094 list-style: disc !important;
4093 list-style: disc !important;
4095 margin: 1em 0 1em 2em !important;
4094 margin: 1em 0 1em 2em !important;
4096 }
4095 }
4097
4096
4098 div.readme .readme_box ol {
4097 div.readme .readme_box ol {
4099 list-style: decimal;
4098 list-style: decimal;
4100 margin: 1em 0 1em 2em !important;
4099 margin: 1em 0 1em 2em !important;
4101 }
4100 }
4102
4101
4103 div.readme .readme_box pre, code {
4102 div.readme .readme_box pre, code {
4104 font: 12px "Bitstream Vera Sans Mono","Courier",monospace;
4103 font: 12px "Bitstream Vera Sans Mono","Courier",monospace;
4105 }
4104 }
4106
4105
4107 div.readme .readme_box code {
4106 div.readme .readme_box code {
4108 font-size: 12px !important;
4107 font-size: 12px !important;
4109 background-color: ghostWhite !important;
4108 background-color: ghostWhite !important;
4110 color: #444 !important;
4109 color: #444 !important;
4111 padding: 0 .2em !important;
4110 padding: 0 .2em !important;
4112 border: 1px solid #dedede !important;
4111 border: 1px solid #dedede !important;
4113 }
4112 }
4114
4113
4115 div.readme .readme_box pre code {
4114 div.readme .readme_box pre code {
4116 padding: 0 !important;
4115 padding: 0 !important;
4117 font-size: 12px !important;
4116 font-size: 12px !important;
4118 background-color: #eee !important;
4117 background-color: #eee !important;
4119 border: none !important;
4118 border: none !important;
4120 }
4119 }
4121
4120
4122 div.readme .readme_box pre {
4121 div.readme .readme_box pre {
4123 margin: 1em 0;
4122 margin: 1em 0;
4124 font-size: 12px;
4123 font-size: 12px;
4125 background-color: #eee;
4124 background-color: #eee;
4126 border: 1px solid #ddd;
4125 border: 1px solid #ddd;
4127 padding: 5px;
4126 padding: 5px;
4128 color: #444;
4127 color: #444;
4129 overflow: auto;
4128 overflow: auto;
4130 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
4129 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
4131 -webkit-border-radius: 3px;
4130 -webkit-border-radius: 3px;
4132 -moz-border-radius: 3px;
4131 -moz-border-radius: 3px;
4133 border-radius: 3px;
4132 border-radius: 3px;
4134 }
4133 }
4135
4134
4136 div.readme .readme_box table {
4135 div.readme .readme_box table {
4137 display: table;
4136 display: table;
4138 border-collapse: separate;
4137 border-collapse: separate;
4139 border-spacing: 2px;
4138 border-spacing: 2px;
4140 border-color: gray;
4139 border-color: gray;
4141 width: auto !important;
4140 width: auto !important;
4142 }
4141 }
4143
4142
4144
4143
4145 /** RST STYLE **/
4144 /** RST STYLE **/
4146
4145
4147
4146
4148 div.rst-block {
4147 div.rst-block {
4149 padding:0px;
4148 padding:0px;
4150 }
4149 }
4151
4150
4152 div.rst-block h2 {
4151 div.rst-block h2 {
4153 font-weight: normal;
4152 font-weight: normal;
4154 }
4153 }
4155
4154
4156 div.rst-block {
4155 div.rst-block {
4157 background-color: #fafafa;
4156 background-color: #fafafa;
4158 }
4157 }
4159
4158
4160 div.rst-block {
4159 div.rst-block {
4161 clear:both;
4160 clear:both;
4162 overflow:hidden;
4161 overflow:hidden;
4163 margin:0;
4162 margin:0;
4164 padding:0 20px 10px;
4163 padding:0 20px 10px;
4165 }
4164 }
4166
4165
4167 div.rst-block h1, div.rst-block h2, div.rst-block h3, div.rst-block h4, div.rst-block h5, div.rst-block h6 {
4166 div.rst-block h1, div.rst-block h2, div.rst-block h3, div.rst-block h4, div.rst-block h5, div.rst-block h6 {
4168 border-bottom: 0 !important;
4167 border-bottom: 0 !important;
4169 margin: 0 !important;
4168 margin: 0 !important;
4170 padding: 0 !important;
4169 padding: 0 !important;
4171 line-height: 1.5em !important;
4170 line-height: 1.5em !important;
4172 }
4171 }
4173
4172
4174
4173
4175 div.rst-block h1:first-child {
4174 div.rst-block h1:first-child {
4176 padding-top: .25em !important;
4175 padding-top: .25em !important;
4177 }
4176 }
4178
4177
4179 div.rst-block h2, div.rst-block h3 {
4178 div.rst-block h2, div.rst-block h3 {
4180 margin: 1em 0 !important;
4179 margin: 1em 0 !important;
4181 }
4180 }
4182
4181
4183 div.rst-block h2 {
4182 div.rst-block h2 {
4184 margin-top: 1.5em !important;
4183 margin-top: 1.5em !important;
4185 border-top: 4px solid #e0e0e0 !important;
4184 border-top: 4px solid #e0e0e0 !important;
4186 padding-top: .5em !important;
4185 padding-top: .5em !important;
4187 }
4186 }
4188
4187
4189 div.rst-block p {
4188 div.rst-block p {
4190 color: black !important;
4189 color: black !important;
4191 margin: 1em 0 !important;
4190 margin: 1em 0 !important;
4192 line-height: 1.5em !important;
4191 line-height: 1.5em !important;
4193 }
4192 }
4194
4193
4195 div.rst-block ul {
4194 div.rst-block ul {
4196 list-style: disc !important;
4195 list-style: disc !important;
4197 margin: 1em 0 1em 2em !important;
4196 margin: 1em 0 1em 2em !important;
4198 }
4197 }
4199
4198
4200 div.rst-block ol {
4199 div.rst-block ol {
4201 list-style: decimal;
4200 list-style: decimal;
4202 margin: 1em 0 1em 2em !important;
4201 margin: 1em 0 1em 2em !important;
4203 }
4202 }
4204
4203
4205 div.rst-block pre, code {
4204 div.rst-block pre, code {
4206 font: 12px "Bitstream Vera Sans Mono","Courier",monospace;
4205 font: 12px "Bitstream Vera Sans Mono","Courier",monospace;
4207 }
4206 }
4208
4207
4209 div.rst-block code {
4208 div.rst-block code {
4210 font-size: 12px !important;
4209 font-size: 12px !important;
4211 background-color: ghostWhite !important;
4210 background-color: ghostWhite !important;
4212 color: #444 !important;
4211 color: #444 !important;
4213 padding: 0 .2em !important;
4212 padding: 0 .2em !important;
4214 border: 1px solid #dedede !important;
4213 border: 1px solid #dedede !important;
4215 }
4214 }
4216
4215
4217 div.rst-block pre code {
4216 div.rst-block pre code {
4218 padding: 0 !important;
4217 padding: 0 !important;
4219 font-size: 12px !important;
4218 font-size: 12px !important;
4220 background-color: #eee !important;
4219 background-color: #eee !important;
4221 border: none !important;
4220 border: none !important;
4222 }
4221 }
4223
4222
4224 div.rst-block pre {
4223 div.rst-block pre {
4225 margin: 1em 0;
4224 margin: 1em 0;
4226 font-size: 12px;
4225 font-size: 12px;
4227 background-color: #eee;
4226 background-color: #eee;
4228 border: 1px solid #ddd;
4227 border: 1px solid #ddd;
4229 padding: 5px;
4228 padding: 5px;
4230 color: #444;
4229 color: #444;
4231 overflow: auto;
4230 overflow: auto;
4232 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
4231 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
4233 -webkit-border-radius: 3px;
4232 -webkit-border-radius: 3px;
4234 -moz-border-radius: 3px;
4233 -moz-border-radius: 3px;
4235 border-radius: 3px;
4234 border-radius: 3px;
4236 }
4235 }
4237
4236
4238
4237
4239 /** comment main **/
4238 /** comment main **/
4240 .comments {
4239 .comments {
4241 padding:10px 20px;
4240 padding:10px 20px;
4242 }
4241 }
4243
4242
4244 .comments .comment {
4243 .comments .comment {
4245 border: 1px solid #ddd;
4244 border: 1px solid #ddd;
4246 margin-top: 10px;
4245 margin-top: 10px;
4247 -webkit-border-radius: 4px;
4246 -webkit-border-radius: 4px;
4248 -moz-border-radius: 4px;
4247 -moz-border-radius: 4px;
4249 border-radius: 4px;
4248 border-radius: 4px;
4250 }
4249 }
4251
4250
4252 .comments .comment .meta {
4251 .comments .comment .meta {
4253 background: #f8f8f8;
4252 background: #f8f8f8;
4254 padding: 4px;
4253 padding: 4px;
4255 border-bottom: 1px solid #ddd;
4254 border-bottom: 1px solid #ddd;
4256 height: 18px;
4255 height: 18px;
4257 }
4256 }
4258
4257
4259 .comments .comment .meta img {
4258 .comments .comment .meta img {
4260 vertical-align: middle;
4259 vertical-align: middle;
4261 }
4260 }
4262
4261
4263 .comments .comment .meta .user {
4262 .comments .comment .meta .user {
4264 font-weight: bold;
4263 font-weight: bold;
4265 float: left;
4264 float: left;
4266 padding: 4px 2px 2px 2px;
4265 padding: 4px 2px 2px 2px;
4267 }
4266 }
4268
4267
4269 .comments .comment .meta .date {
4268 .comments .comment .meta .date {
4270 float: left;
4269 float: left;
4271 padding:4px 4px 0px 4px;
4270 padding:4px 4px 0px 4px;
4272 }
4271 }
4273
4272
4274 .comments .comment .text {
4273 .comments .comment .text {
4275 background-color: #FAFAFA;
4274 background-color: #FAFAFA;
4276 }
4275 }
4277 .comment .text div.rst-block p {
4276 .comment .text div.rst-block p {
4278 margin: 0.5em 0px !important;
4277 margin: 0.5em 0px !important;
4279 }
4278 }
4280
4279
4281 .comments .comments-number {
4280 .comments .comments-number {
4282 padding:0px 0px 10px 0px;
4281 padding:0px 0px 10px 0px;
4283 font-weight: bold;
4282 font-weight: bold;
4284 color: #666;
4283 color: #666;
4285 font-size: 16px;
4284 font-size: 16px;
4286 }
4285 }
4287
4286
4288 /** comment form **/
4287 /** comment form **/
4289
4288
4290 .status-block {
4289 .status-block {
4291 min-height:80px;
4290 min-height:80px;
4292 clear:both
4291 clear:both
4293 }
4292 }
4294
4293
4295 .comment-form .clearfix {
4294 .comment-form .clearfix {
4296 background: #EEE;
4295 background: #EEE;
4297 -webkit-border-radius: 4px;
4296 -webkit-border-radius: 4px;
4298 -moz-border-radius: 4px;
4297 -moz-border-radius: 4px;
4299 border-radius: 4px;
4298 border-radius: 4px;
4300 padding: 10px;
4299 padding: 10px;
4301 }
4300 }
4302
4301
4303 div.comment-form {
4302 div.comment-form {
4304 margin-top: 20px;
4303 margin-top: 20px;
4305 }
4304 }
4306
4305
4307 .comment-form strong {
4306 .comment-form strong {
4308 display: block;
4307 display: block;
4309 margin-bottom: 15px;
4308 margin-bottom: 15px;
4310 }
4309 }
4311
4310
4312 .comment-form textarea {
4311 .comment-form textarea {
4313 width: 100%;
4312 width: 100%;
4314 height: 100px;
4313 height: 100px;
4315 font-family: 'Monaco', 'Courier', 'Courier New', monospace;
4314 font-family: 'Monaco', 'Courier', 'Courier New', monospace;
4316 }
4315 }
4317
4316
4318 form.comment-form {
4317 form.comment-form {
4319 margin-top: 10px;
4318 margin-top: 10px;
4320 margin-left: 10px;
4319 margin-left: 10px;
4321 }
4320 }
4322
4321
4323 .comment-form-submit {
4322 .comment-form-submit {
4324 margin-top: 5px;
4323 margin-top: 5px;
4325 margin-left: 525px;
4324 margin-left: 525px;
4326 }
4325 }
4327
4326
4328 .file-comments {
4327 .file-comments {
4329 display: none;
4328 display: none;
4330 }
4329 }
4331
4330
4332 .comment-form .comment {
4331 .comment-form .comment {
4333 margin-left: 10px;
4332 margin-left: 10px;
4334 }
4333 }
4335
4334
4336 .comment-form .comment-help {
4335 .comment-form .comment-help {
4337 padding: 0px 0px 5px 0px;
4336 padding: 0px 0px 5px 0px;
4338 color: #666;
4337 color: #666;
4339 }
4338 }
4340
4339
4341 .comment-form .comment-button {
4340 .comment-form .comment-button {
4342 padding-top:5px;
4341 padding-top:5px;
4343 }
4342 }
4344
4343
4345 .add-another-button {
4344 .add-another-button {
4346 margin-left: 10px;
4345 margin-left: 10px;
4347 margin-top: 10px;
4346 margin-top: 10px;
4348 margin-bottom: 10px;
4347 margin-bottom: 10px;
4349 }
4348 }
4350
4349
4351 .comment .buttons {
4350 .comment .buttons {
4352 float: right;
4351 float: right;
4353 padding:2px 2px 0px 0px;
4352 padding:2px 2px 0px 0px;
4354 }
4353 }
4355
4354
4356
4355
4357 .show-inline-comments {
4356 .show-inline-comments {
4358 position: relative;
4357 position: relative;
4359 top:1px
4358 top:1px
4360 }
4359 }
4361
4360
4362 /** comment inline form **/
4361 /** comment inline form **/
4363 .comment-inline-form .overlay {
4362 .comment-inline-form .overlay {
4364 display: none;
4363 display: none;
4365 }
4364 }
4366 .comment-inline-form .overlay.submitting {
4365 .comment-inline-form .overlay.submitting {
4367 display:block;
4366 display:block;
4368 background: none repeat scroll 0 0 white;
4367 background: none repeat scroll 0 0 white;
4369 font-size: 16px;
4368 font-size: 16px;
4370 opacity: 0.5;
4369 opacity: 0.5;
4371 position: absolute;
4370 position: absolute;
4372 text-align: center;
4371 text-align: center;
4373 vertical-align: top;
4372 vertical-align: top;
4374
4373
4375 }
4374 }
4376 .comment-inline-form .overlay.submitting .overlay-text {
4375 .comment-inline-form .overlay.submitting .overlay-text {
4377 width:100%;
4376 width:100%;
4378 margin-top:5%;
4377 margin-top:5%;
4379 }
4378 }
4380
4379
4381 .comment-inline-form .clearfix {
4380 .comment-inline-form .clearfix {
4382 background: #EEE;
4381 background: #EEE;
4383 -webkit-border-radius: 4px;
4382 -webkit-border-radius: 4px;
4384 -moz-border-radius: 4px;
4383 -moz-border-radius: 4px;
4385 border-radius: 4px;
4384 border-radius: 4px;
4386 padding: 5px;
4385 padding: 5px;
4387 }
4386 }
4388
4387
4389 div.comment-inline-form {
4388 div.comment-inline-form {
4390 padding:4px 0px 6px 0px;
4389 padding:4px 0px 6px 0px;
4391 }
4390 }
4392
4391
4393
4392
4394 tr.hl-comment {
4393 tr.hl-comment {
4395 /*
4394 /*
4396 background-color: #FFFFCC !important;
4395 background-color: #FFFFCC !important;
4397 */
4396 */
4398 }
4397 }
4399
4398
4400 /*
4399 /*
4401 tr.hl-comment pre {
4400 tr.hl-comment pre {
4402 border-top: 2px solid #FFEE33;
4401 border-top: 2px solid #FFEE33;
4403 border-left: 2px solid #FFEE33;
4402 border-left: 2px solid #FFEE33;
4404 border-right: 2px solid #FFEE33;
4403 border-right: 2px solid #FFEE33;
4405 }
4404 }
4406 */
4405 */
4407
4406
4408 .comment-inline-form strong {
4407 .comment-inline-form strong {
4409 display: block;
4408 display: block;
4410 margin-bottom: 15px;
4409 margin-bottom: 15px;
4411 }
4410 }
4412
4411
4413 .comment-inline-form textarea {
4412 .comment-inline-form textarea {
4414 width: 100%;
4413 width: 100%;
4415 height: 100px;
4414 height: 100px;
4416 font-family: 'Monaco', 'Courier', 'Courier New', monospace;
4415 font-family: 'Monaco', 'Courier', 'Courier New', monospace;
4417 }
4416 }
4418
4417
4419 form.comment-inline-form {
4418 form.comment-inline-form {
4420 margin-top: 10px;
4419 margin-top: 10px;
4421 margin-left: 10px;
4420 margin-left: 10px;
4422 }
4421 }
4423
4422
4424 .comment-inline-form-submit {
4423 .comment-inline-form-submit {
4425 margin-top: 5px;
4424 margin-top: 5px;
4426 margin-left: 525px;
4425 margin-left: 525px;
4427 }
4426 }
4428
4427
4429 .file-comments {
4428 .file-comments {
4430 display: none;
4429 display: none;
4431 }
4430 }
4432
4431
4433 .comment-inline-form .comment {
4432 .comment-inline-form .comment {
4434 margin-left: 10px;
4433 margin-left: 10px;
4435 }
4434 }
4436
4435
4437 .comment-inline-form .comment-help {
4436 .comment-inline-form .comment-help {
4438 padding: 0px 0px 2px 0px;
4437 padding: 0px 0px 2px 0px;
4439 color: #666666;
4438 color: #666666;
4440 font-size: 10px;
4439 font-size: 10px;
4441 }
4440 }
4442
4441
4443 .comment-inline-form .comment-button {
4442 .comment-inline-form .comment-button {
4444 padding-top:5px;
4443 padding-top:5px;
4445 }
4444 }
4446
4445
4447 /** comment inline **/
4446 /** comment inline **/
4448 .inline-comments {
4447 .inline-comments {
4449 padding:10px 20px;
4448 padding:10px 20px;
4450 }
4449 }
4451
4450
4452 .inline-comments div.rst-block {
4451 .inline-comments div.rst-block {
4453 clear:both;
4452 clear:both;
4454 overflow:hidden;
4453 overflow:hidden;
4455 margin:0;
4454 margin:0;
4456 padding:0 20px 0px;
4455 padding:0 20px 0px;
4457 }
4456 }
4458 .inline-comments .comment {
4457 .inline-comments .comment {
4459 border: 1px solid #ddd;
4458 border: 1px solid #ddd;
4460 -webkit-border-radius: 4px;
4459 -webkit-border-radius: 4px;
4461 -moz-border-radius: 4px;
4460 -moz-border-radius: 4px;
4462 border-radius: 4px;
4461 border-radius: 4px;
4463 margin: 3px 3px 5px 5px;
4462 margin: 3px 3px 5px 5px;
4464 background-color: #FAFAFA;
4463 background-color: #FAFAFA;
4465 }
4464 }
4466 .inline-comments .add-comment {
4465 .inline-comments .add-comment {
4467 padding: 2px 4px 8px 5px;
4466 padding: 2px 4px 8px 5px;
4468 }
4467 }
4469
4468
4470 .inline-comments .comment-wrapp {
4469 .inline-comments .comment-wrapp {
4471 padding:1px;
4470 padding:1px;
4472 }
4471 }
4473 .inline-comments .comment .meta {
4472 .inline-comments .comment .meta {
4474 background: #f8f8f8;
4473 background: #f8f8f8;
4475 padding: 4px;
4474 padding: 4px;
4476 border-bottom: 1px solid #ddd;
4475 border-bottom: 1px solid #ddd;
4477 height: 20px;
4476 height: 20px;
4478 }
4477 }
4479
4478
4480 .inline-comments .comment .meta img {
4479 .inline-comments .comment .meta img {
4481 vertical-align: middle;
4480 vertical-align: middle;
4482 }
4481 }
4483
4482
4484 .inline-comments .comment .meta .user {
4483 .inline-comments .comment .meta .user {
4485 font-weight: bold;
4484 font-weight: bold;
4486 float:left;
4485 float:left;
4487 padding: 3px;
4486 padding: 3px;
4488 }
4487 }
4489
4488
4490 .inline-comments .comment .meta .date {
4489 .inline-comments .comment .meta .date {
4491 float:left;
4490 float:left;
4492 padding: 3px;
4491 padding: 3px;
4493 }
4492 }
4494
4493
4495 .inline-comments .comment .text {
4494 .inline-comments .comment .text {
4496 background-color: #FAFAFA;
4495 background-color: #FAFAFA;
4497 }
4496 }
4498
4497
4499 .inline-comments .comments-number {
4498 .inline-comments .comments-number {
4500 padding:0px 0px 10px 0px;
4499 padding:0px 0px 10px 0px;
4501 font-weight: bold;
4500 font-weight: bold;
4502 color: #666;
4501 color: #666;
4503 font-size: 16px;
4502 font-size: 16px;
4504 }
4503 }
4505 .inline-comments-button .add-comment {
4504 .inline-comments-button .add-comment {
4506 margin:2px 0px 8px 5px !important
4505 margin:2px 0px 8px 5px !important
4507 }
4506 }
4508
4507
4509
4508
4510 .notification-paginator {
4509 .notification-paginator {
4511 padding: 0px 0px 4px 16px;
4510 padding: 0px 0px 4px 16px;
4512 float: left;
4511 float: left;
4513 }
4512 }
4514
4513
4515 .menu_link_user {
4514 .menu_link_user {
4516 padding: 10px 8px 8px 8px !important;
4515 padding: 10px 8px 8px 8px !important;
4517 }
4516 }
4518
4517
4519 .menu_link_notifications {
4518 .menu_link_notifications {
4520 padding: 4px 4px !important;
4519 padding: 4px 4px !important;
4521 margin: 7px 4px 0px 0px !important;
4520 margin: 7px 4px 0px 0px !important;
4522 text-align: center;
4521 text-align: center;
4523 color:#888 !important;
4522 color:#888 !important;
4524 font-size: 10px;
4523 font-size: 10px;
4525 background-color: #DEDEDE !important;
4524 background-color: #DEDEDE !important;
4526 border-radius: 4px !important;
4525 border-radius: 4px !important;
4527 -webkit-border-radius: 4px !important;
4526 -webkit-border-radius: 4px !important;
4528 -moz-border-radius: 4px !important;
4527 -moz-border-radius: 4px !important;
4529 }
4528 }
4530
4529
4531 .notification-header {
4530 .notification-header {
4532 padding-top:6px;
4531 padding-top:6px;
4533 }
4532 }
4534 .notification-header .desc {
4533 .notification-header .desc {
4535 font-size: 16px;
4534 font-size: 16px;
4536 height: 24px;
4535 height: 24px;
4537 float: left
4536 float: left
4538 }
4537 }
4539 .notification-list .container.unread {
4538 .notification-list .container.unread {
4540 background: none repeat scroll 0 0 rgba(255, 255, 180, 0.6);
4539 background: none repeat scroll 0 0 rgba(255, 255, 180, 0.6);
4541 }
4540 }
4542 .notification-header .gravatar {
4541 .notification-header .gravatar {
4543 background: none repeat scroll 0 0 transparent;
4542 background: none repeat scroll 0 0 transparent;
4544 padding: 0px 0px 0px 8px;
4543 padding: 0px 0px 0px 8px;
4545 }
4544 }
4546 .notification-list .container .notification-header .desc {
4545 .notification-list .container .notification-header .desc {
4547 font-weight: bold;
4546 font-weight: bold;
4548 font-size: 17px;
4547 font-size: 17px;
4549 }
4548 }
4550 .notification-table {
4549 .notification-table {
4551 border: 1px solid #ccc;
4550 border: 1px solid #ccc;
4552 -webkit-border-radius: 6px 6px 6px 6px;
4551 -webkit-border-radius: 6px 6px 6px 6px;
4553 -moz-border-radius: 6px 6px 6px 6px;
4552 -moz-border-radius: 6px 6px 6px 6px;
4554 border-radius: 6px 6px 6px 6px;
4553 border-radius: 6px 6px 6px 6px;
4555 clear: both;
4554 clear: both;
4556 margin: 0px 20px 0px 20px;
4555 margin: 0px 20px 0px 20px;
4557 }
4556 }
4558 .notification-header .delete-notifications {
4557 .notification-header .delete-notifications {
4559 float: right;
4558 float: right;
4560 padding-top: 8px;
4559 padding-top: 8px;
4561 cursor: pointer;
4560 cursor: pointer;
4562 }
4561 }
4563 .notification-header .read-notifications {
4562 .notification-header .read-notifications {
4564 float: right;
4563 float: right;
4565 padding-top: 8px;
4564 padding-top: 8px;
4566 cursor: pointer;
4565 cursor: pointer;
4567 }
4566 }
4568 .notification-subject {
4567 .notification-subject {
4569 clear:both;
4568 clear:both;
4570 border-bottom: 1px solid #eee;
4569 border-bottom: 1px solid #eee;
4571 padding:5px 0px 5px 38px;
4570 padding:5px 0px 5px 38px;
4572 }
4571 }
4573
4572
4574 .notification-body {
4573 .notification-body {
4575 clear:both;
4574 clear:both;
4576 margin: 34px 2px 2px 8px
4575 margin: 34px 2px 2px 8px
4577 }
4576 }
4578
4577
4579 /****
4578 /****
4580 PULL REQUESTS
4579 PULL REQUESTS
4581 *****/
4580 *****/
4582 .pullrequests_section_head {
4581 .pullrequests_section_head {
4583 padding:10px 10px 10px 0px;
4582 padding:10px 10px 10px 0px;
4584 font-size:16px;
4583 font-size:16px;
4585 font-weight: bold;
4584 font-weight: bold;
4586 }
4585 }
4587
4586
4588 /****
4587 /****
4589 PERMS
4588 PERMS
4590 *****/
4589 *****/
4591 #perms .perms_section_head {
4590 #perms .perms_section_head {
4592 padding:10px 10px 10px 0px;
4591 padding:10px 10px 10px 0px;
4593 font-size:16px;
4592 font-size:16px;
4594 font-weight: bold;
4593 font-weight: bold;
4595 }
4594 }
4596
4595
4597 #perms .perm_tag {
4596 #perms .perm_tag {
4598 padding: 1px 3px 1px 3px;
4597 padding: 1px 3px 1px 3px;
4599 font-size: 10px;
4598 font-size: 10px;
4600 font-weight: bold;
4599 font-weight: bold;
4601 text-transform: uppercase;
4600 text-transform: uppercase;
4602 white-space: nowrap;
4601 white-space: nowrap;
4603 -webkit-border-radius: 3px;
4602 -webkit-border-radius: 3px;
4604 -moz-border-radius: 3px;
4603 -moz-border-radius: 3px;
4605 border-radius: 3px;
4604 border-radius: 3px;
4606 }
4605 }
4607
4606
4608 #perms .perm_tag.admin {
4607 #perms .perm_tag.admin {
4609 background-color: #B94A48;
4608 background-color: #B94A48;
4610 color: #ffffff;
4609 color: #ffffff;
4611 }
4610 }
4612
4611
4613 #perms .perm_tag.write {
4612 #perms .perm_tag.write {
4614 background-color: #DB7525;
4613 background-color: #DB7525;
4615 color: #ffffff;
4614 color: #ffffff;
4616 }
4615 }
4617
4616
4618 #perms .perm_tag.read {
4617 #perms .perm_tag.read {
4619 background-color: #468847;
4618 background-color: #468847;
4620 color: #ffffff;
4619 color: #ffffff;
4621 }
4620 }
4622
4621
4623 #perms .perm_tag.none {
4622 #perms .perm_tag.none {
4624 background-color: #bfbfbf;
4623 background-color: #bfbfbf;
4625 color: #ffffff;
4624 color: #ffffff;
4626 }
4625 }
4627
4626
4628 .perm-gravatar {
4627 .perm-gravatar {
4629 vertical-align:middle;
4628 vertical-align:middle;
4630 padding:2px;
4629 padding:2px;
4631 }
4630 }
4632 .perm-gravatar-ac {
4631 .perm-gravatar-ac {
4633 vertical-align:middle;
4632 vertical-align:middle;
4634 padding:2px;
4633 padding:2px;
4635 width: 14px;
4634 width: 14px;
4636 height: 14px;
4635 height: 14px;
4637 }
4636 }
4638
4637
4639 /*****************************************************************************
4638 /*****************************************************************************
4640 DIFFS CSS
4639 DIFFS CSS
4641 ******************************************************************************/
4640 ******************************************************************************/
4641 .diff-collapse{
4642 text-align: center;
4643 }
4644 .diff-collapse-button{
4645 cursor: pointer;
4646 color: #666;
4647 font-size: 16px;
4648 }
4649 .diff-container {
4650 margin-bottom: -15px;
4651 }
4652
4653 .diff-container.hidden{
4654 display: none;
4655 overflow: hidden;
4656 }
4657
4642
4658
4643 div.diffblock {
4659 div.diffblock {
4644 overflow: auto;
4660 overflow: auto;
4645 padding: 0px;
4661 padding: 0px;
4646 border: 1px solid #ccc;
4662 border: 1px solid #ccc;
4647 background: #f8f8f8;
4663 background: #f8f8f8;
4648 font-size: 100%;
4664 font-size: 100%;
4649 line-height: 100%;
4665 line-height: 100%;
4650 /* new */
4666 /* new */
4651 line-height: 125%;
4667 line-height: 125%;
4652 -webkit-border-radius: 6px 6px 0px 0px;
4668 -webkit-border-radius: 6px 6px 0px 0px;
4653 -moz-border-radius: 6px 6px 0px 0px;
4669 -moz-border-radius: 6px 6px 0px 0px;
4654 border-radius: 6px 6px 0px 0px;
4670 border-radius: 6px 6px 0px 0px;
4655 }
4671 }
4656 div.diffblock.margined {
4672 div.diffblock.margined {
4657 margin: 0px 20px 0px 20px;
4673 margin: 0px 20px 0px 20px;
4658 }
4674 }
4659 div.diffblock .code-header {
4675 div.diffblock .code-header {
4660 border-bottom: 1px solid #CCCCCC;
4676 border-bottom: 1px solid #CCCCCC;
4661 background: #EEEEEE;
4677 background: #EEEEEE;
4662 padding:10px 0 10px 0;
4678 padding:10px 0 10px 0;
4663 height: 14px;
4679 height: 14px;
4664 }
4680 }
4665
4681
4666 div.diffblock .code-header.banner {
4682 div.diffblock .code-header.banner {
4667 border-bottom: 1px solid #CCCCCC;
4683 border-bottom: 1px solid #CCCCCC;
4668 background: #EEEEEE;
4684 background: #EEEEEE;
4669 height: 14px;
4685 height: 14px;
4670 margin: 0px 95px 0px 95px;
4686 margin: 0px 95px 0px 95px;
4671 padding: 3px 3px 11px 3px;
4687 padding: 3px 3px 11px 3px;
4672 }
4688 }
4673
4689
4674 div.diffblock .code-header.cv {
4690 div.diffblock .code-header.cv {
4675 height: 34px;
4691 height: 34px;
4676 }
4692 }
4677 div.diffblock .code-header-title {
4693 div.diffblock .code-header-title {
4678 padding: 0px 0px 10px 5px !important;
4694 padding: 0px 0px 10px 5px !important;
4679 margin: 0 !important;
4695 margin: 0 !important;
4680 }
4696 }
4681 div.diffblock .code-header .hash {
4697 div.diffblock .code-header .hash {
4682 float: left;
4698 float: left;
4683 padding: 2px 0 0 2px;
4699 padding: 2px 0 0 2px;
4684 }
4700 }
4685 div.diffblock .code-header .date {
4701 div.diffblock .code-header .date {
4686 float:left;
4702 float:left;
4687 text-transform: uppercase;
4703 text-transform: uppercase;
4688 padding: 2px 0px 0px 2px;
4704 padding: 2px 0px 0px 2px;
4689 }
4705 }
4690 div.diffblock .code-header div {
4706 div.diffblock .code-header div {
4691 margin-left:4px;
4707 margin-left:4px;
4692 font-weight: bold;
4708 font-weight: bold;
4693 font-size: 14px;
4709 font-size: 14px;
4694 }
4710 }
4695
4711
4696 div.diffblock .parents {
4712 div.diffblock .parents {
4697 float: left;
4713 float: left;
4698 height: 26px;
4714 height: 26px;
4699 width:100px;
4715 width:100px;
4700 font-size: 10px;
4716 font-size: 10px;
4701 font-weight: 400;
4717 font-weight: 400;
4702 vertical-align: middle;
4718 vertical-align: middle;
4703 padding: 0px 2px 2px 2px;
4719 padding: 0px 2px 2px 2px;
4704 background-color:#eeeeee;
4720 background-color:#eeeeee;
4705 border-bottom: 1px solid #CCCCCC;
4721 border-bottom: 1px solid #CCCCCC;
4706 }
4722 }
4707
4723
4708 div.diffblock .children {
4724 div.diffblock .children {
4709 float: right;
4725 float: right;
4710 height: 26px;
4726 height: 26px;
4711 width:100px;
4727 width:100px;
4712 font-size: 10px;
4728 font-size: 10px;
4713 font-weight: 400;
4729 font-weight: 400;
4714 vertical-align: middle;
4730 vertical-align: middle;
4715 text-align: right;
4731 text-align: right;
4716 padding: 0px 2px 2px 2px;
4732 padding: 0px 2px 2px 2px;
4717 background-color:#eeeeee;
4733 background-color:#eeeeee;
4718 border-bottom: 1px solid #CCCCCC;
4734 border-bottom: 1px solid #CCCCCC;
4719 }
4735 }
4720
4736
4721 div.diffblock .code-body {
4737 div.diffblock .code-body {
4722 background: #FFFFFF;
4738 background: #FFFFFF;
4723 }
4739 }
4724 div.diffblock pre.raw {
4740 div.diffblock pre.raw {
4725 background: #FFFFFF;
4741 background: #FFFFFF;
4726 color:#000000;
4742 color:#000000;
4727 }
4743 }
4728 table.code-difftable {
4744 table.code-difftable {
4729 border-collapse: collapse;
4745 border-collapse: collapse;
4730 width: 99%;
4746 width: 99%;
4731 }
4747 }
4732 table.code-difftable td {
4748 table.code-difftable td {
4733 padding: 0 !important;
4749 padding: 0 !important;
4734 background: none !important;
4750 background: none !important;
4735 border:0 !important;
4751 border:0 !important;
4736 vertical-align: none !important;
4752 vertical-align: none !important;
4737 }
4753 }
4738 table.code-difftable .context {
4754 table.code-difftable .context {
4739 background:none repeat scroll 0 0 #DDE7EF;
4755 background:none repeat scroll 0 0 #DDE7EF;
4740 }
4756 }
4741 table.code-difftable .add {
4757 table.code-difftable .add {
4742 background:none repeat scroll 0 0 #DDFFDD;
4758 background:none repeat scroll 0 0 #DDFFDD;
4743 }
4759 }
4744 table.code-difftable .add ins {
4760 table.code-difftable .add ins {
4745 background:none repeat scroll 0 0 #AAFFAA;
4761 background:none repeat scroll 0 0 #AAFFAA;
4746 text-decoration:none;
4762 text-decoration:none;
4747 }
4763 }
4748 table.code-difftable .del {
4764 table.code-difftable .del {
4749 background:none repeat scroll 0 0 #FFDDDD;
4765 background:none repeat scroll 0 0 #FFDDDD;
4750 }
4766 }
4751 table.code-difftable .del del {
4767 table.code-difftable .del del {
4752 background:none repeat scroll 0 0 #FFAAAA;
4768 background:none repeat scroll 0 0 #FFAAAA;
4753 text-decoration:none;
4769 text-decoration:none;
4754 }
4770 }
4755
4771
4756 /** LINE NUMBERS **/
4772 /** LINE NUMBERS **/
4757 table.code-difftable .lineno {
4773 table.code-difftable .lineno {
4758
4774
4759 padding-left:2px;
4775 padding-left:2px;
4760 padding-right:2px;
4776 padding-right:2px;
4761 text-align:right;
4777 text-align:right;
4762 width:32px;
4778 width:32px;
4763 -moz-user-select:none;
4779 -moz-user-select:none;
4764 -webkit-user-select: none;
4780 -webkit-user-select: none;
4765 border-right: 1px solid #CCC !important;
4781 border-right: 1px solid #CCC !important;
4766 border-left: 0px solid #CCC !important;
4782 border-left: 0px solid #CCC !important;
4767 border-top: 0px solid #CCC !important;
4783 border-top: 0px solid #CCC !important;
4768 border-bottom: none !important;
4784 border-bottom: none !important;
4769 vertical-align: middle !important;
4785 vertical-align: middle !important;
4770
4786
4771 }
4787 }
4772 table.code-difftable .lineno.new {
4788 table.code-difftable .lineno.new {
4773 }
4789 }
4774 table.code-difftable .lineno.old {
4790 table.code-difftable .lineno.old {
4775 }
4791 }
4776 table.code-difftable .lineno a {
4792 table.code-difftable .lineno a {
4777 color:#747474 !important;
4793 color:#747474 !important;
4778 font:11px "Bitstream Vera Sans Mono",Monaco,"Courier New",Courier,monospace !important;
4794 font:11px "Bitstream Vera Sans Mono",Monaco,"Courier New",Courier,monospace !important;
4779 letter-spacing:-1px;
4795 letter-spacing:-1px;
4780 text-align:right;
4796 text-align:right;
4781 padding-right: 2px;
4797 padding-right: 2px;
4782 cursor: pointer;
4798 cursor: pointer;
4783 display: block;
4799 display: block;
4784 width: 32px;
4800 width: 32px;
4785 }
4801 }
4786
4802
4787 table.code-difftable .lineno-inline {
4803 table.code-difftable .lineno-inline {
4788 background:none repeat scroll 0 0 #FFF !important;
4804 background:none repeat scroll 0 0 #FFF !important;
4789 padding-left:2px;
4805 padding-left:2px;
4790 padding-right:2px;
4806 padding-right:2px;
4791 text-align:right;
4807 text-align:right;
4792 width:30px;
4808 width:30px;
4793 -moz-user-select:none;
4809 -moz-user-select:none;
4794 -webkit-user-select: none;
4810 -webkit-user-select: none;
4795 }
4811 }
4796
4812
4797 /** CODE **/
4813 /** CODE **/
4798 table.code-difftable .code {
4814 table.code-difftable .code {
4799 display: block;
4815 display: block;
4800 width: 100%;
4816 width: 100%;
4801 }
4817 }
4802 table.code-difftable .code td {
4818 table.code-difftable .code td {
4803 margin:0;
4819 margin:0;
4804 padding:0;
4820 padding:0;
4805 }
4821 }
4806 table.code-difftable .code pre {
4822 table.code-difftable .code pre {
4807 margin:0;
4823 margin:0;
4808 padding:0;
4824 padding:0;
4809 height: 17px;
4825 height: 17px;
4810 line-height: 17px;
4826 line-height: 17px;
4811 }
4827 }
4812
4828
4813
4829
4814 .diffblock.margined.comm .line .code:hover {
4830 .diffblock.margined.comm .line .code:hover {
4815 background-color:#FFFFCC !important;
4831 background-color:#FFFFCC !important;
4816 cursor: pointer !important;
4832 cursor: pointer !important;
4817 background-image:url("../images/icons/comment_add.png") !important;
4833 background-image:url("../images/icons/comment_add.png") !important;
4818 background-repeat:no-repeat !important;
4834 background-repeat:no-repeat !important;
4819 background-position: right !important;
4835 background-position: right !important;
4820 background-position: 0% 50% !important;
4836 background-position: 0% 50% !important;
4821 }
4837 }
4822 .diffblock.margined.comm .line .code.no-comment:hover {
4838 .diffblock.margined.comm .line .code.no-comment:hover {
4823 background-image: none !important;
4839 background-image: none !important;
4824 cursor: auto !important;
4840 cursor: auto !important;
4825 background-color: inherit !important;
4841 background-color: inherit !important;
4826 }
4842 }
4827
4843
4828 div.comment:target>.comment-wrapp {
4844 div.comment:target>.comment-wrapp {
4829 border: solid 2px #ee0 !important;
4845 border: solid 2px #ee0 !important;
4830 }
4846 }
4831
4847
4832 .lineno:target a {
4848 .lineno:target a {
4833 border: solid 2px #ee0 !important;
4849 border: solid 2px #ee0 !important;
4834 margin: -2px;
4850 margin: -2px;
4835 }
4851 }
@@ -1,2163 +1,2186 b''
1 /**
1 /**
2 RhodeCode JS Files
2 RhodeCode JS Files
3 **/
3 **/
4
4
5 if (typeof console == "undefined" || typeof console.log == "undefined"){
5 if (typeof console == "undefined" || typeof console.log == "undefined"){
6 console = { log: function() {} }
6 console = { log: function() {} }
7 }
7 }
8
8
9
9
10 var str_repeat = function(i, m) {
10 var str_repeat = function(i, m) {
11 for (var o = []; m > 0; o[--m] = i);
11 for (var o = []; m > 0; o[--m] = i);
12 return o.join('');
12 return o.join('');
13 };
13 };
14
14
15 /**
15 /**
16 * INJECT .format function into String
16 * INJECT .format function into String
17 * Usage: "My name is {0} {1}".format("Johny","Bravo")
17 * Usage: "My name is {0} {1}".format("Johny","Bravo")
18 * Return "My name is Johny Bravo"
18 * Return "My name is Johny Bravo"
19 * Inspired by https://gist.github.com/1049426
19 * Inspired by https://gist.github.com/1049426
20 */
20 */
21 String.prototype.format = function() {
21 String.prototype.format = function() {
22
22
23 function format() {
23 function format() {
24 var str = this;
24 var str = this;
25 var len = arguments.length+1;
25 var len = arguments.length+1;
26 var safe = undefined;
26 var safe = undefined;
27 var arg = undefined;
27 var arg = undefined;
28
28
29 // For each {0} {1} {n...} replace with the argument in that position. If
29 // For each {0} {1} {n...} replace with the argument in that position. If
30 // the argument is an object or an array it will be stringified to JSON.
30 // the argument is an object or an array it will be stringified to JSON.
31 for (var i=0; i < len; arg = arguments[i++]) {
31 for (var i=0; i < len; arg = arguments[i++]) {
32 safe = typeof arg === 'object' ? JSON.stringify(arg) : arg;
32 safe = typeof arg === 'object' ? JSON.stringify(arg) : arg;
33 str = str.replace(RegExp('\\{'+(i-1)+'\\}', 'g'), safe);
33 str = str.replace(RegExp('\\{'+(i-1)+'\\}', 'g'), safe);
34 }
34 }
35 return str;
35 return str;
36 }
36 }
37
37
38 // Save a reference of what may already exist under the property native.
38 // Save a reference of what may already exist under the property native.
39 // Allows for doing something like: if("".format.native) { /* use native */ }
39 // Allows for doing something like: if("".format.native) { /* use native */ }
40 format.native = String.prototype.format;
40 format.native = String.prototype.format;
41
41
42 // Replace the prototype property
42 // Replace the prototype property
43 return format;
43 return format;
44
44
45 }();
45 }();
46
46
47 String.prototype.strip = function(char) {
47 String.prototype.strip = function(char) {
48 if(char === undefined){
48 if(char === undefined){
49 char = '\\s';
49 char = '\\s';
50 }
50 }
51 return this.replace(new RegExp('^'+char+'+|'+char+'+$','g'), '');
51 return this.replace(new RegExp('^'+char+'+|'+char+'+$','g'), '');
52 }
52 }
53 String.prototype.lstrip = function(char) {
53 String.prototype.lstrip = function(char) {
54 if(char === undefined){
54 if(char === undefined){
55 char = '\\s';
55 char = '\\s';
56 }
56 }
57 return this.replace(new RegExp('^'+char+'+'),'');
57 return this.replace(new RegExp('^'+char+'+'),'');
58 }
58 }
59 String.prototype.rstrip = function(char) {
59 String.prototype.rstrip = function(char) {
60 if(char === undefined){
60 if(char === undefined){
61 char = '\\s';
61 char = '\\s';
62 }
62 }
63 return this.replace(new RegExp(''+char+'+$'),'');
63 return this.replace(new RegExp(''+char+'+$'),'');
64 }
64 }
65
65
66
66
67 if(!Array.prototype.indexOf) {
67 if(!Array.prototype.indexOf) {
68 Array.prototype.indexOf = function(needle) {
68 Array.prototype.indexOf = function(needle) {
69 for(var i = 0; i < this.length; i++) {
69 for(var i = 0; i < this.length; i++) {
70 if(this[i] === needle) {
70 if(this[i] === needle) {
71 return i;
71 return i;
72 }
72 }
73 }
73 }
74 return -1;
74 return -1;
75 };
75 };
76 }
76 }
77
77
78 // IE(CRAP) doesn't support previousElementSibling
78 // IE(CRAP) doesn't support previousElementSibling
79 var prevElementSibling = function( el ) {
79 var prevElementSibling = function( el ) {
80 if( el.previousElementSibling ) {
80 if( el.previousElementSibling ) {
81 return el.previousElementSibling;
81 return el.previousElementSibling;
82 } else {
82 } else {
83 while( el = el.previousSibling ) {
83 while( el = el.previousSibling ) {
84 if( el.nodeType === 1 ) return el;
84 if( el.nodeType === 1 ) return el;
85 }
85 }
86 }
86 }
87 }
87 }
88
88
89 var setSelectValue = function(select, val){
89 var setSelectValue = function(select, val){
90 var selection = YUD.get(select);
90 var selection = YUD.get(select);
91
91
92 // select element
92 // select element
93 for(var i=0;i<selection.options.length;i++){
93 for(var i=0;i<selection.options.length;i++){
94 if (selection.options[i].innerHTML == val) {
94 if (selection.options[i].innerHTML == val) {
95 selection.selectedIndex = i;
95 selection.selectedIndex = i;
96 break;
96 break;
97 }
97 }
98 }
98 }
99 }
99 }
100
100
101
101
102 /**
102 /**
103 * SmartColorGenerator
103 * SmartColorGenerator
104 *
104 *
105 *usage::
105 *usage::
106 * var CG = new ColorGenerator();
106 * var CG = new ColorGenerator();
107 * var col = CG.getColor(key); //returns array of RGB
107 * var col = CG.getColor(key); //returns array of RGB
108 * 'rgb({0})'.format(col.join(',')
108 * 'rgb({0})'.format(col.join(',')
109 *
109 *
110 * @returns {ColorGenerator}
110 * @returns {ColorGenerator}
111 */
111 */
112 var ColorGenerator = function(){
112 var ColorGenerator = function(){
113 this.GOLDEN_RATIO = 0.618033988749895;
113 this.GOLDEN_RATIO = 0.618033988749895;
114 this.CURRENT_RATIO = 0.22717784590367374 // this can be random
114 this.CURRENT_RATIO = 0.22717784590367374 // this can be random
115 this.HSV_1 = 0.75;//saturation
115 this.HSV_1 = 0.75;//saturation
116 this.HSV_2 = 0.95;
116 this.HSV_2 = 0.95;
117 this.color;
117 this.color;
118 this.cacheColorMap = {};
118 this.cacheColorMap = {};
119 };
119 };
120
120
121 ColorGenerator.prototype = {
121 ColorGenerator.prototype = {
122 getColor:function(key){
122 getColor:function(key){
123 if(this.cacheColorMap[key] !== undefined){
123 if(this.cacheColorMap[key] !== undefined){
124 return this.cacheColorMap[key];
124 return this.cacheColorMap[key];
125 }
125 }
126 else{
126 else{
127 this.cacheColorMap[key] = this.generateColor();
127 this.cacheColorMap[key] = this.generateColor();
128 return this.cacheColorMap[key];
128 return this.cacheColorMap[key];
129 }
129 }
130 },
130 },
131 _hsvToRgb:function(h,s,v){
131 _hsvToRgb:function(h,s,v){
132 if (s == 0.0)
132 if (s == 0.0)
133 return [v, v, v];
133 return [v, v, v];
134 i = parseInt(h * 6.0)
134 i = parseInt(h * 6.0)
135 f = (h * 6.0) - i
135 f = (h * 6.0) - i
136 p = v * (1.0 - s)
136 p = v * (1.0 - s)
137 q = v * (1.0 - s * f)
137 q = v * (1.0 - s * f)
138 t = v * (1.0 - s * (1.0 - f))
138 t = v * (1.0 - s * (1.0 - f))
139 i = i % 6
139 i = i % 6
140 if (i == 0)
140 if (i == 0)
141 return [v, t, p]
141 return [v, t, p]
142 if (i == 1)
142 if (i == 1)
143 return [q, v, p]
143 return [q, v, p]
144 if (i == 2)
144 if (i == 2)
145 return [p, v, t]
145 return [p, v, t]
146 if (i == 3)
146 if (i == 3)
147 return [p, q, v]
147 return [p, q, v]
148 if (i == 4)
148 if (i == 4)
149 return [t, p, v]
149 return [t, p, v]
150 if (i == 5)
150 if (i == 5)
151 return [v, p, q]
151 return [v, p, q]
152 },
152 },
153 generateColor:function(){
153 generateColor:function(){
154 this.CURRENT_RATIO = this.CURRENT_RATIO+this.GOLDEN_RATIO;
154 this.CURRENT_RATIO = this.CURRENT_RATIO+this.GOLDEN_RATIO;
155 this.CURRENT_RATIO = this.CURRENT_RATIO %= 1;
155 this.CURRENT_RATIO = this.CURRENT_RATIO %= 1;
156 HSV_tuple = [this.CURRENT_RATIO, this.HSV_1, this.HSV_2]
156 HSV_tuple = [this.CURRENT_RATIO, this.HSV_1, this.HSV_2]
157 RGB_tuple = this._hsvToRgb(HSV_tuple[0],HSV_tuple[1],HSV_tuple[2]);
157 RGB_tuple = this._hsvToRgb(HSV_tuple[0],HSV_tuple[1],HSV_tuple[2]);
158 function toRgb(v){
158 function toRgb(v){
159 return ""+parseInt(v*256)
159 return ""+parseInt(v*256)
160 }
160 }
161 return [toRgb(RGB_tuple[0]),toRgb(RGB_tuple[1]),toRgb(RGB_tuple[2])];
161 return [toRgb(RGB_tuple[0]),toRgb(RGB_tuple[1]),toRgb(RGB_tuple[2])];
162
162
163 }
163 }
164 }
164 }
165
165
166 /**
166 /**
167 * PyRoutesJS
167 * PyRoutesJS
168 *
168 *
169 * Usage pyroutes.url('mark_error_fixed',{"error_id":error_id}) // /mark_error_fixed/<error_id>
169 * Usage pyroutes.url('mark_error_fixed',{"error_id":error_id}) // /mark_error_fixed/<error_id>
170 */
170 */
171 var pyroutes = (function() {
171 var pyroutes = (function() {
172 // access global map defined in special file pyroutes
172 // access global map defined in special file pyroutes
173 var matchlist = PROUTES_MAP;
173 var matchlist = PROUTES_MAP;
174 var sprintf = (function() {
174 var sprintf = (function() {
175 function get_type(variable) {
175 function get_type(variable) {
176 return Object.prototype.toString.call(variable).slice(8, -1).toLowerCase();
176 return Object.prototype.toString.call(variable).slice(8, -1).toLowerCase();
177 }
177 }
178 function str_repeat(input, multiplier) {
178 function str_repeat(input, multiplier) {
179 for (var output = []; multiplier > 0; output[--multiplier] = input) {/* do nothing */}
179 for (var output = []; multiplier > 0; output[--multiplier] = input) {/* do nothing */}
180 return output.join('');
180 return output.join('');
181 }
181 }
182
182
183 var str_format = function() {
183 var str_format = function() {
184 if (!str_format.cache.hasOwnProperty(arguments[0])) {
184 if (!str_format.cache.hasOwnProperty(arguments[0])) {
185 str_format.cache[arguments[0]] = str_format.parse(arguments[0]);
185 str_format.cache[arguments[0]] = str_format.parse(arguments[0]);
186 }
186 }
187 return str_format.format.call(null, str_format.cache[arguments[0]], arguments);
187 return str_format.format.call(null, str_format.cache[arguments[0]], arguments);
188 };
188 };
189
189
190 str_format.format = function(parse_tree, argv) {
190 str_format.format = function(parse_tree, argv) {
191 var cursor = 1, tree_length = parse_tree.length, node_type = '', arg, output = [], i, k, match, pad, pad_character, pad_length;
191 var cursor = 1, tree_length = parse_tree.length, node_type = '', arg, output = [], i, k, match, pad, pad_character, pad_length;
192 for (i = 0; i < tree_length; i++) {
192 for (i = 0; i < tree_length; i++) {
193 node_type = get_type(parse_tree[i]);
193 node_type = get_type(parse_tree[i]);
194 if (node_type === 'string') {
194 if (node_type === 'string') {
195 output.push(parse_tree[i]);
195 output.push(parse_tree[i]);
196 }
196 }
197 else if (node_type === 'array') {
197 else if (node_type === 'array') {
198 match = parse_tree[i]; // convenience purposes only
198 match = parse_tree[i]; // convenience purposes only
199 if (match[2]) { // keyword argument
199 if (match[2]) { // keyword argument
200 arg = argv[cursor];
200 arg = argv[cursor];
201 for (k = 0; k < match[2].length; k++) {
201 for (k = 0; k < match[2].length; k++) {
202 if (!arg.hasOwnProperty(match[2][k])) {
202 if (!arg.hasOwnProperty(match[2][k])) {
203 throw(sprintf('[sprintf] property "%s" does not exist', match[2][k]));
203 throw(sprintf('[sprintf] property "%s" does not exist', match[2][k]));
204 }
204 }
205 arg = arg[match[2][k]];
205 arg = arg[match[2][k]];
206 }
206 }
207 }
207 }
208 else if (match[1]) { // positional argument (explicit)
208 else if (match[1]) { // positional argument (explicit)
209 arg = argv[match[1]];
209 arg = argv[match[1]];
210 }
210 }
211 else { // positional argument (implicit)
211 else { // positional argument (implicit)
212 arg = argv[cursor++];
212 arg = argv[cursor++];
213 }
213 }
214
214
215 if (/[^s]/.test(match[8]) && (get_type(arg) != 'number')) {
215 if (/[^s]/.test(match[8]) && (get_type(arg) != 'number')) {
216 throw(sprintf('[sprintf] expecting number but found %s', get_type(arg)));
216 throw(sprintf('[sprintf] expecting number but found %s', get_type(arg)));
217 }
217 }
218 switch (match[8]) {
218 switch (match[8]) {
219 case 'b': arg = arg.toString(2); break;
219 case 'b': arg = arg.toString(2); break;
220 case 'c': arg = String.fromCharCode(arg); break;
220 case 'c': arg = String.fromCharCode(arg); break;
221 case 'd': arg = parseInt(arg, 10); break;
221 case 'd': arg = parseInt(arg, 10); break;
222 case 'e': arg = match[7] ? arg.toExponential(match[7]) : arg.toExponential(); break;
222 case 'e': arg = match[7] ? arg.toExponential(match[7]) : arg.toExponential(); break;
223 case 'f': arg = match[7] ? parseFloat(arg).toFixed(match[7]) : parseFloat(arg); break;
223 case 'f': arg = match[7] ? parseFloat(arg).toFixed(match[7]) : parseFloat(arg); break;
224 case 'o': arg = arg.toString(8); break;
224 case 'o': arg = arg.toString(8); break;
225 case 's': arg = ((arg = String(arg)) && match[7] ? arg.substring(0, match[7]) : arg); break;
225 case 's': arg = ((arg = String(arg)) && match[7] ? arg.substring(0, match[7]) : arg); break;
226 case 'u': arg = Math.abs(arg); break;
226 case 'u': arg = Math.abs(arg); break;
227 case 'x': arg = arg.toString(16); break;
227 case 'x': arg = arg.toString(16); break;
228 case 'X': arg = arg.toString(16).toUpperCase(); break;
228 case 'X': arg = arg.toString(16).toUpperCase(); break;
229 }
229 }
230 arg = (/[def]/.test(match[8]) && match[3] && arg >= 0 ? '+'+ arg : arg);
230 arg = (/[def]/.test(match[8]) && match[3] && arg >= 0 ? '+'+ arg : arg);
231 pad_character = match[4] ? match[4] == '0' ? '0' : match[4].charAt(1) : ' ';
231 pad_character = match[4] ? match[4] == '0' ? '0' : match[4].charAt(1) : ' ';
232 pad_length = match[6] - String(arg).length;
232 pad_length = match[6] - String(arg).length;
233 pad = match[6] ? str_repeat(pad_character, pad_length) : '';
233 pad = match[6] ? str_repeat(pad_character, pad_length) : '';
234 output.push(match[5] ? arg + pad : pad + arg);
234 output.push(match[5] ? arg + pad : pad + arg);
235 }
235 }
236 }
236 }
237 return output.join('');
237 return output.join('');
238 };
238 };
239
239
240 str_format.cache = {};
240 str_format.cache = {};
241
241
242 str_format.parse = function(fmt) {
242 str_format.parse = function(fmt) {
243 var _fmt = fmt, match = [], parse_tree = [], arg_names = 0;
243 var _fmt = fmt, match = [], parse_tree = [], arg_names = 0;
244 while (_fmt) {
244 while (_fmt) {
245 if ((match = /^[^\x25]+/.exec(_fmt)) !== null) {
245 if ((match = /^[^\x25]+/.exec(_fmt)) !== null) {
246 parse_tree.push(match[0]);
246 parse_tree.push(match[0]);
247 }
247 }
248 else if ((match = /^\x25{2}/.exec(_fmt)) !== null) {
248 else if ((match = /^\x25{2}/.exec(_fmt)) !== null) {
249 parse_tree.push('%');
249 parse_tree.push('%');
250 }
250 }
251 else if ((match = /^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(_fmt)) !== null) {
251 else if ((match = /^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(_fmt)) !== null) {
252 if (match[2]) {
252 if (match[2]) {
253 arg_names |= 1;
253 arg_names |= 1;
254 var field_list = [], replacement_field = match[2], field_match = [];
254 var field_list = [], replacement_field = match[2], field_match = [];
255 if ((field_match = /^([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) {
255 if ((field_match = /^([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) {
256 field_list.push(field_match[1]);
256 field_list.push(field_match[1]);
257 while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {
257 while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {
258 if ((field_match = /^\.([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) {
258 if ((field_match = /^\.([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) {
259 field_list.push(field_match[1]);
259 field_list.push(field_match[1]);
260 }
260 }
261 else if ((field_match = /^\[(\d+)\]/.exec(replacement_field)) !== null) {
261 else if ((field_match = /^\[(\d+)\]/.exec(replacement_field)) !== null) {
262 field_list.push(field_match[1]);
262 field_list.push(field_match[1]);
263 }
263 }
264 else {
264 else {
265 throw('[sprintf] huh?');
265 throw('[sprintf] huh?');
266 }
266 }
267 }
267 }
268 }
268 }
269 else {
269 else {
270 throw('[sprintf] huh?');
270 throw('[sprintf] huh?');
271 }
271 }
272 match[2] = field_list;
272 match[2] = field_list;
273 }
273 }
274 else {
274 else {
275 arg_names |= 2;
275 arg_names |= 2;
276 }
276 }
277 if (arg_names === 3) {
277 if (arg_names === 3) {
278 throw('[sprintf] mixing positional and named placeholders is not (yet) supported');
278 throw('[sprintf] mixing positional and named placeholders is not (yet) supported');
279 }
279 }
280 parse_tree.push(match);
280 parse_tree.push(match);
281 }
281 }
282 else {
282 else {
283 throw('[sprintf] huh?');
283 throw('[sprintf] huh?');
284 }
284 }
285 _fmt = _fmt.substring(match[0].length);
285 _fmt = _fmt.substring(match[0].length);
286 }
286 }
287 return parse_tree;
287 return parse_tree;
288 };
288 };
289
289
290 return str_format;
290 return str_format;
291 })();
291 })();
292
292
293 var vsprintf = function(fmt, argv) {
293 var vsprintf = function(fmt, argv) {
294 argv.unshift(fmt);
294 argv.unshift(fmt);
295 return sprintf.apply(null, argv);
295 return sprintf.apply(null, argv);
296 };
296 };
297 return {
297 return {
298 'url': function(route_name, params) {
298 'url': function(route_name, params) {
299 var result = route_name;
299 var result = route_name;
300 if (typeof(params) != 'object'){
300 if (typeof(params) != 'object'){
301 params = {};
301 params = {};
302 }
302 }
303 if (matchlist.hasOwnProperty(route_name)) {
303 if (matchlist.hasOwnProperty(route_name)) {
304 var route = matchlist[route_name];
304 var route = matchlist[route_name];
305 // param substitution
305 // param substitution
306 for(var i=0; i < route[1].length; i++) {
306 for(var i=0; i < route[1].length; i++) {
307
307
308 if (!params.hasOwnProperty(route[1][i]))
308 if (!params.hasOwnProperty(route[1][i]))
309 throw new Error(route[1][i] + ' missing in "' + route_name + '" route generation');
309 throw new Error(route[1][i] + ' missing in "' + route_name + '" route generation');
310 }
310 }
311 result = sprintf(route[0], params);
311 result = sprintf(route[0], params);
312
312
313 var ret = [];
313 var ret = [];
314 //extra params => GET
314 //extra params => GET
315 for(param in params){
315 for(param in params){
316 if (route[1].indexOf(param) == -1){
316 if (route[1].indexOf(param) == -1){
317 ret.push(encodeURIComponent(param) + "=" + encodeURIComponent(params[param]));
317 ret.push(encodeURIComponent(param) + "=" + encodeURIComponent(params[param]));
318 }
318 }
319 }
319 }
320 var _parts = ret.join("&");
320 var _parts = ret.join("&");
321 if(_parts){
321 if(_parts){
322 result = result +'?'+ _parts
322 result = result +'?'+ _parts
323 }
323 }
324 }
324 }
325
325
326 return result;
326 return result;
327 },
327 },
328 'register': function(route_name, route_tmpl, req_params) {
328 'register': function(route_name, route_tmpl, req_params) {
329 if (typeof(req_params) != 'object') {
329 if (typeof(req_params) != 'object') {
330 req_params = [];
330 req_params = [];
331 }
331 }
332 //fix escape
332 //fix escape
333 route_tmpl = unescape(route_tmpl);
333 route_tmpl = unescape(route_tmpl);
334 keys = [];
334 keys = [];
335 for (o in req_params){
335 for (o in req_params){
336 keys.push(req_params[o])
336 keys.push(req_params[o])
337 }
337 }
338 matchlist[route_name] = [
338 matchlist[route_name] = [
339 route_tmpl,
339 route_tmpl,
340 keys
340 keys
341 ]
341 ]
342 },
342 },
343 '_routes': function(){
343 '_routes': function(){
344 return matchlist;
344 return matchlist;
345 }
345 }
346 }
346 }
347 })();
347 })();
348
348
349
349
350
350
351 /**
351 /**
352 * GLOBAL YUI Shortcuts
352 * GLOBAL YUI Shortcuts
353 */
353 */
354 var YUC = YAHOO.util.Connect;
354 var YUC = YAHOO.util.Connect;
355 var YUD = YAHOO.util.Dom;
355 var YUD = YAHOO.util.Dom;
356 var YUE = YAHOO.util.Event;
356 var YUE = YAHOO.util.Event;
357 var YUQ = YAHOO.util.Selector.query;
357 var YUQ = YAHOO.util.Selector.query;
358
358
359 // defines if push state is enabled for this browser ?
359 // defines if push state is enabled for this browser ?
360 var push_state_enabled = Boolean(
360 var push_state_enabled = Boolean(
361 window.history && window.history.pushState && window.history.replaceState
361 window.history && window.history.pushState && window.history.replaceState
362 && !( /* disable for versions of iOS before version 4.3 (8F190) */
362 && !( /* disable for versions of iOS before version 4.3 (8F190) */
363 (/ Mobile\/([1-7][a-z]|(8([abcde]|f(1[0-8]))))/i).test(navigator.userAgent)
363 (/ Mobile\/([1-7][a-z]|(8([abcde]|f(1[0-8]))))/i).test(navigator.userAgent)
364 /* disable for the mercury iOS browser, or at least older versions of the webkit engine */
364 /* disable for the mercury iOS browser, or at least older versions of the webkit engine */
365 || (/AppleWebKit\/5([0-2]|3[0-2])/i).test(navigator.userAgent)
365 || (/AppleWebKit\/5([0-2]|3[0-2])/i).test(navigator.userAgent)
366 )
366 )
367 );
367 );
368
368
369 var _run_callbacks = function(callbacks){
369 var _run_callbacks = function(callbacks){
370 if (callbacks !== undefined){
370 if (callbacks !== undefined){
371 var _l = callbacks.length;
371 var _l = callbacks.length;
372 for (var i=0;i<_l;i++){
372 for (var i=0;i<_l;i++){
373 var func = callbacks[i];
373 var func = callbacks[i];
374 if(typeof(func)=='function'){
374 if(typeof(func)=='function'){
375 try{
375 try{
376 func();
376 func();
377 }catch (err){};
377 }catch (err){};
378 }
378 }
379 }
379 }
380 }
380 }
381 }
381 }
382
382
383 /**
383 /**
384 * Partial Ajax Implementation
384 * Partial Ajax Implementation
385 *
385 *
386 * @param url: defines url to make partial request
386 * @param url: defines url to make partial request
387 * @param container: defines id of container to input partial result
387 * @param container: defines id of container to input partial result
388 * @param s_call: success callback function that takes o as arg
388 * @param s_call: success callback function that takes o as arg
389 * o.tId
389 * o.tId
390 * o.status
390 * o.status
391 * o.statusText
391 * o.statusText
392 * o.getResponseHeader[ ]
392 * o.getResponseHeader[ ]
393 * o.getAllResponseHeaders
393 * o.getAllResponseHeaders
394 * o.responseText
394 * o.responseText
395 * o.responseXML
395 * o.responseXML
396 * o.argument
396 * o.argument
397 * @param f_call: failure callback
397 * @param f_call: failure callback
398 * @param args arguments
398 * @param args arguments
399 */
399 */
400 function ypjax(url,container,s_call,f_call,args){
400 function ypjax(url,container,s_call,f_call,args){
401 var method='GET';
401 var method='GET';
402 if(args===undefined){
402 if(args===undefined){
403 args=null;
403 args=null;
404 }
404 }
405
405
406 // Set special header for partial ajax == HTTP_X_PARTIAL_XHR
406 // Set special header for partial ajax == HTTP_X_PARTIAL_XHR
407 YUC.initHeader('X-PARTIAL-XHR',true);
407 YUC.initHeader('X-PARTIAL-XHR',true);
408
408
409 // wrapper of passed callback
409 // wrapper of passed callback
410 var s_wrapper = (function(o){
410 var s_wrapper = (function(o){
411 return function(o){
411 return function(o){
412 YUD.get(container).innerHTML=o.responseText;
412 YUD.get(container).innerHTML=o.responseText;
413 YUD.setStyle(container,'opacity','1.0');
413 YUD.setStyle(container,'opacity','1.0');
414 //execute the given original callback
414 //execute the given original callback
415 if (s_call !== undefined){
415 if (s_call !== undefined){
416 s_call(o);
416 s_call(o);
417 }
417 }
418 }
418 }
419 })()
419 })()
420 YUD.setStyle(container,'opacity','0.3');
420 YUD.setStyle(container,'opacity','0.3');
421 YUC.asyncRequest(method,url,{
421 YUC.asyncRequest(method,url,{
422 success:s_wrapper,
422 success:s_wrapper,
423 failure:function(o){
423 failure:function(o){
424 console.log(o);
424 console.log(o);
425 YUD.get(container).innerHTML='<span class="error_red">ERROR: {0}</span>'.format(o.status);
425 YUD.get(container).innerHTML='<span class="error_red">ERROR: {0}</span>'.format(o.status);
426 YUD.setStyle(container,'opacity','1.0');
426 YUD.setStyle(container,'opacity','1.0');
427 },
427 },
428 cache:false
428 cache:false
429 },args);
429 },args);
430
430
431 };
431 };
432
432
433 var ajaxGET = function(url,success) {
433 var ajaxGET = function(url,success) {
434 // Set special header for ajax == HTTP_X_PARTIAL_XHR
434 // Set special header for ajax == HTTP_X_PARTIAL_XHR
435 YUC.initHeader('X-PARTIAL-XHR',true);
435 YUC.initHeader('X-PARTIAL-XHR',true);
436
436
437 var sUrl = url;
437 var sUrl = url;
438 var callback = {
438 var callback = {
439 success: success,
439 success: success,
440 failure: function (o) {
440 failure: function (o) {
441 alert("error");
441 alert("error");
442 },
442 },
443 };
443 };
444
444
445 var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
445 var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
446 return request;
446 return request;
447 };
447 };
448
448
449
449
450
450
451 var ajaxPOST = function(url,postData,success) {
451 var ajaxPOST = function(url,postData,success) {
452 // Set special header for ajax == HTTP_X_PARTIAL_XHR
452 // Set special header for ajax == HTTP_X_PARTIAL_XHR
453 YUC.initHeader('X-PARTIAL-XHR',true);
453 YUC.initHeader('X-PARTIAL-XHR',true);
454
454
455 var toQueryString = function(o) {
455 var toQueryString = function(o) {
456 if(typeof o !== 'object') {
456 if(typeof o !== 'object') {
457 return false;
457 return false;
458 }
458 }
459 var _p, _qs = [];
459 var _p, _qs = [];
460 for(_p in o) {
460 for(_p in o) {
461 _qs.push(encodeURIComponent(_p) + '=' + encodeURIComponent(o[_p]));
461 _qs.push(encodeURIComponent(_p) + '=' + encodeURIComponent(o[_p]));
462 }
462 }
463 return _qs.join('&');
463 return _qs.join('&');
464 };
464 };
465
465
466 var sUrl = url;
466 var sUrl = url;
467 var callback = {
467 var callback = {
468 success: success,
468 success: success,
469 failure: function (o) {
469 failure: function (o) {
470 alert("error");
470 alert("error");
471 },
471 },
472 };
472 };
473 var postData = toQueryString(postData);
473 var postData = toQueryString(postData);
474 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
474 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
475 return request;
475 return request;
476 };
476 };
477
477
478
478
479 /**
479 /**
480 * tooltip activate
480 * tooltip activate
481 */
481 */
482 var tooltip_activate = function(){
482 var tooltip_activate = function(){
483 yt = YAHOO.yuitip.main;
483 yt = YAHOO.yuitip.main;
484 YUE.onDOMReady(yt.init);
484 YUE.onDOMReady(yt.init);
485 };
485 };
486
486
487 /**
487 /**
488 * show more
488 * show more
489 */
489 */
490 var show_more_event = function(){
490 var show_more_event = function(){
491 YUE.on(YUD.getElementsByClassName('show_more'),'click',function(e){
491 YUE.on(YUD.getElementsByClassName('show_more'),'click',function(e){
492 var el = e.target;
492 var el = e.target;
493 YUD.setStyle(YUD.get(el.id.substring(1)),'display','');
493 YUD.setStyle(YUD.get(el.id.substring(1)),'display','');
494 YUD.setStyle(el.parentNode,'display','none');
494 YUD.setStyle(el.parentNode,'display','none');
495 });
495 });
496 };
496 };
497
497
498 /**
498 /**
499 * show changeset tooltip
499 * show changeset tooltip
500 */
500 */
501 var show_changeset_tooltip = function(){
501 var show_changeset_tooltip = function(){
502 YUE.on(YUD.getElementsByClassName('lazy-cs'), 'mouseover', function(e){
502 YUE.on(YUD.getElementsByClassName('lazy-cs'), 'mouseover', function(e){
503 var target = e.currentTarget;
503 var target = e.currentTarget;
504 var rid = YUD.getAttribute(target,'raw_id');
504 var rid = YUD.getAttribute(target,'raw_id');
505 var repo_name = YUD.getAttribute(target,'repo_name');
505 var repo_name = YUD.getAttribute(target,'repo_name');
506 var ttid = 'tt-'+rid;
506 var ttid = 'tt-'+rid;
507 var success = function(o){
507 var success = function(o){
508 var json = JSON.parse(o.responseText);
508 var json = JSON.parse(o.responseText);
509 YUD.addClass(target,'tooltip')
509 YUD.addClass(target,'tooltip')
510 YUD.setAttribute(target, 'title',json['message']);
510 YUD.setAttribute(target, 'title',json['message']);
511 YAHOO.yuitip.main.show_yuitip(e, target);
511 YAHOO.yuitip.main.show_yuitip(e, target);
512 }
512 }
513 if(rid && !YUD.hasClass(target, 'tooltip')){
513 if(rid && !YUD.hasClass(target, 'tooltip')){
514 YUD.setAttribute(target,'id',ttid);
514 YUD.setAttribute(target,'id',ttid);
515 YUD.setAttribute(target, 'title',_TM['loading...']);
515 YUD.setAttribute(target, 'title',_TM['loading...']);
516 YAHOO.yuitip.main.set_listeners(target);
516 YAHOO.yuitip.main.set_listeners(target);
517 YAHOO.yuitip.main.show_yuitip(e, target);
517 YAHOO.yuitip.main.show_yuitip(e, target);
518 var url = pyroutes.url('changeset_info', {"repo_name":repo_name, "revision": rid});
518 var url = pyroutes.url('changeset_info', {"repo_name":repo_name, "revision": rid});
519 ajaxGET(url, success)
519 ajaxGET(url, success)
520 }
520 }
521 });
521 });
522 };
522 };
523
523
524 var onSuccessFollow = function(target){
524 var onSuccessFollow = function(target){
525 var f = YUD.get(target.id);
525 var f = YUD.get(target.id);
526 var f_cnt = YUD.get('current_followers_count');
526 var f_cnt = YUD.get('current_followers_count');
527
527
528 if(YUD.hasClass(f, 'follow')){
528 if(YUD.hasClass(f, 'follow')){
529 f.setAttribute('class','following');
529 f.setAttribute('class','following');
530 f.setAttribute('title',_TM['Stop following this repository']);
530 f.setAttribute('title',_TM['Stop following this repository']);
531
531
532 if(f_cnt){
532 if(f_cnt){
533 var cnt = Number(f_cnt.innerHTML)+1;
533 var cnt = Number(f_cnt.innerHTML)+1;
534 f_cnt.innerHTML = cnt;
534 f_cnt.innerHTML = cnt;
535 }
535 }
536 }
536 }
537 else{
537 else{
538 f.setAttribute('class','follow');
538 f.setAttribute('class','follow');
539 f.setAttribute('title',_TM['Start following this repository']);
539 f.setAttribute('title',_TM['Start following this repository']);
540 if(f_cnt){
540 if(f_cnt){
541 var cnt = Number(f_cnt.innerHTML)-1;
541 var cnt = Number(f_cnt.innerHTML)-1;
542 f_cnt.innerHTML = cnt;
542 f_cnt.innerHTML = cnt;
543 }
543 }
544 }
544 }
545 }
545 }
546
546
547 var toggleFollowingUser = function(target,fallows_user_id,token,user_id){
547 var toggleFollowingUser = function(target,fallows_user_id,token,user_id){
548 args = 'follows_user_id='+fallows_user_id;
548 args = 'follows_user_id='+fallows_user_id;
549 args+= '&amp;auth_token='+token;
549 args+= '&amp;auth_token='+token;
550 if(user_id != undefined){
550 if(user_id != undefined){
551 args+="&amp;user_id="+user_id;
551 args+="&amp;user_id="+user_id;
552 }
552 }
553 YUC.asyncRequest('POST',TOGGLE_FOLLOW_URL,{
553 YUC.asyncRequest('POST',TOGGLE_FOLLOW_URL,{
554 success:function(o){
554 success:function(o){
555 onSuccessFollow(target);
555 onSuccessFollow(target);
556 }
556 }
557 },args);
557 },args);
558 return false;
558 return false;
559 }
559 }
560
560
561 var toggleFollowingRepo = function(target,fallows_repo_id,token,user_id){
561 var toggleFollowingRepo = function(target,fallows_repo_id,token,user_id){
562
562
563 args = 'follows_repo_id='+fallows_repo_id;
563 args = 'follows_repo_id='+fallows_repo_id;
564 args+= '&amp;auth_token='+token;
564 args+= '&amp;auth_token='+token;
565 if(user_id != undefined){
565 if(user_id != undefined){
566 args+="&amp;user_id="+user_id;
566 args+="&amp;user_id="+user_id;
567 }
567 }
568 YUC.asyncRequest('POST',TOGGLE_FOLLOW_URL,{
568 YUC.asyncRequest('POST',TOGGLE_FOLLOW_URL,{
569 success:function(o){
569 success:function(o){
570 onSuccessFollow(target);
570 onSuccessFollow(target);
571 }
571 }
572 },args);
572 },args);
573 return false;
573 return false;
574 }
574 }
575
575
576 var showRepoSize = function(target, repo_name, token){
576 var showRepoSize = function(target, repo_name, token){
577 var args= 'auth_token='+token;
577 var args= 'auth_token='+token;
578
578
579 if(!YUD.hasClass(target, 'loaded')){
579 if(!YUD.hasClass(target, 'loaded')){
580 YUD.get(target).innerHTML = _TM['loading...'];
580 YUD.get(target).innerHTML = _TM['loading...'];
581 var url = pyroutes.url('repo_size', {"repo_name":repo_name});
581 var url = pyroutes.url('repo_size', {"repo_name":repo_name});
582 YUC.asyncRequest('POST',url,{
582 YUC.asyncRequest('POST',url,{
583 success:function(o){
583 success:function(o){
584 YUD.get(target).innerHTML = JSON.parse(o.responseText);
584 YUD.get(target).innerHTML = JSON.parse(o.responseText);
585 YUD.addClass(target, 'loaded');
585 YUD.addClass(target, 'loaded');
586 }
586 }
587 },args);
587 },args);
588 }
588 }
589 return false;
589 return false;
590 }
590 }
591
591
592 /**
592 /**
593 * TOOLTIP IMPL.
593 * TOOLTIP IMPL.
594 */
594 */
595 YAHOO.namespace('yuitip');
595 YAHOO.namespace('yuitip');
596 YAHOO.yuitip.main = {
596 YAHOO.yuitip.main = {
597
597
598 $: YAHOO.util.Dom.get,
598 $: YAHOO.util.Dom.get,
599
599
600 bgColor: '#000',
600 bgColor: '#000',
601 speed: 0.3,
601 speed: 0.3,
602 opacity: 0.9,
602 opacity: 0.9,
603 offset: [15,15],
603 offset: [15,15],
604 useAnim: false,
604 useAnim: false,
605 maxWidth: 600,
605 maxWidth: 600,
606 add_links: false,
606 add_links: false,
607 yuitips: [],
607 yuitips: [],
608
608
609 set_listeners: function(tt){
609 set_listeners: function(tt){
610 YUE.on(tt, 'mouseover', yt.show_yuitip, tt);
610 YUE.on(tt, 'mouseover', yt.show_yuitip, tt);
611 YUE.on(tt, 'mousemove', yt.move_yuitip, tt);
611 YUE.on(tt, 'mousemove', yt.move_yuitip, tt);
612 YUE.on(tt, 'mouseout', yt.close_yuitip, tt);
612 YUE.on(tt, 'mouseout', yt.close_yuitip, tt);
613 },
613 },
614
614
615 init: function(){
615 init: function(){
616 yt.tipBox = yt.$('tip-box');
616 yt.tipBox = yt.$('tip-box');
617 if(!yt.tipBox){
617 if(!yt.tipBox){
618 yt.tipBox = document.createElement('div');
618 yt.tipBox = document.createElement('div');
619 document.body.appendChild(yt.tipBox);
619 document.body.appendChild(yt.tipBox);
620 yt.tipBox.id = 'tip-box';
620 yt.tipBox.id = 'tip-box';
621 }
621 }
622
622
623 YUD.setStyle(yt.tipBox, 'display', 'none');
623 YUD.setStyle(yt.tipBox, 'display', 'none');
624 YUD.setStyle(yt.tipBox, 'position', 'absolute');
624 YUD.setStyle(yt.tipBox, 'position', 'absolute');
625 if(yt.maxWidth !== null){
625 if(yt.maxWidth !== null){
626 YUD.setStyle(yt.tipBox, 'max-width', yt.maxWidth+'px');
626 YUD.setStyle(yt.tipBox, 'max-width', yt.maxWidth+'px');
627 }
627 }
628
628
629 var yuitips = YUD.getElementsByClassName('tooltip');
629 var yuitips = YUD.getElementsByClassName('tooltip');
630
630
631 if(yt.add_links === true){
631 if(yt.add_links === true){
632 var links = document.getElementsByTagName('a');
632 var links = document.getElementsByTagName('a');
633 var linkLen = links.length;
633 var linkLen = links.length;
634 for(i=0;i<linkLen;i++){
634 for(i=0;i<linkLen;i++){
635 yuitips.push(links[i]);
635 yuitips.push(links[i]);
636 }
636 }
637 }
637 }
638
638
639 var yuiLen = yuitips.length;
639 var yuiLen = yuitips.length;
640
640
641 for(i=0;i<yuiLen;i++){
641 for(i=0;i<yuiLen;i++){
642 yt.set_listeners(yuitips[i]);
642 yt.set_listeners(yuitips[i]);
643 }
643 }
644 },
644 },
645
645
646 show_yuitip: function(e, el){
646 show_yuitip: function(e, el){
647 YUE.stopEvent(e);
647 YUE.stopEvent(e);
648 if(el.tagName.toLowerCase() === 'img'){
648 if(el.tagName.toLowerCase() === 'img'){
649 yt.tipText = el.alt ? el.alt : '';
649 yt.tipText = el.alt ? el.alt : '';
650 } else {
650 } else {
651 yt.tipText = el.title ? el.title : '';
651 yt.tipText = el.title ? el.title : '';
652 }
652 }
653
653
654 if(yt.tipText !== ''){
654 if(yt.tipText !== ''){
655 // save org title
655 // save org title
656 YUD.setAttribute(el, 'tt_title', yt.tipText);
656 YUD.setAttribute(el, 'tt_title', yt.tipText);
657 // reset title to not show org tooltips
657 // reset title to not show org tooltips
658 YUD.setAttribute(el, 'title', '');
658 YUD.setAttribute(el, 'title', '');
659
659
660 yt.tipBox.innerHTML = yt.tipText;
660 yt.tipBox.innerHTML = yt.tipText;
661 YUD.setStyle(yt.tipBox, 'display', 'block');
661 YUD.setStyle(yt.tipBox, 'display', 'block');
662 if(yt.useAnim === true){
662 if(yt.useAnim === true){
663 YUD.setStyle(yt.tipBox, 'opacity', '0');
663 YUD.setStyle(yt.tipBox, 'opacity', '0');
664 var newAnim = new YAHOO.util.Anim(yt.tipBox,
664 var newAnim = new YAHOO.util.Anim(yt.tipBox,
665 {
665 {
666 opacity: { to: yt.opacity }
666 opacity: { to: yt.opacity }
667 }, yt.speed, YAHOO.util.Easing.easeOut
667 }, yt.speed, YAHOO.util.Easing.easeOut
668 );
668 );
669 newAnim.animate();
669 newAnim.animate();
670 }
670 }
671 }
671 }
672 },
672 },
673
673
674 move_yuitip: function(e, el){
674 move_yuitip: function(e, el){
675 YUE.stopEvent(e);
675 YUE.stopEvent(e);
676 var movePos = YUE.getXY(e);
676 var movePos = YUE.getXY(e);
677 YUD.setStyle(yt.tipBox, 'top', (movePos[1] + yt.offset[1]) + 'px');
677 YUD.setStyle(yt.tipBox, 'top', (movePos[1] + yt.offset[1]) + 'px');
678 YUD.setStyle(yt.tipBox, 'left', (movePos[0] + yt.offset[0]) + 'px');
678 YUD.setStyle(yt.tipBox, 'left', (movePos[0] + yt.offset[0]) + 'px');
679 },
679 },
680
680
681 close_yuitip: function(e, el){
681 close_yuitip: function(e, el){
682 YUE.stopEvent(e);
682 YUE.stopEvent(e);
683
683
684 if(yt.useAnim === true){
684 if(yt.useAnim === true){
685 var newAnim = new YAHOO.util.Anim(yt.tipBox,
685 var newAnim = new YAHOO.util.Anim(yt.tipBox,
686 {
686 {
687 opacity: { to: 0 }
687 opacity: { to: 0 }
688 }, yt.speed, YAHOO.util.Easing.easeOut
688 }, yt.speed, YAHOO.util.Easing.easeOut
689 );
689 );
690 newAnim.animate();
690 newAnim.animate();
691 } else {
691 } else {
692 YUD.setStyle(yt.tipBox, 'display', 'none');
692 YUD.setStyle(yt.tipBox, 'display', 'none');
693 }
693 }
694 YUD.setAttribute(el,'title', YUD.getAttribute(el, 'tt_title'));
694 YUD.setAttribute(el,'title', YUD.getAttribute(el, 'tt_title'));
695 }
695 }
696 }
696 }
697
697
698 /**
698 /**
699 * Quick filter widget
699 * Quick filter widget
700 *
700 *
701 * @param target: filter input target
701 * @param target: filter input target
702 * @param nodes: list of nodes in html we want to filter.
702 * @param nodes: list of nodes in html we want to filter.
703 * @param display_element function that takes current node from nodes and
703 * @param display_element function that takes current node from nodes and
704 * does hide or show based on the node
704 * does hide or show based on the node
705 *
705 *
706 */
706 */
707 var q_filter = function(target,nodes,display_element){
707 var q_filter = function(target,nodes,display_element){
708
708
709 var nodes = nodes;
709 var nodes = nodes;
710 var q_filter_field = YUD.get(target);
710 var q_filter_field = YUD.get(target);
711 var F = YAHOO.namespace(target);
711 var F = YAHOO.namespace(target);
712
712
713 YUE.on(q_filter_field,'click',function(){
713 YUE.on(q_filter_field,'click',function(){
714 q_filter_field.value = '';
714 q_filter_field.value = '';
715 });
715 });
716
716
717 YUE.on(q_filter_field,'keyup',function(e){
717 YUE.on(q_filter_field,'keyup',function(e){
718 clearTimeout(F.filterTimeout);
718 clearTimeout(F.filterTimeout);
719 F.filterTimeout = setTimeout(F.updateFilter,600);
719 F.filterTimeout = setTimeout(F.updateFilter,600);
720 });
720 });
721
721
722 F.filterTimeout = null;
722 F.filterTimeout = null;
723
723
724 var show_node = function(node){
724 var show_node = function(node){
725 YUD.setStyle(node,'display','')
725 YUD.setStyle(node,'display','')
726 }
726 }
727 var hide_node = function(node){
727 var hide_node = function(node){
728 YUD.setStyle(node,'display','none');
728 YUD.setStyle(node,'display','none');
729 }
729 }
730
730
731 F.updateFilter = function() {
731 F.updateFilter = function() {
732 // Reset timeout
732 // Reset timeout
733 F.filterTimeout = null;
733 F.filterTimeout = null;
734
734
735 var obsolete = [];
735 var obsolete = [];
736
736
737 var req = q_filter_field.value.toLowerCase();
737 var req = q_filter_field.value.toLowerCase();
738
738
739 var l = nodes.length;
739 var l = nodes.length;
740 var i;
740 var i;
741 var showing = 0;
741 var showing = 0;
742
742
743 for (i=0;i<l;i++ ){
743 for (i=0;i<l;i++ ){
744 var n = nodes[i];
744 var n = nodes[i];
745 var target_element = display_element(n)
745 var target_element = display_element(n)
746 if(req && n.innerHTML.toLowerCase().indexOf(req) == -1){
746 if(req && n.innerHTML.toLowerCase().indexOf(req) == -1){
747 hide_node(target_element);
747 hide_node(target_element);
748 }
748 }
749 else{
749 else{
750 show_node(target_element);
750 show_node(target_element);
751 showing+=1;
751 showing+=1;
752 }
752 }
753 }
753 }
754
754
755 // if repo_count is set update the number
755 // if repo_count is set update the number
756 var cnt = YUD.get('repo_count');
756 var cnt = YUD.get('repo_count');
757 if(cnt){
757 if(cnt){
758 YUD.get('repo_count').innerHTML = showing;
758 YUD.get('repo_count').innerHTML = showing;
759 }
759 }
760
760
761 }
761 }
762 };
762 };
763
763
764 var tableTr = function(cls, body){
764 var tableTr = function(cls, body){
765 var _el = document.createElement('div');
765 var _el = document.createElement('div');
766 var cont = new YAHOO.util.Element(body);
766 var cont = new YAHOO.util.Element(body);
767 var comment_id = fromHTML(body).children[0].id.split('comment-')[1];
767 var comment_id = fromHTML(body).children[0].id.split('comment-')[1];
768 var id = 'comment-tr-{0}'.format(comment_id);
768 var id = 'comment-tr-{0}'.format(comment_id);
769 var _html = ('<table><tbody><tr id="{0}" class="{1}">'+
769 var _html = ('<table><tbody><tr id="{0}" class="{1}">'+
770 '<td class="lineno-inline new-inline"></td>'+
770 '<td class="lineno-inline new-inline"></td>'+
771 '<td class="lineno-inline old-inline"></td>'+
771 '<td class="lineno-inline old-inline"></td>'+
772 '<td>{2}</td>'+
772 '<td>{2}</td>'+
773 '</tr></tbody></table>').format(id, cls, body);
773 '</tr></tbody></table>').format(id, cls, body);
774 _el.innerHTML = _html;
774 _el.innerHTML = _html;
775 return _el.children[0].children[0].children[0];
775 return _el.children[0].children[0].children[0];
776 };
776 };
777
777
778 /** comments **/
778 /** comments **/
779 var removeInlineForm = function(form) {
779 var removeInlineForm = function(form) {
780 form.parentNode.removeChild(form);
780 form.parentNode.removeChild(form);
781 };
781 };
782
782
783 var createInlineForm = function(parent_tr, f_path, line) {
783 var createInlineForm = function(parent_tr, f_path, line) {
784 var tmpl = YUD.get('comment-inline-form-template').innerHTML;
784 var tmpl = YUD.get('comment-inline-form-template').innerHTML;
785 tmpl = tmpl.format(f_path, line);
785 tmpl = tmpl.format(f_path, line);
786 var form = tableTr('comment-form-inline',tmpl)
786 var form = tableTr('comment-form-inline',tmpl)
787
787
788 // create event for hide button
788 // create event for hide button
789 form = new YAHOO.util.Element(form);
789 form = new YAHOO.util.Element(form);
790 var form_hide_button = new YAHOO.util.Element(YUD.getElementsByClassName('hide-inline-form',null,form)[0]);
790 var form_hide_button = new YAHOO.util.Element(YUD.getElementsByClassName('hide-inline-form',null,form)[0]);
791 form_hide_button.on('click', function(e) {
791 form_hide_button.on('click', function(e) {
792 var newtr = e.currentTarget.parentNode.parentNode.parentNode.parentNode.parentNode;
792 var newtr = e.currentTarget.parentNode.parentNode.parentNode.parentNode.parentNode;
793 if(YUD.hasClass(newtr.nextElementSibling,'inline-comments-button')){
793 if(YUD.hasClass(newtr.nextElementSibling,'inline-comments-button')){
794 YUD.setStyle(newtr.nextElementSibling,'display','');
794 YUD.setStyle(newtr.nextElementSibling,'display','');
795 }
795 }
796 removeInlineForm(newtr);
796 removeInlineForm(newtr);
797 YUD.removeClass(parent_tr, 'form-open');
797 YUD.removeClass(parent_tr, 'form-open');
798 YUD.removeClass(parent_tr, 'hl-comment');
798 YUD.removeClass(parent_tr, 'hl-comment');
799
799
800 });
800 });
801
801
802 return form
802 return form
803 };
803 };
804
804
805 /**
805 /**
806 * Inject inline comment for on given TR this tr should be always an .line
806 * Inject inline comment for on given TR this tr should be always an .line
807 * tr containing the line. Code will detect comment, and always put the comment
807 * tr containing the line. Code will detect comment, and always put the comment
808 * block at the very bottom
808 * block at the very bottom
809 */
809 */
810 var injectInlineForm = function(tr){
810 var injectInlineForm = function(tr){
811 if(!YUD.hasClass(tr, 'line')){
811 if(!YUD.hasClass(tr, 'line')){
812 return
812 return
813 }
813 }
814 var submit_url = AJAX_COMMENT_URL;
814 var submit_url = AJAX_COMMENT_URL;
815 var _td = YUD.getElementsByClassName('code',null,tr)[0];
815 var _td = YUD.getElementsByClassName('code',null,tr)[0];
816 if(YUD.hasClass(tr,'form-open') || YUD.hasClass(tr,'context') || YUD.hasClass(_td,'no-comment')){
816 if(YUD.hasClass(tr,'form-open') || YUD.hasClass(tr,'context') || YUD.hasClass(_td,'no-comment')){
817 return
817 return
818 }
818 }
819 YUD.addClass(tr,'form-open');
819 YUD.addClass(tr,'form-open');
820 YUD.addClass(tr,'hl-comment');
820 YUD.addClass(tr,'hl-comment');
821 var node = YUD.getElementsByClassName('full_f_path',null,tr.parentNode.parentNode.parentNode)[0];
821 var node = YUD.getElementsByClassName('full_f_path',null,tr.parentNode.parentNode.parentNode)[0];
822 var f_path = YUD.getAttribute(node,'path');
822 var f_path = YUD.getAttribute(node,'path');
823 var lineno = getLineNo(tr);
823 var lineno = getLineNo(tr);
824 var form = createInlineForm(tr, f_path, lineno, submit_url);
824 var form = createInlineForm(tr, f_path, lineno, submit_url);
825
825
826 var parent = tr;
826 var parent = tr;
827 while (1){
827 while (1){
828 var n = parent.nextElementSibling;
828 var n = parent.nextElementSibling;
829 // next element are comments !
829 // next element are comments !
830 if(YUD.hasClass(n,'inline-comments')){
830 if(YUD.hasClass(n,'inline-comments')){
831 parent = n;
831 parent = n;
832 }
832 }
833 else{
833 else{
834 break;
834 break;
835 }
835 }
836 }
836 }
837 YUD.insertAfter(form,parent);
837 YUD.insertAfter(form,parent);
838 var f = YUD.get(form);
838 var f = YUD.get(form);
839 var overlay = YUD.getElementsByClassName('overlay',null,f)[0];
839 var overlay = YUD.getElementsByClassName('overlay',null,f)[0];
840 var _form = YUD.getElementsByClassName('inline-form',null,f)[0];
840 var _form = YUD.getElementsByClassName('inline-form',null,f)[0];
841
841
842 YUE.on(YUD.get(_form), 'submit',function(e){
842 YUE.on(YUD.get(_form), 'submit',function(e){
843 YUE.preventDefault(e);
843 YUE.preventDefault(e);
844
844
845 //ajax submit
845 //ajax submit
846 var text = YUD.get('text_'+lineno).value;
846 var text = YUD.get('text_'+lineno).value;
847 var postData = {
847 var postData = {
848 'text':text,
848 'text':text,
849 'f_path':f_path,
849 'f_path':f_path,
850 'line':lineno
850 'line':lineno
851 };
851 };
852
852
853 if(lineno === undefined){
853 if(lineno === undefined){
854 alert('missing line !');
854 alert('missing line !');
855 return
855 return
856 }
856 }
857 if(f_path === undefined){
857 if(f_path === undefined){
858 alert('missing file path !');
858 alert('missing file path !');
859 return
859 return
860 }
860 }
861
861
862 if(text == ""){
862 if(text == ""){
863 return
863 return
864 }
864 }
865
865
866 var success = function(o){
866 var success = function(o){
867 YUD.removeClass(tr, 'form-open');
867 YUD.removeClass(tr, 'form-open');
868 removeInlineForm(f);
868 removeInlineForm(f);
869 var json_data = JSON.parse(o.responseText);
869 var json_data = JSON.parse(o.responseText);
870 renderInlineComment(json_data);
870 renderInlineComment(json_data);
871 };
871 };
872
872
873 if (YUD.hasClass(overlay,'overlay')){
873 if (YUD.hasClass(overlay,'overlay')){
874 var w = _form.offsetWidth;
874 var w = _form.offsetWidth;
875 var h = _form.offsetHeight;
875 var h = _form.offsetHeight;
876 YUD.setStyle(overlay,'width',w+'px');
876 YUD.setStyle(overlay,'width',w+'px');
877 YUD.setStyle(overlay,'height',h+'px');
877 YUD.setStyle(overlay,'height',h+'px');
878 }
878 }
879 YUD.addClass(overlay, 'submitting');
879 YUD.addClass(overlay, 'submitting');
880
880
881 ajaxPOST(submit_url, postData, success);
881 ajaxPOST(submit_url, postData, success);
882 });
882 });
883
883
884 setTimeout(function(){
884 setTimeout(function(){
885 // callbacks
885 // callbacks
886 tooltip_activate();
886 tooltip_activate();
887 MentionsAutoComplete('text_'+lineno, 'mentions_container_'+lineno,
887 MentionsAutoComplete('text_'+lineno, 'mentions_container_'+lineno,
888 _USERS_AC_DATA, _GROUPS_AC_DATA);
888 _USERS_AC_DATA, _GROUPS_AC_DATA);
889 var _e = YUD.get('text_'+lineno);
889 var _e = YUD.get('text_'+lineno);
890 if(_e){
890 if(_e){
891 _e.focus();
891 _e.focus();
892 }
892 }
893 },10)
893 },10)
894 };
894 };
895
895
896 var deleteComment = function(comment_id){
896 var deleteComment = function(comment_id){
897 var url = AJAX_COMMENT_DELETE_URL.replace('__COMMENT_ID__',comment_id);
897 var url = AJAX_COMMENT_DELETE_URL.replace('__COMMENT_ID__',comment_id);
898 var postData = {'_method':'delete'};
898 var postData = {'_method':'delete'};
899 var success = function(o){
899 var success = function(o){
900 var n = YUD.get('comment-tr-'+comment_id);
900 var n = YUD.get('comment-tr-'+comment_id);
901 var root = prevElementSibling(prevElementSibling(n));
901 var root = prevElementSibling(prevElementSibling(n));
902 n.parentNode.removeChild(n);
902 n.parentNode.removeChild(n);
903
903
904 // scann nodes, and attach add button to last one
904 // scann nodes, and attach add button to last one
905 placeAddButton(root);
905 placeAddButton(root);
906 }
906 }
907 ajaxPOST(url,postData,success);
907 ajaxPOST(url,postData,success);
908 }
908 }
909
909
910 var createInlineAddButton = function(tr){
910 var createInlineAddButton = function(tr){
911
911
912 var label = TRANSLATION_MAP['add another comment'];
912 var label = TRANSLATION_MAP['add another comment'];
913
913
914 var html_el = document.createElement('div');
914 var html_el = document.createElement('div');
915 YUD.addClass(html_el, 'add-comment');
915 YUD.addClass(html_el, 'add-comment');
916 html_el.innerHTML = '<span class="ui-btn">{0}</span>'.format(label);
916 html_el.innerHTML = '<span class="ui-btn">{0}</span>'.format(label);
917
917
918 var add = new YAHOO.util.Element(html_el);
918 var add = new YAHOO.util.Element(html_el);
919 add.on('click', function(e) {
919 add.on('click', function(e) {
920 injectInlineForm(tr);
920 injectInlineForm(tr);
921 });
921 });
922 return add;
922 return add;
923 };
923 };
924
924
925 var getLineNo = function(tr) {
925 var getLineNo = function(tr) {
926 var line;
926 var line;
927 var o = tr.children[0].id.split('_');
927 var o = tr.children[0].id.split('_');
928 var n = tr.children[1].id.split('_');
928 var n = tr.children[1].id.split('_');
929
929
930 if (n.length >= 2) {
930 if (n.length >= 2) {
931 line = n[n.length-1];
931 line = n[n.length-1];
932 } else if (o.length >= 2) {
932 } else if (o.length >= 2) {
933 line = o[o.length-1];
933 line = o[o.length-1];
934 }
934 }
935
935
936 return line
936 return line
937 };
937 };
938
938
939 var placeAddButton = function(target_tr){
939 var placeAddButton = function(target_tr){
940 if(!target_tr){
940 if(!target_tr){
941 return
941 return
942 }
942 }
943 var last_node = target_tr;
943 var last_node = target_tr;
944 //scann
944 //scann
945 while (1){
945 while (1){
946 var n = last_node.nextElementSibling;
946 var n = last_node.nextElementSibling;
947 // next element are comments !
947 // next element are comments !
948 if(YUD.hasClass(n,'inline-comments')){
948 if(YUD.hasClass(n,'inline-comments')){
949 last_node = n;
949 last_node = n;
950 //also remove the comment button from previous
950 //also remove the comment button from previous
951 var comment_add_buttons = YUD.getElementsByClassName('add-comment',null,last_node);
951 var comment_add_buttons = YUD.getElementsByClassName('add-comment',null,last_node);
952 for(var i=0;i<comment_add_buttons.length;i++){
952 for(var i=0;i<comment_add_buttons.length;i++){
953 var b = comment_add_buttons[i];
953 var b = comment_add_buttons[i];
954 b.parentNode.removeChild(b);
954 b.parentNode.removeChild(b);
955 }
955 }
956 }
956 }
957 else{
957 else{
958 break;
958 break;
959 }
959 }
960 }
960 }
961
961
962 var add = createInlineAddButton(target_tr);
962 var add = createInlineAddButton(target_tr);
963 // get the comment div
963 // get the comment div
964 var comment_block = YUD.getElementsByClassName('comment',null,last_node)[0];
964 var comment_block = YUD.getElementsByClassName('comment',null,last_node)[0];
965 // attach add button
965 // attach add button
966 YUD.insertAfter(add,comment_block);
966 YUD.insertAfter(add,comment_block);
967 }
967 }
968
968
969 /**
969 /**
970 * Places the inline comment into the changeset block in proper line position
970 * Places the inline comment into the changeset block in proper line position
971 */
971 */
972 var placeInline = function(target_container,lineno,html){
972 var placeInline = function(target_container,lineno,html){
973 var lineid = "{0}_{1}".format(target_container,lineno);
973 var lineid = "{0}_{1}".format(target_container,lineno);
974 var target_line = YUD.get(lineid);
974 var target_line = YUD.get(lineid);
975 var comment = new YAHOO.util.Element(tableTr('inline-comments',html))
975 var comment = new YAHOO.util.Element(tableTr('inline-comments',html))
976
976
977 // check if there are comments already !
977 // check if there are comments already !
978 var parent = target_line.parentNode;
978 var parent = target_line.parentNode;
979 var root_parent = parent;
979 var root_parent = parent;
980 while (1){
980 while (1){
981 var n = parent.nextElementSibling;
981 var n = parent.nextElementSibling;
982 // next element are comments !
982 // next element are comments !
983 if(YUD.hasClass(n,'inline-comments')){
983 if(YUD.hasClass(n,'inline-comments')){
984 parent = n;
984 parent = n;
985 }
985 }
986 else{
986 else{
987 break;
987 break;
988 }
988 }
989 }
989 }
990 // put in the comment at the bottom
990 // put in the comment at the bottom
991 YUD.insertAfter(comment,parent);
991 YUD.insertAfter(comment,parent);
992
992
993 // scann nodes, and attach add button to last one
993 // scann nodes, and attach add button to last one
994 placeAddButton(root_parent);
994 placeAddButton(root_parent);
995
995
996 return target_line;
996 return target_line;
997 }
997 }
998
998
999 /**
999 /**
1000 * make a single inline comment and place it inside
1000 * make a single inline comment and place it inside
1001 */
1001 */
1002 var renderInlineComment = function(json_data){
1002 var renderInlineComment = function(json_data){
1003 try{
1003 try{
1004 var html = json_data['rendered_text'];
1004 var html = json_data['rendered_text'];
1005 var lineno = json_data['line_no'];
1005 var lineno = json_data['line_no'];
1006 var target_id = json_data['target_id'];
1006 var target_id = json_data['target_id'];
1007 placeInline(target_id, lineno, html);
1007 placeInline(target_id, lineno, html);
1008
1008
1009 }catch(e){
1009 }catch(e){
1010 console.log(e);
1010 console.log(e);
1011 }
1011 }
1012 }
1012 }
1013
1013
1014 /**
1014 /**
1015 * Iterates over all the inlines, and places them inside proper blocks of data
1015 * Iterates over all the inlines, and places them inside proper blocks of data
1016 */
1016 */
1017 var renderInlineComments = function(file_comments){
1017 var renderInlineComments = function(file_comments){
1018 for (f in file_comments){
1018 for (f in file_comments){
1019 // holding all comments for a FILE
1019 // holding all comments for a FILE
1020 var box = file_comments[f];
1020 var box = file_comments[f];
1021
1021
1022 var target_id = YUD.getAttribute(box,'target_id');
1022 var target_id = YUD.getAttribute(box,'target_id');
1023 // actually comments with line numbers
1023 // actually comments with line numbers
1024 var comments = box.children;
1024 var comments = box.children;
1025 for(var i=0; i<comments.length; i++){
1025 for(var i=0; i<comments.length; i++){
1026 var data = {
1026 var data = {
1027 'rendered_text': comments[i].outerHTML,
1027 'rendered_text': comments[i].outerHTML,
1028 'line_no': YUD.getAttribute(comments[i],'line'),
1028 'line_no': YUD.getAttribute(comments[i],'line'),
1029 'target_id': target_id
1029 'target_id': target_id
1030 }
1030 }
1031 renderInlineComment(data);
1031 renderInlineComment(data);
1032 }
1032 }
1033 }
1033 }
1034 }
1034 }
1035
1035
1036 var fileBrowserListeners = function(current_url, node_list_url, url_base){
1036 var fileBrowserListeners = function(current_url, node_list_url, url_base){
1037 var current_url_branch = +"?branch=__BRANCH__";
1037 var current_url_branch = +"?branch=__BRANCH__";
1038
1038
1039 YUE.on('stay_at_branch','click',function(e){
1039 YUE.on('stay_at_branch','click',function(e){
1040 if(e.target.checked){
1040 if(e.target.checked){
1041 var uri = current_url_branch;
1041 var uri = current_url_branch;
1042 uri = uri.replace('__BRANCH__',e.target.value);
1042 uri = uri.replace('__BRANCH__',e.target.value);
1043 window.location = uri;
1043 window.location = uri;
1044 }
1044 }
1045 else{
1045 else{
1046 window.location = current_url;
1046 window.location = current_url;
1047 }
1047 }
1048 })
1048 })
1049
1049
1050 var n_filter = YUD.get('node_filter');
1050 var n_filter = YUD.get('node_filter');
1051 var F = YAHOO.namespace('node_filter');
1051 var F = YAHOO.namespace('node_filter');
1052
1052
1053 F.filterTimeout = null;
1053 F.filterTimeout = null;
1054 var nodes = null;
1054 var nodes = null;
1055
1055
1056 F.initFilter = function(){
1056 F.initFilter = function(){
1057 YUD.setStyle('node_filter_box_loading','display','');
1057 YUD.setStyle('node_filter_box_loading','display','');
1058 YUD.setStyle('search_activate_id','display','none');
1058 YUD.setStyle('search_activate_id','display','none');
1059 YUD.setStyle('add_node_id','display','none');
1059 YUD.setStyle('add_node_id','display','none');
1060 YUC.initHeader('X-PARTIAL-XHR',true);
1060 YUC.initHeader('X-PARTIAL-XHR',true);
1061 YUC.asyncRequest('GET', node_list_url, {
1061 YUC.asyncRequest('GET', node_list_url, {
1062 success:function(o){
1062 success:function(o){
1063 nodes = JSON.parse(o.responseText).nodes;
1063 nodes = JSON.parse(o.responseText).nodes;
1064 YUD.setStyle('node_filter_box_loading','display','none');
1064 YUD.setStyle('node_filter_box_loading','display','none');
1065 YUD.setStyle('node_filter_box','display','');
1065 YUD.setStyle('node_filter_box','display','');
1066 n_filter.focus();
1066 n_filter.focus();
1067 if(YUD.hasClass(n_filter,'init')){
1067 if(YUD.hasClass(n_filter,'init')){
1068 n_filter.value = '';
1068 n_filter.value = '';
1069 YUD.removeClass(n_filter,'init');
1069 YUD.removeClass(n_filter,'init');
1070 }
1070 }
1071 },
1071 },
1072 failure:function(o){
1072 failure:function(o){
1073 console.log('failed to load');
1073 console.log('failed to load');
1074 }
1074 }
1075 },null);
1075 },null);
1076 }
1076 }
1077
1077
1078 F.updateFilter = function(e) {
1078 F.updateFilter = function(e) {
1079
1079
1080 return function(){
1080 return function(){
1081 // Reset timeout
1081 // Reset timeout
1082 F.filterTimeout = null;
1082 F.filterTimeout = null;
1083 var query = e.target.value.toLowerCase();
1083 var query = e.target.value.toLowerCase();
1084 var match = [];
1084 var match = [];
1085 var matches = 0;
1085 var matches = 0;
1086 var matches_max = 20;
1086 var matches_max = 20;
1087 if (query != ""){
1087 if (query != ""){
1088 for(var i=0;i<nodes.length;i++){
1088 for(var i=0;i<nodes.length;i++){
1089
1089
1090 var pos = nodes[i].name.toLowerCase().indexOf(query)
1090 var pos = nodes[i].name.toLowerCase().indexOf(query)
1091 if(query && pos != -1){
1091 if(query && pos != -1){
1092
1092
1093 matches++
1093 matches++
1094 //show only certain amount to not kill browser
1094 //show only certain amount to not kill browser
1095 if (matches > matches_max){
1095 if (matches > matches_max){
1096 break;
1096 break;
1097 }
1097 }
1098
1098
1099 var n = nodes[i].name;
1099 var n = nodes[i].name;
1100 var t = nodes[i].type;
1100 var t = nodes[i].type;
1101 var n_hl = n.substring(0,pos)
1101 var n_hl = n.substring(0,pos)
1102 +"<b>{0}</b>".format(n.substring(pos,pos+query.length))
1102 +"<b>{0}</b>".format(n.substring(pos,pos+query.length))
1103 +n.substring(pos+query.length)
1103 +n.substring(pos+query.length)
1104 var new_url = url_base.replace('__FPATH__',n);
1104 var new_url = url_base.replace('__FPATH__',n);
1105 match.push('<tr><td><a class="browser-{0}" href="{1}">{2}</a></td><td colspan="5"></td></tr>'.format(t,new_url,n_hl));
1105 match.push('<tr><td><a class="browser-{0}" href="{1}">{2}</a></td><td colspan="5"></td></tr>'.format(t,new_url,n_hl));
1106 }
1106 }
1107 if(match.length >= matches_max){
1107 if(match.length >= matches_max){
1108 match.push('<tr><td>{0}</td><td colspan="5"></td></tr>'.format(_TM['search truncated']));
1108 match.push('<tr><td>{0}</td><td colspan="5"></td></tr>'.format(_TM['search truncated']));
1109 }
1109 }
1110 }
1110 }
1111 }
1111 }
1112 if(query != ""){
1112 if(query != ""){
1113 YUD.setStyle('tbody','display','none');
1113 YUD.setStyle('tbody','display','none');
1114 YUD.setStyle('tbody_filtered','display','');
1114 YUD.setStyle('tbody_filtered','display','');
1115
1115
1116 if (match.length==0){
1116 if (match.length==0){
1117 match.push('<tr><td>{0}</td><td colspan="5"></td></tr>'.format(_TM['no matching files']));
1117 match.push('<tr><td>{0}</td><td colspan="5"></td></tr>'.format(_TM['no matching files']));
1118 }
1118 }
1119
1119
1120 YUD.get('tbody_filtered').innerHTML = match.join("");
1120 YUD.get('tbody_filtered').innerHTML = match.join("");
1121 }
1121 }
1122 else{
1122 else{
1123 YUD.setStyle('tbody','display','');
1123 YUD.setStyle('tbody','display','');
1124 YUD.setStyle('tbody_filtered','display','none');
1124 YUD.setStyle('tbody_filtered','display','none');
1125 }
1125 }
1126
1126
1127 }
1127 }
1128 };
1128 };
1129
1129
1130 YUE.on(YUD.get('filter_activate'),'click',function(){
1130 YUE.on(YUD.get('filter_activate'),'click',function(){
1131 F.initFilter();
1131 F.initFilter();
1132 })
1132 })
1133 YUE.on(n_filter,'click',function(){
1133 YUE.on(n_filter,'click',function(){
1134 if(YUD.hasClass(n_filter,'init')){
1134 if(YUD.hasClass(n_filter,'init')){
1135 n_filter.value = '';
1135 n_filter.value = '';
1136 YUD.removeClass(n_filter,'init');
1136 YUD.removeClass(n_filter,'init');
1137 }
1137 }
1138 });
1138 });
1139 YUE.on(n_filter,'keyup',function(e){
1139 YUE.on(n_filter,'keyup',function(e){
1140 clearTimeout(F.filterTimeout);
1140 clearTimeout(F.filterTimeout);
1141 F.filterTimeout = setTimeout(F.updateFilter(e),600);
1141 F.filterTimeout = setTimeout(F.updateFilter(e),600);
1142 });
1142 });
1143 };
1143 };
1144
1144
1145
1145
1146 var initCodeMirror = function(textAreadId,resetUrl){
1146 var initCodeMirror = function(textAreadId,resetUrl){
1147 var myCodeMirror = CodeMirror.fromTextArea(YUD.get(textAreadId),{
1147 var myCodeMirror = CodeMirror.fromTextArea(YUD.get(textAreadId),{
1148 mode: "null",
1148 mode: "null",
1149 lineNumbers:true
1149 lineNumbers:true
1150 });
1150 });
1151 YUE.on('reset','click',function(e){
1151 YUE.on('reset','click',function(e){
1152 window.location=resetUrl
1152 window.location=resetUrl
1153 });
1153 });
1154
1154
1155 YUE.on('file_enable','click',function(){
1155 YUE.on('file_enable','click',function(){
1156 YUD.setStyle('editor_container','display','');
1156 YUD.setStyle('editor_container','display','');
1157 YUD.setStyle('upload_file_container','display','none');
1157 YUD.setStyle('upload_file_container','display','none');
1158 YUD.setStyle('filename_container','display','');
1158 YUD.setStyle('filename_container','display','');
1159 });
1159 });
1160
1160
1161 YUE.on('upload_file_enable','click',function(){
1161 YUE.on('upload_file_enable','click',function(){
1162 YUD.setStyle('editor_container','display','none');
1162 YUD.setStyle('editor_container','display','none');
1163 YUD.setStyle('upload_file_container','display','');
1163 YUD.setStyle('upload_file_container','display','');
1164 YUD.setStyle('filename_container','display','none');
1164 YUD.setStyle('filename_container','display','none');
1165 });
1165 });
1166 };
1166 };
1167
1167
1168
1168
1169
1169
1170 var getIdentNode = function(n){
1170 var getIdentNode = function(n){
1171 //iterate thru nodes untill matched interesting node !
1171 //iterate thru nodes untill matched interesting node !
1172
1172
1173 if (typeof n == 'undefined'){
1173 if (typeof n == 'undefined'){
1174 return -1
1174 return -1
1175 }
1175 }
1176
1176
1177 if(typeof n.id != "undefined" && n.id.match('L[0-9]+')){
1177 if(typeof n.id != "undefined" && n.id.match('L[0-9]+')){
1178 return n
1178 return n
1179 }
1179 }
1180 else{
1180 else{
1181 return getIdentNode(n.parentNode);
1181 return getIdentNode(n.parentNode);
1182 }
1182 }
1183 };
1183 };
1184
1184
1185 var getSelectionLink = function(e) {
1185 var getSelectionLink = function(e) {
1186
1186
1187 //get selection from start/to nodes
1187 //get selection from start/to nodes
1188 if (typeof window.getSelection != "undefined") {
1188 if (typeof window.getSelection != "undefined") {
1189 s = window.getSelection();
1189 s = window.getSelection();
1190
1190
1191 from = getIdentNode(s.anchorNode);
1191 from = getIdentNode(s.anchorNode);
1192 till = getIdentNode(s.focusNode);
1192 till = getIdentNode(s.focusNode);
1193
1193
1194 f_int = parseInt(from.id.replace('L',''));
1194 f_int = parseInt(from.id.replace('L',''));
1195 t_int = parseInt(till.id.replace('L',''));
1195 t_int = parseInt(till.id.replace('L',''));
1196
1196
1197 if (f_int > t_int){
1197 if (f_int > t_int){
1198 //highlight from bottom
1198 //highlight from bottom
1199 offset = -35;
1199 offset = -35;
1200 ranges = [t_int,f_int];
1200 ranges = [t_int,f_int];
1201
1201
1202 }
1202 }
1203 else{
1203 else{
1204 //highligth from top
1204 //highligth from top
1205 offset = 35;
1205 offset = 35;
1206 ranges = [f_int,t_int];
1206 ranges = [f_int,t_int];
1207 }
1207 }
1208 // if we select more than 2 lines
1208 // if we select more than 2 lines
1209 if (ranges[0] != ranges[1]){
1209 if (ranges[0] != ranges[1]){
1210 if(YUD.get('linktt') == null){
1210 if(YUD.get('linktt') == null){
1211 hl_div = document.createElement('div');
1211 hl_div = document.createElement('div');
1212 hl_div.id = 'linktt';
1212 hl_div.id = 'linktt';
1213 }
1213 }
1214 hl_div.innerHTML = '';
1214 hl_div.innerHTML = '';
1215
1215
1216 anchor = '#L'+ranges[0]+'-'+ranges[1];
1216 anchor = '#L'+ranges[0]+'-'+ranges[1];
1217 var link = document.createElement('a');
1217 var link = document.createElement('a');
1218 link.href = location.href.substring(0,location.href.indexOf('#'))+anchor;
1218 link.href = location.href.substring(0,location.href.indexOf('#'))+anchor;
1219 link.innerHTML = _TM['Selection link'];
1219 link.innerHTML = _TM['Selection link'];
1220 hl_div.appendChild(link);
1220 hl_div.appendChild(link);
1221 YUD.get('body').appendChild(hl_div);
1221 YUD.get('body').appendChild(hl_div);
1222
1222
1223 xy = YUD.getXY(till.id);
1223 xy = YUD.getXY(till.id);
1224
1224
1225 YUD.addClass('linktt', 'hl-tip-box');
1225 YUD.addClass('linktt', 'hl-tip-box');
1226 YUD.setStyle('linktt','top',xy[1]+offset+'px');
1226 YUD.setStyle('linktt','top',xy[1]+offset+'px');
1227 YUD.setStyle('linktt','left',xy[0]+'px');
1227 YUD.setStyle('linktt','left',xy[0]+'px');
1228 YUD.setStyle('linktt','visibility','visible');
1228 YUD.setStyle('linktt','visibility','visible');
1229
1229
1230 }
1230 }
1231 else{
1231 else{
1232 YUD.setStyle('linktt','visibility','hidden');
1232 YUD.setStyle('linktt','visibility','hidden');
1233 }
1233 }
1234 }
1234 }
1235 };
1235 };
1236
1236
1237 var deleteNotification = function(url, notification_id,callbacks){
1237 var deleteNotification = function(url, notification_id,callbacks){
1238 var callback = {
1238 var callback = {
1239 success:function(o){
1239 success:function(o){
1240 var obj = YUD.get(String("notification_"+notification_id));
1240 var obj = YUD.get(String("notification_"+notification_id));
1241 if(obj.parentNode !== undefined){
1241 if(obj.parentNode !== undefined){
1242 obj.parentNode.removeChild(obj);
1242 obj.parentNode.removeChild(obj);
1243 }
1243 }
1244 _run_callbacks(callbacks);
1244 _run_callbacks(callbacks);
1245 },
1245 },
1246 failure:function(o){
1246 failure:function(o){
1247 alert("error");
1247 alert("error");
1248 },
1248 },
1249 };
1249 };
1250 var postData = '_method=delete';
1250 var postData = '_method=delete';
1251 var sUrl = url.replace('__NOTIFICATION_ID__',notification_id);
1251 var sUrl = url.replace('__NOTIFICATION_ID__',notification_id);
1252 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl,
1252 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl,
1253 callback, postData);
1253 callback, postData);
1254 };
1254 };
1255
1255
1256 var readNotification = function(url, notification_id,callbacks){
1256 var readNotification = function(url, notification_id,callbacks){
1257 var callback = {
1257 var callback = {
1258 success:function(o){
1258 success:function(o){
1259 var obj = YUD.get(String("notification_"+notification_id));
1259 var obj = YUD.get(String("notification_"+notification_id));
1260 YUD.removeClass(obj, 'unread');
1260 YUD.removeClass(obj, 'unread');
1261 var r_button = YUD.getElementsByClassName('read-notification',null,obj.children[0])[0];
1261 var r_button = YUD.getElementsByClassName('read-notification',null,obj.children[0])[0];
1262
1262
1263 if(r_button.parentNode !== undefined){
1263 if(r_button.parentNode !== undefined){
1264 r_button.parentNode.removeChild(r_button);
1264 r_button.parentNode.removeChild(r_button);
1265 }
1265 }
1266 _run_callbacks(callbacks);
1266 _run_callbacks(callbacks);
1267 },
1267 },
1268 failure:function(o){
1268 failure:function(o){
1269 alert("error");
1269 alert("error");
1270 },
1270 },
1271 };
1271 };
1272 var postData = '_method=put';
1272 var postData = '_method=put';
1273 var sUrl = url.replace('__NOTIFICATION_ID__',notification_id);
1273 var sUrl = url.replace('__NOTIFICATION_ID__',notification_id);
1274 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl,
1274 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl,
1275 callback, postData);
1275 callback, postData);
1276 };
1276 };
1277
1277
1278 /** MEMBERS AUTOCOMPLETE WIDGET **/
1278 /** MEMBERS AUTOCOMPLETE WIDGET **/
1279
1279
1280 var MembersAutoComplete = function (divid, cont, users_list, groups_list) {
1280 var MembersAutoComplete = function (divid, cont, users_list, groups_list) {
1281 var myUsers = users_list;
1281 var myUsers = users_list;
1282 var myGroups = groups_list;
1282 var myGroups = groups_list;
1283
1283
1284 // Define a custom search function for the DataSource of users
1284 // Define a custom search function for the DataSource of users
1285 var matchUsers = function (sQuery) {
1285 var matchUsers = function (sQuery) {
1286 // Case insensitive matching
1286 // Case insensitive matching
1287 var query = sQuery.toLowerCase();
1287 var query = sQuery.toLowerCase();
1288 var i = 0;
1288 var i = 0;
1289 var l = myUsers.length;
1289 var l = myUsers.length;
1290 var matches = [];
1290 var matches = [];
1291
1291
1292 // Match against each name of each contact
1292 // Match against each name of each contact
1293 for (; i < l; i++) {
1293 for (; i < l; i++) {
1294 contact = myUsers[i];
1294 contact = myUsers[i];
1295 if (((contact.fname+"").toLowerCase().indexOf(query) > -1) ||
1295 if (((contact.fname+"").toLowerCase().indexOf(query) > -1) ||
1296 ((contact.lname+"").toLowerCase().indexOf(query) > -1) ||
1296 ((contact.lname+"").toLowerCase().indexOf(query) > -1) ||
1297 ((contact.nname) && ((contact.nname).toLowerCase().indexOf(query) > -1))) {
1297 ((contact.nname) && ((contact.nname).toLowerCase().indexOf(query) > -1))) {
1298 matches[matches.length] = contact;
1298 matches[matches.length] = contact;
1299 }
1299 }
1300 }
1300 }
1301 return matches;
1301 return matches;
1302 };
1302 };
1303
1303
1304 // Define a custom search function for the DataSource of userGroups
1304 // Define a custom search function for the DataSource of userGroups
1305 var matchGroups = function (sQuery) {
1305 var matchGroups = function (sQuery) {
1306 // Case insensitive matching
1306 // Case insensitive matching
1307 var query = sQuery.toLowerCase();
1307 var query = sQuery.toLowerCase();
1308 var i = 0;
1308 var i = 0;
1309 var l = myGroups.length;
1309 var l = myGroups.length;
1310 var matches = [];
1310 var matches = [];
1311
1311
1312 // Match against each name of each contact
1312 // Match against each name of each contact
1313 for (; i < l; i++) {
1313 for (; i < l; i++) {
1314 matched_group = myGroups[i];
1314 matched_group = myGroups[i];
1315 if (matched_group.grname.toLowerCase().indexOf(query) > -1) {
1315 if (matched_group.grname.toLowerCase().indexOf(query) > -1) {
1316 matches[matches.length] = matched_group;
1316 matches[matches.length] = matched_group;
1317 }
1317 }
1318 }
1318 }
1319 return matches;
1319 return matches;
1320 };
1320 };
1321
1321
1322 //match all
1322 //match all
1323 var matchAll = function (sQuery) {
1323 var matchAll = function (sQuery) {
1324 u = matchUsers(sQuery);
1324 u = matchUsers(sQuery);
1325 g = matchGroups(sQuery);
1325 g = matchGroups(sQuery);
1326 return u.concat(g);
1326 return u.concat(g);
1327 };
1327 };
1328
1328
1329 // DataScheme for members
1329 // DataScheme for members
1330 var memberDS = new YAHOO.util.FunctionDataSource(matchAll);
1330 var memberDS = new YAHOO.util.FunctionDataSource(matchAll);
1331 memberDS.responseSchema = {
1331 memberDS.responseSchema = {
1332 fields: ["id", "fname", "lname", "nname", "grname", "grmembers", "gravatar_lnk"]
1332 fields: ["id", "fname", "lname", "nname", "grname", "grmembers", "gravatar_lnk"]
1333 };
1333 };
1334
1334
1335 // DataScheme for owner
1335 // DataScheme for owner
1336 var ownerDS = new YAHOO.util.FunctionDataSource(matchUsers);
1336 var ownerDS = new YAHOO.util.FunctionDataSource(matchUsers);
1337 ownerDS.responseSchema = {
1337 ownerDS.responseSchema = {
1338 fields: ["id", "fname", "lname", "nname", "gravatar_lnk"]
1338 fields: ["id", "fname", "lname", "nname", "gravatar_lnk"]
1339 };
1339 };
1340
1340
1341 // Instantiate AutoComplete for perms
1341 // Instantiate AutoComplete for perms
1342 var membersAC = new YAHOO.widget.AutoComplete(divid, cont, memberDS);
1342 var membersAC = new YAHOO.widget.AutoComplete(divid, cont, memberDS);
1343 membersAC.useShadow = false;
1343 membersAC.useShadow = false;
1344 membersAC.resultTypeList = false;
1344 membersAC.resultTypeList = false;
1345 membersAC.animVert = false;
1345 membersAC.animVert = false;
1346 membersAC.animHoriz = false;
1346 membersAC.animHoriz = false;
1347 membersAC.animSpeed = 0.1;
1347 membersAC.animSpeed = 0.1;
1348
1348
1349 // Instantiate AutoComplete for owner
1349 // Instantiate AutoComplete for owner
1350 var ownerAC = new YAHOO.widget.AutoComplete("user", "owner_container", ownerDS);
1350 var ownerAC = new YAHOO.widget.AutoComplete("user", "owner_container", ownerDS);
1351 ownerAC.useShadow = false;
1351 ownerAC.useShadow = false;
1352 ownerAC.resultTypeList = false;
1352 ownerAC.resultTypeList = false;
1353 ownerAC.animVert = false;
1353 ownerAC.animVert = false;
1354 ownerAC.animHoriz = false;
1354 ownerAC.animHoriz = false;
1355 ownerAC.animSpeed = 0.1;
1355 ownerAC.animSpeed = 0.1;
1356
1356
1357 // Helper highlight function for the formatter
1357 // Helper highlight function for the formatter
1358 var highlightMatch = function (full, snippet, matchindex) {
1358 var highlightMatch = function (full, snippet, matchindex) {
1359 return full.substring(0, matchindex)
1359 return full.substring(0, matchindex)
1360 + "<span class='match'>"
1360 + "<span class='match'>"
1361 + full.substr(matchindex, snippet.length)
1361 + full.substr(matchindex, snippet.length)
1362 + "</span>" + full.substring(matchindex + snippet.length);
1362 + "</span>" + full.substring(matchindex + snippet.length);
1363 };
1363 };
1364
1364
1365 // Custom formatter to highlight the matching letters
1365 // Custom formatter to highlight the matching letters
1366 var custom_formatter = function (oResultData, sQuery, sResultMatch) {
1366 var custom_formatter = function (oResultData, sQuery, sResultMatch) {
1367 var query = sQuery.toLowerCase();
1367 var query = sQuery.toLowerCase();
1368 var _gravatar = function(res, em, group){
1368 var _gravatar = function(res, em, group){
1369 if (group !== undefined){
1369 if (group !== undefined){
1370 em = '/images/icons/group.png'
1370 em = '/images/icons/group.png'
1371 }
1371 }
1372 tmpl = '<div class="ac-container-wrap"><img class="perm-gravatar-ac" src="{0}"/>{1}</div>'
1372 tmpl = '<div class="ac-container-wrap"><img class="perm-gravatar-ac" src="{0}"/>{1}</div>'
1373 return tmpl.format(em,res)
1373 return tmpl.format(em,res)
1374 }
1374 }
1375 // group
1375 // group
1376 if (oResultData.grname != undefined) {
1376 if (oResultData.grname != undefined) {
1377 var grname = oResultData.grname;
1377 var grname = oResultData.grname;
1378 var grmembers = oResultData.grmembers;
1378 var grmembers = oResultData.grmembers;
1379 var grnameMatchIndex = grname.toLowerCase().indexOf(query);
1379 var grnameMatchIndex = grname.toLowerCase().indexOf(query);
1380 var grprefix = "{0}: ".format(_TM['Group']);
1380 var grprefix = "{0}: ".format(_TM['Group']);
1381 var grsuffix = " (" + grmembers + " )";
1381 var grsuffix = " (" + grmembers + " )";
1382 var grsuffix = " ({0} {1})".format(grmembers, _TM['members']);
1382 var grsuffix = " ({0} {1})".format(grmembers, _TM['members']);
1383
1383
1384 if (grnameMatchIndex > -1) {
1384 if (grnameMatchIndex > -1) {
1385 return _gravatar(grprefix + highlightMatch(grname, query, grnameMatchIndex) + grsuffix,null,true);
1385 return _gravatar(grprefix + highlightMatch(grname, query, grnameMatchIndex) + grsuffix,null,true);
1386 }
1386 }
1387 return _gravatar(grprefix + oResultData.grname + grsuffix, null,true);
1387 return _gravatar(grprefix + oResultData.grname + grsuffix, null,true);
1388 // Users
1388 // Users
1389 } else if (oResultData.nname != undefined) {
1389 } else if (oResultData.nname != undefined) {
1390 var fname = oResultData.fname || "";
1390 var fname = oResultData.fname || "";
1391 var lname = oResultData.lname || "";
1391 var lname = oResultData.lname || "";
1392 var nname = oResultData.nname;
1392 var nname = oResultData.nname;
1393
1393
1394 // Guard against null value
1394 // Guard against null value
1395 var fnameMatchIndex = fname.toLowerCase().indexOf(query),
1395 var fnameMatchIndex = fname.toLowerCase().indexOf(query),
1396 lnameMatchIndex = lname.toLowerCase().indexOf(query),
1396 lnameMatchIndex = lname.toLowerCase().indexOf(query),
1397 nnameMatchIndex = nname.toLowerCase().indexOf(query),
1397 nnameMatchIndex = nname.toLowerCase().indexOf(query),
1398 displayfname, displaylname, displaynname;
1398 displayfname, displaylname, displaynname;
1399
1399
1400 if (fnameMatchIndex > -1) {
1400 if (fnameMatchIndex > -1) {
1401 displayfname = highlightMatch(fname, query, fnameMatchIndex);
1401 displayfname = highlightMatch(fname, query, fnameMatchIndex);
1402 } else {
1402 } else {
1403 displayfname = fname;
1403 displayfname = fname;
1404 }
1404 }
1405
1405
1406 if (lnameMatchIndex > -1) {
1406 if (lnameMatchIndex > -1) {
1407 displaylname = highlightMatch(lname, query, lnameMatchIndex);
1407 displaylname = highlightMatch(lname, query, lnameMatchIndex);
1408 } else {
1408 } else {
1409 displaylname = lname;
1409 displaylname = lname;
1410 }
1410 }
1411
1411
1412 if (nnameMatchIndex > -1) {
1412 if (nnameMatchIndex > -1) {
1413 displaynname = "(" + highlightMatch(nname, query, nnameMatchIndex) + ")";
1413 displaynname = "(" + highlightMatch(nname, query, nnameMatchIndex) + ")";
1414 } else {
1414 } else {
1415 displaynname = nname ? "(" + nname + ")" : "";
1415 displaynname = nname ? "(" + nname + ")" : "";
1416 }
1416 }
1417
1417
1418 return _gravatar(displayfname + " " + displaylname + " " + displaynname, oResultData.gravatar_lnk);
1418 return _gravatar(displayfname + " " + displaylname + " " + displaynname, oResultData.gravatar_lnk);
1419 } else {
1419 } else {
1420 return '';
1420 return '';
1421 }
1421 }
1422 };
1422 };
1423 membersAC.formatResult = custom_formatter;
1423 membersAC.formatResult = custom_formatter;
1424 ownerAC.formatResult = custom_formatter;
1424 ownerAC.formatResult = custom_formatter;
1425
1425
1426 var myHandler = function (sType, aArgs) {
1426 var myHandler = function (sType, aArgs) {
1427 var nextId = divid.split('perm_new_member_name_')[1];
1427 var nextId = divid.split('perm_new_member_name_')[1];
1428 var myAC = aArgs[0]; // reference back to the AC instance
1428 var myAC = aArgs[0]; // reference back to the AC instance
1429 var elLI = aArgs[1]; // reference to the selected LI element
1429 var elLI = aArgs[1]; // reference to the selected LI element
1430 var oData = aArgs[2]; // object literal of selected item's result data
1430 var oData = aArgs[2]; // object literal of selected item's result data
1431 //fill the autocomplete with value
1431 //fill the autocomplete with value
1432 if (oData.nname != undefined) {
1432 if (oData.nname != undefined) {
1433 //users
1433 //users
1434 myAC.getInputEl().value = oData.nname;
1434 myAC.getInputEl().value = oData.nname;
1435 YUD.get('perm_new_member_type_'+nextId).value = 'user';
1435 YUD.get('perm_new_member_type_'+nextId).value = 'user';
1436 } else {
1436 } else {
1437 //groups
1437 //groups
1438 myAC.getInputEl().value = oData.grname;
1438 myAC.getInputEl().value = oData.grname;
1439 YUD.get('perm_new_member_type_'+nextId).value = 'users_group';
1439 YUD.get('perm_new_member_type_'+nextId).value = 'users_group';
1440 }
1440 }
1441 };
1441 };
1442
1442
1443 membersAC.itemSelectEvent.subscribe(myHandler);
1443 membersAC.itemSelectEvent.subscribe(myHandler);
1444 if(ownerAC.itemSelectEvent){
1444 if(ownerAC.itemSelectEvent){
1445 ownerAC.itemSelectEvent.subscribe(myHandler);
1445 ownerAC.itemSelectEvent.subscribe(myHandler);
1446 }
1446 }
1447
1447
1448 return {
1448 return {
1449 memberDS: memberDS,
1449 memberDS: memberDS,
1450 ownerDS: ownerDS,
1450 ownerDS: ownerDS,
1451 membersAC: membersAC,
1451 membersAC: membersAC,
1452 ownerAC: ownerAC,
1452 ownerAC: ownerAC,
1453 };
1453 };
1454 }
1454 }
1455
1455
1456
1456
1457 var MentionsAutoComplete = function (divid, cont, users_list, groups_list) {
1457 var MentionsAutoComplete = function (divid, cont, users_list, groups_list) {
1458 var myUsers = users_list;
1458 var myUsers = users_list;
1459 var myGroups = groups_list;
1459 var myGroups = groups_list;
1460
1460
1461 // Define a custom search function for the DataSource of users
1461 // Define a custom search function for the DataSource of users
1462 var matchUsers = function (sQuery) {
1462 var matchUsers = function (sQuery) {
1463 var org_sQuery = sQuery;
1463 var org_sQuery = sQuery;
1464 if(this.mentionQuery == null){
1464 if(this.mentionQuery == null){
1465 return []
1465 return []
1466 }
1466 }
1467 sQuery = this.mentionQuery;
1467 sQuery = this.mentionQuery;
1468 // Case insensitive matching
1468 // Case insensitive matching
1469 var query = sQuery.toLowerCase();
1469 var query = sQuery.toLowerCase();
1470 var i = 0;
1470 var i = 0;
1471 var l = myUsers.length;
1471 var l = myUsers.length;
1472 var matches = [];
1472 var matches = [];
1473
1473
1474 // Match against each name of each contact
1474 // Match against each name of each contact
1475 for (; i < l; i++) {
1475 for (; i < l; i++) {
1476 contact = myUsers[i];
1476 contact = myUsers[i];
1477 if (((contact.fname+"").toLowerCase().indexOf(query) > -1) ||
1477 if (((contact.fname+"").toLowerCase().indexOf(query) > -1) ||
1478 ((contact.lname+"").toLowerCase().indexOf(query) > -1) ||
1478 ((contact.lname+"").toLowerCase().indexOf(query) > -1) ||
1479 ((contact.nname) && ((contact.nname).toLowerCase().indexOf(query) > -1))) {
1479 ((contact.nname) && ((contact.nname).toLowerCase().indexOf(query) > -1))) {
1480 matches[matches.length] = contact;
1480 matches[matches.length] = contact;
1481 }
1481 }
1482 }
1482 }
1483 return matches
1483 return matches
1484 };
1484 };
1485
1485
1486 //match all
1486 //match all
1487 var matchAll = function (sQuery) {
1487 var matchAll = function (sQuery) {
1488 u = matchUsers(sQuery);
1488 u = matchUsers(sQuery);
1489 return u
1489 return u
1490 };
1490 };
1491
1491
1492 // DataScheme for owner
1492 // DataScheme for owner
1493 var ownerDS = new YAHOO.util.FunctionDataSource(matchUsers);
1493 var ownerDS = new YAHOO.util.FunctionDataSource(matchUsers);
1494
1494
1495 ownerDS.responseSchema = {
1495 ownerDS.responseSchema = {
1496 fields: ["id", "fname", "lname", "nname", "gravatar_lnk"]
1496 fields: ["id", "fname", "lname", "nname", "gravatar_lnk"]
1497 };
1497 };
1498
1498
1499 // Instantiate AutoComplete for mentions
1499 // Instantiate AutoComplete for mentions
1500 var ownerAC = new YAHOO.widget.AutoComplete(divid, cont, ownerDS);
1500 var ownerAC = new YAHOO.widget.AutoComplete(divid, cont, ownerDS);
1501 ownerAC.useShadow = false;
1501 ownerAC.useShadow = false;
1502 ownerAC.resultTypeList = false;
1502 ownerAC.resultTypeList = false;
1503 ownerAC.suppressInputUpdate = true;
1503 ownerAC.suppressInputUpdate = true;
1504 ownerAC.animVert = false;
1504 ownerAC.animVert = false;
1505 ownerAC.animHoriz = false;
1505 ownerAC.animHoriz = false;
1506 ownerAC.animSpeed = 0.1;
1506 ownerAC.animSpeed = 0.1;
1507
1507
1508 // Helper highlight function for the formatter
1508 // Helper highlight function for the formatter
1509 var highlightMatch = function (full, snippet, matchindex) {
1509 var highlightMatch = function (full, snippet, matchindex) {
1510 return full.substring(0, matchindex)
1510 return full.substring(0, matchindex)
1511 + "<span class='match'>"
1511 + "<span class='match'>"
1512 + full.substr(matchindex, snippet.length)
1512 + full.substr(matchindex, snippet.length)
1513 + "</span>" + full.substring(matchindex + snippet.length);
1513 + "</span>" + full.substring(matchindex + snippet.length);
1514 };
1514 };
1515
1515
1516 // Custom formatter to highlight the matching letters
1516 // Custom formatter to highlight the matching letters
1517 ownerAC.formatResult = function (oResultData, sQuery, sResultMatch) {
1517 ownerAC.formatResult = function (oResultData, sQuery, sResultMatch) {
1518 var org_sQuery = sQuery;
1518 var org_sQuery = sQuery;
1519 if(this.dataSource.mentionQuery != null){
1519 if(this.dataSource.mentionQuery != null){
1520 sQuery = this.dataSource.mentionQuery;
1520 sQuery = this.dataSource.mentionQuery;
1521 }
1521 }
1522
1522
1523 var query = sQuery.toLowerCase();
1523 var query = sQuery.toLowerCase();
1524 var _gravatar = function(res, em, group){
1524 var _gravatar = function(res, em, group){
1525 if (group !== undefined){
1525 if (group !== undefined){
1526 em = '/images/icons/group.png'
1526 em = '/images/icons/group.png'
1527 }
1527 }
1528 tmpl = '<div class="ac-container-wrap"><img class="perm-gravatar-ac" src="{0}"/>{1}</div>'
1528 tmpl = '<div class="ac-container-wrap"><img class="perm-gravatar-ac" src="{0}"/>{1}</div>'
1529 return tmpl.format(em,res)
1529 return tmpl.format(em,res)
1530 }
1530 }
1531 if (oResultData.nname != undefined) {
1531 if (oResultData.nname != undefined) {
1532 var fname = oResultData.fname || "";
1532 var fname = oResultData.fname || "";
1533 var lname = oResultData.lname || "";
1533 var lname = oResultData.lname || "";
1534 var nname = oResultData.nname;
1534 var nname = oResultData.nname;
1535
1535
1536 // Guard against null value
1536 // Guard against null value
1537 var fnameMatchIndex = fname.toLowerCase().indexOf(query),
1537 var fnameMatchIndex = fname.toLowerCase().indexOf(query),
1538 lnameMatchIndex = lname.toLowerCase().indexOf(query),
1538 lnameMatchIndex = lname.toLowerCase().indexOf(query),
1539 nnameMatchIndex = nname.toLowerCase().indexOf(query),
1539 nnameMatchIndex = nname.toLowerCase().indexOf(query),
1540 displayfname, displaylname, displaynname;
1540 displayfname, displaylname, displaynname;
1541
1541
1542 if (fnameMatchIndex > -1) {
1542 if (fnameMatchIndex > -1) {
1543 displayfname = highlightMatch(fname, query, fnameMatchIndex);
1543 displayfname = highlightMatch(fname, query, fnameMatchIndex);
1544 } else {
1544 } else {
1545 displayfname = fname;
1545 displayfname = fname;
1546 }
1546 }
1547
1547
1548 if (lnameMatchIndex > -1) {
1548 if (lnameMatchIndex > -1) {
1549 displaylname = highlightMatch(lname, query, lnameMatchIndex);
1549 displaylname = highlightMatch(lname, query, lnameMatchIndex);
1550 } else {
1550 } else {
1551 displaylname = lname;
1551 displaylname = lname;
1552 }
1552 }
1553
1553
1554 if (nnameMatchIndex > -1) {
1554 if (nnameMatchIndex > -1) {
1555 displaynname = "(" + highlightMatch(nname, query, nnameMatchIndex) + ")";
1555 displaynname = "(" + highlightMatch(nname, query, nnameMatchIndex) + ")";
1556 } else {
1556 } else {
1557 displaynname = nname ? "(" + nname + ")" : "";
1557 displaynname = nname ? "(" + nname + ")" : "";
1558 }
1558 }
1559
1559
1560 return _gravatar(displayfname + " " + displaylname + " " + displaynname, oResultData.gravatar_lnk);
1560 return _gravatar(displayfname + " " + displaylname + " " + displaynname, oResultData.gravatar_lnk);
1561 } else {
1561 } else {
1562 return '';
1562 return '';
1563 }
1563 }
1564 };
1564 };
1565
1565
1566 if(ownerAC.itemSelectEvent){
1566 if(ownerAC.itemSelectEvent){
1567 ownerAC.itemSelectEvent.subscribe(function (sType, aArgs) {
1567 ownerAC.itemSelectEvent.subscribe(function (sType, aArgs) {
1568
1568
1569 var myAC = aArgs[0]; // reference back to the AC instance
1569 var myAC = aArgs[0]; // reference back to the AC instance
1570 var elLI = aArgs[1]; // reference to the selected LI element
1570 var elLI = aArgs[1]; // reference to the selected LI element
1571 var oData = aArgs[2]; // object literal of selected item's result data
1571 var oData = aArgs[2]; // object literal of selected item's result data
1572 //fill the autocomplete with value
1572 //fill the autocomplete with value
1573 if (oData.nname != undefined) {
1573 if (oData.nname != undefined) {
1574 //users
1574 //users
1575 //Replace the mention name with replaced
1575 //Replace the mention name with replaced
1576 var re = new RegExp();
1576 var re = new RegExp();
1577 var org = myAC.getInputEl().value;
1577 var org = myAC.getInputEl().value;
1578 var chunks = myAC.dataSource.chunks
1578 var chunks = myAC.dataSource.chunks
1579 // replace middle chunk(the search term) with actuall match
1579 // replace middle chunk(the search term) with actuall match
1580 chunks[1] = chunks[1].replace('@'+myAC.dataSource.mentionQuery,
1580 chunks[1] = chunks[1].replace('@'+myAC.dataSource.mentionQuery,
1581 '@'+oData.nname+' ');
1581 '@'+oData.nname+' ');
1582 myAC.getInputEl().value = chunks.join('')
1582 myAC.getInputEl().value = chunks.join('')
1583 YUD.get(myAC.getInputEl()).focus(); // Y U NO WORK !?
1583 YUD.get(myAC.getInputEl()).focus(); // Y U NO WORK !?
1584 } else {
1584 } else {
1585 //groups
1585 //groups
1586 myAC.getInputEl().value = oData.grname;
1586 myAC.getInputEl().value = oData.grname;
1587 YUD.get('perm_new_member_type').value = 'users_group';
1587 YUD.get('perm_new_member_type').value = 'users_group';
1588 }
1588 }
1589 });
1589 });
1590 }
1590 }
1591
1591
1592 // in this keybuffer we will gather current value of search !
1592 // in this keybuffer we will gather current value of search !
1593 // since we need to get this just when someone does `@` then we do the
1593 // since we need to get this just when someone does `@` then we do the
1594 // search
1594 // search
1595 ownerAC.dataSource.chunks = [];
1595 ownerAC.dataSource.chunks = [];
1596 ownerAC.dataSource.mentionQuery = null;
1596 ownerAC.dataSource.mentionQuery = null;
1597
1597
1598 ownerAC.get_mention = function(msg, max_pos) {
1598 ownerAC.get_mention = function(msg, max_pos) {
1599 var org = msg;
1599 var org = msg;
1600 var re = new RegExp('(?:^@|\s@)([a-zA-Z0-9]{1}[a-zA-Z0-9\-\_\.]+)$')
1600 var re = new RegExp('(?:^@|\s@)([a-zA-Z0-9]{1}[a-zA-Z0-9\-\_\.]+)$')
1601 var chunks = [];
1601 var chunks = [];
1602
1602
1603
1603
1604 // cut first chunk until curret pos
1604 // cut first chunk until curret pos
1605 var to_max = msg.substr(0, max_pos);
1605 var to_max = msg.substr(0, max_pos);
1606 var at_pos = Math.max(0,to_max.lastIndexOf('@')-1);
1606 var at_pos = Math.max(0,to_max.lastIndexOf('@')-1);
1607 var msg2 = to_max.substr(at_pos);
1607 var msg2 = to_max.substr(at_pos);
1608
1608
1609 chunks.push(org.substr(0,at_pos))// prefix chunk
1609 chunks.push(org.substr(0,at_pos))// prefix chunk
1610 chunks.push(msg2) // search chunk
1610 chunks.push(msg2) // search chunk
1611 chunks.push(org.substr(max_pos)) // postfix chunk
1611 chunks.push(org.substr(max_pos)) // postfix chunk
1612
1612
1613 // clean up msg2 for filtering and regex match
1613 // clean up msg2 for filtering and regex match
1614 var msg2 = msg2.lstrip(' ').lstrip('\n');
1614 var msg2 = msg2.lstrip(' ').lstrip('\n');
1615
1615
1616 if(re.test(msg2)){
1616 if(re.test(msg2)){
1617 var unam = re.exec(msg2)[1];
1617 var unam = re.exec(msg2)[1];
1618 return [unam, chunks];
1618 return [unam, chunks];
1619 }
1619 }
1620 return [null, null];
1620 return [null, null];
1621 };
1621 };
1622
1622
1623 if (ownerAC.textboxKeyUpEvent){
1623 if (ownerAC.textboxKeyUpEvent){
1624 ownerAC.textboxKeyUpEvent.subscribe(function(type, args){
1624 ownerAC.textboxKeyUpEvent.subscribe(function(type, args){
1625
1625
1626 var ac_obj = args[0];
1626 var ac_obj = args[0];
1627 var currentMessage = args[1];
1627 var currentMessage = args[1];
1628 var currentCaretPosition = args[0]._elTextbox.selectionStart;
1628 var currentCaretPosition = args[0]._elTextbox.selectionStart;
1629
1629
1630 var unam = ownerAC.get_mention(currentMessage, currentCaretPosition);
1630 var unam = ownerAC.get_mention(currentMessage, currentCaretPosition);
1631 var curr_search = null;
1631 var curr_search = null;
1632 if(unam[0]){
1632 if(unam[0]){
1633 curr_search = unam[0];
1633 curr_search = unam[0];
1634 }
1634 }
1635
1635
1636 ownerAC.dataSource.chunks = unam[1];
1636 ownerAC.dataSource.chunks = unam[1];
1637 ownerAC.dataSource.mentionQuery = curr_search;
1637 ownerAC.dataSource.mentionQuery = curr_search;
1638
1638
1639 })
1639 })
1640 }
1640 }
1641 return {
1641 return {
1642 ownerDS: ownerDS,
1642 ownerDS: ownerDS,
1643 ownerAC: ownerAC,
1643 ownerAC: ownerAC,
1644 };
1644 };
1645 }
1645 }
1646
1646
1647 var addReviewMember = function(id,fname,lname,nname,gravatar_link){
1647 var addReviewMember = function(id,fname,lname,nname,gravatar_link){
1648 var members = YUD.get('review_members');
1648 var members = YUD.get('review_members');
1649 var tmpl = '<li id="reviewer_{2}">'+
1649 var tmpl = '<li id="reviewer_{2}">'+
1650 '<div class="reviewers_member">'+
1650 '<div class="reviewers_member">'+
1651 '<div class="gravatar"><img alt="gravatar" src="{0}"/> </div>'+
1651 '<div class="gravatar"><img alt="gravatar" src="{0}"/> </div>'+
1652 '<div style="float:left">{1}</div>'+
1652 '<div style="float:left">{1}</div>'+
1653 '<input type="hidden" value="{2}" name="review_members" />'+
1653 '<input type="hidden" value="{2}" name="review_members" />'+
1654 '<span class="delete_icon action_button" onclick="removeReviewMember({2})"></span>'+
1654 '<span class="delete_icon action_button" onclick="removeReviewMember({2})"></span>'+
1655 '</div>'+
1655 '</div>'+
1656 '</li>' ;
1656 '</li>' ;
1657 var displayname = "{0} {1} ({2})".format(fname,lname,nname);
1657 var displayname = "{0} {1} ({2})".format(fname,lname,nname);
1658 var element = tmpl.format(gravatar_link,displayname,id);
1658 var element = tmpl.format(gravatar_link,displayname,id);
1659 // check if we don't have this ID already in
1659 // check if we don't have this ID already in
1660 var ids = [];
1660 var ids = [];
1661 var _els = YUQ('#review_members li');
1661 var _els = YUQ('#review_members li');
1662 for (el in _els){
1662 for (el in _els){
1663 ids.push(_els[el].id)
1663 ids.push(_els[el].id)
1664 }
1664 }
1665 if(ids.indexOf('reviewer_'+id) == -1){
1665 if(ids.indexOf('reviewer_'+id) == -1){
1666 //only add if it's not there
1666 //only add if it's not there
1667 members.innerHTML += element;
1667 members.innerHTML += element;
1668 }
1668 }
1669
1669
1670 }
1670 }
1671
1671
1672 var removeReviewMember = function(reviewer_id, repo_name, pull_request_id){
1672 var removeReviewMember = function(reviewer_id, repo_name, pull_request_id){
1673 var el = YUD.get('reviewer_{0}'.format(reviewer_id));
1673 var el = YUD.get('reviewer_{0}'.format(reviewer_id));
1674 if (el.parentNode !== undefined){
1674 if (el.parentNode !== undefined){
1675 el.parentNode.removeChild(el);
1675 el.parentNode.removeChild(el);
1676 }
1676 }
1677 }
1677 }
1678
1678
1679 var updateReviewers = function(reviewers_ids, repo_name, pull_request_id){
1679 var updateReviewers = function(reviewers_ids, repo_name, pull_request_id){
1680 if (reviewers_ids === undefined){
1680 if (reviewers_ids === undefined){
1681 var reviewers_ids = [];
1681 var reviewers_ids = [];
1682 var ids = YUQ('#review_members input');
1682 var ids = YUQ('#review_members input');
1683 for(var i=0; i<ids.length;i++){
1683 for(var i=0; i<ids.length;i++){
1684 var id = ids[i].value
1684 var id = ids[i].value
1685 reviewers_ids.push(id);
1685 reviewers_ids.push(id);
1686 }
1686 }
1687 }
1687 }
1688 var url = pyroutes.url('pullrequest_update', {"repo_name":repo_name,
1688 var url = pyroutes.url('pullrequest_update', {"repo_name":repo_name,
1689 "pull_request_id": pull_request_id});
1689 "pull_request_id": pull_request_id});
1690 var postData = {'_method':'put',
1690 var postData = {'_method':'put',
1691 'reviewers_ids': reviewers_ids};
1691 'reviewers_ids': reviewers_ids};
1692 var success = function(o){
1692 var success = function(o){
1693 window.location.reload();
1693 window.location.reload();
1694 }
1694 }
1695 ajaxPOST(url,postData,success);
1695 ajaxPOST(url,postData,success);
1696 }
1696 }
1697
1697
1698 var PullRequestAutoComplete = function (divid, cont, users_list, groups_list) {
1698 var PullRequestAutoComplete = function (divid, cont, users_list, groups_list) {
1699 var myUsers = users_list;
1699 var myUsers = users_list;
1700 var myGroups = groups_list;
1700 var myGroups = groups_list;
1701
1701
1702 // Define a custom search function for the DataSource of users
1702 // Define a custom search function for the DataSource of users
1703 var matchUsers = function (sQuery) {
1703 var matchUsers = function (sQuery) {
1704 // Case insensitive matching
1704 // Case insensitive matching
1705 var query = sQuery.toLowerCase();
1705 var query = sQuery.toLowerCase();
1706 var i = 0;
1706 var i = 0;
1707 var l = myUsers.length;
1707 var l = myUsers.length;
1708 var matches = [];
1708 var matches = [];
1709
1709
1710 // Match against each name of each contact
1710 // Match against each name of each contact
1711 for (; i < l; i++) {
1711 for (; i < l; i++) {
1712 contact = myUsers[i];
1712 contact = myUsers[i];
1713 if (((contact.fname+"").toLowerCase().indexOf(query) > -1) ||
1713 if (((contact.fname+"").toLowerCase().indexOf(query) > -1) ||
1714 ((contact.lname+"").toLowerCase().indexOf(query) > -1) ||
1714 ((contact.lname+"").toLowerCase().indexOf(query) > -1) ||
1715 ((contact.nname) && ((contact.nname).toLowerCase().indexOf(query) > -1))) {
1715 ((contact.nname) && ((contact.nname).toLowerCase().indexOf(query) > -1))) {
1716 matches[matches.length] = contact;
1716 matches[matches.length] = contact;
1717 }
1717 }
1718 }
1718 }
1719 return matches;
1719 return matches;
1720 };
1720 };
1721
1721
1722 // Define a custom search function for the DataSource of userGroups
1722 // Define a custom search function for the DataSource of userGroups
1723 var matchGroups = function (sQuery) {
1723 var matchGroups = function (sQuery) {
1724 // Case insensitive matching
1724 // Case insensitive matching
1725 var query = sQuery.toLowerCase();
1725 var query = sQuery.toLowerCase();
1726 var i = 0;
1726 var i = 0;
1727 var l = myGroups.length;
1727 var l = myGroups.length;
1728 var matches = [];
1728 var matches = [];
1729
1729
1730 // Match against each name of each contact
1730 // Match against each name of each contact
1731 for (; i < l; i++) {
1731 for (; i < l; i++) {
1732 matched_group = myGroups[i];
1732 matched_group = myGroups[i];
1733 if (matched_group.grname.toLowerCase().indexOf(query) > -1) {
1733 if (matched_group.grname.toLowerCase().indexOf(query) > -1) {
1734 matches[matches.length] = matched_group;
1734 matches[matches.length] = matched_group;
1735 }
1735 }
1736 }
1736 }
1737 return matches;
1737 return matches;
1738 };
1738 };
1739
1739
1740 //match all
1740 //match all
1741 var matchAll = function (sQuery) {
1741 var matchAll = function (sQuery) {
1742 u = matchUsers(sQuery);
1742 u = matchUsers(sQuery);
1743 return u
1743 return u
1744 };
1744 };
1745
1745
1746 // DataScheme for owner
1746 // DataScheme for owner
1747 var ownerDS = new YAHOO.util.FunctionDataSource(matchUsers);
1747 var ownerDS = new YAHOO.util.FunctionDataSource(matchUsers);
1748
1748
1749 ownerDS.responseSchema = {
1749 ownerDS.responseSchema = {
1750 fields: ["id", "fname", "lname", "nname", "gravatar_lnk"]
1750 fields: ["id", "fname", "lname", "nname", "gravatar_lnk"]
1751 };
1751 };
1752
1752
1753 // Instantiate AutoComplete for mentions
1753 // Instantiate AutoComplete for mentions
1754 var reviewerAC = new YAHOO.widget.AutoComplete(divid, cont, ownerDS);
1754 var reviewerAC = new YAHOO.widget.AutoComplete(divid, cont, ownerDS);
1755 reviewerAC.useShadow = false;
1755 reviewerAC.useShadow = false;
1756 reviewerAC.resultTypeList = false;
1756 reviewerAC.resultTypeList = false;
1757 reviewerAC.suppressInputUpdate = true;
1757 reviewerAC.suppressInputUpdate = true;
1758 reviewerAC.animVert = false;
1758 reviewerAC.animVert = false;
1759 reviewerAC.animHoriz = false;
1759 reviewerAC.animHoriz = false;
1760 reviewerAC.animSpeed = 0.1;
1760 reviewerAC.animSpeed = 0.1;
1761
1761
1762 // Helper highlight function for the formatter
1762 // Helper highlight function for the formatter
1763 var highlightMatch = function (full, snippet, matchindex) {
1763 var highlightMatch = function (full, snippet, matchindex) {
1764 return full.substring(0, matchindex)
1764 return full.substring(0, matchindex)
1765 + "<span class='match'>"
1765 + "<span class='match'>"
1766 + full.substr(matchindex, snippet.length)
1766 + full.substr(matchindex, snippet.length)
1767 + "</span>" + full.substring(matchindex + snippet.length);
1767 + "</span>" + full.substring(matchindex + snippet.length);
1768 };
1768 };
1769
1769
1770 // Custom formatter to highlight the matching letters
1770 // Custom formatter to highlight the matching letters
1771 reviewerAC.formatResult = function (oResultData, sQuery, sResultMatch) {
1771 reviewerAC.formatResult = function (oResultData, sQuery, sResultMatch) {
1772 var org_sQuery = sQuery;
1772 var org_sQuery = sQuery;
1773 if(this.dataSource.mentionQuery != null){
1773 if(this.dataSource.mentionQuery != null){
1774 sQuery = this.dataSource.mentionQuery;
1774 sQuery = this.dataSource.mentionQuery;
1775 }
1775 }
1776
1776
1777 var query = sQuery.toLowerCase();
1777 var query = sQuery.toLowerCase();
1778 var _gravatar = function(res, em, group){
1778 var _gravatar = function(res, em, group){
1779 if (group !== undefined){
1779 if (group !== undefined){
1780 em = '/images/icons/group.png'
1780 em = '/images/icons/group.png'
1781 }
1781 }
1782 tmpl = '<div class="ac-container-wrap"><img class="perm-gravatar-ac" src="{0}"/>{1}</div>'
1782 tmpl = '<div class="ac-container-wrap"><img class="perm-gravatar-ac" src="{0}"/>{1}</div>'
1783 return tmpl.format(em,res)
1783 return tmpl.format(em,res)
1784 }
1784 }
1785 if (oResultData.nname != undefined) {
1785 if (oResultData.nname != undefined) {
1786 var fname = oResultData.fname || "";
1786 var fname = oResultData.fname || "";
1787 var lname = oResultData.lname || "";
1787 var lname = oResultData.lname || "";
1788 var nname = oResultData.nname;
1788 var nname = oResultData.nname;
1789
1789
1790 // Guard against null value
1790 // Guard against null value
1791 var fnameMatchIndex = fname.toLowerCase().indexOf(query),
1791 var fnameMatchIndex = fname.toLowerCase().indexOf(query),
1792 lnameMatchIndex = lname.toLowerCase().indexOf(query),
1792 lnameMatchIndex = lname.toLowerCase().indexOf(query),
1793 nnameMatchIndex = nname.toLowerCase().indexOf(query),
1793 nnameMatchIndex = nname.toLowerCase().indexOf(query),
1794 displayfname, displaylname, displaynname;
1794 displayfname, displaylname, displaynname;
1795
1795
1796 if (fnameMatchIndex > -1) {
1796 if (fnameMatchIndex > -1) {
1797 displayfname = highlightMatch(fname, query, fnameMatchIndex);
1797 displayfname = highlightMatch(fname, query, fnameMatchIndex);
1798 } else {
1798 } else {
1799 displayfname = fname;
1799 displayfname = fname;
1800 }
1800 }
1801
1801
1802 if (lnameMatchIndex > -1) {
1802 if (lnameMatchIndex > -1) {
1803 displaylname = highlightMatch(lname, query, lnameMatchIndex);
1803 displaylname = highlightMatch(lname, query, lnameMatchIndex);
1804 } else {
1804 } else {
1805 displaylname = lname;
1805 displaylname = lname;
1806 }
1806 }
1807
1807
1808 if (nnameMatchIndex > -1) {
1808 if (nnameMatchIndex > -1) {
1809 displaynname = "(" + highlightMatch(nname, query, nnameMatchIndex) + ")";
1809 displaynname = "(" + highlightMatch(nname, query, nnameMatchIndex) + ")";
1810 } else {
1810 } else {
1811 displaynname = nname ? "(" + nname + ")" : "";
1811 displaynname = nname ? "(" + nname + ")" : "";
1812 }
1812 }
1813
1813
1814 return _gravatar(displayfname + " " + displaylname + " " + displaynname, oResultData.gravatar_lnk);
1814 return _gravatar(displayfname + " " + displaylname + " " + displaynname, oResultData.gravatar_lnk);
1815 } else {
1815 } else {
1816 return '';
1816 return '';
1817 }
1817 }
1818 };
1818 };
1819
1819
1820 //members cache to catch duplicates
1820 //members cache to catch duplicates
1821 reviewerAC.dataSource.cache = [];
1821 reviewerAC.dataSource.cache = [];
1822 // hack into select event
1822 // hack into select event
1823 if(reviewerAC.itemSelectEvent){
1823 if(reviewerAC.itemSelectEvent){
1824 reviewerAC.itemSelectEvent.subscribe(function (sType, aArgs) {
1824 reviewerAC.itemSelectEvent.subscribe(function (sType, aArgs) {
1825
1825
1826 var myAC = aArgs[0]; // reference back to the AC instance
1826 var myAC = aArgs[0]; // reference back to the AC instance
1827 var elLI = aArgs[1]; // reference to the selected LI element
1827 var elLI = aArgs[1]; // reference to the selected LI element
1828 var oData = aArgs[2]; // object literal of selected item's result data
1828 var oData = aArgs[2]; // object literal of selected item's result data
1829
1829
1830 //fill the autocomplete with value
1830 //fill the autocomplete with value
1831
1831
1832 if (oData.nname != undefined) {
1832 if (oData.nname != undefined) {
1833 addReviewMember(oData.id, oData.fname, oData.lname, oData.nname,
1833 addReviewMember(oData.id, oData.fname, oData.lname, oData.nname,
1834 oData.gravatar_lnk);
1834 oData.gravatar_lnk);
1835 myAC.dataSource.cache.push(oData.id);
1835 myAC.dataSource.cache.push(oData.id);
1836 YUD.get('user').value = ''
1836 YUD.get('user').value = ''
1837 }
1837 }
1838 });
1838 });
1839 }
1839 }
1840 return {
1840 return {
1841 ownerDS: ownerDS,
1841 ownerDS: ownerDS,
1842 reviewerAC: reviewerAC,
1842 reviewerAC: reviewerAC,
1843 };
1843 };
1844 }
1844 }
1845
1845
1846 /**
1846 /**
1847 * QUICK REPO MENU
1847 * QUICK REPO MENU
1848 */
1848 */
1849 var quick_repo_menu = function(){
1849 var quick_repo_menu = function(){
1850 YUE.on(YUQ('.quick_repo_menu'),'mouseenter',function(e){
1850 YUE.on(YUQ('.quick_repo_menu'),'mouseenter',function(e){
1851 var menu = e.currentTarget.firstElementChild.firstElementChild;
1851 var menu = e.currentTarget.firstElementChild.firstElementChild;
1852 if(YUD.hasClass(menu,'hidden')){
1852 if(YUD.hasClass(menu,'hidden')){
1853 YUD.replaceClass(e.currentTarget,'hidden', 'active');
1853 YUD.replaceClass(e.currentTarget,'hidden', 'active');
1854 YUD.replaceClass(menu, 'hidden', 'active');
1854 YUD.replaceClass(menu, 'hidden', 'active');
1855 }
1855 }
1856 })
1856 })
1857 YUE.on(YUQ('.quick_repo_menu'),'mouseleave',function(e){
1857 YUE.on(YUQ('.quick_repo_menu'),'mouseleave',function(e){
1858 var menu = e.currentTarget.firstElementChild.firstElementChild;
1858 var menu = e.currentTarget.firstElementChild.firstElementChild;
1859 if(YUD.hasClass(menu,'active')){
1859 if(YUD.hasClass(menu,'active')){
1860 YUD.replaceClass(e.currentTarget, 'active', 'hidden');
1860 YUD.replaceClass(e.currentTarget, 'active', 'hidden');
1861 YUD.replaceClass(menu, 'active', 'hidden');
1861 YUD.replaceClass(menu, 'active', 'hidden');
1862 }
1862 }
1863 })
1863 })
1864 };
1864 };
1865
1865
1866
1866
1867 /**
1867 /**
1868 * TABLE SORTING
1868 * TABLE SORTING
1869 */
1869 */
1870
1870
1871 // returns a node from given html;
1871 // returns a node from given html;
1872 var fromHTML = function(html){
1872 var fromHTML = function(html){
1873 var _html = document.createElement('element');
1873 var _html = document.createElement('element');
1874 _html.innerHTML = html;
1874 _html.innerHTML = html;
1875 return _html;
1875 return _html;
1876 }
1876 }
1877 var get_rev = function(node){
1877 var get_rev = function(node){
1878 var n = node.firstElementChild.firstElementChild;
1878 var n = node.firstElementChild.firstElementChild;
1879
1879
1880 if (n===null){
1880 if (n===null){
1881 return -1
1881 return -1
1882 }
1882 }
1883 else{
1883 else{
1884 out = n.firstElementChild.innerHTML.split(':')[0].replace('r','');
1884 out = n.firstElementChild.innerHTML.split(':')[0].replace('r','');
1885 return parseInt(out);
1885 return parseInt(out);
1886 }
1886 }
1887 }
1887 }
1888
1888
1889 var get_name = function(node){
1889 var get_name = function(node){
1890 var name = node.firstElementChild.children[2].innerHTML;
1890 var name = node.firstElementChild.children[2].innerHTML;
1891 return name
1891 return name
1892 }
1892 }
1893 var get_group_name = function(node){
1893 var get_group_name = function(node){
1894 var name = node.firstElementChild.children[1].innerHTML;
1894 var name = node.firstElementChild.children[1].innerHTML;
1895 return name
1895 return name
1896 }
1896 }
1897 var get_date = function(node){
1897 var get_date = function(node){
1898 var date_ = YUD.getAttribute(node.firstElementChild,'date');
1898 var date_ = YUD.getAttribute(node.firstElementChild,'date');
1899 return date_
1899 return date_
1900 }
1900 }
1901
1901
1902 var get_age = function(node){
1902 var get_age = function(node){
1903 return node
1903 return node
1904 }
1904 }
1905
1905
1906 var get_link = function(node){
1906 var get_link = function(node){
1907 return node.firstElementChild.text;
1907 return node.firstElementChild.text;
1908 }
1908 }
1909
1909
1910 var revisionSort = function(a, b, desc, field) {
1910 var revisionSort = function(a, b, desc, field) {
1911
1911
1912 var a_ = fromHTML(a.getData(field));
1912 var a_ = fromHTML(a.getData(field));
1913 var b_ = fromHTML(b.getData(field));
1913 var b_ = fromHTML(b.getData(field));
1914
1914
1915 // extract revisions from string nodes
1915 // extract revisions from string nodes
1916 a_ = get_rev(a_)
1916 a_ = get_rev(a_)
1917 b_ = get_rev(b_)
1917 b_ = get_rev(b_)
1918
1918
1919 var comp = YAHOO.util.Sort.compare;
1919 var comp = YAHOO.util.Sort.compare;
1920 var compState = comp(a_, b_, desc);
1920 var compState = comp(a_, b_, desc);
1921 return compState;
1921 return compState;
1922 };
1922 };
1923 var ageSort = function(a, b, desc, field) {
1923 var ageSort = function(a, b, desc, field) {
1924 var a_ = fromHTML(a.getData(field));
1924 var a_ = fromHTML(a.getData(field));
1925 var b_ = fromHTML(b.getData(field));
1925 var b_ = fromHTML(b.getData(field));
1926
1926
1927 // extract name from table
1927 // extract name from table
1928 a_ = get_date(a_)
1928 a_ = get_date(a_)
1929 b_ = get_date(b_)
1929 b_ = get_date(b_)
1930
1930
1931 var comp = YAHOO.util.Sort.compare;
1931 var comp = YAHOO.util.Sort.compare;
1932 var compState = comp(a_, b_, desc);
1932 var compState = comp(a_, b_, desc);
1933 return compState;
1933 return compState;
1934 };
1934 };
1935
1935
1936 var lastLoginSort = function(a, b, desc, field) {
1936 var lastLoginSort = function(a, b, desc, field) {
1937 var a_ = a.getData('last_login_raw') || 0;
1937 var a_ = a.getData('last_login_raw') || 0;
1938 var b_ = b.getData('last_login_raw') || 0;
1938 var b_ = b.getData('last_login_raw') || 0;
1939
1939
1940 var comp = YAHOO.util.Sort.compare;
1940 var comp = YAHOO.util.Sort.compare;
1941 var compState = comp(a_, b_, desc);
1941 var compState = comp(a_, b_, desc);
1942 return compState;
1942 return compState;
1943 };
1943 };
1944
1944
1945 var nameSort = function(a, b, desc, field) {
1945 var nameSort = function(a, b, desc, field) {
1946 var a_ = fromHTML(a.getData(field));
1946 var a_ = fromHTML(a.getData(field));
1947 var b_ = fromHTML(b.getData(field));
1947 var b_ = fromHTML(b.getData(field));
1948
1948
1949 // extract name from table
1949 // extract name from table
1950 a_ = get_name(a_)
1950 a_ = get_name(a_)
1951 b_ = get_name(b_)
1951 b_ = get_name(b_)
1952
1952
1953 var comp = YAHOO.util.Sort.compare;
1953 var comp = YAHOO.util.Sort.compare;
1954 var compState = comp(a_, b_, desc);
1954 var compState = comp(a_, b_, desc);
1955 return compState;
1955 return compState;
1956 };
1956 };
1957
1957
1958 var permNameSort = function(a, b, desc, field) {
1958 var permNameSort = function(a, b, desc, field) {
1959 var a_ = fromHTML(a.getData(field));
1959 var a_ = fromHTML(a.getData(field));
1960 var b_ = fromHTML(b.getData(field));
1960 var b_ = fromHTML(b.getData(field));
1961 // extract name from table
1961 // extract name from table
1962
1962
1963 a_ = a_.children[0].innerHTML;
1963 a_ = a_.children[0].innerHTML;
1964 b_ = b_.children[0].innerHTML;
1964 b_ = b_.children[0].innerHTML;
1965
1965
1966 var comp = YAHOO.util.Sort.compare;
1966 var comp = YAHOO.util.Sort.compare;
1967 var compState = comp(a_, b_, desc);
1967 var compState = comp(a_, b_, desc);
1968 return compState;
1968 return compState;
1969 };
1969 };
1970
1970
1971 var groupNameSort = function(a, b, desc, field) {
1971 var groupNameSort = function(a, b, desc, field) {
1972 var a_ = fromHTML(a.getData(field));
1972 var a_ = fromHTML(a.getData(field));
1973 var b_ = fromHTML(b.getData(field));
1973 var b_ = fromHTML(b.getData(field));
1974
1974
1975 // extract name from table
1975 // extract name from table
1976 a_ = get_group_name(a_)
1976 a_ = get_group_name(a_)
1977 b_ = get_group_name(b_)
1977 b_ = get_group_name(b_)
1978
1978
1979 var comp = YAHOO.util.Sort.compare;
1979 var comp = YAHOO.util.Sort.compare;
1980 var compState = comp(a_, b_, desc);
1980 var compState = comp(a_, b_, desc);
1981 return compState;
1981 return compState;
1982 };
1982 };
1983 var dateSort = function(a, b, desc, field) {
1983 var dateSort = function(a, b, desc, field) {
1984 var a_ = fromHTML(a.getData(field));
1984 var a_ = fromHTML(a.getData(field));
1985 var b_ = fromHTML(b.getData(field));
1985 var b_ = fromHTML(b.getData(field));
1986
1986
1987 // extract name from table
1987 // extract name from table
1988 a_ = get_date(a_)
1988 a_ = get_date(a_)
1989 b_ = get_date(b_)
1989 b_ = get_date(b_)
1990
1990
1991 var comp = YAHOO.util.Sort.compare;
1991 var comp = YAHOO.util.Sort.compare;
1992 var compState = comp(a_, b_, desc);
1992 var compState = comp(a_, b_, desc);
1993 return compState;
1993 return compState;
1994 };
1994 };
1995
1995
1996 var linkSort = function(a, b, desc, field) {
1996 var linkSort = function(a, b, desc, field) {
1997 var a_ = fromHTML(a.getData(field));
1997 var a_ = fromHTML(a.getData(field));
1998 var b_ = fromHTML(a.getData(field));
1998 var b_ = fromHTML(a.getData(field));
1999
1999
2000 // extract url text from string nodes
2000 // extract url text from string nodes
2001 a_ = get_link(a_)
2001 a_ = get_link(a_)
2002 b_ = get_link(b_)
2002 b_ = get_link(b_)
2003
2003
2004 var comp = YAHOO.util.Sort.compare;
2004 var comp = YAHOO.util.Sort.compare;
2005 var compState = comp(a_, b_, desc);
2005 var compState = comp(a_, b_, desc);
2006 return compState;
2006 return compState;
2007 }
2007 }
2008
2008
2009 var addPermAction = function(_html, users_list, groups_list){
2009 var addPermAction = function(_html, users_list, groups_list){
2010 var elmts = YUD.getElementsByClassName('last_new_member');
2010 var elmts = YUD.getElementsByClassName('last_new_member');
2011 var last_node = elmts[elmts.length-1];
2011 var last_node = elmts[elmts.length-1];
2012 if (last_node){
2012 if (last_node){
2013 var next_id = (YUD.getElementsByClassName('new_members')).length;
2013 var next_id = (YUD.getElementsByClassName('new_members')).length;
2014 _html = _html.format(next_id);
2014 _html = _html.format(next_id);
2015 last_node.innerHTML = _html;
2015 last_node.innerHTML = _html;
2016 YUD.setStyle(last_node, 'display', '');
2016 YUD.setStyle(last_node, 'display', '');
2017 YUD.removeClass(last_node, 'last_new_member');
2017 YUD.removeClass(last_node, 'last_new_member');
2018 MembersAutoComplete("perm_new_member_name_"+next_id,
2018 MembersAutoComplete("perm_new_member_name_"+next_id,
2019 "perm_container_"+next_id, users_list, groups_list);
2019 "perm_container_"+next_id, users_list, groups_list);
2020 //create new last NODE
2020 //create new last NODE
2021 var el = document.createElement('tr');
2021 var el = document.createElement('tr');
2022 el.id = 'add_perm_input';
2022 el.id = 'add_perm_input';
2023 YUD.addClass(el,'last_new_member');
2023 YUD.addClass(el,'last_new_member');
2024 YUD.addClass(el,'new_members');
2024 YUD.addClass(el,'new_members');
2025 YUD.insertAfter(el, last_node);
2025 YUD.insertAfter(el, last_node);
2026 }
2026 }
2027 }
2027 }
2028
2028
2029 /* Multi selectors */
2029 /* Multi selectors */
2030
2030
2031 var MultiSelectWidget = function(selected_id, available_id, form_id){
2031 var MultiSelectWidget = function(selected_id, available_id, form_id){
2032
2032
2033
2033
2034 //definition of containers ID's
2034 //definition of containers ID's
2035 var selected_container = selected_id;
2035 var selected_container = selected_id;
2036 var available_container = available_id;
2036 var available_container = available_id;
2037
2037
2038 //temp container for selected storage.
2038 //temp container for selected storage.
2039 var cache = new Array();
2039 var cache = new Array();
2040 var av_cache = new Array();
2040 var av_cache = new Array();
2041 var c = YUD.get(selected_container);
2041 var c = YUD.get(selected_container);
2042 var ac = YUD.get(available_container);
2042 var ac = YUD.get(available_container);
2043
2043
2044 //get only selected options for further fullfilment
2044 //get only selected options for further fullfilment
2045 for(var i = 0;node =c.options[i];i++){
2045 for(var i = 0;node =c.options[i];i++){
2046 if(node.selected){
2046 if(node.selected){
2047 //push selected to my temp storage left overs :)
2047 //push selected to my temp storage left overs :)
2048 cache.push(node);
2048 cache.push(node);
2049 }
2049 }
2050 }
2050 }
2051
2051
2052 //get all available options to cache
2052 //get all available options to cache
2053 for(var i = 0;node =ac.options[i];i++){
2053 for(var i = 0;node =ac.options[i];i++){
2054 //push selected to my temp storage left overs :)
2054 //push selected to my temp storage left overs :)
2055 av_cache.push(node);
2055 av_cache.push(node);
2056 }
2056 }
2057
2057
2058 //fill available only with those not in choosen
2058 //fill available only with those not in choosen
2059 ac.options.length=0;
2059 ac.options.length=0;
2060 tmp_cache = new Array();
2060 tmp_cache = new Array();
2061
2061
2062 for(var i = 0;node = av_cache[i];i++){
2062 for(var i = 0;node = av_cache[i];i++){
2063 var add = true;
2063 var add = true;
2064 for(var i2 = 0;node_2 = cache[i2];i2++){
2064 for(var i2 = 0;node_2 = cache[i2];i2++){
2065 if(node.value == node_2.value){
2065 if(node.value == node_2.value){
2066 add=false;
2066 add=false;
2067 break;
2067 break;
2068 }
2068 }
2069 }
2069 }
2070 if(add){
2070 if(add){
2071 tmp_cache.push(new Option(node.text, node.value, false, false));
2071 tmp_cache.push(new Option(node.text, node.value, false, false));
2072 }
2072 }
2073 }
2073 }
2074
2074
2075 for(var i = 0;node = tmp_cache[i];i++){
2075 for(var i = 0;node = tmp_cache[i];i++){
2076 ac.options[i] = node;
2076 ac.options[i] = node;
2077 }
2077 }
2078
2078
2079 function prompts_action_callback(e){
2079 function prompts_action_callback(e){
2080
2080
2081 var choosen = YUD.get(selected_container);
2081 var choosen = YUD.get(selected_container);
2082 var available = YUD.get(available_container);
2082 var available = YUD.get(available_container);
2083
2083
2084 //get checked and unchecked options from field
2084 //get checked and unchecked options from field
2085 function get_checked(from_field){
2085 function get_checked(from_field){
2086 //temp container for storage.
2086 //temp container for storage.
2087 var sel_cache = new Array();
2087 var sel_cache = new Array();
2088 var oth_cache = new Array();
2088 var oth_cache = new Array();
2089
2089
2090 for(var i = 0;node = from_field.options[i];i++){
2090 for(var i = 0;node = from_field.options[i];i++){
2091 if(node.selected){
2091 if(node.selected){
2092 //push selected fields :)
2092 //push selected fields :)
2093 sel_cache.push(node);
2093 sel_cache.push(node);
2094 }
2094 }
2095 else{
2095 else{
2096 oth_cache.push(node)
2096 oth_cache.push(node)
2097 }
2097 }
2098 }
2098 }
2099
2099
2100 return [sel_cache,oth_cache]
2100 return [sel_cache,oth_cache]
2101 }
2101 }
2102
2102
2103 //fill the field with given options
2103 //fill the field with given options
2104 function fill_with(field,options){
2104 function fill_with(field,options){
2105 //clear firtst
2105 //clear firtst
2106 field.options.length=0;
2106 field.options.length=0;
2107 for(var i = 0;node = options[i];i++){
2107 for(var i = 0;node = options[i];i++){
2108 field.options[i]=new Option(node.text, node.value,
2108 field.options[i]=new Option(node.text, node.value,
2109 false, false);
2109 false, false);
2110 }
2110 }
2111
2111
2112 }
2112 }
2113 //adds to current field
2113 //adds to current field
2114 function add_to(field,options){
2114 function add_to(field,options){
2115 for(var i = 0;node = options[i];i++){
2115 for(var i = 0;node = options[i];i++){
2116 field.appendChild(new Option(node.text, node.value,
2116 field.appendChild(new Option(node.text, node.value,
2117 false, false));
2117 false, false));
2118 }
2118 }
2119 }
2119 }
2120
2120
2121 // add action
2121 // add action
2122 if (this.id=='add_element'){
2122 if (this.id=='add_element'){
2123 var c = get_checked(available);
2123 var c = get_checked(available);
2124 add_to(choosen,c[0]);
2124 add_to(choosen,c[0]);
2125 fill_with(available,c[1]);
2125 fill_with(available,c[1]);
2126 }
2126 }
2127 // remove action
2127 // remove action
2128 if (this.id=='remove_element'){
2128 if (this.id=='remove_element'){
2129 var c = get_checked(choosen);
2129 var c = get_checked(choosen);
2130 add_to(available,c[0]);
2130 add_to(available,c[0]);
2131 fill_with(choosen,c[1]);
2131 fill_with(choosen,c[1]);
2132 }
2132 }
2133 // add all elements
2133 // add all elements
2134 if(this.id=='add_all_elements'){
2134 if(this.id=='add_all_elements'){
2135 for(var i=0; node = available.options[i];i++){
2135 for(var i=0; node = available.options[i];i++){
2136 choosen.appendChild(new Option(node.text,
2136 choosen.appendChild(new Option(node.text,
2137 node.value, false, false));
2137 node.value, false, false));
2138 }
2138 }
2139 available.options.length = 0;
2139 available.options.length = 0;
2140 }
2140 }
2141 //remove all elements
2141 //remove all elements
2142 if(this.id=='remove_all_elements'){
2142 if(this.id=='remove_all_elements'){
2143 for(var i=0; node = choosen.options[i];i++){
2143 for(var i=0; node = choosen.options[i];i++){
2144 available.appendChild(new Option(node.text,
2144 available.appendChild(new Option(node.text,
2145 node.value, false, false));
2145 node.value, false, false));
2146 }
2146 }
2147 choosen.options.length = 0;
2147 choosen.options.length = 0;
2148 }
2148 }
2149
2149
2150 }
2150 }
2151
2151
2152 YUE.addListener(['add_element','remove_element',
2152 YUE.addListener(['add_element','remove_element',
2153 'add_all_elements','remove_all_elements'],'click',
2153 'add_all_elements','remove_all_elements'],'click',
2154 prompts_action_callback)
2154 prompts_action_callback)
2155 if (form_id !== undefined) {
2155 if (form_id !== undefined) {
2156 YUE.addListener(form_id,'submit',function(){
2156 YUE.addListener(form_id,'submit',function(){
2157 var choosen = YUD.get(selected_container);
2157 var choosen = YUD.get(selected_container);
2158 for (var i = 0; i < choosen.options.length; i++) {
2158 for (var i = 0; i < choosen.options.length; i++) {
2159 choosen.options[i].selected = 'selected';
2159 choosen.options[i].selected = 'selected';
2160 }
2160 }
2161 });
2161 });
2162 }
2162 }
2163 }
2163 }
2164
2165
2166 // global hooks after DOM is loaded
2167
2168 YUE.onDOMReady(function(){
2169 YUE.on(YUQ('.diff-collapse-button'), 'click', function(e){
2170 var button = e.currentTarget;
2171 var t = YUD.get(button).getAttribute('target');
2172 console.log(t);
2173 if(YUD.hasClass(t, 'hidden')){
2174 YUD.removeClass(t, 'hidden');
2175 YUD.get(button).innerHTML = "&uarr; {0} &uarr;".format(_TM['collapse diff']);
2176 }
2177 else if(!YUD.hasClass(t, 'hidden')){
2178 YUD.addClass(t, 'hidden');
2179 YUD.get(button).innerHTML = "&darr; {0} &darr;".format(_TM['expand diff']);
2180 }
2181 });
2182
2183
2184
2185 });
2186
@@ -1,111 +1,113 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <!DOCTYPE html>
2 <!DOCTYPE html>
3 <html xmlns="http://www.w3.org/1999/xhtml">
3 <html xmlns="http://www.w3.org/1999/xhtml">
4 <head>
4 <head>
5 <title>${self.title()}</title>
5 <title>${self.title()}</title>
6 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
6 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
7 <meta name="robots" content="index, nofollow"/>
7 <meta name="robots" content="index, nofollow"/>
8 <link rel="icon" href="${h.url('/images/icons/database_gear.png')}" type="image/png" />
8 <link rel="icon" href="${h.url('/images/icons/database_gear.png')}" type="image/png" />
9
9
10 ## CSS ###
10 ## CSS ###
11 <%def name="css()">
11 <%def name="css()">
12 <link rel="stylesheet" type="text/css" href="${h.url('/css/style.css', ver=c.rhodecode_version)}" media="screen"/>
12 <link rel="stylesheet" type="text/css" href="${h.url('/css/style.css', ver=c.rhodecode_version)}" media="screen"/>
13 <link rel="stylesheet" type="text/css" href="${h.url('/css/pygments.css', ver=c.rhodecode_version)}"/>
13 <link rel="stylesheet" type="text/css" href="${h.url('/css/pygments.css', ver=c.rhodecode_version)}"/>
14 ## EXTRA FOR CSS
14 ## EXTRA FOR CSS
15 ${self.css_extra()}
15 ${self.css_extra()}
16 </%def>
16 </%def>
17 <%def name="css_extra()">
17 <%def name="css_extra()">
18 </%def>
18 </%def>
19
19
20 ${self.css()}
20 ${self.css()}
21
21
22 %if c.ga_code:
22 %if c.ga_code:
23 <!-- Analytics -->
23 <!-- Analytics -->
24 <script type="text/javascript">
24 <script type="text/javascript">
25 var _gaq = _gaq || [];
25 var _gaq = _gaq || [];
26 _gaq.push(['_setAccount', '${c.ga_code}']);
26 _gaq.push(['_setAccount', '${c.ga_code}']);
27 _gaq.push(['_trackPageview']);
27 _gaq.push(['_trackPageview']);
28
28
29 (function() {
29 (function() {
30 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
30 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
31 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
31 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
32 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
32 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
33 })();
33 })();
34 </script>
34 </script>
35 %endif
35 %endif
36
36
37 ## JAVASCRIPT ##
37 ## JAVASCRIPT ##
38 <%def name="js()">
38 <%def name="js()">
39 <script type="text/javascript">
39 <script type="text/javascript">
40 //JS translations map
40 //JS translations map
41 var TRANSLATION_MAP = {
41 var TRANSLATION_MAP = {
42 'add another comment':'${_("add another comment")}',
42 'add another comment':'${_("add another comment")}',
43 'Stop following this repository':"${_('Stop following this repository')}",
43 'Stop following this repository':"${_('Stop following this repository')}",
44 'Start following this repository':"${_('Start following this repository')}",
44 'Start following this repository':"${_('Start following this repository')}",
45 'Group':"${_('Group')}",
45 'Group':"${_('Group')}",
46 'members':"${_('members')}",
46 'members':"${_('members')}",
47 'loading...':"${_('loading...')}",
47 'loading...':"${_('loading...')}",
48 'search truncated': "${_('search truncated')}",
48 'search truncated': "${_('search truncated')}",
49 'no matching files': "${_('no matching files')}",
49 'no matching files': "${_('no matching files')}",
50 'Open new pull request': "${_('Open new pull request')}",
50 'Open new pull request': "${_('Open new pull request')}",
51 'Open new pull request for selected changesets': "${_('Open new pull request for selected changesets')}",
51 'Open new pull request for selected changesets': "${_('Open new pull request for selected changesets')}",
52 'Show selected changes __S -> __E': "${_('Show selected changes __S -> __E')}",
52 'Show selected changes __S -> __E': "${_('Show selected changes __S -> __E')}",
53 'Selection link': "${_('Selection link')}",
53 'Selection link': "${_('Selection link')}",
54 'collapse diff': "${_('collapse diff')}",
55 'expand diff': "${_('expand diff')}",
54 };
56 };
55 var _TM = TRANSLATION_MAP;
57 var _TM = TRANSLATION_MAP;
56
58
57 var TOGGLE_FOLLOW_URL = "${h.url('toggle_following')}";
59 var TOGGLE_FOLLOW_URL = "${h.url('toggle_following')}";
58
60
59 </script>
61 </script>
60 <script type="text/javascript" src="${h.url('/js/yui.2.9.js', ver=c.rhodecode_version)}"></script>
62 <script type="text/javascript" src="${h.url('/js/yui.2.9.js', ver=c.rhodecode_version)}"></script>
61 <!--[if lt IE 9]>
63 <!--[if lt IE 9]>
62 <script language="javascript" type="text/javascript" src="${h.url('/js/excanvas.min.js')}"></script>
64 <script language="javascript" type="text/javascript" src="${h.url('/js/excanvas.min.js')}"></script>
63 <![endif]-->
65 <![endif]-->
64 <script type="text/javascript" src="${h.url('/js/yui.flot.js', ver=c.rhodecode_version)}"></script>
66 <script type="text/javascript" src="${h.url('/js/yui.flot.js', ver=c.rhodecode_version)}"></script>
65 <script type="text/javascript" src="${h.url('/js/native.history.js', ver=c.rhodecode_version)}"></script>
67 <script type="text/javascript" src="${h.url('/js/native.history.js', ver=c.rhodecode_version)}"></script>
66 <script type="text/javascript" src="${h.url('/js/pyroutes_map.js', ver=c.rhodecode_version)}"></script>
68 <script type="text/javascript" src="${h.url('/js/pyroutes_map.js', ver=c.rhodecode_version)}"></script>
67 <script type="text/javascript" src="${h.url('/js/rhodecode.js', ver=c.rhodecode_version)}"></script>
69 <script type="text/javascript" src="${h.url('/js/rhodecode.js', ver=c.rhodecode_version)}"></script>
68 ## EXTRA FOR JS
70 ## EXTRA FOR JS
69 ${self.js_extra()}
71 ${self.js_extra()}
70 <script type="text/javascript">
72 <script type="text/javascript">
71 (function(window,undefined){
73 (function(window,undefined){
72 // Prepare
74 // Prepare
73 var History = window.History; // Note: We are using a capital H instead of a lower h
75 var History = window.History; // Note: We are using a capital H instead of a lower h
74 if ( !History.enabled ) {
76 if ( !History.enabled ) {
75 // History.js is disabled for this browser.
77 // History.js is disabled for this browser.
76 // This is because we can optionally choose to support HTML4 browsers or not.
78 // This is because we can optionally choose to support HTML4 browsers or not.
77 return false;
79 return false;
78 }
80 }
79 })(window);
81 })(window);
80
82
81 YUE.onDOMReady(function(){
83 YUE.onDOMReady(function(){
82 tooltip_activate();
84 tooltip_activate();
83 show_more_event();
85 show_more_event();
84 show_changeset_tooltip();
86 show_changeset_tooltip();
85 // routes registration
87 // routes registration
86 pyroutes.register('toggle_following', "${h.url('toggle_following')}");
88 pyroutes.register('toggle_following', "${h.url('toggle_following')}");
87 pyroutes.register('changeset_info', "${h.url('changeset_info', repo_name='%(repo_name)s', revision='%(revision)s')}", ['repo_name', 'revision']);
89 pyroutes.register('changeset_info', "${h.url('changeset_info', repo_name='%(repo_name)s', revision='%(revision)s')}", ['repo_name', 'revision']);
88 pyroutes.register('repo_size', "${h.url('repo_size', repo_name='%(repo_name)s')}", ['repo_name']);
90 pyroutes.register('repo_size', "${h.url('repo_size', repo_name='%(repo_name)s')}", ['repo_name']);
89 })
91 })
90 </script>
92 </script>
91 </%def>
93 </%def>
92 <%def name="js_extra()"></%def>
94 <%def name="js_extra()"></%def>
93 ${self.js()}
95 ${self.js()}
94 <%def name="head_extra()"></%def>
96 <%def name="head_extra()"></%def>
95 ${self.head_extra()}
97 ${self.head_extra()}
96 </head>
98 </head>
97 <body id="body">
99 <body id="body">
98 ## IE hacks
100 ## IE hacks
99 <!--[if IE 7]>
101 <!--[if IE 7]>
100 <script>YUD.addClass(document.body,'ie7')</script>
102 <script>YUD.addClass(document.body,'ie7')</script>
101 <![endif]-->
103 <![endif]-->
102 <!--[if IE 8]>
104 <!--[if IE 8]>
103 <script>YUD.addClass(document.body,'ie8')</script>
105 <script>YUD.addClass(document.body,'ie8')</script>
104 <![endif]-->
106 <![endif]-->
105 <!--[if IE 9]>
107 <!--[if IE 9]>
106 <script>YUD.addClass(document.body,'ie9')</script>
108 <script>YUD.addClass(document.body,'ie9')</script>
107 <![endif]-->
109 <![endif]-->
108
110
109 ${next.body()}
111 ${next.body()}
110 </body>
112 </body>
111 </html>
113 </html>
@@ -1,63 +1,66 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 ##usage:
2 ##usage:
3 ## <%namespace name="diff_block" file="/changeset/diff_block.html"/>
3 ## <%namespace name="diff_block" file="/changeset/diff_block.html"/>
4 ## ${diff_block.diff_block(change)}
4 ## ${diff_block.diff_block(change)}
5 ##
5 ##
6 <%def name="diff_block(change)">
6 <%def name="diff_block(change)">
7
7 <div class="diff-collapse">
8 <span target="${'diff-container-%s' % (id(change))}" class="diff-collapse-button">&uarr; ${_('collapse diff')} &uarr;</span>
9 </div>
10 <div class="diff-container" id="${'diff-container-%s' % (id(change))}">
8 %for FID,(cs1, cs2, change, path, diff, stats) in change.iteritems():
11 %for FID,(cs1, cs2, change, path, diff, stats) in change.iteritems():
9 ##%if op !='removed':
12 ##%if op !='removed':
10 <div id="${FID}_target" style="clear:both;margin-top:25px"></div>
13 <div id="${FID}_target" style="clear:both;margin-top:25px"></div>
11 <div id="${FID}" class="diffblock margined comm">
14 <div id="${FID}" class="diffblock margined comm">
12 <div class="code-header">
15 <div class="code-header">
13 <div class="changeset_header">
16 <div class="changeset_header">
14 <div class="changeset_file">
17 <div class="changeset_file">
15 ${h.link_to_if(change!='removed',h.safe_unicode(path),h.url('files_home',repo_name=c.repo_name,
18 ${h.link_to_if(change!='removed',h.safe_unicode(path),h.url('files_home',repo_name=c.repo_name,
16 revision=cs2,f_path=h.safe_unicode(path)))}
19 revision=cs2,f_path=h.safe_unicode(path)))}
17 </div>
20 </div>
18 <div class="diff-actions">
21 <div class="diff-actions">
19 <a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(path),diff2=cs2,diff1=cs1,diff='diff',fulldiff=1)}" class="tooltip" title="${h.tooltip(_('show full diff for this file'))}"><img class="icon" src="${h.url('/images/icons/page_white_go.png')}"/></a>
22 <a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(path),diff2=cs2,diff1=cs1,diff='diff',fulldiff=1)}" class="tooltip" title="${h.tooltip(_('show full diff for this file'))}"><img class="icon" src="${h.url('/images/icons/page_white_go.png')}"/></a>
20 <a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(path),diff2=cs2,diff1=cs1,diff='raw')}" class="tooltip" title="${h.tooltip(_('raw diff'))}"><img class="icon" src="${h.url('/images/icons/page_white.png')}"/></a>
23 <a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(path),diff2=cs2,diff1=cs1,diff='raw')}" class="tooltip" title="${h.tooltip(_('raw diff'))}"><img class="icon" src="${h.url('/images/icons/page_white.png')}"/></a>
21 <a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(path),diff2=cs2,diff1=cs1,diff='download')}" class="tooltip" title="${h.tooltip(_('download diff'))}"><img class="icon" src="${h.url('/images/icons/page_save.png')}"/></a>
24 <a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(path),diff2=cs2,diff1=cs1,diff='download')}" class="tooltip" title="${h.tooltip(_('download diff'))}"><img class="icon" src="${h.url('/images/icons/page_save.png')}"/></a>
22 ${c.ignorews_url(request.GET, h.FID(cs2,path))}
25 ${c.ignorews_url(request.GET, h.FID(cs2,path))}
23 ${c.context_url(request.GET, h.FID(cs2,path))}
26 ${c.context_url(request.GET, h.FID(cs2,path))}
24 </div>
27 </div>
25 <span style="float:right;margin-top:-3px">
28 <span style="float:right;margin-top:-3px">
26 <label>
29 <label>
27 ${_('show inline comments')}
30 ${_('show inline comments')}
28 ${h.checkbox('',checked="checked",class_="show-inline-comments",id_for=h.FID(cs2,path))}
31 ${h.checkbox('',checked="checked",class_="show-inline-comments",id_for=h.FID(cs2,path))}
29 </label>
32 </label>
30 </span>
33 </span>
31 </div>
34 </div>
32 </div>
35 </div>
33 <div class="code-body">
36 <div class="code-body">
34 <div class="full_f_path" path="${h.safe_unicode(path)}"></div>
37 <div class="full_f_path" path="${h.safe_unicode(path)}"></div>
35 ${diff|n}
38 ${diff|n}
36 </div>
39 </div>
37 </div>
40 </div>
38 ##%endif
41 ##%endif
39 %endfor
42 %endfor
40
43 </div>
41 </%def>
44 </%def>
42
45
43 <%def name="diff_block_simple(change)">
46 <%def name="diff_block_simple(change)">
44
47
45 %for op,filenode_path,diff in change:
48 %for op,filenode_path,diff in change:
46 <div id="${h.FID('',filenode_path)}_target" style="clear:both;margin-top:25px"></div>
49 <div id="${h.FID('',filenode_path)}_target" style="clear:both;margin-top:25px"></div>
47 <div id="${h.FID('',filenode_path)}" class="diffblock margined comm">
50 <div id="${h.FID('',filenode_path)}" class="diffblock margined comm">
48 <div class="code-header">
51 <div class="code-header">
49 <div class="changeset_header">
52 <div class="changeset_header">
50 <div class="changeset_file">
53 <div class="changeset_file">
51 ${h.safe_unicode(filenode_path)} |
54 ${h.safe_unicode(filenode_path)} |
52 <a class="spantag" href="${h.url('files_home', repo_name=c.repo_name, f_path=filenode_path, revision=c.org_ref)}" title="${_('show file at latest version in this repo')}">${c.org_ref_type}@${h.short_id(c.org_ref) if c.org_ref_type=='rev' else c.org_ref}</a> -&gt;
55 <a class="spantag" href="${h.url('files_home', repo_name=c.repo_name, f_path=filenode_path, revision=c.org_ref)}" title="${_('show file at latest version in this repo')}">${c.org_ref_type}@${h.short_id(c.org_ref) if c.org_ref_type=='rev' else c.org_ref}</a> -&gt;
53 <a class="spantag" href="${h.url('files_home', repo_name=c.repo_name, f_path=filenode_path, revision=c.other_ref)}" title="${_('show file at initial version in this repo')}">${c.other_ref_type}@${h.short_id(c.other_ref) if c.other_ref_type=='rev' else c.other_ref}</a>
56 <a class="spantag" href="${h.url('files_home', repo_name=c.repo_name, f_path=filenode_path, revision=c.other_ref)}" title="${_('show file at initial version in this repo')}">${c.other_ref_type}@${h.short_id(c.other_ref) if c.other_ref_type=='rev' else c.other_ref}</a>
54 </div>
57 </div>
55 </div>
58 </div>
56 </div>
59 </div>
57 <div class="code-body">
60 <div class="code-body">
58 <div class="full_f_path" path="${h.safe_unicode(filenode_path)}"></div>
61 <div class="full_f_path" path="${h.safe_unicode(filenode_path)}"></div>
59 ${diff|n}
62 ${diff|n}
60 </div>
63 </div>
61 </div>
64 </div>
62 %endfor
65 %endfor
63 </%def>
66 </%def>
General Comments 0
You need to be logged in to leave comments. Login now