# enhanced code search with more options(inversion, recursion, case-insensivity, file name search, regex)

# updated jquery to 1.11.2 and jquery-ui to 1.9.2
This commit is contained in:
hyung-hwan 2015-04-15 07:52:29 +00:00
parent ff3bb55222
commit e88282f081
38 changed files with 736 additions and 890 deletions

View File

@ -750,17 +750,23 @@ class Code extends Controller
$data['login'] = $login;
$data['message'] = '';
$this->form_validation->set_rules ('search_pattern', 'pattern', 'required');
$this->form_validation->set_rules ('search_string', 'pattern', 'required');
$this->form_validation->set_rules ('search_folder', 'folder', '');
$this->form_validation->set_rules ('search_revision', 'revision', 'numeric');
// no rule for search_invertedly, search_case_insensitively, search_recursively, search_is_regex, search_in_name
$this->form_validation->set_error_delimiters('<span class="form_field_error">','</span>');
if ($this->input->post('search_pattern'))
if ($this->input->post('search_string') !== FALSE)
{
$pattern = $this->input->post('search_pattern');
$pattern = $this->input->post('search_string');
$path = $this->input->post('search_folder');
$path = $this->_normalize_path ($path);
$rev = $this->input->post('search_revision');
$invertedly = $this->input->post('search_invertedly');
$case_insensitively = $this->input->post('search_case_insensitively');
$recursively = $this->input->post('search_recursively');
$in_name = $this->input->post('search_in_name');
$is_regex = $this->input->post('search_is_regex');
$file = $this->subversion->getFile ($project->id, $path, $rev);
if ($file === FALSE)
@ -768,13 +774,18 @@ class Code extends Controller
$data['project'] = $project;
$data['message'] = "Failed to get file - $path";
$this->load->view ($this->VIEW_ERROR, $data);
return;
}
if ($this->form_validation->run())
else if ($this->form_validation->run())
{
$data['project'] = $project;
$data['headpath'] = $path;
$data['pattern'] = $pattern;
$data['invertedly'] = $invertedly;
$data['case_insensitively'] = $case_insensitively;
$data['recursively'] = $recursively;
$data['in_name'] = $in_name;
$data['is_regex'] = $is_regex;
$data['file'] = $file;
$data['revision'] = $rev;
@ -784,45 +795,11 @@ class Code extends Controller
$this->subversion->getNextRev ($project->id, $path, $rev);
$this->load->view ($this->VIEW_SEARCH, $data);
}
else
{
// TODO: arrange to display an error message...
$data['project'] = $project;
$data['headpath'] = $path;
$data['file'] = $file;
$data['revision'] = $rev;
$data['prev_revision'] =
$this->subversion->getPrevRev ($project->id, $path, $rev);
$data['next_revision'] =
$this->subversion->getNextRev ($project->id, $path, $rev);
$data['readme_text'] = '';
$data['readme_file'] = '';
foreach (explode(',', CODEPOT_CODE_FOLDER_README) as $rf)
{
$rf = trim($rf);
if (strlen($rf) > 0)
{
$readme = $this->subversion->getFile ($projectid, $path . '/' . $rf, $rev);
if ($readme !== FALSE)
{
$data['readme_text'] = $readme['content'];
$data['readme_file'] = $rf;
break;
}
}
}
$this->load->view ($this->VIEW_FOLDER, $data);
return;
}
}
else
{
$data['project'] = $project;
$data['message'] = 'Failed to search';
$this->load->view ($this->VIEW_ERROR, $data);
}
redirect ("code/file/" . $project->id);
}
function search ($projectid = '', $rev = SVN_REVISION_HEAD)

View File

@ -6,5 +6,11 @@ $lang['CODE_PROPERTY'] = 'Property';
$lang['CODE_MSG_COMMITTED_BY'] = 'Committed by %s';
$lang['CODE_MSG_COMMITTED_BY_ON'] = 'Committed by %s on %s';
$lang['CODE_BAD_SEARCH_PATTERN'] = 'Bad search pattern';
$lang['CODE_SEARCH_STRING'] = 'Search string';
$lang['CODE_BAD_SEARCH_STRING'] = 'Bad search string';
$lang['CODE_SEARCH_INVERTEDLY'] = 'Show lines not matching the search string';
$lang['CODE_SEARCH_CASE_INSENSITIVELY'] = 'Search case-insensitively';
$lang['CODE_SEARCH_RECURSIVELY'] = 'Search recursively to sub-directories';
$lang['CODE_SEARCH_IN_NAME'] = 'Search in file names';
$lang['CODE_SEARCH_IS_REGEX'] = 'Search string is a regular expression';
?>

View File

@ -6,5 +6,11 @@ $lang['CODE_PROPERTY'] = '속성';
$lang['CODE_MSG_COMMITTED_BY'] = '커밋터 %s';
$lang['CODE_MSG_COMMITTED_BY_ON'] = '커밋터 %s 시간 %s';
$lang['CODE_BAD_SEARCH_PATTERN'] = '검색패턴이 잘못되었습니다';
$lang['CODE_SEARCH_STRING'] = '검색어';
$lang['CODE_BAD_SEARCH_STRING'] = '잘못된 검색어입니다';
$lang['CODE_SEARCH_INVERTEDLY'] = '검색어가 포함되지 않은 라인을 보여줍니다';
$lang['CODE_SEARCH_CASE_INSENSITIVELY'] = '대소문자 구분없이 검색합니다';
$lang['CODE_SEARCH_RECURSIVELY'] = '서브디렉토리를 포함하여 검색합니다';
$lang['CODE_SEARCH_IN_NAME'] = '파일이름을 검색합니다';
$lang['CODE_SEARCH_IS_REGEX'] = '검색어가 정규식입니다';
?>

View File

@ -12,6 +12,10 @@
<script type="text/javascript" src="<?php print base_url_make('/js/prettify/lang-sql.js')?>"></script>
<script type="text/javascript" src="<?php print base_url_make('/js/prettify/lang-vb.js')?>"></script>
<script type="text/javascript" src="<?php print base_url_make('/js/jquery.min.js')?>"></script>
<script type="text/javascript" src="<?php print base_url_make('/js/jquery-ui.min.js')?>"></script>
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/jquery-ui.css')?>" />
<title><?php
if ($headpath == '')
printf ('%s', htmlspecialchars($project->name));

