mirror of
http://git.whoc.org.uk/git/password-manager.git
synced 2025-10-29 02:17:36 +01:00
First version of the newly restructured repository
This commit is contained in:
3238
frontend/beta/css/clipperz/clipperz.css
Normal file
3238
frontend/beta/css/clipperz/clipperz.css
Normal file
File diff suppressed because one or more lines are too long
162
frontend/beta/css/clipperz/compact.css
Normal file
162
frontend/beta/css/clipperz/compact.css
Normal file
@@ -0,0 +1,162 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
/* @override https://www.example.com/css/compact.css */
|
||||
|
||||
body.compact div#mainDiv {
|
||||
/*
|
||||
width: 250px;
|
||||
height: 95%;
|
||||
border: 1px solid #333366;
|
||||
*/
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
body.compact div#compactHeader {
|
||||
background-color: #333366;
|
||||
}
|
||||
|
||||
body.compact div#compactHeader img {
|
||||
padding: 2px 20px 2px 4px;
|
||||
width: 60;
|
||||
}
|
||||
|
||||
body.compact div#compactHeader a {
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
font-size: 10pt;
|
||||
/* position: absolute; */
|
||||
right: 10px;
|
||||
top: 6px;
|
||||
}
|
||||
|
||||
body.compact div#compactHeader a:hover {
|
||||
color: #ff9400;
|
||||
}
|
||||
|
||||
body.compact h4 {
|
||||
color: #999999;
|
||||
text-align: center;
|
||||
padding: 20px;
|
||||
font-weight: normal;
|
||||
font-size: 12pt;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
body.compact div.loginPanel form {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
body.compact div.loginPanel dt {
|
||||
color: #aaaaaa;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
body.compact div.loginPanel input {
|
||||
width: 180px;
|
||||
}
|
||||
|
||||
body.compact ul#directLogins {
|
||||
background-image: none;
|
||||
padding: 4px 0px;
|
||||
}
|
||||
|
||||
body.compact ul#directLogins li {
|
||||
width:auto;
|
||||
}
|
||||
|
||||
body.compact ul#directLogins li.hover {
|
||||
width:auto;
|
||||
padding-right: 0px;
|
||||
}
|
||||
|
||||
body.compact div.lockPanel {
|
||||
color: #999999;
|
||||
font-size: 10pt;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
div#compactMiscLinks ul {
|
||||
/* text-align: center; */
|
||||
display: block;
|
||||
padding-left: 22px;
|
||||
background-color: #ff9400;
|
||||
}
|
||||
|
||||
div#compactMiscLinks ul li {
|
||||
display: inline;
|
||||
padding: 2px 5px;
|
||||
}
|
||||
|
||||
div#compactHeader div#compactMiscLinks ul li a {
|
||||
font-size: 9pt;
|
||||
}
|
||||
|
||||
div#compactHeader div#compactMiscLinks ul li a:hover {
|
||||
color: #333366;
|
||||
}
|
||||
|
||||
div#lockBlock {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 6px;
|
||||
}
|
||||
|
||||
div#lockBlock input {
|
||||
width: auto;
|
||||
padding-bottom: 2px;
|
||||
}
|
||||
|
||||
div#lockBlock span {
|
||||
font-size: 9pt;
|
||||
padding: 0px 5px 0px 4px;
|
||||
color: #aaaaaa;
|
||||
}
|
||||
|
||||
div#lockBlock a#lock {
|
||||
font-size: 9pt;
|
||||
}
|
||||
|
||||
/* @group Donate */
|
||||
|
||||
a#donateHeaderLink {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div#compactMiscLinks a#donateHeaderIconLink img#donateHeaderLinkIcon {
|
||||
display: inline;
|
||||
position: absolute;
|
||||
top: 22px;
|
||||
left: 1px;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* @end */
|
||||
351
frontend/beta/css/clipperz/ie.css
Normal file
351
frontend/beta/css/clipperz/ie.css
Normal file
File diff suppressed because one or more lines are too long
141
frontend/beta/css/clipperz/ytheme-clipperz.css
Normal file
141
frontend/beta/css/clipperz/ytheme-clipperz.css
Normal file
File diff suppressed because one or more lines are too long
250
frontend/beta/css/yui-extensions/basic-dialog.css
Normal file
250
frontend/beta/css/yui-extensions/basic-dialog.css
Normal file
@@ -0,0 +1,250 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
.ydlg-proxy {
|
||||
background-image: url(../images/default/gradient-bg.gif);
|
||||
background-color:#c3daf9;
|
||||
border:1px solid #6593cf;
|
||||
z-index:10001;
|
||||
overflow:hidden;
|
||||
position:absolute;
|
||||
left:0;top:0;
|
||||
}
|
||||
.ydlg-shadow{
|
||||
background:#aaaaaa;
|
||||
position:absolute;
|
||||
left:0;top:0;
|
||||
}
|
||||
.ydlg-focus{
|
||||
-moz-outline:0 none;
|
||||
outline:0 none;
|
||||
width:0;
|
||||
height:0;
|
||||
overflow:hidden;
|
||||
position:absolute;
|
||||
top:0;
|
||||
left:0;
|
||||
}
|
||||
.ydlg-mask{
|
||||
z-index:10000;
|
||||
display:none;
|
||||
position:absolute;
|
||||
top:0;
|
||||
left:0;
|
||||
-moz-opacity: 0.5;
|
||||
opacity:.50;
|
||||
filter: alpha(opacity=50);
|
||||
background-color:#CCC;
|
||||
}
|
||||
body.masked{
|
||||
}
|
||||
body.masked select {
|
||||
visibility:hidden;
|
||||
}
|
||||
body.masked .ydlg select {
|
||||
visibility:visible;
|
||||
}
|
||||
.ydlg{
|
||||
z-index:10001;
|
||||
overflow:hidden;
|
||||
position:absolute;
|
||||
left:300;top:0;
|
||||
}
|
||||
.yresizable-proxy{
|
||||
z-index:10002;
|
||||
}
|
||||
.ydlg .ydlg-hd {
|
||||
background: url(../images/default/basic-dialog/hd-sprite.gif) repeat-x 0 -82px;
|
||||
background-color:navy;
|
||||
color:#ffffff;
|
||||
font:bold 12px "sans serif", tahoma, verdana, helvetica;
|
||||
overflow:hidden;
|
||||
padding:5px;
|
||||
}
|
||||
.ydlg .ydlg-hd-left {
|
||||
background: url(../images/default/basic-dialog/hd-sprite.gif) no-repeat 0 -41px;
|
||||
padding-left:3px;
|
||||
margin:0px;
|
||||
}
|
||||
.ydlg .ydlg-hd-right {
|
||||
background: url(../images/default/basic-dialog/hd-sprite.gif) no-repeat right 0;
|
||||
padding-right:3px;
|
||||
}
|
||||
.ydlg .ydlg-dlg-body{
|
||||
background:url(../images/default/layout/gradient-bg.gif);
|
||||
border:1px solid #6593cf;
|
||||
border-top:0 none;
|
||||
padding:10px;
|
||||
overflow:hidden;
|
||||
}
|
||||
.ydlg .ydlg-bd{
|
||||
overflow:hidden;
|
||||
}
|
||||
.ydlg .ydlg-ft{
|
||||
overflow:hidden;
|
||||
padding:5px;
|
||||
padding-bottom:0;
|
||||
}
|
||||
.ydlg .yui-ext-tabbody{
|
||||
background:white;
|
||||
overflow:auto;
|
||||
}
|
||||
.ydlg .ytabs-top .yui-ext-tabbody{
|
||||
border:1px solid #6593cf;
|
||||
border-top:0 none;
|
||||
}
|
||||
.ydlg .ytabs-bottom .yui-ext-tabbody{
|
||||
border:1px solid #6593cf;
|
||||
border-bottom:0 none;
|
||||
}
|
||||
.ydlg .ylayout-container .yui-ext-tabbody{
|
||||
border:0 none;
|
||||
}
|
||||
.ydlg .inner-tab{
|
||||
margin:5px;
|
||||
}
|
||||
.ydlg .ydlg-ft .ybtn{
|
||||
margin-right:5px;
|
||||
float:right;
|
||||
clear:none;
|
||||
}
|
||||
.ydlg .ydlg-ft .ydlg-btns td {
|
||||
border:0;
|
||||
padding:0;
|
||||
}
|
||||
.ydlg .ydlg-ft .ydlg-btns-right table{
|
||||
float:right;
|
||||
clear:none;
|
||||
}
|
||||
.ydlg .ydlg-ft .ydlg-btns-left table{
|
||||
float:left;
|
||||
clear:none;
|
||||
}
|
||||
.ydlg .ydlg-ft .ydlg-btns-center{
|
||||
text-align:center; /*ie*/
|
||||
}
|
||||
.ydlg .ydlg-ft .ydlg-btns-center table{
|
||||
margin:0 auto; /*everyone else*/
|
||||
}
|
||||
.ydlg-draggable .ydlg-hd{
|
||||
cursor:move;
|
||||
}
|
||||
.ydlg-closable .ydlg-hd{
|
||||
padding-right:22px;
|
||||
}
|
||||
.ydlg .ydlg-close {
|
||||
position:absolute;
|
||||
top:4px;
|
||||
right:4px;
|
||||
z-index:6;
|
||||
height:15px;
|
||||
width:15px;
|
||||
margin:0;
|
||||
padding:0;
|
||||
line-height:1px;
|
||||
font-size:1px;
|
||||
background-repeat:no-repeat;
|
||||
cursor:pointer;
|
||||
visibility:inherit;
|
||||
background-image:url(../images/default/basic-dialog/close.gif);
|
||||
}
|
||||
.ydlg div.yresizable-handle-east{
|
||||
background-image:url(../images/default/sizer/e-handle-dark.gif);
|
||||
border:0;
|
||||
background-position:left;
|
||||
margin-right:0;
|
||||
}
|
||||
.ydlg div.yresizable-handle-south{
|
||||
background-image:url(../images/default/sizer/s-handle-dark.gif);
|
||||
border:0;
|
||||
height:6px;
|
||||
}
|
||||
.ydlg div.yresizable-handle-west{
|
||||
background-image:url(../images/default/sizer/e-handle-dark.gif);
|
||||
border:0;
|
||||
background-position:1px;
|
||||
}
|
||||
.ydlg div.yresizable-handle-north{
|
||||
background-image:url(../images/default/s.gif);
|
||||
border:0;
|
||||
}
|
||||
.ydlg div.yresizable-handle-northeast, .ytheme-gray .ydlg div.yresizable-handle-northeast{
|
||||
background-image:url(../images/default/s.gif);
|
||||
border:0;
|
||||
}
|
||||
.ydlg div.yresizable-handle-northwest, .ytheme-gray .ydlg div.yresizable-handle-northwest{
|
||||
background-image:url(../images/default/s.gif);
|
||||
border:0;
|
||||
}
|
||||
.ydlg div.yresizable-handle-southeast{
|
||||
background-image:url(../images/default/sizer/corners-sprite.gif);
|
||||
background-position: top left;
|
||||
width:8px;
|
||||
height:8px;
|
||||
border:0;
|
||||
}
|
||||
.ydlg div.yresizable-handle-southwest{
|
||||
background-image:url(../images/default/sizer/corners-sprite.gif);
|
||||
background-position: top right;
|
||||
margin-left:1px;
|
||||
margin-bottom:1px;
|
||||
border:0;
|
||||
}
|
||||
|
||||
#mb-dlg .ydlg-ft .ybtn{
|
||||
float:none;
|
||||
clear:none;
|
||||
margin:0 3px;
|
||||
}
|
||||
|
||||
#mb-dlg .ydlg-bd {
|
||||
padding:5px;
|
||||
overflow:hidden !important;
|
||||
}
|
||||
#mb-dlg .ext-mb-input {
|
||||
margin-top:4px;
|
||||
width:95%;
|
||||
}
|
||||
#mb-dlg .ext-mb-textarea {
|
||||
margin-top:4px;
|
||||
font:normal 13px verdana,tahoma,sans-serif;
|
||||
}
|
||||
#mb-dlg .ext-mb-progress-wrap {
|
||||
margin-top:4px;
|
||||
border:1px solid #6593cf;
|
||||
}
|
||||
#mb-dlg .ext-mb-progress {
|
||||
height:18px;
|
||||
background:transparent url(../images/default/basic-dialog/progress2.gif) repeat-x 1px 1px;
|
||||
}
|
||||
#mb-dlg .ext-mb-progress-bar {
|
||||
height:18px;
|
||||
overflow:hidden;
|
||||
width:0;
|
||||
background:#8bb8f3;
|
||||
}
|
||||
86
frontend/beta/css/yui-extensions/button.css
Normal file
86
frontend/beta/css/yui-extensions/button.css
Normal file
@@ -0,0 +1,86 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
.ybtn{
|
||||
font:normal 11px arial, tahoma, verdana, helvetica;
|
||||
cursor:pointer;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.ybtn-left, .ybtn-right{
|
||||
font-size:1px;
|
||||
line-height:1px;
|
||||
}
|
||||
.ybtn-left{
|
||||
width:3px;
|
||||
height:21px;
|
||||
background:url(../images/default/basic-dialog/btn-sprite.gif) no-repeat 0 0;
|
||||
}
|
||||
.ybtn-right{
|
||||
width:3px;
|
||||
height:21px;
|
||||
background:url(../images/default/basic-dialog/btn-sprite.gif) no-repeat 0 -21px;
|
||||
}
|
||||
.ybtn-focus{
|
||||
text-decoration:none !important;
|
||||
color:black !important;
|
||||
display: -moz-inline-block;
|
||||
display:inline-block;
|
||||
width:auto;
|
||||
position:relative;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.ybtn-center{
|
||||
background:url(../images/default/basic-dialog/btn-sprite.gif) repeat-x 0 -42px;
|
||||
font:normal 11px "san serif",tahoma,verdana,helvetica;
|
||||
vertical-align: middle;
|
||||
text-align:center;
|
||||
padding:0 5px;
|
||||
cursor:pointer;
|
||||
white-space:nowrap;
|
||||
-moz-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
}
|
||||
.ybtn-over .ybtn-left{
|
||||
background-position:0 -63px;
|
||||
}
|
||||
.ybtn-over .ybtn-right{
|
||||
background-position:0 -84px;
|
||||
}
|
||||
.ybtn-over .ybtn-center{
|
||||
background-position:0 -105px;
|
||||
}
|
||||
.ybtn-click .ybtn-center{
|
||||
background-position:0 -126px;
|
||||
}
|
||||
.ybtn-disabled{
|
||||
cursor:default;
|
||||
}
|
||||
.ybtn-disabled .ybtn-center{
|
||||
color:gray;
|
||||
cursor:default;
|
||||
}
|
||||
53
frontend/beta/css/yui-extensions/core.css
Normal file
53
frontend/beta/css/yui-extensions/core.css
Normal file
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
.ext-el-mask {
|
||||
z-index:20000;
|
||||
position:absolute;
|
||||
top:0;
|
||||
left:0;
|
||||
-moz-opacity: 0.5;
|
||||
opacity:.50;
|
||||
filter: alpha(opacity=50);
|
||||
background-color:#CCC;
|
||||
width:100%;
|
||||
height:100%;
|
||||
zoom:1;
|
||||
}
|
||||
.ext-masked {
|
||||
overflow:hidden !important;
|
||||
}
|
||||
.ext-masked select,.ext-masked object,.ext-masked embed{
|
||||
visibility:hidden;
|
||||
}
|
||||
.ylayer-shadow{
|
||||
background:#cccccc;
|
||||
opacity:.3;
|
||||
-moz-opacity:.3;
|
||||
filter: alpha(opacity=30);
|
||||
}
|
||||
81
frontend/beta/css/yui-extensions/dd.css
Normal file
81
frontend/beta/css/yui-extensions/dd.css
Normal file
@@ -0,0 +1,81 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
.ydd-drag-proxy{
|
||||
position:absolute;
|
||||
left:0;top:0;
|
||||
visibility:hidden;
|
||||
z-index:15000;
|
||||
}
|
||||
.ydd-drag-ghost{
|
||||
color: black;
|
||||
font: normal 11px arial, helvetica, sans-serif;
|
||||
-moz-opacity: 0.85;
|
||||
opacity:.85;
|
||||
filter: alpha(opacity=85);
|
||||
border-top:1px solid #dddddd;
|
||||
border-left:1px solid #dddddd;
|
||||
border-right:1px solid #bbbbbb;
|
||||
border-bottom:1px solid #bbbbbb;
|
||||
padding:3px;
|
||||
padding-left:20px;
|
||||
background-color:white;
|
||||
white-space:nowrap;
|
||||
}
|
||||
.ydd-drag-repair .ydd-drag-ghost{
|
||||
-moz-opacity: 0.4;
|
||||
opacity:.4;
|
||||
filter: alpha(opacity=40);
|
||||
border:0 none;
|
||||
padding:0;
|
||||
background-color:transparent;
|
||||
}
|
||||
.ydd-drag-repair .ydd-drop-icon{
|
||||
visibility:hidden;
|
||||
}
|
||||
.ydd-drop-icon{
|
||||
position:absolute;
|
||||
top:3px;
|
||||
left:3px;
|
||||
display:block;
|
||||
width:16px;
|
||||
height:16px;
|
||||
background-color:transparent;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
z-index:1;
|
||||
}
|
||||
.ydd-drop-nodrop .ydd-drop-icon{
|
||||
background-image: url(../images/default/dd/drop-no.gif);
|
||||
}
|
||||
.ydd-drop-ok .ydd-drop-icon{
|
||||
background-image: url(../images/default/dd/drop-yes.gif);
|
||||
}
|
||||
.ydd-drop-ok-add .ydd-drop-icon{
|
||||
background-image: url(../images/default/dd/drop-add.gif);
|
||||
}
|
||||
584
frontend/beta/css/yui-extensions/grid.css
Normal file
584
frontend/beta/css/yui-extensions/grid.css
Normal file
@@ -0,0 +1,584 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
.ygrid-cell-text {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
padding: 3px 5px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.ygrid-col{
|
||||
cursor: default;
|
||||
height:21px !important;
|
||||
box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
position:absolute;
|
||||
display:block;
|
||||
-moz-outline: none;
|
||||
-moz-user-focus: normal;
|
||||
overflow: hidden;
|
||||
border-left: 1px solid #f1efe2;
|
||||
}
|
||||
.yeditgrid .ygrid-col{
|
||||
-moz-outline: normal;
|
||||
}
|
||||
.ygrid-col, .ygrid-hd {
|
||||
-o-text-overflow: ellipsis;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.ygrid-col-0{
|
||||
border-left: 0;
|
||||
}
|
||||
.ygrid-col-last{
|
||||
border-right: 1px solid #f1efe2;
|
||||
}
|
||||
.ygrid-editor{
|
||||
box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
position:absolute;
|
||||
visibility:hidden;
|
||||
font: normal 8pt arial;
|
||||
border: 1px solid #afbdc9;
|
||||
z-index:10;
|
||||
}
|
||||
.ygrid-editor input{
|
||||
font: normal 8pt arial;
|
||||
border: 0;
|
||||
padding-top:2px;
|
||||
padding-left:3px;
|
||||
}
|
||||
.ygrid-editor-container{
|
||||
overflow:hidden;
|
||||
display:block;
|
||||
background-color:white;
|
||||
}
|
||||
.ygrid-editor .pick-button{
|
||||
width:15px;
|
||||
height:20px;
|
||||
position:absolute;
|
||||
display:block;
|
||||
right:0;
|
||||
top:0;
|
||||
z-index:2;
|
||||
background-image: url(../images/default/grid/pick-button.gif);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.ygrid-editor-invalid{
|
||||
background-image: url(../images/default/grid/invalid_line.gif);
|
||||
background-repeat: repeat-x;
|
||||
background-position: bottom;
|
||||
border: 1px solid #afbdc9;
|
||||
}
|
||||
.ygrid-checkbox-editor{
|
||||
text-align: center;
|
||||
overflow:hidden;
|
||||
display:block;
|
||||
background-color:white;
|
||||
}
|
||||
.ygrid-checkbox-editor input{
|
||||
margin-top:3px;
|
||||
height:13px;
|
||||
width:13px;
|
||||
}
|
||||
select.ygrid-editor{
|
||||
padding: 0;
|
||||
-moz-outline: none;
|
||||
border: 1px solid #afbdc9;
|
||||
}
|
||||
.ygrid-num-editor{
|
||||
text-align:right;
|
||||
padding-top:2px;
|
||||
padding-left:3px;
|
||||
}
|
||||
.ygrid-text-editor{
|
||||
padding-top:2px;
|
||||
padding-left:3px;
|
||||
}
|
||||
.ygrid-hd{
|
||||
font: normal 8pt arial;
|
||||
background-color: #ebeadb;
|
||||
box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
display: block;
|
||||
position: absolute;
|
||||
overflow:hidden;
|
||||
}
|
||||
.ygrid-column-sizer {
|
||||
width:1px;
|
||||
border-right:1px dashed #6593cf;
|
||||
background:none;
|
||||
cursor: col-resize;
|
||||
}
|
||||
.ygrid-drag-proxy{
|
||||
width:150px;
|
||||
height:24px;
|
||||
background-color:#3366cc;
|
||||
border: 1px solid #002266;
|
||||
position:absolute;
|
||||
visibility:hidden;
|
||||
z-index:10000;
|
||||
}
|
||||
.ygrid-drag-text{
|
||||
font: normal 8pt arial;
|
||||
color:white;
|
||||
position:absolute;
|
||||
top:0;
|
||||
left:26px;
|
||||
padding:3px;
|
||||
display:block;
|
||||
}
|
||||
.ygrid-drop-icon{
|
||||
position:absolute;
|
||||
top:0;
|
||||
left:0;
|
||||
display:block;
|
||||
width:24px;
|
||||
height:100%;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.ygrid-drop-nodrop{
|
||||
background-image: url(../images/default/grid/drop-no.gif);
|
||||
}
|
||||
.ygrid-drop-ok{
|
||||
background-image: url(../images/default/grid/drop-yes.gif);
|
||||
}
|
||||
.ygrid-hd .sort-asc {
|
||||
background-image: url(../images/default/grid/sort_asc.gif);
|
||||
background-position: right;
|
||||
background-repeat: no-repeat;
|
||||
display: none;
|
||||
height: 14px;
|
||||
width: 16px;
|
||||
}
|
||||
.ygrid-hd .sort-desc {
|
||||
background-image: url(../images/default/grid/sort_desc.gif);
|
||||
background-position: right;
|
||||
background-repeat: no-repeat;
|
||||
display: none;
|
||||
height: 14px;
|
||||
width: 16px;
|
||||
}
|
||||
.ygrid-hd-body {
|
||||
cursor: default;
|
||||
display: block;
|
||||
font: normal 8pt arial;
|
||||
left: 0;
|
||||
overflow: hidden;
|
||||
padding: 3px 5px;
|
||||
position: relative;
|
||||
top: 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.ygrid-hd-body span {
|
||||
font: normal 8pt arial;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.ygrid-hd-over{
|
||||
border-bottom: 2px solid #fcc247;
|
||||
}
|
||||
.ygrid-hd-over .ygrid-hd-body{
|
||||
background-color: #faf9f4;
|
||||
border-bottom: 1px solid #f9a900;
|
||||
}
|
||||
.ygrid-hd-split {
|
||||
background-image: url(../images/default/grid/grid-split.gif);
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
cursor: e-resize;
|
||||
display: block;
|
||||
font-size: 1px;
|
||||
height: 16px;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
width: 6px;
|
||||
z-index: 3;
|
||||
}
|
||||
.ygrid-hrow{
|
||||
background: #ebeadb url(../images/default/grid/grid-hrow.gif) repeat-x;
|
||||
display: block;
|
||||
height: 22px;
|
||||
left: 0;
|
||||
position: relative;
|
||||
top: 0;
|
||||
width: 10000px;
|
||||
overflow:hidden;
|
||||
z-index:2;
|
||||
}
|
||||
.ygrid-hrow-frame{
|
||||
height: 22px;
|
||||
left: 0;
|
||||
display:block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
width: 10000px;
|
||||
z-index:1;
|
||||
}
|
||||
.ygrid-footer .ytoolbar{
|
||||
border:0;
|
||||
}
|
||||
.ygrid-page-number{
|
||||
width:24px;
|
||||
height:14px;
|
||||
}
|
||||
.ygrid-page-first{
|
||||
background-image: url(../images/default/grid/page-first.gif);
|
||||
}
|
||||
.ygrid-loading{
|
||||
background-image: url(../images/default/grid/done.gif);
|
||||
}
|
||||
.ygrid-page-last{
|
||||
background-image: url(../images/default/grid/page-last.gif);
|
||||
}
|
||||
.ygrid-page-next{
|
||||
background-image: url(../images/default/grid/page-next.gif);
|
||||
}
|
||||
.ygrid-page-prev{
|
||||
background-image: url(../images/default/grid/page-prev.gif);
|
||||
}
|
||||
.ytb-button-disabled .ygrid-loading{
|
||||
background-image: url(../images/default/grid/loading.gif);
|
||||
}
|
||||
.ytb-button-disabled .ygrid-page-first{
|
||||
background-image: url(../images/default/grid/page-first-disabled.gif);
|
||||
}
|
||||
.ytb-button-disabled .ygrid-page-last{
|
||||
background-image: url(../images/default/grid/page-last-disabled.gif);
|
||||
}
|
||||
.ytb-button-disabled .ygrid-page-next{
|
||||
background-image: url(../images/default/grid/page-next-disabled.gif);
|
||||
}
|
||||
.ytb-button-disabled .ygrid-page-prev{
|
||||
background-image: url(../images/default/grid/page-prev-disabled.gif);
|
||||
}
|
||||
.ygrid-mso{
|
||||
}
|
||||
.ygrid-mso .ygrid-hd{
|
||||
background:none;
|
||||
border-bottom:0;
|
||||
}
|
||||
.ygrid-mso .ygrid-footer {
|
||||
border-top: 1px solid #6593cf;
|
||||
}
|
||||
|
||||
.ygrid-mso .ygrid-footer .ygrid-fbutton{
|
||||
border:0;
|
||||
}
|
||||
.ygrid-mso .ygrid-hd-body {
|
||||
border-bottom:0;
|
||||
}
|
||||
.ygrid-mso .ygrid-hd-over{
|
||||
border-bottom:0;
|
||||
}
|
||||
.ygrid-mso .ygrid-hd-over .ygrid-hd-body{
|
||||
background-color: transparent;
|
||||
}
|
||||
.ygrid-mso .ygrid-hd-split {
|
||||
background-image: url(../images/default/grid/grid-blue-split.gif);
|
||||
}
|
||||
.ygrid-mso .ytoolbar .ytb-sep {
|
||||
background-image: url(../images/default/grid/grid-blue-split.gif);
|
||||
}
|
||||
.ygrid-mso .ygrid-hrow{
|
||||
background: url(../images/default/grid/mso-hd.gif);
|
||||
border-bottom: 1px solid #6593cf;
|
||||
height: 21px;
|
||||
}
|
||||
.ygrid-mso .ygrid-row{
|
||||
color: black;
|
||||
border-bottom: 1px solid #ddecfe;
|
||||
}
|
||||
.ygrid-mso .ygrid-row-alt{
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
.ygrid-mso .ygrid-row-selected{
|
||||
background-color: #b3c8e8 !important;
|
||||
color: black;
|
||||
}
|
||||
.ygrid-mso .ygrid-row-selected span{
|
||||
color: black !important;
|
||||
}
|
||||
.yprops-grid .ygrid-col-1{
|
||||
background-color: #f1efe2;
|
||||
}
|
||||
.yprops-grid .ygrid-col-1 .ygrid-cell-text{
|
||||
background-color: white;
|
||||
}
|
||||
.yprops-grid .ygrid-col-0{
|
||||
background-color: #f1efe2;
|
||||
}
|
||||
.yprops-grid .ygrid-col-0 .ygrid-cell-text{
|
||||
background-color: white;
|
||||
margin-left:10px;
|
||||
}
|
||||
.yprops-grid .ygrid-prop-edting .ygrid-col-0 .ygrid-cell-text{
|
||||
background-color: #316ac5;
|
||||
color: white;
|
||||
}
|
||||
.yprops-grid .ygrid-prop-edting .ygrid-col-0{
|
||||
color: white;
|
||||
}
|
||||
.yprops-grid .ygrid-num-editor{
|
||||
text-align:left;
|
||||
}
|
||||
.ygrid-row{
|
||||
font: normal 8pt arial;
|
||||
border-bottom: 1px solid #f1efe2;
|
||||
overflow: visible;
|
||||
white-space: nowrap;
|
||||
height:21px;
|
||||
width:10000px;
|
||||
box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
display:block;
|
||||
position:absolute;
|
||||
}
|
||||
.ygrid-row-alt{
|
||||
background-color: #fcfaf6;
|
||||
}
|
||||
.ygrid-row-over{
|
||||
background-color: #f1f1f1;
|
||||
color: black;
|
||||
}
|
||||
.ygrid-row-selected{
|
||||
background-color: #316ac5 !important;
|
||||
color: white;
|
||||
}
|
||||
.ygrid-row-selected span{
|
||||
color: white !important;
|
||||
}
|
||||
.ygrid-vista{
|
||||
border:1px solid #535353;
|
||||
}
|
||||
.ygrid-vista .ygrid-hd{
|
||||
border-bottom:0px;
|
||||
background:none;
|
||||
}
|
||||
.ygrid-vista .ygrid-hd-body {
|
||||
border-bottom: 1px solid #b3bcc0;
|
||||
}
|
||||
.ygrid-vista .ygrid-hd-over{
|
||||
border-bottom:0px;
|
||||
}
|
||||
.ygrid-vista .ygrid-hd-over .ygrid-hd-body{
|
||||
background-color: transparent;
|
||||
border-bottom:0;
|
||||
}
|
||||
.ygrid-vista .ygrid-hd-split {
|
||||
background-image: url(../images/default/grid/grid-split.gif);
|
||||
}
|
||||
.ygrid-vista .ygrid-hrow{
|
||||
background: url(../images/default/grid/grid-vista-hd.gif);
|
||||
height: 21px;
|
||||
}
|
||||
.ygrid-vista .ygrid-row-alt{
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
.ygrid-vista .ygrid-row-selected{
|
||||
background-color: #535353 !important;
|
||||
color: white;
|
||||
}
|
||||
.ygrid-vista .ygrid-row-selected span{
|
||||
color: white !important;
|
||||
}
|
||||
.ygrid-vista .ygrid-wrap-body {
|
||||
}
|
||||
.ygrid-vista .ytoolbar{
|
||||
border: 0px none;
|
||||
background: url(../images/default/grid/grid-vista-hd.gif);
|
||||
}
|
||||
.ygrid-vista .ytoolbar .ytb-sep{
|
||||
background-image: url(../images/default/grid/grid-split.gif);
|
||||
}
|
||||
/*
|
||||
To have the scrollbars overlap the header, change .ygrid-wrap top style to 0 and
|
||||
and ygrid-wrap-body top to 22px
|
||||
Then grid.getView().scrollbarMode = YAHOO.ext.grid.GridView.SCROLLBARS_OVERLAP;
|
||||
*/
|
||||
.ygrid-wrap {
|
||||
height: 100%;
|
||||
left: 0;
|
||||
overflow: auto;
|
||||
position: relative;
|
||||
top: 22px;
|
||||
width: 100%;
|
||||
}
|
||||
.ygrid-footer{
|
||||
display: block;
|
||||
padding:0;
|
||||
border-top: 1px solid #cbc7b8;
|
||||
}
|
||||
.ygrid-wrap-footer {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
width:100%;
|
||||
height:25px;
|
||||
box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
background-color: #ebeadb;
|
||||
position:absolute;
|
||||
bottom:0;
|
||||
}
|
||||
.ygrid-wrap-body {
|
||||
left: 0;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
display: block;
|
||||
}
|
||||
.ygrid-wrap-headers {
|
||||
left: 0;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
z-index: 12;
|
||||
}
|
||||
.ypopcal{
|
||||
background: white;
|
||||
padding:2px;
|
||||
border: 1px solid gray;
|
||||
z-index:12001;
|
||||
-moz-outline:none;
|
||||
position:absolute;
|
||||
display:none;
|
||||
top:0;
|
||||
left:0;
|
||||
}
|
||||
.ypopcal-shadow {
|
||||
background: #dddddd;
|
||||
filter: progid:DXImageTransform.Microsoft.Blur(MakeShadow=true,pixelradius=1) Alpha(opacity=35,style=1,startX=0,finishX=200,FinishOpacity=35);
|
||||
padding: 0;
|
||||
position:absolute;
|
||||
z-index:12000;
|
||||
display:none;
|
||||
top:0;
|
||||
left:0;
|
||||
}
|
||||
.ypopcal-head{
|
||||
width:150px;
|
||||
background: #93b5e4;
|
||||
}
|
||||
.ypopcal-head td{
|
||||
padding:1px;
|
||||
}
|
||||
.ypopcal-month{
|
||||
color: white;
|
||||
font: bold 7pt verdana;
|
||||
text-decoration: none;
|
||||
text-align:center;
|
||||
}
|
||||
.ypopcal-head .ypopcal-arrow{
|
||||
width:16px;
|
||||
text-align:center;
|
||||
cursor:pointer;
|
||||
-moz-user-select: none;
|
||||
}
|
||||
|
||||
.ypopcal-head .next-month{
|
||||
width:16px;
|
||||
background-image: url(../images/default/grid/arrow-right-white.gif);
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
cursor:pointer;
|
||||
}
|
||||
.ypopcal-head .prev-month{
|
||||
width:16px;
|
||||
background-image: url(../images/default/grid/arrow-left-white.gif);
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.ypopcal-table {
|
||||
background:white;
|
||||
border-bottom: 1px solid #cccccc;
|
||||
}
|
||||
.ypopcal-table tr{
|
||||
|
||||
}
|
||||
.ypopcal-table td{
|
||||
box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
border: 1px solid white;
|
||||
text-align:right;
|
||||
color:#aaaaaa;
|
||||
cursor:pointer;
|
||||
font:normal 8pt arial;
|
||||
background:white;
|
||||
padding:1px 2px;
|
||||
width:12px;
|
||||
height:12px;
|
||||
}
|
||||
.ypopcal-table td.today{
|
||||
border: 1px solid darkred;
|
||||
}
|
||||
.ypopcal-table .ypopcal-daynames td{
|
||||
text-align:center !important;
|
||||
border:0;
|
||||
border-bottom: 1px solid #cccccc;
|
||||
font-size: 8pt;
|
||||
font-weight: normal;
|
||||
text-align:right;
|
||||
color:black;
|
||||
cursor:default;
|
||||
}
|
||||
.ypopcal-table td.active{
|
||||
cursor:pointer;
|
||||
color:black;
|
||||
}
|
||||
.ypopcal-table td.ypopcal-disabled{
|
||||
cursor:default;
|
||||
background:#eeeeee;
|
||||
border: 1px solid #eeeeee;
|
||||
color:#bbbbbb;
|
||||
}
|
||||
.ypopcal-table td.selected{
|
||||
background: #ddecfe;
|
||||
border: 1px solid #c3daf9;
|
||||
}
|
||||
.ypopcal-today{
|
||||
color: black;
|
||||
cursor: hand;
|
||||
display: inline-block;
|
||||
font: normal 8pt arial;
|
||||
margin-left: 2px;
|
||||
text-decoration: none;
|
||||
margin-top:2px;
|
||||
}
|
||||
|
||||
.ygrid-simple-view .ygrid-col{
|
||||
height:100% !important;
|
||||
position:static;
|
||||
display:table-cell;
|
||||
display:inline-block;
|
||||
}
|
||||
.ygrid-simple-view .ygrid-row{
|
||||
position:static;
|
||||
display: table-row;
|
||||
}
|
||||
60
frontend/beta/css/yui-extensions/inline-editor.css
Normal file
60
frontend/beta/css/yui-extensions/inline-editor.css
Normal file
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
.yinline-editor {
|
||||
border: 1px solid #a3bac9;
|
||||
font: normal 11px arial,helvetica,sans-serif;
|
||||
left: 0;
|
||||
overflow: hidden;
|
||||
padding: 1px 0 0 1px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
}
|
||||
.yinline-editor-multiline {
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.yinline-editor-sizer {
|
||||
font: normal 11px arial,helvetica,sans-serif;
|
||||
left: -1000px;
|
||||
padding: 3px;
|
||||
padding-right: 6px;
|
||||
position: absolute;
|
||||
top: -1000px;
|
||||
visibility: hidden;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.yinline-editor-wrap {
|
||||
color: white;
|
||||
overflow: auto;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
visibility: hidden;
|
||||
z-index: 15002;
|
||||
}
|
||||
228
frontend/beta/css/yui-extensions/layout.css
Normal file
228
frontend/beta/css/yui-extensions/layout.css
Normal file
@@ -0,0 +1,228 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
.ylayout-container{
|
||||
width:100%;
|
||||
height:100%;
|
||||
overflow:hidden;
|
||||
background-color:#c3daf9;
|
||||
}
|
||||
.ylayout-collapsed{
|
||||
position:absolute;
|
||||
left:-10000px;
|
||||
top:-10000px;
|
||||
visibility:hidden;
|
||||
background-color:#c3daf9;
|
||||
width:20px;
|
||||
height:20px;
|
||||
overflow:hidden;
|
||||
border:1px solid #98c0f4;
|
||||
z-index:20;
|
||||
}
|
||||
.ylayout-collapsed-over{
|
||||
cursor:pointer;
|
||||
background-color:#d9e8fb;
|
||||
}
|
||||
.ylayout-collapsed-west .ylayout-tools-button{
|
||||
float:right;
|
||||
}
|
||||
.ylayout-collapsed-east .ylayout-tools-button{
|
||||
float:left;
|
||||
}
|
||||
.ylayout-collapsed-north, .ylayout-collapsed-south{
|
||||
text-align:right;
|
||||
}
|
||||
.ylayout-collapsed .ylayout-tools-button{
|
||||
margin:2px;
|
||||
width:12px;
|
||||
text-align:center;
|
||||
}
|
||||
.ylayout-inactive-content{
|
||||
position:absolute;
|
||||
left:-10000px;
|
||||
top:-10000px;
|
||||
visibility:hidden;
|
||||
}
|
||||
.ylayout-active-content{
|
||||
visibility:visible;
|
||||
}
|
||||
.ylayout-panel{
|
||||
position:absolute;border:1px solid #98c0f4;overflow:hidden;background-color:white;
|
||||
}
|
||||
.ylayout-panel-east, .ylayout-panel-west {
|
||||
z-index:10;
|
||||
}
|
||||
.ylayout-panel-north, .ylayout-panel-south {
|
||||
z-index:11;
|
||||
}
|
||||
.ylayout-collapsed-north, .ylayout-collapsed-south, .ylayout-collapsed-east, .ylayout-collapsed-west {
|
||||
z-index:12;
|
||||
}
|
||||
.ylayout-panel-body{
|
||||
overflow:hidden;
|
||||
}
|
||||
.ylayout-grid-wrapper{
|
||||
|
||||
}
|
||||
.ylayout-split{
|
||||
position:absolute;
|
||||
height:5px;
|
||||
width:5px;
|
||||
line-height:1px;
|
||||
font-size:1px;
|
||||
z-index:3;
|
||||
background-color:#c3daf9;
|
||||
}
|
||||
.ylayout-panel-hd{
|
||||
background-image: url(../images/default/layout/panel-title-light-bg.gif);
|
||||
color: black;
|
||||
border-bottom:1px solid #98c0f4;
|
||||
position:relative;
|
||||
}
|
||||
.ylayout-panel-hd-text{
|
||||
font:normal 11px tahoma, verdana, helvetica;
|
||||
padding: 4px;
|
||||
padding-left: 4px;
|
||||
display:block;
|
||||
white-space:nowrap;
|
||||
}
|
||||
.ylayout-panel-hd-tools{
|
||||
position:absolute;
|
||||
right:0;
|
||||
top:0;
|
||||
text-align:right;
|
||||
padding-top:2px;
|
||||
padding-right:2px;width:40px;
|
||||
}
|
||||
.ylayout-tools-button{
|
||||
z-index:6;
|
||||
padding:2px;
|
||||
cursor:pointer;
|
||||
}
|
||||
.ylayout-tools-button-over{
|
||||
padding:1px;
|
||||
border:1px solid #98c0f4;
|
||||
background-color:white;
|
||||
}
|
||||
.ylayout-tools-button-inner{
|
||||
height:12px;
|
||||
width:12px;
|
||||
line-height:1px;
|
||||
font-size:1px;
|
||||
background-repeat:no-repeat;
|
||||
background-position:center;
|
||||
}
|
||||
.ylayout-close{
|
||||
background-image:url(../images/default/layout/layout-sprite.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50% -48px;
|
||||
}
|
||||
.ylayout-collapse-west,.ylayout-expand-east{
|
||||
background-image:url(../images/default/layout/layout-sprite.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50% 0;
|
||||
}
|
||||
.ylayout-expand-west,.ylayout-collapse-east{
|
||||
background-image:url(../images/default/layout/layout-sprite.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50% -12px;
|
||||
}
|
||||
.ylayout-collapse-north,.ylayout-expand-south{
|
||||
background-image:url(../images/default/layout/layout-sprite.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50% -24px;
|
||||
}
|
||||
.ylayout-expand-north,.ylayout-collapse-south{
|
||||
background-image:url(../images/default/layout/layout-sprite.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50% -36px;
|
||||
}
|
||||
.ylayout-split-h{
|
||||
background-image:url(../images/default/sizer/e-handle.gif);
|
||||
background-position: left;
|
||||
}
|
||||
.ylayout-split-v{
|
||||
background-image:url(../images/default/sizer/s-handle.gif);
|
||||
background-position: top;
|
||||
}
|
||||
.ylayout-panel .ytab-wrap{
|
||||
background:url(../images/default/layout/gradient-bg.gif);
|
||||
}
|
||||
.ylayout-panel .yui-ext-tabbody {
|
||||
background-color:white;
|
||||
overflow:auto;height:100%;
|
||||
}
|
||||
.ylayout-component-panel, .ylayout-nested-layout {
|
||||
position:relative;
|
||||
padding:0;
|
||||
overflow:hidden;
|
||||
width:200px;
|
||||
height:200px;
|
||||
}
|
||||
.ylayout-nested-layout .ylayout-panel {
|
||||
border:0 none;
|
||||
}
|
||||
.ylayout-nested-layout .ylayout-panel-north {
|
||||
border-bottom:1px solid #98c0f4;
|
||||
}
|
||||
.ylayout-nested-layout .ylayout-panel-south {
|
||||
border-top:1px solid #98c0f4;
|
||||
}
|
||||
.ylayout-nested-layout .ylayout-panel-east {
|
||||
border-left:1px solid #98c0f4;
|
||||
}
|
||||
.ylayout-nested-layout .ylayout-panel-west {
|
||||
border-right:1px solid #98c0f4;
|
||||
}
|
||||
.yui-ext-repaint{
|
||||
zoom:1;
|
||||
background-color: transparent;
|
||||
}
|
||||
.ylayout-panel-dragover {
|
||||
border: 2px solid #6593cf;
|
||||
}
|
||||
.ylayout-panel-proxy {
|
||||
background-image: url(../images/default/layout/gradient-bg.gif);
|
||||
background-color:#c3daf9;
|
||||
border:1px dashed #6593cf;
|
||||
z-index:10001;
|
||||
overflow:hidden;
|
||||
position:absolute;
|
||||
left:0;top:0;
|
||||
}
|
||||
.ylayout-slider {
|
||||
z-index:15;
|
||||
overflow:hidden;
|
||||
position:absolute;
|
||||
}
|
||||
|
||||
.yunselectable{
|
||||
-moz-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
cursor:default;
|
||||
}
|
||||
70
frontend/beta/css/yui-extensions/qtips.css
Normal file
70
frontend/beta/css/yui-extensions/qtips.css
Normal file
@@ -0,0 +1,70 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
.ytip{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
visibility: hidden;
|
||||
z-index: 11000;
|
||||
}
|
||||
.ytip .ytip-bd{
|
||||
background: #e0e8f3 url(../images/default/qtip/bg.gif) repeat-x;
|
||||
border: 1px solid #a3bad9;
|
||||
font: normal 11px arial,helvetica,sans-serif;
|
||||
padding: 5px;
|
||||
}
|
||||
.ytip .ytip-close{
|
||||
background-image: url(../images/default/basic-dialog/close.gif);
|
||||
height: 15px;
|
||||
position: absolute;
|
||||
right: 3px;
|
||||
top: 3px;
|
||||
width: 15px;
|
||||
}
|
||||
.ytip .ytip-hd {
|
||||
background: url(../images/default/basic-dialog/hd-sprite.gif) repeat-x 0px -82px;
|
||||
background-color: navy;
|
||||
color: #FFF;
|
||||
display: block;
|
||||
font: bold 11px tahoma, arial, verdana, helvetica;
|
||||
padding: 4px;
|
||||
}
|
||||
.ytip .ytip-hd-left {
|
||||
background: url(../images/default/basic-dialog/hd-sprite.gif) no-repeat 0px -41px;
|
||||
display: block;
|
||||
margin: 0px;
|
||||
padding-left: 3px;
|
||||
}
|
||||
.ytip .ytip-hd-right {
|
||||
background: url(../images/default/basic-dialog/hd-sprite.gif) no-repeat right 0px;
|
||||
display: block;
|
||||
padding-right: 3px;
|
||||
}
|
||||
y\:qtip, qtip{
|
||||
display: none;
|
||||
}
|
||||
29
frontend/beta/css/yui-extensions/reset-min.css
vendored
Normal file
29
frontend/beta/css/yui-extensions/reset-min.css
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td{margin:0;padding:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}ol,ul {list-style:none;}caption,th {text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;}q:before,q:after{content:'';}
|
||||
160
frontend/beta/css/yui-extensions/resizable.css
Normal file
160
frontend/beta/css/yui-extensions/resizable.css
Normal file
@@ -0,0 +1,160 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
.yresizable-handle {
|
||||
position:absolute;
|
||||
z-index:100;
|
||||
/* ie needs these */
|
||||
font-size:1px;
|
||||
line-height:6px;
|
||||
overflow:hidden;
|
||||
background:white;
|
||||
filter:alpha(opacity=0);
|
||||
opacity:0;
|
||||
zoom:1;
|
||||
}
|
||||
.yresizable-handle-east{
|
||||
width:6px;
|
||||
cursor:e-resize;
|
||||
right:0px;
|
||||
top:0px;
|
||||
height:100%;
|
||||
margin-right:-1px; /*IE rounding error*/
|
||||
}
|
||||
.yresizable-handle-south{
|
||||
width:100%;
|
||||
cursor:s-resize;
|
||||
left:0px;
|
||||
bottom:0px;
|
||||
height:6px;
|
||||
margin-bottom:-1px; /*IE rounding error*/
|
||||
}
|
||||
.yresizable-handle-west{
|
||||
width:6px;
|
||||
cursor:w-resize;
|
||||
left:0px;
|
||||
top:0px;
|
||||
height:100%;
|
||||
}
|
||||
.yresizable-handle-north{
|
||||
width:100%;
|
||||
cursor:n-resize;
|
||||
left:0px;
|
||||
top:0px;
|
||||
height:6px;
|
||||
}
|
||||
.yresizable-handle-southeast{
|
||||
width:6px;
|
||||
cursor:se-resize;
|
||||
right:0px;
|
||||
bottom:0px;
|
||||
height:6px;
|
||||
z-index:101;
|
||||
}
|
||||
.yresizable-handle-northwest{
|
||||
width:6px;
|
||||
cursor:nw-resize;
|
||||
left:0px;
|
||||
top:0px;
|
||||
height:6px;
|
||||
z-index:101;
|
||||
}
|
||||
.yresizable-handle-northeast{
|
||||
width:6px;
|
||||
cursor:ne-resize;
|
||||
right:0px;
|
||||
top:0px;
|
||||
height:6px;
|
||||
z-index:101;
|
||||
}
|
||||
.yresizable-handle-southwest{
|
||||
width:6px;
|
||||
cursor:sw-resize;
|
||||
left:0px;
|
||||
bottom:0px;
|
||||
height:6px;
|
||||
z-index:101;
|
||||
}
|
||||
.yresizable-over .yresizable-handle, .yresizable-pinned .yresizable-handle{
|
||||
filter:alpha(opacity=100);
|
||||
opacity:1;
|
||||
}
|
||||
.yresizable-over .yresizable-handle-east, .yresizable-pinned .yresizable-handle-east{
|
||||
background:url(../images/default/sizer/e-handle.gif);
|
||||
background-position: left;
|
||||
}
|
||||
.yresizable-over .yresizable-handle-west, .yresizable-pinned .yresizable-handle-west{
|
||||
background:url(../images/default/sizer/e-handle.gif);
|
||||
background-position: left;
|
||||
}
|
||||
.yresizable-over .yresizable-handle-south, .yresizable-pinned .yresizable-handle-south{
|
||||
background:url(../images/default/sizer/s-handle.gif);
|
||||
background-position: top;
|
||||
}
|
||||
.yresizable-over .yresizable-handle-north, .yresizable-pinned .yresizable-handle-north{
|
||||
background:url(../images/default/sizer/s-handle.gif);
|
||||
background-position: top;
|
||||
}
|
||||
.yresizable-over .yresizable-handle-southeast, .yresizable-pinned .yresizable-handle-southeast{
|
||||
background:url(../images/default/sizer/corners-sprite.gif);
|
||||
background-position: top left;
|
||||
}
|
||||
.yresizable-over .yresizable-handle-northwest, .yresizable-pinned .yresizable-handle-northwest{
|
||||
background:url(../images/default/sizer/corners-sprite.gif);
|
||||
background-position:bottom right;
|
||||
}
|
||||
.yresizable-over .yresizable-handle-northeast, .yresizable-pinned .yresizable-handle-northeast{
|
||||
background:url(../images/default/sizer/corners-sprite.gif);
|
||||
background-position: bottom left;
|
||||
}
|
||||
.yresizable-over .yresizable-handle-southwest, .yresizable-pinned .yresizable-handle-southwest{
|
||||
background:url(../images/default/sizer/corners-sprite.gif);
|
||||
background-position: top right;
|
||||
}
|
||||
.yresizable-proxy{
|
||||
border: 1px dashed #6593cf;
|
||||
position:absolute;
|
||||
overflow:hidden;
|
||||
visibility:hidden;
|
||||
left:0;top:0;
|
||||
z-index:1001;
|
||||
}
|
||||
.yresizable-overlay{
|
||||
width:100%;
|
||||
height:100%;
|
||||
display:none;
|
||||
position:absolute;
|
||||
left:0;
|
||||
top:0;
|
||||
background:white;
|
||||
z-index:20000;
|
||||
-moz-opacity: 0;
|
||||
opacity:0;
|
||||
filter: alpha(opacity=0);
|
||||
border:1px solid red;
|
||||
}
|
||||
152
frontend/beta/css/yui-extensions/tabs.css
Normal file
152
frontend/beta/css/yui-extensions/tabs.css
Normal file
@@ -0,0 +1,152 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
.ytab-wrap {
|
||||
border-bottom:1px solid #6593cf;
|
||||
padding-top:2px;
|
||||
}
|
||||
.ytab-strip-wrap{
|
||||
width:100%;
|
||||
}
|
||||
.ytab-wrap table{
|
||||
position:relative;
|
||||
top:0; left:0;
|
||||
}
|
||||
.ytab-strip td{
|
||||
padding:0;
|
||||
padding-left:2px;
|
||||
}
|
||||
.ytab-strip a, .ytab-strip span, .ytab-strip em {
|
||||
display:block;
|
||||
}
|
||||
.ytab-strip a {
|
||||
text-decoration:none !important;
|
||||
-moz-outline: none;
|
||||
outline: none;
|
||||
cursor:pointer;
|
||||
}
|
||||
.ytab-strip .ytab-text {
|
||||
font:bold 11px tahoma,arial,helvetica;
|
||||
color:#666;
|
||||
overflow:hidden;
|
||||
white-space: nowrap;
|
||||
cursor:pointer;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.ytab-strip .on .ytab-text {
|
||||
cursor:default;
|
||||
color:#083772;
|
||||
}
|
||||
.ytab-strip .disabled .ytab-text {
|
||||
cursor:default;
|
||||
color:#aaaaaa;
|
||||
}
|
||||
.ytab-strip .ytab-inner {
|
||||
padding:4px 10px;
|
||||
}
|
||||
|
||||
.ytab-strip .on .ytab-right {
|
||||
background: url(../images/default/tabs/tab-sprite.gif) no-repeat right 0;
|
||||
}
|
||||
.ytab-strip .on .ytab-left {
|
||||
background: url(../images/default/tabs/tab-sprite.gif) no-repeat 0 -100px;
|
||||
}
|
||||
.ytab-strip .ytab-right {
|
||||
background: url(../images/default/tabs/tab-sprite.gif) no-repeat right -50px;
|
||||
}
|
||||
.ytab-strip .ytab-left {
|
||||
background: url(../images/default/tabs/tab-sprite.gif) no-repeat 0 -150px;
|
||||
}
|
||||
|
||||
.ytab-strip a {
|
||||
position:relative;
|
||||
top:1px; left:0;
|
||||
}
|
||||
.ytab-strip .on a {
|
||||
position:relative;
|
||||
}
|
||||
.ytab-strip .on .ytab-inner {
|
||||
padding-bottom:5px;
|
||||
}
|
||||
/** closable tabs */
|
||||
.ytab-strip .ytab-closable .ytab-inner{
|
||||
padding-right:22px;
|
||||
position:relative;
|
||||
}
|
||||
.ytab-strip .ytab-closable .close-icon{
|
||||
line-height: 1px;
|
||||
font-size:1px;
|
||||
background-image:url(../images/default/layout/layout-sprite.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50% -60px;
|
||||
display:block;
|
||||
position:absolute;
|
||||
right:5px;top:4px;
|
||||
width:12px;height:11px;
|
||||
cursor:pointer;
|
||||
}
|
||||
.ytab-strip .on .close-icon{
|
||||
background-image:url(../images/default/layout/layout-sprite.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50% -60px;
|
||||
}
|
||||
.ytab-strip .ytab-closable .close-over{
|
||||
background-image:url(../images/default/layout/layout-sprite.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50% -72px;
|
||||
}
|
||||
|
||||
.ytabs-bottom .ytab-wrap {
|
||||
border-top:1px solid #6593cf;
|
||||
border-bottom:0 none;
|
||||
padding-top:0;
|
||||
padding-bottom:2px;
|
||||
}
|
||||
.ytabs-bottom .ytab-strip .ytab-right {
|
||||
background: url(../images/default/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom left;
|
||||
}
|
||||
.ytabs-bottom .ytab-strip .ytab-left {
|
||||
background: url(../images/default/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom right;
|
||||
}
|
||||
.ytabs-bottom .ytab-strip .on .ytab-right {
|
||||
background: url(../images/default/tabs/tab-btm-right-bg.gif) no-repeat bottom left;
|
||||
}
|
||||
.ytabs-bottom .ytab-strip .on .ytab-left {
|
||||
background: url(../images/default/tabs/tab-btm-left-bg.gif) no-repeat bottom right;
|
||||
}
|
||||
.ytabs-bottom .ytab-strip a {
|
||||
position:relative;
|
||||
top:0; left:0;
|
||||
}
|
||||
.ytabs-bottom .ytab-strip .on a {
|
||||
margin-top:-1px;
|
||||
}
|
||||
.ytabs-bottom .ytab-strip .on .ytab-inner {
|
||||
padding-top:5px;
|
||||
}
|
||||
|
||||
115
frontend/beta/css/yui-extensions/toolbar.css
Normal file
115
frontend/beta/css/yui-extensions/toolbar.css
Normal file
@@ -0,0 +1,115 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
.ytoolbar{
|
||||
background-color: #ebeadb;
|
||||
border: 1px solid #cbc7b8;
|
||||
display: block;
|
||||
padding:2px;
|
||||
}
|
||||
|
||||
.mso .ytoolbar, .ygrid-mso .ytoolbar{
|
||||
border: 0px none;
|
||||
background: url(../images/default/grid/mso-hd.gif);
|
||||
}
|
||||
.ytoolbar td,.ytoolbar span,.ytoolbar input,.ytoolbar div{
|
||||
white-space: nowrap;
|
||||
font:normal 8pt arial,helvetica;
|
||||
}
|
||||
.ytoolbar .ytb-button-disabled .ytb-button-inner{
|
||||
color:gray;
|
||||
cursor:default;
|
||||
}
|
||||
|
||||
/*
|
||||
Default button class is icon only. Add a class with a background-image property
|
||||
to your toolbar button
|
||||
*/
|
||||
.ytoolbar .ytb-button-inner{
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
display: block;
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
cursor:pointer;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/*
|
||||
Button class for icon and text. Add this class and a class with a background-image
|
||||
to your toolbar button for both text and icon
|
||||
*/
|
||||
.ytoolbar .ytb-text-icon{
|
||||
background-position: 0px 0px;
|
||||
background-repeat: no-repeat;
|
||||
padding-left:18px;
|
||||
padding-top:1px;
|
||||
width:auto;
|
||||
display:block;
|
||||
}
|
||||
|
||||
/*
|
||||
Button class for a button with only text. Add this class
|
||||
to your toolbar button for a just text button
|
||||
*/
|
||||
.ytoolbar .ytb-text-only{
|
||||
background:none;
|
||||
padding-left:0px;
|
||||
padding-top:1px;
|
||||
width:auto;
|
||||
display:block;
|
||||
}
|
||||
.ytoolbar .ytb-text{
|
||||
padding:2px;
|
||||
}
|
||||
.ytoolbar .ytb-button{
|
||||
padding:2px 3px;
|
||||
display:block;
|
||||
}
|
||||
.ytoolbar .ytb-button-over{
|
||||
background:#c3d3ed url(../images/default/toolbar/btn-over-bg.gif) repeat-x;
|
||||
border:1px solid #6593cf;
|
||||
padding:1px 2px;
|
||||
}
|
||||
.ytoolbar .ytb-sep {
|
||||
background-image: url(../images/default/grid/grid-split.gif);
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
display: block;
|
||||
font-size: 1px;
|
||||
height: 16px;
|
||||
width:4px;
|
||||
overflow: hidden;
|
||||
cursor:default;
|
||||
margin: 0px 2px 0px;
|
||||
border:0px;
|
||||
}
|
||||
.mso .ytoolbar .ytb-sep, .ygrid-mso .ytoolbar .ytb-sep{
|
||||
background-image: url(../images/default/grid/grid-blue-split.gif);
|
||||
}
|
||||
|
||||
193
frontend/beta/css/yui-extensions/tree.css
Normal file
193
frontend/beta/css/yui-extensions/tree.css
Normal file
@@ -0,0 +1,193 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
.ytree-icon, .ytree-ec-icon, .ytree-elbow-line, .ytree-elbow, .ytree-elbow-end, .ytree-elbow-plus, .ytree-elbow-minus, .ytree-elbow-end-plus, .ytree-elbow-end-minus{
|
||||
border: 0 none;
|
||||
height: 18px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
vertical-align: middle;
|
||||
width: 16px;
|
||||
}
|
||||
.ytree-node-collapsed .ytree-node-icon, .ytree-node-expanded .ytree-node-icon, .ytree-node-leaf .ytree-node-icon{
|
||||
border: 0 none;
|
||||
height: 16px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
vertical-align: middle;
|
||||
width: 16px;
|
||||
background-position:center;
|
||||
}
|
||||
|
||||
/* some default icons for leaf/folder */
|
||||
.ytree-node-collapsed .ytree-node-icon{
|
||||
background:transparent url(../images/default/tree/folder.gif);
|
||||
}
|
||||
.ytree-node-expanded .ytree-node-icon{
|
||||
background:transparent url(../images/default/tree/folder-open.gif);
|
||||
}
|
||||
.ytree-node-leaf .ytree-node-icon{
|
||||
background:transparent url(../images/default/tree/leaf.gif);
|
||||
}
|
||||
|
||||
/* loading icon */
|
||||
.ytree-node-loading .ytree-node-icon{
|
||||
background:transparent url(../images/default/tree/loading.gif) !important;
|
||||
}
|
||||
.ytree-node-loading a span{
|
||||
font-style: italic;
|
||||
color:#444444;
|
||||
}
|
||||
|
||||
/* Line styles */
|
||||
.ytree-lines .ytree-elbow{
|
||||
background:transparent url(../images/default/tree/elbow.gif);
|
||||
}
|
||||
.ytree-lines .ytree-elbow-plus{
|
||||
background:transparent url(../images/default/tree/elbow-plus.gif);
|
||||
}
|
||||
.ytree-lines .ytree-elbow-minus{
|
||||
background:transparent url(../images/default/tree/elbow-minus.gif);
|
||||
}
|
||||
.ytree-lines .ytree-elbow-end{
|
||||
background:transparent url(../images/default/tree/elbow-end.gif);
|
||||
}
|
||||
.ytree-lines .ytree-elbow-end-plus{
|
||||
background:transparent url(../images/default/tree/elbow-end-plus.gif);
|
||||
}
|
||||
.ytree-lines .ytree-elbow-end-minus{
|
||||
background:transparent url(../images/default/tree/elbow-end-minus.gif);
|
||||
}
|
||||
.ytree-lines .ytree-elbow-line{
|
||||
background:transparent url(../images/default/tree/elbow-line.gif);
|
||||
}
|
||||
|
||||
/* No line styles */
|
||||
.ytree-no-lines .ytree-elbow{
|
||||
background:transparent;
|
||||
}
|
||||
.ytree-no-lines .ytree-elbow-plus{
|
||||
background:transparent url(../images/default/tree/elbow-plus-nl.gif);
|
||||
}
|
||||
.ytree-no-lines .ytree-elbow-minus{
|
||||
background:transparent url(../images/default/tree/elbow-minus-nl.gif);
|
||||
}
|
||||
.ytree-no-lines .ytree-elbow-end{
|
||||
background:transparent;
|
||||
}
|
||||
.ytree-no-lines .ytree-elbow-end-plus{
|
||||
background:transparent url(../images/default/tree/elbow-end-plus-nl.gif);
|
||||
}
|
||||
.ytree-no-lines .ytree-elbow-end-minus{
|
||||
background:transparent url(../images/default/tree/elbow-end-minus-nl.gif);
|
||||
}
|
||||
.ytree-no-lines .ytree-elbow-line{
|
||||
background:transparent;
|
||||
}
|
||||
|
||||
.ytree-elbow-plus, .ytree-elbow-minus, .ytree-elbow-end-plus, .ytree-elbow-end-minus{
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.ytree-node{
|
||||
color: black;
|
||||
font: normal 11px arial, helvetica, sans-serif;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.ytree-node a, .ydd-drag-ghost a{
|
||||
text-decoration:none;
|
||||
color:black;
|
||||
-khtml-user-select:normal;
|
||||
-moz-user-select:normal;
|
||||
}
|
||||
.ytree-node a span, .ydd-drag-ghost a span{
|
||||
text-decoration:none;
|
||||
color:black;
|
||||
padding:1px 3px 1px 2px;
|
||||
}
|
||||
.ytree-node .ytree-node-disabled a span{
|
||||
color:gray !important;
|
||||
}
|
||||
.ytree-node .ytree-node-disabled .ytree-node-icon{
|
||||
-moz-opacity: 0.5;
|
||||
opacity:.5;
|
||||
filter: alpha(opacity=50);
|
||||
}
|
||||
.ytree-node .ytree-node-inline-icon{
|
||||
background:transparent;
|
||||
}
|
||||
.ytree-node a:hover, .ydd-drag-ghost a:hover{
|
||||
text-decoration:none;
|
||||
}
|
||||
.ytree-node div.ytree-drag-insert-below{
|
||||
border-bottom:1px dotted #3366cc;
|
||||
}
|
||||
.ytree-node div.ytree-drag-insert-above{
|
||||
border-top:1px dotted #3366cc;
|
||||
}
|
||||
.ytree-dd-underline .ytree-node div.ytree-drag-insert-below{
|
||||
border-bottom:0px none;
|
||||
}
|
||||
.ytree-dd-underline .ytree-node div.ytree-drag-insert-above{
|
||||
border-top:0px none;
|
||||
}
|
||||
.ytree-dd-underline .ytree-node div.ytree-drag-insert-below a{
|
||||
border-bottom:2px solid #3366cc;
|
||||
}
|
||||
.ytree-dd-underline .ytree-node div.ytree-drag-insert-above a{
|
||||
border-top:2px solid #3366cc;
|
||||
}
|
||||
.ytree-node .ytree-drag-append a span{
|
||||
background:#dddddd;
|
||||
border:1px dotted gray;
|
||||
}
|
||||
.ytree-node .ytree-selected a span{
|
||||
background:#3366cc;
|
||||
color:white;
|
||||
}
|
||||
.ydd-drag-ghost .ytree-node-indent, .ydd-drag-ghost .ytree-ec-icon{
|
||||
display:none !important;
|
||||
}
|
||||
.ytree-drop-ok-append .ydd-drop-icon{
|
||||
background-image: url(../images/default/tree/drop-add.gif);
|
||||
}
|
||||
.ytree-drop-ok-above .ydd-drop-icon{
|
||||
background-image: url(../images/default/tree/drop-over.gif);
|
||||
}
|
||||
.ytree-drop-ok-below .ydd-drop-icon{
|
||||
background-image: url(../images/default/tree/drop-under.gif);
|
||||
}
|
||||
.ytree-drop-ok-between .ydd-drop-icon{
|
||||
background-image: url(../images/default/tree/drop-between.gif);
|
||||
}
|
||||
.ylayer-shadow{
|
||||
background:#cccccc;
|
||||
opacity:.3;
|
||||
-moz-opacity:.3;
|
||||
filter: alpha(opacity=30);
|
||||
}
|
||||
361
frontend/beta/css/yui-extensions/ytheme-aero.css
Normal file
361
frontend/beta/css/yui-extensions/ytheme-aero.css
Normal file
@@ -0,0 +1,361 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
/**
|
||||
* Tabs
|
||||
*/
|
||||
.ytab-wrap, .ylayout-panel .ytabs-top .ytab-wrap {
|
||||
background:#deecfd;
|
||||
border:1px solid #8db2e3;
|
||||
padding-bottom:2px;
|
||||
padding-top:0px;
|
||||
}
|
||||
.ytab-strip-wrap{
|
||||
padding-top:1px;
|
||||
background:#cedff5 url(../images/aero/tabs/tab-strip-bg.gif) repeat-x bottom;
|
||||
border-bottom:1px solid #8db2e3;
|
||||
}
|
||||
.ytab-strip .ytab-text {
|
||||
color:#15428b;
|
||||
font-weight:normal;
|
||||
}
|
||||
.ytab-strip .on .ytab-text {
|
||||
cursor:default;
|
||||
color:#15428b;
|
||||
}
|
||||
.ytabs-top .ytab-strip .on .ytab-right {
|
||||
background: url(../images/aero/tabs/tab-sprite.gif) no-repeat right 0px;
|
||||
}
|
||||
.ytabs-top .ytab-strip .on .ytab-left,.ytabs-top .ytab-strip .on a:hover .ytab-left{
|
||||
background: url(../images/aero/tabs/tab-sprite.gif) no-repeat 0px -100px;
|
||||
}
|
||||
.ytabs-top .ytab-strip .ytab-right {
|
||||
background:transparent url(../images/aero/tabs/tab-sprite.gif) no-repeat right -50px;
|
||||
}
|
||||
.ytabs-top .ytab-strip .ytab-left {
|
||||
background:transparent url(../images/aero/tabs/tab-sprite.gif) no-repeat 0px -150px;
|
||||
}
|
||||
.ytabs-top .yui-ext-tabbody {
|
||||
border:1px solid #8db2e3;
|
||||
border-top:0px none;
|
||||
}
|
||||
.ytabs-bottom .ytab-wrap, .ylayout-panel .ytabs-bottom .ytab-wrap {
|
||||
background:#deecfd;
|
||||
border:1px solid #8db2e3;
|
||||
padding-top:2px;
|
||||
padding-bottom:0px;
|
||||
}
|
||||
.ytabs-bottom .ytab-strip-wrap{
|
||||
padding-top:0px;
|
||||
padding-bottom:1px;
|
||||
background:#cedff5 url(../images/aero/tabs/tab-strip-btm-bg.gif) repeat-x top;
|
||||
border-top:1px solid #8db2e3;
|
||||
border-bottom:0px none;
|
||||
}
|
||||
.ytabs-bottom .ytab-strip .ytab-right {
|
||||
background:transparent url(../images/aero/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom right;
|
||||
}
|
||||
.ytabs-bottom .ytab-strip .ytab-left {
|
||||
background:transparent url(../images/aero/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom left;
|
||||
}
|
||||
.ytabs-bottom .ytab-strip .on .ytab-right,.ytabs-bottom .ytab-strip .on a:hover {
|
||||
background: url(../images/aero/tabs/tab-btm-right-bg.gif) no-repeat bottom left;
|
||||
}
|
||||
.ytabs-bottom .ytab-strip .on .ytab-left,.ytabs-bottom .ytab-strip .on a:hover .ytab-left {
|
||||
background: url(../images/aero/tabs/tab-btm-left-bg.gif) no-repeat bottom right;
|
||||
}
|
||||
.ytabs-bottom .yui-ext-tabbody {
|
||||
border:1px solid #8db2e3;
|
||||
border-bottom:0px none;
|
||||
}
|
||||
/**
|
||||
* Basic-Dialog
|
||||
*/
|
||||
.ydlg-proxy {
|
||||
background:#C7DFFC;
|
||||
border:1px solid #A5CCF9;
|
||||
}
|
||||
.ydlg-shadow{
|
||||
background:#cccccc;
|
||||
opacity:.3;
|
||||
-moz-opacity:.3;
|
||||
filter: alpha(opacity=30);
|
||||
}
|
||||
.ydlg {
|
||||
background:transparent;
|
||||
}
|
||||
.ydlg .ydlg-hd {
|
||||
background: url(../images/aero/basic-dialog/hd-sprite.gif) repeat-x 0px -82px;
|
||||
background-color:#aabaca;
|
||||
color:#15428b;
|
||||
zoom:1;
|
||||
padding-top:7px;
|
||||
}
|
||||
.ydlg .ydlg-hd-left {
|
||||
opacity:.85;-moz-opacity:.85;filter:alpha(opacity=80);
|
||||
background: url(../images/aero/basic-dialog/hd-sprite.gif) no-repeat 0px -41px;
|
||||
zoom:1;
|
||||
}
|
||||
.ydlg-modal .ydlg-hd-left {
|
||||
opacity:.75;-moz-opacity:.75;filter:alpha(opacity=70);
|
||||
}
|
||||
|
||||
.ydlg .ydlg-hd-right {
|
||||
background: url(../images/aero/basic-dialog/hd-sprite.gif) no-repeat right 0px;
|
||||
zoom:1;
|
||||
}
|
||||
.ydlg .ydlg-dlg-body{
|
||||
padding:0px 0px 0px;
|
||||
position:absolute;
|
||||
top:24px;left:0px;
|
||||
z-index:1;
|
||||
border:0px none;
|
||||
background:transparent;
|
||||
}
|
||||
.ydlg .ydlg-bd{
|
||||
background:#fff;
|
||||
border:1px solid #96b9e6;
|
||||
}
|
||||
.ydlg .ydlg-ft{
|
||||
border:0px none;
|
||||
background:transparent;
|
||||
padding-bottom:8px;
|
||||
}
|
||||
.ydlg .ydlg-bg{
|
||||
filter:alpha(opacity=80);
|
||||
opacity:.85;
|
||||
-moz-opacity:.85;
|
||||
zoom:1;
|
||||
}
|
||||
.ydlg-modal .ydlg-bg {
|
||||
opacity:.75;-moz-opacity:.75;filter:alpha(opacity=70);
|
||||
}
|
||||
.ydlg .ydlg-bg-center {
|
||||
padding: 2px 7px 7px 7px;
|
||||
background:transparent url(../images/aero/basic-dialog/bg-center.gif) repeat-x bottom;
|
||||
zoom:1;
|
||||
}
|
||||
.ydlg .ydlg-bg-left{
|
||||
padding-left:7px;
|
||||
background:transparent url(../images/aero/basic-dialog/bg-left.gif) no-repeat bottom left;
|
||||
zoom:1;
|
||||
}
|
||||
.ydlg .ydlg-bg-right{
|
||||
padding-right:7px;
|
||||
background:transparent url(../images/aero/basic-dialog/bg-right.gif) no-repeat bottom right;
|
||||
zoom:1;
|
||||
}
|
||||
.ydlg-auto-tabs .ydlg-dlg-body, .ydlg-auto-layout .ydlg-dlg-body{
|
||||
background:transparent;
|
||||
border:0px none;
|
||||
}
|
||||
.ydlg-auto-tabs .ydlg-bd, .ydlg-auto-layout .ydlg-bd{
|
||||
background:#fff;
|
||||
border:1px solid #e9f3f5;
|
||||
}
|
||||
.ydlg-auto-tabs .ytabs-top .yui-ext-tabbody,.ydlg-auto-tabs .ytabs-bottom .yui-ext-tabbody{
|
||||
border-color:#8db2e3;
|
||||
}
|
||||
.ydlg-auto-tabs .ytabs-top .ytab-wrap,.ydlg-auto-tabs .ytabs-bottom .ytab-wrap{
|
||||
border-color:#8db2e3;
|
||||
}
|
||||
.ydlg .ydlg-close {
|
||||
width:21px;
|
||||
height:20px;
|
||||
top:5px;
|
||||
right:5px;
|
||||
opacity:.85;-moz-opacity:.85;filter:alpha(opacity=80);
|
||||
background-image:url(../images/aero/basic-dialog/aero-close.gif);
|
||||
zoom:1;
|
||||
}
|
||||
.ydlg .ydlg-close-over {
|
||||
background-image:url(../images/aero/basic-dialog/aero-close-over.gif);
|
||||
}
|
||||
.ydlg div.yresizable-handle-east{
|
||||
background-image:url(../images/aero/s.gif);
|
||||
border:0px none;
|
||||
}
|
||||
.ydlg div.yresizable-handle-south{
|
||||
background-image:url(../images/aero/s.gif);
|
||||
border:0px none;
|
||||
}
|
||||
.ydlg div.yresizable-handle-west{
|
||||
background-image:url(../images/aero/s.gif);
|
||||
border:0px none;
|
||||
}
|
||||
.ydlg div.yresizable-handle-southeast{
|
||||
background-image:url(../images/aero/basic-dialog/se-handle.gif);
|
||||
background-position: bottom right;
|
||||
width:9px;
|
||||
height:9px;
|
||||
border:0px;
|
||||
right:2px;
|
||||
bottom:2px;
|
||||
}
|
||||
.ydlg div.yresizable-handle-southwest{
|
||||
background-image:url(../images/aero/s.gif);
|
||||
background-position: top right;
|
||||
margin-left:1px;
|
||||
margin-bottom:1px;
|
||||
border:0px;
|
||||
}
|
||||
.ydlg div.yresizable-handle-north{
|
||||
background-image:url(../images/aero/s.gif);
|
||||
border:0px none;
|
||||
}
|
||||
|
||||
#mb-dlg .ydlg-bd{
|
||||
background:#CFE0F5;
|
||||
border:0px none;
|
||||
}
|
||||
|
||||
/* BorderLayout */
|
||||
.ylayout-container{
|
||||
background:#deecfd;
|
||||
}
|
||||
.ylayout-collapsed{
|
||||
background-color:#deecfd;
|
||||
border:1px solid #99bbe8;
|
||||
}
|
||||
.ylayout-collapsed-over{
|
||||
background-color:#F5F9FE;
|
||||
}
|
||||
.ylayout-panel{
|
||||
border:1px solid #99bbe8;
|
||||
}
|
||||
.ylayout-nested-layout .ylayout-panel {
|
||||
border:0px none;
|
||||
}
|
||||
.ylayout-split{
|
||||
background-color:#deecfd;
|
||||
}
|
||||
.ylayout-panel-hd{
|
||||
background-image: url(../images/aero/layout/panel-title-light-bg.gif);
|
||||
border-bottom:1px solid #c0d7f4;
|
||||
}
|
||||
.ylayout-panel-hd-text {
|
||||
color:#15428b;
|
||||
}
|
||||
|
||||
.ylayout-split-h{
|
||||
background:#deecfd;
|
||||
}
|
||||
.ylayout-split-v{
|
||||
background:#deecfd;
|
||||
}
|
||||
.ylayout-panel .ytabs-top .ytab-wrap{
|
||||
border:0px none;
|
||||
border-bottom:1px solid #8db2e3;
|
||||
}
|
||||
.ylayout-panel .ytabs-bottom .ytab-wrap{
|
||||
border:0px none;
|
||||
border-top:1px solid #8db2e3;
|
||||
}
|
||||
.ylayout-container .yui-ext-tabbody{
|
||||
border:0px none;
|
||||
}
|
||||
|
||||
.ylayout-nested-layout .ylayout-panel-north {
|
||||
border-bottom:1px solid #99bbe8;
|
||||
}
|
||||
.ylayout-nested-layout .ylayout-panel-south {
|
||||
border-top:1px solid #99bbe8;
|
||||
}
|
||||
.ylayout-nested-layout .ylayout-panel-east {
|
||||
border-left:1px solid #99bbe8;
|
||||
}
|
||||
.ylayout-nested-layout .ylayout-panel-west {
|
||||
border-right:1px solid #99bbe8;
|
||||
}
|
||||
.ylayout-panel-dragover {
|
||||
border: 2px solid #99bbe8;
|
||||
}
|
||||
.ylayout-panel-proxy {
|
||||
background-image: url(../images/aero/layout/gradient-bg.gif);
|
||||
background-color:#f3f2e7;
|
||||
border:1px dashed #99bbe8;
|
||||
}
|
||||
/** Resizable */
|
||||
|
||||
.yresizable-proxy{
|
||||
border: 1px dashed #3b5a82;
|
||||
}
|
||||
|
||||
/* grid */
|
||||
.ygrid-hd{
|
||||
border-bottom:0px;
|
||||
background:none;
|
||||
}
|
||||
.ygrid-hd-body {
|
||||
border-bottom:0px none;
|
||||
}
|
||||
.ygrid-hd-over {
|
||||
border-bottom:0px none;
|
||||
}
|
||||
.ygrid-hd-over .ygrid-hd-body{
|
||||
background:none;
|
||||
border-bottom:0px none;
|
||||
}
|
||||
.ygrid-hd-over .ygrid-hd-body{
|
||||
background-color: transparent;
|
||||
border-bottom:0px;
|
||||
}
|
||||
.ygrid-hd-split {
|
||||
background-image: url(../images/aero/grid/grid-split.gif);
|
||||
}
|
||||
.ygrid-hrow{
|
||||
background: url(../images/aero/grid/grid-hrow.gif);
|
||||
height: 22px;
|
||||
border:0px none;
|
||||
}
|
||||
.ygrid-row-alt{
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
.ygrid-row{
|
||||
border-bottom: 1px solid #eeeeee;
|
||||
}
|
||||
.ygrid-col{
|
||||
border-right:1px solid #eeeeee;
|
||||
}
|
||||
.ygrid-sort-col .ygrid-hd-body {
|
||||
padding-bottom:4px;
|
||||
}
|
||||
|
||||
/** Toolbar */
|
||||
.ytoolbar{
|
||||
border:0px none;
|
||||
background: #E2ECF8;
|
||||
padding:1px 3px;
|
||||
border-bottom:1px solid #c0d7f4;
|
||||
}
|
||||
.ytoolbar .ytb-button-over{
|
||||
border:1px solid #8db2e3;
|
||||
}
|
||||
.ytoolbar .ytb-sep{
|
||||
background-image: url(../images/aero/grid/grid-blue-split.gif);
|
||||
}
|
||||
300
frontend/beta/css/yui-extensions/ytheme-gray.css
Normal file
300
frontend/beta/css/yui-extensions/ytheme-gray.css
Normal file
@@ -0,0 +1,300 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
/**
|
||||
* Basic-Dialog
|
||||
*/
|
||||
.ydlg-proxy {
|
||||
background-image: url(../images/gray/layout/gradient-bg.gif);
|
||||
background-color:#EAE8D5;
|
||||
border:1px solid #b3b6b0;
|
||||
}
|
||||
.ydlg-shadow{
|
||||
background:#aaaaaa;
|
||||
}
|
||||
.ydlg-proxy .tabset{
|
||||
background:url(../images/gray/layout/gradient-bg.gif);
|
||||
}
|
||||
.ydlg .ydlg-hd {
|
||||
background: url(../images/gray/basic-dialog/hd-sprite.gif) repeat-x 0px -82px;
|
||||
background-color:#333333;
|
||||
}
|
||||
.ydlg .ydlg-hd-left {
|
||||
background: url(../images/gray/basic-dialog/hd-sprite.gif) no-repeat 0px -41px;
|
||||
}
|
||||
.ydlg .ydlg-hd-right {
|
||||
background: url(../images/gray/basic-dialog/hd-sprite.gif) no-repeat right 0px;
|
||||
}
|
||||
.ydlg .ydlg-dlg-body{
|
||||
background:#efefec;
|
||||
border:1px solid #b3b6b0;
|
||||
border-top:0px none;
|
||||
}
|
||||
.ydlg .ytabs-top .yui-ext-tabbody{
|
||||
border:1px solid #b3b6b0;
|
||||
border-top:0px none;
|
||||
}
|
||||
.ydlg .ytabs-bottom .yui-ext-tabbody{
|
||||
border:1px solid #b3b6b0;
|
||||
border-bottom:0px none;
|
||||
}
|
||||
.ydlg .ylayout-container .yui-ext-tabbody{
|
||||
border:0px none;
|
||||
}
|
||||
.ydlg .ydlg-close {
|
||||
background-image:url(../images/gray/basic-dialog/close.gif);
|
||||
}
|
||||
.ydlg div.yresizable-handle-east{
|
||||
background-image:url(../images/gray/basic-dialog/e-handle.gif);
|
||||
border:0px none;
|
||||
}
|
||||
.ydlg div.yresizable-handle-south{
|
||||
background-image:url(../images/gray/basic-dialog/s-handle.gif);
|
||||
border:0px none;
|
||||
}
|
||||
.ydlg div.yresizable-handle-west{
|
||||
background-image:url(../images/gray/basic-dialog/e-handle.gif);
|
||||
border:0px none;
|
||||
}
|
||||
.ydlg div.yresizable-handle-southeast{
|
||||
background-image:url(../images/gray/basic-dialog/se-handle.gif);
|
||||
background-position: bottom right;
|
||||
width:8px;
|
||||
height:8px;
|
||||
border:0px;
|
||||
}
|
||||
.ydlg div.yresizable-handle-southwest{
|
||||
background-image:url(../images/gray/sizer/sw-handle-dark.gif);
|
||||
background-position: top right;
|
||||
margin-left:1px;
|
||||
margin-bottom:1px;
|
||||
border:0px;
|
||||
}
|
||||
.ydlg div.yresizable-handle-north{
|
||||
background-image:url(../images/gray/s.gif);
|
||||
border:0px none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Tabs
|
||||
*/
|
||||
.ytab-wrap {
|
||||
border-bottom:1px solid #aca899;
|
||||
}
|
||||
.ytab-strip .on .ytab-text {
|
||||
cursor:default;
|
||||
color:#333333;
|
||||
}
|
||||
.ytabs-top .ytab-strip .on .ytab-right {
|
||||
background: url(../images/gray/tabs/tab-sprite.gif) no-repeat right 0px;
|
||||
}
|
||||
.ytabs-top .ytab-strip .on .ytab-left {
|
||||
background: url(../images/gray/tabs/tab-sprite.gif) no-repeat 0px -100px;
|
||||
}
|
||||
.ytabs-top .ytab-strip .ytab-right {
|
||||
background: url(../images/gray/tabs/tab-sprite.gif) no-repeat right -50px;
|
||||
}
|
||||
.ytabs-top .ytab-strip .ytab-left {
|
||||
background: url(../images/gray/tabs/tab-sprite.gif) no-repeat 0px -150px;
|
||||
}
|
||||
.ytab-strip .ytab-closable .close-icon{
|
||||
background-image:url(../images/gray/layout/layout-sprite.gif);
|
||||
background-position: 50% -60px;
|
||||
}
|
||||
.ytab-strip .on .close-icon{
|
||||
background-image:url(../images/gray/layout/layout-sprite.gif);
|
||||
background-position: 50% -60px;
|
||||
}
|
||||
.ytab-strip .ytab-closable .close-over{
|
||||
background-image:url(../images/gray/layout/layout-sprite.gif);
|
||||
background-position: 50% -72px;
|
||||
}
|
||||
|
||||
.ytabs-bottom .ytab-wrap {
|
||||
border-bottom:0px none;
|
||||
padding-top:0px;
|
||||
border-top:1px solid #aca899;
|
||||
}
|
||||
.ytabs-bottom .ytab-strip .ytab-right {
|
||||
background: url(../images/gray/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom left;
|
||||
}
|
||||
.ytabs-bottom .ytab-strip .ytab-left {
|
||||
background: url(../images/gray/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom right;
|
||||
}
|
||||
.ytabs-bottom .ytab-strip .on .ytab-right {
|
||||
background: url(../images/gray/tabs/tab-btm-right-bg.gif) no-repeat bottom left;
|
||||
}
|
||||
.ytabs-bottom .ytab-strip .on .ytab-left {
|
||||
background: url(../images/gray/tabs/tab-btm-left-bg.gif) no-repeat bottom right;
|
||||
}
|
||||
|
||||
/* QuickTips */
|
||||
|
||||
.ytip .ytip-hd-right{
|
||||
background: url(../images/gray/basic-dialog/hd-sprite.gif) no-repeat right 0px;
|
||||
}
|
||||
.ytip .ytip-hd-left{
|
||||
background: url(../images/gray/basic-dialog/hd-sprite.gif) no-repeat 0px -41px;
|
||||
}
|
||||
.ytip .ytip-hd{
|
||||
background: url(../images/gray/basic-dialog/hd-sprite.gif) repeat-x 0px -82px;
|
||||
}
|
||||
.ytip .ytip-close{
|
||||
background-image: url(../images/gray/basic-dialog/close.gif);
|
||||
}
|
||||
.ytip .ytip-bd{
|
||||
background: #e7e7e7 url(../images/gray/qtip/bg.gif);
|
||||
border: 1px solid #ababab;
|
||||
}
|
||||
|
||||
/* BorderLayout */
|
||||
|
||||
.ylayout-container{
|
||||
background-color:#f3f2e7;
|
||||
}
|
||||
.ylayout-collapsed{
|
||||
background-color:#f3f2e7;
|
||||
border:1px solid #aca899;
|
||||
}
|
||||
.ylayout-collapsed-over{
|
||||
background-color:#fbfbef;
|
||||
}
|
||||
.ylayout-panel{
|
||||
border:1px solid #aca899;
|
||||
}
|
||||
.ylayout-nested-layout .ylayout-panel {
|
||||
border:0px none;
|
||||
}
|
||||
.ylayout-split{
|
||||
background-color:#f3f2e7;
|
||||
}
|
||||
.ylayout-panel-hd{
|
||||
background-image: url(../images/gray/layout/panel-title-light-bg.gif);
|
||||
border-bottom:1px solid #aca899;
|
||||
}
|
||||
.ylayout-tools-button-over{
|
||||
border:1px solid #aca899;
|
||||
}
|
||||
.ylayout-close{
|
||||
background-image:url(../images/gray/layout/layout-sprite.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50% -48px;
|
||||
}
|
||||
.ylayout-collapse-west,.ylayout-expand-east{
|
||||
background-image:url(../images/gray/layout/layout-sprite.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50% 0;
|
||||
}
|
||||
.ylayout-expand-west,.ylayout-collapse-east{
|
||||
background-image:url(../images/gray/layout/layout-sprite.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50% -12px;
|
||||
}
|
||||
.ylayout-collapse-north,.ylayout-expand-south{
|
||||
background-image:url(../images/gray/layout/layout-sprite.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50% -24px;
|
||||
}
|
||||
.ylayout-expand-north,.ylayout-collapse-south{
|
||||
background-image:url(../images/gray/layout/layout-sprite.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50% -36px;
|
||||
}
|
||||
.ylayout-split-h{
|
||||
background-image:url(../images/gray/sizer/e-handle-dark.gif);
|
||||
}
|
||||
.ylayout-split-v{
|
||||
background-image:url(../images/gray/sizer/s-handle-dark.gif);
|
||||
}
|
||||
.ylayout-panel .ytab-wrap{
|
||||
background:url(../images/gray/layout/gradient-bg.gif);
|
||||
}
|
||||
.ylayout-nested-layout .ylayout-panel-north {
|
||||
border-bottom:1px solid #aca899;
|
||||
}
|
||||
.ylayout-nested-layout .ylayout-panel-south {
|
||||
border-top:1px solid #aca899;
|
||||
}
|
||||
.ylayout-nested-layout .ylayout-panel-east {
|
||||
border-left:1px solid #aca899;
|
||||
}
|
||||
.ylayout-nested-layout .ylayout-panel-west {
|
||||
border-right:1px solid #aca899;
|
||||
}
|
||||
.ylayout-panel-dragover {
|
||||
border: 2px solid #aca899;
|
||||
}
|
||||
.ylayout-panel-proxy {
|
||||
background-image: url(../images/gray/layout/gradient-bg.gif);
|
||||
background-color:#f3f2e7;
|
||||
border:1px dashed #aca899;
|
||||
}
|
||||
/** Resizable */
|
||||
|
||||
.yresizable-over .yresizable-handle-east, .yresizable-pinned .yresizable-handle-east{
|
||||
background:url(../images/gray/sizer/e-handle.gif);
|
||||
background-position: left;
|
||||
}
|
||||
.yresizable-over .yresizable-handle-east, .yresizable-pinned .yresizable-handle-west{
|
||||
background:url(../images/gray/sizer/e-handle.gif);
|
||||
background-position: left;
|
||||
}
|
||||
.yresizable-over .yresizable-handle-south, .yresizable-pinned .yresizable-handle-south{
|
||||
background:url(../images/gray/sizer/s-handle.gif);
|
||||
background-position: top;
|
||||
}
|
||||
.yresizable-over .yresizable-handle-south, .yresizable-pinned .yresizable-handle-north{
|
||||
background:url(../images/gray/sizer/s-handle.gif);
|
||||
background-position: top;
|
||||
}
|
||||
.yresizable-over .yresizable-handle-southeast, .yresizable-pinned .yresizable-handle-southeast{
|
||||
background:url(../images/gray/sizer/se-handle.gif);
|
||||
background-position: top left;
|
||||
}
|
||||
.yresizable-over .yresizable-handle-northwest,.yresizable-pinned .yresizable-handle-northwest{
|
||||
background:url(../images/gray/sizer/nw-handle.gif);
|
||||
background-position:bottom right;
|
||||
}
|
||||
.yresizable-over .yresizable-handle-northeast,.yresizable-pinned .yresizable-handle-northeast{
|
||||
background:url(../images/gray/sizer/ne-handle.gif);
|
||||
background-position: bottom left;
|
||||
}
|
||||
.yresizable-over .yresizable-handle-southwest,.yresizable-pinned .yresizable-handle-southwest{
|
||||
background:url(../images/gray/sizer/sw-handle.gif);
|
||||
background-position: top right;
|
||||
}
|
||||
.yresizable-proxy{
|
||||
border: 1px dashed #615e55;
|
||||
}
|
||||
|
||||
/** Toolbar */
|
||||
.ytoolbar{
|
||||
border:0px none;
|
||||
background: #efefe3 url(../images/gray/toolbar/gray-bg.gif) repeat-x;
|
||||
padding:3px;
|
||||
}
|
||||
403
frontend/beta/css/yui-extensions/ytheme-vista.css
Normal file
403
frontend/beta/css/yui-extensions/ytheme-vista.css
Normal file
@@ -0,0 +1,403 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
/**
|
||||
* Tabs
|
||||
*/
|
||||
.ytab-wrap {
|
||||
background:#4f4f4f;
|
||||
border-bottom:1px solid #b3b6b0;
|
||||
}
|
||||
.ytab-strip .ytab-text {
|
||||
color:white;
|
||||
font-weight:normal;
|
||||
}
|
||||
.ytab-strip .on .ytab-text {
|
||||
cursor:default;
|
||||
color:#333333;
|
||||
}
|
||||
.ytabs-top .ytab-strip a:hover {
|
||||
background:transparent url(../images/vista/tabs/tab-sprite.gif) no-repeat right -50px;
|
||||
}
|
||||
.ytabs-top .ytab-strip a:hover .ytab-left {
|
||||
background:transparent url(../images/vista/tabs/tab-sprite.gif) no-repeat 0 -150px;
|
||||
}
|
||||
.ytabs-top .ytab-strip .on .ytab-right, .ytabs-top .ytab-strip .on a:hover {
|
||||
background: url(../images/vista/tabs/tab-sprite.gif) no-repeat right 0;
|
||||
}
|
||||
.ytabs-top .ytab-strip .on .ytab-left, .ytabs-top .ytab-strip .on a:hover .ytab-left {
|
||||
background: url(../images/vista/tabs/tab-sprite.gif) no-repeat 0 -100px;
|
||||
}
|
||||
.ytabs-top .ytab-strip .ytab-right {
|
||||
background:transparent;
|
||||
}
|
||||
.ytabs-top .ytab-strip .ytab-left {
|
||||
background:transparent;
|
||||
}
|
||||
.ytab-strip .ytab-closable .close-icon{
|
||||
background-image:url(../images/vista/layout/layout-sprite.gif);
|
||||
background-position: 50% -60px;
|
||||
}
|
||||
.ytab-strip .on .close-icon{
|
||||
background-image:url(../images/vista/layout/layout-sprite.gif);
|
||||
background-position: 50% -72px;
|
||||
}
|
||||
.ytab-strip .ytab-closable .close-over{
|
||||
background-image:url(../images/vista/layout/layout-sprite.gif);
|
||||
background-position: 50% -72px;
|
||||
}
|
||||
|
||||
.ytabs-bottom .ytab-strip {
|
||||
background:#4f4f4f;
|
||||
}
|
||||
.ytabs-bottom .ytab-strip a:hover {
|
||||
background:transparent url(../images/vista/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom right;
|
||||
}
|
||||
.ytabs-bottom .ytab-strip a:hover .ytab-left{
|
||||
background:transparent url(../images/vista/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom left;
|
||||
}
|
||||
.ytabs-bottom .ytab-wrap {
|
||||
border-bottom:0px none;
|
||||
padding-top:0px;
|
||||
border-top:1px solid #b3b6b0;
|
||||
}
|
||||
.ytabs-bottom .ytab-strip .ytab-right {
|
||||
background:transparent;
|
||||
}
|
||||
.ytabs-bottom .ytab-strip .ytab-left {
|
||||
background:transparent;
|
||||
}
|
||||
.ytabs-bottom .ytab-strip .on .ytab-right,.ytabs-bottom .ytab-strip .on a:hover {
|
||||
background: url(../images/vista/tabs/tab-btm-right-bg.gif) no-repeat bottom left;
|
||||
}
|
||||
.ytabs-bottom .ytab-strip .on .ytab-left,.ytabs-bottom .ytab-strip .on a:hover .ytab-left {
|
||||
background: url(../images/vista/tabs/tab-btm-left-bg.gif) no-repeat bottom right;
|
||||
}
|
||||
/**
|
||||
* Basic-Dialog
|
||||
*/
|
||||
.ydlg-proxy {
|
||||
background:#d3d6d0;
|
||||
border:2px solid #b3b6b0;
|
||||
}
|
||||
.ydlg-shadow{
|
||||
background:#cccccc;
|
||||
opacity:.3;
|
||||
-moz-opacity:.3;
|
||||
filter: alpha(opacity=30);
|
||||
}
|
||||
.ydlg .ydlg-hd {
|
||||
background: url(../images/vista/basic-dialog/hd-sprite.gif) repeat-x 0px -82px;
|
||||
background-color:#333333;
|
||||
zoom:1;
|
||||
}
|
||||
.ydlg .ydlg-hd-left {
|
||||
opacity:.95;-moz-opacity:.95;filter:alpha(opacity=90);
|
||||
background: url(../images/vista/basic-dialog/hd-sprite.gif) no-repeat 0px -41px;
|
||||
zoom:1;
|
||||
}
|
||||
.ydlg .ydlg-hd-right {
|
||||
background: url(../images/vista/basic-dialog/hd-sprite.gif) no-repeat right 0px;
|
||||
zoom:1;
|
||||
}
|
||||
.ydlg .ydlg-dlg-body{
|
||||
background:#fff;
|
||||
border:0 none;
|
||||
border-top:0px none;
|
||||
padding:0px 0px 0px;
|
||||
position:absolute;
|
||||
top:24px;left:0px;
|
||||
z-index:1;
|
||||
}
|
||||
.ydlg-auto-tabs .ydlg-dlg-body{
|
||||
background:transparent;
|
||||
}
|
||||
.ydlg-auto-tabs .ytabs-top .ytab-wrap{
|
||||
background:transparent;
|
||||
}
|
||||
.ydlg .ydlg-ft{
|
||||
border-top:1px solid #b3b6b0;
|
||||
background:#F0F0F0;
|
||||
padding-bottom:8px;
|
||||
}
|
||||
.ydlg .ydlg-bg{
|
||||
opacity:.90;-moz-opacity:.90;filter:alpha(opacity=85);
|
||||
zoom:1;
|
||||
}
|
||||
.ydlg .ydlg-bg-left,.ydlg .ydlg-bg-center,.ydlg .ydlg-bg-right{
|
||||
}
|
||||
.ydlg .ydlg-bg-center {
|
||||
padding: 0px 4px 4px 4px;
|
||||
background:transparent url(../images/vista/basic-dialog/bg-center.gif) repeat-x bottom;
|
||||
zoom:1;
|
||||
}
|
||||
.ydlg .ydlg-bg-left{
|
||||
padding-left:4px;
|
||||
background:transparent url(../images/vista/basic-dialog/bg-left.gif) no-repeat bottom left;
|
||||
zoom:1;
|
||||
}
|
||||
.ydlg .ydlg-bg-right{
|
||||
padding-right:4px;
|
||||
background:transparent url(../images/vista/basic-dialog/bg-right.gif) no-repeat bottom right;
|
||||
zoom:1;
|
||||
}
|
||||
.ydlg .ytabs-top .yui-ext-tabbody{
|
||||
border:0px none;
|
||||
}
|
||||
.ydlg .ytabs-bottom .yui-ext-tabbody{
|
||||
border:1px solid #b3b6b0;
|
||||
border-bottom:0px none;
|
||||
}
|
||||
.ydlg .ylayout-container .yui-ext-tabbody{
|
||||
border:0px none;
|
||||
}
|
||||
.ydlg .ydlg-close {
|
||||
background-image:url(../images/vista/basic-dialog/close.gif);
|
||||
}
|
||||
.ydlg div.yresizable-handle-east{
|
||||
background-image:url(../images/vista/s.gif);
|
||||
border:0px none;
|
||||
}
|
||||
.ydlg div.yresizable-handle-south{
|
||||
background-image:url(../images/vista/s.gif);
|
||||
border:0px none;
|
||||
}
|
||||
.ydlg div.yresizable-handle-west{
|
||||
background-image:url(../images/vista/s.gif);
|
||||
border:0px none;
|
||||
}
|
||||
.ydlg div.yresizable-handle-southeast{
|
||||
background-image:url(../images/vista/s.gif);
|
||||
background-position: bottom right;
|
||||
width:8px;
|
||||
height:8px;
|
||||
border:0px;
|
||||
}
|
||||
.ydlg div.yresizable-handle-southwest{
|
||||
background-image:url(../images/vista/s.gif);
|
||||
background-position: top right;
|
||||
margin-left:1px;
|
||||
margin-bottom:1px;
|
||||
border:0px;
|
||||
}
|
||||
.ydlg div.yresizable-handle-north{
|
||||
background-image:url(../images/vista/s.gif);
|
||||
border:0px none;
|
||||
}
|
||||
|
||||
/* QuickTips */
|
||||
|
||||
.ytip .ytip-hd-right{
|
||||
background: url(../images/vista/basic-dialog/hd-sprite.gif) no-repeat right 0px;
|
||||
}
|
||||
.ytip .ytip-hd-left{
|
||||
background: url(../images/vista/basic-dialog/hd-sprite.gif) no-repeat 0px -41px;
|
||||
}
|
||||
.ytip .ytip-hd{
|
||||
background: url(../images/vista/basic-dialog/hd-sprite.gif) repeat-x 0px -82px;
|
||||
}
|
||||
.ytip .ytip-close{
|
||||
background-image: url(../images/vista/basic-dialog/close.gif);
|
||||
}
|
||||
.ytip .ytip-bd{
|
||||
background: #e7e7e7 url(../images/vista/qtip/bg.gif);
|
||||
border: 1px solid #ababab;
|
||||
}
|
||||
|
||||
/* BorderLayout */
|
||||
.ylayout-container{
|
||||
background:#4f4f4f;
|
||||
}
|
||||
.ylayout-collapsed{
|
||||
background-color:#9f9f9f;
|
||||
border:1px solid #4c535c;
|
||||
}
|
||||
.ylayout-collapsed-over{
|
||||
background-color:#bfbfbf;
|
||||
}
|
||||
.ylayout-panel{
|
||||
border:1px solid #4c535c;
|
||||
}
|
||||
.ylayout-nested-layout .ylayout-panel {
|
||||
border:0px none;
|
||||
}
|
||||
.ylayout-split{
|
||||
background-color:#f3f2e7;
|
||||
}
|
||||
.ylayout-panel-hd{
|
||||
background-image: url(../images/vista/layout/panel-title-bg.gif);
|
||||
border-bottom:1px solid #b5bac1;
|
||||
}
|
||||
.ylayout-panel-hd-text{
|
||||
color:white;
|
||||
}
|
||||
.ylayout-tools-button-over{
|
||||
border:1px solid #4c535c;
|
||||
background:#9f9f9f url(../images/vista/layout/panel-title-bg.gif) repeat-x;
|
||||
}
|
||||
.ylayout-close{
|
||||
background-image:url(../images/vista/layout/layout-sprite.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50% -60px;
|
||||
}
|
||||
.ylayout-collapse-west,.ylayout-expand-east{
|
||||
background-image:url(../images/vista/layout/layout-sprite.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50% 0;
|
||||
}
|
||||
.ylayout-expand-west,.ylayout-collapse-east{
|
||||
background-image:url(../images/vista/layout/layout-sprite.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50% -12px;
|
||||
}
|
||||
.ylayout-collapse-north,.ylayout-expand-south{
|
||||
background-image:url(../images/vista/layout/layout-sprite.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50% -24px;
|
||||
}
|
||||
.ylayout-expand-north,.ylayout-collapse-south{
|
||||
background-image:url(../images/vista/layout/layout-sprite.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50% -36px;
|
||||
}
|
||||
.ylayout-split-h{
|
||||
background:#9f9f9f;
|
||||
}
|
||||
.ylayout-split-v{
|
||||
background:#9f9f9f;
|
||||
}
|
||||
.ylayout-panel .ytab-wrap{
|
||||
background:#4f4f4f;
|
||||
}
|
||||
.ylayout-nested-layout .ylayout-panel-north {
|
||||
border-bottom:1px solid #4c535c;
|
||||
}
|
||||
.ylayout-nested-layout .ylayout-panel-south {
|
||||
border-top:1px solid #4c535c;
|
||||
}
|
||||
.ylayout-nested-layout .ylayout-panel-east {
|
||||
border-left:1px solid #4c535c;
|
||||
}
|
||||
.ylayout-nested-layout .ylayout-panel-west {
|
||||
border-right:1px solid #4c535c;
|
||||
}
|
||||
.ylayout-panel-dragover {
|
||||
border: 2px solid #4c535c;
|
||||
}
|
||||
.ylayout-panel-proxy {
|
||||
background-image: url(../images/vista/layout/gradient-bg.gif);
|
||||
background-color:#f3f2e7;
|
||||
border:1px dashed #4c535c;
|
||||
}
|
||||
/** Resizable */
|
||||
|
||||
.yresizable-over .yresizable-handle-east, .yresizable-pinned .yresizable-handle-east{
|
||||
background:url(../images/vista/sizer/e-handle.gif);
|
||||
background-position: left;
|
||||
}
|
||||
.yresizable-over .yresizable-handle-east, .yresizable-pinned .yresizable-handle-west{
|
||||
background:url(../images/vista/sizer/e-handle.gif);
|
||||
background-position: left;
|
||||
}
|
||||
.yresizable-over .yresizable-handle-south, .yresizable-pinned .yresizable-handle-south{
|
||||
background:url(../images/vista/sizer/s-handle.gif);
|
||||
background-position: top;
|
||||
}
|
||||
.yresizable-over .yresizable-handle-south, .yresizable-pinned .yresizable-handle-north{
|
||||
background:url(../images/vista/sizer/s-handle.gif);
|
||||
background-position: top;
|
||||
}
|
||||
.yresizable-over .yresizable-handle-southeast, .yresizable-pinned .yresizable-handle-southeast{
|
||||
background:url(../images/vista/sizer/se-handle.gif);
|
||||
background-position: top left;
|
||||
}
|
||||
.yresizable-over .yresizable-handle-northwest,.yresizable-pinned .yresizable-handle-northwest{
|
||||
background:url(../images/vista/sizer/nw-handle.gif);
|
||||
background-position:bottom right;
|
||||
}
|
||||
.yresizable-over .yresizable-handle-northeast,.yresizable-pinned .yresizable-handle-northeast{
|
||||
background:url(../images/vista/sizer/ne-handle.gif);
|
||||
background-position: bottom left;
|
||||
}
|
||||
.yresizable-over .yresizable-handle-southwest,.yresizable-pinned .yresizable-handle-southwest{
|
||||
background:url(../images/vista/sizer/sw-handle.gif);
|
||||
background-position: top right;
|
||||
}
|
||||
.yresizable-proxy{
|
||||
border: 1px dashed #615e55;
|
||||
}
|
||||
|
||||
/** Toolbar */
|
||||
.ytoolbar{
|
||||
border:0px none;
|
||||
background: #efefe3 url(../images/vista/toolbar/gray-bg.gif) repeat-x;
|
||||
padding:3px;
|
||||
}
|
||||
.ytoolbar .ytb-button-over{
|
||||
border:1px solid transparent;
|
||||
border-bottom:1px solid #bbbbbb;
|
||||
border-top:1px solid #eeeeee;
|
||||
background:#9f9f9f url(../images/vista/grid/grid-vista-hd.gif) repeat-x;
|
||||
}
|
||||
/* grid */
|
||||
.ygrid-hd{
|
||||
border-bottom:0px;
|
||||
background:none;
|
||||
}
|
||||
.ygrid-hd-body {
|
||||
border-bottom: 1px solid #b3bcc0;
|
||||
}
|
||||
.ygrid-hd-over{
|
||||
border-bottom:0px;
|
||||
}
|
||||
.ygrid-hd-over .ygrid-hd-body{
|
||||
background-color: transparent;
|
||||
border-bottom:0px;
|
||||
}
|
||||
.ygrid-hd-split {
|
||||
background-image: url(../images/vista/grid/grid-split.gif);
|
||||
}
|
||||
.ygrid-hrow{
|
||||
background: url(../images/vista/grid/grid-vista-hd.gif);
|
||||
height: 21px;
|
||||
}
|
||||
.ygrid-row-alt{
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
.ygrid-row-selected{
|
||||
background-color: #535353 !important;
|
||||
color: white;
|
||||
}
|
||||
.ygrid-row-selected span{
|
||||
color: white !important;
|
||||
}
|
||||
.ygrid-wrap-body {
|
||||
}
|
||||
.ytoolbar .ytb-sep{
|
||||
background-image: url(../images/vista/grid/grid-split.gif);
|
||||
}
|
||||
189
frontend/beta/css/yui/calendar.css
Normal file
189
frontend/beta/css/yui/calendar.css
Normal file
@@ -0,0 +1,189 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
Version 0.11.3
|
||||
*/
|
||||
|
||||
.yui-cal2upwrapper {*height:1%;} /* IE */
|
||||
.yui-cal2upwrapper:after {content:'.';clear:both;display:block;visibility:hidden;height:0;} /* others */
|
||||
|
||||
.yui-calcontainer {
|
||||
float:left;
|
||||
padding:5px;
|
||||
background-color:#F7F9FB;
|
||||
border:1px solid #7B9EBD;
|
||||
}
|
||||
|
||||
.yui-calcontainer .title {
|
||||
font:100% sans-serif;
|
||||
color:#000;
|
||||
font-weight:bold;
|
||||
margin-bottom:5px;
|
||||
height:auto;
|
||||
position:relative;
|
||||
}
|
||||
|
||||
.yui-calcontainer .title .close-icon {
|
||||
position:absolute;
|
||||
right:0;
|
||||
top:0;
|
||||
border:none;
|
||||
}
|
||||
|
||||
.yui-calcontainer .cal2up {
|
||||
float:left;
|
||||
}
|
||||
|
||||
.yui-calendar .calnavleft {
|
||||
position:absolute;
|
||||
background-repeat:no-repeat;
|
||||
cursor:pointer;
|
||||
top:2px;
|
||||
bottom:0;
|
||||
width:9px;
|
||||
height:12px;
|
||||
left:2px;
|
||||
}
|
||||
|
||||
.yui-calendar .calnavright {
|
||||
position:absolute;
|
||||
background-repeat:no-repeat;
|
||||
cursor:pointer;
|
||||
top:2px;
|
||||
bottom:0;
|
||||
width:9px;
|
||||
height:12px;
|
||||
right:2px;
|
||||
}
|
||||
|
||||
/* Calendar element styles */
|
||||
|
||||
.yui-calendar {
|
||||
font:100% sans-serif;
|
||||
text-align:center;
|
||||
border-spacing:0;
|
||||
border-collapse:separate;
|
||||
}
|
||||
|
||||
.yui-calendar td.calcell {
|
||||
padding:.1em .2em;
|
||||
border:1px solid #E0E0E0;
|
||||
background-color:#FFF;
|
||||
}
|
||||
|
||||
.yui-calendar td.calcell a {
|
||||
color:#003DB8;
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
.yui-calendar td.calcell.today {
|
||||
border:1px solid #000;
|
||||
}
|
||||
|
||||
.yui-calendar td.calcell.oom {
|
||||
cursor:default;
|
||||
color:#999;
|
||||
background-color:#EEE;
|
||||
border:1px solid #E0E0E0;
|
||||
}
|
||||
|
||||
.yui-calendar td.calcell.selected {
|
||||
color:#003DB8;
|
||||
background-color:#FFF19F;
|
||||
border:1px solid #FF9900;
|
||||
}
|
||||
|
||||
.yui-calendar td.calcell.calcellhover {
|
||||
cursor:pointer;
|
||||
color:#FFF;
|
||||
background-color:#FF9900;
|
||||
border:1px solid #FF9900;
|
||||
}
|
||||
|
||||
.yui-calendar td.calcell.calcellhover a {
|
||||
color:#FFF;
|
||||
}
|
||||
|
||||
.yui-calendar td.calcell.restricted {
|
||||
text-decoration:line-through;
|
||||
}
|
||||
|
||||
.yui-calendar td.calcell.previous {
|
||||
color:#CCC;
|
||||
}
|
||||
|
||||
.yui-calendar td.calcell.highlight1 { background-color:#CCFF99; }
|
||||
.yui-calendar td.calcell.highlight2 { background-color:#99CCFF; }
|
||||
.yui-calendar td.calcell.highlight3 { background-color:#FFCCCC; }
|
||||
.yui-calendar td.calcell.highlight4 { background-color:#CCFF99; }
|
||||
|
||||
|
||||
.yui-calendar .calhead {
|
||||
border:1px solid #E0E0E0;
|
||||
vertical-align:middle;
|
||||
background-color:#FFF;
|
||||
}
|
||||
|
||||
.yui-calendar .calheader {
|
||||
position:relative;
|
||||
width:100%;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.yui-calendar .calheader img {
|
||||
border:none;
|
||||
}
|
||||
|
||||
.yui-calendar .calweekdaycell {
|
||||
color:#666;
|
||||
font-weight:normal;
|
||||
}
|
||||
|
||||
.yui-calendar .calfoot {
|
||||
background-color:#EEE;
|
||||
}
|
||||
|
||||
.yui-calendar .calrowhead, .yui-calendar .calrowfoot {
|
||||
color:#666;
|
||||
font-size:9px;
|
||||
font-style:italic;
|
||||
font-weight:normal;
|
||||
width:15px;
|
||||
}
|
||||
|
||||
.yui-calendar .calrowhead {
|
||||
border-right-width:2px;
|
||||
}
|
||||
|
||||
/*Specific changes for calendar running under fonts/reset */
|
||||
.yui-calendar a:hover {background:inherit;}
|
||||
p#clear {clear:left; padding-top:10px;}
|
||||
240
frontend/beta/css/yui/container.css
Normal file
240
frontend/beta/css/yui/container.css
Normal file
@@ -0,0 +1,240 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
Version 0.11.4
|
||||
*/
|
||||
|
||||
.overlay {
|
||||
position:absolute;
|
||||
display:block;
|
||||
}
|
||||
|
||||
.tt {
|
||||
visibility:hidden;
|
||||
position:absolute;
|
||||
color:#333;
|
||||
background-color:#FDFFB4;
|
||||
font-family:arial,helvetica,verdana,sans-serif;
|
||||
padding:2px;
|
||||
border:1px solid #FCC90D;
|
||||
font:100% sans-serif;
|
||||
width:auto;
|
||||
}
|
||||
|
||||
* html body.masked select {
|
||||
visibility:hidden;
|
||||
}
|
||||
|
||||
* html div.panel-container select {
|
||||
visibility:inherit;
|
||||
}
|
||||
|
||||
* html div.drag select {
|
||||
visibility:hidden;
|
||||
}
|
||||
|
||||
* html div.hide-select select {
|
||||
visibility:hidden;
|
||||
}
|
||||
|
||||
.mask {
|
||||
z-index:0;
|
||||
display:none;
|
||||
position:absolute;
|
||||
top:0;
|
||||
left:0;
|
||||
-moz-opacity: 0.5;
|
||||
opacity:.50;
|
||||
filter: alpha(opacity=50);
|
||||
background-color:#CCC;
|
||||
}
|
||||
|
||||
.hide-scrollbars * {
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
.hide-scrollbars textarea, .hide-scrollbars select {
|
||||
overflow:hidden;
|
||||
display:none;
|
||||
}
|
||||
|
||||
.show-scrollbars textarea, .show-scrollbars select {
|
||||
overflow:visible;
|
||||
}
|
||||
|
||||
.panel-container {
|
||||
position:absolute;
|
||||
background-color:transparent;
|
||||
z-index:6;
|
||||
visibility:hidden;
|
||||
overflow:visible;
|
||||
width:auto;
|
||||
}
|
||||
|
||||
.panel-container.matte {
|
||||
padding:3px;
|
||||
background-color:#FFF;
|
||||
}
|
||||
|
||||
.panel-container.matte .underlay {
|
||||
display:none;
|
||||
}
|
||||
|
||||
.panel-container.shadow {
|
||||
padding:0px;
|
||||
background-color:transparent;
|
||||
}
|
||||
|
||||
.panel-container.shadow .underlay {
|
||||
visibility:inherit;
|
||||
position:absolute;
|
||||
background-color:#CCC;
|
||||
top:3px;left:3px;
|
||||
z-index:0;
|
||||
width:100%;
|
||||
height:100%;
|
||||
-moz-opacity: 0.7;
|
||||
opacity:.70;
|
||||
filter:alpha(opacity=70);
|
||||
zoom:1;
|
||||
}
|
||||
|
||||
.panel {
|
||||
visibility:hidden;
|
||||
border-collapse:separate;
|
||||
position:relative;
|
||||
left:0px;top:0px;
|
||||
font:1em Arial;
|
||||
background-color:#FFF;
|
||||
border:1px solid #000;
|
||||
z-index:1;
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
.panel .hd {
|
||||
background-color:#3d77cb;
|
||||
color:#FFF;
|
||||
font-size:100%;
|
||||
line-height:100%;
|
||||
border:1px solid #FFF;
|
||||
border-bottom:1px solid #000;
|
||||
font-weight:bold;
|
||||
overflow:hidden;
|
||||
padding:4px;
|
||||
}
|
||||
|
||||
.panel .bd {
|
||||
overflow:hidden;
|
||||
padding:4px;
|
||||
}
|
||||
|
||||
.panel .bd p {
|
||||
margin:0 0 1em;
|
||||
}
|
||||
|
||||
.panel .close {
|
||||
position:absolute;
|
||||
top:5px;
|
||||
right:4px;
|
||||
z-index:6;
|
||||
height:12px;
|
||||
width:12px;
|
||||
margin:0px;
|
||||
padding:0px;
|
||||
background-repeat:no-repeat;
|
||||
cursor:pointer;
|
||||
visibility:inherit;
|
||||
}
|
||||
|
||||
.panel .close.nonsecure {
|
||||
background-image:url(../../images/yui/container/close12_1.gif);
|
||||
}
|
||||
|
||||
.panel .close.secure {
|
||||
background-image:url(../../images/yui/container/close12_1.gif);
|
||||
}
|
||||
|
||||
.panel .ft {
|
||||
padding:4px;
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
.simple-dialog .bd .icon {
|
||||
background-repeat:no-repeat;
|
||||
width:16px;
|
||||
height:16px;
|
||||
margin-right:10px;
|
||||
float:left;
|
||||
}
|
||||
|
||||
.dialog .ft, .simple-dialog .ft {
|
||||
padding-bottom:5px;
|
||||
padding-right:5px;
|
||||
text-align:right;
|
||||
}
|
||||
|
||||
.dialog form, .simple-dialog form {
|
||||
margin:0;
|
||||
}
|
||||
|
||||
.button-group button {
|
||||
font:100 76% verdana;
|
||||
text-decoration:none;
|
||||
background-color: #E4E4E4;
|
||||
color: #333;
|
||||
cursor: hand;
|
||||
vertical-align: middle;
|
||||
border: 2px solid #797979;
|
||||
border-top-color:#FFF;
|
||||
border-left-color:#FFF;
|
||||
margin:2px;
|
||||
padding:2px;
|
||||
}
|
||||
|
||||
.button-group button.default {
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
.button-group button:hover, .button-group button.hover {
|
||||
border:2px solid #90A029;
|
||||
background-color:#EBF09E;
|
||||
border-top-color:#FFF;
|
||||
border-left-color:#FFF;
|
||||
}
|
||||
|
||||
.button-group button:active {
|
||||
border:2px solid #E4E4E4;
|
||||
background-color:#BBB;
|
||||
border-top-color:#333;
|
||||
border-left-color:#333;
|
||||
}
|
||||
|
||||
62
frontend/beta/css/yui/fonts.css
Normal file
62
frontend/beta/css/yui/fonts.css
Normal file
@@ -0,0 +1,62 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 0.11.3
|
||||
*/
|
||||
|
||||
/**
|
||||
* 84.5% for !IE, keywords for IE
|
||||
* Percents could work for IE, but for backCompat purposes, we are using
|
||||
keywords.
|
||||
* x-small is for IE < 6 and IE6 quirks mode.
|
||||
*
|
||||
*/
|
||||
body {font:13px arial,helvetica,clean,sans-serif;*font-size:small;*font:x-
|
||||
small;}
|
||||
table {font-size:inherit;font:100%;}
|
||||
|
||||
/**
|
||||
* 99% for safari; 100% is too large
|
||||
*/
|
||||
select, input, textarea {font:99% arial,helvetica,clean,sans-serif;}
|
||||
|
||||
/**
|
||||
* Bump up !IE to get to 13px equivalent
|
||||
*/
|
||||
pre, code {font:115% monospace;*font-size:100%;}
|
||||
|
||||
/**
|
||||
* Default line-height based on font-size rather than "computed-value"
|
||||
* see: http://www.w3.org/TR/CSS21/visudet.html#line-height
|
||||
*/
|
||||
body * {line-height:1.22em;}
|
||||
|
||||
116
frontend/beta/css/yui/grids.css
Normal file
116
frontend/beta/css/yui/grids.css
Normal file
@@ -0,0 +1,116 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 0.11.3
|
||||
*/
|
||||
body {
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
#doc {
|
||||
width:57.69em;
|
||||
*width:56.3em; /* IE */
|
||||
min-width:750px;
|
||||
margin:auto;
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
#hd,#bd {margin-bottom:1em;text-align:left;}
|
||||
#ft {font-size:77%;font-family:verdana;clear:both;}
|
||||
|
||||
/* rules for main templates */
|
||||
.yui-t1 #yui-main .yui-b, .yui-t2 #yui-main .yui-b, .yui-t3 #yui-main .yui-b,
|
||||
.yui-t4 .yui-b, .yui-t5 .yui-b, .yui-t6 .yui-b {float:right;}
|
||||
.yui-t1 .yui-b, .yui-t2 .yui-b, .yui-t3 .yui-b, .yui-t4 #yui-main .yui-b, .yui-
|
||||
t5 #yui-main .yui-b, .yui-t6 #yui-main .yui-b {float:left;}
|
||||
|
||||
/* t1: L160 */
|
||||
.yui-t1 #yui-main .yui-b {width:76%;min-width:570px;}
|
||||
.yui-t1 .yui-b {width:21.33%;min-width:160px;}
|
||||
|
||||
/* t2 & t4: L180 & R180 */
|
||||
.yui-t2 #yui-main .yui-b, .yui-t4 #yui-main .yui-b {width:73.4%;min-
|
||||
width:550px;}
|
||||
.yui-t2 .yui-b, .yui-t4 .yui-b {width:24%;min-width:180px;}
|
||||
|
||||
/* t3 & t6: L300 & R300 */
|
||||
.yui-t3 #yui-main .yui-b, .yui-t6 #yui-main .yui-b {width:57.6%;min-
|
||||
width:430px;}
|
||||
.yui-t3 .yui-b, .yui-t6 .yui-b {width:40%;min-width:300px;}
|
||||
|
||||
/* t5: R240 */
|
||||
.yui-t5 #yui-main .yui-b {width:65.4%;min-width:490px;}
|
||||
.yui-t5 .yui-b {width:32%;min-width:240px;}
|
||||
|
||||
/* t7: 750 */
|
||||
|
||||
|
||||
|
||||
/* grid-generic rules for all templates */
|
||||
|
||||
/* all modules and grids nested in a grid get floated */
|
||||
.yui-g .yui-u, .yui-g .yui-g, .yui-ge .yui-u, .yui-gf .yui-u {
|
||||
float:right;
|
||||
display:inline; /* IE */
|
||||
}
|
||||
|
||||
/* float left and kill margin on first for added flex */
|
||||
.yui-g .first, .yui-gd .first, .yui-ge .first, .yui-gf .first {float:left; }
|
||||
|
||||
/* 2 col */
|
||||
.yui-g .yui-u, .yui-g .yui-g {width:49.1%;}
|
||||
.yui-g .yui-g .yui-u {width:48.1%;} /* smaller for nested to preserve margins */
|
||||
|
||||
/* 3 col */
|
||||
.yui-gb .yui-u, .yui-gc .yui-u, .yui-gd .yui-u {
|
||||
float:left; /* need to reverse the order for 3 */
|
||||
margin-left:2%; *margin-left:1.895%;
|
||||
width:32%;
|
||||
}
|
||||
|
||||
.yui-gb .first, .yui-gc .first, .yui-gd .first {margin-left:0;}
|
||||
|
||||
/* colspan 2 */
|
||||
.yui-gc .first, .yui-gd .yui-u {width:66%;}
|
||||
.yui-gd .first {width:32%;}
|
||||
|
||||
/* colspan 3 */
|
||||
.yui-ge .yui-u {width:24%;}
|
||||
.yui-ge .first, .yui-gf .yui-u {width:74.2%;}
|
||||
.yui-gf .first {width:24%;}
|
||||
.yui-ge .first {width:74.2%;}
|
||||
|
||||
/* self clear floated parent containers */
|
||||
#bd:after, .yui-g:after, .yui-gb:after, .yui-gc:after, .yui-gd:after, .yui-
|
||||
ge:after, .yui-gf:after
|
||||
{content:".";display:block;height:0;clear:both;visibility:hidden;}
|
||||
#bd, .yui-g, .yui-gb, .yui-gc, .yui-gd, .yui-ge, .yui-gf {zoom:1;} /* IE */
|
||||
49
frontend/beta/css/yui/logger.css
Normal file
49
frontend/beta/css/yui/logger.css
Normal file
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
/* Copyright (c) 2006, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: http://developer.yahoo.net/yui/license.txt Version: 0.11.3 */
|
||||
|
||||
/* logger default styles */
|
||||
|
||||
/* font size is controlled here: default 77% */
|
||||
|
||||
#yui-log {position:absolute;top:1em;right:1em;font-size:77%;text-align:left;}
|
||||
|
||||
/* width is controlled here: default 31em */
|
||||
|
||||
.yui-log {padding:1em;width:31em;background-color:#AAA;border:1px solid black;font-family:monospace;z-index:9000;}
|
||||
|
||||
.yui-log p {margin:1px;padding:.1em;}
|
||||
|
||||
.yui-log button {font-family:monospace;}
|
||||
|
||||
.yui-log .yui-log-hd {margin-top:1em;padding:.5em;background-color:#575757;color:#FFF;}
|
||||
|
||||
/* height is controlled here: default 20em*/
|
||||
|
||||
.yui-log .yui-log-bd {width:100%;height:20em;background-color:#FFF;border:1px solid gray;overflow:auto;}
|
||||
328
frontend/beta/css/yui/menu.css
Normal file
328
frontend/beta/css/yui/menu.css
Normal file
@@ -0,0 +1,328 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.com/yui/license.txt
|
||||
Version: 0.11.3
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/* Menu styles */
|
||||
|
||||
div.yuimenu {
|
||||
|
||||
z-index:1;
|
||||
visibility:hidden;
|
||||
background-color:#f6f7ee;
|
||||
border:solid 1px #c4c4be;
|
||||
padding:1px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* MenuBar Styles */
|
||||
|
||||
div.yuimenubar {
|
||||
|
||||
background-color:#f6f7ee;
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
Application of "zoom:1" triggers "haslayout" in IE so that the module's
|
||||
body clears its floated elements
|
||||
*/
|
||||
div.yuimenubar div.bd {
|
||||
|
||||
zoom:1;
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
Clear the module body for other browsers
|
||||
*/
|
||||
div.yuimenubar div.bd:after {
|
||||
|
||||
content:'.';
|
||||
display:block;
|
||||
clear:both;
|
||||
visibility:hidden;
|
||||
height:0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* Matches the group title (H6) inside a Menu or MenuBar instance */
|
||||
|
||||
div.yuimenu h6,
|
||||
div.yuimenubar h6 {
|
||||
|
||||
font-size:100%;
|
||||
font-weight:normal;
|
||||
margin:0;
|
||||
border:solid 1px #c4c4be;
|
||||
color:#b9b9b9;
|
||||
|
||||
}
|
||||
|
||||
div.yuimenubar h6 {
|
||||
|
||||
float:left;
|
||||
display:inline; /* Prevent margin doubling in IE */
|
||||
padding:4px 12px;
|
||||
border-width:0 1px 0 0;
|
||||
|
||||
}
|
||||
|
||||
div.yuimenu h6 {
|
||||
|
||||
float:none;
|
||||
display:block;
|
||||
border-width:1px 0 0 0;
|
||||
padding:5px 10px 0 10px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* Matches the UL inside a Menu or MenuBar instance */
|
||||
|
||||
div.yuimenubar ul {
|
||||
|
||||
list-style-type:none;
|
||||
margin:0;
|
||||
padding:0;
|
||||
|
||||
}
|
||||
|
||||
div.yuimenu ul {
|
||||
|
||||
list-style-type:none;
|
||||
border:solid 1px #c4c4be;
|
||||
border-width:1px 0 0 0;
|
||||
margin:0;
|
||||
padding:10px 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
div.yuimenu ul.first-of-type,
|
||||
div.yuimenu ul.hastitle,
|
||||
div.yuimenu h6.first-of-type {
|
||||
|
||||
border-width:0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* MenuItem and MenuBarItem styles */
|
||||
|
||||
div.yuimenu li,
|
||||
div.yuimenubar li {
|
||||
|
||||
font-size:85%;
|
||||
cursor:pointer;
|
||||
cursor:hand;
|
||||
white-space:nowrap;
|
||||
text-align:left;
|
||||
|
||||
}
|
||||
|
||||
div.yuimenu li.yuimenuitem {
|
||||
|
||||
padding:2px 24px;
|
||||
|
||||
}
|
||||
|
||||
div.yuimenu li li,
|
||||
div.yuimenubar li li {
|
||||
|
||||
font-size:100%;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* Matches the help text for a menu item */
|
||||
|
||||
div.yuimenu li em {
|
||||
|
||||
font-style:normal;
|
||||
margin:0 0 0 40px;
|
||||
|
||||
}
|
||||
|
||||
div.yuimenu li a em {
|
||||
|
||||
margin:0;
|
||||
|
||||
}
|
||||
|
||||
div.yuimenu li a,
|
||||
div.yuimenubar li a {
|
||||
|
||||
/*
|
||||
"zoom:1" triggers "haslayout" in IE to ensure that the mouseover and
|
||||
mouseout events bubble to the parent LI in IE.
|
||||
*/
|
||||
zoom:1;
|
||||
color:#000;
|
||||
text-decoration:none;
|
||||
|
||||
}
|
||||
|
||||
div.yuimenu li.hassubmenu,
|
||||
div.yuimenu li.hashelptext {
|
||||
|
||||
text-align:right;
|
||||
|
||||
}
|
||||
|
||||
div.yuimenu li.hassubmenu a.hassubmenu,
|
||||
div.yuimenu li.hashelptext a.hashelptext {
|
||||
|
||||
float:left;
|
||||
display:inline; /* Prevent margin doubling in IE */
|
||||
text-align:left;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* Matches focused and selected menu items */
|
||||
|
||||
div.yuimenu li.selected,
|
||||
div.yuimenubar li.selected {
|
||||
|
||||
background-color:#8c8ad0;
|
||||
|
||||
}
|
||||
|
||||
div.yuimenu li.selected a.selected,
|
||||
div.yuimenubar li.selected a.selected {
|
||||
|
||||
text-decoration:underline;
|
||||
|
||||
}
|
||||
|
||||
div.yuimenu li.selected a.selected,
|
||||
div.yuimenu li.selected em.selected,
|
||||
div.yuimenubar li.selected a.selected {
|
||||
|
||||
color:#fff;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* Matches disabled menu items */
|
||||
|
||||
div.yuimenu li.disabled,
|
||||
div.yuimenubar li.disabled {
|
||||
|
||||
cursor:default;
|
||||
|
||||
}
|
||||
|
||||
div.yuimenu li.disabled a.disabled,
|
||||
div.yuimenu li.disabled em.disabled,
|
||||
div.yuimenubar li.disabled a.disabled {
|
||||
|
||||
color:#b9b9b9;
|
||||
cursor:default;
|
||||
|
||||
}
|
||||
|
||||
div.yuimenubar li.yuimenubaritem {
|
||||
|
||||
float:left;
|
||||
display:inline; /* Prevent margin doubling in IE */
|
||||
border-width:0 0 0 1px;
|
||||
border-style:solid;
|
||||
border-color:#c4c4be;
|
||||
padding:4px 24px;
|
||||
margin:0;
|
||||
|
||||
}
|
||||
|
||||
div.yuimenubar li.yuimenubaritem.first-of-type {
|
||||
|
||||
border-width:0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* Matches the submenu indicator for menu items */
|
||||
|
||||
div.yuimenubar li.yuimenubaritem img {
|
||||
|
||||
height:8px;
|
||||
width:8px;
|
||||
margin:0 0 0 10px;
|
||||
vertical-align:middle;
|
||||
|
||||
}
|
||||
|
||||
div.yuimenu li.yuimenuitem img {
|
||||
|
||||
height:8px;
|
||||
width:8px;
|
||||
margin:0 -16px 0 10px;
|
||||
border:0;
|
||||
|
||||
*margin-left:0;
|
||||
*border-left-width:10px;
|
||||
*border-style:solid;
|
||||
*border-color:#f6f7ee;
|
||||
|
||||
}
|
||||
|
||||
div.yuimenu li.yuimenuitem.selected img.selected {
|
||||
|
||||
*border-color:#8c8ad0;
|
||||
|
||||
}
|
||||
|
||||
div.yuimenu li.checked {
|
||||
|
||||
position:relative;
|
||||
|
||||
}
|
||||
|
||||
div.yuimenu li.checked img.checked {
|
||||
|
||||
height:8px;
|
||||
width:8px;
|
||||
margin:0;
|
||||
border:0;
|
||||
position:absolute;
|
||||
left:6px;
|
||||
_left:-16px; /* Underscore hack b/c this is for IE 5.5 and IE 6 only */
|
||||
top:.5em;
|
||||
|
||||
}
|
||||
|
||||
43
frontend/beta/css/yui/reset.css
Normal file
43
frontend/beta/css/yui/reset.css
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 0.11.3
|
||||
*/
|
||||
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td{margin:0;padding:0;}
|
||||
table{border-collapse:collapse;border-spacing:0;}
|
||||
fieldset,img{border:0;}
|
||||
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
|
||||
ol,ul {list-style:none;}
|
||||
caption,th {text-align:left;}
|
||||
h1,h2,h3,h4,h5,h6{font-size:100%;}
|
||||
q:before,q:after{content:'';}
|
||||
|
||||
132
frontend/beta/css/yui/tree.css
Normal file
132
frontend/beta/css/yui/tree.css
Normal file
@@ -0,0 +1,132 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.com/yui/license.txt
|
||||
Version: 0.11.3
|
||||
*/
|
||||
|
||||
/* first or middle sibling, no children */
|
||||
.ygtvtn {
|
||||
width:16px; height:22px;
|
||||
background: url(../../images/yui/treeview/tn.gif) 0 0 no-repeat;
|
||||
}
|
||||
|
||||
/* first or middle sibling, collapsable */
|
||||
.ygtvtm {
|
||||
width:16px; height:22px;
|
||||
cursor:pointer ;
|
||||
background: url(../../images/yui/treeview/tm.gif) 0 0 no-repeat;
|
||||
}
|
||||
|
||||
/* first or middle sibling, collapsable, hover */
|
||||
.ygtvtmh {
|
||||
width:16px; height:22px;
|
||||
cursor:pointer ;
|
||||
background: url(../../images/yui/treeview/tmh.gif) 0 0 no-repeat;
|
||||
}
|
||||
|
||||
/* first or middle sibling, expandable */
|
||||
.ygtvtp {
|
||||
width:16px; height:22px;
|
||||
cursor:pointer ;
|
||||
background: url(../../images/yui/treeview/tp.gif) 0 0 no-repeat;
|
||||
}
|
||||
|
||||
/* first or middle sibling, expandable, hover */
|
||||
.ygtvtph {
|
||||
width:16px; height:22px;
|
||||
cursor:pointer ;
|
||||
background: url(../../images/yui/treeview/tph.gif) 0 0 no-repeat;
|
||||
}
|
||||
|
||||
/* last sibling, no children */
|
||||
.ygtvln {
|
||||
width:16px; height:22px;
|
||||
background: url(../../images/yui/treeview/ln.gif) 0 0 no-repeat;
|
||||
}
|
||||
|
||||
/* Last sibling, collapsable */
|
||||
.ygtvlm {
|
||||
width:16px; height:22px;
|
||||
cursor:pointer ;
|
||||
background: url(../../images/yui/treeview/lm.gif) 0 0 no-repeat;
|
||||
}
|
||||
|
||||
/* Last sibling, collapsable, hover */
|
||||
.ygtvlmh {
|
||||
width:16px; height:22px;
|
||||
cursor:pointer ;
|
||||
background: url(../../images/yui/treeview/lmh.gif) 0 0 no-repeat;
|
||||
}
|
||||
|
||||
/* Last sibling, expandable */
|
||||
.ygtvlp {
|
||||
width:16px; height:22px;
|
||||
cursor:pointer ;
|
||||
background: url(../../images/yui/treeview/lp.gif) 0 0 no-repeat;
|
||||
}
|
||||
|
||||
/* Last sibling, expandable, hover */
|
||||
.ygtvlph {
|
||||
width:16px; height:22px; cursor:pointer ;
|
||||
background: url(../../images/yui/treeview/lph.gif) 0 0 no-repeat;
|
||||
}
|
||||
|
||||
/* Loading icon */
|
||||
.ygtvloading {
|
||||
width:16px; height:22px;
|
||||
background: url(../../images/yui/treeview/loading.gif) 0 0 no-repeat;
|
||||
}
|
||||
|
||||
/* the style for the empty cells that are used for rendering the depth
|
||||
* of the node */
|
||||
.ygtvdepthcell {
|
||||
width:16px; height:22px;
|
||||
background: url(../../images/yui/treeview/vline.gif) 0 0 no-repeat;
|
||||
}
|
||||
|
||||
.ygtvblankdepthcell { width:16px; height:22px; }
|
||||
|
||||
/* the style of the div around each node */
|
||||
.ygtvitem { }
|
||||
|
||||
/* the style of the div around each node's collection of children */
|
||||
.ygtvchildren { }
|
||||
* html .ygtvchildren { height:2%; }
|
||||
|
||||
/* the style of the text label in ygTextNode */
|
||||
.ygtvlabel, .ygtvlabel:link, .ygtvlabel:visited, .ygtvlabel:hover {
|
||||
margin-left:2px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.ygtvspacer { height: 10px; width: 10px; margin: 2px; }
|
||||
|
||||
100
frontend/beta/html/index_template.html
Normal file
100
frontend/beta/html/index_template.html
Normal file
@@ -0,0 +1,100 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>@page.title@</title>
|
||||
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<!--
|
||||
@copyright@
|
||||
-->
|
||||
|
||||
@css@
|
||||
|
||||
<link rel="shortcut icon" href="./clipperz.ico" />
|
||||
|
||||
<meta name="description" content="Login to your web accounts with just one click. Never type a password again! Use multiple complex passwords and forget them. A password manager that enhances your online security." />
|
||||
<meta name="keywords" content="password manager,gestor de contraseñas,gerenciador de senhas,Kennwortmanager,passwords,security,privacy,cryptography" />
|
||||
<script>
|
||||
Clipperz_IEisBroken = false;
|
||||
Clipperz_normalizedNewLine = '\n';
|
||||
Clipperz_dumpUrl = "/dump/";
|
||||
</script>
|
||||
|
||||
<!--[if IE]><script>
|
||||
Clipperz_IEisBroken = true;
|
||||
Clipperz_normalizedNewLine = '\x0d\x0a';
|
||||
</script><![endif]-->
|
||||
|
||||
@js_DEBUG@
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id="mainDiv">
|
||||
<div id="header">
|
||||
<div id="miscLinks">
|
||||
<a id="donateHeaderIconLink" href="http://www.clipperz.com/donations" target="_blank"><img id='donateHeaderIcon' src=""></a>
|
||||
<ul>
|
||||
<li><a href="http://www.clipperz.com/donations" id='donateHeaderLink' class='highlightedHeader' target="_blank">donate</a></li>
|
||||
<li><a href="http://www.clipperz.com/credits" id='creditsHeaderLink' target="_blank">credits</a></li>
|
||||
<li><a href="http://www.clipperz.com/contact" id='feedbackHeaderLink' target="_blank">feedback</a></li>
|
||||
<li><a href="http://www.clipperz.com/support/user_guide" target="_blank" id='helpHeaderLink'>help</a></li>
|
||||
<li><a href="http://www.clipperz.com/forum" target="_blank" id='forumHeaderLink'>forum</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="logoFrame">
|
||||
<a href="http://www.clipperz.com" target="_blank"><img id="logo" src="" /></a>
|
||||
<h5 class="clipperzPayoff">keep it to yourself</h5>
|
||||
</div>
|
||||
<div id="mainTabs">
|
||||
<ul id="exitLinks">
|
||||
<li id="logoutLI"><!--<a href="#">logout</a>--></li>
|
||||
<li id="lockLI"><!--<a href="#">lock</a>--></li>
|
||||
</ul>
|
||||
<div id="menus">
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tbody>
|
||||
<tr id="menusTR">
|
||||
<!--
|
||||
<td class="selected"><div><a href="#">records</a></div></td>
|
||||
<td><div><a href="./Account.html">account</a></div></td>
|
||||
<td><div><a href="#">data</a></div></td>
|
||||
<td><div><a href="#">bookmarklet</a></div></td>
|
||||
-->
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="main">
|
||||
<h3 class="loading">loading ...</h3>
|
||||
|
||||
@js_INSTALL@
|
||||
|
||||
<script>
|
||||
Clipperz.PM.Proxy.defaultProxy = new Clipperz.PM.Proxy.JSON({'url':'@request.path@', 'shouldPayTolls':@should.pay.toll@});
|
||||
/*offline_data_placeholder*/
|
||||
</script>
|
||||
|
||||
<div id="javaScriptAlert">
|
||||
<h1>Attention!</h1>
|
||||
<p>If you can read this message, the chances are that your browser does not properly support JavaScript? or you have disabled this functionality yourself.</p>
|
||||
<h3>Javascript is required to access Clipperz.</h3>
|
||||
<h5>Please enable scripting or upgrade your browser.</h5>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
Copyright © 2008 Clipperz Srl -
|
||||
<a href="http://www.clipperz.com/terms_of_service" target="black">Terms of service</a> -
|
||||
<a href="http://www.clipperz.com/privacy_policy" target="black">Privacy policy</a>
|
||||
-
|
||||
Application version: @application.version@
|
||||
</div>
|
||||
|
||||
<div id="recordDetailEditModeHeaderMask"></div>
|
||||
<div id="recordDetailEditModeVerticalMask"></div>
|
||||
</div>
|
||||
|
||||
<div id="applicationVersionType" class="@application.version.type@" />
|
||||
|
||||
</body>
|
||||
</html>
|
||||
0
frontend/beta/images/cardBlockLowerBorder.gif
Normal file
0
frontend/beta/images/cardBlockLowerBorder.gif
Normal file
0
frontend/beta/images/cardFiltersSprite.gif
Normal file
0
frontend/beta/images/cardFiltersSprite.gif
Normal file
0
frontend/beta/images/cardsBlockRoundCorners.gif
Normal file
0
frontend/beta/images/cardsBlockRoundCorners.gif
Normal file
0
frontend/beta/images/default/basic-dialog/close.gif
Normal file
0
frontend/beta/images/default/basic-dialog/close.gif
Normal file
0
frontend/beta/images/directLogin/toggle.png
Normal file
0
frontend/beta/images/directLogin/toggle.png
Normal file
0
frontend/beta/images/directLoginBox.png
Normal file
0
frontend/beta/images/directLoginBox.png
Normal file
0
frontend/beta/images/entropyBackground.gif
Normal file
0
frontend/beta/images/entropyBackground.gif
Normal file
0
frontend/beta/images/exportLogo.png
Normal file
0
frontend/beta/images/exportLogo.png
Normal file
0
frontend/beta/images/favicon.ico
Normal file
0
frontend/beta/images/favicon.ico
Normal file
0
frontend/beta/images/flags/br.png
Normal file
0
frontend/beta/images/flags/br.png
Normal file
0
frontend/beta/images/flags/cn.png
Normal file
0
frontend/beta/images/flags/cn.png
Normal file
0
frontend/beta/images/flags/de.png
Normal file
0
frontend/beta/images/flags/de.png
Normal file
0
frontend/beta/images/flags/en.png
Normal file
0
frontend/beta/images/flags/en.png
Normal file
0
frontend/beta/images/flags/es.png
Normal file
0
frontend/beta/images/flags/es.png
Normal file
0
frontend/beta/images/flags/it.png
Normal file
0
frontend/beta/images/flags/it.png
Normal file
0
frontend/beta/images/flags/jp.png
Normal file
0
frontend/beta/images/flags/jp.png
Normal file
0
frontend/beta/images/flags/ru.png
Normal file
0
frontend/beta/images/flags/ru.png
Normal file
0
frontend/beta/images/grippie.png
Normal file
0
frontend/beta/images/grippie.png
Normal file
0
frontend/beta/images/importActiveStepsSeparator.png
Normal file
0
frontend/beta/images/importActiveStepsSeparator.png
Normal file
0
frontend/beta/images/importStepsBackground.png
Normal file
0
frontend/beta/images/importStepsBackground.png
Normal file
0
frontend/beta/images/importStepsSeparator.png
Normal file
0
frontend/beta/images/importStepsSeparator.png
Normal file
0
frontend/beta/images/languageBox.png
Normal file
0
frontend/beta/images/languageBox.png
Normal file
0
frontend/beta/images/loginFormBox.png
Normal file
0
frontend/beta/images/loginFormBox.png
Normal file
0
frontend/beta/images/loginInfoBackground.png
Normal file
0
frontend/beta/images/loginInfoBackground.png
Normal file
0
frontend/beta/images/loginInfoInnerBackground.png
Normal file
0
frontend/beta/images/loginInfoInnerBackground.png
Normal file
0
frontend/beta/images/logo.gif
Normal file
0
frontend/beta/images/logo.gif
Normal file
0
frontend/beta/images/menubarSprite.gif
Normal file
0
frontend/beta/images/menubarSprite.gif
Normal file
0
frontend/beta/images/newRecordPanelBackground.gif
Normal file
0
frontend/beta/images/newRecordPanelBackground.gif
Normal file
0
frontend/beta/images/newRecordPanelBackground.png
Normal file
0
frontend/beta/images/newRecordPanelBackground.png
Normal file
0
frontend/beta/images/passwordAssistant.png
Normal file
0
frontend/beta/images/passwordAssistant.png
Normal file
0
frontend/beta/images/read-only.gif
Normal file
0
frontend/beta/images/read-only.gif
Normal file
0
frontend/beta/images/read-only.png
Normal file
0
frontend/beta/images/read-only.png
Normal file
0
frontend/beta/images/read-only_background.png
Normal file
0
frontend/beta/images/read-only_background.png
Normal file
0
frontend/beta/images/recordFilterBackground.png
Normal file
0
frontend/beta/images/recordFilterBackground.png
Normal file
0
frontend/beta/images/rss.gif
Normal file
0
frontend/beta/images/rss.gif
Normal file
0
frontend/beta/images/scrambledValue.gif
Normal file
0
frontend/beta/images/scrambledValue.gif
Normal file
0
frontend/beta/images/scrambledValue.png
Normal file
0
frontend/beta/images/scrambledValue.png
Normal file
0
frontend/beta/images/smiles.gif
Normal file
0
frontend/beta/images/smiles.gif
Normal file
0
frontend/beta/images/smiles_big.gif
Normal file
0
frontend/beta/images/smiles_big.gif
Normal file
0
frontend/beta/images/smiles_small.gif
Normal file
0
frontend/beta/images/smiles_small.gif
Normal file
0
frontend/beta/images/test-database.png
Normal file
0
frontend/beta/images/test-database.png
Normal file
400
frontend/beta/js/Bookmarklet.js
Normal file
400
frontend/beta/js/Bookmarklet.js
Normal file
File diff suppressed because one or more lines are too long
47
frontend/beta/js/BookmarkletHash.js
Normal file
47
frontend/beta/js/BookmarkletHash.js
Normal file
@@ -0,0 +1,47 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
// 18f820faffcdb5e847d4c5d5c4a1de6743baa1a0
|
||||
// 9b30434c73fb009b15fecaa904b44f9ced807577
|
||||
// 9b30434c73fb009b15fecaa904b44f9ced807577
|
||||
var xh;
|
||||
var documentText;
|
||||
|
||||
try {
|
||||
xh=new XMLHttpRequest();
|
||||
} catch(e) {
|
||||
xh=new ActiveXObject("Msxml2.XMLHTTP");
|
||||
}
|
||||
|
||||
xh.open("GET", window.location, false);
|
||||
xh.send(null);
|
||||
|
||||
documentText = "#####" + xh.responseText + "####";
|
||||
//documentText = document.body.innerHTML;
|
||||
|
||||
console.log(documentText);
|
||||
23
frontend/beta/js/Bookmarklet_IE.js
Normal file
23
frontend/beta/js/Bookmarklet_IE.js
Normal file
@@ -0,0 +1,23 @@
|
||||
//
|
||||
// IE limit: 508 characters!!!!!
|
||||
//
|
||||
|
||||
loadClipperzBookmarklet = function() {
|
||||
var headNode;
|
||||
var clipperzScriptNode;
|
||||
|
||||
clipperzScriptNode = document.getElementById('clipperzScript');
|
||||
headNode = document.getElementsByTagName('head').item(0);
|
||||
|
||||
if (clipperzScriptNode) {
|
||||
headNode.removeChild(clipperzScriptNode);
|
||||
}
|
||||
|
||||
clipperzScriptNode = document.createElement('script');
|
||||
clipperzScriptNode.setAttribute('src', 'http%3a%2f%2fclipperz.com%2ffiles%2fclipperz.com%2fbookmarklet%2fBookmarklet.js');
|
||||
clipperzScriptNode.setAttribute('type', 'text/javascript');
|
||||
clipperzScriptNode.setAttribute('defer', true);
|
||||
headNode.appendChild(clipperzScriptNode);
|
||||
};
|
||||
|
||||
loadClipperzBookmarklet();
|
||||
308
frontend/beta/js/Clipperz/Base.js
Normal file
308
frontend/beta/js/Clipperz/Base.js
Normal file
@@ -0,0 +1,308 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
if (typeof(Clipperz) == 'undefined') { Clipperz = {}; }
|
||||
if (typeof(Clipperz.Base) == 'undefined') { Clipperz.Base = {}; }
|
||||
|
||||
Clipperz.Base.VERSION = "0.1";
|
||||
Clipperz.Base.NAME = "Clipperz.Base";
|
||||
|
||||
MochiKit.Base.update(Clipperz.Base, {
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'__repr__': function () {
|
||||
return "[" + this.NAME + " " + this.VERSION + "]";
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'toString': function () {
|
||||
return this.__repr__();
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'trim': function (aValue) {
|
||||
return aValue.replace(/^\s+|\s+$/g, "");
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'stringToByteArray': function (aValue) {
|
||||
var result;
|
||||
var i, c;
|
||||
|
||||
result = [];
|
||||
|
||||
c = aValue.length;
|
||||
for (i=0; i<c; i++) {
|
||||
result[i] = aValue.charCodeAt(i);
|
||||
}
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
//.........................................................................
|
||||
|
||||
'byteArrayToString': function (anArrayOfBytes) {
|
||||
var result;
|
||||
var i, c;
|
||||
|
||||
result = "";
|
||||
|
||||
c = anArrayOfBytes.length;
|
||||
for (i=0; i<c; i++) {
|
||||
result += String.fromCharCode(anArrayOfBytes[i]);
|
||||
}
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'getValueForKeyInFormContent': function (aFormContent, aKey) {
|
||||
return aFormContent[1][MochiKit.Base.find(aFormContent[0], aKey)];
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'indexOfObjectInArray': function(anObject, anArray) {
|
||||
var result;
|
||||
var i, c;
|
||||
|
||||
result = -1;
|
||||
|
||||
c = anArray.length;
|
||||
for (i=0; ((i<c) && (result < 0)); i++) {
|
||||
if (anArray[i] === anObject) {
|
||||
result = i;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
'removeObjectAtIndexFromArray': function(anIndex, anArray) {
|
||||
anArray.splice(anIndex, 1);
|
||||
},
|
||||
|
||||
'removeObjectFromArray': function(anObject, anArray) {
|
||||
var objectIndex;
|
||||
|
||||
objectIndex = Clipperz.Base.indexOfObjectInArray(anObject, anArray);
|
||||
if (objectIndex > -1) {
|
||||
Clipperz.Base.removeObjectAtIndexFromArray(objectIndex, anArray);
|
||||
} else {
|
||||
// jslog.error("Trying to remove an object not present in the array");
|
||||
// TODO: raise an exception
|
||||
}
|
||||
},
|
||||
|
||||
'removeFromArray': function(anArray, anObject) {
|
||||
return Clipperz.Base.removeObjectFromArray(anObject, anArray);
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'splitStringAtFixedTokenSize': function(aString, aTokenSize) {
|
||||
var result;
|
||||
var stringToProcess;
|
||||
|
||||
stringToProcess = aString;
|
||||
result = [];
|
||||
if (stringToProcess != null) {
|
||||
while (stringToProcess.length > aTokenSize) {
|
||||
result.push(stringToProcess.substring(0, aTokenSize));
|
||||
stringToProcess = stringToProcess.substring(aTokenSize);
|
||||
}
|
||||
|
||||
result.push(stringToProcess);
|
||||
}
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'objectType': function(anObject) {
|
||||
var result;
|
||||
|
||||
if (anObject == null) {
|
||||
result = null;
|
||||
} else {
|
||||
result = typeof(anObject);
|
||||
|
||||
if (result == "object") {
|
||||
if (anObject instanceof Array) {
|
||||
result = 'array'
|
||||
} else if (anObject.constructor == Boolean) {
|
||||
result = 'boolean'
|
||||
} else if (anObject instanceof Date) {
|
||||
result = 'date'
|
||||
} else if (anObject instanceof Error) {
|
||||
result = 'error'
|
||||
} else if (anObject instanceof Function) {
|
||||
result = 'function'
|
||||
} else if (anObject.constructor == Number) {
|
||||
result = 'number'
|
||||
} else if (anObject.constructor == String) {
|
||||
result = 'string'
|
||||
} else if (anObject instanceof Object) {
|
||||
result = 'object'
|
||||
} else {
|
||||
throw Clipperz.Base.exception.UnknownType;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'escapeHTML': function(aValue) {
|
||||
var result;
|
||||
|
||||
result = aValue;
|
||||
result = result.replace(/</g, "<");
|
||||
result = result.replace(/>/g, ">");
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'deepClone': function(anObject) {
|
||||
var result;
|
||||
|
||||
result = Clipperz.Base.evalJSON(Clipperz.Base.serializeJSON(anObject));
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'evalJSON': function(aString) {
|
||||
/*
|
||||
var result;
|
||||
|
||||
// check for XSS injection
|
||||
if (/<script>/.test(aString)) {
|
||||
throw "error";
|
||||
}
|
||||
|
||||
if (/<iframe>/.test(aString)) {
|
||||
throw "error";
|
||||
}
|
||||
|
||||
result = MochiKit.Base.evalJSON(aString);
|
||||
|
||||
return result;
|
||||
*/
|
||||
|
||||
// return MochiKit.Base.evalJSON(aString);
|
||||
return JSON2.parse(aString);
|
||||
},
|
||||
|
||||
'serializeJSON': function(anObject) {
|
||||
// return MochiKit.Base.serializeJSON(anObject);
|
||||
return JSON2.stringify(anObject);
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'sanitizeString': function(aValue) {
|
||||
var result;
|
||||
|
||||
if (Clipperz.Base.objectType(aValue) == 'string') {
|
||||
result = aValue;
|
||||
result = result.replace(/</img,"<");
|
||||
result = result.replace(/>/img,">");
|
||||
} else {
|
||||
result = aValue;
|
||||
}
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'exception': {
|
||||
'AbstractMethod': new MochiKit.Base.NamedError("Clipperz.Base.exception.AbstractMethod"),
|
||||
'UnknownType': new MochiKit.Base.NamedError("Clipperz.Base.exception.UnknownType"),
|
||||
'VulnerabilityIssue': new MochiKit.Base.NamedError("Clipperz.Base.exception.VulnerabilityIssue")
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
__syntaxFix__: "syntax fix"
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
MochiKit.Base.registerComparator('Object dummy comparator',
|
||||
function(a, b) {
|
||||
return ((a.constructor == Object) && (b.constructor == Object));
|
||||
},
|
||||
function(a, b) {
|
||||
var result;
|
||||
var aKeys;
|
||||
var bKeys;
|
||||
|
||||
//MochiKit.Logging.logDebug(">>> comparator");
|
||||
//MochiKit.Logging.logDebug("- a: " + Clipperz.Base.serializeJSON(a));
|
||||
//MochiKit.Logging.logDebug("- b: " + Clipperz.Base.serializeJSON(a));
|
||||
aKeys = MochiKit.Base.keys(a).sort();
|
||||
bKeys = MochiKit.Base.keys(b).sort();
|
||||
|
||||
result = MochiKit.Base.compare(aKeys, bKeys);
|
||||
//if (result != 0) {
|
||||
// MochiKit.Logging.logDebug("- comparator 'keys':");
|
||||
// MochiKit.Logging.logDebug("- comparator aKeys: " + Clipperz.Base.serializeJSON(aKeys));
|
||||
// MochiKit.Logging.logDebug("- comparator bKeys: " + Clipperz.Base.serializeJSON(bKeys));
|
||||
//}
|
||||
if (result == 0) {
|
||||
var i, c;
|
||||
|
||||
c = aKeys.length;
|
||||
for (i=0; (i<c) && (result == 0); i++) {
|
||||
result = MochiKit.Base.compare(a[aKeys[i]], b[bKeys[i]]);
|
||||
//if (result != 0) {
|
||||
// MochiKit.Logging.logDebug("- comparator 'values':");
|
||||
// MochiKit.Logging.logDebug("- comparator a[aKeys[i]]: " + Clipperz.Base.serializeJSON(a[aKeys[i]]));
|
||||
// MochiKit.Logging.logDebug("- comparator b[bKeys[i]]: " + Clipperz.Base.serializeJSON(b[bKeys[i]]));
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
//MochiKit.Logging.logDebug("<<< comparator - result: " + result);
|
||||
return result;
|
||||
},
|
||||
true
|
||||
);
|
||||
1426
frontend/beta/js/Clipperz/ByteArray.js
Normal file
1426
frontend/beta/js/Clipperz/ByteArray.js
Normal file
File diff suppressed because it is too large
Load Diff
348
frontend/beta/js/Clipperz/CSVProcessor.js
Normal file
348
frontend/beta/js/Clipperz/CSVProcessor.js
Normal file
@@ -0,0 +1,348 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
if (typeof(Clipperz) == 'undefined') { Clipperz = {}; }
|
||||
|
||||
|
||||
Clipperz.CSVProcessor = function(args) {
|
||||
args = args || {};
|
||||
|
||||
// this._status = undefined;
|
||||
// this._error_input = undefined;
|
||||
// this._string = undefined;
|
||||
// this._fields = undefined;
|
||||
|
||||
this._quoteChar = args['quoteChar'] || "\042";
|
||||
this._eol = args['eol'] || "";
|
||||
this._escapeChar = args['escapeChar'] || "\042";
|
||||
this._separatorChar = args['separatorChar'] || ",";
|
||||
this._binary = args['binary'] || false;
|
||||
this._alwaysQuote = args['alwaysQuote'] || false;
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
|
||||
Clipperz.CSVProcessor.prototype = MochiKit.Base.update(null, {
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'quoteChar': function() {
|
||||
return this._quoteChar;
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'eol': function() {
|
||||
return this._eol;
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'escapeChar': function() {
|
||||
return this._escapeChar;
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'separatorChar': function() {
|
||||
return this._separatorChar;
|
||||
},
|
||||
|
||||
'setSeparatorChar': function(aValue) {
|
||||
this._separatorChar = aValue;
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'binary': function() {
|
||||
return this._binary;
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'alwaysQuote': function() {
|
||||
return this._alwaysQuote;
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
/*
|
||||
'parse': function(aValue) {
|
||||
var result;
|
||||
var lines;
|
||||
var parameter;
|
||||
|
||||
//MochiKit.Logging.logDebug(">>> CSVProcessor.parse");
|
||||
result = [];
|
||||
|
||||
lines = aValue.replace(/\r?\n/g, "\n").replace(/^\n* /g, "").replace(/\n$/g, "");;
|
||||
parameter = {
|
||||
line: lines
|
||||
}
|
||||
|
||||
do {
|
||||
var fields;
|
||||
|
||||
fields = this.parseLine(parameter);
|
||||
|
||||
if (fields != null) {
|
||||
result.push(fields);
|
||||
}
|
||||
|
||||
parameter.line = parameter.line.replace(/^\n* /g, "").replace(/\n$/g, "");
|
||||
|
||||
//MochiKit.Logging.logDebug("line: '" + parameter.line + "'");
|
||||
} while (parameter.line != "");
|
||||
//MochiKit.Logging.logDebug("--- CSVProcessor.parse - result: " + Clipperz.Base.serializeJSON(result));
|
||||
//MochiKit.Logging.logDebug("<<< CSVProcessor.parse");
|
||||
|
||||
return result;
|
||||
},
|
||||
*/
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'deferredParse_core': function(aContext) {
|
||||
var deferredResult;
|
||||
|
||||
if (aContext.line == "") {
|
||||
deferredResult = MochiKit.Async.succeed(aContext.result);
|
||||
} else {
|
||||
var fields;
|
||||
|
||||
fields = this.parseLine(aContext);
|
||||
if (fields != null) {
|
||||
aContext.result.push(fields);
|
||||
}
|
||||
|
||||
aContext.line = aContext.line.replace(/^\n*/g, "").replace(/\n$/g, "");
|
||||
|
||||
deferredResult = new MochiKit.Async.Deferred();
|
||||
deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'importProcessorProgressUpdate', {status:'processing', size:aContext.size, progress:(aContext.size - aContext.line.length)});
|
||||
deferredResult.addCallback(MochiKit.Async.wait, 0.2);
|
||||
deferredResult.addCallback(MochiKit.Base.method(this, 'deferredParse_core'))
|
||||
deferredResult.callback(aContext);
|
||||
}
|
||||
|
||||
return deferredResult;
|
||||
},
|
||||
|
||||
//.........................................................................
|
||||
|
||||
'deferredParse': function(aValue) {
|
||||
var deferredResult;
|
||||
var lines;
|
||||
var context;
|
||||
|
||||
lines = aValue.replace(/\r?\n/g, "\n").replace(/^\n*/g, "").replace(/\n$/g, "");
|
||||
|
||||
context = {
|
||||
line: lines,
|
||||
size: lines.length,
|
||||
result: []
|
||||
}
|
||||
|
||||
deferredResult = new MochiKit.Async.Deferred();
|
||||
deferredResult.addCallback(MochiKit.Base.method(this, 'deferredParse_core'));
|
||||
deferredResult.callback(context);
|
||||
|
||||
return deferredResult;
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'parseLine': function(aParameter) {
|
||||
var result;
|
||||
var palatable;
|
||||
var line;
|
||||
var processedField;
|
||||
|
||||
result = [];
|
||||
|
||||
do {
|
||||
processedField = this.parseField(aParameter);
|
||||
if (processedField != null) {
|
||||
result.push(processedField)
|
||||
};
|
||||
} while (processedField != null);
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'parseField': function(aParameter) {
|
||||
var result;
|
||||
|
||||
var inQuotes;
|
||||
var validRegExp;
|
||||
var singleQuoteBeginRegexp;
|
||||
var escapedQuoteBeginRegexp;
|
||||
var singleQuoteCommaEndRegexp;
|
||||
var singleQuoteNewLineEndRegexp;
|
||||
var commaBeginRegexp;
|
||||
var newlineRegexp;
|
||||
|
||||
|
||||
singleQuoteBeginRegexp = new RegExp("^" + '\\' + this.quoteChar());
|
||||
escapedQuoteBeginRegexp = new RegExp("^" + '\\' + this.escapeChar() + '\\' + this.quoteChar());
|
||||
singleQuoteCommaEndRegexp = new RegExp("^" + '\\' + this.quoteChar() + '\\' + this.separatorChar());
|
||||
singleQuoteNewLineEndRegexp = new RegExp("^" + '\\' + this.quoteChar() + "\n");
|
||||
commaBeginRegexp = new RegExp("^" + '\\' + this.separatorChar());
|
||||
newlineRegexp = new RegExp("^\n");
|
||||
|
||||
inQuotes = false;
|
||||
|
||||
//MochiKit.Logging.logDebug("#################################### '" + aParameter.line + "'");
|
||||
if (aParameter.line == "") {
|
||||
if (aParameter.isThereAnEmptyFinalField == true) {
|
||||
aParameter.isThereAnEmptyFinalField = false;
|
||||
result = "";
|
||||
} else {
|
||||
result = null;
|
||||
}
|
||||
} else {
|
||||
if (this.binary()) {
|
||||
validRegexp = /^./;
|
||||
// validRegexp = /^[^\\]/;
|
||||
} else {
|
||||
validRegexp = /^[\t\040-\176]/;
|
||||
}
|
||||
|
||||
try {
|
||||
var done;
|
||||
|
||||
done = false;
|
||||
result = "";
|
||||
|
||||
while (!done) {
|
||||
if (aParameter.line.length < 1) {
|
||||
//MochiKit.Logging.logDebug("---> 1: '" + aParameter.line.replace(/\n/g, "\\n") + "'");
|
||||
if (inQuotes == true) {
|
||||
//MochiKit.Logging.logDebug("---> 1.1: '" + aParameter.line.replace(/\n/g, "\\n") + "'");
|
||||
throw new Error("CSV Parsing error; end of string, missing closing double-quote...");
|
||||
} else {
|
||||
//MochiKit.Logging.logDebug("---> 1.2: '" + aParameter.line.replace(/\n/g, "\\n") + "'");
|
||||
done = true;
|
||||
}
|
||||
} else if (escapedQuoteBeginRegexp.test(aParameter.line)) {
|
||||
//MochiKit.Logging.logDebug("---> 2.1: '" + aParameter.line.replace(/\n/g, "\\n") + "'");
|
||||
result += this.quoteChar();
|
||||
aParameter.line = aParameter.line.substr(2, aParameter.line.length - 1);
|
||||
//MochiKit.Logging.logDebug("<--- 2.2: '" + aParameter.line.replace(/\n/g, "\\n") + "'");
|
||||
} else if (singleQuoteBeginRegexp.test(aParameter.line)) {
|
||||
//MochiKit.Logging.logDebug("---> 3: '" + aParameter.line.replace(/\n/g, "\\n") + "'");
|
||||
if (inQuotes == true) {
|
||||
if (aParameter.line.length == 1) {
|
||||
//MochiKit.Logging.logDebug("---> 3.1: '" + aParameter.line.replace(/\n/g, "\\n") + "'");
|
||||
aParameter.line = '';
|
||||
done = true;
|
||||
} else if (singleQuoteCommaEndRegexp.test(aParameter.line)) {
|
||||
//MochiKit.Logging.logDebug("---> 3.3: '" + aParameter.line.replace(/\n/g, "\\n") + "'");
|
||||
aParameter.line = aParameter.line.substr(2, aParameter.line.length - 1);
|
||||
done = true;
|
||||
//MochiKit.Logging.logDebug("<--- 3.3: '" + aParameter.line.replace(/\n/g, "\\n") + "'");
|
||||
} else if (singleQuoteNewLineEndRegexp.test(aParameter.line)) {
|
||||
aParameter.line = aParameter.line.substr(1, aParameter.line.length - 1);
|
||||
done = true;
|
||||
} else {
|
||||
throw new Error("CSV Parsing error; double-quote, followed by undesirable character (bad character sequence)... " + aParameter.line);
|
||||
}
|
||||
} else {
|
||||
//MochiKit.Logging.logDebug("---> 4: '" + aParameter.line.replace(/\n/g, "\\n") + "'");
|
||||
if (result == "") {
|
||||
//MochiKit.Logging.logDebug("---> 4.1: '" + aParameter.line.replace(/\n/g, "\\n") + "'");
|
||||
inQuotes = true;
|
||||
aParameter.line = aParameter.line.substr(1, aParameter.line.length - 1);
|
||||
//MochiKit.Logging.logDebug("<--- 4.1: '" + aParameter.line.replace(/\n/g, "\\n") + "'");
|
||||
} else {
|
||||
throw new Error("CSV Parsing error; double-quote, outside of double-quotes (bad character sequence)...");
|
||||
}
|
||||
}
|
||||
} else if (commaBeginRegexp.test(aParameter.line)) {
|
||||
//MochiKit.Logging.logDebug("---> 5: '" + aParameter.line.replace(/\n/g, "\\n") + "'");
|
||||
if (inQuotes) {
|
||||
//MochiKit.Logging.logDebug("---> 5.1: '" + aParameter.line.replace(/\n/g, "\\n") + "'");
|
||||
result += aParameter.line.substr(0 ,1);
|
||||
aParameter.line = aParameter.line.substr(1, aParameter.line.length - 1);
|
||||
//MochiKit.Logging.logDebug("<--- 5.1: '" + aParameter.line.replace(/\n/g, "\\n") + "'");
|
||||
} else {
|
||||
//MochiKit.Logging.logDebug("---> 5.2: '" + aParameter.line.replace(/\n/g, "\\n") + "'");
|
||||
aParameter.line = aParameter.line.substr(1, aParameter.line.length - 1);
|
||||
if (newlineRegexp.test(aParameter.line) || aParameter.line == "") {
|
||||
//MochiKit.Logging.logDebug("######");
|
||||
aParameter.isThereAnEmptyFinalField = true;
|
||||
};
|
||||
done = true;
|
||||
//MochiKit.Logging.logDebug("<--- 5.2: '" + aParameter.line.replace(/\n/g, "\\n") + "'");
|
||||
}
|
||||
} else if (validRegexp.test(aParameter.line)) {
|
||||
//MochiKit.Logging.logDebug("---> 6: '" + aParameter.line.replace(/\n/g, "\\n") + "'");
|
||||
result += aParameter.line.substr(0, 1);
|
||||
aParameter.line = aParameter.line.substr(1, aParameter.line.length - 1);
|
||||
//MochiKit.Logging.logDebug("<--- 6: '" + aParameter.line.replace(/\n/g, "\\n") + "'");
|
||||
} else if (newlineRegexp.test(aParameter.line)) {
|
||||
if (inQuotes == true) {
|
||||
result += aParameter.line.substr(0 ,1);
|
||||
aParameter.line = aParameter.line.substr(1, aParameter.line.length - 1);
|
||||
} else {
|
||||
if (result == "") {
|
||||
if (aParameter.isThereAnEmptyFinalField == true) {
|
||||
aParameter.isThereAnEmptyFinalField = false;
|
||||
} else {
|
||||
result = null;
|
||||
}
|
||||
}
|
||||
|
||||
done = true;
|
||||
}
|
||||
} else {
|
||||
throw new Error("CSV Parsing error; an undesirable character... '" + aParameter.line.substr(0,1) + "'");
|
||||
}
|
||||
}
|
||||
} catch(exception) {
|
||||
MochiKit.Logging.logError(exception.message);
|
||||
// result = null;
|
||||
throw exception;
|
||||
}
|
||||
}
|
||||
|
||||
//if (result != null) {
|
||||
// MochiKit.Logging.logDebug("<=== result: '" + result.replace(/\n/g, "\\n") + "'");
|
||||
//} else {
|
||||
// MochiKit.Logging.logDebug("<=== result: NULL");
|
||||
//}
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
__syntaxFix__: "syntax fix"
|
||||
});
|
||||
|
||||
|
||||
836
frontend/beta/js/Clipperz/Crypto/AES.js
Normal file
836
frontend/beta/js/Clipperz/Crypto/AES.js
Normal file
@@ -0,0 +1,836 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
try { if (typeof(Clipperz.ByteArray) == 'undefined') { throw ""; }} catch (e) {
|
||||
throw "Clipperz.Crypto.AES depends on Clipperz.ByteArray!";
|
||||
}
|
||||
|
||||
// Dependency commented to avoid a circular reference
|
||||
//try { if (typeof(Clipperz.Crypto.PRNG) == 'undefined') { throw ""; }} catch (e) {
|
||||
// throw "Clipperz.Crypto.AES depends on Clipperz.Crypto.PRNG!";
|
||||
//}
|
||||
|
||||
if (typeof(Clipperz.Crypto.AES) == 'undefined') { Clipperz.Crypto.AES = {}; }
|
||||
|
||||
//#############################################################################
|
||||
|
||||
Clipperz.Crypto.AES.DeferredExecutionContext = function(args) {
|
||||
args = args || {};
|
||||
|
||||
this._key = args.key;
|
||||
this._message = args.message;
|
||||
this._result = args.message.clone();
|
||||
this._nonce = args.nonce;
|
||||
this._messageLength = this._message.length();
|
||||
|
||||
this._messageArray = this._message.arrayValues();
|
||||
this._resultArray = this._result.arrayValues();
|
||||
this._nonceArray = this._nonce.arrayValues();
|
||||
|
||||
this._executionStep = 0;
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
Clipperz.Crypto.AES.DeferredExecutionContext.prototype = MochiKit.Base.update(null, {
|
||||
|
||||
'key': function() {
|
||||
return this._key;
|
||||
},
|
||||
|
||||
'message': function() {
|
||||
return this._message;
|
||||
},
|
||||
|
||||
'messageLength': function() {
|
||||
return this._messageLength;
|
||||
},
|
||||
|
||||
'result': function() {
|
||||
return new Clipperz.ByteArray(this.resultArray());
|
||||
},
|
||||
|
||||
'nonce': function() {
|
||||
return this._nonce;
|
||||
},
|
||||
|
||||
'messageArray': function() {
|
||||
return this._messageArray;
|
||||
},
|
||||
|
||||
'resultArray': function() {
|
||||
return this._resultArray;
|
||||
},
|
||||
|
||||
'nonceArray': function() {
|
||||
return this._nonceArray;
|
||||
},
|
||||
|
||||
'elaborationChunkSize': function() {
|
||||
return Clipperz.Crypto.AES.DeferredExecution.chunkSize;
|
||||
},
|
||||
|
||||
'executionStep': function() {
|
||||
return this._executionStep;
|
||||
},
|
||||
|
||||
'setExecutionStep': function(aValue) {
|
||||
this._executionStep = aValue;
|
||||
},
|
||||
|
||||
'pause': function(aValue) {
|
||||
return MochiKit.Async.wait(Clipperz.Crypto.AES.DeferredExecution.pauseTime, aValue);
|
||||
},
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
__syntaxFix__: "syntax fix"
|
||||
|
||||
});
|
||||
|
||||
//#############################################################################
|
||||
|
||||
Clipperz.Crypto.AES.Key = function(args) {
|
||||
args = args || {};
|
||||
|
||||
this._key = args.key;
|
||||
this._keySize = args.keySize || this.key().length();
|
||||
|
||||
if (this.keySize() == 128/8) {
|
||||
this._b = 176;
|
||||
this._numberOfRounds = 10;
|
||||
} else if (this.keySize() == 256/8) {
|
||||
this._b = 240;
|
||||
this._numberOfRounds = 14;
|
||||
} else {
|
||||
MochiKit.Logging.logError("AES unsupported key size: " + (this.keySize() * 8) + " bits");
|
||||
throw Clipperz.Crypto.AES.exception.UnsupportedKeySize;
|
||||
}
|
||||
|
||||
this._stretchedKey = null;
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
Clipperz.Crypto.AES.Key.prototype = MochiKit.Base.update(null, {
|
||||
|
||||
'asString': function() {
|
||||
return "Clipperz.Crypto.AES.Key (" + this.key().toHexString() + ")";
|
||||
},
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
'key': function() {
|
||||
return this._key;
|
||||
},
|
||||
|
||||
'keySize': function() {
|
||||
return this._keySize;
|
||||
},
|
||||
|
||||
'b': function() {
|
||||
return this._b;
|
||||
},
|
||||
|
||||
'numberOfRounds': function() {
|
||||
return this._numberOfRounds;
|
||||
},
|
||||
//=========================================================================
|
||||
|
||||
'keyScheduleCore': function(aWord, aRoundConstantsIndex) {
|
||||
var result;
|
||||
var sbox;
|
||||
|
||||
sbox = Clipperz.Crypto.AES.sbox();
|
||||
|
||||
result = [ sbox[aWord[1]] ^ Clipperz.Crypto.AES.roundConstants()[aRoundConstantsIndex],
|
||||
sbox[aWord[2]],
|
||||
sbox[aWord[3]],
|
||||
sbox[aWord[0]] ];
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
'xorWithPreviousStretchValues': function(aKey, aWord, aPreviousWordIndex) {
|
||||
var result;
|
||||
var i,c;
|
||||
|
||||
result = [];
|
||||
c = 4;
|
||||
for (i=0; i<c; i++) {
|
||||
result[i] = aWord[i] ^ aKey.byteAtIndex(aPreviousWordIndex + i);
|
||||
}
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
'sboxShakeup': function(aWord) {
|
||||
var result;
|
||||
var sbox;
|
||||
var i,c;
|
||||
|
||||
result = [];
|
||||
sbox = Clipperz.Crypto.AES.sbox();
|
||||
c =4;
|
||||
for (i=0; i<c; i++) {
|
||||
result[i] = sbox[aWord[i]];
|
||||
}
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
'stretchKey': function(aKey) {
|
||||
var currentWord;
|
||||
var keyLength;
|
||||
var previousStretchIndex;
|
||||
var i,c;
|
||||
|
||||
keyLength = aKey.length();
|
||||
previousStretchIndex = keyLength - this.keySize();
|
||||
|
||||
currentWord = [ aKey.byteAtIndex(keyLength - 4),
|
||||
aKey.byteAtIndex(keyLength - 3),
|
||||
aKey.byteAtIndex(keyLength - 2),
|
||||
aKey.byteAtIndex(keyLength - 1) ];
|
||||
currentWord = this.keyScheduleCore(currentWord, keyLength / this.keySize());
|
||||
|
||||
if (this.keySize() == 256/8) {
|
||||
c = 8;
|
||||
} else if (this.keySize() == 128/8){
|
||||
c = 4;
|
||||
}
|
||||
|
||||
for (i=0; i<c; i++) {
|
||||
if (i == 4) {
|
||||
// fifth streatch word
|
||||
currentWord = this.sboxShakeup(currentWord);
|
||||
}
|
||||
|
||||
currentWord = this.xorWithPreviousStretchValues(aKey, currentWord, previousStretchIndex + (i*4));
|
||||
aKey.appendBytes(currentWord);
|
||||
}
|
||||
|
||||
return aKey;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
'stretchedKey': function() {
|
||||
if (this._stretchedKey == null) {
|
||||
var stretchedKey;
|
||||
|
||||
stretchedKey = this.key().clone();
|
||||
|
||||
while (stretchedKey.length() < this.keySize()) {
|
||||
stretchedKey.appendByte(0);
|
||||
}
|
||||
|
||||
while (stretchedKey.length() < this.b()) {
|
||||
stretchedKey = this.stretchKey(stretchedKey);
|
||||
}
|
||||
|
||||
this._stretchedKey = stretchedKey.split(0, this.b());
|
||||
}
|
||||
|
||||
return this._stretchedKey;
|
||||
},
|
||||
|
||||
//=========================================================================
|
||||
__syntaxFix__: "syntax fix"
|
||||
});
|
||||
|
||||
//#############################################################################
|
||||
|
||||
Clipperz.Crypto.AES.State = function(args) {
|
||||
args = args || {};
|
||||
|
||||
this._data = args.block;
|
||||
this._key = args.key;
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
Clipperz.Crypto.AES.State.prototype = MochiKit.Base.update(null, {
|
||||
|
||||
'key': function() {
|
||||
return this._key;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
'data': function() {
|
||||
return this._data;
|
||||
},
|
||||
|
||||
'setData': function(aValue) {
|
||||
this._data = aValue;
|
||||
},
|
||||
|
||||
//=========================================================================
|
||||
|
||||
'addRoundKey': function(aRoundNumber) {
|
||||
// each byte of the state is combined with the round key; each round key is derived from the cipher key using a key schedule.
|
||||
var data;
|
||||
var stretchedKey;
|
||||
var firstStretchedKeyIndex;
|
||||
var i,c;
|
||||
|
||||
data = this.data();
|
||||
stretchedKey = this.key().stretchedKey();
|
||||
firstStretchedKeyIndex = aRoundNumber * (128/8);
|
||||
c = 128/8;
|
||||
for (i=0; i<c; i++) {
|
||||
data[i] = data[i] ^ stretchedKey.byteAtIndex(firstStretchedKeyIndex + i);
|
||||
}
|
||||
},
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
'subBytes': function() {
|
||||
// a non-linear substitution step where each byte is replaced with another according to a lookup table.
|
||||
var i,c;
|
||||
var data;
|
||||
var sbox;
|
||||
|
||||
data = this.data();
|
||||
sbox = Clipperz.Crypto.AES.sbox();
|
||||
|
||||
c = 16;
|
||||
for (i=0; i<c; i++) {
|
||||
data[i] = sbox[data[i]];
|
||||
}
|
||||
},
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
'shiftRows': function() {
|
||||
// a transposition step where each row of the state is shifted cyclically a certain number of steps.
|
||||
var newValue;
|
||||
var data;
|
||||
var shiftMapping;
|
||||
var i,c;
|
||||
|
||||
newValue = new Array(16);
|
||||
data = this.data();
|
||||
shiftMapping = Clipperz.Crypto.AES.shiftRowMapping();
|
||||
// [0, 5, 10, 15, 4, 9, 14, 3, 8, 13, 2, 7, 12, 1, 6, 11];
|
||||
c = 16;
|
||||
for (i=0; i<c; i++) {
|
||||
newValue[i] = data[shiftMapping[i]];
|
||||
}
|
||||
for (i=0; i<c; i++) {
|
||||
data[i] = newValue[i];
|
||||
}
|
||||
},
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
/*
|
||||
'mixColumnsWithValues': function(someValues) {
|
||||
var result;
|
||||
var a;
|
||||
var i,c;
|
||||
|
||||
c = 4;
|
||||
result = [];
|
||||
a = [];
|
||||
for (i=0; i<c; i++) {
|
||||
a[i] = [];
|
||||
a[i][1] = someValues[i]
|
||||
if ((a[i][1] & 0x80) == 0x80) {
|
||||
a[i][2] = (a[i][1] << 1) ^ 0x11b;
|
||||
} else {
|
||||
a[i][2] = a[i][1] << 1;
|
||||
}
|
||||
|
||||
a[i][3] = a[i][2] ^ a[i][1];
|
||||
}
|
||||
|
||||
for (i=0; i<c; i++) {
|
||||
var x;
|
||||
|
||||
x = Clipperz.Crypto.AES.mixColumnsMatrix()[i];
|
||||
result[i] = a[0][x[0]] ^ a[1][x[1]] ^ a[2][x[2]] ^ a[3][x[3]];
|
||||
}
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
'mixColumns': function() {
|
||||
// a mixing operation which operates on the columns of the state, combining the four bytes in each column using a linear transformation.
|
||||
var data;
|
||||
var i, c;
|
||||
|
||||
data = this.data();
|
||||
c = 4;
|
||||
for(i=0; i<c; i++) {
|
||||
var blockIndex;
|
||||
var mixedValues;
|
||||
|
||||
blockIndex = i * 4;
|
||||
mixedValues = this.mixColumnsWithValues([ data[blockIndex + 0],
|
||||
data[blockIndex + 1],
|
||||
data[blockIndex + 2],
|
||||
data[blockIndex + 3]]);
|
||||
data[blockIndex + 0] = mixedValues[0];
|
||||
data[blockIndex + 1] = mixedValues[1];
|
||||
data[blockIndex + 2] = mixedValues[2];
|
||||
data[blockIndex + 3] = mixedValues[3];
|
||||
}
|
||||
},
|
||||
*/
|
||||
|
||||
'mixColumns': function() {
|
||||
// a mixing operation which operates on the columns of the state, combining the four bytes in each column using a linear transformation.
|
||||
var data;
|
||||
var i, c;
|
||||
var a_1;
|
||||
var a_2;
|
||||
|
||||
a_1 = new Array(4);
|
||||
a_2 = new Array(4);
|
||||
|
||||
data = this.data();
|
||||
c = 4;
|
||||
for(i=0; i<c; i++) {
|
||||
var blockIndex;
|
||||
var ii, cc;
|
||||
|
||||
blockIndex = i * 4;
|
||||
|
||||
cc = 4;
|
||||
for (ii=0; ii<cc; ii++) {
|
||||
var value;
|
||||
|
||||
value = data[blockIndex + ii];
|
||||
a_1[ii] = value;
|
||||
a_2[ii] = (value & 0x80) ? ((value << 1) ^ 0x011b) : (value << 1);
|
||||
}
|
||||
|
||||
data[blockIndex + 0] = a_2[0] ^ a_1[1] ^ a_2[1] ^ a_1[2] ^ a_1[3];
|
||||
data[blockIndex + 1] = a_1[0] ^ a_2[1] ^ a_1[2] ^ a_2[2] ^ a_1[3];
|
||||
data[blockIndex + 2] = a_1[0] ^ a_1[1] ^ a_2[2] ^ a_1[3] ^ a_2[3];
|
||||
data[blockIndex + 3] = a_1[0] ^ a_2[0] ^ a_1[1] ^ a_1[2] ^ a_2[3];
|
||||
}
|
||||
},
|
||||
|
||||
//=========================================================================
|
||||
|
||||
'spinRound': function(aRoundNumber) {
|
||||
this.addRoundKey(aRoundNumber);
|
||||
this.subBytes();
|
||||
this.shiftRows();
|
||||
this.mixColumns();
|
||||
},
|
||||
|
||||
'spinLastRound': function() {
|
||||
this.addRoundKey(this.key().numberOfRounds() - 1);
|
||||
this.subBytes();
|
||||
this.shiftRows();
|
||||
this.addRoundKey(this.key().numberOfRounds());
|
||||
},
|
||||
|
||||
//=========================================================================
|
||||
|
||||
'encrypt': function() {
|
||||
var i,c;
|
||||
|
||||
c = this.key().numberOfRounds() - 1;
|
||||
for (i=0; i<c; i++) {
|
||||
this.spinRound(i);
|
||||
}
|
||||
|
||||
this.spinLastRound();
|
||||
},
|
||||
|
||||
//=========================================================================
|
||||
__syntaxFix__: "syntax fix"
|
||||
});
|
||||
|
||||
//#############################################################################
|
||||
|
||||
Clipperz.Crypto.AES.VERSION = "0.1";
|
||||
Clipperz.Crypto.AES.NAME = "Clipperz.Crypto.AES";
|
||||
|
||||
MochiKit.Base.update(Clipperz.Crypto.AES, {
|
||||
|
||||
// http://www.cs.eku.edu/faculty/styer/460/Encrypt/JS-AES.html
|
||||
// http://en.wikipedia.org/wiki/Advanced_Encryption_Standard
|
||||
// http://en.wikipedia.org/wiki/Rijndael_key_schedule
|
||||
// http://en.wikipedia.org/wiki/Rijndael_S-box
|
||||
|
||||
'__repr__': function () {
|
||||
return "[" + this.NAME + " " + this.VERSION + "]";
|
||||
},
|
||||
|
||||
'toString': function () {
|
||||
return this.__repr__();
|
||||
},
|
||||
|
||||
//=============================================================================
|
||||
|
||||
'_sbox': null,
|
||||
'sbox': function() {
|
||||
if (Clipperz.Crypto.AES._sbox == null) {
|
||||
Clipperz.Crypto.AES._sbox = [
|
||||
0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76,
|
||||
0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0,
|
||||
0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15,
|
||||
0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75,
|
||||
0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84,
|
||||
0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf,
|
||||
0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8,
|
||||
0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2,
|
||||
0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73,
|
||||
0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb,
|
||||
0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79,
|
||||
0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08,
|
||||
0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a,
|
||||
0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e,
|
||||
0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf,
|
||||
0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16
|
||||
];
|
||||
}
|
||||
|
||||
return Clipperz.Crypto.AES._sbox;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// 0 4 8 12 0 4 8 12
|
||||
// 1 5 9 13 => 5 9 13 1
|
||||
// 2 6 10 14 10 14 2 6
|
||||
// 3 7 11 15 15 3 7 11
|
||||
//
|
||||
'_shiftRowMapping': null,
|
||||
'shiftRowMapping': function() {
|
||||
if (Clipperz.Crypto.AES._shiftRowMapping == null) {
|
||||
Clipperz.Crypto.AES._shiftRowMapping = [0, 5, 10, 15, 4, 9, 14, 3, 8, 13, 2, 7, 12, 1, 6, 11];
|
||||
}
|
||||
|
||||
return Clipperz.Crypto.AES._shiftRowMapping;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
'_mixColumnsMatrix': null,
|
||||
'mixColumnsMatrix': function() {
|
||||
if (Clipperz.Crypto.AES._mixColumnsMatrix == null) {
|
||||
Clipperz.Crypto.AES._mixColumnsMatrix = [ [2, 3, 1 ,1],
|
||||
[1, 2, 3, 1],
|
||||
[1, 1, 2, 3],
|
||||
[3, 1, 1, 2] ];
|
||||
}
|
||||
|
||||
return Clipperz.Crypto.AES._mixColumnsMatrix;
|
||||
},
|
||||
|
||||
'_roundConstants': null,
|
||||
'roundConstants': function() {
|
||||
if (Clipperz.Crypto.AES._roundConstants == null) {
|
||||
Clipperz.Crypto.AES._roundConstants = [ , 1, 2, 4, 8, 16, 32, 64, 128, 27, 54, 108, 216, 171, 77, 154];
|
||||
// Clipperz.Crypto.AES._roundConstants = [ , 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a];
|
||||
}
|
||||
|
||||
return Clipperz.Crypto.AES._roundConstants;
|
||||
},
|
||||
|
||||
//=============================================================================
|
||||
|
||||
'incrementNonce': function(aNonce) {
|
||||
//Clipperz.Profile.start("Clipperz.Crypto.AES.incrementNonce");
|
||||
var i;
|
||||
var done;
|
||||
|
||||
done = false;
|
||||
i = aNonce.length - 1;
|
||||
|
||||
while ((i>=0) && (done == false)) {
|
||||
var currentByteValue;
|
||||
|
||||
currentByteValue = aNonce[i];
|
||||
|
||||
if (currentByteValue == 0xff) {
|
||||
aNonce[i] = 0;
|
||||
if (i>= 0) {
|
||||
i --;
|
||||
} else {
|
||||
done = true;
|
||||
}
|
||||
} else {
|
||||
aNonce[i] = currentByteValue + 1;
|
||||
done = true;
|
||||
}
|
||||
}
|
||||
//Clipperz.Profile.stop("Clipperz.Crypto.AES.incrementNonce");
|
||||
},
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
'encryptBlock': function(aKey, aBlock) {
|
||||
var result;
|
||||
var state;
|
||||
|
||||
state = new Clipperz.Crypto.AES.State({block:aBlock, key:aKey});
|
||||
//is(state.data(), 'before');
|
||||
state.encrypt();
|
||||
result = state.data();
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
'encryptBlocks': function(aKey, aMessage, aNonce) {
|
||||
var result;
|
||||
var nonce;
|
||||
var self;
|
||||
var messageIndex;
|
||||
var messageLength;
|
||||
var blockSize;
|
||||
|
||||
self = Clipperz.Crypto.AES;
|
||||
blockSize = 128/8;
|
||||
messageLength = aMessage.length;
|
||||
nonce = aNonce;
|
||||
|
||||
result = aMessage;
|
||||
messageIndex = 0;
|
||||
while (messageIndex < messageLength) {
|
||||
var encryptedBlock;
|
||||
var i,c;
|
||||
|
||||
self.incrementNonce(nonce);
|
||||
encryptedBlock = self.encryptBlock(aKey, nonce);
|
||||
|
||||
if ((messageLength - messageIndex) > blockSize) {
|
||||
c = blockSize;
|
||||
} else {
|
||||
c = messageLength - messageIndex;
|
||||
}
|
||||
|
||||
for (i=0; i<c; i++) {
|
||||
result[messageIndex + i] = result[messageIndex + i] ^ encryptedBlock[i];
|
||||
}
|
||||
|
||||
messageIndex += blockSize;
|
||||
}
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
'encrypt': function(aKey, someData, aNonce) {
|
||||
var result;
|
||||
var nonce;
|
||||
var encryptedData;
|
||||
var key;
|
||||
|
||||
key = new Clipperz.Crypto.AES.Key({key:aKey});
|
||||
nonce = aNonce ? aNonce.clone() : Clipperz.Crypto.PRNG.defaultRandomGenerator().getRandomBytes(128/8);
|
||||
|
||||
encryptedData = Clipperz.Crypto.AES.encryptBlocks(key, someData.arrayValues(), nonce.arrayValues());
|
||||
|
||||
result = nonce.appendBytes(encryptedData);
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
'decrypt': function(aKey, someData) {
|
||||
var result;
|
||||
var nonce;
|
||||
var encryptedData;
|
||||
var decryptedData;
|
||||
var dataIterator;
|
||||
var key;
|
||||
|
||||
key = new Clipperz.Crypto.AES.Key({key:aKey});
|
||||
|
||||
encryptedData = someData.arrayValues();
|
||||
nonce = encryptedData.slice(0, (128/8));
|
||||
encryptedData = encryptedData.slice(128/8);
|
||||
decryptedData = Clipperz.Crypto.AES.encryptBlocks(key, encryptedData, nonce);
|
||||
|
||||
result = new Clipperz.ByteArray(decryptedData);
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
//=============================================================================
|
||||
|
||||
'deferredEncryptExecutionChunk': function(anExecutionContext) {
|
||||
var result;
|
||||
var nonce;
|
||||
var self;
|
||||
var messageIndex;
|
||||
var messageLength;
|
||||
var blockSize;
|
||||
var executionLimit;
|
||||
|
||||
self = Clipperz.Crypto.AES;
|
||||
blockSize = 128/8;
|
||||
messageLength = anExecutionContext.messageArray().length;
|
||||
nonce = anExecutionContext.nonceArray();
|
||||
result = anExecutionContext.resultArray();
|
||||
|
||||
messageIndex = anExecutionContext.executionStep();
|
||||
executionLimit = messageIndex + anExecutionContext.elaborationChunkSize();
|
||||
executionLimit = Math.min(executionLimit, messageLength);
|
||||
|
||||
while (messageIndex < executionLimit) {
|
||||
var encryptedBlock;
|
||||
var i,c;
|
||||
|
||||
self.incrementNonce(nonce);
|
||||
encryptedBlock = self.encryptBlock(anExecutionContext.key(), nonce);
|
||||
|
||||
if ((executionLimit - messageIndex) > blockSize) {
|
||||
c = blockSize;
|
||||
} else {
|
||||
c = executionLimit - messageIndex;
|
||||
}
|
||||
|
||||
for (i=0; i<c; i++) {
|
||||
result[messageIndex + i] = result[messageIndex + i] ^ encryptedBlock[i];
|
||||
}
|
||||
|
||||
messageIndex += blockSize;
|
||||
}
|
||||
anExecutionContext.setExecutionStep(messageIndex);
|
||||
|
||||
return anExecutionContext;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
'deferredEncryptBlocks': function(anExecutionContext) {
|
||||
var deferredResult;
|
||||
var messageSize;
|
||||
var i,c;
|
||||
var now;
|
||||
|
||||
messageSize = anExecutionContext.messageLength();
|
||||
|
||||
deferredResult = new MochiKit.Async.Deferred();
|
||||
//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Clipperz.Crypto.AES.deferredEncryptBlocks - START: " + res); return res;});
|
||||
// deferredResult.addCallback(MochiKit.Base.method(anExecutionContext, 'pause'));
|
||||
|
||||
c = Math.ceil(messageSize / anExecutionContext.elaborationChunkSize());
|
||||
for (i=0; i<c; i++) {
|
||||
//deferredResult.addBoth(function(res) {now = new Date(); return res;});
|
||||
//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Clipperz.Crypto.AES.deferredEncryptBlocks - : (" + i + ") - " + res); return res;});
|
||||
deferredResult.addCallback(Clipperz.Crypto.AES.deferredEncryptExecutionChunk);
|
||||
//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("[" + (new Date() - now) + "]Clipperz.Crypto.AES.deferredEncryptBlocks"); return res;});
|
||||
//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Clipperz.Crypto.AES.deferredEncryptBlocks - : (" + i + ") -- " + res); return res;});
|
||||
deferredResult.addCallback(MochiKit.Base.method(anExecutionContext, 'pause'));
|
||||
//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Clipperz.Crypto.AES.deferredEncryptBlocks - : (" + i + ") --- " + res); return res;});
|
||||
}
|
||||
//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Clipperz.Crypto.AES.deferredEncryptBlocks - END: " + res); return res;});
|
||||
|
||||
deferredResult.callback(anExecutionContext);
|
||||
|
||||
return deferredResult;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
'deferredEncrypt': function(aKey, someData, aNonce) {
|
||||
var deferredResult;
|
||||
var executionContext;
|
||||
var result;
|
||||
var nonce;
|
||||
var key;
|
||||
|
||||
key = new Clipperz.Crypto.AES.Key({key:aKey});
|
||||
nonce = aNonce ? aNonce.clone() : Clipperz.Crypto.PRNG.defaultRandomGenerator().getRandomBytes(128/8);
|
||||
|
||||
executionContext = new Clipperz.Crypto.AES.DeferredExecutionContext({key:key, message:someData, nonce:nonce});
|
||||
|
||||
deferredResult = new MochiKit.Async.Deferred();
|
||||
//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Clipperz.Crypto.AES.deferredEncrypt - 1: " + res); return res;});
|
||||
deferredResult.addCallback(Clipperz.Crypto.AES.deferredEncryptBlocks);
|
||||
//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Clipperz.Crypto.AES.deferredEncrypt - 2: " + res); return res;});
|
||||
deferredResult.addCallback(function(anExecutionContext) {
|
||||
var result;
|
||||
|
||||
result = anExecutionContext.nonce().clone();
|
||||
result.appendBytes(anExecutionContext.resultArray());
|
||||
|
||||
return result;
|
||||
});
|
||||
//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Clipperz.Crypto.AES.deferredEncrypt - 3: " + res); return res;});
|
||||
deferredResult.callback(executionContext)
|
||||
|
||||
return deferredResult;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
'deferredDecrypt': function(aKey, someData) {
|
||||
var deferredResult
|
||||
var nonce;
|
||||
var message;
|
||||
var key;
|
||||
|
||||
key = new Clipperz.Crypto.AES.Key({key:aKey});
|
||||
nonce = someData.split(0, (128/8));
|
||||
message = someData.split(128/8);
|
||||
executionContext = new Clipperz.Crypto.AES.DeferredExecutionContext({key:key, message:message, nonce:nonce});
|
||||
|
||||
deferredResult = new MochiKit.Async.Deferred();
|
||||
deferredResult.addCallback(Clipperz.Crypto.AES.deferredEncryptBlocks);
|
||||
deferredResult.addCallback(function(anExecutionContext) {
|
||||
return anExecutionContext.result();
|
||||
});
|
||||
deferredResult.callback(executionContext);
|
||||
|
||||
return deferredResult;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
__syntaxFix__: "syntax fix"
|
||||
|
||||
});
|
||||
|
||||
//#############################################################################
|
||||
|
||||
Clipperz.Crypto.AES.DeferredExecution = {
|
||||
'chunkSize': 4096, // 1024 4096 8192 16384 32768;
|
||||
'pauseTime': 0.2
|
||||
}
|
||||
|
||||
Clipperz.Crypto.AES.exception = {
|
||||
'UnsupportedKeySize': new MochiKit.Base.NamedError("Clipperz.Crypto.AES.exception.UnsupportedKeySize")
|
||||
};
|
||||
1852
frontend/beta/js/Clipperz/Crypto/Base.js
Normal file
1852
frontend/beta/js/Clipperz/Crypto/Base.js
Normal file
File diff suppressed because it is too large
Load Diff
1760
frontend/beta/js/Clipperz/Crypto/BigInt.js
Normal file
1760
frontend/beta/js/Clipperz/Crypto/BigInt.js
Normal file
File diff suppressed because it is too large
Load Diff
1649
frontend/beta/js/Clipperz/Crypto/BigInt_scoped.js
Normal file
1649
frontend/beta/js/Clipperz/Crypto/BigInt_scoped.js
Normal file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user