##// END OF EJS Templates
Added mentions autocomplete into main comments form...
marcink -
r2368:5143b8df beta
parent child Browse files
Show More

The requested changes are too big and content was truncated. Show full diff

@@ -1,397 +1,401 b''
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2 """
2 """
3 rhodecode.controllers.changeset
3 rhodecode.controllers.changeset
4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5
5
6 changeset controller for pylons showoing changes beetween
6 changeset controller for pylons showoing changes beetween
7 revisions
7 revisions
8
8
9 :created_on: Apr 25, 2010
9 :created_on: Apr 25, 2010
10 :author: marcink
10 :author: marcink
11 :copyright: (C) 2010-2012 Marcin Kuzminski <marcin@python-works.com>
11 :copyright: (C) 2010-2012 Marcin Kuzminski <marcin@python-works.com>
12 :license: GPLv3, see COPYING for more details.
12 :license: GPLv3, see COPYING for more details.
13 """
13 """
14 # This program is free software: you can redistribute it and/or modify
14 # This program is free software: you can redistribute it and/or modify
15 # it under the terms of the GNU General Public License as published by
15 # it under the terms of the GNU General Public License as published by
16 # the Free Software Foundation, either version 3 of the License, or
16 # the Free Software Foundation, either version 3 of the License, or
17 # (at your option) any later version.
17 # (at your option) any later version.
18 #
18 #
19 # This program is distributed in the hope that it will be useful,
19 # This program is distributed in the hope that it will be useful,
20 # but WITHOUT ANY WARRANTY; without even the implied warranty of
20 # but WITHOUT ANY WARRANTY; without even the implied warranty of
21 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 # GNU General Public License for more details.
22 # GNU General Public License for more details.
23 #
23 #
24 # You should have received a copy of the GNU General Public License
24 # You should have received a copy of the GNU General Public License
25 # along with this program. If not, see <http://www.gnu.org/licenses/>.
25 # along with this program. If not, see <http://www.gnu.org/licenses/>.
26 import logging
26 import logging
27 import traceback
27 import traceback
28 from collections import defaultdict
28 from collections import defaultdict
29 from webob.exc import HTTPForbidden
29 from webob.exc import HTTPForbidden
30
30
31 from pylons import tmpl_context as c, url, request, response
31 from pylons import tmpl_context as c, url, request, response
32 from pylons.i18n.translation import _
32 from pylons.i18n.translation import _
33 from pylons.controllers.util import redirect
33 from pylons.controllers.util import redirect
34 from pylons.decorators import jsonify
34 from pylons.decorators import jsonify
35
35
36 from rhodecode.lib.vcs.exceptions import RepositoryError, ChangesetError, \
36 from rhodecode.lib.vcs.exceptions import RepositoryError, ChangesetError, \
37 ChangesetDoesNotExistError
37 ChangesetDoesNotExistError
38 from rhodecode.lib.vcs.nodes import FileNode
38 from rhodecode.lib.vcs.nodes import FileNode
39
39
40 import rhodecode.lib.helpers as h
40 import rhodecode.lib.helpers as h
41 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
41 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
42 from rhodecode.lib.base import BaseRepoController, render
42 from rhodecode.lib.base import BaseRepoController, render
43 from rhodecode.lib.utils import EmptyChangeset
43 from rhodecode.lib.utils import EmptyChangeset
44 from rhodecode.lib.compat import OrderedDict
44 from rhodecode.lib.compat import OrderedDict
45 from rhodecode.lib import diffs
45 from rhodecode.lib import diffs
46 from rhodecode.model.db import ChangesetComment
46 from rhodecode.model.db import ChangesetComment
47 from rhodecode.model.comment import ChangesetCommentsModel
47 from rhodecode.model.comment import ChangesetCommentsModel
48 from rhodecode.model.meta import Session
48 from rhodecode.model.meta import Session
49 from rhodecode.lib.diffs import wrapped_diff
49 from rhodecode.lib.diffs import wrapped_diff
50 from rhodecode.model.repo import RepoModel
50
51
51 log = logging.getLogger(__name__)
52 log = logging.getLogger(__name__)
52
53
53
54
54 def _update_with_GET(params, GET):
55 def _update_with_GET(params, GET):
55 for k in ['diff1', 'diff2', 'diff']:
56 for k in ['diff1', 'diff2', 'diff']:
56 params[k] += GET.getall(k)
57 params[k] += GET.getall(k)
57
58
58
59
59 def anchor_url(revision, path, GET):
60 def anchor_url(revision, path, GET):
60 fid = h.FID(revision, path)
61 fid = h.FID(revision, path)
61 return h.url.current(anchor=fid, **dict(GET))
62 return h.url.current(anchor=fid, **dict(GET))
62
63
63
64
64 def get_ignore_ws(fid, GET):
65 def get_ignore_ws(fid, GET):
65 ig_ws_global = GET.get('ignorews')
66 ig_ws_global = GET.get('ignorews')
66 ig_ws = filter(lambda k: k.startswith('WS'), GET.getall(fid))
67 ig_ws = filter(lambda k: k.startswith('WS'), GET.getall(fid))
67 if ig_ws:
68 if ig_ws:
68 try:
69 try:
69 return int(ig_ws[0].split(':')[-1])
70 return int(ig_ws[0].split(':')[-1])
70 except:
71 except:
71 pass
72 pass
72 return ig_ws_global
73 return ig_ws_global
73
74
74
75
75 def _ignorews_url(GET, fileid=None):
76 def _ignorews_url(GET, fileid=None):
76 fileid = str(fileid) if fileid else None
77 fileid = str(fileid) if fileid else None
77 params = defaultdict(list)
78 params = defaultdict(list)
78 _update_with_GET(params, GET)
79 _update_with_GET(params, GET)
79 lbl = _('show white space')
80 lbl = _('show white space')
80 ig_ws = get_ignore_ws(fileid, GET)
81 ig_ws = get_ignore_ws(fileid, GET)
81 ln_ctx = get_line_ctx(fileid, GET)
82 ln_ctx = get_line_ctx(fileid, GET)
82 # global option
83 # global option
83 if fileid is None:
84 if fileid is None:
84 if ig_ws is None:
85 if ig_ws is None:
85 params['ignorews'] += [1]
86 params['ignorews'] += [1]
86 lbl = _('ignore white space')
87 lbl = _('ignore white space')
87 ctx_key = 'context'
88 ctx_key = 'context'
88 ctx_val = ln_ctx
89 ctx_val = ln_ctx
89 # per file options
90 # per file options
90 else:
91 else:
91 if ig_ws is None:
92 if ig_ws is None:
92 params[fileid] += ['WS:1']
93 params[fileid] += ['WS:1']
93 lbl = _('ignore white space')
94 lbl = _('ignore white space')
94
95
95 ctx_key = fileid
96 ctx_key = fileid
96 ctx_val = 'C:%s' % ln_ctx
97 ctx_val = 'C:%s' % ln_ctx
97 # if we have passed in ln_ctx pass it along to our params
98 # if we have passed in ln_ctx pass it along to our params
98 if ln_ctx:
99 if ln_ctx:
99 params[ctx_key] += [ctx_val]
100 params[ctx_key] += [ctx_val]
100
101
101 params['anchor'] = fileid
102 params['anchor'] = fileid
102 img = h.image(h.url('/images/icons/text_strikethrough.png'), lbl, class_='icon')
103 img = h.image(h.url('/images/icons/text_strikethrough.png'), lbl, class_='icon')
103 return h.link_to(img, h.url.current(**params), title=lbl, class_='tooltip')
104 return h.link_to(img, h.url.current(**params), title=lbl, class_='tooltip')
104
105
105
106
106 def get_line_ctx(fid, GET):
107 def get_line_ctx(fid, GET):
107 ln_ctx_global = GET.get('context')
108 ln_ctx_global = GET.get('context')
108 ln_ctx = filter(lambda k: k.startswith('C'), GET.getall(fid))
109 ln_ctx = filter(lambda k: k.startswith('C'), GET.getall(fid))
109
110
110 if ln_ctx:
111 if ln_ctx:
111 retval = ln_ctx[0].split(':')[-1]
112 retval = ln_ctx[0].split(':')[-1]
112 else:
113 else:
113 retval = ln_ctx_global
114 retval = ln_ctx_global
114
115
115 try:
116 try:
116 return int(retval)
117 return int(retval)
117 except:
118 except:
118 return
119 return
119
120
120
121
121 def _context_url(GET, fileid=None):
122 def _context_url(GET, fileid=None):
122 """
123 """
123 Generates url for context lines
124 Generates url for context lines
124
125
125 :param fileid:
126 :param fileid:
126 """
127 """
127
128
128 fileid = str(fileid) if fileid else None
129 fileid = str(fileid) if fileid else None
129 ig_ws = get_ignore_ws(fileid, GET)
130 ig_ws = get_ignore_ws(fileid, GET)
130 ln_ctx = (get_line_ctx(fileid, GET) or 3) * 2
131 ln_ctx = (get_line_ctx(fileid, GET) or 3) * 2
131
132
132 params = defaultdict(list)
133 params = defaultdict(list)
133 _update_with_GET(params, GET)
134 _update_with_GET(params, GET)
134
135
135 # global option
136 # global option
136 if fileid is None:
137 if fileid is None:
137 if ln_ctx > 0:
138 if ln_ctx > 0:
138 params['context'] += [ln_ctx]
139 params['context'] += [ln_ctx]
139
140
140 if ig_ws:
141 if ig_ws:
141 ig_ws_key = 'ignorews'
142 ig_ws_key = 'ignorews'
142 ig_ws_val = 1
143 ig_ws_val = 1
143
144
144 # per file option
145 # per file option
145 else:
146 else:
146 params[fileid] += ['C:%s' % ln_ctx]
147 params[fileid] += ['C:%s' % ln_ctx]
147 ig_ws_key = fileid
148 ig_ws_key = fileid
148 ig_ws_val = 'WS:%s' % 1
149 ig_ws_val = 'WS:%s' % 1
149
150
150 if ig_ws:
151 if ig_ws:
151 params[ig_ws_key] += [ig_ws_val]
152 params[ig_ws_key] += [ig_ws_val]
152
153
153 lbl = _('%s line context') % ln_ctx
154 lbl = _('%s line context') % ln_ctx
154
155
155 params['anchor'] = fileid
156 params['anchor'] = fileid
156 img = h.image(h.url('/images/icons/table_add.png'), lbl, class_='icon')
157 img = h.image(h.url('/images/icons/table_add.png'), lbl, class_='icon')
157 return h.link_to(img, h.url.current(**params), title=lbl, class_='tooltip')
158 return h.link_to(img, h.url.current(**params), title=lbl, class_='tooltip')
158
159
159
160
160 class ChangesetController(BaseRepoController):
161 class ChangesetController(BaseRepoController):
161
162
162 @LoginRequired()
163 @LoginRequired()
163 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
164 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
164 'repository.admin')
165 'repository.admin')
165 def __before__(self):
166 def __before__(self):
166 super(ChangesetController, self).__before__()
167 super(ChangesetController, self).__before__()
167 c.affected_files_cut_off = 60
168 c.affected_files_cut_off = 60
169 repo_model = RepoModel()
170 c.users_array = repo_model.get_users_js()
171 c.users_groups_array = repo_model.get_users_groups_js()
168
172
169 def index(self, revision):
173 def index(self, revision):
170
174
171 c.anchor_url = anchor_url
175 c.anchor_url = anchor_url
172 c.ignorews_url = _ignorews_url
176 c.ignorews_url = _ignorews_url
173 c.context_url = _context_url
177 c.context_url = _context_url
174 limit_off = request.GET.get('fulldiff')
178 limit_off = request.GET.get('fulldiff')
175 #get ranges of revisions if preset
179 #get ranges of revisions if preset
176 rev_range = revision.split('...')[:2]
180 rev_range = revision.split('...')[:2]
177 enable_comments = True
181 enable_comments = True
178 try:
182 try:
179 if len(rev_range) == 2:
183 if len(rev_range) == 2:
180 enable_comments = False
184 enable_comments = False
181 rev_start = rev_range[0]
185 rev_start = rev_range[0]
182 rev_end = rev_range[1]
186 rev_end = rev_range[1]
183 rev_ranges = c.rhodecode_repo.get_changesets(start=rev_start,
187 rev_ranges = c.rhodecode_repo.get_changesets(start=rev_start,
184 end=rev_end)
188 end=rev_end)
185 else:
189 else:
186 rev_ranges = [c.rhodecode_repo.get_changeset(revision)]
190 rev_ranges = [c.rhodecode_repo.get_changeset(revision)]
187
191
188 c.cs_ranges = list(rev_ranges)
192 c.cs_ranges = list(rev_ranges)
189 if not c.cs_ranges:
193 if not c.cs_ranges:
190 raise RepositoryError('Changeset range returned empty result')
194 raise RepositoryError('Changeset range returned empty result')
191
195
192 except (RepositoryError, ChangesetDoesNotExistError, Exception), e:
196 except (RepositoryError, ChangesetDoesNotExistError, Exception), e:
193 log.error(traceback.format_exc())
197 log.error(traceback.format_exc())
194 h.flash(str(e), category='warning')
198 h.flash(str(e), category='warning')
195 return redirect(url('home'))
199 return redirect(url('home'))
196
200
197 c.changes = OrderedDict()
201 c.changes = OrderedDict()
198
202
199 c.lines_added = 0 # count of lines added
203 c.lines_added = 0 # count of lines added
200 c.lines_deleted = 0 # count of lines removes
204 c.lines_deleted = 0 # count of lines removes
201
205
202 cumulative_diff = 0
206 cumulative_diff = 0
203 c.cut_off = False # defines if cut off limit is reached
207 c.cut_off = False # defines if cut off limit is reached
204
208
205 c.comments = []
209 c.comments = []
206 c.inline_comments = []
210 c.inline_comments = []
207 c.inline_cnt = 0
211 c.inline_cnt = 0
208 # Iterate over ranges (default changeset view is always one changeset)
212 # Iterate over ranges (default changeset view is always one changeset)
209 for changeset in c.cs_ranges:
213 for changeset in c.cs_ranges:
210 c.comments.extend(ChangesetCommentsModel()\
214 c.comments.extend(ChangesetCommentsModel()\
211 .get_comments(c.rhodecode_db_repo.repo_id,
215 .get_comments(c.rhodecode_db_repo.repo_id,
212 changeset.raw_id))
216 changeset.raw_id))
213 inlines = ChangesetCommentsModel()\
217 inlines = ChangesetCommentsModel()\
214 .get_inline_comments(c.rhodecode_db_repo.repo_id,
218 .get_inline_comments(c.rhodecode_db_repo.repo_id,
215 changeset.raw_id)
219 changeset.raw_id)
216 c.inline_comments.extend(inlines)
220 c.inline_comments.extend(inlines)
217 c.changes[changeset.raw_id] = []
221 c.changes[changeset.raw_id] = []
218 try:
222 try:
219 changeset_parent = changeset.parents[0]
223 changeset_parent = changeset.parents[0]
220 except IndexError:
224 except IndexError:
221 changeset_parent = None
225 changeset_parent = None
222
226
223 #==================================================================
227 #==================================================================
224 # ADDED FILES
228 # ADDED FILES
225 #==================================================================
229 #==================================================================
226 for node in changeset.added:
230 for node in changeset.added:
227 fid = h.FID(revision, node.path)
231 fid = h.FID(revision, node.path)
228 line_context_lcl = get_line_ctx(fid, request.GET)
232 line_context_lcl = get_line_ctx(fid, request.GET)
229 ign_whitespace_lcl = get_ignore_ws(fid, request.GET)
233 ign_whitespace_lcl = get_ignore_ws(fid, request.GET)
230 lim = self.cut_off_limit
234 lim = self.cut_off_limit
231 if cumulative_diff > self.cut_off_limit:
235 if cumulative_diff > self.cut_off_limit:
232 lim = -1 if limit_off is None else None
236 lim = -1 if limit_off is None else None
233 size, cs1, cs2, diff, st = wrapped_diff(
237 size, cs1, cs2, diff, st = wrapped_diff(
234 filenode_old=None,
238 filenode_old=None,
235 filenode_new=node,
239 filenode_new=node,
236 cut_off_limit=lim,
240 cut_off_limit=lim,
237 ignore_whitespace=ign_whitespace_lcl,
241 ignore_whitespace=ign_whitespace_lcl,
238 line_context=line_context_lcl,
242 line_context=line_context_lcl,
239 enable_comments=enable_comments
243 enable_comments=enable_comments
240 )
244 )
241 cumulative_diff += size
245 cumulative_diff += size
242 c.lines_added += st[0]
246 c.lines_added += st[0]
243 c.lines_deleted += st[1]
247 c.lines_deleted += st[1]
244 c.changes[changeset.raw_id].append(
248 c.changes[changeset.raw_id].append(
245 ('added', node, diff, cs1, cs2, st)
249 ('added', node, diff, cs1, cs2, st)
246 )
250 )
247
251
248 #==================================================================
252 #==================================================================
249 # CHANGED FILES
253 # CHANGED FILES
250 #==================================================================
254 #==================================================================
251 for node in changeset.changed:
255 for node in changeset.changed:
252 try:
256 try:
253 filenode_old = changeset_parent.get_node(node.path)
257 filenode_old = changeset_parent.get_node(node.path)
254 except ChangesetError:
258 except ChangesetError:
255 log.warning('Unable to fetch parent node for diff')
259 log.warning('Unable to fetch parent node for diff')
256 filenode_old = FileNode(node.path, '', EmptyChangeset())
260 filenode_old = FileNode(node.path, '', EmptyChangeset())
257
261
258 fid = h.FID(revision, node.path)
262 fid = h.FID(revision, node.path)
259 line_context_lcl = get_line_ctx(fid, request.GET)
263 line_context_lcl = get_line_ctx(fid, request.GET)
260 ign_whitespace_lcl = get_ignore_ws(fid, request.GET)
264 ign_whitespace_lcl = get_ignore_ws(fid, request.GET)
261 lim = self.cut_off_limit
265 lim = self.cut_off_limit
262 if cumulative_diff > self.cut_off_limit:
266 if cumulative_diff > self.cut_off_limit:
263 lim = -1 if limit_off is None else None
267 lim = -1 if limit_off is None else None
264 size, cs1, cs2, diff, st = wrapped_diff(
268 size, cs1, cs2, diff, st = wrapped_diff(
265 filenode_old=filenode_old,
269 filenode_old=filenode_old,
266 filenode_new=node,
270 filenode_new=node,
267 cut_off_limit=lim,
271 cut_off_limit=lim,
268 ignore_whitespace=ign_whitespace_lcl,
272 ignore_whitespace=ign_whitespace_lcl,
269 line_context=line_context_lcl,
273 line_context=line_context_lcl,
270 enable_comments=enable_comments
274 enable_comments=enable_comments
271 )
275 )
272 cumulative_diff += size
276 cumulative_diff += size
273 c.lines_added += st[0]
277 c.lines_added += st[0]
274 c.lines_deleted += st[1]
278 c.lines_deleted += st[1]
275 c.changes[changeset.raw_id].append(
279 c.changes[changeset.raw_id].append(
276 ('changed', node, diff, cs1, cs2, st)
280 ('changed', node, diff, cs1, cs2, st)
277 )
281 )
278 #==================================================================
282 #==================================================================
279 # REMOVED FILES
283 # REMOVED FILES
280 #==================================================================
284 #==================================================================
281 for node in changeset.removed:
285 for node in changeset.removed:
282 c.changes[changeset.raw_id].append(
286 c.changes[changeset.raw_id].append(
283 ('removed', node, None, None, None, (0, 0))
287 ('removed', node, None, None, None, (0, 0))
284 )
288 )
285
289
286 # count inline comments
290 # count inline comments
287 for path, lines in c.inline_comments:
291 for path, lines in c.inline_comments:
288 for comments in lines.values():
292 for comments in lines.values():
289 c.inline_cnt += len(comments)
293 c.inline_cnt += len(comments)
290
294
291 if len(c.cs_ranges) == 1:
295 if len(c.cs_ranges) == 1:
292 c.changeset = c.cs_ranges[0]
296 c.changeset = c.cs_ranges[0]
293 c.changes = c.changes[c.changeset.raw_id]
297 c.changes = c.changes[c.changeset.raw_id]
294
298
295 return render('changeset/changeset.html')
299 return render('changeset/changeset.html')
296 else:
300 else:
297 return render('changeset/changeset_range.html')
301 return render('changeset/changeset_range.html')
298
302
299 def raw_changeset(self, revision):
303 def raw_changeset(self, revision):
300
304
301 method = request.GET.get('diff', 'show')
305 method = request.GET.get('diff', 'show')
302 ignore_whitespace = request.GET.get('ignorews') == '1'
306 ignore_whitespace = request.GET.get('ignorews') == '1'
303 line_context = request.GET.get('context', 3)
307 line_context = request.GET.get('context', 3)
304 try:
308 try:
305 c.scm_type = c.rhodecode_repo.alias
309 c.scm_type = c.rhodecode_repo.alias
306 c.changeset = c.rhodecode_repo.get_changeset(revision)
310 c.changeset = c.rhodecode_repo.get_changeset(revision)
307 except RepositoryError:
311 except RepositoryError:
308 log.error(traceback.format_exc())
312 log.error(traceback.format_exc())
309 return redirect(url('home'))
313 return redirect(url('home'))
310 else:
314 else:
311 try:
315 try:
312 c.changeset_parent = c.changeset.parents[0]
316 c.changeset_parent = c.changeset.parents[0]
313 except IndexError:
317 except IndexError:
314 c.changeset_parent = None
318 c.changeset_parent = None
315 c.changes = []
319 c.changes = []
316
320
317 for node in c.changeset.added:
321 for node in c.changeset.added:
318 filenode_old = FileNode(node.path, '')
322 filenode_old = FileNode(node.path, '')
319 if filenode_old.is_binary or node.is_binary:
323 if filenode_old.is_binary or node.is_binary:
320 diff = _('binary file') + '\n'
324 diff = _('binary file') + '\n'
321 else:
325 else:
322 f_gitdiff = diffs.get_gitdiff(filenode_old, node,
326 f_gitdiff = diffs.get_gitdiff(filenode_old, node,
323 ignore_whitespace=ignore_whitespace,
327 ignore_whitespace=ignore_whitespace,
324 context=line_context)
328 context=line_context)
325 diff = diffs.DiffProcessor(f_gitdiff,
329 diff = diffs.DiffProcessor(f_gitdiff,
326 format='gitdiff').raw_diff()
330 format='gitdiff').raw_diff()
327
331
328 cs1 = None
332 cs1 = None
329 cs2 = node.changeset.raw_id
333 cs2 = node.changeset.raw_id
330 c.changes.append(('added', node, diff, cs1, cs2))
334 c.changes.append(('added', node, diff, cs1, cs2))
331
335
332 for node in c.changeset.changed:
336 for node in c.changeset.changed:
333 filenode_old = c.changeset_parent.get_node(node.path)
337 filenode_old = c.changeset_parent.get_node(node.path)
334 if filenode_old.is_binary or node.is_binary:
338 if filenode_old.is_binary or node.is_binary:
335 diff = _('binary file')
339 diff = _('binary file')
336 else:
340 else:
337 f_gitdiff = diffs.get_gitdiff(filenode_old, node,
341 f_gitdiff = diffs.get_gitdiff(filenode_old, node,
338 ignore_whitespace=ignore_whitespace,
342 ignore_whitespace=ignore_whitespace,
339 context=line_context)
343 context=line_context)
340 diff = diffs.DiffProcessor(f_gitdiff,
344 diff = diffs.DiffProcessor(f_gitdiff,
341 format='gitdiff').raw_diff()
345 format='gitdiff').raw_diff()
342
346
343 cs1 = filenode_old.changeset.raw_id
347 cs1 = filenode_old.changeset.raw_id
344 cs2 = node.changeset.raw_id
348 cs2 = node.changeset.raw_id
345 c.changes.append(('changed', node, diff, cs1, cs2))
349 c.changes.append(('changed', node, diff, cs1, cs2))
346
350
347 response.content_type = 'text/plain'
351 response.content_type = 'text/plain'
348
352
349 if method == 'download':
353 if method == 'download':
350 response.content_disposition = 'attachment; filename=%s.patch' \
354 response.content_disposition = 'attachment; filename=%s.patch' \
351 % revision
355 % revision
352
356
353 c.parent_tmpl = ''.join(['# Parent %s\n' % x.raw_id
357 c.parent_tmpl = ''.join(['# Parent %s\n' % x.raw_id
354 for x in c.changeset.parents])
358 for x in c.changeset.parents])
355
359
356 c.diffs = ''
360 c.diffs = ''
357 for x in c.changes:
361 for x in c.changes:
358 c.diffs += x[2]
362 c.diffs += x[2]
359
363
360 return render('changeset/raw_changeset.html')
364 return render('changeset/raw_changeset.html')
361
365
362 @jsonify
366 @jsonify
363 def comment(self, repo_name, revision):
367 def comment(self, repo_name, revision):
364 comm = ChangesetCommentsModel().create(
368 comm = ChangesetCommentsModel().create(
365 text=request.POST.get('text'),
369 text=request.POST.get('text'),
366 repo_id=c.rhodecode_db_repo.repo_id,
370 repo_id=c.rhodecode_db_repo.repo_id,
367 user_id=c.rhodecode_user.user_id,
371 user_id=c.rhodecode_user.user_id,
368 revision=revision,
372 revision=revision,
369 f_path=request.POST.get('f_path'),
373 f_path=request.POST.get('f_path'),
370 line_no=request.POST.get('line')
374 line_no=request.POST.get('line')
371 )
375 )
372 Session.commit()
376 Session.commit()
373 if not request.environ.get('HTTP_X_PARTIAL_XHR'):
377 if not request.environ.get('HTTP_X_PARTIAL_XHR'):
374 return redirect(h.url('changeset_home', repo_name=repo_name,
378 return redirect(h.url('changeset_home', repo_name=repo_name,
375 revision=revision))
379 revision=revision))
376
380
377 data = {
381 data = {
378 'target_id': h.safeid(h.safe_unicode(request.POST.get('f_path'))),
382 'target_id': h.safeid(h.safe_unicode(request.POST.get('f_path'))),
379 }
383 }
380 if comm:
384 if comm:
381 c.co = comm
385 c.co = comm
382 data.update(comm.get_dict())
386 data.update(comm.get_dict())
383 data.update({'rendered_text':
387 data.update({'rendered_text':
384 render('changeset/changeset_comment_block.html')})
388 render('changeset/changeset_comment_block.html')})
385
389
386 return data
390 return data
387
391
388 @jsonify
392 @jsonify
389 def delete_comment(self, repo_name, comment_id):
393 def delete_comment(self, repo_name, comment_id):
390 co = ChangesetComment.get(comment_id)
394 co = ChangesetComment.get(comment_id)
391 owner = lambda: co.author.user_id == c.rhodecode_user.user_id
395 owner = lambda: co.author.user_id == c.rhodecode_user.user_id
392 if h.HasPermissionAny('hg.admin', 'repository.admin')() or owner:
396 if h.HasPermissionAny('hg.admin', 'repository.admin')() or owner:
393 ChangesetCommentsModel().delete(comment=co)
397 ChangesetCommentsModel().delete(comment=co)
394 Session.commit()
398 Session.commit()
395 return True
399 return True
396 else:
400 else:
397 raise HTTPForbidden()
401 raise HTTPForbidden()
@@ -1,4401 +1,4408 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 {
2 {
3 border: 0;
3 border: 0;
4 outline: 0;
4 outline: 0;
5 font-size: 100%;
5 font-size: 100%;
6 vertical-align: baseline;
6 vertical-align: baseline;
7 background: transparent;
7 background: transparent;
8 margin: 0;
8 margin: 0;
9 padding: 0;
9 padding: 0;
10 }
10 }
11
11
12 body {
12 body {
13 line-height: 1;
13 line-height: 1;
14 height: 100%;
14 height: 100%;
15 background: url("../images/background.png") repeat scroll 0 0 #B0B0B0;
15 background: url("../images/background.png") repeat scroll 0 0 #B0B0B0;
16 font-family: Lucida Grande, Verdana, Lucida Sans Regular,
16 font-family: Lucida Grande, Verdana, Lucida Sans Regular,
17 Lucida Sans Unicode, Arial, sans-serif; font-size : 12px;
17 Lucida Sans Unicode, Arial, sans-serif; font-size : 12px;
18 color: #000;
18 color: #000;
19 margin: 0;
19 margin: 0;
20 padding: 0;
20 padding: 0;
21 font-size: 12px;
21 font-size: 12px;
22 }
22 }
23
23
24 ol,ul {
24 ol,ul {
25 list-style: none;
25 list-style: none;
26 }
26 }
27
27
28 blockquote,q {
28 blockquote,q {
29 quotes: none;
29 quotes: none;
30 }
30 }
31
31
32 blockquote:before,blockquote:after,q:before,q:after {
32 blockquote:before,blockquote:after,q:before,q:after {
33 content: none;
33 content: none;
34 }
34 }
35
35
36 :focus {
36 :focus {
37 outline: 0;
37 outline: 0;
38 }
38 }
39
39
40 del {
40 del {
41 text-decoration: line-through;
41 text-decoration: line-through;
42 }
42 }
43
43
44 table {
44 table {
45 border-collapse: collapse;
45 border-collapse: collapse;
46 border-spacing: 0;
46 border-spacing: 0;
47 }
47 }
48
48
49 html {
49 html {
50 height: 100%;
50 height: 100%;
51 }
51 }
52
52
53 a {
53 a {
54 color: #003367;
54 color: #003367;
55 text-decoration: none;
55 text-decoration: none;
56 cursor: pointer;
56 cursor: pointer;
57 }
57 }
58
58
59 a:hover {
59 a:hover {
60 color: #316293;
60 color: #316293;
61 text-decoration: underline;
61 text-decoration: underline;
62 }
62 }
63
63
64 h1,h2,h3,h4,h5,h6 {
64 h1,h2,h3,h4,h5,h6 {
65 color: #292929;
65 color: #292929;
66 font-weight: 700;
66 font-weight: 700;
67 }
67 }
68
68
69 h1 {
69 h1 {
70 font-size: 22px;
70 font-size: 22px;
71 }
71 }
72
72
73 h2 {
73 h2 {
74 font-size: 20px;
74 font-size: 20px;
75 }
75 }
76
76
77 h3 {
77 h3 {
78 font-size: 18px;
78 font-size: 18px;
79 }
79 }
80
80
81 h4 {
81 h4 {
82 font-size: 16px;
82 font-size: 16px;
83 }
83 }
84
84
85 h5 {
85 h5 {
86 font-size: 14px;
86 font-size: 14px;
87 }
87 }
88
88
89 h6 {
89 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 #header {
223 #header {
224 margin: 0;
224 margin: 0;
225 padding: 0 10px;
225 padding: 0 10px;
226 }
226 }
227
227
228 #header ul#logged-user {
228 #header ul#logged-user {
229 margin-bottom: 5px !important;
229 margin-bottom: 5px !important;
230 -webkit-border-radius: 0px 0px 8px 8px;
230 -webkit-border-radius: 0px 0px 8px 8px;
231 -khtml-border-radius: 0px 0px 8px 8px;
231 -khtml-border-radius: 0px 0px 8px 8px;
232 -moz-border-radius: 0px 0px 8px 8px;
232 -moz-border-radius: 0px 0px 8px 8px;
233 border-radius: 0px 0px 8px 8px;
233 border-radius: 0px 0px 8px 8px;
234 height: 37px;
234 height: 37px;
235 background-color: #003B76;
235 background-color: #003B76;
236 background-repeat: repeat-x;
236 background-repeat: repeat-x;
237 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
237 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
238 background-image: -moz-linear-gradient(top, #003b76, #00376e);
238 background-image: -moz-linear-gradient(top, #003b76, #00376e);
239 background-image: -ms-linear-gradient(top, #003b76, #00376e);
239 background-image: -ms-linear-gradient(top, #003b76, #00376e);
240 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
240 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
241 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
241 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
242 background-image: -o-linear-gradient(top, #003b76, #00376e);
242 background-image: -o-linear-gradient(top, #003b76, #00376e);
243 background-image: linear-gradient(top, #003b76, #00376e);
243 background-image: linear-gradient(top, #003b76, #00376e);
244 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',endColorstr='#00376e', GradientType=0 );
244 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',endColorstr='#00376e', GradientType=0 );
245 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
245 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
246 }
246 }
247
247
248 #header ul#logged-user li {
248 #header ul#logged-user li {
249 list-style: none;
249 list-style: none;
250 float: left;
250 float: left;
251 margin: 8px 0 0;
251 margin: 8px 0 0;
252 padding: 4px 12px;
252 padding: 4px 12px;
253 border-left: 1px solid #316293;
253 border-left: 1px solid #316293;
254 }
254 }
255
255
256 #header ul#logged-user li.first {
256 #header ul#logged-user li.first {
257 border-left: none;
257 border-left: none;
258 margin: 4px;
258 margin: 4px;
259 }
259 }
260
260
261 #header ul#logged-user li.first div.gravatar {
261 #header ul#logged-user li.first div.gravatar {
262 margin-top: -2px;
262 margin-top: -2px;
263 }
263 }
264
264
265 #header ul#logged-user li.first div.account {
265 #header ul#logged-user li.first div.account {
266 padding-top: 4px;
266 padding-top: 4px;
267 float: left;
267 float: left;
268 }
268 }
269
269
270 #header ul#logged-user li.last {
270 #header ul#logged-user li.last {
271 border-right: none;
271 border-right: none;
272 }
272 }
273
273
274 #header ul#logged-user li a {
274 #header ul#logged-user li a {
275 color: #fff;
275 color: #fff;
276 font-weight: 700;
276 font-weight: 700;
277 text-decoration: none;
277 text-decoration: none;
278 }
278 }
279
279
280 #header ul#logged-user li a:hover {
280 #header ul#logged-user li a:hover {
281 text-decoration: underline;
281 text-decoration: underline;
282 }
282 }
283
283
284 #header ul#logged-user li.highlight a {
284 #header ul#logged-user li.highlight a {
285 color: #fff;
285 color: #fff;
286 }
286 }
287
287
288 #header ul#logged-user li.highlight a:hover {
288 #header ul#logged-user li.highlight a:hover {
289 color: #FFF;
289 color: #FFF;
290 }
290 }
291
291
292 #header #header-inner {
292 #header #header-inner {
293 min-height: 44px;
293 min-height: 44px;
294 clear: both;
294 clear: both;
295 position: relative;
295 position: relative;
296 background-color: #003B76;
296 background-color: #003B76;
297 background-repeat: repeat-x;
297 background-repeat: repeat-x;
298 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
298 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
299 background-image: -moz-linear-gradient(top, #003b76, #00376e);
299 background-image: -moz-linear-gradient(top, #003b76, #00376e);
300 background-image: -ms-linear-gradient(top, #003b76, #00376e);
300 background-image: -ms-linear-gradient(top, #003b76, #00376e);
301 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76),color-stop(100%, #00376e) );
301 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76),color-stop(100%, #00376e) );
302 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
302 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
303 background-image: -o-linear-gradient(top, #003b76, #00376e);
303 background-image: -o-linear-gradient(top, #003b76, #00376e);
304 background-image: linear-gradient(top, #003b76, #00376e);
304 background-image: linear-gradient(top, #003b76, #00376e);
305 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',endColorstr='#00376e', GradientType=0 );
305 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',endColorstr='#00376e', GradientType=0 );
306 margin: 0;
306 margin: 0;
307 padding: 0;
307 padding: 0;
308 display: block;
308 display: block;
309 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
309 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
310 -webkit-border-radius: 4px 4px 4px 4px;
310 -webkit-border-radius: 4px 4px 4px 4px;
311 -khtml-border-radius: 4px 4px 4px 4px;
311 -khtml-border-radius: 4px 4px 4px 4px;
312 -moz-border-radius: 4px 4px 4px 4px;
312 -moz-border-radius: 4px 4px 4px 4px;
313 border-radius: 4px 4px 4px 4px;
313 border-radius: 4px 4px 4px 4px;
314 }
314 }
315 #header #header-inner.hover{
315 #header #header-inner.hover{
316 position: fixed !important;
316 position: fixed !important;
317 width: 100% !important;
317 width: 100% !important;
318 margin-left: -10px !important;
318 margin-left: -10px !important;
319 z-index: 10000;
319 z-index: 10000;
320 -webkit-border-radius: 0px 0px 0px 0px;
320 -webkit-border-radius: 0px 0px 0px 0px;
321 -khtml-border-radius: 0px 0px 0px 0px;
321 -khtml-border-radius: 0px 0px 0px 0px;
322 -moz-border-radius: 0px 0px 0px 0px;
322 -moz-border-radius: 0px 0px 0px 0px;
323 border-radius: 0px 0px 0px 0px;
323 border-radius: 0px 0px 0px 0px;
324 }
324 }
325
325
326 .ie7 #header #header-inner.hover,
326 .ie7 #header #header-inner.hover,
327 .ie8 #header #header-inner.hover,
327 .ie8 #header #header-inner.hover,
328 .ie9 #header #header-inner.hover
328 .ie9 #header #header-inner.hover
329 {
329 {
330 z-index: auto !important;
330 z-index: auto !important;
331 }
331 }
332
332
333 .header-pos-fix{
333 .header-pos-fix{
334 margin-top: -44px;
334 margin-top: -44px;
335 padding-top: 44px;
335 padding-top: 44px;
336 }
336 }
337
337
338 #header #header-inner #home a {
338 #header #header-inner #home a {
339 height: 40px;
339 height: 40px;
340 width: 46px;
340 width: 46px;
341 display: block;
341 display: block;
342 background: url("../images/button_home.png");
342 background: url("../images/button_home.png");
343 background-position: 0 0;
343 background-position: 0 0;
344 margin: 0;
344 margin: 0;
345 padding: 0;
345 padding: 0;
346 }
346 }
347
347
348 #header #header-inner #home a:hover {
348 #header #header-inner #home a:hover {
349 background-position: 0 -40px;
349 background-position: 0 -40px;
350 }
350 }
351
351
352 #header #header-inner #logo {
352 #header #header-inner #logo {
353 float: left;
353 float: left;
354 position: absolute;
354 position: absolute;
355 }
355 }
356
356
357 #header #header-inner #logo h1 {
357 #header #header-inner #logo h1 {
358 color: #FFF;
358 color: #FFF;
359 font-size: 20px;
359 font-size: 20px;
360 margin: 12px 0 0 13px;
360 margin: 12px 0 0 13px;
361 padding: 0;
361 padding: 0;
362 }
362 }
363
363
364 #header #header-inner #logo a {
364 #header #header-inner #logo a {
365 color: #fff;
365 color: #fff;
366 text-decoration: none;
366 text-decoration: none;
367 }
367 }
368
368
369 #header #header-inner #logo a:hover {
369 #header #header-inner #logo a:hover {
370 color: #bfe3ff;
370 color: #bfe3ff;
371 }
371 }
372
372
373 #header #header-inner #quick,#header #header-inner #quick ul {
373 #header #header-inner #quick,#header #header-inner #quick ul {
374 position: relative;
374 position: relative;
375 float: right;
375 float: right;
376 list-style-type: none;
376 list-style-type: none;
377 list-style-position: outside;
377 list-style-position: outside;
378 margin: 8px 8px 0 0;
378 margin: 8px 8px 0 0;
379 padding: 0;
379 padding: 0;
380 }
380 }
381
381
382 #header #header-inner #quick li {
382 #header #header-inner #quick li {
383 position: relative;
383 position: relative;
384 float: left;
384 float: left;
385 margin: 0 5px 0 0;
385 margin: 0 5px 0 0;
386 padding: 0;
386 padding: 0;
387 }
387 }
388
388
389 #header #header-inner #quick li a.menu_link {
389 #header #header-inner #quick li a.menu_link {
390 top: 0;
390 top: 0;
391 left: 0;
391 left: 0;
392 height: 1%;
392 height: 1%;
393 display: block;
393 display: block;
394 clear: both;
394 clear: both;
395 overflow: hidden;
395 overflow: hidden;
396 color: #FFF;
396 color: #FFF;
397 font-weight: 700;
397 font-weight: 700;
398 text-decoration: none;
398 text-decoration: none;
399 background: #369;
399 background: #369;
400 padding: 0;
400 padding: 0;
401 -webkit-border-radius: 4px 4px 4px 4px;
401 -webkit-border-radius: 4px 4px 4px 4px;
402 -khtml-border-radius: 4px 4px 4px 4px;
402 -khtml-border-radius: 4px 4px 4px 4px;
403 -moz-border-radius: 4px 4px 4px 4px;
403 -moz-border-radius: 4px 4px 4px 4px;
404 border-radius: 4px 4px 4px 4px;
404 border-radius: 4px 4px 4px 4px;
405 }
405 }
406
406
407 #header #header-inner #quick li span.short {
407 #header #header-inner #quick li span.short {
408 padding: 9px 6px 8px 6px;
408 padding: 9px 6px 8px 6px;
409 }
409 }
410
410
411 #header #header-inner #quick li span {
411 #header #header-inner #quick li span {
412 top: 0;
412 top: 0;
413 right: 0;
413 right: 0;
414 height: 1%;
414 height: 1%;
415 display: block;
415 display: block;
416 float: left;
416 float: left;
417 border-left: 1px solid #3f6f9f;
417 border-left: 1px solid #3f6f9f;
418 margin: 0;
418 margin: 0;
419 padding: 10px 12px 8px 10px;
419 padding: 10px 12px 8px 10px;
420 }
420 }
421
421
422 #header #header-inner #quick li span.normal {
422 #header #header-inner #quick li span.normal {
423 border: none;
423 border: none;
424 padding: 10px 12px 8px;
424 padding: 10px 12px 8px;
425 }
425 }
426
426
427 #header #header-inner #quick li span.icon {
427 #header #header-inner #quick li span.icon {
428 top: 0;
428 top: 0;
429 left: 0;
429 left: 0;
430 border-left: none;
430 border-left: none;
431 border-right: 1px solid #2e5c89;
431 border-right: 1px solid #2e5c89;
432 padding: 8px 6px 4px;
432 padding: 8px 6px 4px;
433 }
433 }
434
434
435 #header #header-inner #quick li span.icon_short {
435 #header #header-inner #quick li span.icon_short {
436 top: 0;
436 top: 0;
437 left: 0;
437 left: 0;
438 border-left: none;
438 border-left: none;
439 border-right: 1px solid #2e5c89;
439 border-right: 1px solid #2e5c89;
440 padding: 8px 6px 4px;
440 padding: 8px 6px 4px;
441 }
441 }
442
442
443 #header #header-inner #quick li span.icon img,#header #header-inner #quick li span.icon_short img
443 #header #header-inner #quick li span.icon img,#header #header-inner #quick li span.icon_short img
444 {
444 {
445 margin: 0px -2px 0px 0px;
445 margin: 0px -2px 0px 0px;
446 }
446 }
447
447
448 #header #header-inner #quick li a:hover {
448 #header #header-inner #quick li a:hover {
449 background: #4e4e4e no-repeat top left;
449 background: #4e4e4e no-repeat top left;
450 }
450 }
451
451
452 #header #header-inner #quick li a:hover span {
452 #header #header-inner #quick li a:hover span {
453 border-left: 1px solid #545454;
453 border-left: 1px solid #545454;
454 }
454 }
455
455
456 #header #header-inner #quick li a:hover span.icon,#header #header-inner #quick li a:hover span.icon_short
456 #header #header-inner #quick li a:hover span.icon,#header #header-inner #quick li a:hover span.icon_short
457 {
457 {
458 border-left: none;
458 border-left: none;
459 border-right: 1px solid #464646;
459 border-right: 1px solid #464646;
460 }
460 }
461
461
462 #header #header-inner #quick ul {
462 #header #header-inner #quick ul {
463 top: 29px;
463 top: 29px;
464 right: 0;
464 right: 0;
465 min-width: 200px;
465 min-width: 200px;
466 display: none;
466 display: none;
467 position: absolute;
467 position: absolute;
468 background: #FFF;
468 background: #FFF;
469 border: 1px solid #666;
469 border: 1px solid #666;
470 border-top: 1px solid #003367;
470 border-top: 1px solid #003367;
471 z-index: 100;
471 z-index: 100;
472 margin: 0px 0px 0px 0px;
472 margin: 0px 0px 0px 0px;
473 padding: 0;
473 padding: 0;
474 }
474 }
475
475
476 #header #header-inner #quick ul.repo_switcher {
476 #header #header-inner #quick ul.repo_switcher {
477 max-height: 275px;
477 max-height: 275px;
478 overflow-x: hidden;
478 overflow-x: hidden;
479 overflow-y: auto;
479 overflow-y: auto;
480 }
480 }
481
481
482 #header #header-inner #quick ul.repo_switcher li.qfilter_rs {
482 #header #header-inner #quick ul.repo_switcher li.qfilter_rs {
483 float: none;
483 float: none;
484 margin: 0;
484 margin: 0;
485 border-bottom: 2px solid #003367;
485 border-bottom: 2px solid #003367;
486 }
486 }
487
487
488 #header #header-inner #quick .repo_switcher_type {
488 #header #header-inner #quick .repo_switcher_type {
489 position: absolute;
489 position: absolute;
490 left: 0;
490 left: 0;
491 top: 9px;
491 top: 9px;
492 }
492 }
493
493
494 #header #header-inner #quick li ul li {
494 #header #header-inner #quick li ul li {
495 border-bottom: 1px solid #ddd;
495 border-bottom: 1px solid #ddd;
496 }
496 }
497
497
498 #header #header-inner #quick li ul li a {
498 #header #header-inner #quick li ul li a {
499 width: 182px;
499 width: 182px;
500 height: auto;
500 height: auto;
501 display: block;
501 display: block;
502 float: left;
502 float: left;
503 background: #FFF;
503 background: #FFF;
504 color: #003367;
504 color: #003367;
505 font-weight: 400;
505 font-weight: 400;
506 margin: 0;
506 margin: 0;
507 padding: 7px 9px;
507 padding: 7px 9px;
508 }
508 }
509
509
510 #header #header-inner #quick li ul li a:hover {
510 #header #header-inner #quick li ul li a:hover {
511 color: #000;
511 color: #000;
512 background: #FFF;
512 background: #FFF;
513 }
513 }
514
514
515 #header #header-inner #quick ul ul {
515 #header #header-inner #quick ul ul {
516 top: auto;
516 top: auto;
517 }
517 }
518
518
519 #header #header-inner #quick li ul ul {
519 #header #header-inner #quick li ul ul {
520 right: 200px;
520 right: 200px;
521 max-height: 275px;
521 max-height: 275px;
522 overflow: auto;
522 overflow: auto;
523 overflow-x: hidden;
523 overflow-x: hidden;
524 white-space: normal;
524 white-space: normal;
525 }
525 }
526
526
527 #header #header-inner #quick li ul li a.journal,#header #header-inner #quick li ul li a.journal:hover
527 #header #header-inner #quick li ul li a.journal,#header #header-inner #quick li ul li a.journal:hover
528 {
528 {
529 background: url("../images/icons/book.png") no-repeat scroll 4px 9px
529 background: url("../images/icons/book.png") no-repeat scroll 4px 9px
530 #FFF;
530 #FFF;
531 width: 167px;
531 width: 167px;
532 margin: 0;
532 margin: 0;
533 padding: 12px 9px 7px 24px;
533 padding: 12px 9px 7px 24px;
534 }
534 }
535
535
536 #header #header-inner #quick li ul li a.private_repo,#header #header-inner #quick li ul li a.private_repo:hover
536 #header #header-inner #quick li ul li a.private_repo,#header #header-inner #quick li ul li a.private_repo:hover
537 {
537 {
538 background: url("../images/icons/lock.png") no-repeat scroll 4px 9px
538 background: url("../images/icons/lock.png") no-repeat scroll 4px 9px
539 #FFF;
539 #FFF;
540 min-width: 167px;
540 min-width: 167px;
541 margin: 0;
541 margin: 0;
542 padding: 12px 9px 7px 24px;
542 padding: 12px 9px 7px 24px;
543 }
543 }
544
544
545 #header #header-inner #quick li ul li a.public_repo,#header #header-inner #quick li ul li a.public_repo:hover
545 #header #header-inner #quick li ul li a.public_repo,#header #header-inner #quick li ul li a.public_repo:hover
546 {
546 {
547 background: url("../images/icons/lock_open.png") no-repeat scroll 4px
547 background: url("../images/icons/lock_open.png") no-repeat scroll 4px
548 9px #FFF;
548 9px #FFF;
549 min-width: 167px;
549 min-width: 167px;
550 margin: 0;
550 margin: 0;
551 padding: 12px 9px 7px 24px;
551 padding: 12px 9px 7px 24px;
552 }
552 }
553
553
554 #header #header-inner #quick li ul li a.hg,#header #header-inner #quick li ul li a.hg:hover
554 #header #header-inner #quick li ul li a.hg,#header #header-inner #quick li ul li a.hg:hover
555 {
555 {
556 background: url("../images/icons/hgicon.png") no-repeat scroll 4px 9px
556 background: url("../images/icons/hgicon.png") no-repeat scroll 4px 9px
557 #FFF;
557 #FFF;
558 min-width: 167px;
558 min-width: 167px;
559 margin: 0 0 0 14px;
559 margin: 0 0 0 14px;
560 padding: 12px 9px 7px 24px;
560 padding: 12px 9px 7px 24px;
561 }
561 }
562
562
563 #header #header-inner #quick li ul li a.git,#header #header-inner #quick li ul li a.git:hover
563 #header #header-inner #quick li ul li a.git,#header #header-inner #quick li ul li a.git:hover
564 {
564 {
565 background: url("../images/icons/giticon.png") no-repeat scroll 4px 9px
565 background: url("../images/icons/giticon.png") no-repeat scroll 4px 9px
566 #FFF;
566 #FFF;
567 min-width: 167px;
567 min-width: 167px;
568 margin: 0 0 0 14px;
568 margin: 0 0 0 14px;
569 padding: 12px 9px 7px 24px;
569 padding: 12px 9px 7px 24px;
570 }
570 }
571
571
572 #header #header-inner #quick li ul li a.repos,#header #header-inner #quick li ul li a.repos:hover
572 #header #header-inner #quick li ul li a.repos,#header #header-inner #quick li ul li a.repos:hover
573 {
573 {
574 background: url("../images/icons/database_edit.png") no-repeat scroll
574 background: url("../images/icons/database_edit.png") no-repeat scroll
575 4px 9px #FFF;
575 4px 9px #FFF;
576 width: 167px;
576 width: 167px;
577 margin: 0;
577 margin: 0;
578 padding: 12px 9px 7px 24px;
578 padding: 12px 9px 7px 24px;
579 }
579 }
580
580
581 #header #header-inner #quick li ul li a.repos_groups,#header #header-inner #quick li ul li a.repos_groups:hover
581 #header #header-inner #quick li ul li a.repos_groups,#header #header-inner #quick li ul li a.repos_groups:hover
582 {
582 {
583 background: url("../images/icons/database_link.png") no-repeat scroll
583 background: url("../images/icons/database_link.png") no-repeat scroll
584 4px 9px #FFF;
584 4px 9px #FFF;
585 width: 167px;
585 width: 167px;
586 margin: 0;
586 margin: 0;
587 padding: 12px 9px 7px 24px;
587 padding: 12px 9px 7px 24px;
588 }
588 }
589
589
590 #header #header-inner #quick li ul li a.users,#header #header-inner #quick li ul li a.users:hover
590 #header #header-inner #quick li ul li a.users,#header #header-inner #quick li ul li a.users:hover
591 {
591 {
592 background: #FFF url("../images/icons/user_edit.png") no-repeat 4px 9px;
592 background: #FFF url("../images/icons/user_edit.png") no-repeat 4px 9px;
593 width: 167px;
593 width: 167px;
594 margin: 0;
594 margin: 0;
595 padding: 12px 9px 7px 24px;
595 padding: 12px 9px 7px 24px;
596 }
596 }
597
597
598 #header #header-inner #quick li ul li a.groups,#header #header-inner #quick li ul li a.groups:hover
598 #header #header-inner #quick li ul li a.groups,#header #header-inner #quick li ul li a.groups:hover
599 {
599 {
600 background: #FFF url("../images/icons/group_edit.png") no-repeat 4px 9px;
600 background: #FFF url("../images/icons/group_edit.png") no-repeat 4px 9px;
601 width: 167px;
601 width: 167px;
602 margin: 0;
602 margin: 0;
603 padding: 12px 9px 7px 24px;
603 padding: 12px 9px 7px 24px;
604 }
604 }
605
605
606 #header #header-inner #quick li ul li a.settings,#header #header-inner #quick li ul li a.settings:hover
606 #header #header-inner #quick li ul li a.settings,#header #header-inner #quick li ul li a.settings:hover
607 {
607 {
608 background: #FFF url("../images/icons/cog.png") no-repeat 4px 9px;
608 background: #FFF url("../images/icons/cog.png") no-repeat 4px 9px;
609 width: 167px;
609 width: 167px;
610 margin: 0;
610 margin: 0;
611 padding: 12px 9px 7px 24px;
611 padding: 12px 9px 7px 24px;
612 }
612 }
613
613
614 #header #header-inner #quick li ul li a.permissions,#header #header-inner #quick li ul li a.permissions:hover
614 #header #header-inner #quick li ul li a.permissions,#header #header-inner #quick li ul li a.permissions:hover
615 {
615 {
616 background: #FFF url("../images/icons/key.png") no-repeat 4px 9px;
616 background: #FFF url("../images/icons/key.png") no-repeat 4px 9px;
617 width: 167px;
617 width: 167px;
618 margin: 0;
618 margin: 0;
619 padding: 12px 9px 7px 24px;
619 padding: 12px 9px 7px 24px;
620 }
620 }
621
621
622 #header #header-inner #quick li ul li a.ldap,#header #header-inner #quick li ul li a.ldap:hover
622 #header #header-inner #quick li ul li a.ldap,#header #header-inner #quick li ul li a.ldap:hover
623 {
623 {
624 background: #FFF url("../images/icons/server_key.png") no-repeat 4px 9px;
624 background: #FFF url("../images/icons/server_key.png") no-repeat 4px 9px;
625 width: 167px;
625 width: 167px;
626 margin: 0;
626 margin: 0;
627 padding: 12px 9px 7px 24px;
627 padding: 12px 9px 7px 24px;
628 }
628 }
629
629
630 #header #header-inner #quick li ul li a.fork,#header #header-inner #quick li ul li a.fork:hover
630 #header #header-inner #quick li ul li a.fork,#header #header-inner #quick li ul li a.fork:hover
631 {
631 {
632 background: #FFF url("../images/icons/arrow_divide.png") no-repeat 4px
632 background: #FFF url("../images/icons/arrow_divide.png") no-repeat 4px
633 9px;
633 9px;
634 width: 167px;
634 width: 167px;
635 margin: 0;
635 margin: 0;
636 padding: 12px 9px 7px 24px;
636 padding: 12px 9px 7px 24px;
637 }
637 }
638
638
639 #header #header-inner #quick li ul li a.search,#header #header-inner #quick li ul li a.search:hover
639 #header #header-inner #quick li ul li a.search,#header #header-inner #quick li ul li a.search:hover
640 {
640 {
641 background: #FFF url("../images/icons/search_16.png") no-repeat 4px 9px;
641 background: #FFF url("../images/icons/search_16.png") no-repeat 4px 9px;
642 width: 167px;
642 width: 167px;
643 margin: 0;
643 margin: 0;
644 padding: 12px 9px 7px 24px;
644 padding: 12px 9px 7px 24px;
645 }
645 }
646
646
647 #header #header-inner #quick li ul li a.delete,#header #header-inner #quick li ul li a.delete:hover
647 #header #header-inner #quick li ul li a.delete,#header #header-inner #quick li ul li a.delete:hover
648 {
648 {
649 background: #FFF url("../images/icons/delete.png") no-repeat 4px 9px;
649 background: #FFF url("../images/icons/delete.png") no-repeat 4px 9px;
650 width: 167px;
650 width: 167px;
651 margin: 0;
651 margin: 0;
652 padding: 12px 9px 7px 24px;
652 padding: 12px 9px 7px 24px;
653 }
653 }
654
654
655 #header #header-inner #quick li ul li a.branches,#header #header-inner #quick li ul li a.branches:hover
655 #header #header-inner #quick li ul li a.branches,#header #header-inner #quick li ul li a.branches:hover
656 {
656 {
657 background: #FFF url("../images/icons/arrow_branch.png") no-repeat 4px
657 background: #FFF url("../images/icons/arrow_branch.png") no-repeat 4px
658 9px;
658 9px;
659 width: 167px;
659 width: 167px;
660 margin: 0;
660 margin: 0;
661 padding: 12px 9px 7px 24px;
661 padding: 12px 9px 7px 24px;
662 }
662 }
663
663
664 #header #header-inner #quick li ul li a.tags,
664 #header #header-inner #quick li ul li a.tags,
665 #header #header-inner #quick li ul li a.tags:hover{
665 #header #header-inner #quick li ul li a.tags:hover{
666 background: #FFF url("../images/icons/tag_blue.png") no-repeat 4px 9px;
666 background: #FFF url("../images/icons/tag_blue.png") no-repeat 4px 9px;
667 width: 167px;
667 width: 167px;
668 margin: 0;
668 margin: 0;
669 padding: 12px 9px 7px 24px;
669 padding: 12px 9px 7px 24px;
670 }
670 }
671
671
672 #header #header-inner #quick li ul li a.bookmarks,
672 #header #header-inner #quick li ul li a.bookmarks,
673 #header #header-inner #quick li ul li a.bookmarks:hover{
673 #header #header-inner #quick li ul li a.bookmarks:hover{
674 background: #FFF url("../images/icons/tag_green.png") no-repeat 4px 9px;
674 background: #FFF url("../images/icons/tag_green.png") no-repeat 4px 9px;
675 width: 167px;
675 width: 167px;
676 margin: 0;
676 margin: 0;
677 padding: 12px 9px 7px 24px;
677 padding: 12px 9px 7px 24px;
678 }
678 }
679
679
680 #header #header-inner #quick li ul li a.admin,
680 #header #header-inner #quick li ul li a.admin,
681 #header #header-inner #quick li ul li a.admin:hover{
681 #header #header-inner #quick li ul li a.admin:hover{
682 background: #FFF url("../images/icons/cog_edit.png") no-repeat 4px 9px;
682 background: #FFF url("../images/icons/cog_edit.png") no-repeat 4px 9px;
683 width: 167px;
683 width: 167px;
684 margin: 0;
684 margin: 0;
685 padding: 12px 9px 7px 24px;
685 padding: 12px 9px 7px 24px;
686 }
686 }
687
687
688 .groups_breadcrumbs a {
688 .groups_breadcrumbs a {
689 color: #fff;
689 color: #fff;
690 }
690 }
691
691
692 .groups_breadcrumbs a:hover {
692 .groups_breadcrumbs a:hover {
693 color: #bfe3ff;
693 color: #bfe3ff;
694 text-decoration: none;
694 text-decoration: none;
695 }
695 }
696
696
697 td.quick_repo_menu {
697 td.quick_repo_menu {
698 background: #FFF url("../images/vertical-indicator.png") 8px 50% no-repeat !important;
698 background: #FFF url("../images/vertical-indicator.png") 8px 50% no-repeat !important;
699 cursor: pointer;
699 cursor: pointer;
700 width: 8px;
700 width: 8px;
701 border: 1px solid transparent;
701 border: 1px solid transparent;
702 }
702 }
703
703
704 td.quick_repo_menu.active {
704 td.quick_repo_menu.active {
705 background: url("../images/dt-arrow-dn.png") no-repeat scroll 5px 50% #FFFFFF !important;
705 background: url("../images/dt-arrow-dn.png") no-repeat scroll 5px 50% #FFFFFF !important;
706 border: 1px solid #003367;
706 border: 1px solid #003367;
707 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
707 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
708 cursor: pointer;
708 cursor: pointer;
709 }
709 }
710
710
711 td.quick_repo_menu .menu_items {
711 td.quick_repo_menu .menu_items {
712 margin-top: 10px;
712 margin-top: 10px;
713 margin-left:-6px;
713 margin-left:-6px;
714 width: 150px;
714 width: 150px;
715 position: absolute;
715 position: absolute;
716 background-color: #FFF;
716 background-color: #FFF;
717 background: none repeat scroll 0 0 #FFFFFF;
717 background: none repeat scroll 0 0 #FFFFFF;
718 border-color: #003367 #666666 #666666;
718 border-color: #003367 #666666 #666666;
719 border-right: 1px solid #666666;
719 border-right: 1px solid #666666;
720 border-style: solid;
720 border-style: solid;
721 border-width: 1px;
721 border-width: 1px;
722 box-shadow: 2px 8px 4px rgba(0, 0, 0, 0.2);
722 box-shadow: 2px 8px 4px rgba(0, 0, 0, 0.2);
723 border-top-style: none;
723 border-top-style: none;
724 }
724 }
725
725
726 td.quick_repo_menu .menu_items li {
726 td.quick_repo_menu .menu_items li {
727 padding: 0 !important;
727 padding: 0 !important;
728 }
728 }
729
729
730 td.quick_repo_menu .menu_items a {
730 td.quick_repo_menu .menu_items a {
731 display: block;
731 display: block;
732 padding: 4px 12px 4px 8px;
732 padding: 4px 12px 4px 8px;
733 }
733 }
734
734
735 td.quick_repo_menu .menu_items a:hover {
735 td.quick_repo_menu .menu_items a:hover {
736 background-color: #EEE;
736 background-color: #EEE;
737 text-decoration: none;
737 text-decoration: none;
738 }
738 }
739
739
740 td.quick_repo_menu .menu_items .icon img {
740 td.quick_repo_menu .menu_items .icon img {
741 margin-bottom: -2px;
741 margin-bottom: -2px;
742 }
742 }
743
743
744 td.quick_repo_menu .menu_items.hidden {
744 td.quick_repo_menu .menu_items.hidden {
745 display: none;
745 display: none;
746 }
746 }
747
747
748 .yui-dt-first th {
748 .yui-dt-first th {
749 text-align: left;
749 text-align: left;
750 }
750 }
751
751
752 /*
752 /*
753 Copyright (c) 2011, Yahoo! Inc. All rights reserved.
753 Copyright (c) 2011, Yahoo! Inc. All rights reserved.
754 Code licensed under the BSD License:
754 Code licensed under the BSD License:
755 http://developer.yahoo.com/yui/license.html
755 http://developer.yahoo.com/yui/license.html
756 version: 2.9.0
756 version: 2.9.0
757 */
757 */
758 .yui-skin-sam .yui-dt-mask {
758 .yui-skin-sam .yui-dt-mask {
759 position: absolute;
759 position: absolute;
760 z-index: 9500;
760 z-index: 9500;
761 }
761 }
762 .yui-dt-tmp {
762 .yui-dt-tmp {
763 position: absolute;
763 position: absolute;
764 left: -9000px;
764 left: -9000px;
765 }
765 }
766 .yui-dt-scrollable .yui-dt-bd { overflow: auto }
766 .yui-dt-scrollable .yui-dt-bd { overflow: auto }
767 .yui-dt-scrollable .yui-dt-hd {
767 .yui-dt-scrollable .yui-dt-hd {
768 overflow: hidden;
768 overflow: hidden;
769 position: relative;
769 position: relative;
770 }
770 }
771 .yui-dt-scrollable .yui-dt-bd thead tr,
771 .yui-dt-scrollable .yui-dt-bd thead tr,
772 .yui-dt-scrollable .yui-dt-bd thead th {
772 .yui-dt-scrollable .yui-dt-bd thead th {
773 position: absolute;
773 position: absolute;
774 left: -1500px;
774 left: -1500px;
775 }
775 }
776 .yui-dt-scrollable tbody { -moz-outline: 0 }
776 .yui-dt-scrollable tbody { -moz-outline: 0 }
777 .yui-skin-sam thead .yui-dt-sortable { cursor: pointer }
777 .yui-skin-sam thead .yui-dt-sortable { cursor: pointer }
778 .yui-skin-sam thead .yui-dt-draggable { cursor: move }
778 .yui-skin-sam thead .yui-dt-draggable { cursor: move }
779 .yui-dt-coltarget {
779 .yui-dt-coltarget {
780 position: absolute;
780 position: absolute;
781 z-index: 999;
781 z-index: 999;
782 }
782 }
783 .yui-dt-hd { zoom: 1 }
783 .yui-dt-hd { zoom: 1 }
784 th.yui-dt-resizeable .yui-dt-resizerliner { position: relative }
784 th.yui-dt-resizeable .yui-dt-resizerliner { position: relative }
785 .yui-dt-resizer {
785 .yui-dt-resizer {
786 position: absolute;
786 position: absolute;
787 right: 0;
787 right: 0;
788 bottom: 0;
788 bottom: 0;
789 height: 100%;
789 height: 100%;
790 cursor: e-resize;
790 cursor: e-resize;
791 cursor: col-resize;
791 cursor: col-resize;
792 background-color: #CCC;
792 background-color: #CCC;
793 opacity: 0;
793 opacity: 0;
794 filter: alpha(opacity=0);
794 filter: alpha(opacity=0);
795 }
795 }
796 .yui-dt-resizerproxy {
796 .yui-dt-resizerproxy {
797 visibility: hidden;
797 visibility: hidden;
798 position: absolute;
798 position: absolute;
799 z-index: 9000;
799 z-index: 9000;
800 background-color: #CCC;
800 background-color: #CCC;
801 opacity: 0;
801 opacity: 0;
802 filter: alpha(opacity=0);
802 filter: alpha(opacity=0);
803 }
803 }
804 th.yui-dt-hidden .yui-dt-liner,
804 th.yui-dt-hidden .yui-dt-liner,
805 td.yui-dt-hidden .yui-dt-liner,
805 td.yui-dt-hidden .yui-dt-liner,
806 th.yui-dt-hidden .yui-dt-resizer { display: none }
806 th.yui-dt-hidden .yui-dt-resizer { display: none }
807 .yui-dt-editor,
807 .yui-dt-editor,
808 .yui-dt-editor-shim {
808 .yui-dt-editor-shim {
809 position: absolute;
809 position: absolute;
810 z-index: 9000;
810 z-index: 9000;
811 }
811 }
812 .yui-skin-sam .yui-dt table {
812 .yui-skin-sam .yui-dt table {
813 margin: 0;
813 margin: 0;
814 padding: 0;
814 padding: 0;
815 font-family: arial;
815 font-family: arial;
816 font-size: inherit;
816 font-size: inherit;
817 border-collapse: separate;
817 border-collapse: separate;
818 *border-collapse: collapse;
818 *border-collapse: collapse;
819 border-spacing: 0;
819 border-spacing: 0;
820 border: 1px solid #7f7f7f;
820 border: 1px solid #7f7f7f;
821 }
821 }
822 .yui-skin-sam .yui-dt thead { border-spacing: 0 }
822 .yui-skin-sam .yui-dt thead { border-spacing: 0 }
823 .yui-skin-sam .yui-dt caption {
823 .yui-skin-sam .yui-dt caption {
824 color: #000;
824 color: #000;
825 font-size: 85%;
825 font-size: 85%;
826 font-weight: normal;
826 font-weight: normal;
827 font-style: italic;
827 font-style: italic;
828 line-height: 1;
828 line-height: 1;
829 padding: 1em 0;
829 padding: 1em 0;
830 text-align: center;
830 text-align: center;
831 }
831 }
832 .yui-skin-sam .yui-dt th { background: #d8d8da url(../images/sprite.png) repeat-x 0 0 }
832 .yui-skin-sam .yui-dt th { background: #d8d8da url(../images/sprite.png) repeat-x 0 0 }
833 .yui-skin-sam .yui-dt th,
833 .yui-skin-sam .yui-dt th,
834 .yui-skin-sam .yui-dt th a {
834 .yui-skin-sam .yui-dt th a {
835 font-weight: normal;
835 font-weight: normal;
836 text-decoration: none;
836 text-decoration: none;
837 color: #000;
837 color: #000;
838 vertical-align: bottom;
838 vertical-align: bottom;
839 }
839 }
840 .yui-skin-sam .yui-dt th {
840 .yui-skin-sam .yui-dt th {
841 margin: 0;
841 margin: 0;
842 padding: 0;
842 padding: 0;
843 border: 0;
843 border: 0;
844 border-right: 1px solid #cbcbcb;
844 border-right: 1px solid #cbcbcb;
845 }
845 }
846 .yui-skin-sam .yui-dt tr.yui-dt-first td { border-top: 1px solid #7f7f7f }
846 .yui-skin-sam .yui-dt tr.yui-dt-first td { border-top: 1px solid #7f7f7f }
847 .yui-skin-sam .yui-dt th .yui-dt-liner { white-space: nowrap }
847 .yui-skin-sam .yui-dt th .yui-dt-liner { white-space: nowrap }
848 .yui-skin-sam .yui-dt-liner {
848 .yui-skin-sam .yui-dt-liner {
849 margin: 0;
849 margin: 0;
850 padding: 0;
850 padding: 0;
851 }
851 }
852 .yui-skin-sam .yui-dt-coltarget {
852 .yui-skin-sam .yui-dt-coltarget {
853 width: 5px;
853 width: 5px;
854 background-color: red;
854 background-color: red;
855 }
855 }
856 .yui-skin-sam .yui-dt td {
856 .yui-skin-sam .yui-dt td {
857 margin: 0;
857 margin: 0;
858 padding: 0;
858 padding: 0;
859 border: 0;
859 border: 0;
860 border-right: 1px solid #cbcbcb;
860 border-right: 1px solid #cbcbcb;
861 text-align: left;
861 text-align: left;
862 }
862 }
863 .yui-skin-sam .yui-dt-list td { border-right: 0 }
863 .yui-skin-sam .yui-dt-list td { border-right: 0 }
864 .yui-skin-sam .yui-dt-resizer { width: 6px }
864 .yui-skin-sam .yui-dt-resizer { width: 6px }
865 .yui-skin-sam .yui-dt-mask {
865 .yui-skin-sam .yui-dt-mask {
866 background-color: #000;
866 background-color: #000;
867 opacity: .25;
867 opacity: .25;
868 filter: alpha(opacity=25);
868 filter: alpha(opacity=25);
869 }
869 }
870 .yui-skin-sam .yui-dt-message { background-color: #FFF }
870 .yui-skin-sam .yui-dt-message { background-color: #FFF }
871 .yui-skin-sam .yui-dt-scrollable table { border: 0 }
871 .yui-skin-sam .yui-dt-scrollable table { border: 0 }
872 .yui-skin-sam .yui-dt-scrollable .yui-dt-hd {
872 .yui-skin-sam .yui-dt-scrollable .yui-dt-hd {
873 border-left: 1px solid #7f7f7f;
873 border-left: 1px solid #7f7f7f;
874 border-top: 1px solid #7f7f7f;
874 border-top: 1px solid #7f7f7f;
875 border-right: 1px solid #7f7f7f;
875 border-right: 1px solid #7f7f7f;
876 }
876 }
877 .yui-skin-sam .yui-dt-scrollable .yui-dt-bd {
877 .yui-skin-sam .yui-dt-scrollable .yui-dt-bd {
878 border-left: 1px solid #7f7f7f;
878 border-left: 1px solid #7f7f7f;
879 border-bottom: 1px solid #7f7f7f;
879 border-bottom: 1px solid #7f7f7f;
880 border-right: 1px solid #7f7f7f;
880 border-right: 1px solid #7f7f7f;
881 background-color: #FFF;
881 background-color: #FFF;
882 }
882 }
883 .yui-skin-sam .yui-dt-scrollable .yui-dt-data tr.yui-dt-last td { border-bottom: 1px solid #7f7f7f }
883 .yui-skin-sam .yui-dt-scrollable .yui-dt-data tr.yui-dt-last td { border-bottom: 1px solid #7f7f7f }
884 .yui-skin-sam th.yui-dt-asc,
884 .yui-skin-sam th.yui-dt-asc,
885 .yui-skin-sam th.yui-dt-desc { background: url(../images/sprite.png) repeat-x 0 -100px }
885 .yui-skin-sam th.yui-dt-desc { background: url(../images/sprite.png) repeat-x 0 -100px }
886 .yui-skin-sam th.yui-dt-sortable .yui-dt-label { margin-right: 10px }
886 .yui-skin-sam th.yui-dt-sortable .yui-dt-label { margin-right: 10px }
887 .yui-skin-sam th.yui-dt-asc .yui-dt-liner { background: url(../images/dt-arrow-up.png) no-repeat right }
887 .yui-skin-sam th.yui-dt-asc .yui-dt-liner { background: url(../images/dt-arrow-up.png) no-repeat right }
888 .yui-skin-sam th.yui-dt-desc .yui-dt-liner { background: url(../images/dt-arrow-dn.png) no-repeat right }
888 .yui-skin-sam th.yui-dt-desc .yui-dt-liner { background: url(../images/dt-arrow-dn.png) no-repeat right }
889 tbody .yui-dt-editable { cursor: pointer }
889 tbody .yui-dt-editable { cursor: pointer }
890 .yui-dt-editor {
890 .yui-dt-editor {
891 text-align: left;
891 text-align: left;
892 background-color: #f2f2f2;
892 background-color: #f2f2f2;
893 border: 1px solid #808080;
893 border: 1px solid #808080;
894 padding: 6px;
894 padding: 6px;
895 }
895 }
896 .yui-dt-editor label {
896 .yui-dt-editor label {
897 padding-left: 4px;
897 padding-left: 4px;
898 padding-right: 6px;
898 padding-right: 6px;
899 }
899 }
900 .yui-dt-editor .yui-dt-button {
900 .yui-dt-editor .yui-dt-button {
901 padding-top: 6px;
901 padding-top: 6px;
902 text-align: right;
902 text-align: right;
903 }
903 }
904 .yui-dt-editor .yui-dt-button button {
904 .yui-dt-editor .yui-dt-button button {
905 background: url(../images/sprite.png) repeat-x 0 0;
905 background: url(../images/sprite.png) repeat-x 0 0;
906 border: 1px solid #999;
906 border: 1px solid #999;
907 width: 4em;
907 width: 4em;
908 height: 1.8em;
908 height: 1.8em;
909 margin-left: 6px;
909 margin-left: 6px;
910 }
910 }
911 .yui-dt-editor .yui-dt-button button.yui-dt-default {
911 .yui-dt-editor .yui-dt-button button.yui-dt-default {
912 background: url(../images/sprite.png) repeat-x 0 -1400px;
912 background: url(../images/sprite.png) repeat-x 0 -1400px;
913 background-color: #5584e0;
913 background-color: #5584e0;
914 border: 1px solid #304369;
914 border: 1px solid #304369;
915 color: #FFF;
915 color: #FFF;
916 }
916 }
917 .yui-dt-editor .yui-dt-button button:hover {
917 .yui-dt-editor .yui-dt-button button:hover {
918 background: url(../images/sprite.png) repeat-x 0 -1300px;
918 background: url(../images/sprite.png) repeat-x 0 -1300px;
919 color: #000;
919 color: #000;
920 }
920 }
921 .yui-dt-editor .yui-dt-button button:active {
921 .yui-dt-editor .yui-dt-button button:active {
922 background: url(../images/sprite.png) repeat-x 0 -1700px;
922 background: url(../images/sprite.png) repeat-x 0 -1700px;
923 color: #000;
923 color: #000;
924 }
924 }
925 .yui-skin-sam tr.yui-dt-even { background-color: #FFF }
925 .yui-skin-sam tr.yui-dt-even { background-color: #FFF }
926 .yui-skin-sam tr.yui-dt-odd { background-color: #edf5ff }
926 .yui-skin-sam tr.yui-dt-odd { background-color: #edf5ff }
927 .yui-skin-sam tr.yui-dt-even td.yui-dt-asc,
927 .yui-skin-sam tr.yui-dt-even td.yui-dt-asc,
928 .yui-skin-sam tr.yui-dt-even td.yui-dt-desc { background-color: #edf5ff }
928 .yui-skin-sam tr.yui-dt-even td.yui-dt-desc { background-color: #edf5ff }
929 .yui-skin-sam tr.yui-dt-odd td.yui-dt-asc,
929 .yui-skin-sam tr.yui-dt-odd td.yui-dt-asc,
930 .yui-skin-sam tr.yui-dt-odd td.yui-dt-desc { background-color: #dbeaff }
930 .yui-skin-sam tr.yui-dt-odd td.yui-dt-desc { background-color: #dbeaff }
931 .yui-skin-sam .yui-dt-list tr.yui-dt-even { background-color: #FFF }
931 .yui-skin-sam .yui-dt-list tr.yui-dt-even { background-color: #FFF }
932 .yui-skin-sam .yui-dt-list tr.yui-dt-odd { background-color: #FFF }
932 .yui-skin-sam .yui-dt-list tr.yui-dt-odd { background-color: #FFF }
933 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-asc,
933 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-asc,
934 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-desc { background-color: #edf5ff }
934 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-desc { background-color: #edf5ff }
935 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-asc,
935 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-asc,
936 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-desc { background-color: #edf5ff }
936 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-desc { background-color: #edf5ff }
937 .yui-skin-sam th.yui-dt-highlighted,
937 .yui-skin-sam th.yui-dt-highlighted,
938 .yui-skin-sam th.yui-dt-highlighted a { background-color: #b2d2ff }
938 .yui-skin-sam th.yui-dt-highlighted a { background-color: #b2d2ff }
939 .yui-skin-sam tr.yui-dt-highlighted,
939 .yui-skin-sam tr.yui-dt-highlighted,
940 .yui-skin-sam tr.yui-dt-highlighted td.yui-dt-asc,
940 .yui-skin-sam tr.yui-dt-highlighted td.yui-dt-asc,
941 .yui-skin-sam tr.yui-dt-highlighted td.yui-dt-desc,
941 .yui-skin-sam tr.yui-dt-highlighted td.yui-dt-desc,
942 .yui-skin-sam tr.yui-dt-even td.yui-dt-highlighted,
942 .yui-skin-sam tr.yui-dt-even td.yui-dt-highlighted,
943 .yui-skin-sam tr.yui-dt-odd td.yui-dt-highlighted {
943 .yui-skin-sam tr.yui-dt-odd td.yui-dt-highlighted {
944 cursor: pointer;
944 cursor: pointer;
945 background-color: #b2d2ff;
945 background-color: #b2d2ff;
946 }
946 }
947 .yui-skin-sam .yui-dt-list th.yui-dt-highlighted,
947 .yui-skin-sam .yui-dt-list th.yui-dt-highlighted,
948 .yui-skin-sam .yui-dt-list th.yui-dt-highlighted a { background-color: #b2d2ff }
948 .yui-skin-sam .yui-dt-list th.yui-dt-highlighted a { background-color: #b2d2ff }
949 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted,
949 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted,
950 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted td.yui-dt-asc,
950 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted td.yui-dt-asc,
951 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted td.yui-dt-desc,
951 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted td.yui-dt-desc,
952 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-highlighted,
952 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-highlighted,
953 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-highlighted {
953 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-highlighted {
954 cursor: pointer;
954 cursor: pointer;
955 background-color: #b2d2ff;
955 background-color: #b2d2ff;
956 }
956 }
957 .yui-skin-sam th.yui-dt-selected,
957 .yui-skin-sam th.yui-dt-selected,
958 .yui-skin-sam th.yui-dt-selected a { background-color: #446cd7 }
958 .yui-skin-sam th.yui-dt-selected a { background-color: #446cd7 }
959 .yui-skin-sam tr.yui-dt-selected td,
959 .yui-skin-sam tr.yui-dt-selected td,
960 .yui-skin-sam tr.yui-dt-selected td.yui-dt-asc,
960 .yui-skin-sam tr.yui-dt-selected td.yui-dt-asc,
961 .yui-skin-sam tr.yui-dt-selected td.yui-dt-desc {
961 .yui-skin-sam tr.yui-dt-selected td.yui-dt-desc {
962 background-color: #426fd9;
962 background-color: #426fd9;
963 color: #FFF;
963 color: #FFF;
964 }
964 }
965 .yui-skin-sam tr.yui-dt-even td.yui-dt-selected,
965 .yui-skin-sam tr.yui-dt-even td.yui-dt-selected,
966 .yui-skin-sam tr.yui-dt-odd td.yui-dt-selected {
966 .yui-skin-sam tr.yui-dt-odd td.yui-dt-selected {
967 background-color: #446cd7;
967 background-color: #446cd7;
968 color: #FFF;
968 color: #FFF;
969 }
969 }
970 .yui-skin-sam .yui-dt-list th.yui-dt-selected,
970 .yui-skin-sam .yui-dt-list th.yui-dt-selected,
971 .yui-skin-sam .yui-dt-list th.yui-dt-selected a { background-color: #446cd7 }
971 .yui-skin-sam .yui-dt-list th.yui-dt-selected a { background-color: #446cd7 }
972 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td,
972 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td,
973 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td.yui-dt-asc,
973 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td.yui-dt-asc,
974 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td.yui-dt-desc {
974 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td.yui-dt-desc {
975 background-color: #426fd9;
975 background-color: #426fd9;
976 color: #FFF;
976 color: #FFF;
977 }
977 }
978 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-selected,
978 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-selected,
979 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-selected {
979 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-selected {
980 background-color: #446cd7;
980 background-color: #446cd7;
981 color: #FFF;
981 color: #FFF;
982 }
982 }
983 .yui-skin-sam .yui-dt-paginator {
983 .yui-skin-sam .yui-dt-paginator {
984 display: block;
984 display: block;
985 margin: 6px 0;
985 margin: 6px 0;
986 white-space: nowrap;
986 white-space: nowrap;
987 }
987 }
988 .yui-skin-sam .yui-dt-paginator .yui-dt-first,
988 .yui-skin-sam .yui-dt-paginator .yui-dt-first,
989 .yui-skin-sam .yui-dt-paginator .yui-dt-last,
989 .yui-skin-sam .yui-dt-paginator .yui-dt-last,
990 .yui-skin-sam .yui-dt-paginator .yui-dt-selected { padding: 2px 6px }
990 .yui-skin-sam .yui-dt-paginator .yui-dt-selected { padding: 2px 6px }
991 .yui-skin-sam .yui-dt-paginator a.yui-dt-first,
991 .yui-skin-sam .yui-dt-paginator a.yui-dt-first,
992 .yui-skin-sam .yui-dt-paginator a.yui-dt-last { text-decoration: none }
992 .yui-skin-sam .yui-dt-paginator a.yui-dt-last { text-decoration: none }
993 .yui-skin-sam .yui-dt-paginator .yui-dt-previous,
993 .yui-skin-sam .yui-dt-paginator .yui-dt-previous,
994 .yui-skin-sam .yui-dt-paginator .yui-dt-next { display: none }
994 .yui-skin-sam .yui-dt-paginator .yui-dt-next { display: none }
995 .yui-skin-sam a.yui-dt-page {
995 .yui-skin-sam a.yui-dt-page {
996 border: 1px solid #cbcbcb;
996 border: 1px solid #cbcbcb;
997 padding: 2px 6px;
997 padding: 2px 6px;
998 text-decoration: none;
998 text-decoration: none;
999 background-color: #fff;
999 background-color: #fff;
1000 }
1000 }
1001 .yui-skin-sam .yui-dt-selected {
1001 .yui-skin-sam .yui-dt-selected {
1002 border: 1px solid #fff;
1002 border: 1px solid #fff;
1003 background-color: #fff;
1003 background-color: #fff;
1004 }
1004 }
1005
1005
1006 #content #left {
1006 #content #left {
1007 left: 0;
1007 left: 0;
1008 width: 280px;
1008 width: 280px;
1009 position: absolute;
1009 position: absolute;
1010 }
1010 }
1011
1011
1012 #content #right {
1012 #content #right {
1013 margin: 0 60px 10px 290px;
1013 margin: 0 60px 10px 290px;
1014 }
1014 }
1015
1015
1016 #content div.box {
1016 #content div.box {
1017 clear: both;
1017 clear: both;
1018 overflow: hidden;
1018 overflow: hidden;
1019 background: #fff;
1019 background: #fff;
1020 margin: 0 0 10px;
1020 margin: 0 0 10px;
1021 padding: 0 0 10px;
1021 padding: 0 0 10px;
1022 -webkit-border-radius: 4px 4px 4px 4px;
1022 -webkit-border-radius: 4px 4px 4px 4px;
1023 -khtml-border-radius: 4px 4px 4px 4px;
1023 -khtml-border-radius: 4px 4px 4px 4px;
1024 -moz-border-radius: 4px 4px 4px 4px;
1024 -moz-border-radius: 4px 4px 4px 4px;
1025 border-radius: 4px 4px 4px 4px;
1025 border-radius: 4px 4px 4px 4px;
1026 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1026 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1027 }
1027 }
1028
1028
1029 #content div.box-left {
1029 #content div.box-left {
1030 width: 49%;
1030 width: 49%;
1031 clear: none;
1031 clear: none;
1032 float: left;
1032 float: left;
1033 margin: 0 0 10px;
1033 margin: 0 0 10px;
1034 }
1034 }
1035
1035
1036 #content div.box-right {
1036 #content div.box-right {
1037 width: 49%;
1037 width: 49%;
1038 clear: none;
1038 clear: none;
1039 float: right;
1039 float: right;
1040 margin: 0 0 10px;
1040 margin: 0 0 10px;
1041 }
1041 }
1042
1042
1043 #content div.box div.title {
1043 #content div.box div.title {
1044 clear: both;
1044 clear: both;
1045 overflow: hidden;
1045 overflow: hidden;
1046 background-color: #003B76;
1046 background-color: #003B76;
1047 background-repeat: repeat-x;
1047 background-repeat: repeat-x;
1048 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
1048 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
1049 background-image: -moz-linear-gradient(top, #003b76, #00376e);
1049 background-image: -moz-linear-gradient(top, #003b76, #00376e);
1050 background-image: -ms-linear-gradient(top, #003b76, #00376e);
1050 background-image: -ms-linear-gradient(top, #003b76, #00376e);
1051 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
1051 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
1052 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
1052 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
1053 background-image: -o-linear-gradient(top, #003b76, #00376e);
1053 background-image: -o-linear-gradient(top, #003b76, #00376e);
1054 background-image: linear-gradient(top, #003b76, #00376e);
1054 background-image: linear-gradient(top, #003b76, #00376e);
1055 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76', endColorstr='#00376e', GradientType=0 );
1055 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76', endColorstr='#00376e', GradientType=0 );
1056 margin: 0 0 20px;
1056 margin: 0 0 20px;
1057 padding: 0;
1057 padding: 0;
1058 }
1058 }
1059
1059
1060 #content div.box div.title h5 {
1060 #content div.box div.title h5 {
1061 float: left;
1061 float: left;
1062 border: none;
1062 border: none;
1063 color: #fff;
1063 color: #fff;
1064 text-transform: uppercase;
1064 text-transform: uppercase;
1065 margin: 0;
1065 margin: 0;
1066 padding: 11px 0 11px 10px;
1066 padding: 11px 0 11px 10px;
1067 }
1067 }
1068
1068
1069 #content div.box div.title .link-white{
1069 #content div.box div.title .link-white{
1070 color: #FFFFFF;
1070 color: #FFFFFF;
1071 }
1071 }
1072
1072
1073 #content div.box div.title ul.links li {
1073 #content div.box div.title ul.links li {
1074 list-style: none;
1074 list-style: none;
1075 float: left;
1075 float: left;
1076 margin: 0;
1076 margin: 0;
1077 padding: 0;
1077 padding: 0;
1078 }
1078 }
1079
1079
1080 #content div.box div.title ul.links li a {
1080 #content div.box div.title ul.links li a {
1081 border-left: 1px solid #316293;
1081 border-left: 1px solid #316293;
1082 color: #FFFFFF;
1082 color: #FFFFFF;
1083 display: block;
1083 display: block;
1084 float: left;
1084 float: left;
1085 font-size: 13px;
1085 font-size: 13px;
1086 font-weight: 700;
1086 font-weight: 700;
1087 height: 1%;
1087 height: 1%;
1088 margin: 0;
1088 margin: 0;
1089 padding: 11px 22px 12px;
1089 padding: 11px 22px 12px;
1090 text-decoration: none;
1090 text-decoration: none;
1091 }
1091 }
1092
1092
1093 #content div.box h1,#content div.box h2,#content div.box h3,#content div.box h4,#content div.box h5,#content div.box h6
1093 #content div.box h1,#content div.box h2,#content div.box h3,#content div.box h4,#content div.box h5,#content div.box h6
1094 {
1094 {
1095 clear: both;
1095 clear: both;
1096 overflow: hidden;
1096 overflow: hidden;
1097 border-bottom: 1px solid #DDD;
1097 border-bottom: 1px solid #DDD;
1098 margin: 10px 20px;
1098 margin: 10px 20px;
1099 padding: 0 0 15px;
1099 padding: 0 0 15px;
1100 }
1100 }
1101
1101
1102 #content div.box p {
1102 #content div.box p {
1103 color: #5f5f5f;
1103 color: #5f5f5f;
1104 font-size: 12px;
1104 font-size: 12px;
1105 line-height: 150%;
1105 line-height: 150%;
1106 margin: 0 24px 10px;
1106 margin: 0 24px 10px;
1107 padding: 0;
1107 padding: 0;
1108 }
1108 }
1109
1109
1110 #content div.box blockquote {
1110 #content div.box blockquote {
1111 border-left: 4px solid #DDD;
1111 border-left: 4px solid #DDD;
1112 color: #5f5f5f;
1112 color: #5f5f5f;
1113 font-size: 11px;
1113 font-size: 11px;
1114 line-height: 150%;
1114 line-height: 150%;
1115 margin: 0 34px;
1115 margin: 0 34px;
1116 padding: 0 0 0 14px;
1116 padding: 0 0 0 14px;
1117 }
1117 }
1118
1118
1119 #content div.box blockquote p {
1119 #content div.box blockquote p {
1120 margin: 10px 0;
1120 margin: 10px 0;
1121 padding: 0;
1121 padding: 0;
1122 }
1122 }
1123
1123
1124 #content div.box dl {
1124 #content div.box dl {
1125 margin: 10px 0px;
1125 margin: 10px 0px;
1126 }
1126 }
1127
1127
1128 #content div.box dt {
1128 #content div.box dt {
1129 font-size: 12px;
1129 font-size: 12px;
1130 margin: 0;
1130 margin: 0;
1131 }
1131 }
1132
1132
1133 #content div.box dd {
1133 #content div.box dd {
1134 font-size: 12px;
1134 font-size: 12px;
1135 margin: 0;
1135 margin: 0;
1136 padding: 8px 0 8px 15px;
1136 padding: 8px 0 8px 15px;
1137 }
1137 }
1138
1138
1139 #content div.box li {
1139 #content div.box li {
1140 font-size: 12px;
1140 font-size: 12px;
1141 padding: 4px 0;
1141 padding: 4px 0;
1142 }
1142 }
1143
1143
1144 #content div.box ul.disc,#content div.box ul.circle {
1144 #content div.box ul.disc,#content div.box ul.circle {
1145 margin: 10px 24px 10px 38px;
1145 margin: 10px 24px 10px 38px;
1146 }
1146 }
1147
1147
1148 #content div.box ul.square {
1148 #content div.box ul.square {
1149 margin: 10px 24px 10px 40px;
1149 margin: 10px 24px 10px 40px;
1150 }
1150 }
1151
1151
1152 #content div.box img.left {
1152 #content div.box img.left {
1153 border: none;
1153 border: none;
1154 float: left;
1154 float: left;
1155 margin: 10px 10px 10px 0;
1155 margin: 10px 10px 10px 0;
1156 }
1156 }
1157
1157
1158 #content div.box img.right {
1158 #content div.box img.right {
1159 border: none;
1159 border: none;
1160 float: right;
1160 float: right;
1161 margin: 10px 0 10px 10px;
1161 margin: 10px 0 10px 10px;
1162 }
1162 }
1163
1163
1164 #content div.box div.messages {
1164 #content div.box div.messages {
1165 clear: both;
1165 clear: both;
1166 overflow: hidden;
1166 overflow: hidden;
1167 margin: 0 20px;
1167 margin: 0 20px;
1168 padding: 0;
1168 padding: 0;
1169 }
1169 }
1170
1170
1171 #content div.box div.message {
1171 #content div.box div.message {
1172 clear: both;
1172 clear: both;
1173 overflow: hidden;
1173 overflow: hidden;
1174 margin: 0;
1174 margin: 0;
1175 padding: 5px 0;
1175 padding: 5px 0;
1176 white-space: pre-wrap;
1176 white-space: pre-wrap;
1177 }
1177 }
1178 #content div.box div.expand {
1178 #content div.box div.expand {
1179 width: 110%;
1179 width: 110%;
1180 height:14px;
1180 height:14px;
1181 font-size:10px;
1181 font-size:10px;
1182 text-align:center;
1182 text-align:center;
1183 cursor: pointer;
1183 cursor: pointer;
1184 color:#666;
1184 color:#666;
1185
1185
1186 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)));
1186 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)));
1187 background:-webkit-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1187 background:-webkit-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1188 background:-moz-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1188 background:-moz-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1189 background:-o-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1189 background:-o-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1190 background:-ms-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1190 background:-ms-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1191 background:linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1191 background:linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1192
1192
1193 display: none;
1193 display: none;
1194 }
1194 }
1195 #content div.box div.expand .expandtext {
1195 #content div.box div.expand .expandtext {
1196 background-color: #ffffff;
1196 background-color: #ffffff;
1197 padding: 2px;
1197 padding: 2px;
1198 border-radius: 2px;
1198 border-radius: 2px;
1199 }
1199 }
1200
1200
1201 #content div.box div.message a {
1201 #content div.box div.message a {
1202 font-weight: 400 !important;
1202 font-weight: 400 !important;
1203 }
1203 }
1204
1204
1205 #content div.box div.message div.image {
1205 #content div.box div.message div.image {
1206 float: left;
1206 float: left;
1207 margin: 9px 0 0 5px;
1207 margin: 9px 0 0 5px;
1208 padding: 6px;
1208 padding: 6px;
1209 }
1209 }
1210
1210
1211 #content div.box div.message div.image img {
1211 #content div.box div.message div.image img {
1212 vertical-align: middle;
1212 vertical-align: middle;
1213 margin: 0;
1213 margin: 0;
1214 }
1214 }
1215
1215
1216 #content div.box div.message div.text {
1216 #content div.box div.message div.text {
1217 float: left;
1217 float: left;
1218 margin: 0;
1218 margin: 0;
1219 padding: 9px 6px;
1219 padding: 9px 6px;
1220 }
1220 }
1221
1221
1222 #content div.box div.message div.dismiss a {
1222 #content div.box div.message div.dismiss a {
1223 height: 16px;
1223 height: 16px;
1224 width: 16px;
1224 width: 16px;
1225 display: block;
1225 display: block;
1226 background: url("../images/icons/cross.png") no-repeat;
1226 background: url("../images/icons/cross.png") no-repeat;
1227 margin: 15px 14px 0 0;
1227 margin: 15px 14px 0 0;
1228 padding: 0;
1228 padding: 0;
1229 }
1229 }
1230
1230
1231 #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
1231 #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
1232 {
1232 {
1233 border: none;
1233 border: none;
1234 margin: 0;
1234 margin: 0;
1235 padding: 0;
1235 padding: 0;
1236 }
1236 }
1237
1237
1238 #content div.box div.message div.text span {
1238 #content div.box div.message div.text span {
1239 height: 1%;
1239 height: 1%;
1240 display: block;
1240 display: block;
1241 margin: 0;
1241 margin: 0;
1242 padding: 5px 0 0;
1242 padding: 5px 0 0;
1243 }
1243 }
1244
1244
1245 #content div.box div.message-error {
1245 #content div.box div.message-error {
1246 height: 1%;
1246 height: 1%;
1247 clear: both;
1247 clear: both;
1248 overflow: hidden;
1248 overflow: hidden;
1249 background: #FBE3E4;
1249 background: #FBE3E4;
1250 border: 1px solid #FBC2C4;
1250 border: 1px solid #FBC2C4;
1251 color: #860006;
1251 color: #860006;
1252 }
1252 }
1253
1253
1254 #content div.box div.message-error h6 {
1254 #content div.box div.message-error h6 {
1255 color: #860006;
1255 color: #860006;
1256 }
1256 }
1257
1257
1258 #content div.box div.message-warning {
1258 #content div.box div.message-warning {
1259 height: 1%;
1259 height: 1%;
1260 clear: both;
1260 clear: both;
1261 overflow: hidden;
1261 overflow: hidden;
1262 background: #FFF6BF;
1262 background: #FFF6BF;
1263 border: 1px solid #FFD324;
1263 border: 1px solid #FFD324;
1264 color: #5f5200;
1264 color: #5f5200;
1265 }
1265 }
1266
1266
1267 #content div.box div.message-warning h6 {
1267 #content div.box div.message-warning h6 {
1268 color: #5f5200;
1268 color: #5f5200;
1269 }
1269 }
1270
1270
1271 #content div.box div.message-notice {
1271 #content div.box div.message-notice {
1272 height: 1%;
1272 height: 1%;
1273 clear: both;
1273 clear: both;
1274 overflow: hidden;
1274 overflow: hidden;
1275 background: #8FBDE0;
1275 background: #8FBDE0;
1276 border: 1px solid #6BACDE;
1276 border: 1px solid #6BACDE;
1277 color: #003863;
1277 color: #003863;
1278 }
1278 }
1279
1279
1280 #content div.box div.message-notice h6 {
1280 #content div.box div.message-notice h6 {
1281 color: #003863;
1281 color: #003863;
1282 }
1282 }
1283
1283
1284 #content div.box div.message-success {
1284 #content div.box div.message-success {
1285 height: 1%;
1285 height: 1%;
1286 clear: both;
1286 clear: both;
1287 overflow: hidden;
1287 overflow: hidden;
1288 background: #E6EFC2;
1288 background: #E6EFC2;
1289 border: 1px solid #C6D880;
1289 border: 1px solid #C6D880;
1290 color: #4e6100;
1290 color: #4e6100;
1291 }
1291 }
1292
1292
1293 #content div.box div.message-success h6 {
1293 #content div.box div.message-success h6 {
1294 color: #4e6100;
1294 color: #4e6100;
1295 }
1295 }
1296
1296
1297 #content div.box div.form div.fields div.field {
1297 #content div.box div.form div.fields div.field {
1298 height: 1%;
1298 height: 1%;
1299 border-bottom: 1px solid #DDD;
1299 border-bottom: 1px solid #DDD;
1300 clear: both;
1300 clear: both;
1301 margin: 0;
1301 margin: 0;
1302 padding: 10px 0;
1302 padding: 10px 0;
1303 }
1303 }
1304
1304
1305 #content div.box div.form div.fields div.field-first {
1305 #content div.box div.form div.fields div.field-first {
1306 padding: 0 0 10px;
1306 padding: 0 0 10px;
1307 }
1307 }
1308
1308
1309 #content div.box div.form div.fields div.field-noborder {
1309 #content div.box div.form div.fields div.field-noborder {
1310 border-bottom: 0 !important;
1310 border-bottom: 0 !important;
1311 }
1311 }
1312
1312
1313 #content div.box div.form div.fields div.field span.error-message {
1313 #content div.box div.form div.fields div.field span.error-message {
1314 height: 1%;
1314 height: 1%;
1315 display: inline-block;
1315 display: inline-block;
1316 color: red;
1316 color: red;
1317 margin: 8px 0 0 4px;
1317 margin: 8px 0 0 4px;
1318 padding: 0;
1318 padding: 0;
1319 }
1319 }
1320
1320
1321 #content div.box div.form div.fields div.field span.success {
1321 #content div.box div.form div.fields div.field span.success {
1322 height: 1%;
1322 height: 1%;
1323 display: block;
1323 display: block;
1324 color: #316309;
1324 color: #316309;
1325 margin: 8px 0 0;
1325 margin: 8px 0 0;
1326 padding: 0;
1326 padding: 0;
1327 }
1327 }
1328
1328
1329 #content div.box div.form div.fields div.field div.label {
1329 #content div.box div.form div.fields div.field div.label {
1330 left: 70px;
1330 left: 70px;
1331 width: 155px;
1331 width: 155px;
1332 position: absolute;
1332 position: absolute;
1333 margin: 0;
1333 margin: 0;
1334 padding: 5px 0 0 0px;
1334 padding: 5px 0 0 0px;
1335 }
1335 }
1336
1336
1337 #content div.box div.form div.fields div.field div.label-summary {
1337 #content div.box div.form div.fields div.field div.label-summary {
1338 left: 30px;
1338 left: 30px;
1339 width: 155px;
1339 width: 155px;
1340 position: absolute;
1340 position: absolute;
1341 margin: 0;
1341 margin: 0;
1342 padding: 0px 0 0 0px;
1342 padding: 0px 0 0 0px;
1343 }
1343 }
1344
1344
1345 #content div.box-left div.form div.fields div.field div.label,
1345 #content div.box-left div.form div.fields div.field div.label,
1346 #content div.box-right div.form div.fields div.field div.label,
1346 #content div.box-right div.form div.fields div.field div.label,
1347 #content div.box-left div.form div.fields div.field div.label,
1347 #content div.box-left div.form div.fields div.field div.label,
1348 #content div.box-left div.form div.fields div.field div.label-summary,
1348 #content div.box-left div.form div.fields div.field div.label-summary,
1349 #content div.box-right div.form div.fields div.field div.label-summary,
1349 #content div.box-right div.form div.fields div.field div.label-summary,
1350 #content div.box-left div.form div.fields div.field div.label-summary
1350 #content div.box-left div.form div.fields div.field div.label-summary
1351 {
1351 {
1352 clear: both;
1352 clear: both;
1353 overflow: hidden;
1353 overflow: hidden;
1354 left: 0;
1354 left: 0;
1355 width: auto;
1355 width: auto;
1356 position: relative;
1356 position: relative;
1357 margin: 0;
1357 margin: 0;
1358 padding: 0 0 8px;
1358 padding: 0 0 8px;
1359 }
1359 }
1360
1360
1361 #content div.box div.form div.fields div.field div.label-select {
1361 #content div.box div.form div.fields div.field div.label-select {
1362 padding: 5px 0 0 5px;
1362 padding: 5px 0 0 5px;
1363 }
1363 }
1364
1364
1365 #content div.box-left div.form div.fields div.field div.label-select,
1365 #content div.box-left div.form div.fields div.field div.label-select,
1366 #content div.box-right div.form div.fields div.field div.label-select
1366 #content div.box-right div.form div.fields div.field div.label-select
1367 {
1367 {
1368 padding: 0 0 8px;
1368 padding: 0 0 8px;
1369 }
1369 }
1370
1370
1371 #content div.box-left div.form div.fields div.field div.label-textarea,
1371 #content div.box-left div.form div.fields div.field div.label-textarea,
1372 #content div.box-right div.form div.fields div.field div.label-textarea
1372 #content div.box-right div.form div.fields div.field div.label-textarea
1373 {
1373 {
1374 padding: 0 0 8px !important;
1374 padding: 0 0 8px !important;
1375 }
1375 }
1376
1376
1377 #content div.box div.form div.fields div.field div.label label,div.label label
1377 #content div.box div.form div.fields div.field div.label label,div.label label
1378 {
1378 {
1379 color: #393939;
1379 color: #393939;
1380 font-weight: 700;
1380 font-weight: 700;
1381 }
1381 }
1382 #content div.box div.form div.fields div.field div.label label,div.label-summary label
1382 #content div.box div.form div.fields div.field div.label label,div.label-summary label
1383 {
1383 {
1384 color: #393939;
1384 color: #393939;
1385 font-weight: 700;
1385 font-weight: 700;
1386 }
1386 }
1387 #content div.box div.form div.fields div.field div.input {
1387 #content div.box div.form div.fields div.field div.input {
1388 margin: 0 0 0 200px;
1388 margin: 0 0 0 200px;
1389 }
1389 }
1390
1390
1391 #content div.box div.form div.fields div.field div.input.summary {
1391 #content div.box div.form div.fields div.field div.input.summary {
1392 margin: 0 0 0 110px;
1392 margin: 0 0 0 110px;
1393 }
1393 }
1394 #content div.box div.form div.fields div.field div.input.summary-short {
1394 #content div.box div.form div.fields div.field div.input.summary-short {
1395 margin: 0 0 0 110px;
1395 margin: 0 0 0 110px;
1396 }
1396 }
1397 #content div.box div.form div.fields div.field div.file {
1397 #content div.box div.form div.fields div.field div.file {
1398 margin: 0 0 0 200px;
1398 margin: 0 0 0 200px;
1399 }
1399 }
1400
1400
1401 #content div.box-left div.form div.fields div.field div.input,#content div.box-right div.form div.fields div.field div.input
1401 #content div.box-left div.form div.fields div.field div.input,#content div.box-right div.form div.fields div.field div.input
1402 {
1402 {
1403 margin: 0 0 0 0px;
1403 margin: 0 0 0 0px;
1404 }
1404 }
1405
1405
1406 #content div.box div.form div.fields div.field div.input input {
1406 #content div.box div.form div.fields div.field div.input input {
1407 background: #FFF;
1407 background: #FFF;
1408 border-top: 1px solid #b3b3b3;
1408 border-top: 1px solid #b3b3b3;
1409 border-left: 1px solid #b3b3b3;
1409 border-left: 1px solid #b3b3b3;
1410 border-right: 1px solid #eaeaea;
1410 border-right: 1px solid #eaeaea;
1411 border-bottom: 1px solid #eaeaea;
1411 border-bottom: 1px solid #eaeaea;
1412 color: #000;
1412 color: #000;
1413 font-size: 11px;
1413 font-size: 11px;
1414 margin: 0;
1414 margin: 0;
1415 padding: 7px 7px 6px;
1415 padding: 7px 7px 6px;
1416 }
1416 }
1417
1417
1418 #content div.box div.form div.fields div.field div.input input#clone_url,
1418 #content div.box div.form div.fields div.field div.input input#clone_url,
1419 #content div.box div.form div.fields div.field div.input input#clone_url_id
1419 #content div.box div.form div.fields div.field div.input input#clone_url_id
1420 {
1420 {
1421 font-size: 16px;
1421 font-size: 16px;
1422 padding: 2px;
1422 padding: 2px;
1423 }
1423 }
1424
1424
1425 #content div.box div.form div.fields div.field div.file input {
1425 #content div.box div.form div.fields div.field div.file input {
1426 background: none repeat scroll 0 0 #FFFFFF;
1426 background: none repeat scroll 0 0 #FFFFFF;
1427 border-color: #B3B3B3 #EAEAEA #EAEAEA #B3B3B3;
1427 border-color: #B3B3B3 #EAEAEA #EAEAEA #B3B3B3;
1428 border-style: solid;
1428 border-style: solid;
1429 border-width: 1px;
1429 border-width: 1px;
1430 color: #000000;
1430 color: #000000;
1431 font-size: 11px;
1431 font-size: 11px;
1432 margin: 0;
1432 margin: 0;
1433 padding: 7px 7px 6px;
1433 padding: 7px 7px 6px;
1434 }
1434 }
1435
1435
1436 input.disabled {
1436 input.disabled {
1437 background-color: #F5F5F5 !important;
1437 background-color: #F5F5F5 !important;
1438 }
1438 }
1439 #content div.box div.form div.fields div.field div.input input.small {
1439 #content div.box div.form div.fields div.field div.input input.small {
1440 width: 30%;
1440 width: 30%;
1441 }
1441 }
1442
1442
1443 #content div.box div.form div.fields div.field div.input input.medium {
1443 #content div.box div.form div.fields div.field div.input input.medium {
1444 width: 55%;
1444 width: 55%;
1445 }
1445 }
1446
1446
1447 #content div.box div.form div.fields div.field div.input input.large {
1447 #content div.box div.form div.fields div.field div.input input.large {
1448 width: 85%;
1448 width: 85%;
1449 }
1449 }
1450
1450
1451 #content div.box div.form div.fields div.field div.input input.date {
1451 #content div.box div.form div.fields div.field div.input input.date {
1452 width: 177px;
1452 width: 177px;
1453 }
1453 }
1454
1454
1455 #content div.box div.form div.fields div.field div.input input.button {
1455 #content div.box div.form div.fields div.field div.input input.button {
1456 background: #D4D0C8;
1456 background: #D4D0C8;
1457 border-top: 1px solid #FFF;
1457 border-top: 1px solid #FFF;
1458 border-left: 1px solid #FFF;
1458 border-left: 1px solid #FFF;
1459 border-right: 1px solid #404040;
1459 border-right: 1px solid #404040;
1460 border-bottom: 1px solid #404040;
1460 border-bottom: 1px solid #404040;
1461 color: #000;
1461 color: #000;
1462 margin: 0;
1462 margin: 0;
1463 padding: 4px 8px;
1463 padding: 4px 8px;
1464 }
1464 }
1465
1465
1466 #content div.box div.form div.fields div.field div.textarea {
1466 #content div.box div.form div.fields div.field div.textarea {
1467 border-top: 1px solid #b3b3b3;
1467 border-top: 1px solid #b3b3b3;
1468 border-left: 1px solid #b3b3b3;
1468 border-left: 1px solid #b3b3b3;
1469 border-right: 1px solid #eaeaea;
1469 border-right: 1px solid #eaeaea;
1470 border-bottom: 1px solid #eaeaea;
1470 border-bottom: 1px solid #eaeaea;
1471 margin: 0 0 0 200px;
1471 margin: 0 0 0 200px;
1472 padding: 10px;
1472 padding: 10px;
1473 }
1473 }
1474
1474
1475 #content div.box div.form div.fields div.field div.textarea-editor {
1475 #content div.box div.form div.fields div.field div.textarea-editor {
1476 border: 1px solid #ddd;
1476 border: 1px solid #ddd;
1477 padding: 0;
1477 padding: 0;
1478 }
1478 }
1479
1479
1480 #content div.box div.form div.fields div.field div.textarea textarea {
1480 #content div.box div.form div.fields div.field div.textarea textarea {
1481 width: 100%;
1481 width: 100%;
1482 height: 220px;
1482 height: 220px;
1483 overflow: hidden;
1483 overflow: hidden;
1484 background: #FFF;
1484 background: #FFF;
1485 color: #000;
1485 color: #000;
1486 font-size: 11px;
1486 font-size: 11px;
1487 outline: none;
1487 outline: none;
1488 border-width: 0;
1488 border-width: 0;
1489 margin: 0;
1489 margin: 0;
1490 padding: 0;
1490 padding: 0;
1491 }
1491 }
1492
1492
1493 #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
1493 #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
1494 {
1494 {
1495 width: 100%;
1495 width: 100%;
1496 height: 100px;
1496 height: 100px;
1497 }
1497 }
1498
1498
1499 #content div.box div.form div.fields div.field div.textarea table {
1499 #content div.box div.form div.fields div.field div.textarea table {
1500 width: 100%;
1500 width: 100%;
1501 border: none;
1501 border: none;
1502 margin: 0;
1502 margin: 0;
1503 padding: 0;
1503 padding: 0;
1504 }
1504 }
1505
1505
1506 #content div.box div.form div.fields div.field div.textarea table td {
1506 #content div.box div.form div.fields div.field div.textarea table td {
1507 background: #DDD;
1507 background: #DDD;
1508 border: none;
1508 border: none;
1509 padding: 0;
1509 padding: 0;
1510 }
1510 }
1511
1511
1512 #content div.box div.form div.fields div.field div.textarea table td table
1512 #content div.box div.form div.fields div.field div.textarea table td table
1513 {
1513 {
1514 width: auto;
1514 width: auto;
1515 border: none;
1515 border: none;
1516 margin: 0;
1516 margin: 0;
1517 padding: 0;
1517 padding: 0;
1518 }
1518 }
1519
1519
1520 #content div.box div.form div.fields div.field div.textarea table td table td
1520 #content div.box div.form div.fields div.field div.textarea table td table td
1521 {
1521 {
1522 font-size: 11px;
1522 font-size: 11px;
1523 padding: 5px 5px 5px 0;
1523 padding: 5px 5px 5px 0;
1524 }
1524 }
1525
1525
1526 #content div.box div.form div.fields div.field input[type=text]:focus,#content div.box div.form div.fields div.field input[type=password]:focus,#content div.box div.form div.fields div.field input[type=file]:focus,#content div.box div.form div.fields div.field textarea:focus,#content div.box div.form div.fields div.field select:focus
1526 #content div.box div.form div.fields div.field input[type=text]:focus,#content div.box div.form div.fields div.field input[type=password]:focus,#content div.box div.form div.fields div.field input[type=file]:focus,#content div.box div.form div.fields div.field textarea:focus,#content div.box div.form div.fields div.field select:focus
1527 {
1527 {
1528 background: #f6f6f6;
1528 background: #f6f6f6;
1529 border-color: #666;
1529 border-color: #666;
1530 }
1530 }
1531
1531
1532 div.form div.fields div.field div.button {
1532 div.form div.fields div.field div.button {
1533 margin: 0;
1533 margin: 0;
1534 padding: 0 0 0 8px;
1534 padding: 0 0 0 8px;
1535 }
1535 }
1536 #content div.box table.noborder {
1536 #content div.box table.noborder {
1537 border: 1px solid transparent;
1537 border: 1px solid transparent;
1538 }
1538 }
1539
1539
1540 #content div.box table {
1540 #content div.box table {
1541 width: 100%;
1541 width: 100%;
1542 border-collapse: separate;
1542 border-collapse: separate;
1543 margin: 0;
1543 margin: 0;
1544 padding: 0;
1544 padding: 0;
1545 border: 1px solid #eee;
1545 border: 1px solid #eee;
1546 -webkit-border-radius: 4px;
1546 -webkit-border-radius: 4px;
1547 -moz-border-radius: 4px;
1547 -moz-border-radius: 4px;
1548 border-radius: 4px;
1548 border-radius: 4px;
1549 }
1549 }
1550
1550
1551 #content div.box table th {
1551 #content div.box table th {
1552 background: #eee;
1552 background: #eee;
1553 border-bottom: 1px solid #ddd;
1553 border-bottom: 1px solid #ddd;
1554 padding: 5px 0px 5px 5px;
1554 padding: 5px 0px 5px 5px;
1555 }
1555 }
1556
1556
1557 #content div.box table th.left {
1557 #content div.box table th.left {
1558 text-align: left;
1558 text-align: left;
1559 }
1559 }
1560
1560
1561 #content div.box table th.right {
1561 #content div.box table th.right {
1562 text-align: right;
1562 text-align: right;
1563 }
1563 }
1564
1564
1565 #content div.box table th.center {
1565 #content div.box table th.center {
1566 text-align: center;
1566 text-align: center;
1567 }
1567 }
1568
1568
1569 #content div.box table th.selected {
1569 #content div.box table th.selected {
1570 vertical-align: middle;
1570 vertical-align: middle;
1571 padding: 0;
1571 padding: 0;
1572 }
1572 }
1573
1573
1574 #content div.box table td {
1574 #content div.box table td {
1575 background: #fff;
1575 background: #fff;
1576 border-bottom: 1px solid #cdcdcd;
1576 border-bottom: 1px solid #cdcdcd;
1577 vertical-align: middle;
1577 vertical-align: middle;
1578 padding: 5px;
1578 padding: 5px;
1579 }
1579 }
1580
1580
1581 #content div.box table tr.selected td {
1581 #content div.box table tr.selected td {
1582 background: #FFC;
1582 background: #FFC;
1583 }
1583 }
1584
1584
1585 #content div.box table td.selected {
1585 #content div.box table td.selected {
1586 width: 3%;
1586 width: 3%;
1587 text-align: center;
1587 text-align: center;
1588 vertical-align: middle;
1588 vertical-align: middle;
1589 padding: 0;
1589 padding: 0;
1590 }
1590 }
1591
1591
1592 #content div.box table td.action {
1592 #content div.box table td.action {
1593 width: 45%;
1593 width: 45%;
1594 text-align: left;
1594 text-align: left;
1595 }
1595 }
1596
1596
1597 #content div.box table td.date {
1597 #content div.box table td.date {
1598 width: 33%;
1598 width: 33%;
1599 text-align: center;
1599 text-align: center;
1600 }
1600 }
1601
1601
1602 #content div.box div.action {
1602 #content div.box div.action {
1603 float: right;
1603 float: right;
1604 background: #FFF;
1604 background: #FFF;
1605 text-align: right;
1605 text-align: right;
1606 margin: 10px 0 0;
1606 margin: 10px 0 0;
1607 padding: 0;
1607 padding: 0;
1608 }
1608 }
1609
1609
1610 #content div.box div.action select {
1610 #content div.box div.action select {
1611 font-size: 11px;
1611 font-size: 11px;
1612 margin: 0;
1612 margin: 0;
1613 }
1613 }
1614
1614
1615 #content div.box div.action .ui-selectmenu {
1615 #content div.box div.action .ui-selectmenu {
1616 margin: 0;
1616 margin: 0;
1617 padding: 0;
1617 padding: 0;
1618 }
1618 }
1619
1619
1620 #content div.box div.pagination {
1620 #content div.box div.pagination {
1621 height: 1%;
1621 height: 1%;
1622 clear: both;
1622 clear: both;
1623 overflow: hidden;
1623 overflow: hidden;
1624 margin: 10px 0 0;
1624 margin: 10px 0 0;
1625 padding: 0;
1625 padding: 0;
1626 }
1626 }
1627
1627
1628 #content div.box div.pagination ul.pager {
1628 #content div.box div.pagination ul.pager {
1629 float: right;
1629 float: right;
1630 text-align: right;
1630 text-align: right;
1631 margin: 0;
1631 margin: 0;
1632 padding: 0;
1632 padding: 0;
1633 }
1633 }
1634
1634
1635 #content div.box div.pagination ul.pager li {
1635 #content div.box div.pagination ul.pager li {
1636 height: 1%;
1636 height: 1%;
1637 float: left;
1637 float: left;
1638 list-style: none;
1638 list-style: none;
1639 background: #ebebeb url("../images/pager.png") repeat-x;
1639 background: #ebebeb url("../images/pager.png") repeat-x;
1640 border-top: 1px solid #dedede;
1640 border-top: 1px solid #dedede;
1641 border-left: 1px solid #cfcfcf;
1641 border-left: 1px solid #cfcfcf;
1642 border-right: 1px solid #c4c4c4;
1642 border-right: 1px solid #c4c4c4;
1643 border-bottom: 1px solid #c4c4c4;
1643 border-bottom: 1px solid #c4c4c4;
1644 color: #4A4A4A;
1644 color: #4A4A4A;
1645 font-weight: 700;
1645 font-weight: 700;
1646 margin: 0 0 0 4px;
1646 margin: 0 0 0 4px;
1647 padding: 0;
1647 padding: 0;
1648 }
1648 }
1649
1649
1650 #content div.box div.pagination ul.pager li.separator {
1650 #content div.box div.pagination ul.pager li.separator {
1651 padding: 6px;
1651 padding: 6px;
1652 }
1652 }
1653
1653
1654 #content div.box div.pagination ul.pager li.current {
1654 #content div.box div.pagination ul.pager li.current {
1655 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1655 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1656 border-top: 1px solid #ccc;
1656 border-top: 1px solid #ccc;
1657 border-left: 1px solid #bebebe;
1657 border-left: 1px solid #bebebe;
1658 border-right: 1px solid #b1b1b1;
1658 border-right: 1px solid #b1b1b1;
1659 border-bottom: 1px solid #afafaf;
1659 border-bottom: 1px solid #afafaf;
1660 color: #515151;
1660 color: #515151;
1661 padding: 6px;
1661 padding: 6px;
1662 }
1662 }
1663
1663
1664 #content div.box div.pagination ul.pager li a {
1664 #content div.box div.pagination ul.pager li a {
1665 height: 1%;
1665 height: 1%;
1666 display: block;
1666 display: block;
1667 float: left;
1667 float: left;
1668 color: #515151;
1668 color: #515151;
1669 text-decoration: none;
1669 text-decoration: none;
1670 margin: 0;
1670 margin: 0;
1671 padding: 6px;
1671 padding: 6px;
1672 }
1672 }
1673
1673
1674 #content div.box div.pagination ul.pager li a:hover,#content div.box div.pagination ul.pager li a:active
1674 #content div.box div.pagination ul.pager li a:hover,#content div.box div.pagination ul.pager li a:active
1675 {
1675 {
1676 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1676 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1677 border-top: 1px solid #ccc;
1677 border-top: 1px solid #ccc;
1678 border-left: 1px solid #bebebe;
1678 border-left: 1px solid #bebebe;
1679 border-right: 1px solid #b1b1b1;
1679 border-right: 1px solid #b1b1b1;
1680 border-bottom: 1px solid #afafaf;
1680 border-bottom: 1px solid #afafaf;
1681 margin: -1px;
1681 margin: -1px;
1682 }
1682 }
1683
1683
1684 #content div.box div.pagination-wh {
1684 #content div.box div.pagination-wh {
1685 height: 1%;
1685 height: 1%;
1686 clear: both;
1686 clear: both;
1687 overflow: hidden;
1687 overflow: hidden;
1688 text-align: right;
1688 text-align: right;
1689 margin: 10px 0 0;
1689 margin: 10px 0 0;
1690 padding: 0;
1690 padding: 0;
1691 }
1691 }
1692
1692
1693 #content div.box div.pagination-right {
1693 #content div.box div.pagination-right {
1694 float: right;
1694 float: right;
1695 }
1695 }
1696
1696
1697 #content div.box div.pagination-wh a,#content div.box div.pagination-wh span.pager_dotdot
1697 #content div.box div.pagination-wh a,#content div.box div.pagination-wh span.pager_dotdot
1698 {
1698 {
1699 height: 1%;
1699 height: 1%;
1700 float: left;
1700 float: left;
1701 background: #ebebeb url("../images/pager.png") repeat-x;
1701 background: #ebebeb url("../images/pager.png") repeat-x;
1702 border-top: 1px solid #dedede;
1702 border-top: 1px solid #dedede;
1703 border-left: 1px solid #cfcfcf;
1703 border-left: 1px solid #cfcfcf;
1704 border-right: 1px solid #c4c4c4;
1704 border-right: 1px solid #c4c4c4;
1705 border-bottom: 1px solid #c4c4c4;
1705 border-bottom: 1px solid #c4c4c4;
1706 color: #4A4A4A;
1706 color: #4A4A4A;
1707 font-weight: 700;
1707 font-weight: 700;
1708 margin: 0 0 0 4px;
1708 margin: 0 0 0 4px;
1709 padding: 6px;
1709 padding: 6px;
1710 }
1710 }
1711
1711
1712 #content div.box div.pagination-wh span.pager_curpage {
1712 #content div.box div.pagination-wh span.pager_curpage {
1713 height: 1%;
1713 height: 1%;
1714 float: left;
1714 float: left;
1715 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1715 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1716 border-top: 1px solid #ccc;
1716 border-top: 1px solid #ccc;
1717 border-left: 1px solid #bebebe;
1717 border-left: 1px solid #bebebe;
1718 border-right: 1px solid #b1b1b1;
1718 border-right: 1px solid #b1b1b1;
1719 border-bottom: 1px solid #afafaf;
1719 border-bottom: 1px solid #afafaf;
1720 color: #515151;
1720 color: #515151;
1721 font-weight: 700;
1721 font-weight: 700;
1722 margin: 0 0 0 4px;
1722 margin: 0 0 0 4px;
1723 padding: 6px;
1723 padding: 6px;
1724 }
1724 }
1725
1725
1726 #content div.box div.pagination-wh a:hover,#content div.box div.pagination-wh a:active
1726 #content div.box div.pagination-wh a:hover,#content div.box div.pagination-wh a:active
1727 {
1727 {
1728 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1728 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1729 border-top: 1px solid #ccc;
1729 border-top: 1px solid #ccc;
1730 border-left: 1px solid #bebebe;
1730 border-left: 1px solid #bebebe;
1731 border-right: 1px solid #b1b1b1;
1731 border-right: 1px solid #b1b1b1;
1732 border-bottom: 1px solid #afafaf;
1732 border-bottom: 1px solid #afafaf;
1733 text-decoration: none;
1733 text-decoration: none;
1734 }
1734 }
1735
1735
1736 #content div.box div.traffic div.legend {
1736 #content div.box div.traffic div.legend {
1737 clear: both;
1737 clear: both;
1738 overflow: hidden;
1738 overflow: hidden;
1739 border-bottom: 1px solid #ddd;
1739 border-bottom: 1px solid #ddd;
1740 margin: 0 0 10px;
1740 margin: 0 0 10px;
1741 padding: 0 0 10px;
1741 padding: 0 0 10px;
1742 }
1742 }
1743
1743
1744 #content div.box div.traffic div.legend h6 {
1744 #content div.box div.traffic div.legend h6 {
1745 float: left;
1745 float: left;
1746 border: none;
1746 border: none;
1747 margin: 0;
1747 margin: 0;
1748 padding: 0;
1748 padding: 0;
1749 }
1749 }
1750
1750
1751 #content div.box div.traffic div.legend li {
1751 #content div.box div.traffic div.legend li {
1752 list-style: none;
1752 list-style: none;
1753 float: left;
1753 float: left;
1754 font-size: 11px;
1754 font-size: 11px;
1755 margin: 0;
1755 margin: 0;
1756 padding: 0 8px 0 4px;
1756 padding: 0 8px 0 4px;
1757 }
1757 }
1758
1758
1759 #content div.box div.traffic div.legend li.visits {
1759 #content div.box div.traffic div.legend li.visits {
1760 border-left: 12px solid #edc240;
1760 border-left: 12px solid #edc240;
1761 }
1761 }
1762
1762
1763 #content div.box div.traffic div.legend li.pageviews {
1763 #content div.box div.traffic div.legend li.pageviews {
1764 border-left: 12px solid #afd8f8;
1764 border-left: 12px solid #afd8f8;
1765 }
1765 }
1766
1766
1767 #content div.box div.traffic table {
1767 #content div.box div.traffic table {
1768 width: auto;
1768 width: auto;
1769 }
1769 }
1770
1770
1771 #content div.box div.traffic table td {
1771 #content div.box div.traffic table td {
1772 background: transparent;
1772 background: transparent;
1773 border: none;
1773 border: none;
1774 padding: 2px 3px 3px;
1774 padding: 2px 3px 3px;
1775 }
1775 }
1776
1776
1777 #content div.box div.traffic table td.legendLabel {
1777 #content div.box div.traffic table td.legendLabel {
1778 padding: 0 3px 2px;
1778 padding: 0 3px 2px;
1779 }
1779 }
1780
1780
1781 #summary {
1781 #summary {
1782
1782
1783 }
1783 }
1784
1784
1785 #summary .desc {
1785 #summary .desc {
1786 white-space: pre;
1786 white-space: pre;
1787 width: 100%;
1787 width: 100%;
1788 }
1788 }
1789
1789
1790 #summary .repo_name {
1790 #summary .repo_name {
1791 font-size: 1.6em;
1791 font-size: 1.6em;
1792 font-weight: bold;
1792 font-weight: bold;
1793 vertical-align: baseline;
1793 vertical-align: baseline;
1794 clear: right
1794 clear: right
1795 }
1795 }
1796
1796
1797 #footer {
1797 #footer {
1798 clear: both;
1798 clear: both;
1799 overflow: hidden;
1799 overflow: hidden;
1800 text-align: right;
1800 text-align: right;
1801 margin: 0;
1801 margin: 0;
1802 padding: 0 10px 4px;
1802 padding: 0 10px 4px;
1803 margin: -10px 0 0;
1803 margin: -10px 0 0;
1804 }
1804 }
1805
1805
1806 #footer div#footer-inner {
1806 #footer div#footer-inner {
1807 background-color: #003B76;
1807 background-color: #003B76;
1808 background-repeat : repeat-x;
1808 background-repeat : repeat-x;
1809 background-image : -khtml-gradient( linear, left top, left bottom, from(#003B76), to(#00376E));
1809 background-image : -khtml-gradient( linear, left top, left bottom, from(#003B76), to(#00376E));
1810 background-image : -moz-linear-gradient(top, #003b76, #00376e);
1810 background-image : -moz-linear-gradient(top, #003b76, #00376e);
1811 background-image : -ms-linear-gradient( top, #003b76, #00376e);
1811 background-image : -ms-linear-gradient( top, #003b76, #00376e);
1812 background-image : -webkit-gradient( linear, left top, left bottom, color-stop( 0%, #003b76), color-stop( 100%, #00376e));
1812 background-image : -webkit-gradient( linear, left top, left bottom, color-stop( 0%, #003b76), color-stop( 100%, #00376e));
1813 background-image : -webkit-linear-gradient( top, #003b76, #00376e));
1813 background-image : -webkit-linear-gradient( top, #003b76, #00376e));
1814 background-image : -o-linear-gradient( top, #003b76, #00376e));
1814 background-image : -o-linear-gradient( top, #003b76, #00376e));
1815 background-image : linear-gradient( top, #003b76, #00376e);
1815 background-image : linear-gradient( top, #003b76, #00376e);
1816 filter :progid : DXImageTransform.Microsoft.gradient ( startColorstr = '#003b76', endColorstr = '#00376e', GradientType = 0);
1816 filter :progid : DXImageTransform.Microsoft.gradient ( startColorstr = '#003b76', endColorstr = '#00376e', GradientType = 0);
1817 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1817 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1818 -webkit-border-radius: 4px 4px 4px 4px;
1818 -webkit-border-radius: 4px 4px 4px 4px;
1819 -khtml-border-radius: 4px 4px 4px 4px;
1819 -khtml-border-radius: 4px 4px 4px 4px;
1820 -moz-border-radius: 4px 4px 4px 4px;
1820 -moz-border-radius: 4px 4px 4px 4px;
1821 border-radius: 4px 4px 4px 4px;
1821 border-radius: 4px 4px 4px 4px;
1822 }
1822 }
1823
1823
1824 #footer div#footer-inner p {
1824 #footer div#footer-inner p {
1825 padding: 15px 25px 15px 0;
1825 padding: 15px 25px 15px 0;
1826 color: #FFF;
1826 color: #FFF;
1827 font-weight: 700;
1827 font-weight: 700;
1828 }
1828 }
1829
1829
1830 #footer div#footer-inner .footer-link {
1830 #footer div#footer-inner .footer-link {
1831 float: left;
1831 float: left;
1832 padding-left: 10px;
1832 padding-left: 10px;
1833 }
1833 }
1834
1834
1835 #footer div#footer-inner .footer-link a,#footer div#footer-inner .footer-link-right a
1835 #footer div#footer-inner .footer-link a,#footer div#footer-inner .footer-link-right a
1836 {
1836 {
1837 color: #FFF;
1837 color: #FFF;
1838 }
1838 }
1839
1839
1840 #login div.title {
1840 #login div.title {
1841 width: 420px;
1841 width: 420px;
1842 clear: both;
1842 clear: both;
1843 overflow: hidden;
1843 overflow: hidden;
1844 position: relative;
1844 position: relative;
1845 background-color: #003B76;
1845 background-color: #003B76;
1846 background-repeat : repeat-x;
1846 background-repeat : repeat-x;
1847 background-image : -khtml-gradient( linear, left top, left bottom, from(#003B76), to(#00376E));
1847 background-image : -khtml-gradient( linear, left top, left bottom, from(#003B76), to(#00376E));
1848 background-image : -moz-linear-gradient( top, #003b76, #00376e);
1848 background-image : -moz-linear-gradient( top, #003b76, #00376e);
1849 background-image : -ms-linear-gradient( top, #003b76, #00376e);
1849 background-image : -ms-linear-gradient( top, #003b76, #00376e);
1850 background-image : -webkit-gradient( linear, left top, left bottom, color-stop( 0%, #003b76), color-stop( 100%, #00376e));
1850 background-image : -webkit-gradient( linear, left top, left bottom, color-stop( 0%, #003b76), color-stop( 100%, #00376e));
1851 background-image : -webkit-linear-gradient( top, #003b76, #00376e));
1851 background-image : -webkit-linear-gradient( top, #003b76, #00376e));
1852 background-image : -o-linear-gradient( top, #003b76, #00376e));
1852 background-image : -o-linear-gradient( top, #003b76, #00376e));
1853 background-image : linear-gradient( top, #003b76, #00376e);
1853 background-image : linear-gradient( top, #003b76, #00376e);
1854 filter : progid : DXImageTransform.Microsoft.gradient ( startColorstr = '#003b76', endColorstr = '#00376e', GradientType = 0);
1854 filter : progid : DXImageTransform.Microsoft.gradient ( startColorstr = '#003b76', endColorstr = '#00376e', GradientType = 0);
1855 margin: 0 auto;
1855 margin: 0 auto;
1856 padding: 0;
1856 padding: 0;
1857 }
1857 }
1858
1858
1859 #login div.inner {
1859 #login div.inner {
1860 width: 380px;
1860 width: 380px;
1861 background: #FFF url("../images/login.png") no-repeat top left;
1861 background: #FFF url("../images/login.png") no-repeat top left;
1862 border-top: none;
1862 border-top: none;
1863 border-bottom: none;
1863 border-bottom: none;
1864 margin: 0 auto;
1864 margin: 0 auto;
1865 padding: 20px;
1865 padding: 20px;
1866 }
1866 }
1867
1867
1868 #login div.form div.fields div.field div.label {
1868 #login div.form div.fields div.field div.label {
1869 width: 173px;
1869 width: 173px;
1870 float: left;
1870 float: left;
1871 text-align: right;
1871 text-align: right;
1872 margin: 2px 10px 0 0;
1872 margin: 2px 10px 0 0;
1873 padding: 5px 0 0 5px;
1873 padding: 5px 0 0 5px;
1874 }
1874 }
1875
1875
1876 #login div.form div.fields div.field div.input input {
1876 #login div.form div.fields div.field div.input input {
1877 width: 176px;
1877 width: 176px;
1878 background: #FFF;
1878 background: #FFF;
1879 border-top: 1px solid #b3b3b3;
1879 border-top: 1px solid #b3b3b3;
1880 border-left: 1px solid #b3b3b3;
1880 border-left: 1px solid #b3b3b3;
1881 border-right: 1px solid #eaeaea;
1881 border-right: 1px solid #eaeaea;
1882 border-bottom: 1px solid #eaeaea;
1882 border-bottom: 1px solid #eaeaea;
1883 color: #000;
1883 color: #000;
1884 font-size: 11px;
1884 font-size: 11px;
1885 margin: 0;
1885 margin: 0;
1886 padding: 7px 7px 6px;
1886 padding: 7px 7px 6px;
1887 }
1887 }
1888
1888
1889 #login div.form div.fields div.buttons {
1889 #login div.form div.fields div.buttons {
1890 clear: both;
1890 clear: both;
1891 overflow: hidden;
1891 overflow: hidden;
1892 border-top: 1px solid #DDD;
1892 border-top: 1px solid #DDD;
1893 text-align: right;
1893 text-align: right;
1894 margin: 0;
1894 margin: 0;
1895 padding: 10px 0 0;
1895 padding: 10px 0 0;
1896 }
1896 }
1897
1897
1898 #login div.form div.links {
1898 #login div.form div.links {
1899 clear: both;
1899 clear: both;
1900 overflow: hidden;
1900 overflow: hidden;
1901 margin: 10px 0 0;
1901 margin: 10px 0 0;
1902 padding: 0 0 2px;
1902 padding: 0 0 2px;
1903 }
1903 }
1904
1904
1905 .user-menu{
1905 .user-menu{
1906 margin: 0px !important;
1906 margin: 0px !important;
1907 float: left;
1907 float: left;
1908 }
1908 }
1909
1909
1910 .user-menu .container{
1910 .user-menu .container{
1911 padding:0px 4px 0px 4px;
1911 padding:0px 4px 0px 4px;
1912 margin: 0px 0px 0px 0px;
1912 margin: 0px 0px 0px 0px;
1913 }
1913 }
1914
1914
1915 .user-menu .gravatar{
1915 .user-menu .gravatar{
1916 margin: 0px 0px 0px 0px;
1916 margin: 0px 0px 0px 0px;
1917 cursor: pointer;
1917 cursor: pointer;
1918 }
1918 }
1919 .user-menu .gravatar.enabled{
1919 .user-menu .gravatar.enabled{
1920 background-color: #FDF784 !important;
1920 background-color: #FDF784 !important;
1921 }
1921 }
1922 .user-menu .gravatar:hover{
1922 .user-menu .gravatar:hover{
1923 background-color: #FDF784 !important;
1923 background-color: #FDF784 !important;
1924 }
1924 }
1925 #quick_login{
1925 #quick_login{
1926 min-height: 80px;
1926 min-height: 80px;
1927 margin: 37px 0 0 -251px;
1927 margin: 37px 0 0 -251px;
1928 padding: 4px;
1928 padding: 4px;
1929 position: absolute;
1929 position: absolute;
1930 width: 278px;
1930 width: 278px;
1931
1931
1932 background-repeat: repeat-x;
1932 background-repeat: repeat-x;
1933 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
1933 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
1934 background-image: -moz-linear-gradient(top, #003b76, #00376e);
1934 background-image: -moz-linear-gradient(top, #003b76, #00376e);
1935 background-image: -ms-linear-gradient(top, #003b76, #00376e);
1935 background-image: -ms-linear-gradient(top, #003b76, #00376e);
1936 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
1936 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
1937 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
1937 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
1938 background-image: -o-linear-gradient(top, #003b76, #00376e);
1938 background-image: -o-linear-gradient(top, #003b76, #00376e);
1939 background-image: linear-gradient(top, #003b76, #00376e);
1939 background-image: linear-gradient(top, #003b76, #00376e);
1940 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76', endColorstr='#00376e', GradientType=0 );
1940 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76', endColorstr='#00376e', GradientType=0 );
1941
1941
1942 z-index: 999;
1942 z-index: 999;
1943 -webkit-border-radius: 0px 0px 4px 4px;
1943 -webkit-border-radius: 0px 0px 4px 4px;
1944 -khtml-border-radius: 0px 0px 4px 4px;
1944 -khtml-border-radius: 0px 0px 4px 4px;
1945 -moz-border-radius: 0px 0px 4px 4px;
1945 -moz-border-radius: 0px 0px 4px 4px;
1946 border-radius: 0px 0px 4px 4px;
1946 border-radius: 0px 0px 4px 4px;
1947 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1947 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1948 }
1948 }
1949 #quick_login h4{
1949 #quick_login h4{
1950 color: #fff;
1950 color: #fff;
1951 padding: 5px 0px 5px 14px;
1951 padding: 5px 0px 5px 14px;
1952 }
1952 }
1953
1953
1954 #quick_login .password_forgoten {
1954 #quick_login .password_forgoten {
1955 padding-right: 10px;
1955 padding-right: 10px;
1956 padding-top: 0px;
1956 padding-top: 0px;
1957 text-align: left;
1957 text-align: left;
1958 }
1958 }
1959
1959
1960 #quick_login .password_forgoten a {
1960 #quick_login .password_forgoten a {
1961 font-size: 10px;
1961 font-size: 10px;
1962 color: #fff;
1962 color: #fff;
1963 }
1963 }
1964
1964
1965 #quick_login .register {
1965 #quick_login .register {
1966 padding-right: 10px;
1966 padding-right: 10px;
1967 padding-top: 5px;
1967 padding-top: 5px;
1968 text-align: left;
1968 text-align: left;
1969 }
1969 }
1970
1970
1971 #quick_login .register a {
1971 #quick_login .register a {
1972 font-size: 10px;
1972 font-size: 10px;
1973 color: #fff;
1973 color: #fff;
1974 }
1974 }
1975
1975
1976 #quick_login .submit {
1976 #quick_login .submit {
1977 margin: -20px 0 0 0px;
1977 margin: -20px 0 0 0px;
1978 position: absolute;
1978 position: absolute;
1979 right: 15px;
1979 right: 15px;
1980 }
1980 }
1981
1981
1982 #quick_login .links_left{
1982 #quick_login .links_left{
1983 float: left;
1983 float: left;
1984 }
1984 }
1985 #quick_login .links_right{
1985 #quick_login .links_right{
1986 float: right;
1986 float: right;
1987 }
1987 }
1988 #quick_login .full_name{
1988 #quick_login .full_name{
1989 color: #FFFFFF;
1989 color: #FFFFFF;
1990 font-weight: bold;
1990 font-weight: bold;
1991 padding: 3px;
1991 padding: 3px;
1992 }
1992 }
1993 #quick_login .big_gravatar{
1993 #quick_login .big_gravatar{
1994 padding:4px 0px 0px 6px;
1994 padding:4px 0px 0px 6px;
1995 }
1995 }
1996 #quick_login .inbox{
1996 #quick_login .inbox{
1997 padding:4px 0px 0px 6px;
1997 padding:4px 0px 0px 6px;
1998 color: #FFFFFF;
1998 color: #FFFFFF;
1999 font-weight: bold;
1999 font-weight: bold;
2000 }
2000 }
2001 #quick_login .inbox a{
2001 #quick_login .inbox a{
2002 color: #FFFFFF;
2002 color: #FFFFFF;
2003 }
2003 }
2004 #quick_login .email,#quick_login .email a{
2004 #quick_login .email,#quick_login .email a{
2005 color: #FFFFFF;
2005 color: #FFFFFF;
2006 padding: 3px;
2006 padding: 3px;
2007
2007
2008 }
2008 }
2009 #quick_login .links .logout{
2009 #quick_login .links .logout{
2010
2010
2011 }
2011 }
2012
2012
2013 #quick_login div.form div.fields {
2013 #quick_login div.form div.fields {
2014 padding-top: 2px;
2014 padding-top: 2px;
2015 padding-left: 10px;
2015 padding-left: 10px;
2016 }
2016 }
2017
2017
2018 #quick_login div.form div.fields div.field {
2018 #quick_login div.form div.fields div.field {
2019 padding: 5px;
2019 padding: 5px;
2020 }
2020 }
2021
2021
2022 #quick_login div.form div.fields div.field div.label label {
2022 #quick_login div.form div.fields div.field div.label label {
2023 color: #fff;
2023 color: #fff;
2024 padding-bottom: 3px;
2024 padding-bottom: 3px;
2025 }
2025 }
2026
2026
2027 #quick_login div.form div.fields div.field div.input input {
2027 #quick_login div.form div.fields div.field div.input input {
2028 width: 236px;
2028 width: 236px;
2029 background: #FFF;
2029 background: #FFF;
2030 border-top: 1px solid #b3b3b3;
2030 border-top: 1px solid #b3b3b3;
2031 border-left: 1px solid #b3b3b3;
2031 border-left: 1px solid #b3b3b3;
2032 border-right: 1px solid #eaeaea;
2032 border-right: 1px solid #eaeaea;
2033 border-bottom: 1px solid #eaeaea;
2033 border-bottom: 1px solid #eaeaea;
2034 color: #000;
2034 color: #000;
2035 font-size: 11px;
2035 font-size: 11px;
2036 margin: 0;
2036 margin: 0;
2037 padding: 5px 7px 4px;
2037 padding: 5px 7px 4px;
2038 }
2038 }
2039
2039
2040 #quick_login div.form div.fields div.buttons {
2040 #quick_login div.form div.fields div.buttons {
2041 clear: both;
2041 clear: both;
2042 overflow: hidden;
2042 overflow: hidden;
2043 text-align: right;
2043 text-align: right;
2044 margin: 0;
2044 margin: 0;
2045 padding: 5px 14px 0px 5px;
2045 padding: 5px 14px 0px 5px;
2046 }
2046 }
2047
2047
2048 #quick_login div.form div.links {
2048 #quick_login div.form div.links {
2049 clear: both;
2049 clear: both;
2050 overflow: hidden;
2050 overflow: hidden;
2051 margin: 10px 0 0;
2051 margin: 10px 0 0;
2052 padding: 0 0 2px;
2052 padding: 0 0 2px;
2053 }
2053 }
2054
2054
2055 #quick_login ol.links{
2055 #quick_login ol.links{
2056 display: block;
2056 display: block;
2057 font-weight: bold;
2057 font-weight: bold;
2058 list-style: none outside none;
2058 list-style: none outside none;
2059 text-align: right;
2059 text-align: right;
2060 }
2060 }
2061 #quick_login ol.links li{
2061 #quick_login ol.links li{
2062 line-height: 27px;
2062 line-height: 27px;
2063 margin: 0;
2063 margin: 0;
2064 padding: 0;
2064 padding: 0;
2065 color: #fff;
2065 color: #fff;
2066 display: block;
2066 display: block;
2067 float:none !important;
2067 float:none !important;
2068 }
2068 }
2069
2069
2070 #quick_login ol.links li a{
2070 #quick_login ol.links li a{
2071 color: #fff;
2071 color: #fff;
2072 display: block;
2072 display: block;
2073 padding: 2px;
2073 padding: 2px;
2074 }
2074 }
2075 #quick_login ol.links li a:HOVER{
2075 #quick_login ol.links li a:HOVER{
2076 background-color: inherit !important;
2076 background-color: inherit !important;
2077 }
2077 }
2078
2078
2079 #register div.title {
2079 #register div.title {
2080 clear: both;
2080 clear: both;
2081 overflow: hidden;
2081 overflow: hidden;
2082 position: relative;
2082 position: relative;
2083 background-color: #003B76;
2083 background-color: #003B76;
2084 background-repeat: repeat-x;
2084 background-repeat: repeat-x;
2085 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
2085 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
2086 background-image: -moz-linear-gradient(top, #003b76, #00376e);
2086 background-image: -moz-linear-gradient(top, #003b76, #00376e);
2087 background-image: -ms-linear-gradient(top, #003b76, #00376e);
2087 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) );
2088 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);
2089 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
2090 background-image: -o-linear-gradient(top, #003b76, #00376e);
2090 background-image: -o-linear-gradient(top, #003b76, #00376e);
2091 background-image: linear-gradient(top, #003b76, #00376e);
2091 background-image: linear-gradient(top, #003b76, #00376e);
2092 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',
2092 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',
2093 endColorstr='#00376e', GradientType=0 );
2093 endColorstr='#00376e', GradientType=0 );
2094 margin: 0 auto;
2094 margin: 0 auto;
2095 padding: 0;
2095 padding: 0;
2096 }
2096 }
2097
2097
2098 #register div.inner {
2098 #register div.inner {
2099 background: #FFF;
2099 background: #FFF;
2100 border-top: none;
2100 border-top: none;
2101 border-bottom: none;
2101 border-bottom: none;
2102 margin: 0 auto;
2102 margin: 0 auto;
2103 padding: 20px;
2103 padding: 20px;
2104 }
2104 }
2105
2105
2106 #register div.form div.fields div.field div.label {
2106 #register div.form div.fields div.field div.label {
2107 width: 135px;
2107 width: 135px;
2108 float: left;
2108 float: left;
2109 text-align: right;
2109 text-align: right;
2110 margin: 2px 10px 0 0;
2110 margin: 2px 10px 0 0;
2111 padding: 5px 0 0 5px;
2111 padding: 5px 0 0 5px;
2112 }
2112 }
2113
2113
2114 #register div.form div.fields div.field div.input input {
2114 #register div.form div.fields div.field div.input input {
2115 width: 300px;
2115 width: 300px;
2116 background: #FFF;
2116 background: #FFF;
2117 border-top: 1px solid #b3b3b3;
2117 border-top: 1px solid #b3b3b3;
2118 border-left: 1px solid #b3b3b3;
2118 border-left: 1px solid #b3b3b3;
2119 border-right: 1px solid #eaeaea;
2119 border-right: 1px solid #eaeaea;
2120 border-bottom: 1px solid #eaeaea;
2120 border-bottom: 1px solid #eaeaea;
2121 color: #000;
2121 color: #000;
2122 font-size: 11px;
2122 font-size: 11px;
2123 margin: 0;
2123 margin: 0;
2124 padding: 7px 7px 6px;
2124 padding: 7px 7px 6px;
2125 }
2125 }
2126
2126
2127 #register div.form div.fields div.buttons {
2127 #register div.form div.fields div.buttons {
2128 clear: both;
2128 clear: both;
2129 overflow: hidden;
2129 overflow: hidden;
2130 border-top: 1px solid #DDD;
2130 border-top: 1px solid #DDD;
2131 text-align: left;
2131 text-align: left;
2132 margin: 0;
2132 margin: 0;
2133 padding: 10px 0 0 150px;
2133 padding: 10px 0 0 150px;
2134 }
2134 }
2135
2135
2136 #register div.form div.activation_msg {
2136 #register div.form div.activation_msg {
2137 padding-top: 4px;
2137 padding-top: 4px;
2138 padding-bottom: 4px;
2138 padding-bottom: 4px;
2139 }
2139 }
2140
2140
2141 #journal .journal_day {
2141 #journal .journal_day {
2142 font-size: 20px;
2142 font-size: 20px;
2143 padding: 10px 0px;
2143 padding: 10px 0px;
2144 border-bottom: 2px solid #DDD;
2144 border-bottom: 2px solid #DDD;
2145 margin-left: 10px;
2145 margin-left: 10px;
2146 margin-right: 10px;
2146 margin-right: 10px;
2147 }
2147 }
2148
2148
2149 #journal .journal_container {
2149 #journal .journal_container {
2150 padding: 5px;
2150 padding: 5px;
2151 clear: both;
2151 clear: both;
2152 margin: 0px 5px 0px 10px;
2152 margin: 0px 5px 0px 10px;
2153 }
2153 }
2154
2154
2155 #journal .journal_action_container {
2155 #journal .journal_action_container {
2156 padding-left: 38px;
2156 padding-left: 38px;
2157 }
2157 }
2158
2158
2159 #journal .journal_user {
2159 #journal .journal_user {
2160 color: #747474;
2160 color: #747474;
2161 font-size: 14px;
2161 font-size: 14px;
2162 font-weight: bold;
2162 font-weight: bold;
2163 height: 30px;
2163 height: 30px;
2164 }
2164 }
2165
2165
2166 #journal .journal_icon {
2166 #journal .journal_icon {
2167 clear: both;
2167 clear: both;
2168 float: left;
2168 float: left;
2169 padding-right: 4px;
2169 padding-right: 4px;
2170 padding-top: 3px;
2170 padding-top: 3px;
2171 }
2171 }
2172
2172
2173 #journal .journal_action {
2173 #journal .journal_action {
2174 padding-top: 4px;
2174 padding-top: 4px;
2175 min-height: 2px;
2175 min-height: 2px;
2176 float: left
2176 float: left
2177 }
2177 }
2178
2178
2179 #journal .journal_action_params {
2179 #journal .journal_action_params {
2180 clear: left;
2180 clear: left;
2181 padding-left: 22px;
2181 padding-left: 22px;
2182 }
2182 }
2183
2183
2184 #journal .journal_repo {
2184 #journal .journal_repo {
2185 float: left;
2185 float: left;
2186 margin-left: 6px;
2186 margin-left: 6px;
2187 padding-top: 3px;
2187 padding-top: 3px;
2188 }
2188 }
2189
2189
2190 #journal .date {
2190 #journal .date {
2191 clear: both;
2191 clear: both;
2192 color: #777777;
2192 color: #777777;
2193 font-size: 11px;
2193 font-size: 11px;
2194 padding-left: 22px;
2194 padding-left: 22px;
2195 }
2195 }
2196
2196
2197 #journal .journal_repo .journal_repo_name {
2197 #journal .journal_repo .journal_repo_name {
2198 font-weight: bold;
2198 font-weight: bold;
2199 font-size: 1.1em;
2199 font-size: 1.1em;
2200 }
2200 }
2201
2201
2202 #journal .compare_view {
2202 #journal .compare_view {
2203 padding: 5px 0px 5px 0px;
2203 padding: 5px 0px 5px 0px;
2204 width: 95px;
2204 width: 95px;
2205 }
2205 }
2206
2206
2207 .journal_highlight {
2207 .journal_highlight {
2208 font-weight: bold;
2208 font-weight: bold;
2209 padding: 0 2px;
2209 padding: 0 2px;
2210 vertical-align: bottom;
2210 vertical-align: bottom;
2211 }
2211 }
2212
2212
2213 .trending_language_tbl,.trending_language_tbl td {
2213 .trending_language_tbl,.trending_language_tbl td {
2214 border: 0 !important;
2214 border: 0 !important;
2215 margin: 0 !important;
2215 margin: 0 !important;
2216 padding: 0 !important;
2216 padding: 0 !important;
2217 }
2217 }
2218
2218
2219 .trending_language_tbl,.trending_language_tbl tr {
2219 .trending_language_tbl,.trending_language_tbl tr {
2220 border-spacing: 1px;
2220 border-spacing: 1px;
2221 }
2221 }
2222
2222
2223 .trending_language {
2223 .trending_language {
2224 background-color: #003367;
2224 background-color: #003367;
2225 color: #FFF;
2225 color: #FFF;
2226 display: block;
2226 display: block;
2227 min-width: 20px;
2227 min-width: 20px;
2228 text-decoration: none;
2228 text-decoration: none;
2229 height: 12px;
2229 height: 12px;
2230 margin-bottom: 0px;
2230 margin-bottom: 0px;
2231 margin-left: 5px;
2231 margin-left: 5px;
2232 white-space: pre;
2232 white-space: pre;
2233 padding: 3px;
2233 padding: 3px;
2234 }
2234 }
2235
2235
2236 h3.files_location {
2236 h3.files_location {
2237 font-size: 1.8em;
2237 font-size: 1.8em;
2238 font-weight: 700;
2238 font-weight: 700;
2239 border-bottom: none !important;
2239 border-bottom: none !important;
2240 margin: 10px 0 !important;
2240 margin: 10px 0 !important;
2241 }
2241 }
2242
2242
2243 #files_data dl dt {
2243 #files_data dl dt {
2244 float: left;
2244 float: left;
2245 width: 60px;
2245 width: 60px;
2246 margin: 0 !important;
2246 margin: 0 !important;
2247 padding: 5px;
2247 padding: 5px;
2248 }
2248 }
2249
2249
2250 #files_data dl dd {
2250 #files_data dl dd {
2251 margin: 0 !important;
2251 margin: 0 !important;
2252 padding: 5px !important;
2252 padding: 5px !important;
2253 }
2253 }
2254
2254
2255 .tablerow0 {
2255 .tablerow0 {
2256 background-color: #F8F8F8;
2256 background-color: #F8F8F8;
2257 }
2257 }
2258
2258
2259 .tablerow1 {
2259 .tablerow1 {
2260 background-color: #FFFFFF;
2260 background-color: #FFFFFF;
2261 }
2261 }
2262
2262
2263 .changeset_id {
2263 .changeset_id {
2264 font-family: monospace;
2264 font-family: monospace;
2265 color: #666666;
2265 color: #666666;
2266 }
2266 }
2267
2267
2268 .changeset_hash {
2268 .changeset_hash {
2269 color: #000000;
2269 color: #000000;
2270 }
2270 }
2271
2271
2272 #changeset_content {
2272 #changeset_content {
2273 border-left: 1px solid #CCC;
2273 border-left: 1px solid #CCC;
2274 border-right: 1px solid #CCC;
2274 border-right: 1px solid #CCC;
2275 border-bottom: 1px solid #CCC;
2275 border-bottom: 1px solid #CCC;
2276 padding: 5px;
2276 padding: 5px;
2277 }
2277 }
2278
2278
2279 #changeset_compare_view_content {
2279 #changeset_compare_view_content {
2280 border: 1px solid #CCC;
2280 border: 1px solid #CCC;
2281 padding: 5px;
2281 padding: 5px;
2282 }
2282 }
2283
2283
2284 #changeset_content .container {
2284 #changeset_content .container {
2285 min-height: 100px;
2285 min-height: 100px;
2286 font-size: 1.2em;
2286 font-size: 1.2em;
2287 overflow: hidden;
2287 overflow: hidden;
2288 }
2288 }
2289
2289
2290 #changeset_compare_view_content .compare_view_commits {
2290 #changeset_compare_view_content .compare_view_commits {
2291 width: auto !important;
2291 width: auto !important;
2292 }
2292 }
2293
2293
2294 #changeset_compare_view_content .compare_view_commits td {
2294 #changeset_compare_view_content .compare_view_commits td {
2295 padding: 0px 0px 0px 12px !important;
2295 padding: 0px 0px 0px 12px !important;
2296 }
2296 }
2297
2297
2298 #changeset_content .container .right {
2298 #changeset_content .container .right {
2299 float: right;
2299 float: right;
2300 width: 20%;
2300 width: 20%;
2301 text-align: right;
2301 text-align: right;
2302 }
2302 }
2303
2303
2304 #changeset_content .container .left .message {
2304 #changeset_content .container .left .message {
2305 white-space: pre-wrap;
2305 white-space: pre-wrap;
2306 }
2306 }
2307 #changeset_content .container .left .message a:hover {
2307 #changeset_content .container .left .message a:hover {
2308 text-decoration: none;
2308 text-decoration: none;
2309 }
2309 }
2310 .cs_files .cur_cs {
2310 .cs_files .cur_cs {
2311 margin: 10px 2px;
2311 margin: 10px 2px;
2312 font-weight: bold;
2312 font-weight: bold;
2313 }
2313 }
2314
2314
2315 .cs_files .node {
2315 .cs_files .node {
2316 float: left;
2316 float: left;
2317 }
2317 }
2318
2318
2319 .cs_files .changes {
2319 .cs_files .changes {
2320 float: right;
2320 float: right;
2321 color:#003367;
2321 color:#003367;
2322
2322
2323 }
2323 }
2324
2324
2325 .cs_files .changes .added {
2325 .cs_files .changes .added {
2326 background-color: #BBFFBB;
2326 background-color: #BBFFBB;
2327 float: left;
2327 float: left;
2328 text-align: center;
2328 text-align: center;
2329 font-size: 9px;
2329 font-size: 9px;
2330 padding: 2px 0px 2px 0px;
2330 padding: 2px 0px 2px 0px;
2331 }
2331 }
2332
2332
2333 .cs_files .changes .deleted {
2333 .cs_files .changes .deleted {
2334 background-color: #FF8888;
2334 background-color: #FF8888;
2335 float: left;
2335 float: left;
2336 text-align: center;
2336 text-align: center;
2337 font-size: 9px;
2337 font-size: 9px;
2338 padding: 2px 0px 2px 0px;
2338 padding: 2px 0px 2px 0px;
2339 }
2339 }
2340
2340
2341 .cs_files .cs_added {
2341 .cs_files .cs_added {
2342 background: url("../images/icons/page_white_add.png") no-repeat scroll
2342 background: url("../images/icons/page_white_add.png") no-repeat scroll
2343 3px;
2343 3px;
2344 height: 16px;
2344 height: 16px;
2345 padding-left: 20px;
2345 padding-left: 20px;
2346 margin-top: 7px;
2346 margin-top: 7px;
2347 text-align: left;
2347 text-align: left;
2348 }
2348 }
2349
2349
2350 .cs_files .cs_changed {
2350 .cs_files .cs_changed {
2351 background: url("../images/icons/page_white_edit.png") no-repeat scroll
2351 background: url("../images/icons/page_white_edit.png") no-repeat scroll
2352 3px;
2352 3px;
2353 height: 16px;
2353 height: 16px;
2354 padding-left: 20px;
2354 padding-left: 20px;
2355 margin-top: 7px;
2355 margin-top: 7px;
2356 text-align: left;
2356 text-align: left;
2357 }
2357 }
2358
2358
2359 .cs_files .cs_removed {
2359 .cs_files .cs_removed {
2360 background: url("../images/icons/page_white_delete.png") no-repeat
2360 background: url("../images/icons/page_white_delete.png") no-repeat
2361 scroll 3px;
2361 scroll 3px;
2362 height: 16px;
2362 height: 16px;
2363 padding-left: 20px;
2363 padding-left: 20px;
2364 margin-top: 7px;
2364 margin-top: 7px;
2365 text-align: left;
2365 text-align: left;
2366 }
2366 }
2367
2367
2368 #graph {
2368 #graph {
2369 overflow: hidden;
2369 overflow: hidden;
2370 }
2370 }
2371
2371
2372 #graph_nodes {
2372 #graph_nodes {
2373 float: left;
2373 float: left;
2374 margin-right: -6px;
2374 margin-right: -6px;
2375 margin-top: 0px;
2375 margin-top: 0px;
2376 }
2376 }
2377
2377
2378 #graph_content {
2378 #graph_content {
2379 width: 80%;
2379 width: 80%;
2380 float: left;
2380 float: left;
2381 }
2381 }
2382
2382
2383 #graph_content .container_header {
2383 #graph_content .container_header {
2384 border-bottom: 1px solid #DDD;
2384 border-bottom: 1px solid #DDD;
2385 padding: 10px;
2385 padding: 10px;
2386 height: 25px;
2386 height: 25px;
2387 }
2387 }
2388
2388
2389 #graph_content #rev_range_container {
2389 #graph_content #rev_range_container {
2390 padding: 7px 20px;
2390 padding: 7px 20px;
2391 float: left;
2391 float: left;
2392 }
2392 }
2393
2393
2394 #graph_content .container {
2394 #graph_content .container {
2395 border-bottom: 1px solid #DDD;
2395 border-bottom: 1px solid #DDD;
2396 height: 56px;
2396 height: 56px;
2397 overflow: hidden;
2397 overflow: hidden;
2398 }
2398 }
2399
2399
2400 #graph_content .container .right {
2400 #graph_content .container .right {
2401 float: right;
2401 float: right;
2402 width: 23%;
2402 width: 23%;
2403 text-align: right;
2403 text-align: right;
2404 }
2404 }
2405
2405
2406 #graph_content .container .left {
2406 #graph_content .container .left {
2407 float: left;
2407 float: left;
2408 width: 25%;
2408 width: 25%;
2409 padding-left: 5px;
2409 padding-left: 5px;
2410 }
2410 }
2411
2411
2412 #graph_content .container .mid {
2412 #graph_content .container .mid {
2413 float: left;
2413 float: left;
2414 width: 49%;
2414 width: 49%;
2415 }
2415 }
2416
2416
2417
2417
2418 #graph_content .container .left .date {
2418 #graph_content .container .left .date {
2419 color: #666;
2419 color: #666;
2420 padding-left: 22px;
2420 padding-left: 22px;
2421 font-size: 10px;
2421 font-size: 10px;
2422 }
2422 }
2423
2423
2424 #graph_content .container .left .author {
2424 #graph_content .container .left .author {
2425 height: 22px;
2425 height: 22px;
2426 }
2426 }
2427
2427
2428 #graph_content .container .left .author .user {
2428 #graph_content .container .left .author .user {
2429 color: #444444;
2429 color: #444444;
2430 float: left;
2430 float: left;
2431 margin-left: -4px;
2431 margin-left: -4px;
2432 margin-top: 4px;
2432 margin-top: 4px;
2433 }
2433 }
2434
2434
2435 #graph_content .container .mid .message {
2435 #graph_content .container .mid .message {
2436 white-space: pre-wrap;
2436 white-space: pre-wrap;
2437 }
2437 }
2438
2438
2439 #graph_content .container .mid .message a:hover{
2439 #graph_content .container .mid .message a:hover{
2440 text-decoration: none;
2440 text-decoration: none;
2441 }
2441 }
2442 #content #graph_content .message .revision-link,
2442 #content #graph_content .message .revision-link,
2443 #changeset_content .container .message .revision-link
2443 #changeset_content .container .message .revision-link
2444 {
2444 {
2445 color:#3F6F9F;
2445 color:#3F6F9F;
2446 font-weight: bold !important;
2446 font-weight: bold !important;
2447 }
2447 }
2448
2448
2449 #content #graph_content .message .issue-tracker-link,
2449 #content #graph_content .message .issue-tracker-link,
2450 #changeset_content .container .message .issue-tracker-link{
2450 #changeset_content .container .message .issue-tracker-link{
2451 color:#3F6F9F;
2451 color:#3F6F9F;
2452 font-weight: bold !important;
2452 font-weight: bold !important;
2453 }
2453 }
2454
2454
2455 .right .comments-container{
2455 .right .comments-container{
2456 padding-right: 5px;
2456 padding-right: 5px;
2457 margin-top:1px;
2457 margin-top:1px;
2458 float:right;
2458 float:right;
2459 height:14px;
2459 height:14px;
2460 }
2460 }
2461
2461
2462 .right .comments-cnt{
2462 .right .comments-cnt{
2463 float: left;
2463 float: left;
2464 color: rgb(136, 136, 136);
2464 color: rgb(136, 136, 136);
2465 padding-right: 2px;
2465 padding-right: 2px;
2466 }
2466 }
2467
2467
2468 .right .changes{
2468 .right .changes{
2469 clear: both;
2469 clear: both;
2470 }
2470 }
2471
2471
2472 .right .changes .changed_total {
2472 .right .changes .changed_total {
2473 display: block;
2473 display: block;
2474 float: right;
2474 float: right;
2475 text-align: center;
2475 text-align: center;
2476 min-width: 45px;
2476 min-width: 45px;
2477 cursor: pointer;
2477 cursor: pointer;
2478 color: #444444;
2478 color: #444444;
2479 background: #FEA;
2479 background: #FEA;
2480 -webkit-border-radius: 0px 0px 0px 6px;
2480 -webkit-border-radius: 0px 0px 0px 6px;
2481 -moz-border-radius: 0px 0px 0px 6px;
2481 -moz-border-radius: 0px 0px 0px 6px;
2482 border-radius: 0px 0px 0px 6px;
2482 border-radius: 0px 0px 0px 6px;
2483 padding: 1px;
2483 padding: 1px;
2484 }
2484 }
2485
2485
2486 .right .changes .added,.changed,.removed {
2486 .right .changes .added,.changed,.removed {
2487 display: block;
2487 display: block;
2488 padding: 1px;
2488 padding: 1px;
2489 color: #444444;
2489 color: #444444;
2490 float: right;
2490 float: right;
2491 text-align: center;
2491 text-align: center;
2492 min-width: 15px;
2492 min-width: 15px;
2493 }
2493 }
2494
2494
2495 .right .changes .added {
2495 .right .changes .added {
2496 background: #CFC;
2496 background: #CFC;
2497 }
2497 }
2498
2498
2499 .right .changes .changed {
2499 .right .changes .changed {
2500 background: #FEA;
2500 background: #FEA;
2501 }
2501 }
2502
2502
2503 .right .changes .removed {
2503 .right .changes .removed {
2504 background: #FAA;
2504 background: #FAA;
2505 }
2505 }
2506
2506
2507 .right .merge {
2507 .right .merge {
2508 padding: 1px 3px 1px 3px;
2508 padding: 1px 3px 1px 3px;
2509 background-color: #fca062;
2509 background-color: #fca062;
2510 font-size: 10px;
2510 font-size: 10px;
2511 font-weight: bold;
2511 font-weight: bold;
2512 color: #ffffff;
2512 color: #ffffff;
2513 text-transform: uppercase;
2513 text-transform: uppercase;
2514 white-space: nowrap;
2514 white-space: nowrap;
2515 -webkit-border-radius: 3px;
2515 -webkit-border-radius: 3px;
2516 -moz-border-radius: 3px;
2516 -moz-border-radius: 3px;
2517 border-radius: 3px;
2517 border-radius: 3px;
2518 margin-right: 2px;
2518 margin-right: 2px;
2519 }
2519 }
2520
2520
2521 .right .parent {
2521 .right .parent {
2522 color: #666666;
2522 color: #666666;
2523 clear:both;
2523 clear:both;
2524 }
2524 }
2525 .right .logtags{
2525 .right .logtags{
2526 padding: 2px 2px 2px 2px;
2526 padding: 2px 2px 2px 2px;
2527 }
2527 }
2528 .right .logtags .branchtag,.right .logtags .tagtag,.right .logtags .booktag{
2528 .right .logtags .branchtag,.right .logtags .tagtag,.right .logtags .booktag{
2529 margin: 0px 2px;
2529 margin: 0px 2px;
2530 }
2530 }
2531
2531
2532 .right .logtags .branchtag,.logtags .branchtag {
2532 .right .logtags .branchtag,.logtags .branchtag {
2533 padding: 1px 3px 1px 3px;
2533 padding: 1px 3px 1px 3px;
2534 background-color: #bfbfbf;
2534 background-color: #bfbfbf;
2535 font-size: 10px;
2535 font-size: 10px;
2536 font-weight: bold;
2536 font-weight: bold;
2537 color: #ffffff;
2537 color: #ffffff;
2538 text-transform: uppercase;
2538 text-transform: uppercase;
2539 white-space: nowrap;
2539 white-space: nowrap;
2540 -webkit-border-radius: 3px;
2540 -webkit-border-radius: 3px;
2541 -moz-border-radius: 3px;
2541 -moz-border-radius: 3px;
2542 border-radius: 3px;
2542 border-radius: 3px;
2543 }
2543 }
2544 .right .logtags .branchtag a:hover,.logtags .branchtag a{
2544 .right .logtags .branchtag a:hover,.logtags .branchtag a{
2545 color: #ffffff;
2545 color: #ffffff;
2546 }
2546 }
2547 .right .logtags .branchtag a:hover,.logtags .branchtag a:hover{
2547 .right .logtags .branchtag a:hover,.logtags .branchtag a:hover{
2548 text-decoration: none;
2548 text-decoration: none;
2549 color: #ffffff;
2549 color: #ffffff;
2550 }
2550 }
2551 .right .logtags .tagtag,.logtags .tagtag {
2551 .right .logtags .tagtag,.logtags .tagtag {
2552 padding: 1px 3px 1px 3px;
2552 padding: 1px 3px 1px 3px;
2553 background-color: #62cffc;
2553 background-color: #62cffc;
2554 font-size: 10px;
2554 font-size: 10px;
2555 font-weight: bold;
2555 font-weight: bold;
2556 color: #ffffff;
2556 color: #ffffff;
2557 text-transform: uppercase;
2557 text-transform: uppercase;
2558 white-space: nowrap;
2558 white-space: nowrap;
2559 -webkit-border-radius: 3px;
2559 -webkit-border-radius: 3px;
2560 -moz-border-radius: 3px;
2560 -moz-border-radius: 3px;
2561 border-radius: 3px;
2561 border-radius: 3px;
2562 }
2562 }
2563 .right .logtags .tagtag a:hover,.logtags .tagtag a{
2563 .right .logtags .tagtag a:hover,.logtags .tagtag a{
2564 color: #ffffff;
2564 color: #ffffff;
2565 }
2565 }
2566 .right .logtags .tagtag a:hover,.logtags .tagtag a:hover{
2566 .right .logtags .tagtag a:hover,.logtags .tagtag a:hover{
2567 text-decoration: none;
2567 text-decoration: none;
2568 color: #ffffff;
2568 color: #ffffff;
2569 }
2569 }
2570 .right .logbooks .bookbook,.logbooks .bookbook,.right .logtags .bookbook,.logtags .bookbook {
2570 .right .logbooks .bookbook,.logbooks .bookbook,.right .logtags .bookbook,.logtags .bookbook {
2571 padding: 1px 3px 1px 3px;
2571 padding: 1px 3px 1px 3px;
2572 background-color: #46A546;
2572 background-color: #46A546;
2573 font-size: 10px;
2573 font-size: 10px;
2574 font-weight: bold;
2574 font-weight: bold;
2575 color: #ffffff;
2575 color: #ffffff;
2576 text-transform: uppercase;
2576 text-transform: uppercase;
2577 white-space: nowrap;
2577 white-space: nowrap;
2578 -webkit-border-radius: 3px;
2578 -webkit-border-radius: 3px;
2579 -moz-border-radius: 3px;
2579 -moz-border-radius: 3px;
2580 border-radius: 3px;
2580 border-radius: 3px;
2581 }
2581 }
2582 .right .logbooks .bookbook,.logbooks .bookbook a,.right .logtags .bookbook,.logtags .bookbook a{
2582 .right .logbooks .bookbook,.logbooks .bookbook a,.right .logtags .bookbook,.logtags .bookbook a{
2583 color: #ffffff;
2583 color: #ffffff;
2584 }
2584 }
2585 .right .logbooks .bookbook,.logbooks .bookbook a:hover,.right .logtags .bookbook,.logtags .bookbook a:hover{
2585 .right .logbooks .bookbook,.logbooks .bookbook a:hover,.right .logtags .bookbook,.logtags .bookbook a:hover{
2586 text-decoration: none;
2586 text-decoration: none;
2587 color: #ffffff;
2587 color: #ffffff;
2588 }
2588 }
2589 div.browserblock {
2589 div.browserblock {
2590 overflow: hidden;
2590 overflow: hidden;
2591 border: 1px solid #ccc;
2591 border: 1px solid #ccc;
2592 background: #f8f8f8;
2592 background: #f8f8f8;
2593 font-size: 100%;
2593 font-size: 100%;
2594 line-height: 125%;
2594 line-height: 125%;
2595 padding: 0;
2595 padding: 0;
2596 -webkit-border-radius: 6px 6px 0px 0px;
2596 -webkit-border-radius: 6px 6px 0px 0px;
2597 -moz-border-radius: 6px 6px 0px 0px;
2597 -moz-border-radius: 6px 6px 0px 0px;
2598 border-radius: 6px 6px 0px 0px;
2598 border-radius: 6px 6px 0px 0px;
2599 }
2599 }
2600
2600
2601 div.browserblock .browser-header {
2601 div.browserblock .browser-header {
2602 background: #FFF;
2602 background: #FFF;
2603 padding: 10px 0px 15px 0px;
2603 padding: 10px 0px 15px 0px;
2604 width: 100%;
2604 width: 100%;
2605 }
2605 }
2606
2606
2607 div.browserblock .browser-nav {
2607 div.browserblock .browser-nav {
2608 float: left
2608 float: left
2609 }
2609 }
2610
2610
2611 div.browserblock .browser-branch {
2611 div.browserblock .browser-branch {
2612 float: left;
2612 float: left;
2613 }
2613 }
2614
2614
2615 div.browserblock .browser-branch label {
2615 div.browserblock .browser-branch label {
2616 color: #4A4A4A;
2616 color: #4A4A4A;
2617 vertical-align: text-top;
2617 vertical-align: text-top;
2618 }
2618 }
2619
2619
2620 div.browserblock .browser-header span {
2620 div.browserblock .browser-header span {
2621 margin-left: 5px;
2621 margin-left: 5px;
2622 font-weight: 700;
2622 font-weight: 700;
2623 }
2623 }
2624
2624
2625 div.browserblock .browser-search {
2625 div.browserblock .browser-search {
2626 clear: both;
2626 clear: both;
2627 padding: 8px 8px 0px 5px;
2627 padding: 8px 8px 0px 5px;
2628 height: 20px;
2628 height: 20px;
2629 }
2629 }
2630
2630
2631 div.browserblock #node_filter_box {
2631 div.browserblock #node_filter_box {
2632
2632
2633 }
2633 }
2634
2634
2635 div.browserblock .search_activate {
2635 div.browserblock .search_activate {
2636 float: left
2636 float: left
2637 }
2637 }
2638
2638
2639 div.browserblock .add_node {
2639 div.browserblock .add_node {
2640 float: left;
2640 float: left;
2641 padding-left: 5px;
2641 padding-left: 5px;
2642 }
2642 }
2643
2643
2644 div.browserblock .search_activate a:hover,div.browserblock .add_node a:hover
2644 div.browserblock .search_activate a:hover,div.browserblock .add_node a:hover
2645 {
2645 {
2646 text-decoration: none !important;
2646 text-decoration: none !important;
2647 }
2647 }
2648
2648
2649 div.browserblock .browser-body {
2649 div.browserblock .browser-body {
2650 background: #EEE;
2650 background: #EEE;
2651 border-top: 1px solid #CCC;
2651 border-top: 1px solid #CCC;
2652 }
2652 }
2653
2653
2654 table.code-browser {
2654 table.code-browser {
2655 border-collapse: collapse;
2655 border-collapse: collapse;
2656 width: 100%;
2656 width: 100%;
2657 }
2657 }
2658
2658
2659 table.code-browser tr {
2659 table.code-browser tr {
2660 margin: 3px;
2660 margin: 3px;
2661 }
2661 }
2662
2662
2663 table.code-browser thead th {
2663 table.code-browser thead th {
2664 background-color: #EEE;
2664 background-color: #EEE;
2665 height: 20px;
2665 height: 20px;
2666 font-size: 1.1em;
2666 font-size: 1.1em;
2667 font-weight: 700;
2667 font-weight: 700;
2668 text-align: left;
2668 text-align: left;
2669 padding-left: 10px;
2669 padding-left: 10px;
2670 }
2670 }
2671
2671
2672 table.code-browser tbody td {
2672 table.code-browser tbody td {
2673 padding-left: 10px;
2673 padding-left: 10px;
2674 height: 20px;
2674 height: 20px;
2675 }
2675 }
2676
2676
2677 table.code-browser .browser-file {
2677 table.code-browser .browser-file {
2678 background: url("../images/icons/document_16.png") no-repeat scroll 3px;
2678 background: url("../images/icons/document_16.png") no-repeat scroll 3px;
2679 height: 16px;
2679 height: 16px;
2680 padding-left: 20px;
2680 padding-left: 20px;
2681 text-align: left;
2681 text-align: left;
2682 }
2682 }
2683 .diffblock .changeset_header {
2683 .diffblock .changeset_header {
2684 height: 16px;
2684 height: 16px;
2685 }
2685 }
2686 .diffblock .changeset_file {
2686 .diffblock .changeset_file {
2687 background: url("../images/icons/file.png") no-repeat scroll 3px;
2687 background: url("../images/icons/file.png") no-repeat scroll 3px;
2688 text-align: left;
2688 text-align: left;
2689 float: left;
2689 float: left;
2690 padding: 2px 0px 2px 22px;
2690 padding: 2px 0px 2px 22px;
2691 }
2691 }
2692 .diffblock .diff-menu-wrapper{
2692 .diffblock .diff-menu-wrapper{
2693 float: left;
2693 float: left;
2694 }
2694 }
2695
2695
2696 .diffblock .diff-menu{
2696 .diffblock .diff-menu{
2697 position: absolute;
2697 position: absolute;
2698 background: none repeat scroll 0 0 #FFFFFF;
2698 background: none repeat scroll 0 0 #FFFFFF;
2699 border-color: #003367 #666666 #666666;
2699 border-color: #003367 #666666 #666666;
2700 border-right: 1px solid #666666;
2700 border-right: 1px solid #666666;
2701 border-style: solid solid solid;
2701 border-style: solid solid solid;
2702 border-width: 1px;
2702 border-width: 1px;
2703 box-shadow: 2px 8px 4px rgba(0, 0, 0, 0.2);
2703 box-shadow: 2px 8px 4px rgba(0, 0, 0, 0.2);
2704 margin-top:5px;
2704 margin-top:5px;
2705 margin-left:1px;
2705 margin-left:1px;
2706
2706
2707 }
2707 }
2708 .diffblock .diff-actions {
2708 .diffblock .diff-actions {
2709 padding: 2px 0px 0px 2px;
2709 padding: 2px 0px 0px 2px;
2710 float: left;
2710 float: left;
2711 }
2711 }
2712 .diffblock .diff-menu ul li {
2712 .diffblock .diff-menu ul li {
2713 padding: 0px 0px 0px 0px !important;
2713 padding: 0px 0px 0px 0px !important;
2714 }
2714 }
2715 .diffblock .diff-menu ul li a{
2715 .diffblock .diff-menu ul li a{
2716 display: block;
2716 display: block;
2717 padding: 3px 8px 3px 8px !important;
2717 padding: 3px 8px 3px 8px !important;
2718 }
2718 }
2719 .diffblock .diff-menu ul li a:hover{
2719 .diffblock .diff-menu ul li a:hover{
2720 text-decoration: none;
2720 text-decoration: none;
2721 background-color: #EEEEEE;
2721 background-color: #EEEEEE;
2722 }
2722 }
2723 table.code-browser .browser-dir {
2723 table.code-browser .browser-dir {
2724 background: url("../images/icons/folder_16.png") no-repeat scroll 3px;
2724 background: url("../images/icons/folder_16.png") no-repeat scroll 3px;
2725 height: 16px;
2725 height: 16px;
2726 padding-left: 20px;
2726 padding-left: 20px;
2727 text-align: left;
2727 text-align: left;
2728 }
2728 }
2729
2729
2730 table.code-browser .submodule-dir {
2730 table.code-browser .submodule-dir {
2731 background: url("../images/icons/disconnect.png") no-repeat scroll 3px;
2731 background: url("../images/icons/disconnect.png") no-repeat scroll 3px;
2732 height: 16px;
2732 height: 16px;
2733 padding-left: 20px;
2733 padding-left: 20px;
2734 text-align: left;
2734 text-align: left;
2735 }
2735 }
2736
2736
2737
2737
2738 .box .search {
2738 .box .search {
2739 clear: both;
2739 clear: both;
2740 overflow: hidden;
2740 overflow: hidden;
2741 margin: 0;
2741 margin: 0;
2742 padding: 0 20px 10px;
2742 padding: 0 20px 10px;
2743 }
2743 }
2744
2744
2745 .box .search div.search_path {
2745 .box .search div.search_path {
2746 background: none repeat scroll 0 0 #EEE;
2746 background: none repeat scroll 0 0 #EEE;
2747 border: 1px solid #CCC;
2747 border: 1px solid #CCC;
2748 color: blue;
2748 color: blue;
2749 margin-bottom: 10px;
2749 margin-bottom: 10px;
2750 padding: 10px 0;
2750 padding: 10px 0;
2751 }
2751 }
2752
2752
2753 .box .search div.search_path div.link {
2753 .box .search div.search_path div.link {
2754 font-weight: 700;
2754 font-weight: 700;
2755 margin-left: 25px;
2755 margin-left: 25px;
2756 }
2756 }
2757
2757
2758 .box .search div.search_path div.link a {
2758 .box .search div.search_path div.link a {
2759 color: #003367;
2759 color: #003367;
2760 cursor: pointer;
2760 cursor: pointer;
2761 text-decoration: none;
2761 text-decoration: none;
2762 }
2762 }
2763
2763
2764 #path_unlock {
2764 #path_unlock {
2765 color: red;
2765 color: red;
2766 font-size: 1.2em;
2766 font-size: 1.2em;
2767 padding-left: 4px;
2767 padding-left: 4px;
2768 }
2768 }
2769
2769
2770 .info_box span {
2770 .info_box span {
2771 margin-left: 3px;
2771 margin-left: 3px;
2772 margin-right: 3px;
2772 margin-right: 3px;
2773 }
2773 }
2774
2774
2775 .info_box .rev {
2775 .info_box .rev {
2776 color: #003367;
2776 color: #003367;
2777 font-size: 1.6em;
2777 font-size: 1.6em;
2778 font-weight: bold;
2778 font-weight: bold;
2779 vertical-align: sub;
2779 vertical-align: sub;
2780 }
2780 }
2781
2781
2782 .info_box input#at_rev,.info_box input#size {
2782 .info_box input#at_rev,.info_box input#size {
2783 background: #FFF;
2783 background: #FFF;
2784 border-top: 1px solid #b3b3b3;
2784 border-top: 1px solid #b3b3b3;
2785 border-left: 1px solid #b3b3b3;
2785 border-left: 1px solid #b3b3b3;
2786 border-right: 1px solid #eaeaea;
2786 border-right: 1px solid #eaeaea;
2787 border-bottom: 1px solid #eaeaea;
2787 border-bottom: 1px solid #eaeaea;
2788 color: #000;
2788 color: #000;
2789 font-size: 12px;
2789 font-size: 12px;
2790 margin: 0;
2790 margin: 0;
2791 padding: 1px 5px 1px;
2791 padding: 1px 5px 1px;
2792 }
2792 }
2793
2793
2794 .info_box input#view {
2794 .info_box input#view {
2795 text-align: center;
2795 text-align: center;
2796 padding: 4px 3px 2px 2px;
2796 padding: 4px 3px 2px 2px;
2797 }
2797 }
2798
2798
2799 .yui-overlay,.yui-panel-container {
2799 .yui-overlay,.yui-panel-container {
2800 visibility: hidden;
2800 visibility: hidden;
2801 position: absolute;
2801 position: absolute;
2802 z-index: 2;
2802 z-index: 2;
2803 }
2803 }
2804
2804
2805 .yui-tt {
2805 .yui-tt {
2806 visibility: hidden;
2806 visibility: hidden;
2807 position: absolute;
2807 position: absolute;
2808 color: #666;
2808 color: #666;
2809 background-color: #FFF;
2809 background-color: #FFF;
2810 border: 2px solid #003367;
2810 border: 2px solid #003367;
2811 font: 100% sans-serif;
2811 font: 100% sans-serif;
2812 width: auto;
2812 width: auto;
2813 opacity: 1px;
2813 opacity: 1px;
2814 padding: 8px;
2814 padding: 8px;
2815 white-space: pre-wrap;
2815 white-space: pre-wrap;
2816 -webkit-border-radius: 8px 8px 8px 8px;
2816 -webkit-border-radius: 8px 8px 8px 8px;
2817 -khtml-border-radius: 8px 8px 8px 8px;
2817 -khtml-border-radius: 8px 8px 8px 8px;
2818 -moz-border-radius: 8px 8px 8px 8px;
2818 -moz-border-radius: 8px 8px 8px 8px;
2819 border-radius: 8px 8px 8px 8px;
2819 border-radius: 8px 8px 8px 8px;
2820 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
2820 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
2821 }
2821 }
2822
2822
2823 .mentions-container{
2824 width: 100% !important;
2825 }
2826 .mentions-container .yui-ac-content{
2827 width: 90% !important;
2828 }
2829
2823 .ac {
2830 .ac {
2824 vertical-align: top;
2831 vertical-align: top;
2825 }
2832 }
2826
2833
2827 .ac .yui-ac {
2834 .ac .yui-ac {
2828 position: inherit;
2835 position: inherit;
2829 font-size: 100%;
2836 font-size: 100%;
2830 }
2837 }
2831
2838
2832 .ac .perm_ac {
2839 .ac .perm_ac {
2833 width: 20em;
2840 width: 20em;
2834 }
2841 }
2835
2842
2836 .ac .yui-ac-input {
2843 .ac .yui-ac-input {
2837 width: 100%;
2844 width: 100%;
2838 }
2845 }
2839
2846
2840 .ac .yui-ac-container {
2847 .ac .yui-ac-container {
2841 position: absolute;
2848 position: absolute;
2842 top: 1.6em;
2849 top: 1.6em;
2843 width: auto;
2850 width: auto;
2844 }
2851 }
2845
2852
2846 .ac .yui-ac-content {
2853 .ac .yui-ac-content {
2847 position: absolute;
2854 position: absolute;
2848 border: 1px solid gray;
2855 border: 1px solid gray;
2849 background: #fff;
2856 background: #fff;
2850 z-index: 9050;
2857 z-index: 9050;
2851
2858
2852 }
2859 }
2853
2860
2854 .ac .yui-ac-shadow {
2861 .ac .yui-ac-shadow {
2855 position: absolute;
2862 position: absolute;
2856 width: 100%;
2863 width: 100%;
2857 background: #000;
2864 background: #000;
2858 -moz-opacity: 0.1px;
2865 -moz-opacity: 0.1px;
2859 opacity: .10;
2866 opacity: .10;
2860 filter: alpha(opacity = 10);
2867 filter: alpha(opacity = 10);
2861 z-index: 9049;
2868 z-index: 9049;
2862 margin: .3em;
2869 margin: .3em;
2863 }
2870 }
2864
2871
2865 .ac .yui-ac-content ul {
2872 .ac .yui-ac-content ul {
2866 width: 100%;
2873 width: 100%;
2867 margin: 0;
2874 margin: 0;
2868 padding: 0;
2875 padding: 0;
2869 z-index: 9050;
2876 z-index: 9050;
2870 }
2877 }
2871
2878
2872 .ac .yui-ac-content li {
2879 .ac .yui-ac-content li {
2873 cursor: default;
2880 cursor: default;
2874 white-space: nowrap;
2881 white-space: nowrap;
2875 margin: 0;
2882 margin: 0;
2876 padding: 2px 5px;
2883 padding: 2px 5px;
2877 height: 18px;
2884 height: 18px;
2878 z-index: 9050;
2885 z-index: 9050;
2879 display: block;
2886 display: block;
2880 width: auto !important;
2887 width: auto !important;
2881 }
2888 }
2882
2889
2883 .ac .yui-ac-content li .ac-container-wrap{
2890 .ac .yui-ac-content li .ac-container-wrap{
2884 width: auto;
2891 width: auto;
2885 }
2892 }
2886
2893
2887 .ac .yui-ac-content li.yui-ac-prehighlight {
2894 .ac .yui-ac-content li.yui-ac-prehighlight {
2888 background: #B3D4FF;
2895 background: #B3D4FF;
2889 z-index: 9050;
2896 z-index: 9050;
2890 }
2897 }
2891
2898
2892 .ac .yui-ac-content li.yui-ac-highlight {
2899 .ac .yui-ac-content li.yui-ac-highlight {
2893 background: #556CB5;
2900 background: #556CB5;
2894 color: #FFF;
2901 color: #FFF;
2895 z-index: 9050;
2902 z-index: 9050;
2896 }
2903 }
2897 .ac .yui-ac-bd{
2904 .ac .yui-ac-bd{
2898 z-index: 9050;
2905 z-index: 9050;
2899 }
2906 }
2900
2907
2901 .follow {
2908 .follow {
2902 background: url("../images/icons/heart_add.png") no-repeat scroll 3px;
2909 background: url("../images/icons/heart_add.png") no-repeat scroll 3px;
2903 height: 16px;
2910 height: 16px;
2904 width: 20px;
2911 width: 20px;
2905 cursor: pointer;
2912 cursor: pointer;
2906 display: block;
2913 display: block;
2907 float: right;
2914 float: right;
2908 margin-top: 2px;
2915 margin-top: 2px;
2909 }
2916 }
2910
2917
2911 .following {
2918 .following {
2912 background: url("../images/icons/heart_delete.png") no-repeat scroll 3px;
2919 background: url("../images/icons/heart_delete.png") no-repeat scroll 3px;
2913 height: 16px;
2920 height: 16px;
2914 width: 20px;
2921 width: 20px;
2915 cursor: pointer;
2922 cursor: pointer;
2916 display: block;
2923 display: block;
2917 float: right;
2924 float: right;
2918 margin-top: 2px;
2925 margin-top: 2px;
2919 }
2926 }
2920
2927
2921 .currently_following {
2928 .currently_following {
2922 padding-left: 10px;
2929 padding-left: 10px;
2923 padding-bottom: 5px;
2930 padding-bottom: 5px;
2924 }
2931 }
2925
2932
2926 .add_icon {
2933 .add_icon {
2927 background: url("../images/icons/add.png") no-repeat scroll 3px;
2934 background: url("../images/icons/add.png") no-repeat scroll 3px;
2928 padding-left: 20px;
2935 padding-left: 20px;
2929 padding-top: 0px;
2936 padding-top: 0px;
2930 text-align: left;
2937 text-align: left;
2931 }
2938 }
2932
2939
2933 .edit_icon {
2940 .edit_icon {
2934 background: url("../images/icons/folder_edit.png") no-repeat scroll 3px;
2941 background: url("../images/icons/folder_edit.png") no-repeat scroll 3px;
2935 padding-left: 20px;
2942 padding-left: 20px;
2936 padding-top: 0px;
2943 padding-top: 0px;
2937 text-align: left;
2944 text-align: left;
2938 }
2945 }
2939
2946
2940 .delete_icon {
2947 .delete_icon {
2941 background: url("../images/icons/delete.png") no-repeat scroll 3px;
2948 background: url("../images/icons/delete.png") no-repeat scroll 3px;
2942 padding-left: 20px;
2949 padding-left: 20px;
2943 padding-top: 0px;
2950 padding-top: 0px;
2944 text-align: left;
2951 text-align: left;
2945 }
2952 }
2946
2953
2947 .refresh_icon {
2954 .refresh_icon {
2948 background: url("../images/icons/arrow_refresh.png") no-repeat scroll
2955 background: url("../images/icons/arrow_refresh.png") no-repeat scroll
2949 3px;
2956 3px;
2950 padding-left: 20px;
2957 padding-left: 20px;
2951 padding-top: 0px;
2958 padding-top: 0px;
2952 text-align: left;
2959 text-align: left;
2953 }
2960 }
2954
2961
2955 .pull_icon {
2962 .pull_icon {
2956 background: url("../images/icons/connect.png") no-repeat scroll 3px;
2963 background: url("../images/icons/connect.png") no-repeat scroll 3px;
2957 padding-left: 20px;
2964 padding-left: 20px;
2958 padding-top: 0px;
2965 padding-top: 0px;
2959 text-align: left;
2966 text-align: left;
2960 }
2967 }
2961
2968
2962 .rss_icon {
2969 .rss_icon {
2963 background: url("../images/icons/rss_16.png") no-repeat scroll 3px;
2970 background: url("../images/icons/rss_16.png") no-repeat scroll 3px;
2964 padding-left: 20px;
2971 padding-left: 20px;
2965 padding-top: 4px;
2972 padding-top: 4px;
2966 text-align: left;
2973 text-align: left;
2967 font-size: 8px
2974 font-size: 8px
2968 }
2975 }
2969
2976
2970 .atom_icon {
2977 .atom_icon {
2971 background: url("../images/icons/atom.png") no-repeat scroll 3px;
2978 background: url("../images/icons/atom.png") no-repeat scroll 3px;
2972 padding-left: 20px;
2979 padding-left: 20px;
2973 padding-top: 4px;
2980 padding-top: 4px;
2974 text-align: left;
2981 text-align: left;
2975 font-size: 8px
2982 font-size: 8px
2976 }
2983 }
2977
2984
2978 .archive_icon {
2985 .archive_icon {
2979 background: url("../images/icons/compress.png") no-repeat scroll 3px;
2986 background: url("../images/icons/compress.png") no-repeat scroll 3px;
2980 padding-left: 20px;
2987 padding-left: 20px;
2981 text-align: left;
2988 text-align: left;
2982 padding-top: 1px;
2989 padding-top: 1px;
2983 }
2990 }
2984
2991
2985 .start_following_icon {
2992 .start_following_icon {
2986 background: url("../images/icons/heart_add.png") no-repeat scroll 3px;
2993 background: url("../images/icons/heart_add.png") no-repeat scroll 3px;
2987 padding-left: 20px;
2994 padding-left: 20px;
2988 text-align: left;
2995 text-align: left;
2989 padding-top: 0px;
2996 padding-top: 0px;
2990 }
2997 }
2991
2998
2992 .stop_following_icon {
2999 .stop_following_icon {
2993 background: url("../images/icons/heart_delete.png") no-repeat scroll 3px;
3000 background: url("../images/icons/heart_delete.png") no-repeat scroll 3px;
2994 padding-left: 20px;
3001 padding-left: 20px;
2995 text-align: left;
3002 text-align: left;
2996 padding-top: 0px;
3003 padding-top: 0px;
2997 }
3004 }
2998
3005
2999 .action_button {
3006 .action_button {
3000 border: 0;
3007 border: 0;
3001 display: inline;
3008 display: inline;
3002 }
3009 }
3003
3010
3004 .action_button:hover {
3011 .action_button:hover {
3005 border: 0;
3012 border: 0;
3006 text-decoration: underline;
3013 text-decoration: underline;
3007 cursor: pointer;
3014 cursor: pointer;
3008 }
3015 }
3009
3016
3010 #switch_repos {
3017 #switch_repos {
3011 position: absolute;
3018 position: absolute;
3012 height: 25px;
3019 height: 25px;
3013 z-index: 1;
3020 z-index: 1;
3014 }
3021 }
3015
3022
3016 #switch_repos select {
3023 #switch_repos select {
3017 min-width: 150px;
3024 min-width: 150px;
3018 max-height: 250px;
3025 max-height: 250px;
3019 z-index: 1;
3026 z-index: 1;
3020 }
3027 }
3021
3028
3022 .breadcrumbs {
3029 .breadcrumbs {
3023 border: medium none;
3030 border: medium none;
3024 color: #FFF;
3031 color: #FFF;
3025 float: left;
3032 float: left;
3026 text-transform: uppercase;
3033 text-transform: uppercase;
3027 font-weight: 700;
3034 font-weight: 700;
3028 font-size: 14px;
3035 font-size: 14px;
3029 margin: 0;
3036 margin: 0;
3030 padding: 11px 0 11px 10px;
3037 padding: 11px 0 11px 10px;
3031 }
3038 }
3032
3039
3033 .breadcrumbs .hash {
3040 .breadcrumbs .hash {
3034 text-transform: none;
3041 text-transform: none;
3035 color: #fff;
3042 color: #fff;
3036 }
3043 }
3037
3044
3038 .breadcrumbs a {
3045 .breadcrumbs a {
3039 color: #FFF;
3046 color: #FFF;
3040 }
3047 }
3041
3048
3042 .flash_msg {
3049 .flash_msg {
3043
3050
3044 }
3051 }
3045
3052
3046 .flash_msg ul {
3053 .flash_msg ul {
3047
3054
3048 }
3055 }
3049
3056
3050 .error_msg {
3057 .error_msg {
3051 background-color: #c43c35;
3058 background-color: #c43c35;
3052 background-repeat: repeat-x;
3059 background-repeat: repeat-x;
3053 background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35) );
3060 background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35) );
3054 background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
3061 background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
3055 background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
3062 background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
3056 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35) );
3063 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35) );
3057 background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
3064 background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
3058 background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
3065 background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
3059 background-image: linear-gradient(top, #ee5f5b, #c43c35);
3066 background-image: linear-gradient(top, #ee5f5b, #c43c35);
3060 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b',endColorstr='#c43c35', GradientType=0 );
3067 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b',endColorstr='#c43c35', GradientType=0 );
3061 border-color: #c43c35 #c43c35 #882a25;
3068 border-color: #c43c35 #c43c35 #882a25;
3062 }
3069 }
3063
3070
3064 .warning_msg {
3071 .warning_msg {
3065 color: #404040 !important;
3072 color: #404040 !important;
3066 background-color: #eedc94;
3073 background-color: #eedc94;
3067 background-repeat: repeat-x;
3074 background-repeat: repeat-x;
3068 background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94) );
3075 background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94) );
3069 background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
3076 background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
3070 background-image: -ms-linear-gradient(top, #fceec1, #eedc94);
3077 background-image: -ms-linear-gradient(top, #fceec1, #eedc94);
3071 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94) );
3078 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94) );
3072 background-image: -webkit-linear-gradient(top, #fceec1, #eedc94);
3079 background-image: -webkit-linear-gradient(top, #fceec1, #eedc94);
3073 background-image: -o-linear-gradient(top, #fceec1, #eedc94);
3080 background-image: -o-linear-gradient(top, #fceec1, #eedc94);
3074 background-image: linear-gradient(top, #fceec1, #eedc94);
3081 background-image: linear-gradient(top, #fceec1, #eedc94);
3075 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0 );
3082 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0 );
3076 border-color: #eedc94 #eedc94 #e4c652;
3083 border-color: #eedc94 #eedc94 #e4c652;
3077 }
3084 }
3078
3085
3079 .success_msg {
3086 .success_msg {
3080 background-color: #57a957;
3087 background-color: #57a957;
3081 background-repeat: repeat-x !important;
3088 background-repeat: repeat-x !important;
3082 background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957) );
3089 background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957) );
3083 background-image: -moz-linear-gradient(top, #62c462, #57a957);
3090 background-image: -moz-linear-gradient(top, #62c462, #57a957);
3084 background-image: -ms-linear-gradient(top, #62c462, #57a957);
3091 background-image: -ms-linear-gradient(top, #62c462, #57a957);
3085 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957) );
3092 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957) );
3086 background-image: -webkit-linear-gradient(top, #62c462, #57a957);
3093 background-image: -webkit-linear-gradient(top, #62c462, #57a957);
3087 background-image: -o-linear-gradient(top, #62c462, #57a957);
3094 background-image: -o-linear-gradient(top, #62c462, #57a957);
3088 background-image: linear-gradient(top, #62c462, #57a957);
3095 background-image: linear-gradient(top, #62c462, #57a957);
3089 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0 );
3096 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0 );
3090 border-color: #57a957 #57a957 #3d773d;
3097 border-color: #57a957 #57a957 #3d773d;
3091 }
3098 }
3092
3099
3093 .notice_msg {
3100 .notice_msg {
3094 background-color: #339bb9;
3101 background-color: #339bb9;
3095 background-repeat: repeat-x;
3102 background-repeat: repeat-x;
3096 background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9) );
3103 background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9) );
3097 background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
3104 background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
3098 background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
3105 background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
3099 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9) );
3106 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9) );
3100 background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
3107 background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
3101 background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
3108 background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
3102 background-image: linear-gradient(top, #5bc0de, #339bb9);
3109 background-image: linear-gradient(top, #5bc0de, #339bb9);
3103 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0 );
3110 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0 );
3104 border-color: #339bb9 #339bb9 #22697d;
3111 border-color: #339bb9 #339bb9 #22697d;
3105 }
3112 }
3106
3113
3107 .success_msg,.error_msg,.notice_msg,.warning_msg {
3114 .success_msg,.error_msg,.notice_msg,.warning_msg {
3108 font-size: 12px;
3115 font-size: 12px;
3109 font-weight: 700;
3116 font-weight: 700;
3110 min-height: 14px;
3117 min-height: 14px;
3111 line-height: 14px;
3118 line-height: 14px;
3112 margin-bottom: 10px;
3119 margin-bottom: 10px;
3113 margin-top: 0;
3120 margin-top: 0;
3114 display: block;
3121 display: block;
3115 overflow: auto;
3122 overflow: auto;
3116 padding: 6px 10px 6px 10px;
3123 padding: 6px 10px 6px 10px;
3117 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3124 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3118 position: relative;
3125 position: relative;
3119 color: #FFF;
3126 color: #FFF;
3120 border-width: 1px;
3127 border-width: 1px;
3121 border-style: solid;
3128 border-style: solid;
3122 -webkit-border-radius: 4px;
3129 -webkit-border-radius: 4px;
3123 -moz-border-radius: 4px;
3130 -moz-border-radius: 4px;
3124 border-radius: 4px;
3131 border-radius: 4px;
3125 -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3132 -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3126 -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3133 -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3127 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3134 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3128 }
3135 }
3129
3136
3130 #msg_close {
3137 #msg_close {
3131 background: transparent url("../icons/cross_grey_small.png") no-repeat scroll 0 0;
3138 background: transparent url("../icons/cross_grey_small.png") no-repeat scroll 0 0;
3132 cursor: pointer;
3139 cursor: pointer;
3133 height: 16px;
3140 height: 16px;
3134 position: absolute;
3141 position: absolute;
3135 right: 5px;
3142 right: 5px;
3136 top: 5px;
3143 top: 5px;
3137 width: 16px;
3144 width: 16px;
3138 }
3145 }
3139 div#legend_data{
3146 div#legend_data{
3140 padding-left:10px;
3147 padding-left:10px;
3141 }
3148 }
3142 div#legend_container table{
3149 div#legend_container table{
3143 border: none !important;
3150 border: none !important;
3144 }
3151 }
3145 div#legend_container table,div#legend_choices table {
3152 div#legend_container table,div#legend_choices table {
3146 width: auto !important;
3153 width: auto !important;
3147 }
3154 }
3148
3155
3149 table#permissions_manage {
3156 table#permissions_manage {
3150 width: 0 !important;
3157 width: 0 !important;
3151 }
3158 }
3152
3159
3153 table#permissions_manage span.private_repo_msg {
3160 table#permissions_manage span.private_repo_msg {
3154 font-size: 0.8em;
3161 font-size: 0.8em;
3155 opacity: 0.6px;
3162 opacity: 0.6px;
3156 }
3163 }
3157
3164
3158 table#permissions_manage td.private_repo_msg {
3165 table#permissions_manage td.private_repo_msg {
3159 font-size: 0.8em;
3166 font-size: 0.8em;
3160 }
3167 }
3161
3168
3162 table#permissions_manage tr#add_perm_input td {
3169 table#permissions_manage tr#add_perm_input td {
3163 vertical-align: middle;
3170 vertical-align: middle;
3164 }
3171 }
3165
3172
3166 div.gravatar {
3173 div.gravatar {
3167 background-color: #FFF;
3174 background-color: #FFF;
3168 float: left;
3175 float: left;
3169 margin-right: 0.7em;
3176 margin-right: 0.7em;
3170 padding: 1px 1px 1px 1px;
3177 padding: 1px 1px 1px 1px;
3171 line-height:0;
3178 line-height:0;
3172 -webkit-border-radius: 3px;
3179 -webkit-border-radius: 3px;
3173 -khtml-border-radius: 3px;
3180 -khtml-border-radius: 3px;
3174 -moz-border-radius: 3px;
3181 -moz-border-radius: 3px;
3175 border-radius: 3px;
3182 border-radius: 3px;
3176 }
3183 }
3177
3184
3178 div.gravatar img {
3185 div.gravatar img {
3179 -webkit-border-radius: 2px;
3186 -webkit-border-radius: 2px;
3180 -khtml-border-radius: 2px;
3187 -khtml-border-radius: 2px;
3181 -moz-border-radius: 2px;
3188 -moz-border-radius: 2px;
3182 border-radius: 2px;
3189 border-radius: 2px;
3183 }
3190 }
3184
3191
3185 #header,#content,#footer {
3192 #header,#content,#footer {
3186 min-width: 978px;
3193 min-width: 978px;
3187 }
3194 }
3188
3195
3189 #content {
3196 #content {
3190 clear: both;
3197 clear: both;
3191 overflow: hidden;
3198 overflow: hidden;
3192 padding: 54px 10px 14px 10px;
3199 padding: 54px 10px 14px 10px;
3193 }
3200 }
3194
3201
3195 #content div.box div.title div.search {
3202 #content div.box div.title div.search {
3196
3203
3197 border-left: 1px solid #316293;
3204 border-left: 1px solid #316293;
3198 }
3205 }
3199
3206
3200 #content div.box div.title div.search div.input input {
3207 #content div.box div.title div.search div.input input {
3201 border: 1px solid #316293;
3208 border: 1px solid #316293;
3202 }
3209 }
3203
3210
3204 .ui-btn{
3211 .ui-btn{
3205 color: #515151;
3212 color: #515151;
3206 background-color: #DADADA;
3213 background-color: #DADADA;
3207 background-repeat: repeat-x;
3214 background-repeat: repeat-x;
3208 background-image: -khtml-gradient(linear, left top, left bottom, from(#F4F4F4),to(#DADADA) );
3215 background-image: -khtml-gradient(linear, left top, left bottom, from(#F4F4F4),to(#DADADA) );
3209 background-image: -moz-linear-gradient(top, #F4F4F4, #DADADA);
3216 background-image: -moz-linear-gradient(top, #F4F4F4, #DADADA);
3210 background-image: -ms-linear-gradient(top, #F4F4F4, #DADADA);
3217 background-image: -ms-linear-gradient(top, #F4F4F4, #DADADA);
3211 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #F4F4F4),color-stop(100%, #DADADA) );
3218 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #F4F4F4),color-stop(100%, #DADADA) );
3212 background-image: -webkit-linear-gradient(top, #F4F4F4, #DADADA) );
3219 background-image: -webkit-linear-gradient(top, #F4F4F4, #DADADA) );
3213 background-image: -o-linear-gradient(top, #F4F4F4, #DADADA) );
3220 background-image: -o-linear-gradient(top, #F4F4F4, #DADADA) );
3214 background-image: linear-gradient(top, #F4F4F4, #DADADA);
3221 background-image: linear-gradient(top, #F4F4F4, #DADADA);
3215 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F4F4F4', endColorstr='#DADADA', GradientType=0);
3222 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F4F4F4', endColorstr='#DADADA', GradientType=0);
3216
3223
3217 border-top: 1px solid #DDD;
3224 border-top: 1px solid #DDD;
3218 border-left: 1px solid #c6c6c6;
3225 border-left: 1px solid #c6c6c6;
3219 border-right: 1px solid #DDD;
3226 border-right: 1px solid #DDD;
3220 border-bottom: 1px solid #c6c6c6;
3227 border-bottom: 1px solid #c6c6c6;
3221 color: #515151;
3228 color: #515151;
3222 outline: none;
3229 outline: none;
3223 margin: 0px 3px 3px 0px;
3230 margin: 0px 3px 3px 0px;
3224 -webkit-border-radius: 4px 4px 4px 4px !important;
3231 -webkit-border-radius: 4px 4px 4px 4px !important;
3225 -khtml-border-radius: 4px 4px 4px 4px !important;
3232 -khtml-border-radius: 4px 4px 4px 4px !important;
3226 -moz-border-radius: 4px 4px 4px 4px !important;
3233 -moz-border-radius: 4px 4px 4px 4px !important;
3227 border-radius: 4px 4px 4px 4px !important;
3234 border-radius: 4px 4px 4px 4px !important;
3228 cursor: pointer !important;
3235 cursor: pointer !important;
3229 padding: 3px 3px 3px 3px;
3236 padding: 3px 3px 3px 3px;
3230 background-position: 0 -15px;
3237 background-position: 0 -15px;
3231
3238
3232 }
3239 }
3233 .ui-btn.xsmall{
3240 .ui-btn.xsmall{
3234 padding: 1px 2px 1px 1px;
3241 padding: 1px 2px 1px 1px;
3235 }
3242 }
3236 .ui-btn.clone{
3243 .ui-btn.clone{
3237 padding: 5px 2px 6px 1px;
3244 padding: 5px 2px 6px 1px;
3238 margin: 0px -4px 3px 0px;
3245 margin: 0px -4px 3px 0px;
3239 -webkit-border-radius: 4px 0px 0px 4px !important;
3246 -webkit-border-radius: 4px 0px 0px 4px !important;
3240 -khtml-border-radius: 4px 0px 0px 4px !important;
3247 -khtml-border-radius: 4px 0px 0px 4px !important;
3241 -moz-border-radius: 4px 0px 0px 4px !important;
3248 -moz-border-radius: 4px 0px 0px 4px !important;
3242 border-radius: 4px 0px 0px 4px !important;
3249 border-radius: 4px 0px 0px 4px !important;
3243 width: 100px;
3250 width: 100px;
3244 text-align: center;
3251 text-align: center;
3245 float: left;
3252 float: left;
3246 position: absolute;
3253 position: absolute;
3247 }
3254 }
3248 .ui-btn:focus {
3255 .ui-btn:focus {
3249 outline: none;
3256 outline: none;
3250 }
3257 }
3251 .ui-btn:hover{
3258 .ui-btn:hover{
3252 background-position: 0 0px;
3259 background-position: 0 0px;
3253 text-decoration: none;
3260 text-decoration: none;
3254 color: #515151;
3261 color: #515151;
3255 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25), 0 0 3px #FFFFFF !important;
3262 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25), 0 0 3px #FFFFFF !important;
3256 }
3263 }
3257
3264
3258 .ui-btn.red{
3265 .ui-btn.red{
3259 color:#fff;
3266 color:#fff;
3260 background-color: #c43c35;
3267 background-color: #c43c35;
3261 background-repeat: repeat-x;
3268 background-repeat: repeat-x;
3262 background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
3269 background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
3263 background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
3270 background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
3264 background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
3271 background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
3265 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
3272 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
3266 background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
3273 background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
3267 background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
3274 background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
3268 background-image: linear-gradient(top, #ee5f5b, #c43c35);
3275 background-image: linear-gradient(top, #ee5f5b, #c43c35);
3269 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
3276 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
3270 border-color: #c43c35 #c43c35 #882a25;
3277 border-color: #c43c35 #c43c35 #882a25;
3271 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3278 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3272 }
3279 }
3273
3280
3274
3281
3275 .ui-btn.blue{
3282 .ui-btn.blue{
3276 background-color: #339bb9;
3283 background-color: #339bb9;
3277 background-repeat: repeat-x;
3284 background-repeat: repeat-x;
3278 background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
3285 background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
3279 background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
3286 background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
3280 background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
3287 background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
3281 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));
3288 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));
3282 background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
3289 background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
3283 background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
3290 background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
3284 background-image: linear-gradient(top, #5bc0de, #339bb9);
3291 background-image: linear-gradient(top, #5bc0de, #339bb9);
3285 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);
3292 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);
3286 border-color: #339bb9 #339bb9 #22697d;
3293 border-color: #339bb9 #339bb9 #22697d;
3287 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3294 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3288 }
3295 }
3289
3296
3290 .ui-btn.green{
3297 .ui-btn.green{
3291 background-color: #57a957;
3298 background-color: #57a957;
3292 background-repeat: repeat-x;
3299 background-repeat: repeat-x;
3293 background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
3300 background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
3294 background-image: -moz-linear-gradient(top, #62c462, #57a957);
3301 background-image: -moz-linear-gradient(top, #62c462, #57a957);
3295 background-image: -ms-linear-gradient(top, #62c462, #57a957);
3302 background-image: -ms-linear-gradient(top, #62c462, #57a957);
3296 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
3303 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
3297 background-image: -webkit-linear-gradient(top, #62c462, #57a957);
3304 background-image: -webkit-linear-gradient(top, #62c462, #57a957);
3298 background-image: -o-linear-gradient(top, #62c462, #57a957);
3305 background-image: -o-linear-gradient(top, #62c462, #57a957);
3299 background-image: linear-gradient(top, #62c462, #57a957);
3306 background-image: linear-gradient(top, #62c462, #57a957);
3300 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
3307 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
3301 border-color: #57a957 #57a957 #3d773d;
3308 border-color: #57a957 #57a957 #3d773d;
3302 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3309 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3303 }
3310 }
3304
3311
3305 ins,div.options a:hover {
3312 ins,div.options a:hover {
3306 text-decoration: none;
3313 text-decoration: none;
3307 }
3314 }
3308
3315
3309 img,
3316 img,
3310 #header #header-inner #quick li a:hover span.normal,
3317 #header #header-inner #quick li a:hover span.normal,
3311 #header #header-inner #quick li ul li.last,
3318 #header #header-inner #quick li ul li.last,
3312 #content div.box div.form div.fields div.field div.textarea table td table td a,
3319 #content div.box div.form div.fields div.field div.textarea table td table td a,
3313 #clone_url,
3320 #clone_url,
3314 #clone_url_id
3321 #clone_url_id
3315 {
3322 {
3316 border: none;
3323 border: none;
3317 }
3324 }
3318
3325
3319 img.icon,.right .merge img {
3326 img.icon,.right .merge img {
3320 vertical-align: bottom;
3327 vertical-align: bottom;
3321 }
3328 }
3322
3329
3323 #header ul#logged-user,#content div.box div.title ul.links,
3330 #header ul#logged-user,#content div.box div.title ul.links,
3324 #content div.box div.message div.dismiss,
3331 #content div.box div.message div.dismiss,
3325 #content div.box div.traffic div.legend ul
3332 #content div.box div.traffic div.legend ul
3326 {
3333 {
3327 float: right;
3334 float: right;
3328 margin: 0;
3335 margin: 0;
3329 padding: 0;
3336 padding: 0;
3330 }
3337 }
3331
3338
3332 #header #header-inner #home,#header #header-inner #logo,
3339 #header #header-inner #home,#header #header-inner #logo,
3333 #content div.box ul.left,#content div.box ol.left,
3340 #content div.box ul.left,#content div.box ol.left,
3334 #content div.box div.pagination-left,div#commit_history,
3341 #content div.box div.pagination-left,div#commit_history,
3335 div#legend_data,div#legend_container,div#legend_choices
3342 div#legend_data,div#legend_container,div#legend_choices
3336 {
3343 {
3337 float: left;
3344 float: left;
3338 }
3345 }
3339
3346
3340 #header #header-inner #quick li:hover ul ul,
3347 #header #header-inner #quick li:hover ul ul,
3341 #header #header-inner #quick li:hover ul ul ul,
3348 #header #header-inner #quick li:hover ul ul ul,
3342 #header #header-inner #quick li:hover ul ul ul ul,
3349 #header #header-inner #quick li:hover ul ul ul ul,
3343 #content #left #menu ul.closed,#content #left #menu li ul.collapsed,.yui-tt-shadow
3350 #content #left #menu ul.closed,#content #left #menu li ul.collapsed,.yui-tt-shadow
3344 {
3351 {
3345 display: none;
3352 display: none;
3346 }
3353 }
3347
3354
3348 #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
3355 #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
3349 {
3356 {
3350 display: block;
3357 display: block;
3351 }
3358 }
3352
3359
3353 #content div.graph {
3360 #content div.graph {
3354 padding: 0 10px 10px;
3361 padding: 0 10px 10px;
3355 }
3362 }
3356
3363
3357 #content div.box div.title ul.links li a:hover,#content div.box div.title ul.links li.ui-tabs-selected a
3364 #content div.box div.title ul.links li a:hover,#content div.box div.title ul.links li.ui-tabs-selected a
3358 {
3365 {
3359 color: #bfe3ff;
3366 color: #bfe3ff;
3360 }
3367 }
3361
3368
3362 #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
3369 #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
3363 {
3370 {
3364 margin: 10px 24px 10px 44px;
3371 margin: 10px 24px 10px 44px;
3365 }
3372 }
3366
3373
3367 #content div.box div.form,#content div.box div.table,#content div.box div.traffic
3374 #content div.box div.form,#content div.box div.table,#content div.box div.traffic
3368 {
3375 {
3369 clear: both;
3376 clear: both;
3370 overflow: hidden;
3377 overflow: hidden;
3371 margin: 0;
3378 margin: 0;
3372 padding: 0 20px 10px;
3379 padding: 0 20px 10px;
3373 }
3380 }
3374
3381
3375 #content div.box div.form div.fields,#login div.form,#login div.form div.fields,#register div.form,#register div.form div.fields
3382 #content div.box div.form div.fields,#login div.form,#login div.form div.fields,#register div.form,#register div.form div.fields
3376 {
3383 {
3377 clear: both;
3384 clear: both;
3378 overflow: hidden;
3385 overflow: hidden;
3379 margin: 0;
3386 margin: 0;
3380 padding: 0;
3387 padding: 0;
3381 }
3388 }
3382
3389
3383 #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
3390 #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
3384 {
3391 {
3385 height: 1%;
3392 height: 1%;
3386 display: block;
3393 display: block;
3387 color: #363636;
3394 color: #363636;
3388 margin: 0;
3395 margin: 0;
3389 padding: 2px 0 0;
3396 padding: 2px 0 0;
3390 }
3397 }
3391
3398
3392 #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
3399 #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
3393 {
3400 {
3394 background: #FBE3E4;
3401 background: #FBE3E4;
3395 border-top: 1px solid #e1b2b3;
3402 border-top: 1px solid #e1b2b3;
3396 border-left: 1px solid #e1b2b3;
3403 border-left: 1px solid #e1b2b3;
3397 border-right: 1px solid #FBC2C4;
3404 border-right: 1px solid #FBC2C4;
3398 border-bottom: 1px solid #FBC2C4;
3405 border-bottom: 1px solid #FBC2C4;
3399 }
3406 }
3400
3407
3401 #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
3408 #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
3402 {
3409 {
3403 background: #E6EFC2;
3410 background: #E6EFC2;
3404 border-top: 1px solid #cebb98;
3411 border-top: 1px solid #cebb98;
3405 border-left: 1px solid #cebb98;
3412 border-left: 1px solid #cebb98;
3406 border-right: 1px solid #c6d880;
3413 border-right: 1px solid #c6d880;
3407 border-bottom: 1px solid #c6d880;
3414 border-bottom: 1px solid #c6d880;
3408 }
3415 }
3409
3416
3410 #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
3417 #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
3411 {
3418 {
3412 margin: 0;
3419 margin: 0;
3413 }
3420 }
3414
3421
3415 #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
3422 #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
3416 {
3423 {
3417 margin: 0 0 0 0px !important;
3424 margin: 0 0 0 0px !important;
3418 padding: 0;
3425 padding: 0;
3419 }
3426 }
3420
3427
3421 #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
3428 #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
3422 {
3429 {
3423 margin: 0 0 0 200px;
3430 margin: 0 0 0 200px;
3424 padding: 0;
3431 padding: 0;
3425 }
3432 }
3426
3433
3427 #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
3434 #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
3428 {
3435 {
3429 color: #000;
3436 color: #000;
3430 text-decoration: none;
3437 text-decoration: none;
3431 }
3438 }
3432
3439
3433 #content div.box div.form div.fields div.field div.select a.ui-selectmenu-focus,#content div.box div.action a.ui-selectmenu-focus
3440 #content div.box div.form div.fields div.field div.select a.ui-selectmenu-focus,#content div.box div.action a.ui-selectmenu-focus
3434 {
3441 {
3435 border: 1px solid #666;
3442 border: 1px solid #666;
3436 }
3443 }
3437
3444
3438 #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
3445 #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
3439 {
3446 {
3440 clear: both;
3447 clear: both;
3441 overflow: hidden;
3448 overflow: hidden;
3442 margin: 0;
3449 margin: 0;
3443 padding: 8px 0 2px;
3450 padding: 8px 0 2px;
3444 }
3451 }
3445
3452
3446 #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
3453 #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
3447 {
3454 {
3448 float: left;
3455 float: left;
3449 margin: 0;
3456 margin: 0;
3450 }
3457 }
3451
3458
3452 #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
3459 #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
3453 {
3460 {
3454 height: 1%;
3461 height: 1%;
3455 display: block;
3462 display: block;
3456 float: left;
3463 float: left;
3457 margin: 2px 0 0 4px;
3464 margin: 2px 0 0 4px;
3458 }
3465 }
3459
3466
3460 div.form div.fields div.field div.button input,#content div.box div.form div.fields div.buttons input,div.form div.fields div.buttons input,#content div.box div.action div.button input
3467 div.form div.fields div.field div.button input,#content div.box div.form div.fields div.buttons input,div.form div.fields div.buttons input,#content div.box div.action div.button input
3461 {
3468 {
3462 color: #000;
3469 color: #000;
3463 font-size: 11px;
3470 font-size: 11px;
3464 font-weight: 700;
3471 font-weight: 700;
3465 margin: 0;
3472 margin: 0;
3466 }
3473 }
3467
3474
3468 input.ui-button {
3475 input.ui-button {
3469 background: #e5e3e3 url("../images/button.png") repeat-x;
3476 background: #e5e3e3 url("../images/button.png") repeat-x;
3470 border-top: 1px solid #DDD;
3477 border-top: 1px solid #DDD;
3471 border-left: 1px solid #c6c6c6;
3478 border-left: 1px solid #c6c6c6;
3472 border-right: 1px solid #DDD;
3479 border-right: 1px solid #DDD;
3473 border-bottom: 1px solid #c6c6c6;
3480 border-bottom: 1px solid #c6c6c6;
3474 color: #515151 !important;
3481 color: #515151 !important;
3475 outline: none;
3482 outline: none;
3476 margin: 0;
3483 margin: 0;
3477 padding: 6px 12px;
3484 padding: 6px 12px;
3478 -webkit-border-radius: 4px 4px 4px 4px;
3485 -webkit-border-radius: 4px 4px 4px 4px;
3479 -khtml-border-radius: 4px 4px 4px 4px;
3486 -khtml-border-radius: 4px 4px 4px 4px;
3480 -moz-border-radius: 4px 4px 4px 4px;
3487 -moz-border-radius: 4px 4px 4px 4px;
3481 border-radius: 4px 4px 4px 4px;
3488 border-radius: 4px 4px 4px 4px;
3482 box-shadow: 0 1px 0 #ececec;
3489 box-shadow: 0 1px 0 #ececec;
3483 cursor: pointer;
3490 cursor: pointer;
3484 }
3491 }
3485
3492
3486 input.ui-button:hover {
3493 input.ui-button:hover {
3487 background: #b4b4b4 url("../images/button_selected.png") repeat-x;
3494 background: #b4b4b4 url("../images/button_selected.png") repeat-x;
3488 border-top: 1px solid #ccc;
3495 border-top: 1px solid #ccc;
3489 border-left: 1px solid #bebebe;
3496 border-left: 1px solid #bebebe;
3490 border-right: 1px solid #b1b1b1;
3497 border-right: 1px solid #b1b1b1;
3491 border-bottom: 1px solid #afafaf;
3498 border-bottom: 1px solid #afafaf;
3492 }
3499 }
3493
3500
3494 div.form div.fields div.field div.highlight,#content div.box div.form div.fields div.buttons div.highlight
3501 div.form div.fields div.field div.highlight,#content div.box div.form div.fields div.buttons div.highlight
3495 {
3502 {
3496 display: inline;
3503 display: inline;
3497 }
3504 }
3498
3505
3499 #content div.box div.form div.fields div.buttons,div.form div.fields div.buttons
3506 #content div.box div.form div.fields div.buttons,div.form div.fields div.buttons
3500 {
3507 {
3501 margin: 10px 0 0 200px;
3508 margin: 10px 0 0 200px;
3502 padding: 0;
3509 padding: 0;
3503 }
3510 }
3504
3511
3505 #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
3512 #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
3506 {
3513 {
3507 margin: 10px 0 0;
3514 margin: 10px 0 0;
3508 }
3515 }
3509
3516
3510 #content div.box table td.user,#content div.box table td.address {
3517 #content div.box table td.user,#content div.box table td.address {
3511 width: 10%;
3518 width: 10%;
3512 text-align: center;
3519 text-align: center;
3513 }
3520 }
3514
3521
3515 #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
3522 #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
3516 {
3523 {
3517 text-align: right;
3524 text-align: right;
3518 margin: 6px 0 0;
3525 margin: 6px 0 0;
3519 padding: 0;
3526 padding: 0;
3520 }
3527 }
3521
3528
3522 #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
3529 #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
3523 {
3530 {
3524 background: #b4b4b4 url("../images/button_selected.png") repeat-x;
3531 background: #b4b4b4 url("../images/button_selected.png") repeat-x;
3525 border-top: 1px solid #ccc;
3532 border-top: 1px solid #ccc;
3526 border-left: 1px solid #bebebe;
3533 border-left: 1px solid #bebebe;
3527 border-right: 1px solid #b1b1b1;
3534 border-right: 1px solid #b1b1b1;
3528 border-bottom: 1px solid #afafaf;
3535 border-bottom: 1px solid #afafaf;
3529 color: #515151;
3536 color: #515151;
3530 margin: 0;
3537 margin: 0;
3531 padding: 6px 12px;
3538 padding: 6px 12px;
3532 }
3539 }
3533
3540
3534 #content div.box div.pagination div.results,#content div.box div.pagination-wh div.results
3541 #content div.box div.pagination div.results,#content div.box div.pagination-wh div.results
3535 {
3542 {
3536 text-align: left;
3543 text-align: left;
3537 float: left;
3544 float: left;
3538 margin: 0;
3545 margin: 0;
3539 padding: 0;
3546 padding: 0;
3540 }
3547 }
3541
3548
3542 #content div.box div.pagination div.results span,#content div.box div.pagination-wh div.results span
3549 #content div.box div.pagination div.results span,#content div.box div.pagination-wh div.results span
3543 {
3550 {
3544 height: 1%;
3551 height: 1%;
3545 display: block;
3552 display: block;
3546 float: left;
3553 float: left;
3547 background: #ebebeb url("../images/pager.png") repeat-x;
3554 background: #ebebeb url("../images/pager.png") repeat-x;
3548 border-top: 1px solid #dedede;
3555 border-top: 1px solid #dedede;
3549 border-left: 1px solid #cfcfcf;
3556 border-left: 1px solid #cfcfcf;
3550 border-right: 1px solid #c4c4c4;
3557 border-right: 1px solid #c4c4c4;
3551 border-bottom: 1px solid #c4c4c4;
3558 border-bottom: 1px solid #c4c4c4;
3552 color: #4A4A4A;
3559 color: #4A4A4A;
3553 font-weight: 700;
3560 font-weight: 700;
3554 margin: 0;
3561 margin: 0;
3555 padding: 6px 8px;
3562 padding: 6px 8px;
3556 }
3563 }
3557
3564
3558 #content div.box div.pagination ul.pager li.disabled,#content div.box div.pagination-wh a.disabled
3565 #content div.box div.pagination ul.pager li.disabled,#content div.box div.pagination-wh a.disabled
3559 {
3566 {
3560 color: #B4B4B4;
3567 color: #B4B4B4;
3561 padding: 6px;
3568 padding: 6px;
3562 }
3569 }
3563
3570
3564 #login,#register {
3571 #login,#register {
3565 width: 520px;
3572 width: 520px;
3566 margin: 10% auto 0;
3573 margin: 10% auto 0;
3567 padding: 0;
3574 padding: 0;
3568 }
3575 }
3569
3576
3570 #login div.color,#register div.color {
3577 #login div.color,#register div.color {
3571 clear: both;
3578 clear: both;
3572 overflow: hidden;
3579 overflow: hidden;
3573 background: #FFF;
3580 background: #FFF;
3574 margin: 10px auto 0;
3581 margin: 10px auto 0;
3575 padding: 3px 3px 3px 0;
3582 padding: 3px 3px 3px 0;
3576 }
3583 }
3577
3584
3578 #login div.color a,#register div.color a {
3585 #login div.color a,#register div.color a {
3579 width: 20px;
3586 width: 20px;
3580 height: 20px;
3587 height: 20px;
3581 display: block;
3588 display: block;
3582 float: left;
3589 float: left;
3583 margin: 0 0 0 3px;
3590 margin: 0 0 0 3px;
3584 padding: 0;
3591 padding: 0;
3585 }
3592 }
3586
3593
3587 #login div.title h5,#register div.title h5 {
3594 #login div.title h5,#register div.title h5 {
3588 color: #fff;
3595 color: #fff;
3589 margin: 10px;
3596 margin: 10px;
3590 padding: 0;
3597 padding: 0;
3591 }
3598 }
3592
3599
3593 #login div.form div.fields div.field,#register div.form div.fields div.field
3600 #login div.form div.fields div.field,#register div.form div.fields div.field
3594 {
3601 {
3595 clear: both;
3602 clear: both;
3596 overflow: hidden;
3603 overflow: hidden;
3597 margin: 0;
3604 margin: 0;
3598 padding: 0 0 10px;
3605 padding: 0 0 10px;
3599 }
3606 }
3600
3607
3601 #login div.form div.fields div.field span.error-message,#register div.form div.fields div.field span.error-message
3608 #login div.form div.fields div.field span.error-message,#register div.form div.fields div.field span.error-message
3602 {
3609 {
3603 height: 1%;
3610 height: 1%;
3604 display: block;
3611 display: block;
3605 color: red;
3612 color: red;
3606 margin: 8px 0 0;
3613 margin: 8px 0 0;
3607 padding: 0;
3614 padding: 0;
3608 max-width: 320px;
3615 max-width: 320px;
3609 }
3616 }
3610
3617
3611 #login div.form div.fields div.field div.label label,#register div.form div.fields div.field div.label label
3618 #login div.form div.fields div.field div.label label,#register div.form div.fields div.field div.label label
3612 {
3619 {
3613 color: #000;
3620 color: #000;
3614 font-weight: 700;
3621 font-weight: 700;
3615 }
3622 }
3616
3623
3617 #login div.form div.fields div.field div.input,#register div.form div.fields div.field div.input
3624 #login div.form div.fields div.field div.input,#register div.form div.fields div.field div.input
3618 {
3625 {
3619 float: left;
3626 float: left;
3620 margin: 0;
3627 margin: 0;
3621 padding: 0;
3628 padding: 0;
3622 }
3629 }
3623
3630
3624 #login div.form div.fields div.field div.checkbox,#register div.form div.fields div.field div.checkbox
3631 #login div.form div.fields div.field div.checkbox,#register div.form div.fields div.field div.checkbox
3625 {
3632 {
3626 margin: 0 0 0 184px;
3633 margin: 0 0 0 184px;
3627 padding: 0;
3634 padding: 0;
3628 }
3635 }
3629
3636
3630 #login div.form div.fields div.field div.checkbox label,#register div.form div.fields div.field div.checkbox label
3637 #login div.form div.fields div.field div.checkbox label,#register div.form div.fields div.field div.checkbox label
3631 {
3638 {
3632 color: #565656;
3639 color: #565656;
3633 font-weight: 700;
3640 font-weight: 700;
3634 }
3641 }
3635
3642
3636 #login div.form div.fields div.buttons input,#register div.form div.fields div.buttons input
3643 #login div.form div.fields div.buttons input,#register div.form div.fields div.buttons input
3637 {
3644 {
3638 color: #000;
3645 color: #000;
3639 font-size: 1em;
3646 font-size: 1em;
3640 font-weight: 700;
3647 font-weight: 700;
3641 margin: 0;
3648 margin: 0;
3642 }
3649 }
3643
3650
3644 #changeset_content .container .wrapper,#graph_content .container .wrapper
3651 #changeset_content .container .wrapper,#graph_content .container .wrapper
3645 {
3652 {
3646 width: 600px;
3653 width: 600px;
3647 }
3654 }
3648
3655
3649 #changeset_content .container .left {
3656 #changeset_content .container .left {
3650 float: left;
3657 float: left;
3651 width: 75%;
3658 width: 75%;
3652 padding-left: 5px;
3659 padding-left: 5px;
3653 }
3660 }
3654
3661
3655 #changeset_content .container .left .date,.ac .match {
3662 #changeset_content .container .left .date,.ac .match {
3656 font-weight: 700;
3663 font-weight: 700;
3657 padding-top: 5px;
3664 padding-top: 5px;
3658 padding-bottom: 5px;
3665 padding-bottom: 5px;
3659 }
3666 }
3660
3667
3661 div#legend_container table td,div#legend_choices table td {
3668 div#legend_container table td,div#legend_choices table td {
3662 border: none !important;
3669 border: none !important;
3663 height: 20px !important;
3670 height: 20px !important;
3664 padding: 0 !important;
3671 padding: 0 !important;
3665 }
3672 }
3666
3673
3667 .q_filter_box {
3674 .q_filter_box {
3668 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
3675 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
3669 -webkit-border-radius: 4px;
3676 -webkit-border-radius: 4px;
3670 -moz-border-radius: 4px;
3677 -moz-border-radius: 4px;
3671 border-radius: 4px;
3678 border-radius: 4px;
3672 border: 0 none;
3679 border: 0 none;
3673 color: #AAAAAA;
3680 color: #AAAAAA;
3674 margin-bottom: -4px;
3681 margin-bottom: -4px;
3675 margin-top: -4px;
3682 margin-top: -4px;
3676 padding-left: 3px;
3683 padding-left: 3px;
3677 }
3684 }
3678
3685
3679 #node_filter {
3686 #node_filter {
3680 border: 0px solid #545454;
3687 border: 0px solid #545454;
3681 color: #AAAAAA;
3688 color: #AAAAAA;
3682 padding-left: 3px;
3689 padding-left: 3px;
3683 }
3690 }
3684
3691
3685
3692
3686 .group_members_wrap{
3693 .group_members_wrap{
3687
3694
3688 }
3695 }
3689
3696
3690 .group_members .group_member{
3697 .group_members .group_member{
3691 height: 30px;
3698 height: 30px;
3692 padding:0px 0px 0px 10px;
3699 padding:0px 0px 0px 10px;
3693 }
3700 }
3694
3701
3695 /*README STYLE*/
3702 /*README STYLE*/
3696
3703
3697 div.readme {
3704 div.readme {
3698 padding:0px;
3705 padding:0px;
3699 }
3706 }
3700
3707
3701 div.readme h2 {
3708 div.readme h2 {
3702 font-weight: normal;
3709 font-weight: normal;
3703 }
3710 }
3704
3711
3705 div.readme .readme_box {
3712 div.readme .readme_box {
3706 background-color: #fafafa;
3713 background-color: #fafafa;
3707 }
3714 }
3708
3715
3709 div.readme .readme_box {
3716 div.readme .readme_box {
3710 clear:both;
3717 clear:both;
3711 overflow:hidden;
3718 overflow:hidden;
3712 margin:0;
3719 margin:0;
3713 padding:0 20px 10px;
3720 padding:0 20px 10px;
3714 }
3721 }
3715
3722
3716 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 {
3723 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 {
3717 border-bottom: 0 !important;
3724 border-bottom: 0 !important;
3718 margin: 0 !important;
3725 margin: 0 !important;
3719 padding: 0 !important;
3726 padding: 0 !important;
3720 line-height: 1.5em !important;
3727 line-height: 1.5em !important;
3721 }
3728 }
3722
3729
3723
3730
3724 div.readme .readme_box h1:first-child {
3731 div.readme .readme_box h1:first-child {
3725 padding-top: .25em !important;
3732 padding-top: .25em !important;
3726 }
3733 }
3727
3734
3728 div.readme .readme_box h2, div.readme .readme_box h3 {
3735 div.readme .readme_box h2, div.readme .readme_box h3 {
3729 margin: 1em 0 !important;
3736 margin: 1em 0 !important;
3730 }
3737 }
3731
3738
3732 div.readme .readme_box h2 {
3739 div.readme .readme_box h2 {
3733 margin-top: 1.5em !important;
3740 margin-top: 1.5em !important;
3734 border-top: 4px solid #e0e0e0 !important;
3741 border-top: 4px solid #e0e0e0 !important;
3735 padding-top: .5em !important;
3742 padding-top: .5em !important;
3736 }
3743 }
3737
3744
3738 div.readme .readme_box p {
3745 div.readme .readme_box p {
3739 color: black !important;
3746 color: black !important;
3740 margin: 1em 0 !important;
3747 margin: 1em 0 !important;
3741 line-height: 1.5em !important;
3748 line-height: 1.5em !important;
3742 }
3749 }
3743
3750
3744 div.readme .readme_box ul {
3751 div.readme .readme_box ul {
3745 list-style: disc !important;
3752 list-style: disc !important;
3746 margin: 1em 0 1em 2em !important;
3753 margin: 1em 0 1em 2em !important;
3747 }
3754 }
3748
3755
3749 div.readme .readme_box ol {
3756 div.readme .readme_box ol {
3750 list-style: decimal;
3757 list-style: decimal;
3751 margin: 1em 0 1em 2em !important;
3758 margin: 1em 0 1em 2em !important;
3752 }
3759 }
3753
3760
3754 div.readme .readme_box pre, code {
3761 div.readme .readme_box pre, code {
3755 font: 12px "Bitstream Vera Sans Mono","Courier",monospace;
3762 font: 12px "Bitstream Vera Sans Mono","Courier",monospace;
3756 }
3763 }
3757
3764
3758 div.readme .readme_box code {
3765 div.readme .readme_box code {
3759 font-size: 12px !important;
3766 font-size: 12px !important;
3760 background-color: ghostWhite !important;
3767 background-color: ghostWhite !important;
3761 color: #444 !important;
3768 color: #444 !important;
3762 padding: 0 .2em !important;
3769 padding: 0 .2em !important;
3763 border: 1px solid #dedede !important;
3770 border: 1px solid #dedede !important;
3764 }
3771 }
3765
3772
3766 div.readme .readme_box pre code {
3773 div.readme .readme_box pre code {
3767 padding: 0 !important;
3774 padding: 0 !important;
3768 font-size: 12px !important;
3775 font-size: 12px !important;
3769 background-color: #eee !important;
3776 background-color: #eee !important;
3770 border: none !important;
3777 border: none !important;
3771 }
3778 }
3772
3779
3773 div.readme .readme_box pre {
3780 div.readme .readme_box pre {
3774 margin: 1em 0;
3781 margin: 1em 0;
3775 font-size: 12px;
3782 font-size: 12px;
3776 background-color: #eee;
3783 background-color: #eee;
3777 border: 1px solid #ddd;
3784 border: 1px solid #ddd;
3778 padding: 5px;
3785 padding: 5px;
3779 color: #444;
3786 color: #444;
3780 overflow: auto;
3787 overflow: auto;
3781 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
3788 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
3782 -webkit-border-radius: 3px;
3789 -webkit-border-radius: 3px;
3783 -moz-border-radius: 3px;
3790 -moz-border-radius: 3px;
3784 border-radius: 3px;
3791 border-radius: 3px;
3785 }
3792 }
3786
3793
3787
3794
3788 /** RST STYLE **/
3795 /** RST STYLE **/
3789
3796
3790
3797
3791 div.rst-block {
3798 div.rst-block {
3792 padding:0px;
3799 padding:0px;
3793 }
3800 }
3794
3801
3795 div.rst-block h2 {
3802 div.rst-block h2 {
3796 font-weight: normal;
3803 font-weight: normal;
3797 }
3804 }
3798
3805
3799 div.rst-block {
3806 div.rst-block {
3800 background-color: #fafafa;
3807 background-color: #fafafa;
3801 }
3808 }
3802
3809
3803 div.rst-block {
3810 div.rst-block {
3804 clear:both;
3811 clear:both;
3805 overflow:hidden;
3812 overflow:hidden;
3806 margin:0;
3813 margin:0;
3807 padding:0 20px 10px;
3814 padding:0 20px 10px;
3808 }
3815 }
3809
3816
3810 div.rst-block h1, div.rst-block h2, div.rst-block h3, div.rst-block h4, div.rst-block h5, div.rst-block h6 {
3817 div.rst-block h1, div.rst-block h2, div.rst-block h3, div.rst-block h4, div.rst-block h5, div.rst-block h6 {
3811 border-bottom: 0 !important;
3818 border-bottom: 0 !important;
3812 margin: 0 !important;
3819 margin: 0 !important;
3813 padding: 0 !important;
3820 padding: 0 !important;
3814 line-height: 1.5em !important;
3821 line-height: 1.5em !important;
3815 }
3822 }
3816
3823
3817
3824
3818 div.rst-block h1:first-child {
3825 div.rst-block h1:first-child {
3819 padding-top: .25em !important;
3826 padding-top: .25em !important;
3820 }
3827 }
3821
3828
3822 div.rst-block h2, div.rst-block h3 {
3829 div.rst-block h2, div.rst-block h3 {
3823 margin: 1em 0 !important;
3830 margin: 1em 0 !important;
3824 }
3831 }
3825
3832
3826 div.rst-block h2 {
3833 div.rst-block h2 {
3827 margin-top: 1.5em !important;
3834 margin-top: 1.5em !important;
3828 border-top: 4px solid #e0e0e0 !important;
3835 border-top: 4px solid #e0e0e0 !important;
3829 padding-top: .5em !important;
3836 padding-top: .5em !important;
3830 }
3837 }
3831
3838
3832 div.rst-block p {
3839 div.rst-block p {
3833 color: black !important;
3840 color: black !important;
3834 margin: 1em 0 !important;
3841 margin: 1em 0 !important;
3835 line-height: 1.5em !important;
3842 line-height: 1.5em !important;
3836 }
3843 }
3837
3844
3838 div.rst-block ul {
3845 div.rst-block ul {
3839 list-style: disc !important;
3846 list-style: disc !important;
3840 margin: 1em 0 1em 2em !important;
3847 margin: 1em 0 1em 2em !important;
3841 }
3848 }
3842
3849
3843 div.rst-block ol {
3850 div.rst-block ol {
3844 list-style: decimal;
3851 list-style: decimal;
3845 margin: 1em 0 1em 2em !important;
3852 margin: 1em 0 1em 2em !important;
3846 }
3853 }
3847
3854
3848 div.rst-block pre, code {
3855 div.rst-block pre, code {
3849 font: 12px "Bitstream Vera Sans Mono","Courier",monospace;
3856 font: 12px "Bitstream Vera Sans Mono","Courier",monospace;
3850 }
3857 }
3851
3858
3852 div.rst-block code {
3859 div.rst-block code {
3853 font-size: 12px !important;
3860 font-size: 12px !important;
3854 background-color: ghostWhite !important;
3861 background-color: ghostWhite !important;
3855 color: #444 !important;
3862 color: #444 !important;
3856 padding: 0 .2em !important;
3863 padding: 0 .2em !important;
3857 border: 1px solid #dedede !important;
3864 border: 1px solid #dedede !important;
3858 }
3865 }
3859
3866
3860 div.rst-block pre code {
3867 div.rst-block pre code {
3861 padding: 0 !important;
3868 padding: 0 !important;
3862 font-size: 12px !important;
3869 font-size: 12px !important;
3863 background-color: #eee !important;
3870 background-color: #eee !important;
3864 border: none !important;
3871 border: none !important;
3865 }
3872 }
3866
3873
3867 div.rst-block pre {
3874 div.rst-block pre {
3868 margin: 1em 0;
3875 margin: 1em 0;
3869 font-size: 12px;
3876 font-size: 12px;
3870 background-color: #eee;
3877 background-color: #eee;
3871 border: 1px solid #ddd;
3878 border: 1px solid #ddd;
3872 padding: 5px;
3879 padding: 5px;
3873 color: #444;
3880 color: #444;
3874 overflow: auto;
3881 overflow: auto;
3875 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
3882 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
3876 -webkit-border-radius: 3px;
3883 -webkit-border-radius: 3px;
3877 -moz-border-radius: 3px;
3884 -moz-border-radius: 3px;
3878 border-radius: 3px;
3885 border-radius: 3px;
3879 }
3886 }
3880
3887
3881
3888
3882 /** comment main **/
3889 /** comment main **/
3883 .comments {
3890 .comments {
3884 padding:10px 20px;
3891 padding:10px 20px;
3885 }
3892 }
3886
3893
3887 .comments .comment {
3894 .comments .comment {
3888 border: 1px solid #ddd;
3895 border: 1px solid #ddd;
3889 margin-top: 10px;
3896 margin-top: 10px;
3890 -webkit-border-radius: 4px;
3897 -webkit-border-radius: 4px;
3891 -moz-border-radius: 4px;
3898 -moz-border-radius: 4px;
3892 border-radius: 4px;
3899 border-radius: 4px;
3893 }
3900 }
3894
3901
3895 .comments .comment .meta {
3902 .comments .comment .meta {
3896 background: #f8f8f8;
3903 background: #f8f8f8;
3897 padding: 4px;
3904 padding: 4px;
3898 border-bottom: 1px solid #ddd;
3905 border-bottom: 1px solid #ddd;
3899 }
3906 }
3900
3907
3901 .comments .comment .meta img {
3908 .comments .comment .meta img {
3902 vertical-align: middle;
3909 vertical-align: middle;
3903 }
3910 }
3904
3911
3905 .comments .comment .meta .user {
3912 .comments .comment .meta .user {
3906 font-weight: bold;
3913 font-weight: bold;
3907 }
3914 }
3908
3915
3909 .comments .comment .meta .date {
3916 .comments .comment .meta .date {
3910 }
3917 }
3911
3918
3912 .comments .comment .text {
3919 .comments .comment .text {
3913 background-color: #FAFAFA;
3920 background-color: #FAFAFA;
3914 }
3921 }
3915 .comment .text div.rst-block p {
3922 .comment .text div.rst-block p {
3916 margin: 0.5em 0px !important;
3923 margin: 0.5em 0px !important;
3917 }
3924 }
3918
3925
3919 .comments .comments-number{
3926 .comments .comments-number{
3920 padding:0px 0px 10px 0px;
3927 padding:0px 0px 10px 0px;
3921 font-weight: bold;
3928 font-weight: bold;
3922 color: #666;
3929 color: #666;
3923 font-size: 16px;
3930 font-size: 16px;
3924 }
3931 }
3925
3932
3926 /** comment form **/
3933 /** comment form **/
3927
3934
3928 .comment-form .clearfix{
3935 .comment-form .clearfix{
3929 background: #EEE;
3936 background: #EEE;
3930 -webkit-border-radius: 4px;
3937 -webkit-border-radius: 4px;
3931 -moz-border-radius: 4px;
3938 -moz-border-radius: 4px;
3932 border-radius: 4px;
3939 border-radius: 4px;
3933 padding: 10px;
3940 padding: 10px;
3934 }
3941 }
3935
3942
3936 div.comment-form {
3943 div.comment-form {
3937 margin-top: 20px;
3944 margin-top: 20px;
3938 }
3945 }
3939
3946
3940 .comment-form strong {
3947 .comment-form strong {
3941 display: block;
3948 display: block;
3942 margin-bottom: 15px;
3949 margin-bottom: 15px;
3943 }
3950 }
3944
3951
3945 .comment-form textarea {
3952 .comment-form textarea {
3946 width: 100%;
3953 width: 100%;
3947 height: 100px;
3954 height: 100px;
3948 font-family: 'Monaco', 'Courier', 'Courier New', monospace;
3955 font-family: 'Monaco', 'Courier', 'Courier New', monospace;
3949 }
3956 }
3950
3957
3951 form.comment-form {
3958 form.comment-form {
3952 margin-top: 10px;
3959 margin-top: 10px;
3953 margin-left: 10px;
3960 margin-left: 10px;
3954 }
3961 }
3955
3962
3956 .comment-form-submit {
3963 .comment-form-submit {
3957 margin-top: 5px;
3964 margin-top: 5px;
3958 margin-left: 525px;
3965 margin-left: 525px;
3959 }
3966 }
3960
3967
3961 .file-comments {
3968 .file-comments {
3962 display: none;
3969 display: none;
3963 }
3970 }
3964
3971
3965 .comment-form .comment {
3972 .comment-form .comment {
3966 margin-left: 10px;
3973 margin-left: 10px;
3967 }
3974 }
3968
3975
3969 .comment-form .comment-help{
3976 .comment-form .comment-help{
3970 padding: 0px 0px 5px 0px;
3977 padding: 0px 0px 5px 0px;
3971 color: #666;
3978 color: #666;
3972 }
3979 }
3973
3980
3974 .comment-form .comment-button{
3981 .comment-form .comment-button{
3975 padding-top:5px;
3982 padding-top:5px;
3976 }
3983 }
3977
3984
3978 .add-another-button {
3985 .add-another-button {
3979 margin-left: 10px;
3986 margin-left: 10px;
3980 margin-top: 10px;
3987 margin-top: 10px;
3981 margin-bottom: 10px;
3988 margin-bottom: 10px;
3982 }
3989 }
3983
3990
3984 .comment .buttons {
3991 .comment .buttons {
3985 float: right;
3992 float: right;
3986 padding:2px 2px 0px 0px;
3993 padding:2px 2px 0px 0px;
3987 }
3994 }
3988
3995
3989
3996
3990 .show-inline-comments{
3997 .show-inline-comments{
3991 position: relative;
3998 position: relative;
3992 top:1px
3999 top:1px
3993 }
4000 }
3994
4001
3995 /** comment inline form **/
4002 /** comment inline form **/
3996 .comment-inline-form .overlay{
4003 .comment-inline-form .overlay{
3997 display: none;
4004 display: none;
3998 }
4005 }
3999 .comment-inline-form .overlay.submitting{
4006 .comment-inline-form .overlay.submitting{
4000 display:block;
4007 display:block;
4001 background: none repeat scroll 0 0 white;
4008 background: none repeat scroll 0 0 white;
4002 font-size: 16px;
4009 font-size: 16px;
4003 opacity: 0.5;
4010 opacity: 0.5;
4004 position: absolute;
4011 position: absolute;
4005 text-align: center;
4012 text-align: center;
4006 vertical-align: top;
4013 vertical-align: top;
4007
4014
4008 }
4015 }
4009 .comment-inline-form .overlay.submitting .overlay-text{
4016 .comment-inline-form .overlay.submitting .overlay-text{
4010 width:100%;
4017 width:100%;
4011 margin-top:5%;
4018 margin-top:5%;
4012 }
4019 }
4013
4020
4014 .comment-inline-form .clearfix{
4021 .comment-inline-form .clearfix{
4015 background: #EEE;
4022 background: #EEE;
4016 -webkit-border-radius: 4px;
4023 -webkit-border-radius: 4px;
4017 -moz-border-radius: 4px;
4024 -moz-border-radius: 4px;
4018 border-radius: 4px;
4025 border-radius: 4px;
4019 padding: 5px;
4026 padding: 5px;
4020 }
4027 }
4021
4028
4022 div.comment-inline-form {
4029 div.comment-inline-form {
4023 margin-top: 5px;
4030 margin-top: 5px;
4024 padding:2px 6px 8px 6px;
4031 padding:2px 6px 8px 6px;
4025
4032
4026 }
4033 }
4027
4034
4028 .comment-inline-form strong {
4035 .comment-inline-form strong {
4029 display: block;
4036 display: block;
4030 margin-bottom: 15px;
4037 margin-bottom: 15px;
4031 }
4038 }
4032
4039
4033 .comment-inline-form textarea {
4040 .comment-inline-form textarea {
4034 width: 100%;
4041 width: 100%;
4035 height: 100px;
4042 height: 100px;
4036 font-family: 'Monaco', 'Courier', 'Courier New', monospace;
4043 font-family: 'Monaco', 'Courier', 'Courier New', monospace;
4037 }
4044 }
4038
4045
4039 form.comment-inline-form {
4046 form.comment-inline-form {
4040 margin-top: 10px;
4047 margin-top: 10px;
4041 margin-left: 10px;
4048 margin-left: 10px;
4042 }
4049 }
4043
4050
4044 .comment-inline-form-submit {
4051 .comment-inline-form-submit {
4045 margin-top: 5px;
4052 margin-top: 5px;
4046 margin-left: 525px;
4053 margin-left: 525px;
4047 }
4054 }
4048
4055
4049 .file-comments {
4056 .file-comments {
4050 display: none;
4057 display: none;
4051 }
4058 }
4052
4059
4053 .comment-inline-form .comment {
4060 .comment-inline-form .comment {
4054 margin-left: 10px;
4061 margin-left: 10px;
4055 }
4062 }
4056
4063
4057 .comment-inline-form .comment-help{
4064 .comment-inline-form .comment-help{
4058 padding: 0px 0px 2px 0px;
4065 padding: 0px 0px 2px 0px;
4059 color: #666666;
4066 color: #666666;
4060 font-size: 10px;
4067 font-size: 10px;
4061 }
4068 }
4062
4069
4063 .comment-inline-form .comment-button{
4070 .comment-inline-form .comment-button{
4064 padding-top:5px;
4071 padding-top:5px;
4065 }
4072 }
4066
4073
4067 /** comment inline **/
4074 /** comment inline **/
4068 .inline-comments {
4075 .inline-comments {
4069 padding:10px 20px;
4076 padding:10px 20px;
4070 }
4077 }
4071
4078
4072 .inline-comments div.rst-block {
4079 .inline-comments div.rst-block {
4073 clear:both;
4080 clear:both;
4074 overflow:hidden;
4081 overflow:hidden;
4075 margin:0;
4082 margin:0;
4076 padding:0 20px 0px;
4083 padding:0 20px 0px;
4077 }
4084 }
4078 .inline-comments .comment {
4085 .inline-comments .comment {
4079 border: 1px solid #ddd;
4086 border: 1px solid #ddd;
4080 -webkit-border-radius: 4px;
4087 -webkit-border-radius: 4px;
4081 -moz-border-radius: 4px;
4088 -moz-border-radius: 4px;
4082 border-radius: 4px;
4089 border-radius: 4px;
4083 margin: 3px 3px 5px 5px;
4090 margin: 3px 3px 5px 5px;
4084 background-color: #FAFAFA;
4091 background-color: #FAFAFA;
4085 }
4092 }
4086 .inline-comments .add-comment {
4093 .inline-comments .add-comment {
4087 padding: 2px 4px 8px 5px;
4094 padding: 2px 4px 8px 5px;
4088 }
4095 }
4089
4096
4090 .inline-comments .comment-wrapp{
4097 .inline-comments .comment-wrapp{
4091 padding:1px;
4098 padding:1px;
4092 }
4099 }
4093 .inline-comments .comment .meta {
4100 .inline-comments .comment .meta {
4094 background: #f8f8f8;
4101 background: #f8f8f8;
4095 padding: 4px;
4102 padding: 4px;
4096 border-bottom: 1px solid #ddd;
4103 border-bottom: 1px solid #ddd;
4097 }
4104 }
4098
4105
4099 .inline-comments .comment .meta img {
4106 .inline-comments .comment .meta img {
4100 vertical-align: middle;
4107 vertical-align: middle;
4101 }
4108 }
4102
4109
4103 .inline-comments .comment .meta .user {
4110 .inline-comments .comment .meta .user {
4104 font-weight: bold;
4111 font-weight: bold;
4105 }
4112 }
4106
4113
4107 .inline-comments .comment .meta .date {
4114 .inline-comments .comment .meta .date {
4108 }
4115 }
4109
4116
4110 .inline-comments .comment .text {
4117 .inline-comments .comment .text {
4111 background-color: #FAFAFA;
4118 background-color: #FAFAFA;
4112 }
4119 }
4113
4120
4114 .inline-comments .comments-number{
4121 .inline-comments .comments-number{
4115 padding:0px 0px 10px 0px;
4122 padding:0px 0px 10px 0px;
4116 font-weight: bold;
4123 font-weight: bold;
4117 color: #666;
4124 color: #666;
4118 font-size: 16px;
4125 font-size: 16px;
4119 }
4126 }
4120 .inline-comments-button .add-comment{
4127 .inline-comments-button .add-comment{
4121 margin:2px 0px 8px 5px !important
4128 margin:2px 0px 8px 5px !important
4122 }
4129 }
4123
4130
4124
4131
4125 .notification-paginator{
4132 .notification-paginator{
4126 padding: 0px 0px 4px 16px;
4133 padding: 0px 0px 4px 16px;
4127 float: left;
4134 float: left;
4128 }
4135 }
4129
4136
4130 .notifications{
4137 .notifications{
4131 border-radius: 4px 4px 4px 4px;
4138 border-radius: 4px 4px 4px 4px;
4132 -webkit-border-radius: 4px;
4139 -webkit-border-radius: 4px;
4133 -moz-border-radius: 4px;
4140 -moz-border-radius: 4px;
4134 float: right;
4141 float: right;
4135 margin: 20px 0px 0px 0px;
4142 margin: 20px 0px 0px 0px;
4136 position: absolute;
4143 position: absolute;
4137 text-align: center;
4144 text-align: center;
4138 width: 26px;
4145 width: 26px;
4139 z-index: 1000;
4146 z-index: 1000;
4140 }
4147 }
4141 .notifications a{
4148 .notifications a{
4142 color:#888 !important;
4149 color:#888 !important;
4143 display: block;
4150 display: block;
4144 font-size: 10px;
4151 font-size: 10px;
4145 background-color: #DEDEDE !important;
4152 background-color: #DEDEDE !important;
4146 border-radius: 2px !important;
4153 border-radius: 2px !important;
4147 -webkit-border-radius: 2px !important;
4154 -webkit-border-radius: 2px !important;
4148 -moz-border-radius: 2px !important;
4155 -moz-border-radius: 2px !important;
4149 }
4156 }
4150 .notifications a:hover{
4157 .notifications a:hover{
4151 text-decoration: none !important;
4158 text-decoration: none !important;
4152 background-color: #EEEFFF !important;
4159 background-color: #EEEFFF !important;
4153 }
4160 }
4154 .notification-header{
4161 .notification-header{
4155 padding-top:6px;
4162 padding-top:6px;
4156 }
4163 }
4157 .notification-header .desc{
4164 .notification-header .desc{
4158 font-size: 16px;
4165 font-size: 16px;
4159 height: 24px;
4166 height: 24px;
4160 float: left
4167 float: left
4161 }
4168 }
4162 .notification-list .container.unread{
4169 .notification-list .container.unread{
4163 background: none repeat scroll 0 0 rgba(255, 255, 180, 0.6);
4170 background: none repeat scroll 0 0 rgba(255, 255, 180, 0.6);
4164 }
4171 }
4165 .notification-header .gravatar{
4172 .notification-header .gravatar{
4166 background: none repeat scroll 0 0 transparent;
4173 background: none repeat scroll 0 0 transparent;
4167 padding: 0px 0px 0px 8px;
4174 padding: 0px 0px 0px 8px;
4168 }
4175 }
4169 .notification-header .desc.unread{
4176 .notification-header .desc.unread{
4170 font-weight: bold;
4177 font-weight: bold;
4171 font-size: 17px;
4178 font-size: 17px;
4172 }
4179 }
4173 .notification-table{
4180 .notification-table{
4174 border: 1px solid #ccc;
4181 border: 1px solid #ccc;
4175 -webkit-border-radius: 6px 6px 6px 6px;
4182 -webkit-border-radius: 6px 6px 6px 6px;
4176 -moz-border-radius: 6px 6px 6px 6px;
4183 -moz-border-radius: 6px 6px 6px 6px;
4177 border-radius: 6px 6px 6px 6px;
4184 border-radius: 6px 6px 6px 6px;
4178 clear: both;
4185 clear: both;
4179 margin: 0px 20px 0px 20px;
4186 margin: 0px 20px 0px 20px;
4180 }
4187 }
4181 .notification-header .delete-notifications{
4188 .notification-header .delete-notifications{
4182 float: right;
4189 float: right;
4183 padding-top: 8px;
4190 padding-top: 8px;
4184 cursor: pointer;
4191 cursor: pointer;
4185 }
4192 }
4186 .notification-subject{
4193 .notification-subject{
4187 clear:both;
4194 clear:both;
4188 border-bottom: 1px solid #eee;
4195 border-bottom: 1px solid #eee;
4189 padding:5px 0px 5px 38px;
4196 padding:5px 0px 5px 38px;
4190 }
4197 }
4191
4198
4192 .notification-body{
4199 .notification-body{
4193 clear:both;
4200 clear:both;
4194 margin: 34px 2px 2px 8px
4201 margin: 34px 2px 2px 8px
4195 }
4202 }
4196
4203
4197 /****
4204 /****
4198 PERMS
4205 PERMS
4199 *****/
4206 *****/
4200 #perms .perms_section_head {
4207 #perms .perms_section_head {
4201 padding:10px 10px 10px 0px;
4208 padding:10px 10px 10px 0px;
4202 font-size:16px;
4209 font-size:16px;
4203 font-weight: bold;
4210 font-weight: bold;
4204 }
4211 }
4205
4212
4206 #perms .perm_tag{
4213 #perms .perm_tag{
4207 padding: 1px 3px 1px 3px;
4214 padding: 1px 3px 1px 3px;
4208 font-size: 10px;
4215 font-size: 10px;
4209 font-weight: bold;
4216 font-weight: bold;
4210 text-transform: uppercase;
4217 text-transform: uppercase;
4211 white-space: nowrap;
4218 white-space: nowrap;
4212 -webkit-border-radius: 3px;
4219 -webkit-border-radius: 3px;
4213 -moz-border-radius: 3px;
4220 -moz-border-radius: 3px;
4214 border-radius: 3px;
4221 border-radius: 3px;
4215 }
4222 }
4216
4223
4217 #perms .perm_tag.admin{
4224 #perms .perm_tag.admin{
4218 background-color: #B94A48;
4225 background-color: #B94A48;
4219 color: #ffffff;
4226 color: #ffffff;
4220 }
4227 }
4221
4228
4222 #perms .perm_tag.write{
4229 #perms .perm_tag.write{
4223 background-color: #B94A48;
4230 background-color: #B94A48;
4224 color: #ffffff;
4231 color: #ffffff;
4225 }
4232 }
4226
4233
4227 #perms .perm_tag.read{
4234 #perms .perm_tag.read{
4228 background-color: #468847;
4235 background-color: #468847;
4229 color: #ffffff;
4236 color: #ffffff;
4230 }
4237 }
4231
4238
4232 #perms .perm_tag.none{
4239 #perms .perm_tag.none{
4233 background-color: #bfbfbf;
4240 background-color: #bfbfbf;
4234 color: #ffffff;
4241 color: #ffffff;
4235 }
4242 }
4236
4243
4237 .perm-gravatar{
4244 .perm-gravatar{
4238 vertical-align:middle;
4245 vertical-align:middle;
4239 padding:2px;
4246 padding:2px;
4240 }
4247 }
4241 .perm-gravatar-ac{
4248 .perm-gravatar-ac{
4242 vertical-align:middle;
4249 vertical-align:middle;
4243 padding:2px;
4250 padding:2px;
4244 width: 14px;
4251 width: 14px;
4245 height: 14px;
4252 height: 14px;
4246 }
4253 }
4247
4254
4248 /*****************************************************************************
4255 /*****************************************************************************
4249 DIFFS CSS
4256 DIFFS CSS
4250 ******************************************************************************/
4257 ******************************************************************************/
4251
4258
4252 div.diffblock {
4259 div.diffblock {
4253 overflow: auto;
4260 overflow: auto;
4254 padding: 0px;
4261 padding: 0px;
4255 border: 1px solid #ccc;
4262 border: 1px solid #ccc;
4256 background: #f8f8f8;
4263 background: #f8f8f8;
4257 font-size: 100%;
4264 font-size: 100%;
4258 line-height: 100%;
4265 line-height: 100%;
4259 /* new */
4266 /* new */
4260 line-height: 125%;
4267 line-height: 125%;
4261 -webkit-border-radius: 6px 6px 0px 0px;
4268 -webkit-border-radius: 6px 6px 0px 0px;
4262 -moz-border-radius: 6px 6px 0px 0px;
4269 -moz-border-radius: 6px 6px 0px 0px;
4263 border-radius: 6px 6px 0px 0px;
4270 border-radius: 6px 6px 0px 0px;
4264 }
4271 }
4265 div.diffblock.margined{
4272 div.diffblock.margined{
4266 margin: 0px 20px 0px 20px;
4273 margin: 0px 20px 0px 20px;
4267 }
4274 }
4268 div.diffblock .code-header{
4275 div.diffblock .code-header{
4269 border-bottom: 1px solid #CCCCCC;
4276 border-bottom: 1px solid #CCCCCC;
4270 background: #EEEEEE;
4277 background: #EEEEEE;
4271 padding:10px 0 10px 0;
4278 padding:10px 0 10px 0;
4272 height: 14px;
4279 height: 14px;
4273 }
4280 }
4274 div.diffblock .code-header.cv{
4281 div.diffblock .code-header.cv{
4275 height: 34px;
4282 height: 34px;
4276 }
4283 }
4277 div.diffblock .code-header-title{
4284 div.diffblock .code-header-title{
4278 padding: 0px 0px 10px 5px !important;
4285 padding: 0px 0px 10px 5px !important;
4279 margin: 0 !important;
4286 margin: 0 !important;
4280 }
4287 }
4281 div.diffblock .code-header .hash{
4288 div.diffblock .code-header .hash{
4282 float: left;
4289 float: left;
4283 padding: 2px 0 0 2px;
4290 padding: 2px 0 0 2px;
4284 }
4291 }
4285 div.diffblock .code-header .date{
4292 div.diffblock .code-header .date{
4286 float:left;
4293 float:left;
4287 text-transform: uppercase;
4294 text-transform: uppercase;
4288 padding: 2px 0px 0px 2px;
4295 padding: 2px 0px 0px 2px;
4289 }
4296 }
4290 div.diffblock .code-header div{
4297 div.diffblock .code-header div{
4291 margin-left:4px;
4298 margin-left:4px;
4292 font-weight: bold;
4299 font-weight: bold;
4293 font-size: 14px;
4300 font-size: 14px;
4294 }
4301 }
4295 div.diffblock .code-body{
4302 div.diffblock .code-body{
4296 background: #FFFFFF;
4303 background: #FFFFFF;
4297 }
4304 }
4298 div.diffblock pre.raw{
4305 div.diffblock pre.raw{
4299 background: #FFFFFF;
4306 background: #FFFFFF;
4300 color:#000000;
4307 color:#000000;
4301 }
4308 }
4302 table.code-difftable{
4309 table.code-difftable{
4303 border-collapse: collapse;
4310 border-collapse: collapse;
4304 width: 99%;
4311 width: 99%;
4305 }
4312 }
4306 table.code-difftable td {
4313 table.code-difftable td {
4307 padding: 0 !important;
4314 padding: 0 !important;
4308 background: none !important;
4315 background: none !important;
4309 border:0 !important;
4316 border:0 !important;
4310 vertical-align: none !important;
4317 vertical-align: none !important;
4311 }
4318 }
4312 table.code-difftable .context{
4319 table.code-difftable .context{
4313 background:none repeat scroll 0 0 #DDE7EF;
4320 background:none repeat scroll 0 0 #DDE7EF;
4314 }
4321 }
4315 table.code-difftable .add{
4322 table.code-difftable .add{
4316 background:none repeat scroll 0 0 #DDFFDD;
4323 background:none repeat scroll 0 0 #DDFFDD;
4317 }
4324 }
4318 table.code-difftable .add ins{
4325 table.code-difftable .add ins{
4319 background:none repeat scroll 0 0 #AAFFAA;
4326 background:none repeat scroll 0 0 #AAFFAA;
4320 text-decoration:none;
4327 text-decoration:none;
4321 }
4328 }
4322 table.code-difftable .del{
4329 table.code-difftable .del{
4323 background:none repeat scroll 0 0 #FFDDDD;
4330 background:none repeat scroll 0 0 #FFDDDD;
4324 }
4331 }
4325 table.code-difftable .del del{
4332 table.code-difftable .del del{
4326 background:none repeat scroll 0 0 #FFAAAA;
4333 background:none repeat scroll 0 0 #FFAAAA;
4327 text-decoration:none;
4334 text-decoration:none;
4328 }
4335 }
4329
4336
4330 /** LINE NUMBERS **/
4337 /** LINE NUMBERS **/
4331 table.code-difftable .lineno{
4338 table.code-difftable .lineno{
4332
4339
4333 padding-left:2px;
4340 padding-left:2px;
4334 padding-right:2px;
4341 padding-right:2px;
4335 text-align:right;
4342 text-align:right;
4336 width:32px;
4343 width:32px;
4337 -moz-user-select:none;
4344 -moz-user-select:none;
4338 -webkit-user-select: none;
4345 -webkit-user-select: none;
4339 border-right: 1px solid #CCC !important;
4346 border-right: 1px solid #CCC !important;
4340 border-left: 0px solid #CCC !important;
4347 border-left: 0px solid #CCC !important;
4341 border-top: 0px solid #CCC !important;
4348 border-top: 0px solid #CCC !important;
4342 border-bottom: none !important;
4349 border-bottom: none !important;
4343 vertical-align: middle !important;
4350 vertical-align: middle !important;
4344
4351
4345 }
4352 }
4346 table.code-difftable .lineno.new {
4353 table.code-difftable .lineno.new {
4347 }
4354 }
4348 table.code-difftable .lineno.old {
4355 table.code-difftable .lineno.old {
4349 }
4356 }
4350 table.code-difftable .lineno a{
4357 table.code-difftable .lineno a{
4351 color:#747474 !important;
4358 color:#747474 !important;
4352 font:11px "Bitstream Vera Sans Mono",Monaco,"Courier New",Courier,monospace !important;
4359 font:11px "Bitstream Vera Sans Mono",Monaco,"Courier New",Courier,monospace !important;
4353 letter-spacing:-1px;
4360 letter-spacing:-1px;
4354 text-align:right;
4361 text-align:right;
4355 padding-right: 2px;
4362 padding-right: 2px;
4356 cursor: pointer;
4363 cursor: pointer;
4357 display: block;
4364 display: block;
4358 width: 32px;
4365 width: 32px;
4359 }
4366 }
4360
4367
4361 table.code-difftable .lineno-inline{
4368 table.code-difftable .lineno-inline{
4362 background:none repeat scroll 0 0 #FFF !important;
4369 background:none repeat scroll 0 0 #FFF !important;
4363 padding-left:2px;
4370 padding-left:2px;
4364 padding-right:2px;
4371 padding-right:2px;
4365 text-align:right;
4372 text-align:right;
4366 width:30px;
4373 width:30px;
4367 -moz-user-select:none;
4374 -moz-user-select:none;
4368 -webkit-user-select: none;
4375 -webkit-user-select: none;
4369 }
4376 }
4370
4377
4371 /** CODE **/
4378 /** CODE **/
4372 table.code-difftable .code {
4379 table.code-difftable .code {
4373 display: block;
4380 display: block;
4374 width: 100%;
4381 width: 100%;
4375 }
4382 }
4376 table.code-difftable .code td{
4383 table.code-difftable .code td{
4377 margin:0;
4384 margin:0;
4378 padding:0;
4385 padding:0;
4379 }
4386 }
4380 table.code-difftable .code pre{
4387 table.code-difftable .code pre{
4381 margin:0;
4388 margin:0;
4382 padding:0;
4389 padding:0;
4383 height: 17px;
4390 height: 17px;
4384 line-height: 17px;
4391 line-height: 17px;
4385 }
4392 }
4386
4393
4387
4394
4388 .diffblock.margined.comm .line .code:hover{
4395 .diffblock.margined.comm .line .code:hover{
4389 background-color:#FFFFCC !important;
4396 background-color:#FFFFCC !important;
4390 cursor: pointer !important;
4397 cursor: pointer !important;
4391 background-image:url("../images/icons/comment_add.png") !important;
4398 background-image:url("../images/icons/comment_add.png") !important;
4392 background-repeat:no-repeat !important;
4399 background-repeat:no-repeat !important;
4393 background-position: right !important;
4400 background-position: right !important;
4394 background-position: 0% 50% !important;
4401 background-position: 0% 50% !important;
4395 }
4402 }
4396 .diffblock.margined.comm .line .code.no-comment:hover{
4403 .diffblock.margined.comm .line .code.no-comment:hover{
4397 background-image: none !important;
4404 background-image: none !important;
4398 cursor: auto !important;
4405 cursor: auto !important;
4399 background-color: inherit !important;
4406 background-color: inherit !important;
4400
4407
4401 }
4408 }
@@ -1,1119 +1,1302 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
47
48 /**
48 /**
49 * SmartColorGenerator
49 * SmartColorGenerator
50 *
50 *
51 *usage::
51 *usage::
52 * var CG = new ColorGenerator();
52 * var CG = new ColorGenerator();
53 * var col = CG.getColor(key); //returns array of RGB
53 * var col = CG.getColor(key); //returns array of RGB
54 * 'rgb({0})'.format(col.join(',')
54 * 'rgb({0})'.format(col.join(',')
55 *
55 *
56 * @returns {ColorGenerator}
56 * @returns {ColorGenerator}
57 */
57 */
58 var ColorGenerator = function(){
58 var ColorGenerator = function(){
59 this.GOLDEN_RATIO = 0.618033988749895;
59 this.GOLDEN_RATIO = 0.618033988749895;
60 this.CURRENT_RATIO = 0.22717784590367374 // this can be random
60 this.CURRENT_RATIO = 0.22717784590367374 // this can be random
61 this.HSV_1 = 0.75;//saturation
61 this.HSV_1 = 0.75;//saturation
62 this.HSV_2 = 0.95;
62 this.HSV_2 = 0.95;
63 this.color;
63 this.color;
64 this.cacheColorMap = {};
64 this.cacheColorMap = {};
65 };
65 };
66
66
67 ColorGenerator.prototype = {
67 ColorGenerator.prototype = {
68 getColor:function(key){
68 getColor:function(key){
69 if(this.cacheColorMap[key] !== undefined){
69 if(this.cacheColorMap[key] !== undefined){
70 return this.cacheColorMap[key];
70 return this.cacheColorMap[key];
71 }
71 }
72 else{
72 else{
73 this.cacheColorMap[key] = this.generateColor();
73 this.cacheColorMap[key] = this.generateColor();
74 return this.cacheColorMap[key];
74 return this.cacheColorMap[key];
75 }
75 }
76 },
76 },
77 _hsvToRgb:function(h,s,v){
77 _hsvToRgb:function(h,s,v){
78 if (s == 0.0)
78 if (s == 0.0)
79 return [v, v, v];
79 return [v, v, v];
80 i = parseInt(h * 6.0)
80 i = parseInt(h * 6.0)
81 f = (h * 6.0) - i
81 f = (h * 6.0) - i
82 p = v * (1.0 - s)
82 p = v * (1.0 - s)
83 q = v * (1.0 - s * f)
83 q = v * (1.0 - s * f)
84 t = v * (1.0 - s * (1.0 - f))
84 t = v * (1.0 - s * (1.0 - f))
85 i = i % 6
85 i = i % 6
86 if (i == 0)
86 if (i == 0)
87 return [v, t, p]
87 return [v, t, p]
88 if (i == 1)
88 if (i == 1)
89 return [q, v, p]
89 return [q, v, p]
90 if (i == 2)
90 if (i == 2)
91 return [p, v, t]
91 return [p, v, t]
92 if (i == 3)
92 if (i == 3)
93 return [p, q, v]
93 return [p, q, v]
94 if (i == 4)
94 if (i == 4)
95 return [t, p, v]
95 return [t, p, v]
96 if (i == 5)
96 if (i == 5)
97 return [v, p, q]
97 return [v, p, q]
98 },
98 },
99 generateColor:function(){
99 generateColor:function(){
100 this.CURRENT_RATIO = this.CURRENT_RATIO+this.GOLDEN_RATIO;
100 this.CURRENT_RATIO = this.CURRENT_RATIO+this.GOLDEN_RATIO;
101 this.CURRENT_RATIO = this.CURRENT_RATIO %= 1;
101 this.CURRENT_RATIO = this.CURRENT_RATIO %= 1;
102 HSV_tuple = [this.CURRENT_RATIO, this.HSV_1, this.HSV_2]
102 HSV_tuple = [this.CURRENT_RATIO, this.HSV_1, this.HSV_2]
103 RGB_tuple = this._hsvToRgb(HSV_tuple[0],HSV_tuple[1],HSV_tuple[2]);
103 RGB_tuple = this._hsvToRgb(HSV_tuple[0],HSV_tuple[1],HSV_tuple[2]);
104 function toRgb(v){
104 function toRgb(v){
105 return ""+parseInt(v*256)
105 return ""+parseInt(v*256)
106 }
106 }
107 return [toRgb(RGB_tuple[0]),toRgb(RGB_tuple[1]),toRgb(RGB_tuple[2])];
107 return [toRgb(RGB_tuple[0]),toRgb(RGB_tuple[1]),toRgb(RGB_tuple[2])];
108
108
109 }
109 }
110 }
110 }
111
111
112
112
113
113
114
114
115
115
116 /**
116 /**
117 * GLOBAL YUI Shortcuts
117 * GLOBAL YUI Shortcuts
118 */
118 */
119 var YUC = YAHOO.util.Connect;
119 var YUC = YAHOO.util.Connect;
120 var YUD = YAHOO.util.Dom;
120 var YUD = YAHOO.util.Dom;
121 var YUE = YAHOO.util.Event;
121 var YUE = YAHOO.util.Event;
122 var YUQ = YAHOO.util.Selector.query;
122 var YUQ = YAHOO.util.Selector.query;
123
123
124 // defines if push state is enabled for this browser ?
124 // defines if push state is enabled for this browser ?
125 var push_state_enabled = Boolean(
125 var push_state_enabled = Boolean(
126 window.history && window.history.pushState && window.history.replaceState
126 window.history && window.history.pushState && window.history.replaceState
127 && !( /* disable for versions of iOS before version 4.3 (8F190) */
127 && !( /* disable for versions of iOS before version 4.3 (8F190) */
128 (/ Mobile\/([1-7][a-z]|(8([abcde]|f(1[0-8]))))/i).test(navigator.userAgent)
128 (/ Mobile\/([1-7][a-z]|(8([abcde]|f(1[0-8]))))/i).test(navigator.userAgent)
129 /* disable for the mercury iOS browser, or at least older versions of the webkit engine */
129 /* disable for the mercury iOS browser, or at least older versions of the webkit engine */
130 || (/AppleWebKit\/5([0-2]|3[0-2])/i).test(navigator.userAgent)
130 || (/AppleWebKit\/5([0-2]|3[0-2])/i).test(navigator.userAgent)
131 )
131 )
132 );
132 );
133
133
134 var _run_callbacks = function(callbacks){
134 var _run_callbacks = function(callbacks){
135 if (callbacks !== undefined){
135 if (callbacks !== undefined){
136 var _l = callbacks.length;
136 var _l = callbacks.length;
137 for (var i=0;i<_l;i++){
137 for (var i=0;i<_l;i++){
138 var func = callbacks[i];
138 var func = callbacks[i];
139 if(typeof(func)=='function'){
139 if(typeof(func)=='function'){
140 try{
140 try{
141 func();
141 func();
142 }catch (err){};
142 }catch (err){};
143 }
143 }
144 }
144 }
145 }
145 }
146 }
146 }
147
147
148 /**
148 /**
149 * Partial Ajax Implementation
149 * Partial Ajax Implementation
150 *
150 *
151 * @param url: defines url to make partial request
151 * @param url: defines url to make partial request
152 * @param container: defines id of container to input partial result
152 * @param container: defines id of container to input partial result
153 * @param s_call: success callback function that takes o as arg
153 * @param s_call: success callback function that takes o as arg
154 * o.tId
154 * o.tId
155 * o.status
155 * o.status
156 * o.statusText
156 * o.statusText
157 * o.getResponseHeader[ ]
157 * o.getResponseHeader[ ]
158 * o.getAllResponseHeaders
158 * o.getAllResponseHeaders
159 * o.responseText
159 * o.responseText
160 * o.responseXML
160 * o.responseXML
161 * o.argument
161 * o.argument
162 * @param f_call: failure callback
162 * @param f_call: failure callback
163 * @param args arguments
163 * @param args arguments
164 */
164 */
165 function ypjax(url,container,s_call,f_call,args){
165 function ypjax(url,container,s_call,f_call,args){
166 var method='GET';
166 var method='GET';
167 if(args===undefined){
167 if(args===undefined){
168 args=null;
168 args=null;
169 }
169 }
170
170
171 // Set special header for partial ajax == HTTP_X_PARTIAL_XHR
171 // Set special header for partial ajax == HTTP_X_PARTIAL_XHR
172 YUC.initHeader('X-PARTIAL-XHR',true);
172 YUC.initHeader('X-PARTIAL-XHR',true);
173
173
174 // wrapper of passed callback
174 // wrapper of passed callback
175 var s_wrapper = (function(o){
175 var s_wrapper = (function(o){
176 return function(o){
176 return function(o){
177 YUD.get(container).innerHTML=o.responseText;
177 YUD.get(container).innerHTML=o.responseText;
178 YUD.setStyle(container,'opacity','1.0');
178 YUD.setStyle(container,'opacity','1.0');
179 //execute the given original callback
179 //execute the given original callback
180 if (s_call !== undefined){
180 if (s_call !== undefined){
181 s_call(o);
181 s_call(o);
182 }
182 }
183 }
183 }
184 })()
184 })()
185 YUD.setStyle(container,'opacity','0.3');
185 YUD.setStyle(container,'opacity','0.3');
186 YUC.asyncRequest(method,url,{
186 YUC.asyncRequest(method,url,{
187 success:s_wrapper,
187 success:s_wrapper,
188 failure:function(o){
188 failure:function(o){
189 console.log(o);
189 console.log(o);
190 YUD.get(container).innerHTML='ERROR';
190 YUD.get(container).innerHTML='ERROR';
191 YUD.setStyle(container,'opacity','1.0');
191 YUD.setStyle(container,'opacity','1.0');
192 YUD.setStyle(container,'color','red');
192 YUD.setStyle(container,'color','red');
193 }
193 }
194 },args);
194 },args);
195
195
196 };
196 };
197
197
198 var ajaxPOST = function(url,postData,success) {
198 var ajaxPOST = function(url,postData,success) {
199 // Set special header for ajax == HTTP_X_PARTIAL_XHR
199 // Set special header for ajax == HTTP_X_PARTIAL_XHR
200 YUC.initHeader('X-PARTIAL-XHR',true);
200 YUC.initHeader('X-PARTIAL-XHR',true);
201
201
202 var toQueryString = function(o) {
202 var toQueryString = function(o) {
203 if(typeof o !== 'object') {
203 if(typeof o !== 'object') {
204 return false;
204 return false;
205 }
205 }
206 var _p, _qs = [];
206 var _p, _qs = [];
207 for(_p in o) {
207 for(_p in o) {
208 _qs.push(encodeURIComponent(_p) + '=' + encodeURIComponent(o[_p]));
208 _qs.push(encodeURIComponent(_p) + '=' + encodeURIComponent(o[_p]));
209 }
209 }
210 return _qs.join('&');
210 return _qs.join('&');
211 };
211 };
212
212
213 var sUrl = url;
213 var sUrl = url;
214 var callback = {
214 var callback = {
215 success: success,
215 success: success,
216 failure: function (o) {
216 failure: function (o) {
217 alert("error");
217 alert("error");
218 },
218 },
219 };
219 };
220 var postData = toQueryString(postData);
220 var postData = toQueryString(postData);
221 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
221 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
222 return request;
222 return request;
223 };
223 };
224
224
225
225
226 /**
226 /**
227 * tooltip activate
227 * tooltip activate
228 */
228 */
229 var tooltip_activate = function(){
229 var tooltip_activate = function(){
230 function toolTipsId(){
230 function toolTipsId(){
231 var ids = [];
231 var ids = [];
232 var tts = YUQ('.tooltip');
232 var tts = YUQ('.tooltip');
233 for (var i = 0; i < tts.length; i++) {
233 for (var i = 0; i < tts.length; i++) {
234 // if element doesn't not have and id
234 // if element doesn't not have and id
235 // autogenerate one for tooltip
235 // autogenerate one for tooltip
236 if (!tts[i].id){
236 if (!tts[i].id){
237 tts[i].id='tt'+((i*100)+tts.length);
237 tts[i].id='tt'+((i*100)+tts.length);
238 }
238 }
239 ids.push(tts[i].id);
239 ids.push(tts[i].id);
240 }
240 }
241 return ids
241 return ids
242 };
242 };
243 var myToolTips = new YAHOO.widget.Tooltip("tooltip", {
243 var myToolTips = new YAHOO.widget.Tooltip("tooltip", {
244 context: [[toolTipsId()],"tl","bl",null,[0,5]],
244 context: [[toolTipsId()],"tl","bl",null,[0,5]],
245 monitorresize:false,
245 monitorresize:false,
246 xyoffset :[0,0],
246 xyoffset :[0,0],
247 autodismissdelay:300000,
247 autodismissdelay:300000,
248 hidedelay:5,
248 hidedelay:5,
249 showdelay:20,
249 showdelay:20,
250 });
250 });
251 };
251 };
252
252
253 /**
253 /**
254 * show more
254 * show more
255 */
255 */
256 var show_more_event = function(){
256 var show_more_event = function(){
257 YUE.on(YUD.getElementsByClassName('show_more'),'click',function(e){
257 YUE.on(YUD.getElementsByClassName('show_more'),'click',function(e){
258 var el = e.target;
258 var el = e.target;
259 YUD.setStyle(YUD.get(el.id.substring(1)),'display','');
259 YUD.setStyle(YUD.get(el.id.substring(1)),'display','');
260 YUD.setStyle(el.parentNode,'display','none');
260 YUD.setStyle(el.parentNode,'display','none');
261 });
261 });
262 };
262 };
263
263
264
264
265 /**
265 /**
266 * Quick filter widget
266 * Quick filter widget
267 *
267 *
268 * @param target: filter input target
268 * @param target: filter input target
269 * @param nodes: list of nodes in html we want to filter.
269 * @param nodes: list of nodes in html we want to filter.
270 * @param display_element function that takes current node from nodes and
270 * @param display_element function that takes current node from nodes and
271 * does hide or show based on the node
271 * does hide or show based on the node
272 *
272 *
273 */
273 */
274 var q_filter = function(target,nodes,display_element){
274 var q_filter = function(target,nodes,display_element){
275
275
276 var nodes = nodes;
276 var nodes = nodes;
277 var q_filter_field = YUD.get(target);
277 var q_filter_field = YUD.get(target);
278 var F = YAHOO.namespace(target);
278 var F = YAHOO.namespace(target);
279
279
280 YUE.on(q_filter_field,'click',function(){
280 YUE.on(q_filter_field,'click',function(){
281 q_filter_field.value = '';
281 q_filter_field.value = '';
282 });
282 });
283
283
284 YUE.on(q_filter_field,'keyup',function(e){
284 YUE.on(q_filter_field,'keyup',function(e){
285 clearTimeout(F.filterTimeout);
285 clearTimeout(F.filterTimeout);
286 F.filterTimeout = setTimeout(F.updateFilter,600);
286 F.filterTimeout = setTimeout(F.updateFilter,600);
287 });
287 });
288
288
289 F.filterTimeout = null;
289 F.filterTimeout = null;
290
290
291 var show_node = function(node){
291 var show_node = function(node){
292 YUD.setStyle(node,'display','')
292 YUD.setStyle(node,'display','')
293 }
293 }
294 var hide_node = function(node){
294 var hide_node = function(node){
295 YUD.setStyle(node,'display','none');
295 YUD.setStyle(node,'display','none');
296 }
296 }
297
297
298 F.updateFilter = function() {
298 F.updateFilter = function() {
299 // Reset timeout
299 // Reset timeout
300 F.filterTimeout = null;
300 F.filterTimeout = null;
301
301
302 var obsolete = [];
302 var obsolete = [];
303
303
304 var req = q_filter_field.value.toLowerCase();
304 var req = q_filter_field.value.toLowerCase();
305
305
306 var l = nodes.length;
306 var l = nodes.length;
307 var i;
307 var i;
308 var showing = 0;
308 var showing = 0;
309
309
310 for (i=0;i<l;i++ ){
310 for (i=0;i<l;i++ ){
311 var n = nodes[i];
311 var n = nodes[i];
312 var target_element = display_element(n)
312 var target_element = display_element(n)
313 if(req && n.innerHTML.toLowerCase().indexOf(req) == -1){
313 if(req && n.innerHTML.toLowerCase().indexOf(req) == -1){
314 hide_node(target_element);
314 hide_node(target_element);
315 }
315 }
316 else{
316 else{
317 show_node(target_element);
317 show_node(target_element);
318 showing+=1;
318 showing+=1;
319 }
319 }
320 }
320 }
321
321
322 // if repo_count is set update the number
322 // if repo_count is set update the number
323 var cnt = YUD.get('repo_count');
323 var cnt = YUD.get('repo_count');
324 if(cnt){
324 if(cnt){
325 YUD.get('repo_count').innerHTML = showing;
325 YUD.get('repo_count').innerHTML = showing;
326 }
326 }
327
327
328 }
328 }
329 };
329 };
330
330
331 var tableTr = function(cls,body){
331 var tableTr = function(cls,body){
332 var tr = document.createElement('tr');
332 var tr = document.createElement('tr');
333 YUD.addClass(tr, cls);
333 YUD.addClass(tr, cls);
334
334
335
335
336 var cont = new YAHOO.util.Element(body);
336 var cont = new YAHOO.util.Element(body);
337 var comment_id = fromHTML(body).children[0].id.split('comment-')[1];
337 var comment_id = fromHTML(body).children[0].id.split('comment-')[1];
338 tr.id = 'comment-tr-{0}'.format(comment_id);
338 tr.id = 'comment-tr-{0}'.format(comment_id);
339 tr.innerHTML = '<td class="lineno-inline new-inline"></td>'+
339 tr.innerHTML = '<td class="lineno-inline new-inline"></td>'+
340 '<td class="lineno-inline old-inline"></td>'+
340 '<td class="lineno-inline old-inline"></td>'+
341 '<td>{0}</td>'.format(body);
341 '<td>{0}</td>'.format(body);
342 return tr;
342 return tr;
343 };
343 };
344
344
345 /** comments **/
345 /** comments **/
346 var removeInlineForm = function(form) {
346 var removeInlineForm = function(form) {
347 form.parentNode.removeChild(form);
347 form.parentNode.removeChild(form);
348 };
348 };
349
349
350 var createInlineForm = function(parent_tr, f_path, line) {
350 var createInlineForm = function(parent_tr, f_path, line) {
351 var tmpl = YUD.get('comment-inline-form-template').innerHTML;
351 var tmpl = YUD.get('comment-inline-form-template').innerHTML;
352 tmpl = tmpl.format(f_path, line);
352 tmpl = tmpl.format(f_path, line);
353 var form = tableTr('comment-form-inline',tmpl)
353 var form = tableTr('comment-form-inline',tmpl)
354
354
355 // create event for hide button
355 // create event for hide button
356 form = new YAHOO.util.Element(form);
356 form = new YAHOO.util.Element(form);
357 var form_hide_button = new YAHOO.util.Element(form.getElementsByClassName('hide-inline-form')[0]);
357 var form_hide_button = new YAHOO.util.Element(form.getElementsByClassName('hide-inline-form')[0]);
358 form_hide_button.on('click', function(e) {
358 form_hide_button.on('click', function(e) {
359 var newtr = e.currentTarget.parentNode.parentNode.parentNode.parentNode.parentNode;
359 var newtr = e.currentTarget.parentNode.parentNode.parentNode.parentNode.parentNode;
360 if(YUD.hasClass(newtr.nextElementSibling,'inline-comments-button')){
360 if(YUD.hasClass(newtr.nextElementSibling,'inline-comments-button')){
361 YUD.setStyle(newtr.nextElementSibling,'display','');
361 YUD.setStyle(newtr.nextElementSibling,'display','');
362 }
362 }
363 removeInlineForm(newtr);
363 removeInlineForm(newtr);
364 YUD.removeClass(parent_tr, 'form-open');
364 YUD.removeClass(parent_tr, 'form-open');
365
365
366 });
366 });
367
367
368 return form
368 return form
369 };
369 };
370
370
371 /**
371 /**
372 * Inject inline comment for on given TR this tr should be always an .line
372 * Inject inline comment for on given TR this tr should be always an .line
373 * tr containing the line. Code will detect comment, and always put the comment
373 * tr containing the line. Code will detect comment, and always put the comment
374 * block at the very bottom
374 * block at the very bottom
375 */
375 */
376 var injectInlineForm = function(tr){
376 var injectInlineForm = function(tr){
377 if(!YUD.hasClass(tr, 'line')){
377 if(!YUD.hasClass(tr, 'line')){
378 return
378 return
379 }
379 }
380 var submit_url = AJAX_COMMENT_URL;
380 var submit_url = AJAX_COMMENT_URL;
381 if(YUD.hasClass(tr,'form-open') || YUD.hasClass(tr,'context') || YUD.hasClass(tr,'no-comment')){
381 if(YUD.hasClass(tr,'form-open') || YUD.hasClass(tr,'context') || YUD.hasClass(tr,'no-comment')){
382 return
382 return
383 }
383 }
384 YUD.addClass(tr,'form-open');
384 YUD.addClass(tr,'form-open');
385 var node = tr.parentNode.parentNode.parentNode.getElementsByClassName('full_f_path')[0];
385 var node = tr.parentNode.parentNode.parentNode.getElementsByClassName('full_f_path')[0];
386 var f_path = YUD.getAttribute(node,'path');
386 var f_path = YUD.getAttribute(node,'path');
387 var lineno = getLineNo(tr);
387 var lineno = getLineNo(tr);
388 var form = createInlineForm(tr, f_path, lineno, submit_url);
388 var form = createInlineForm(tr, f_path, lineno, submit_url);
389
389
390 var parent = tr;
390 var parent = tr;
391 while (1){
391 while (1){
392 var n = parent.nextElementSibling;
392 var n = parent.nextElementSibling;
393 // next element are comments !
393 // next element are comments !
394 if(YUD.hasClass(n,'inline-comments')){
394 if(YUD.hasClass(n,'inline-comments')){
395 parent = n;
395 parent = n;
396 }
396 }
397 else{
397 else{
398 break;
398 break;
399 }
399 }
400 }
400 }
401 YUD.insertAfter(form,parent);
401 YUD.insertAfter(form,parent);
402
402
403 YUD.get('text_'+lineno).focus();
403 YUD.get('text_'+lineno).focus();
404 var f = YUD.get(form);
404 var f = YUD.get(form);
405
405
406 var overlay = f.getElementsByClassName('overlay')[0];
406 var overlay = f.getElementsByClassName('overlay')[0];
407 var _form = f.getElementsByClassName('inline-form')[0];
407 var _form = f.getElementsByClassName('inline-form')[0];
408
408
409 form.on('submit',function(e){
409 form.on('submit',function(e){
410 YUE.preventDefault(e);
410 YUE.preventDefault(e);
411
411
412 //ajax submit
412 //ajax submit
413 var text = YUD.get('text_'+lineno).value;
413 var text = YUD.get('text_'+lineno).value;
414 var postData = {
414 var postData = {
415 'text':text,
415 'text':text,
416 'f_path':f_path,
416 'f_path':f_path,
417 'line':lineno
417 'line':lineno
418 };
418 };
419
419
420 if(lineno === undefined){
420 if(lineno === undefined){
421 alert('missing line !');
421 alert('missing line !');
422 return
422 return
423 }
423 }
424 if(f_path === undefined){
424 if(f_path === undefined){
425 alert('missing file path !');
425 alert('missing file path !');
426 return
426 return
427 }
427 }
428
428
429 if(text == ""){
429 if(text == ""){
430 return
430 return
431 }
431 }
432
432
433 var success = function(o){
433 var success = function(o){
434 YUD.removeClass(tr, 'form-open');
434 YUD.removeClass(tr, 'form-open');
435 removeInlineForm(f);
435 removeInlineForm(f);
436 var json_data = JSON.parse(o.responseText);
436 var json_data = JSON.parse(o.responseText);
437 renderInlineComment(json_data);
437 renderInlineComment(json_data);
438 };
438 };
439
439
440 if (YUD.hasClass(overlay,'overlay')){
440 if (YUD.hasClass(overlay,'overlay')){
441 var w = _form.offsetWidth;
441 var w = _form.offsetWidth;
442 var h = _form.offsetHeight;
442 var h = _form.offsetHeight;
443 YUD.setStyle(overlay,'width',w+'px');
443 YUD.setStyle(overlay,'width',w+'px');
444 YUD.setStyle(overlay,'height',h+'px');
444 YUD.setStyle(overlay,'height',h+'px');
445 }
445 }
446 YUD.addClass(overlay, 'submitting');
446 YUD.addClass(overlay, 'submitting');
447
447
448 ajaxPOST(submit_url, postData, success);
448 ajaxPOST(submit_url, postData, success);
449 });
449 });
450
450
451 tooltip_activate();
451 tooltip_activate();
452 };
452 };
453
453
454 var deleteComment = function(comment_id){
454 var deleteComment = function(comment_id){
455 var url = AJAX_COMMENT_DELETE_URL.replace('__COMMENT_ID__',comment_id);
455 var url = AJAX_COMMENT_DELETE_URL.replace('__COMMENT_ID__',comment_id);
456 var postData = {'_method':'delete'};
456 var postData = {'_method':'delete'};
457 var success = function(o){
457 var success = function(o){
458 var n = YUD.get('comment-tr-'+comment_id);
458 var n = YUD.get('comment-tr-'+comment_id);
459 var root = n.previousElementSibling.previousElementSibling;
459 var root = n.previousElementSibling.previousElementSibling;
460 n.parentNode.removeChild(n);
460 n.parentNode.removeChild(n);
461
461
462 // scann nodes, and attach add button to last one
462 // scann nodes, and attach add button to last one
463 placeAddButton(root);
463 placeAddButton(root);
464 }
464 }
465 ajaxPOST(url,postData,success);
465 ajaxPOST(url,postData,success);
466 }
466 }
467
467
468
468
469 var createInlineAddButton = function(tr){
469 var createInlineAddButton = function(tr){
470
470
471 var label = TRANSLATION_MAP['add another comment'];
471 var label = TRANSLATION_MAP['add another comment'];
472
472
473 var html_el = document.createElement('div');
473 var html_el = document.createElement('div');
474 YUD.addClass(html_el, 'add-comment');
474 YUD.addClass(html_el, 'add-comment');
475 html_el.innerHTML = '<span class="ui-btn">{0}</span>'.format(label);
475 html_el.innerHTML = '<span class="ui-btn">{0}</span>'.format(label);
476
476
477 var add = new YAHOO.util.Element(html_el);
477 var add = new YAHOO.util.Element(html_el);
478 add.on('click', function(e) {
478 add.on('click', function(e) {
479 injectInlineForm(tr);
479 injectInlineForm(tr);
480 });
480 });
481 return add;
481 return add;
482 };
482 };
483
483
484 var getLineNo = function(tr) {
484 var getLineNo = function(tr) {
485 var line;
485 var line;
486 var o = tr.children[0].id.split('_');
486 var o = tr.children[0].id.split('_');
487 var n = tr.children[1].id.split('_');
487 var n = tr.children[1].id.split('_');
488
488
489 if (n.length >= 2) {
489 if (n.length >= 2) {
490 line = n[n.length-1];
490 line = n[n.length-1];
491 } else if (o.length >= 2) {
491 } else if (o.length >= 2) {
492 line = o[o.length-1];
492 line = o[o.length-1];
493 }
493 }
494
494
495 return line
495 return line
496 };
496 };
497
497
498 var placeAddButton = function(target_tr){
498 var placeAddButton = function(target_tr){
499 if(!target_tr){
499 if(!target_tr){
500 return
500 return
501 }
501 }
502 var last_node = target_tr;
502 var last_node = target_tr;
503 //scann
503 //scann
504 while (1){
504 while (1){
505 var n = last_node.nextElementSibling;
505 var n = last_node.nextElementSibling;
506 // next element are comments !
506 // next element are comments !
507 if(YUD.hasClass(n,'inline-comments')){
507 if(YUD.hasClass(n,'inline-comments')){
508 last_node = n;
508 last_node = n;
509 //also remove the comment button from previos
509 //also remove the comment button from previos
510 var comment_add_buttons = last_node.getElementsByClassName('add-comment');
510 var comment_add_buttons = last_node.getElementsByClassName('add-comment');
511 for(var i=0;i<comment_add_buttons.length;i++){
511 for(var i=0;i<comment_add_buttons.length;i++){
512 var b = comment_add_buttons[i];
512 var b = comment_add_buttons[i];
513 b.parentNode.removeChild(b);
513 b.parentNode.removeChild(b);
514 }
514 }
515 }
515 }
516 else{
516 else{
517 break;
517 break;
518 }
518 }
519 }
519 }
520
520
521 var add = createInlineAddButton(target_tr);
521 var add = createInlineAddButton(target_tr);
522 // get the comment div
522 // get the comment div
523 var comment_block = last_node.getElementsByClassName('comment')[0];
523 var comment_block = last_node.getElementsByClassName('comment')[0];
524 // attach add button
524 // attach add button
525 YUD.insertAfter(add,comment_block);
525 YUD.insertAfter(add,comment_block);
526 }
526 }
527
527
528 /**
528 /**
529 * Places the inline comment into the changeset block in proper line position
529 * Places the inline comment into the changeset block in proper line position
530 */
530 */
531 var placeInline = function(target_container,lineno,html){
531 var placeInline = function(target_container,lineno,html){
532 var lineid = "{0}_{1}".format(target_container,lineno);
532 var lineid = "{0}_{1}".format(target_container,lineno);
533 var target_line = YUD.get(lineid);
533 var target_line = YUD.get(lineid);
534 var comment = new YAHOO.util.Element(tableTr('inline-comments',html))
534 var comment = new YAHOO.util.Element(tableTr('inline-comments',html))
535
535
536 // check if there are comments already !
536 // check if there are comments already !
537 var parent = target_line.parentNode;
537 var parent = target_line.parentNode;
538 var root_parent = parent;
538 var root_parent = parent;
539 while (1){
539 while (1){
540 var n = parent.nextElementSibling;
540 var n = parent.nextElementSibling;
541 // next element are comments !
541 // next element are comments !
542 if(YUD.hasClass(n,'inline-comments')){
542 if(YUD.hasClass(n,'inline-comments')){
543 parent = n;
543 parent = n;
544 }
544 }
545 else{
545 else{
546 break;
546 break;
547 }
547 }
548 }
548 }
549 // put in the comment at the bottom
549 // put in the comment at the bottom
550 YUD.insertAfter(comment,parent);
550 YUD.insertAfter(comment,parent);
551
551
552 // scann nodes, and attach add button to last one
552 // scann nodes, and attach add button to last one
553 placeAddButton(root_parent);
553 placeAddButton(root_parent);
554
554
555 return target_line;
555 return target_line;
556 }
556 }
557
557
558 /**
558 /**
559 * make a single inline comment and place it inside
559 * make a single inline comment and place it inside
560 */
560 */
561 var renderInlineComment = function(json_data){
561 var renderInlineComment = function(json_data){
562 try{
562 try{
563 var html = json_data['rendered_text'];
563 var html = json_data['rendered_text'];
564 var lineno = json_data['line_no'];
564 var lineno = json_data['line_no'];
565 var target_id = json_data['target_id'];
565 var target_id = json_data['target_id'];
566 placeInline(target_id, lineno, html);
566 placeInline(target_id, lineno, html);
567
567
568 }catch(e){
568 }catch(e){
569 console.log(e);
569 console.log(e);
570 }
570 }
571 }
571 }
572
572
573 /**
573 /**
574 * Iterates over all the inlines, and places them inside proper blocks of data
574 * Iterates over all the inlines, and places them inside proper blocks of data
575 */
575 */
576 var renderInlineComments = function(file_comments){
576 var renderInlineComments = function(file_comments){
577 for (f in file_comments){
577 for (f in file_comments){
578 // holding all comments for a FILE
578 // holding all comments for a FILE
579 var box = file_comments[f];
579 var box = file_comments[f];
580
580
581 var target_id = YUD.getAttribute(box,'target_id');
581 var target_id = YUD.getAttribute(box,'target_id');
582 // actually comments with line numbers
582 // actually comments with line numbers
583 var comments = box.children;
583 var comments = box.children;
584 for(var i=0; i<comments.length; i++){
584 for(var i=0; i<comments.length; i++){
585 var data = {
585 var data = {
586 'rendered_text': comments[i].outerHTML,
586 'rendered_text': comments[i].outerHTML,
587 'line_no': YUD.getAttribute(comments[i],'line'),
587 'line_no': YUD.getAttribute(comments[i],'line'),
588 'target_id': target_id
588 'target_id': target_id
589 }
589 }
590 renderInlineComment(data);
590 renderInlineComment(data);
591 }
591 }
592 }
592 }
593 }
593 }
594
594
595
595
596 var fileBrowserListeners = function(current_url, node_list_url, url_base,
596 var fileBrowserListeners = function(current_url, node_list_url, url_base,
597 truncated_lbl, nomatch_lbl){
597 truncated_lbl, nomatch_lbl){
598 var current_url_branch = +"?branch=__BRANCH__";
598 var current_url_branch = +"?branch=__BRANCH__";
599 var url = url_base;
599 var url = url_base;
600 var node_url = node_list_url;
600 var node_url = node_list_url;
601
601
602 YUE.on('stay_at_branch','click',function(e){
602 YUE.on('stay_at_branch','click',function(e){
603 if(e.target.checked){
603 if(e.target.checked){
604 var uri = current_url_branch;
604 var uri = current_url_branch;
605 uri = uri.replace('__BRANCH__',e.target.value);
605 uri = uri.replace('__BRANCH__',e.target.value);
606 window.location = uri;
606 window.location = uri;
607 }
607 }
608 else{
608 else{
609 window.location = current_url;
609 window.location = current_url;
610 }
610 }
611 })
611 })
612
612
613 var n_filter = YUD.get('node_filter');
613 var n_filter = YUD.get('node_filter');
614 var F = YAHOO.namespace('node_filter');
614 var F = YAHOO.namespace('node_filter');
615
615
616 F.filterTimeout = null;
616 F.filterTimeout = null;
617 var nodes = null;
617 var nodes = null;
618
618
619 F.initFilter = function(){
619 F.initFilter = function(){
620 YUD.setStyle('node_filter_box_loading','display','');
620 YUD.setStyle('node_filter_box_loading','display','');
621 YUD.setStyle('search_activate_id','display','none');
621 YUD.setStyle('search_activate_id','display','none');
622 YUD.setStyle('add_node_id','display','none');
622 YUD.setStyle('add_node_id','display','none');
623 YUC.initHeader('X-PARTIAL-XHR',true);
623 YUC.initHeader('X-PARTIAL-XHR',true);
624 YUC.asyncRequest('GET',url,{
624 YUC.asyncRequest('GET',url,{
625 success:function(o){
625 success:function(o){
626 nodes = JSON.parse(o.responseText);
626 nodes = JSON.parse(o.responseText);
627 YUD.setStyle('node_filter_box_loading','display','none');
627 YUD.setStyle('node_filter_box_loading','display','none');
628 YUD.setStyle('node_filter_box','display','');
628 YUD.setStyle('node_filter_box','display','');
629 n_filter.focus();
629 n_filter.focus();
630 if(YUD.hasClass(n_filter,'init')){
630 if(YUD.hasClass(n_filter,'init')){
631 n_filter.value = '';
631 n_filter.value = '';
632 YUD.removeClass(n_filter,'init');
632 YUD.removeClass(n_filter,'init');
633 }
633 }
634 },
634 },
635 failure:function(o){
635 failure:function(o){
636 console.log('failed to load');
636 console.log('failed to load');
637 }
637 }
638 },null);
638 },null);
639 }
639 }
640
640
641 F.updateFilter = function(e) {
641 F.updateFilter = function(e) {
642
642
643 return function(){
643 return function(){
644 // Reset timeout
644 // Reset timeout
645 F.filterTimeout = null;
645 F.filterTimeout = null;
646 var query = e.target.value.toLowerCase();
646 var query = e.target.value.toLowerCase();
647 var match = [];
647 var match = [];
648 var matches = 0;
648 var matches = 0;
649 var matches_max = 20;
649 var matches_max = 20;
650 if (query != ""){
650 if (query != ""){
651 for(var i=0;i<nodes.length;i++){
651 for(var i=0;i<nodes.length;i++){
652
652
653 var pos = nodes[i].name.toLowerCase().indexOf(query)
653 var pos = nodes[i].name.toLowerCase().indexOf(query)
654 if(query && pos != -1){
654 if(query && pos != -1){
655
655
656 matches++
656 matches++
657 //show only certain amount to not kill browser
657 //show only certain amount to not kill browser
658 if (matches > matches_max){
658 if (matches > matches_max){
659 break;
659 break;
660 }
660 }
661
661
662 var n = nodes[i].name;
662 var n = nodes[i].name;
663 var t = nodes[i].type;
663 var t = nodes[i].type;
664 var n_hl = n.substring(0,pos)
664 var n_hl = n.substring(0,pos)
665 +"<b>{0}</b>".format(n.substring(pos,pos+query.length))
665 +"<b>{0}</b>".format(n.substring(pos,pos+query.length))
666 +n.substring(pos+query.length)
666 +n.substring(pos+query.length)
667 match.push('<tr><td><a class="browser-{0}" href="{1}">{2}</a></td><td colspan="5"></td></tr>'.format(t,node_url.replace('__FPATH__',n),n_hl));
667 match.push('<tr><td><a class="browser-{0}" href="{1}">{2}</a></td><td colspan="5"></td></tr>'.format(t,node_url.replace('__FPATH__',n),n_hl));
668 }
668 }
669 if(match.length >= matches_max){
669 if(match.length >= matches_max){
670 match.push('<tr><td>{0}</td><td colspan="5"></td></tr>'.format(truncated_lbl));
670 match.push('<tr><td>{0}</td><td colspan="5"></td></tr>'.format(truncated_lbl));
671 }
671 }
672
672
673 }
673 }
674 }
674 }
675 if(query != ""){
675 if(query != ""){
676 YUD.setStyle('tbody','display','none');
676 YUD.setStyle('tbody','display','none');
677 YUD.setStyle('tbody_filtered','display','');
677 YUD.setStyle('tbody_filtered','display','');
678
678
679 if (match.length==0){
679 if (match.length==0){
680 match.push('<tr><td>{0}</td><td colspan="5"></td></tr>'.format(nomatch_lbl));
680 match.push('<tr><td>{0}</td><td colspan="5"></td></tr>'.format(nomatch_lbl));
681 }
681 }
682
682
683 YUD.get('tbody_filtered').innerHTML = match.join("");
683 YUD.get('tbody_filtered').innerHTML = match.join("");
684 }
684 }
685 else{
685 else{
686 YUD.setStyle('tbody','display','');
686 YUD.setStyle('tbody','display','');
687 YUD.setStyle('tbody_filtered','display','none');
687 YUD.setStyle('tbody_filtered','display','none');
688 }
688 }
689
689
690 }
690 }
691 };
691 };
692
692
693 YUE.on(YUD.get('filter_activate'),'click',function(){
693 YUE.on(YUD.get('filter_activate'),'click',function(){
694 F.initFilter();
694 F.initFilter();
695 })
695 })
696 YUE.on(n_filter,'click',function(){
696 YUE.on(n_filter,'click',function(){
697 if(YUD.hasClass(n_filter,'init')){
697 if(YUD.hasClass(n_filter,'init')){
698 n_filter.value = '';
698 n_filter.value = '';
699 YUD.removeClass(n_filter,'init');
699 YUD.removeClass(n_filter,'init');
700 }
700 }
701 });
701 });
702 YUE.on(n_filter,'keyup',function(e){
702 YUE.on(n_filter,'keyup',function(e){
703 clearTimeout(F.filterTimeout);
703 clearTimeout(F.filterTimeout);
704 F.filterTimeout = setTimeout(F.updateFilter(e),600);
704 F.filterTimeout = setTimeout(F.updateFilter(e),600);
705 });
705 });
706 };
706 };
707
707
708
708
709 var initCodeMirror = function(textAreadId,resetUrl){
709 var initCodeMirror = function(textAreadId,resetUrl){
710 var myCodeMirror = CodeMirror.fromTextArea(YUD.get(textAreadId),{
710 var myCodeMirror = CodeMirror.fromTextArea(YUD.get(textAreadId),{
711 mode: "null",
711 mode: "null",
712 lineNumbers:true
712 lineNumbers:true
713 });
713 });
714 YUE.on('reset','click',function(e){
714 YUE.on('reset','click',function(e){
715 window.location=resetUrl
715 window.location=resetUrl
716 });
716 });
717
717
718 YUE.on('file_enable','click',function(){
718 YUE.on('file_enable','click',function(){
719 YUD.setStyle('editor_container','display','');
719 YUD.setStyle('editor_container','display','');
720 YUD.setStyle('upload_file_container','display','none');
720 YUD.setStyle('upload_file_container','display','none');
721 YUD.setStyle('filename_container','display','');
721 YUD.setStyle('filename_container','display','');
722 });
722 });
723
723
724 YUE.on('upload_file_enable','click',function(){
724 YUE.on('upload_file_enable','click',function(){
725 YUD.setStyle('editor_container','display','none');
725 YUD.setStyle('editor_container','display','none');
726 YUD.setStyle('upload_file_container','display','');
726 YUD.setStyle('upload_file_container','display','');
727 YUD.setStyle('filename_container','display','none');
727 YUD.setStyle('filename_container','display','none');
728 });
728 });
729 };
729 };
730
730
731
731
732
732
733 var getIdentNode = function(n){
733 var getIdentNode = function(n){
734 //iterate thru nodes untill matched interesting node !
734 //iterate thru nodes untill matched interesting node !
735
735
736 if (typeof n == 'undefined'){
736 if (typeof n == 'undefined'){
737 return -1
737 return -1
738 }
738 }
739
739
740 if(typeof n.id != "undefined" && n.id.match('L[0-9]+')){
740 if(typeof n.id != "undefined" && n.id.match('L[0-9]+')){
741 return n
741 return n
742 }
742 }
743 else{
743 else{
744 return getIdentNode(n.parentNode);
744 return getIdentNode(n.parentNode);
745 }
745 }
746 };
746 };
747
747
748 var getSelectionLink = function(selection_link_label) {
748 var getSelectionLink = function(selection_link_label) {
749 return function(){
749 return function(){
750 //get selection from start/to nodes
750 //get selection from start/to nodes
751 if (typeof window.getSelection != "undefined") {
751 if (typeof window.getSelection != "undefined") {
752 s = window.getSelection();
752 s = window.getSelection();
753
753
754 from = getIdentNode(s.anchorNode);
754 from = getIdentNode(s.anchorNode);
755 till = getIdentNode(s.focusNode);
755 till = getIdentNode(s.focusNode);
756
756
757 f_int = parseInt(from.id.replace('L',''));
757 f_int = parseInt(from.id.replace('L',''));
758 t_int = parseInt(till.id.replace('L',''));
758 t_int = parseInt(till.id.replace('L',''));
759
759
760 if (f_int > t_int){
760 if (f_int > t_int){
761 //highlight from bottom
761 //highlight from bottom
762 offset = -35;
762 offset = -35;
763 ranges = [t_int,f_int];
763 ranges = [t_int,f_int];
764
764
765 }
765 }
766 else{
766 else{
767 //highligth from top
767 //highligth from top
768 offset = 35;
768 offset = 35;
769 ranges = [f_int,t_int];
769 ranges = [f_int,t_int];
770 }
770 }
771
771
772 if (ranges[0] != ranges[1]){
772 if (ranges[0] != ranges[1]){
773 if(YUD.get('linktt') == null){
773 if(YUD.get('linktt') == null){
774 hl_div = document.createElement('div');
774 hl_div = document.createElement('div');
775 hl_div.id = 'linktt';
775 hl_div.id = 'linktt';
776 }
776 }
777 anchor = '#L'+ranges[0]+'-'+ranges[1];
777 anchor = '#L'+ranges[0]+'-'+ranges[1];
778 hl_div.innerHTML = '';
778 hl_div.innerHTML = '';
779 l = document.createElement('a');
779 l = document.createElement('a');
780 l.href = location.href.substring(0,location.href.indexOf('#'))+anchor;
780 l.href = location.href.substring(0,location.href.indexOf('#'))+anchor;
781 l.innerHTML = selection_link_label;
781 l.innerHTML = selection_link_label;
782 hl_div.appendChild(l);
782 hl_div.appendChild(l);
783
783
784 YUD.get('body').appendChild(hl_div);
784 YUD.get('body').appendChild(hl_div);
785
785
786 xy = YUD.getXY(till.id);
786 xy = YUD.getXY(till.id);
787
787
788 YUD.addClass('linktt','yui-tt');
788 YUD.addClass('linktt','yui-tt');
789 YUD.setStyle('linktt','top',xy[1]+offset+'px');
789 YUD.setStyle('linktt','top',xy[1]+offset+'px');
790 YUD.setStyle('linktt','left',xy[0]+'px');
790 YUD.setStyle('linktt','left',xy[0]+'px');
791 YUD.setStyle('linktt','visibility','visible');
791 YUD.setStyle('linktt','visibility','visible');
792 }
792 }
793 else{
793 else{
794 YUD.setStyle('linktt','visibility','hidden');
794 YUD.setStyle('linktt','visibility','hidden');
795 }
795 }
796 }
796 }
797 }
797 }
798 };
798 };
799
799
800 var deleteNotification = function(url, notification_id,callbacks){
800 var deleteNotification = function(url, notification_id,callbacks){
801 var callback = {
801 var callback = {
802 success:function(o){
802 success:function(o){
803 var obj = YUD.get(String("notification_"+notification_id));
803 var obj = YUD.get(String("notification_"+notification_id));
804 if(obj.parentNode !== undefined){
804 if(obj.parentNode !== undefined){
805 obj.parentNode.removeChild(obj);
805 obj.parentNode.removeChild(obj);
806 }
806 }
807 _run_callbacks(callbacks);
807 _run_callbacks(callbacks);
808 },
808 },
809 failure:function(o){
809 failure:function(o){
810 alert("error");
810 alert("error");
811 },
811 },
812 };
812 };
813 var postData = '_method=delete';
813 var postData = '_method=delete';
814 var sUrl = url.replace('__NOTIFICATION_ID__',notification_id);
814 var sUrl = url.replace('__NOTIFICATION_ID__',notification_id);
815 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl,
815 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl,
816 callback, postData);
816 callback, postData);
817 };
817 };
818
818
819
819
820 /** MEMBERS AUTOCOMPLETE WIDGET **/
820 /** MEMBERS AUTOCOMPLETE WIDGET **/
821
821
822 var MembersAutoComplete = function (users_list, groups_list, group_lbl, members_lbl) {
822 var MembersAutoComplete = function (users_list, groups_list, group_lbl, members_lbl) {
823 var myUsers = users_list;
823 var myUsers = users_list;
824 var myGroups = groups_list;
824 var myGroups = groups_list;
825
825
826 // Define a custom search function for the DataSource of users
826 // Define a custom search function for the DataSource of users
827 var matchUsers = function (sQuery) {
827 var matchUsers = function (sQuery) {
828 // Case insensitive matching
828 // Case insensitive matching
829 var query = sQuery.toLowerCase();
829 var query = sQuery.toLowerCase();
830 var i = 0;
830 var i = 0;
831 var l = myUsers.length;
831 var l = myUsers.length;
832 var matches = [];
832 var matches = [];
833
833
834 // Match against each name of each contact
834 // Match against each name of each contact
835 for (; i < l; i++) {
835 for (; i < l; i++) {
836 contact = myUsers[i];
836 contact = myUsers[i];
837 if ((contact.fname.toLowerCase().indexOf(query) > -1) || (contact.lname.toLowerCase().indexOf(query) > -1) || (contact.nname && (contact.nname.toLowerCase().indexOf(query) > -1))) {
837 if ((contact.fname.toLowerCase().indexOf(query) > -1) || (contact.lname.toLowerCase().indexOf(query) > -1) || (contact.nname && (contact.nname.toLowerCase().indexOf(query) > -1))) {
838 matches[matches.length] = contact;
838 matches[matches.length] = contact;
839 }
839 }
840 }
840 }
841 return matches;
841 return matches;
842 };
842 };
843
843
844 // Define a custom search function for the DataSource of usersGroups
844 // Define a custom search function for the DataSource of usersGroups
845 var matchGroups = function (sQuery) {
845 var matchGroups = function (sQuery) {
846 // Case insensitive matching
846 // Case insensitive matching
847 var query = sQuery.toLowerCase();
847 var query = sQuery.toLowerCase();
848 var i = 0;
848 var i = 0;
849 var l = myGroups.length;
849 var l = myGroups.length;
850 var matches = [];
850 var matches = [];
851
851
852 // Match against each name of each contact
852 // Match against each name of each contact
853 for (; i < l; i++) {
853 for (; i < l; i++) {
854 matched_group = myGroups[i];
854 matched_group = myGroups[i];
855 if (matched_group.grname.toLowerCase().indexOf(query) > -1) {
855 if (matched_group.grname.toLowerCase().indexOf(query) > -1) {
856 matches[matches.length] = matched_group;
856 matches[matches.length] = matched_group;
857 }
857 }
858 }
858 }
859 return matches;
859 return matches;
860 };
860 };
861
861
862 //match all
862 //match all
863 var matchAll = function (sQuery) {
863 var matchAll = function (sQuery) {
864 u = matchUsers(sQuery);
864 u = matchUsers(sQuery);
865 g = matchGroups(sQuery);
865 g = matchGroups(sQuery);
866 return u.concat(g);
866 return u.concat(g);
867 };
867 };
868
868
869 // DataScheme for members
869 // DataScheme for members
870 var memberDS = new YAHOO.util.FunctionDataSource(matchAll);
870 var memberDS = new YAHOO.util.FunctionDataSource(matchAll);
871 memberDS.responseSchema = {
871 memberDS.responseSchema = {
872 fields: ["id", "fname", "lname", "nname", "grname", "grmembers", "gravatar_lnk"]
872 fields: ["id", "fname", "lname", "nname", "grname", "grmembers", "gravatar_lnk"]
873 };
873 };
874
874
875 // DataScheme for owner
875 // DataScheme for owner
876 var ownerDS = new YAHOO.util.FunctionDataSource(matchUsers);
876 var ownerDS = new YAHOO.util.FunctionDataSource(matchUsers);
877 ownerDS.responseSchema = {
877 ownerDS.responseSchema = {
878 fields: ["id", "fname", "lname", "nname", "gravatar_lnk"]
878 fields: ["id", "fname", "lname", "nname", "gravatar_lnk"]
879 };
879 };
880
880
881 // Instantiate AutoComplete for perms
881 // Instantiate AutoComplete for perms
882 var membersAC = new YAHOO.widget.AutoComplete("perm_new_member_name", "perm_container", memberDS);
882 var membersAC = new YAHOO.widget.AutoComplete("perm_new_member_name", "perm_container", memberDS);
883 membersAC.useShadow = false;
883 membersAC.useShadow = false;
884 membersAC.resultTypeList = false;
884 membersAC.resultTypeList = false;
885
885
886 // Instantiate AutoComplete for owner
886 // Instantiate AutoComplete for owner
887 var ownerAC = new YAHOO.widget.AutoComplete("user", "owner_container", ownerDS);
887 var ownerAC = new YAHOO.widget.AutoComplete("user", "owner_container", ownerDS);
888 ownerAC.useShadow = false;
888 ownerAC.useShadow = false;
889 ownerAC.resultTypeList = false;
889 ownerAC.resultTypeList = false;
890
890
891
891
892 // Helper highlight function for the formatter
892 // Helper highlight function for the formatter
893 var highlightMatch = function (full, snippet, matchindex) {
893 var highlightMatch = function (full, snippet, matchindex) {
894 return full.substring(0, matchindex)
894 return full.substring(0, matchindex)
895 + "<span class='match'>"
895 + "<span class='match'>"
896 + full.substr(matchindex, snippet.length)
896 + full.substr(matchindex, snippet.length)
897 + "</span>" + full.substring(matchindex + snippet.length);
897 + "</span>" + full.substring(matchindex + snippet.length);
898 };
898 };
899
899
900 // Custom formatter to highlight the matching letters
900 // Custom formatter to highlight the matching letters
901 var custom_formatter = function (oResultData, sQuery, sResultMatch) {
901 var custom_formatter = function (oResultData, sQuery, sResultMatch) {
902 var query = sQuery.toLowerCase();
902 var query = sQuery.toLowerCase();
903 var _gravatar = function(res, em, group){
903 var _gravatar = function(res, em, group){
904 if (group !== undefined){
904 if (group !== undefined){
905 em = '/images/icons/group.png'
905 em = '/images/icons/group.png'
906 }
906 }
907 tmpl = '<div class="ac-container-wrap"><img class="perm-gravatar-ac" src="{0}"/>{1}</div>'
907 tmpl = '<div class="ac-container-wrap"><img class="perm-gravatar-ac" src="{0}"/>{1}</div>'
908 return tmpl.format(em,res)
908 return tmpl.format(em,res)
909 }
909 }
910 // group
910 // group
911 if (oResultData.grname != undefined) {
911 if (oResultData.grname != undefined) {
912 var grname = oResultData.grname;
912 var grname = oResultData.grname;
913 var grmembers = oResultData.grmembers;
913 var grmembers = oResultData.grmembers;
914 var grnameMatchIndex = grname.toLowerCase().indexOf(query);
914 var grnameMatchIndex = grname.toLowerCase().indexOf(query);
915 var grprefix = "{0}: ".format(group_lbl);
915 var grprefix = "{0}: ".format(group_lbl);
916 var grsuffix = " (" + grmembers + " )";
916 var grsuffix = " (" + grmembers + " )";
917 var grsuffix = " ({0} {1})".format(grmembers, members_lbl);
917 var grsuffix = " ({0} {1})".format(grmembers, members_lbl);
918
918
919 if (grnameMatchIndex > -1) {
919 if (grnameMatchIndex > -1) {
920 return _gravatar(grprefix + highlightMatch(grname, query, grnameMatchIndex) + grsuffix,null,true);
920 return _gravatar(grprefix + highlightMatch(grname, query, grnameMatchIndex) + grsuffix,null,true);
921 }
921 }
922 return _gravatar(grprefix + oResultData.grname + grsuffix, null,true);
922 return _gravatar(grprefix + oResultData.grname + grsuffix, null,true);
923 // Users
923 // Users
924 } else if (oResultData.fname != undefined) {
924 } else if (oResultData.fname != undefined) {
925 var fname = oResultData.fname,
925 var fname = oResultData.fname,
926 lname = oResultData.lname,
926 lname = oResultData.lname,
927 nname = oResultData.nname || "",
927 nname = oResultData.nname || "",
928 // Guard against null value
928 // Guard against null value
929 fnameMatchIndex = fname.toLowerCase().indexOf(query),
929 fnameMatchIndex = fname.toLowerCase().indexOf(query),
930 lnameMatchIndex = lname.toLowerCase().indexOf(query),
930 lnameMatchIndex = lname.toLowerCase().indexOf(query),
931 nnameMatchIndex = nname.toLowerCase().indexOf(query),
931 nnameMatchIndex = nname.toLowerCase().indexOf(query),
932 displayfname, displaylname, displaynname;
932 displayfname, displaylname, displaynname;
933
933
934 if (fnameMatchIndex > -1) {
934 if (fnameMatchIndex > -1) {
935 displayfname = highlightMatch(fname, query, fnameMatchIndex);
935 displayfname = highlightMatch(fname, query, fnameMatchIndex);
936 } else {
936 } else {
937 displayfname = fname;
937 displayfname = fname;
938 }
938 }
939
939
940 if (lnameMatchIndex > -1) {
940 if (lnameMatchIndex > -1) {
941 displaylname = highlightMatch(lname, query, lnameMatchIndex);
941 displaylname = highlightMatch(lname, query, lnameMatchIndex);
942 } else {
942 } else {
943 displaylname = lname;
943 displaylname = lname;
944 }
944 }
945
945
946 if (nnameMatchIndex > -1) {
946 if (nnameMatchIndex > -1) {
947 displaynname = "(" + highlightMatch(nname, query, nnameMatchIndex) + ")";
947 displaynname = "(" + highlightMatch(nname, query, nnameMatchIndex) + ")";
948 } else {
948 } else {
949 displaynname = nname ? "(" + nname + ")" : "";
949 displaynname = nname ? "(" + nname + ")" : "";
950 }
950 }
951
951
952 return _gravatar(displayfname + " " + displaylname + " " + displaynname, oResultData.gravatar_lnk);
952 return _gravatar(displayfname + " " + displaylname + " " + displaynname, oResultData.gravatar_lnk);
953 } else {
953 } else {
954 return '';
954 return '';
955 }
955 }
956 };
956 };
957 membersAC.formatResult = custom_formatter;
957 membersAC.formatResult = custom_formatter;
958 ownerAC.formatResult = custom_formatter;
958 ownerAC.formatResult = custom_formatter;
959
959
960 var myHandler = function (sType, aArgs) {
960 var myHandler = function (sType, aArgs) {
961
961
962 var myAC = aArgs[0]; // reference back to the AC instance
962 var myAC = aArgs[0]; // reference back to the AC instance
963 var elLI = aArgs[1]; // reference to the selected LI element
963 var elLI = aArgs[1]; // reference to the selected LI element
964 var oData = aArgs[2]; // object literal of selected item's result data
964 var oData = aArgs[2]; // object literal of selected item's result data
965 //fill the autocomplete with value
965 //fill the autocomplete with value
966 if (oData.nname != undefined) {
966 if (oData.nname != undefined) {
967 //users
967 //users
968 myAC.getInputEl().value = oData.nname;
968 myAC.getInputEl().value = oData.nname;
969 YUD.get('perm_new_member_type').value = 'user';
969 YUD.get('perm_new_member_type').value = 'user';
970 } else {
970 } else {
971 //groups
971 //groups
972 myAC.getInputEl().value = oData.grname;
972 myAC.getInputEl().value = oData.grname;
973 YUD.get('perm_new_member_type').value = 'users_group';
973 YUD.get('perm_new_member_type').value = 'users_group';
974 }
974 }
975 };
975 };
976
976
977 membersAC.itemSelectEvent.subscribe(myHandler);
977 membersAC.itemSelectEvent.subscribe(myHandler);
978 if(ownerAC.itemSelectEvent){
978 if(ownerAC.itemSelectEvent){
979 ownerAC.itemSelectEvent.subscribe(myHandler);
979 ownerAC.itemSelectEvent.subscribe(myHandler);
980 }
980 }
981
981
982 return {
982 return {
983 memberDS: memberDS,
983 memberDS: memberDS,
984 ownerDS: ownerDS,
984 ownerDS: ownerDS,
985 membersAC: membersAC,
985 membersAC: membersAC,
986 ownerAC: ownerAC,
986 ownerAC: ownerAC,
987 };
987 };
988 }
988 }
989
989
990
990
991 var MentionsAutoComplete = function (divid, cont, users_list, groups_list, group_lbl, members_lbl) {
992 var myUsers = users_list;
993 var myGroups = groups_list;
994
995 // Define a custom search function for the DataSource of users
996 var matchUsers = function (sQuery) {
997 var org_sQuery = sQuery;
998 if(this.mentionQuery == null){
999 return []
1000 }
1001 sQuery = this.mentionQuery;
1002 // Case insensitive matching
1003 var query = sQuery.toLowerCase();
1004 var i = 0;
1005 var l = myUsers.length;
1006 var matches = [];
1007
1008 // Match against each name of each contact
1009 for (; i < l; i++) {
1010 contact = myUsers[i];
1011 if ((contact.fname.toLowerCase().indexOf(query) > -1) || (contact.lname.toLowerCase().indexOf(query) > -1) || (contact.nname && (contact.nname.toLowerCase().indexOf(query) > -1))) {
1012 matches[matches.length] = contact;
1013 }
1014 }
1015 return matches
1016 };
1017
1018 //match all
1019 var matchAll = function (sQuery) {
1020 u = matchUsers(sQuery);
1021 return u
1022 };
1023
1024 // DataScheme for owner
1025 var ownerDS = new YAHOO.util.FunctionDataSource(matchUsers);
1026 ownerDS.responseSchema = {
1027 fields: ["id", "fname", "lname", "nname", "gravatar_lnk"]
1028 };
1029
1030 // Instantiate AutoComplete for mentions
1031 var ownerAC = new YAHOO.widget.AutoComplete(divid, cont, ownerDS);
1032 ownerAC.useShadow = false;
1033 ownerAC.resultTypeList = false;
1034 ownerAC.suppressInputUpdate = true;
1035
1036 // Helper highlight function for the formatter
1037 var highlightMatch = function (full, snippet, matchindex) {
1038 return full.substring(0, matchindex)
1039 + "<span class='match'>"
1040 + full.substr(matchindex, snippet.length)
1041 + "</span>" + full.substring(matchindex + snippet.length);
1042 };
1043
1044 // Custom formatter to highlight the matching letters
1045 ownerAC.formatResult = function (oResultData, sQuery, sResultMatch) {
1046 var org_sQuery = sQuery;
1047 if(this.dataSource.mentionQuery != null){
1048 sQuery = this.dataSource.mentionQuery;
1049 }
1050
1051 var query = sQuery.toLowerCase();
1052 var _gravatar = function(res, em, group){
1053 if (group !== undefined){
1054 em = '/images/icons/group.png'
1055 }
1056 tmpl = '<div class="ac-container-wrap"><img class="perm-gravatar-ac" src="{0}"/>{1}</div>'
1057 return tmpl.format(em,res)
1058 }
1059 if (oResultData.fname != undefined) {
1060 var fname = oResultData.fname,
1061 lname = oResultData.lname,
1062 nname = oResultData.nname || "",
1063 // Guard against null value
1064 fnameMatchIndex = fname.toLowerCase().indexOf(query),
1065 lnameMatchIndex = lname.toLowerCase().indexOf(query),
1066 nnameMatchIndex = nname.toLowerCase().indexOf(query),
1067 displayfname, displaylname, displaynname;
1068
1069 if (fnameMatchIndex > -1) {
1070 displayfname = highlightMatch(fname, query, fnameMatchIndex);
1071 } else {
1072 displayfname = fname;
1073 }
1074
1075 if (lnameMatchIndex > -1) {
1076 displaylname = highlightMatch(lname, query, lnameMatchIndex);
1077 } else {
1078 displaylname = lname;
1079 }
1080
1081 if (nnameMatchIndex > -1) {
1082 displaynname = "(" + highlightMatch(nname, query, nnameMatchIndex) + ")";
1083 } else {
1084 displaynname = nname ? "(" + nname + ")" : "";
1085 }
1086
1087 return _gravatar(displayfname + " " + displaylname + " " + displaynname, oResultData.gravatar_lnk);
1088 } else {
1089 return '';
1090 }
1091 };
1092
1093 if(ownerAC.itemSelectEvent){
1094 ownerAC.itemSelectEvent.subscribe(function (sType, aArgs) {
1095
1096 var myAC = aArgs[0]; // reference back to the AC instance
1097 var elLI = aArgs[1]; // reference to the selected LI element
1098 var oData = aArgs[2]; // object literal of selected item's result data
1099 //fill the autocomplete with value
1100 if (oData.nname != undefined) {
1101 //users
1102 //Replace the mention name with replaced
1103 var re = new RegExp();
1104 var org = myAC.getInputEl().value;
1105 var chunks = myAC.dataSource.chunks
1106 // replace middle chunk(the search term) with actuall match
1107 chunks[1] = chunks[1].replace('@'+myAC.dataSource.mentionQuery,
1108 '@'+oData.nname+' ');
1109 myAC.getInputEl().value = chunks.join('')
1110 YUD.get(myAC.getInputEl()).focus(); // Y U NO WORK !?
1111 } else {
1112 //groups
1113 myAC.getInputEl().value = oData.grname;
1114 YUD.get('perm_new_member_type').value = 'users_group';
1115 }
1116 });
1117 }
1118
1119 // in this keybuffer we will gather current value of search !
1120 // since we need to get this just when someone does `@` then we do the
1121 // search
1122 ownerAC.dataSource.chunks = [];
1123 ownerAC.dataSource.mentionQuery = null;
1124
1125 ownerAC.get_mention = function(msg, max_pos) {
1126 var org = msg;
1127 var re = new RegExp('(?:^@|\s@)([a-zA-Z0-9]{1}[a-zA-Z0-9\-\_\.]+)$')
1128 var chunks = [];
1129
1130
1131 // cut first chunk until curret pos
1132 var to_max = msg.substr(0, max_pos);
1133 var at_pos = Math.max(0,to_max.lastIndexOf('@')-1);
1134 var msg2 = to_max.substr(at_pos);
1135
1136 chunks.push(org.substr(0,at_pos))// prefix chunk
1137 chunks.push(msg2) // search chunk
1138 chunks.push(org.substr(max_pos)) // postfix chunk
1139
1140 // clean up msg2 for filtering and regex match
1141 var msg2 = msg2.replace(' ','').replace('\n','');
1142
1143 if(re.test(msg2)){
1144 var unam = re.exec(msg2)[1];
1145 return [unam, chunks];
1146 }
1147 return [null, null];
1148 };
1149 ownerAC.textboxKeyUpEvent.subscribe(function(type, args){
1150
1151 var ac_obj = args[0];
1152 var currentMessage = args[1];
1153 var currentCaretPosition = args[0]._elTextbox.selectionStart;
1154
1155 var unam = ownerAC.get_mention(currentMessage, currentCaretPosition);
1156 var curr_search = null;
1157 if(unam[0]){
1158 curr_search = unam[0];
1159 }
1160
1161 ownerAC.dataSource.chunks = unam[1];
1162 ownerAC.dataSource.mentionQuery = curr_search;
1163
1164 })
1165
1166 return {
1167 ownerDS: ownerDS,
1168 ownerAC: ownerAC,
1169 };
1170 }
1171
1172
1173
991
1174
992 /**
1175 /**
993 * QUICK REPO MENU
1176 * QUICK REPO MENU
994 */
1177 */
995 var quick_repo_menu = function(){
1178 var quick_repo_menu = function(){
996 YUE.on(YUQ('.quick_repo_menu'),'mouseenter',function(e){
1179 YUE.on(YUQ('.quick_repo_menu'),'mouseenter',function(e){
997 var menu = e.currentTarget.firstElementChild.firstElementChild;
1180 var menu = e.currentTarget.firstElementChild.firstElementChild;
998 if(YUD.hasClass(menu,'hidden')){
1181 if(YUD.hasClass(menu,'hidden')){
999 YUD.replaceClass(e.currentTarget,'hidden', 'active');
1182 YUD.replaceClass(e.currentTarget,'hidden', 'active');
1000 YUD.replaceClass(menu, 'hidden', 'active');
1183 YUD.replaceClass(menu, 'hidden', 'active');
1001 }
1184 }
1002 })
1185 })
1003 YUE.on(YUQ('.quick_repo_menu'),'mouseleave',function(e){
1186 YUE.on(YUQ('.quick_repo_menu'),'mouseleave',function(e){
1004 var menu = e.currentTarget.firstElementChild.firstElementChild;
1187 var menu = e.currentTarget.firstElementChild.firstElementChild;
1005 if(YUD.hasClass(menu,'active')){
1188 if(YUD.hasClass(menu,'active')){
1006 YUD.replaceClass(e.currentTarget, 'active', 'hidden');
1189 YUD.replaceClass(e.currentTarget, 'active', 'hidden');
1007 YUD.replaceClass(menu, 'active', 'hidden');
1190 YUD.replaceClass(menu, 'active', 'hidden');
1008 }
1191 }
1009 })
1192 })
1010 };
1193 };
1011
1194
1012
1195
1013 /**
1196 /**
1014 * TABLE SORTING
1197 * TABLE SORTING
1015 */
1198 */
1016
1199
1017 // returns a node from given html;
1200 // returns a node from given html;
1018 var fromHTML = function(html){
1201 var fromHTML = function(html){
1019 var _html = document.createElement('element');
1202 var _html = document.createElement('element');
1020 _html.innerHTML = html;
1203 _html.innerHTML = html;
1021 return _html;
1204 return _html;
1022 }
1205 }
1023 var get_rev = function(node){
1206 var get_rev = function(node){
1024 var n = node.firstElementChild.firstElementChild;
1207 var n = node.firstElementChild.firstElementChild;
1025
1208
1026 if (n===null){
1209 if (n===null){
1027 return -1
1210 return -1
1028 }
1211 }
1029 else{
1212 else{
1030 out = n.firstElementChild.innerHTML.split(':')[0].replace('r','');
1213 out = n.firstElementChild.innerHTML.split(':')[0].replace('r','');
1031 return parseInt(out);
1214 return parseInt(out);
1032 }
1215 }
1033 }
1216 }
1034
1217
1035 var get_name = function(node){
1218 var get_name = function(node){
1036 var name = node.firstElementChild.children[2].innerHTML;
1219 var name = node.firstElementChild.children[2].innerHTML;
1037 return name
1220 return name
1038 }
1221 }
1039 var get_group_name = function(node){
1222 var get_group_name = function(node){
1040 var name = node.firstElementChild.children[1].innerHTML;
1223 var name = node.firstElementChild.children[1].innerHTML;
1041 return name
1224 return name
1042 }
1225 }
1043 var get_date = function(node){
1226 var get_date = function(node){
1044 var date_ = node.firstElementChild.innerHTML;
1227 var date_ = node.firstElementChild.innerHTML;
1045 return date_
1228 return date_
1046 }
1229 }
1047
1230
1048 var revisionSort = function(a, b, desc, field) {
1231 var revisionSort = function(a, b, desc, field) {
1049
1232
1050 var a_ = fromHTML(a.getData(field));
1233 var a_ = fromHTML(a.getData(field));
1051 var b_ = fromHTML(b.getData(field));
1234 var b_ = fromHTML(b.getData(field));
1052
1235
1053 // extract revisions from string nodes
1236 // extract revisions from string nodes
1054 a_ = get_rev(a_)
1237 a_ = get_rev(a_)
1055 b_ = get_rev(b_)
1238 b_ = get_rev(b_)
1056
1239
1057 var comp = YAHOO.util.Sort.compare;
1240 var comp = YAHOO.util.Sort.compare;
1058 var compState = comp(a_, b_, desc);
1241 var compState = comp(a_, b_, desc);
1059 return compState;
1242 return compState;
1060 };
1243 };
1061 var ageSort = function(a, b, desc, field) {
1244 var ageSort = function(a, b, desc, field) {
1062 var a_ = a.getData(field);
1245 var a_ = a.getData(field);
1063 var b_ = b.getData(field);
1246 var b_ = b.getData(field);
1064
1247
1065 var comp = YAHOO.util.Sort.compare;
1248 var comp = YAHOO.util.Sort.compare;
1066 var compState = comp(a_, b_, desc);
1249 var compState = comp(a_, b_, desc);
1067 return compState;
1250 return compState;
1068 };
1251 };
1069
1252
1070 var nameSort = function(a, b, desc, field) {
1253 var nameSort = function(a, b, desc, field) {
1071 var a_ = fromHTML(a.getData(field));
1254 var a_ = fromHTML(a.getData(field));
1072 var b_ = fromHTML(b.getData(field));
1255 var b_ = fromHTML(b.getData(field));
1073
1256
1074 // extract name from table
1257 // extract name from table
1075 a_ = get_name(a_)
1258 a_ = get_name(a_)
1076 b_ = get_name(b_)
1259 b_ = get_name(b_)
1077
1260
1078 var comp = YAHOO.util.Sort.compare;
1261 var comp = YAHOO.util.Sort.compare;
1079 var compState = comp(a_, b_, desc);
1262 var compState = comp(a_, b_, desc);
1080 return compState;
1263 return compState;
1081 };
1264 };
1082
1265
1083 var permNameSort = function(a, b, desc, field) {
1266 var permNameSort = function(a, b, desc, field) {
1084 var a_ = fromHTML(a.getData(field));
1267 var a_ = fromHTML(a.getData(field));
1085 var b_ = fromHTML(b.getData(field));
1268 var b_ = fromHTML(b.getData(field));
1086 // extract name from table
1269 // extract name from table
1087
1270
1088 a_ = a_.children[0].innerHTML;
1271 a_ = a_.children[0].innerHTML;
1089 b_ = b_.children[0].innerHTML;
1272 b_ = b_.children[0].innerHTML;
1090
1273
1091 var comp = YAHOO.util.Sort.compare;
1274 var comp = YAHOO.util.Sort.compare;
1092 var compState = comp(a_, b_, desc);
1275 var compState = comp(a_, b_, desc);
1093 return compState;
1276 return compState;
1094 };
1277 };
1095
1278
1096 var groupNameSort = function(a, b, desc, field) {
1279 var groupNameSort = function(a, b, desc, field) {
1097 var a_ = fromHTML(a.getData(field));
1280 var a_ = fromHTML(a.getData(field));
1098 var b_ = fromHTML(b.getData(field));
1281 var b_ = fromHTML(b.getData(field));
1099
1282
1100 // extract name from table
1283 // extract name from table
1101 a_ = get_group_name(a_)
1284 a_ = get_group_name(a_)
1102 b_ = get_group_name(b_)
1285 b_ = get_group_name(b_)
1103
1286
1104 var comp = YAHOO.util.Sort.compare;
1287 var comp = YAHOO.util.Sort.compare;
1105 var compState = comp(a_, b_, desc);
1288 var compState = comp(a_, b_, desc);
1106 return compState;
1289 return compState;
1107 };
1290 };
1108 var dateSort = function(a, b, desc, field) {
1291 var dateSort = function(a, b, desc, field) {
1109 var a_ = fromHTML(a.getData(field));
1292 var a_ = fromHTML(a.getData(field));
1110 var b_ = fromHTML(b.getData(field));
1293 var b_ = fromHTML(b.getData(field));
1111
1294
1112 // extract name from table
1295 // extract name from table
1113 a_ = get_date(a_)
1296 a_ = get_date(a_)
1114 b_ = get_date(b_)
1297 b_ = get_date(b_)
1115
1298
1116 var comp = YAHOO.util.Sort.compare;
1299 var comp = YAHOO.util.Sort.compare;
1117 var compState = comp(a_, b_, desc);
1300 var compState = comp(a_, b_, desc);
1118 return compState;
1301 return compState;
1119 }; No newline at end of file
1302 };
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
General Comments 0
You need to be logged in to leave comments. Login now