View File

@ -124,7 +124,6 @@ function show_loc_graph (response)
{
if (code_folder_mainarea_result_info_loc_graph_previous_point != item.datapoint)
{
code_folder_mainarea_result_info_loc_graph_previous_point = item.datapoint;
$("#code_folder_mainarea_result_info_loc_graph_tooltip").remove();
show_tooltip("code_folder_mainarea_result_info_loc_graph_tooltip", item.pageX, item.pageY - 20, item.datapoint[1]);
@ -204,11 +203,28 @@ function renderReadme()
"code_folder_mainarea_result_readme",
"<?php print site_url()?>/wiki/show/<?php print $project->id?>/",
"<?php print site_url()?>/wiki/attachment0/<?php print $project->id?>/"
);
);
prettyPrint();
<?php endif; ?>
}
function hookSearchSubmit()
{
$('#code_folder_search_form').submit (function(e) {
if ($.trim($("#code_folder_search_string").val()) === "")
{
e.preventDefault();
}
});
$('#code_search_invertedly').button();
$('#code_search_case_insensitively').button();
$('#code_search_recursively').button();
$('#code_search_in_name').button();
$('#code_search_is_regex').button();
$('.code_search_option').tooltip();
}
</script>
<title><?php
@ -219,7 +235,7 @@ function renderReadme()
?></title>
</head>
<body onload="renderReadme()">
<body onload="hookSearchSubmit(); renderReadme();">
<div class="content" id="code_folder_content">
@ -282,31 +298,102 @@ $this->load->view (
<div class="infostrip" id="code_folder_mainarea_infostrip">
<?php if (CODEPOT_SIGNIN_FOR_CODE_SEARCH === FALSE || (isset($login['id']) && $login['id'] != '')): ?>
<?php print form_open("code/search/{$project->id}/", 'id="code_folder_search_form"')?>
<?php print form_hidden('search_folder', set_value('search_folder', $file['fullpath']), 'id="code_folder_search_folder"')?>
<?php print form_hidden('search_revision', set_value('search_revision', $revision), 'id="code_folder_search_revision"')?>
<?php print form_input('search_pattern', set_value('search_pattern', ''), 'id="code_folder_search_pattern"')?>
<?php print form_submit('search_submit', $this->lang->line('Search'), 'id="code_folder_search_submit"')?>
|
<?php endif; ?>
<?php
printf ('%s: %s', $this->lang->line('Revision'), $file['created_rev']);
if (!empty($file['created_tag']))
{
print ' ';
print ('<span class="left_arrow_indicator">');
print htmlspecialchars($file['created_tag']);
print ('</span>');
}
?>
<?php if ($file_count > 0): ?>
|
<a id="code_folder_mainarea_details_button" href='#'><?php print $this->lang->line('Details')?></a>
<?php endif; ?>
print form_open("code/search/{$project->id}/", 'id="code_folder_search_form"');
<?php print form_close()?>
if (CODEPOT_SIGNIN_FOR_CODE_SEARCH === FALSE || (isset($login['id']) && $login['id'] != ''))
{
print form_hidden('search_folder', set_value('search_folder', $file['fullpath']), 'id="code_folder_search_folder"');
print form_hidden('search_revision', set_value('search_revision', $revision), 'id="code_folder_search_revision"');
print form_input(array(
'name' => 'search_string',
'value' => set_value('search_string', ''),
'id' =>'code_folder_search_string',
'placeholder' => $this->lang->line('CODE_SEARCH_STRING')
));
print ' ';
print form_checkbox(array(
'name' => 'search_invertedly',
'id' => 'code_search_invertedly',
'class' => 'code_search_option',
'value' => 'Y',
'checked' => FALSE,
'title' => $this->lang->line('CODE_SEARCH_INVERTEDLY')
));
print form_label('v', 'code_search_invertedly',
array('class'=>'code_search_option', 'id'=>'code_search_invertedly_label')
);
print form_checkbox(array(
'name' => 'search_case_insensitively',
'id' => 'code_search_case_insensitively',
'class' => 'code_search_option',
'value' => 'Y',
'checked' => FALSE,
'title' => $this->lang->line('CODE_SEARCH_CASE_INSENSITIVELY')
));
print form_label('i', 'code_search_case_insensitively',
array('class'=>'code_search_option', 'id'=>'code_search_case_insensitively_label')
);
print form_checkbox(array(
'name' => 'search_recursively',
'id' => 'code_search_recursively',
'class' => 'code_search_option',
'value' => 'Y',
'checked' => TRUE,
'title' => $this->lang->line('CODE_SEARCH_RECURSIVELY')
));
print form_label('r', 'code_search_recursively',
array('class'=>'code_search_option', 'id'=>'code_search_recursively_label')
);
print form_checkbox(array(
'name' => 'search_in_name',
'id' => 'code_search_in_name',
'class' => 'code_search_option',
'value' => 'Y',
'checked' => FALSE,
'title' => $this->lang->line('CODE_SEARCH_IN_NAME')
));
print form_label('n', 'code_search_in_name',
array('class'=>'code_search_option', 'id'=>'code_search_in_name_label')
);
print form_checkbox(array(
'name' => 'search_is_regex',
'id' => 'code_search_is_regex',
'class' => 'code_search_option',
'value' => 'Y',
'checked' => FALSE,
'title' => $this->lang->line('CODE_SEARCH_IS_REGEX')
));
print form_label('x', 'code_search_is_regex',
array('class'=>'code_search_option', 'id'=>'code_search_is_regex_label')
);
print ' ';
print form_submit('search_submit', $this->lang->line('Search'), 'id="code_folder_search_submit"');
print ' | ';
}
printf ('%s: %s', $this->lang->line('Revision'), $file['created_rev']);
if (!empty($file['created_tag']))
{
print ' ';
printf ('<span class="left_arrow_indicator">%s</span>', htmlspecialchars($file['created_tag']));
}
if ($file_count > 0)
{
print ' | ';
printf ('<a id="code_folder_mainarea_details_button" href="#">%s</a>', $this->lang->line('Details'));
}
print form_close();
?>
</div>
<div class="result" id="code_folder_mainarea_result">
@ -321,7 +408,7 @@ $this->load->view (
if ($a['type'] == $b['type'])
{
return strcasecmp ($a['name'], $b['name']);
}
}
return ($a['type'] == 'dir')? -1: 1;
}
@ -452,7 +539,7 @@ $this->load->view (
print '<div id="code_folder_mainarea_result_readme">';
print '<pre id="code_folder_mainarea_result_readme_text">';
print "\n";
print htmlspecialchars($readme_text);
print htmlspecialchars($readme_text);
print "\n";
print '</pre>';
print '</div>';
@ -508,7 +595,6 @@ $this->load->view (
</div> <!-- code_folder_mainarea -->
<!-- ================================================================== -->
<?php $this->load->view ('footer'); ?>

View File

@ -6,6 +6,10 @@
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/common.css')?>" />
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/code.css')?>" />
<script type="text/javascript" src="<?php print base_url_make('/js/jquery.min.js')?>"></script>
<script type="text/javascript" src="<?php print base_url_make('/js/jquery-ui.min.js')?>"></script>
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/jquery-ui.css')?>" />
<title><?php
if ($fullpath == '')
printf ('%s', htmlspecialchars($project->name));

View File

@ -8,10 +8,35 @@
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/common.css')?>" />
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/code.css')?>" />
<script type="text/javascript" src="<?php print base_url_make('/js/prettify/prettify.js')?>"></script>
<script type="text/javascript" src="<?php print base_url_make('/js/prettify/lang-css.js')?>"></script>
<script type="text/javascript" src="<?php print base_url_make('/js/prettify/lang-lisp.js')?>"></script>
<script type="text/javascript" src="<?php print base_url_make('/js/prettify/lang-lua.js')?>"></script>
<script type="text/javascript" src="<?php print base_url_make('/js/prettify/lang-sql.js')?>"></script>
<script type="text/javascript" src="<?php print base_url_make('/js/prettify/lang-vb.js')?>"></script>
<script type="text/javascript" src="<?php print base_url_make('/js/jquery.min.js')?>"></script>
<script type="text/javascript" src="<?php print base_url_make('/js/jquery-ui.min.js')?>"></script>
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/jquery-ui.css')?>" />
<script>
function hookSearchSubmit()
{
$('#code_search_search_form').submit (function(e) {
if ($.trim($("#code_search_search_string").val()) === "")
{
e.preventDefault();
}
});
$('#code_search_invertedly').button();
$('#code_search_case_insensitively').button();
$('#code_search_recursively').button();
$('#code_search_in_name').button();
$('#code_search_is_regex').button();
$('.code_search_option').tooltip();
}
</script>
<?php
$file_count = count($file['content']);
?>
@ -24,7 +49,7 @@
?></title>
</head>
<body>
<body onload="hookSearchSubmit(); prettyPrint()">
<div class="content" id="code_search_content">
@ -96,22 +121,91 @@ $this->load->view (
?>
</div>
<div class="infostrip" id="code_search_mainarea_infostrip">
<?php print form_open("code/search/{$project->id}/", 'id="code_search_search_form"')?>
<?php print form_hidden ('search_folder', set_value('search_folder', $file['fullpath']), 'id="code_search_search_folder"')?>
<?php print form_hidden ('search_revision', set_value('search_revision', $revision), 'id="code_search_search_revision"')?>
<?php print form_input ('search_pattern', set_value('search_pattern', ''), 'id="code_search_search_pattern"')?>
<?php print form_submit ('search_submit', $this->lang->line('Search'), 'id="code_search_search_submit"')?>
|
<?php print $this->lang->line('Revision')?>: <?php print $file['created_rev']?>
<?php print form_close()?>
<?php
print form_open("code/search/{$project->id}/", 'id="code_search_search_form"');
print form_hidden ('search_folder', set_value('search_folder', $file['fullpath']), 'id="code_search_search_folder"');
print form_hidden ('search_revision', set_value('search_revision', $revision), 'id="code_search_search_revision"');
print form_input(array(
'name' => 'search_string',
'value' => set_value('search_string', ''),
'id' =>'code_search_search_string',
'placeholder' => $this->lang->line('CODE_SEARCH_STRING')
));
print form_checkbox(array(
'name' => 'search_invertedly',
'id' => 'code_search_invertedly',
'class' => 'code_search_option',
'value' => 'Y',
'checked' => ($invertedly == 'Y'),
'title' => $this->lang->line('CODE_SEARCH_INVERTEDLY')
));
print form_label('v', 'code_search_invertedly',
array('class'=>'code_search_option', 'id'=>'code_search_invertedly_label')
);
print form_checkbox(array(
'name' => 'search_case_insensitively',
'id' => 'code_search_case_insensitively',
'class' => 'code_search_option',
'value' => 'Y',
'checked' => ($case_insensitively == 'Y'),
'title' => $this->lang->line('CODE_SEARCH_CASE_INSENSITIVELY')
));
print form_label('i', 'code_search_case_insensitively',
array('class'=>'code_search_option', 'id'=>'code_search_case_insensitively_label')
);
print form_checkbox(array(
'name' => 'search_recursively',
'id' => 'code_search_recursively',
'class' => 'code_search_option',
'value' => 'Y',
'checked' => ($recursively == 'Y'),
'title' => $this->lang->line('CODE_SEARCH_RECURSIVELY')
));
print form_label('r', 'code_search_recursively',
array('class'=>'code_search_option', 'id'=>'code_search_recursively_label')
);
print form_checkbox(array(
'name' => 'search_in_name',
'id' => 'code_search_in_name',
'class' => 'code_search_option',
'value' => 'Y',
'checked' => ($in_name == 'Y'),
'title' => $this->lang->line('CODE_SEARCH_IN_NAME')
));
print form_label('n', 'code_search_in_name',
array('class'=>'code_search_option', 'id'=>'code_search_in_name_label')
);
print form_checkbox(array(
'name' => 'search_is_regex',
'id' => 'code_search_is_regex',
'class' => 'code_search_option',
'value' => 'Y',
'checked' => ($is_regex == 'Y'),
'title' => $this->lang->line('CODE_SEARCH_IS_REGEX')
));
print form_label('x', 'code_search_is_regex',
array('class'=>'code_search_option', 'id'=>'code_search_is_regex_label')
);
print ' ';
print form_submit ('search_submit', $this->lang->line('Search'), 'id="code_search_search_submit"');
print ' | ';
printf ('%s: %s', $this->lang->line('Revision'), $file['created_rev']);
print form_close();
?>
</div>
<div id="code_search_mainarea_result">
<div id="code_search_mainarea_result" class="result">
<?php
function search_and_show ($controller, $project, $path, $revision, $pattern, $recurse)
// this searching part should have been placed in SubversionModel.
function search_and_show ($controller, $project, $path, $revision, $pattern, $invertedly, $case_insensitively, $is_regex, $recurse, $in_name)
{
//$file = $controller->subversion->getFile ($project->id, $path, $revision);
//if ($file['type'] == 'file') return;
@ -122,9 +216,9 @@ function search_and_show ($controller, $project, $path, $revision, $pattern, $re
{
$path = array_shift ($dirarray);
$file = $controller->subversion->getFile ($project->id, $path, $revision);
if ($file === FALSE || $file['type'] == 'file') continue;;
if ($file === FALSE || $file['type'] == 'file') continue;
// search in a directory.
// search in a directory.
$file_list = $file['content'];
foreach ($file_list as $f)
{
@ -134,14 +228,24 @@ function search_and_show ($controller, $project, $path, $revision, $pattern, $re
{
if ($file2['type'] == 'file')
{
$lines = explode ("\n", $file2['content']);
//$matchkeys = preg_grep ("/{$pattern}/i", $lines, 0);
// TODO: allow regular expression
$escaped_pattern = preg_quote ($pattern, '/');
$matchlines = @preg_grep ("/{$pattern}/", $lines, 0);
if ($in_name)
{
$lines = array ($file2['name']);
}
else
{
$lines = explode("\n", $file2['content']);
}
$xpattern = $is_regex? $pattern: preg_quote ($pattern, '/');
$xflags = $invertedly? PREG_GREP_INVERT: 0;
$matchlines = $case_insensitively?
@preg_grep ("/{$xpattern}/i", $lines, $xflags):
@preg_grep ("/{$xpattern}/", $lines, $xflags);
if ($matchlines === FALSE)
{
print $controller->lang->line('CODE_BAD_SEARCH_PATTERN');
print $controller->lang->line('CODE_BAD_SEARCH_STRING');
return;
}
else if (count($matchlines) > 0)
@ -157,27 +261,38 @@ function search_and_show ($controller, $project, $path, $revision, $pattern, $re
$revreq = "/{$file2['created_rev']}";
$revreqroot = '/' . $controller->converter->AsciiToHex ('.') . $revreq;
}
print '<li>';
print '<div class="code_search_result">';
print '<div class="title">';
print anchor (
"code/file/{$project->id}/{$hexpath}{$revreq}",
htmlspecialchars($fullpath));
print '<pre>';
foreach ($matchlines as $linenum => $line)
print '</div>';
print '<pre class="prettyprint">';
if ($in_name)
{
printf ('% 6d: ', $linenum);
print htmlspecialchars($line);
print "\n";
print htmlspecialchars($file2['name']);
}
else
{
foreach ($matchlines as $linenum => $line)
{
printf ('% 6d: ', $linenum);
print htmlspecialchars($line);
print "\n";
}
}
print '</pre>';
print '</li>';
print '</div>';
}
}
else
{
if ($recurse && count($file2['content']) > 0)
{
array_push ($dirarray, $fullpath);
@ -193,7 +308,7 @@ function search_and_show ($controller, $project, $path, $revision, $pattern, $re
if (CODEPOT_ALLOW_SET_TIME_LIMIT) set_time_limit (0);
// TODO: prevent recursion to subdirectories depending on input
search_and_show ($this, $project, $file['fullpath'], $revision, $pattern, TRUE);
search_and_show ($this, $project, $file['fullpath'], $revision, $pattern, $invertedly, $case_insensitively, $is_regex, $recursively, $in_name);
?>
</div> <!-- code_search_mainarea_result -->

View File

@ -6,6 +6,10 @@
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/common.css')?>" />
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/file.css')?>" />
<script type="text/javascript" src="<?php print base_url_make('/js/jquery.min.js')?>"></script>
<script type="text/javascript" src="<?php print base_url_make('/js/jquery-ui.min.js')?>"></script>
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/jquery-ui.css')?>" />
<title><title><?php print htmlspecialchars($file->name)?></title></title>
</head>

View File

@ -8,6 +8,10 @@
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/common.css')?>" />
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/file.css')?>" />
<script type="text/javascript" src="<?php print base_url_make('/js/jquery.min.js')?>"></script>
<script type="text/javascript" src="<?php print base_url_make('/js/jquery-ui.min.js')?>"></script>
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/jquery-ui.css')?>" />
<title><?php print htmlspecialchars($project->name)?></title>
</head>

View File

@ -3,6 +3,11 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/common.css')?>" />
<script type="text/javascript" src="<?php print base_url_make('/js/jquery.min.js')?>"></script>
<script type="text/javascript" src="<?php print base_url_make('/js/jquery-ui.min.js')?>"></script>
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/jquery-ui.css')?>" />
</head>
<body>

View File

@ -7,6 +7,10 @@
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/common.css')?>" />
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/project.css')?>" />
<script type="text/javascript" src="<?php print base_url_make('/js/jquery.min.js')?>"></script>
<script type="text/javascript" src="<?php print base_url_make('/js/jquery-ui.min.js')?>"></script>
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/jquery-ui.css')?>" />
<title><?php print htmlspecialchars($project->name)?></title>
</head>

View File

@ -6,6 +6,10 @@
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/common.css')?>" />
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/site.css')?>" />
<script type="text/javascript" src="<?php print base_url_make('/js/jquery.min.js')?>"></script>
<script type="text/javascript" src="<?php print base_url_make('/js/jquery-ui.min.js')?>"></script>
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/jquery-ui.css')?>" />
<title><?php print htmlspecialchars($this->lang->line('Administration'))?></title>
</head>

View File

@ -6,6 +6,11 @@
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/common.css')?>" />
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/site.css')?>" />
<script type="text/javascript" src="<?php print base_url_make('/js/jquery.min.js')?>"></script>
<script type="text/javascript" src="<?php print base_url_make('/js/jquery-ui.min.js')?>"></script>
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/jquery-ui.css')?>" />
<title><?php print htmlspecialchars($site->name)?></title>
</head>

View File

@ -15,6 +15,10 @@
<script type="text/javascript" src="<?php print base_url_make('/js/prettify/lang-sql.js')?>"></script>
<script type="text/javascript" src="<?php print base_url_make('/js/prettify/lang-vb.js')?>"></script>
<script type="text/javascript" src="<?php print base_url_make('/js/jquery.min.js')?>"></script>
<script type="text/javascript" src="<?php print base_url_make('/js/jquery-ui.min.js')?>"></script>
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/jquery-ui.css')?>" />
<script type="text/javascript">
function render_wiki()
{

View File

@ -120,6 +120,9 @@ function show_taskbar ($con, $login)
print '<li>';
print anchor ('project/catalog', $con->lang->line('Projects'));
print '</li>';
print '<li>';
print " <input id='taskbar_project_to_find' placeholder='Project ID'>";
print '</li>';
if ($login['sysadmin?'])
{
print '<li>';
@ -134,8 +137,9 @@ function show_taskbar ($con, $login)
?>
<script type="text/javascript">
/*
$(function () {
/*
$("#taskbar_signin_form_panel").hide();
btn_label = "<?php print $this->lang->line('Sign in')?>";
@ -150,8 +154,20 @@ $(function () {
}
});
$("#taskbar_signin_ok_button").button();
}); */
$("#taskbar_signin_ok_button").button();*/
$("#taskbar_project_to_find").autocomplete({
source: "search.php",
minLength: 2,
select: function( event, ui ) {
/* TODO: move to the project page */
/*log( ui.item ?
"Selected: " + ui.item.value + " aka " + ui.item.id :
"Nothing selected, input was " + this.value );*/
}
});
});
</script>
<?php

View File

@ -6,6 +6,10 @@
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/common.css')?>" />
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/wiki.css')?>" />
<script type="text/javascript" src="<?php print base_url_make('/js/jquery.min.js')?>"></script>
<script type="text/javascript" src="<?php print base_url_make('/js/jquery-ui.min.js')?>"></script>
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/jquery-ui.css')?>" />
<title><title><?php print htmlspecialchars($wiki->name)?></title></title>
</head>

View File

@ -8,6 +8,10 @@
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/common.css')?>" />
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/wiki.css')?>" />
<script type="text/javascript" src="<?php print base_url_make('/js/jquery.min.js')?>"></script>
<script type="text/javascript" src="<?php print base_url_make('/js/jquery-ui.min.js')?>"></script>
<link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/jquery-ui.css')?>" />
<title><?php print htmlspecialchars($project->name)?></title>
</head>

View File

@ -465,3 +465,105 @@
font-weight: bold;
background-color: black;
}
/*-----------------------------------------------
* project source search view (including folder view)
*-----------------------------------------------*/
/*
label.code_search_option {
display: inline-block;
cursor: pointer;
position: relative;
font-size: 13px;
margin-left: 9px;
margin-right: 9px;
}
label.code_search_option:before {
content:"";
display: inline-block;
width: 16px;
height: 16px;
margin-right: 10px;
position: absolute;
left: 0;
top: 0;
background-color: #aaa;
box-shadow: inset 0px 2px 3px 0px rgba(0, 0, 0, .3), 0px 1px 0px 0px rgba(255, 255, 255, .8);
border-radius: 3px;
}
input[type=checkbox].code_search_option {
display: none;
}
input[type=checkbox].code_search_option:checked + label:before {
content:"\2713";
text-shadow: 1px 1px 1px rgba(0, 0, 0, .2);
font-size: 15px;
color: #f3f3f3;
text-align: center;
line-height: 15px;
}
#code_search_invertedly:checked + label:before {
content: "v";
}
#code_search_case_insensitively:checked + label:before {
content: "i";
}
#code_search_recursively:checked + label:before {
content: "r";
}
#code_search_is_regex:checked + label:before {
content: "x";
}
#code_folder_search_submit {
margin-left: 0.5em;
}
#code_search_search_submit {
margin-left: 0.5em;
} */
#code_search_invertedly_label .ui-button-text {
padding-left: 0.5em;
padding-right: 0.5em;
width: 1em;
margin: 0;
}
#code_search_case_insensitively_label .ui-button-text {
padding-left: 0.5em;
padding-right: 0.5em;
width: 1em;
margin: 0;
}
#code_search_recursively_label .ui-button-text {
padding-left: 0.5em;
padding-right: 0.5em;
width: 1em;
margin: 0;
}
#code_search_in_name_label .ui-button-text {
padding-left: 0.5em;
padding-right: 0.5em;
width: 1em;
margin: 0;
}
#code_search_is_regex_label .ui-button-text {
padding-left: 0.5em;
padding-right: 0.5em;
width: 1em;
margin: 0;
}

View File

@ -195,8 +195,7 @@ body {
/*margin: 0.1em 0em 0em 0em;*/
padding: 0.5em 0.5em 0.5em 0.5em;
color: #FFFFFF;
/* background-color: #4665A2;*/
background-color: #0D7A13;
background-color: #4665A2;
background-image: url("images/three-d.png");
background-repeat: repeat;
}

View File

@ -53,6 +53,18 @@ www_DATA = \
ui-icons_666666_256x240.png \
ui-icons_ff0084_256x240.png \
ui-icons_ffffff_256x240.png \
ui-bg_gloss-wave_35_f6a828_500x100.png \
ui-bg_flat_10_000000_40x100.png \
ui-bg_diagonals-thick_20_666666_40x40.png \
ui-bg_diagonals-thick_18_b81900_40x40.png \
ui-bg_highlight-soft_75_ffe45c_1x100.png \
ui-bg_highlight-soft_100_eeeeee_1x100.png \
ui-bg_glass_100_fdf5ce_1x400.png \
ui-bg_glass_100_f6f6f6_1x400.png \
ui-icons_ffd27a_256x240.png \
ui-icons_ef8c08_256x240.png \
ui-icons_228ef1_256x240.png \
ui-icons_222222_256x240.png \
up.png \
username.png

View File

@ -252,6 +252,18 @@ www_DATA = \
ui-icons_666666_256x240.png \
ui-icons_ff0084_256x240.png \
ui-icons_ffffff_256x240.png \
ui-bg_gloss-wave_35_f6a828_500x100.png \
ui-bg_flat_10_000000_40x100.png \
ui-bg_diagonals-thick_20_666666_40x40.png \
ui-bg_diagonals-thick_18_b81900_40x40.png \
ui-bg_highlight-soft_75_ffe45c_1x100.png \
ui-bg_highlight-soft_100_eeeeee_1x100.png \
ui-bg_glass_100_fdf5ce_1x400.png \
ui-bg_glass_100_f6f6f6_1x400.png \
ui-icons_ffd27a_256x240.png \
ui-icons_ef8c08_256x240.png \
ui-icons_228ef1_256x240.png \
ui-icons_222222_256x240.png \
up.png \
username.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 418 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 348 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 B

After

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@ -1,20 +1,17 @@
/*
* jQuery UI CSS Framework
* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
*/
/*! jQuery UI - v1.9.2 - 2015-04-15
* http://jqueryui.com
* Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css, jquery.ui.theme.css
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=gloss_wave&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=highlight_soft&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=glass&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=glass&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=diagonals_thick&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=diagonals_thick&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=flat&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px
* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */
/* Layout helpers
----------------------------------*/
.ui-helper-hidden { display: none; }
.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
.ui-helper-hidden-accessible { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.ui-helper-clearfix { display: inline-block; }
/* required comment for clearfix to work in Opera \*/
* html .ui-helper-clearfix { height:1%; }
.ui-helper-clearfix { display:block; }
/* end clearfix */
.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; }
.ui-helper-clearfix:after { clear: both; }
.ui-helper-clearfix { zoom: 1; }
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
@ -35,58 +32,244 @@
/* Overlays */
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.ui-resizable { position: relative;}
.ui-resizable-handle { position: absolute;font-size: 0.1px; display: block; }
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
.ui-accordion .ui-accordion-header { display: block; cursor: pointer; position: relative; margin-top: 2px; padding: .5em .5em .5em .7em; zoom: 1; }
.ui-accordion .ui-accordion-icons { padding-left: 2.2em; }
.ui-accordion .ui-accordion-noicons { padding-left: .7em; }
.ui-accordion .ui-accordion-icons .ui-accordion-icons { padding-left: 2.2em; }
.ui-accordion .ui-accordion-header .ui-accordion-header-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; overflow: auto; zoom: 1; }
.ui-autocomplete {
position: absolute;
top: 0;
left: 0;
cursor: default;
}
/* workarounds */
* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
.ui-button, .ui-button:link, .ui-button:visited, .ui-button:hover, .ui-button:active { text-decoration: none; }
.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
.ui-button-icons-only { width: 3.4em; }
button.ui-button-icons-only { width: 3.7em; }
/*
* jQuery UI CSS Framework
* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
*/
/*button text element */
.ui-button .ui-button-text { display: block; line-height: 1.4; }
.ui-button-text-only .ui-button-text { padding: .4em 1em; }
.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
/* no icon support for input elements, provide padding by default */
input.ui-button { padding: .4em 1em; }
/*button icon element(s) */
.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
/*button sets*/
.ui-buttonset { margin-right: 7px; }
.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
/* workarounds */
button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
.ui-datepicker .ui-datepicker-prev { left:2px; }
.ui-datepicker .ui-datepicker-next { right:2px; }
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year { width: 49%;}
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
.ui-datepicker td { border: 0; padding: 1px; }
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi { width:auto; }
.ui-datepicker-multi .ui-datepicker-group { float:left; }
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
/* RTL support */
.ui-datepicker-rtl { direction: rtl; }
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
.ui-datepicker-cover {
position: absolute; /*must have*/
z-index: -1; /*must have*/
filter: mask(); /*must have*/
top: -4px; /*must have*/
left: -4px; /*must have*/
width: 200px; /*must have*/
height: 200px; /*must have*/
}.ui-dialog { position: absolute; top: 0; left: 0; padding: .2em; width: 300px; overflow: hidden; }
.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; }
.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
.ui-draggable .ui-dialog-titlebar { cursor: move; }
.ui-menu { list-style:none; padding: 2px; margin: 0; display:block; outline: none; }
.ui-menu .ui-menu { margin-top: -3px; position: absolute; }
.ui-menu .ui-menu-item { margin: 0; padding: 0; zoom: 1; width: 100%; }
.ui-menu .ui-menu-divider { margin: 5px -2px 5px -2px; height: 0; font-size: 0; line-height: 0; border-width: 1px 0 0 0; }
.ui-menu .ui-menu-item a { text-decoration: none; display: block; padding: 2px .4em; line-height: 1.5; zoom: 1; font-weight: normal; }
.ui-menu .ui-menu-item a.ui-state-focus,
.ui-menu .ui-menu-item a.ui-state-active { font-weight: normal; margin: -1px; }
.ui-menu .ui-state-disabled { font-weight: normal; margin: .4em 0 .2em; line-height: 1.5; }
.ui-menu .ui-state-disabled a { cursor: default; }
/* icon support */
.ui-menu-icons { position: relative; }
.ui-menu-icons .ui-menu-item a { position: relative; padding-left: 2em; }
/* left-aligned */
.ui-menu .ui-icon { position: absolute; top: .2em; left: .2em; }
/* right-aligned */
.ui-menu .ui-menu-icon { position: static; float: right; }
.ui-progressbar { height:2em; text-align: left; overflow: hidden; }
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }.ui-slider { position: relative; text-align: left; }
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
.ui-slider-horizontal { height: .8em; }
.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
.ui-slider-vertical { width: .8em; height: 100px; }
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
.ui-slider-vertical .ui-slider-range-max { top: 0; }.ui-spinner { position:relative; display: inline-block; overflow: hidden; padding: 0; vertical-align: middle; }
.ui-spinner-input { border: none; background: none; padding: 0; margin: .2em 0; vertical-align: middle; margin-left: .4em; margin-right: 22px; }
.ui-spinner-button { width: 16px; height: 50%; font-size: .5em; padding: 0; margin: 0; text-align: center; position: absolute; cursor: default; display: block; overflow: hidden; right: 0; }
.ui-spinner a.ui-spinner-button { border-top: none; border-bottom: none; border-right: none; } /* more specificity required here to overide default borders */
.ui-spinner .ui-icon { position: absolute; margin-top: -8px; top: 50%; left: 0; } /* vertical centre icon */
.ui-spinner-up { top: 0; }
.ui-spinner-down { bottom: 0; }
/* TR overrides */
.ui-spinner .ui-icon-triangle-1-s {
/* need to fix icons sprite */
background-position:-65px -16px;
}
.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 0; margin: 1px .2em 0 0; border-bottom: 0; padding: 0; white-space: nowrap; }
.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
.ui-tabs .ui-tabs-nav li.ui-tabs-active { margin-bottom: -1px; padding-bottom: 1px; }
.ui-tabs .ui-tabs-nav li.ui-tabs-active a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-tabs-loading a { cursor: text; }
.ui-tabs .ui-tabs-nav li a, .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
.ui-tooltip {
padding: 8px;
position: absolute;
z-index: 9999;
max-width: 300px;
-webkit-box-shadow: 0 0 5px #aaa;
box-shadow: 0 0 5px #aaa;
}
/* Fades and background-images don't work well together in IE6, drop the image */
* html .ui-tooltip {
background-image: none;
}
body .ui-tooltip { border-width: 2px; }
/* Component containers
----------------------------------*/
.ui-widget { }
.ui-widget .ui-widget { }
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { }
.ui-widget-content { border: 1px solid #dddddd; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #444444; }
.ui-widget-content a { color: #444444; }
.ui-widget-header { border: 1px solid #dddddd; background: #dddddd url(images/ui-bg_highlight-soft_50_dddddd_1x100.png) 50% 50% repeat-x; color: #444444; font-weight: bold; }
.ui-widget-header a { color: #444444; }
.ui-widget { font-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif; font-size: 0.9em; }
.ui-widget .ui-widget { font-size: 0.8em; }
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif; font-size: 0.8em; }
.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url("images/ui-bg_highlight-soft_100_eeeeee_1x100.png") 50% top repeat-x; color: #333333; }
.ui-widget-content a { color: #333333; }
.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url("images/ui-bg_gloss-wave_35_f6a828_500x100.png") 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
.ui-widget-header a { color: #ffffff; }
/* Interaction states
----------------------------------*/
.ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #dddddd; background: #f6f6f6 url(images/ui-bg_highlight-soft_100_f6f6f6_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #0073ea; }
ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #0073ea; text-decoration: none; }
/*.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #0073ea; background: #0073ea url(images/ui-bg_highlight-soft_25_0073ea_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #ffffff; }*/
.ui-state-hover a, .ui-state-hover a:hover { color: #ffffff; text-decoration: none; }
.ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #dddddd; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; }
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url("images/ui-bg_glass_100_f6f6f6_1x400.png") 50% 50% repeat-x; font-weight: bold; color: #1c94c4; }
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; }
/*.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url("images/ui-bg_glass_100_fdf5ce_1x400.png") 50% 50% repeat-x; font-weight: bold; color: #c77405; }
.ui-state-hover a, .ui-state-hover a:hover, .ui-state-hover a:link, .ui-state-hover a:visited { color: #c77405; text-decoration: none; }
*/
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x; font-weight: bold; color: #eb8f00; }
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; text-decoration: none; }
.ui-widget :active { outline: none; }
/* Interaction Cues
----------------------------------*/
.ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #cccccc; background: #ffffff url(images/ui-bg_flat_55_ffffff_40x100.png) 50% 50% repeat-x; color: #444444; }
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color: #444444; }
.ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #eb8f00; background: #ffffff url(images/ui-bg_flat_55_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
.ui-state-error a, .ui-widget-content .ui-state-error a { color: #222222; }
.ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #222222; }
.ui-priority-primary, .ui-widget-content .ui-priority-primary { font-weight: bold; }
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
.ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url("images/ui-bg_highlight-soft_75_ffe45c_1x100.png") 50% top repeat-x; color: #363636; }
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url("images/ui-bg_diagonals-thick_18_b81900_40x40.png") 50% 50% repeat; color: #ffffff; }
.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; }
.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; }
.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
.ui-state-disabled .ui-icon { filter:Alpha(Opacity=35); } /* For IE8 - See #6059 */
/* Icons
----------------------------------*/
/* states and images */
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_ff0084_256x240.png); }
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_ff0084_256x240.png); }
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_0073ea_256x240.png); }
.ui-state-default .ui-icon { background-image: url(images/ui-icons_666666_256x240.png); }
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_0073ea_256x240.png); }
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ff0084_256x240.png); }
.ui-icon { width: 16px; height: 16px; background-image: url("images/ui-icons_222222_256x240.png"); }
.ui-widget-content .ui-icon {background-image: url("images/ui-icons_222222_256x240.png"); }
.ui-widget-header .ui-icon {background-image: url("images/ui-icons_ffffff_256x240.png"); }
.ui-state-default .ui-icon { background-image: url("images/ui-icons_ef8c08_256x240.png"); }
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url("images/ui-icons_ef8c08_256x240.png"); }
.ui-state-active .ui-icon {background-image: url("images/ui-icons_ef8c08_256x240.png"); }
.ui-state-highlight .ui-icon {background-image: url("images/ui-icons_228ef1_256x240.png"); }
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url("images/ui-icons_ffd27a_256x240.png"); }
/* positioning */
.ui-icon-carat-1-n { background-position: 0 0; }
@ -215,8 +398,8 @@ ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { colo
.ui-icon-help { background-position: -48px -144px; }
.ui-icon-check { background-position: -64px -144px; }
.ui-icon-bullet { background-position: -80px -144px; }
.ui-icon-radio-off { background-position: -96px -144px; }
.ui-icon-radio-on { background-position: -112px -144px; }
.ui-icon-radio-on { background-position: -96px -144px; }
.ui-icon-radio-off { background-position: -112px -144px; }
.ui-icon-pin-w { background-position: -128px -144px; }
.ui-icon-pin-s { background-position: -144px -144px; }
.ui-icon-play { background-position: 0 -160px; }
@ -270,216 +453,11 @@ ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { colo
----------------------------------*/
/* Corner radius */
.ui-corner-tl { -moz-border-radius-topleft: 2px; -webkit-border-top-left-radius: 2px; border-top-left-radius: 2px; }
.ui-corner-tr { -moz-border-radius-topright: 2px; -webkit-border-top-right-radius: 2px; border-top-right-radius: 2px; }
.ui-corner-bl { -moz-border-radius-bottomleft: 2px; -webkit-border-bottom-left-radius: 2px; border-bottom-left-radius: 2px; }
.ui-corner-br { -moz-border-radius-bottomright: 2px; -webkit-border-bottom-right-radius: 2px; border-bottom-right-radius: 2px; }
.ui-corner-top { -moz-border-radius-topleft: 2px; -webkit-border-top-left-radius: 2px; border-top-left-radius: 2px; -moz-border-radius-topright: 2px; -webkit-border-top-right-radius: 2px; border-top-right-radius: 2px; }
.ui-corner-bottom { -moz-border-radius-bottomleft: 2px; -webkit-border-bottom-left-radius: 2px; border-bottom-left-radius: 2px; -moz-border-radius-bottomright: 2px; -webkit-border-bottom-right-radius: 2px; border-bottom-right-radius: 2px; }
.ui-corner-right { -moz-border-radius-topright: 2px; -webkit-border-top-right-radius: 2px; border-top-right-radius: 2px; -moz-border-radius-bottomright: 2px; -webkit-border-bottom-right-radius: 2px; border-bottom-right-radius: 2px; }
.ui-corner-left { -moz-border-radius-topleft: 2px; -webkit-border-top-left-radius: 2px; border-top-left-radius: 2px; -moz-border-radius-bottomleft: 2px; -webkit-border-bottom-left-radius: 2px; border-bottom-left-radius: 2px; }
.ui-corner-all { -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; }
.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; }
.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; }
.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
/* Overlays */
.ui-widget-overlay { background: #eeeeee url(images/ui-bg_flat_0_eeeeee_40x100.png) 50% 50% repeat-x; opacity: .80;filter:Alpha(Opacity=80); }
.ui-widget-shadow { margin: -4px 0 0 -4px; padding: 4px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .60;filter:Alpha(Opacity=60); -moz-border-radius: 0px; -webkit-border-radius: 0px; border-radius: 0px; }/* Resizable
----------------------------------*/
.ui-resizable { position: relative;}
.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* Accordion
----------------------------------*/
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
.ui-accordion .ui-accordion-li-fix { display: inline; }
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
.ui-accordion .ui-accordion-header a { display: block; padding: .5em .5em .5em .7em; }
.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
.ui-accordion .ui-accordion-content-active { display: block; }/* Autocomplete
----------------------------------*/
.ui-autocomplete { position: absolute; cursor: default; }
.ui-autocomplete-loading { background: white url('images/ui-anim_basic_16x16.gif') right center no-repeat; }
/* workarounds */
* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
/* Menu
----------------------------------*/
.ui-menu {
list-style:none;
padding: 2px;
margin: 0;
display:block;
}
.ui-menu .ui-menu {
margin-top: -3px;
}
.ui-menu .ui-menu-item {
margin:0;
padding: 0;
width: 100%;
}
.ui-menu .ui-menu-item a {
text-decoration:none;
display:block;
padding:.2em .4em;
line-height:1.5;
zoom:1;
}
.ui-menu .ui-menu-item a.ui-state-hover,
.ui-menu .ui-menu-item a.ui-state-active {
margin: -1px;
}
/* Button
----------------------------------*/
.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
.ui-button-icons-only { width: 3.4em; }
button.ui-button-icons-only { width: 3.7em; }
/*button text element */
.ui-button .ui-button-text { display: block; line-height: 1.4; }
//.ui-button-text-only .ui-button-text { padding: .4em 1em; }
.ui-button-text-only .ui-button-text { padding: .2em .5em; }
.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
//.ui-button-text-icon .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
.ui-button-text-icon .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .2em 1em .2em 2.1em; }
.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
/* no icon support for input elements, provide padding by default */
//input.ui-button { padding: .4em 1em; }
input.ui-button { padding: .2em .5em; }
/*button icon element(s) */
.ui-button-icon-only .ui-icon, .ui-button-text-icon .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
.ui-button-text-icon .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
/*button sets*/
.ui-buttonset { margin-right: 7px; }
.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
/* workarounds */
button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
/* Dialog
----------------------------------*/
.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
.ui-dialog .ui-dialog-titlebar { padding: .5em 1em .3em; position: relative; }
.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .2em 0; }
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .1em 1em .3em .4em; }
//.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; }
.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .5em .2em .5em; line-height: 1.4em; width:auto; overflow:visible; }
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
.ui-draggable .ui-dialog-titlebar { cursor: move; }
/* Slider
----------------------------------*/
.ui-slider { position: relative; text-align: left; }
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
.ui-slider-horizontal { height: .8em; }
.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
.ui-slider-vertical { width: .8em; height: 100px; }
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
.ui-slider-vertical .ui-slider-range-max { top: 0; }/* Tabs
----------------------------------*/
.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
.ui-tabs .ui-tabs-panel { display: block; border: 0; padding: 1em 1.4em; background: none; }
.ui-tabs .ui-tabs-hide { display: none !important; }
/* Datepicker
----------------------------------*/
.ui-datepicker { width: 17em; padding: .2em .2em 0; }
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
.ui-datepicker .ui-datepicker-prev { left:2px; }
.ui-datepicker .ui-datepicker-next { right:2px; }
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
.ui-datepicker .ui-datepicker-title select { margin:1px 0; }
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year { width: 49%;}
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
.ui-datepicker td { border: 0; padding: 1px; }
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi { width:auto; }
.ui-datepicker-multi .ui-datepicker-group { float:left; }
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
.ui-datepicker-row-break { clear:both; width:100%; }
/* RTL support */
.ui-datepicker-rtl { direction: rtl; }
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
.ui-datepicker-cover {
display: none; /*sorry for IE5*/
display/**/: block; /*sorry for IE5*/
position: absolute; /*must have*/
z-index: -1; /*must have*/
filter: mask(); /*must have*/
top: -4px; /*must have*/
left: -4px; /*must have*/
width: 200px; /*must have*/
height: 200px; /*must have*/
}/* Progressbar
----------------------------------*/
.ui-progressbar { height:2em; text-align: left; }
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
.ui-widget-overlay { background: #666666 url("images/ui-bg_diagonals-thick_20_666666_40x40.png") 50% 50% repeat; opacity: .5;filter:Alpha(Opacity=50); }
.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url("images/ui-bg_flat_10_000000_40x100.png") 50% 50% repeat-x; opacity: .2;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long