summaryrefslogtreecommitdiffstats
path: root/etherpad/src/static/js/billing_shared.js
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2010-06-08 08:22:05 +0200
committerAlexander Sulfrian <alexander@sulfrian.net>2010-06-08 08:22:05 +0200
commitd7c5ad7d6263fd1baf9bfdbaa4c50b70ef2fbdb2 (patch)
treeae0b65da6432f4c26c8d5a7319efbda5d172846c /etherpad/src/static/js/billing_shared.js
parentfa61221dcd89fcd72cba2c97971626f456c86e5d (diff)
downloadetherpad-d7c5ad7d6263fd1baf9bfdbaa4c50b70ef2fbdb2.tar.gz
etherpad-d7c5ad7d6263fd1baf9bfdbaa4c50b70ef2fbdb2.tar.bz2
etherpad-d7c5ad7d6263fd1baf9bfdbaa4c50b70ef2fbdb2.zip
reverted folder structure change for better mergeing with upstream
Diffstat (limited to 'etherpad/src/static/js/billing_shared.js')
-rw-r--r--etherpad/src/static/js/billing_shared.js94
1 files changed, 0 insertions, 94 deletions
diff --git a/etherpad/src/static/js/billing_shared.js b/etherpad/src/static/js/billing_shared.js
deleted file mode 100644
index dc3a00c..0000000
--- a/etherpad/src/static/js/billing_shared.js
+++ /dev/null
@@ -1,94 +0,0 @@
-/**
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS-IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var billing = {};
-
-billing.CC = function(shortName, prefixes, length) {
- this.type = shortName;
- this.prefixes = prefixes;
- this.length = length;
- function validateLuhn(number) {
- var digits = [];
- var sum = 0;
- for (var i = 0; i < number.length; ++i) {
- var c = Number(number.charAt(number.length-1-i));
- sum += c;
- if (i % 2 == 1) { // every second digit
- sum += c;
- if (2*c >= 10) {
- sum -= 9;
- }
- }
- }
- return (sum % 10 == 0);
- }
- this.validatePrefix = function(number) {
- for (var i = 0; i < this.prefixes.length; ++i) {
- if (number.indexOf(String(this.prefixes[i])) == 0) {
- return true;
- }
- }
- return false;
- }
- this.validateLength = function(number) {
- return number.length == this.length;
- }
-
- this.validateNumber = function(number) {
- return this.validateLength(number) &&
- this.validatePrefix(number) &&
- validateLuhn(number);
- }
-}
-
-billing.ccTypes = [
- new billing.CC('amex', [34, 37], 15),
- new billing.CC('disc', [6011, 644, 645, 646, 647, 648, 649, 65], 16),
- new billing.CC('mc', [51, 52, 53, 54, 55], 16),
- new billing.CC('visa', [4], 16)];
-
-billing.validateCcNumber = function(number) {
- if (! (/^\d+$/.test(number))) {
- return false;
- }
- for (var i = 0; i < billing.ccTypes.length; ++i) {
- var ccType = billing.ccTypes[i];
- if (ccType.validatePrefix(number)) {
- return ccType.validateNumber(number);
- }
- }
- return false;
-}
-
-billing.validateCcLength = function(number) {
- for (var i = 0; i < billing.ccTypes.length; ++i) {
- var ccType = billing.ccTypes[i];
- if (ccType.validatePrefix(number)) {
- return ccType.validateLength(number);
- }
- }
- return false;
-}
-
-billing.getCcType = function(number) {
- for (var i = 0; i < billing.ccTypes.length; ++i) {
- var ccType = billing.ccTypes[i];
- if (ccType.validatePrefix(number)) {
- return ccType.type;
- }
- }
- return false;
-}