summaryrefslogtreecommitdiff
path: root/frontend/beta/js/Bookmarklet.js
Side-by-side diff
Diffstat (limited to 'frontend/beta/js/Bookmarklet.js') (more/less context) (ignore whitespace changes)
-rw-r--r--frontend/beta/js/Bookmarklet.js15
1 files changed, 6 insertions, 9 deletions
diff --git a/frontend/beta/js/Bookmarklet.js b/frontend/beta/js/Bookmarklet.js
index b8a0c0e..59f4fef 100644
--- a/frontend/beta/js/Bookmarklet.js
+++ b/frontend/beta/js/Bookmarklet.js
@@ -1,152 +1,149 @@
/*
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.
+This file is part of Clipperz Community Edition.
+Clipperz Community Edition is an online password manager.
For further information about its features and functionalities please
-refer to http://www.clipperz.com
+refer to http://www.clipperz.com.
-* Javascript Crypto Library is free software: you can redistribute
+* Clipperz Community Edition 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
+* Clipperz Community Edition 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
+ License along with Clipperz Community Edition. If not, see
<http://www.gnu.org/licenses/>.
*/
_cble = null;
//-----------------------------------------------------------------------------
isLoginForm = function(aForm) {
var inputFields;
var passwordFieldsFound;
var i,c;
//console.log('is login form: ' + aForm.name + ' (' + aForm.id + ')');
passwordFieldsFound = 0;
inputFields = aForm.elements;
c = inputFields.length;
for (i=0; i<c; i++) {
if (inputFields[i].type == 'password') {
passwordFieldsFound ++;
}
}
//console.log('number of password fields found: ' + passwordFieldsFound);
return (passwordFieldsFound == 1);
};
//-----------------------------------------------------------------------------
findLoginForm = function(aDocument, aLevel) {
var result;
var documentForms;
var i,c;
result = null;
try {
documentForms = aDocument.getElementsByTagName('form');
c = documentForms.length;
for (i=0; (i<c) && (result == null); i++) {
if (isLoginForm(documentForms[i])) {
result = documentForms[i];
}
}
if ((result == null) && (aLevel == 0)) {
var iFrames;
iFrames = aDocument.getElementsByTagName('iframe');
c = iFrames.length;
for (i=0; (i<c) && (result == null); i++) {
result = findLoginForm(iFrames[i].contentDocument, (aLevel + 1));
}
}
} catch (e) {
_cble = e;
}
return result;
};
//-----------------------------------------------------------------------------
inputElementValues = function(anInputElement) {
var result;
// if ((anInputElement instanceof HTMLInputElement) && (anInputElement.getAttribute('name') != null)) {
if ((anInputElement.tagName.toLowerCase() == 'input') && (anInputElement.getAttribute('name') != null)) {
result = {};
result.type = anInputElement.getAttribute('type') || 'text';
result.name = anInputElement.getAttribute('name');
// result.value = anInputElement.getAttribute('value');
result.value = anInputElement.value;
if (anInputElement.type.toLowerCase() == 'radio') {
result.checked = anInputElement.checked;
}
// } else if ((anInputElement instanceof HTMLSelectElement) && (anInputElement.getAttribute('name') != null)) {
} else if ((anInputElement.tagName.toLowerCase() == 'select') && (anInputElement.getAttribute('name') != null)) {
var options;
var c,i;
//console.log('input element values: %o', anInputElement);
result = {};
result.type = 'select';
result.name = anInputElement.getAttribute('name');
result.options = [];
options = anInputElement.options;
c = options.length;
for (i=0; i<c; i++) {
var option;
option = {};
option.selected = options[i].selected;
option.label = options[i].label || options[i].innerHTML;
option.value = options[i].value;
result.options.push(option);
}
} else {
result = null;
}
return result;
};
//-----------------------------------------------------------------------------
formParameters = function(aLoginForm) {
var result;
var i, c;
var action;
if (aLoginForm == null) {
result = null;
} else {
var radioValues;
var radioValueName;
result = {};
radioValues = {};
action = aLoginForm.action;
if (action.constructor != String) {
action = aLoginForm.getAttribute('action');
}
if (/^https?\:\/\/.*/.test(action)) {
action = action;