diff -r 5e8fd89c02ea -r a38876c0793c includes/clientside/static/base64.js --- a/includes/clientside/static/base64.js Sun Jun 22 18:13:59 2008 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,113 +0,0 @@ -// Base64 encoder/decoder - pulled from http://ostermiller.org/calc/encode.html. Licensed under the GPL. - -var END_OF_INPUT = -1; - -var base64Chars = new Array( - 'A','B','C','D','E','F','G','H', - 'I','J','K','L','M','N','O','P', - 'Q','R','S','T','U','V','W','X', - 'Y','Z','a','b','c','d','e','f', - 'g','h','i','j','k','l','m','n', - 'o','p','q','r','s','t','u','v', - 'w','x','y','z','0','1','2','3', - '4','5','6','7','8','9','+','/' -); - -var reverseBase64Chars = new Array(); -for (var i=0; i < base64Chars.length; i++){ - reverseBase64Chars[base64Chars[i]] = i; -} - -var base64Str; -var base64Count; - -function setBase64Str(str){ - base64Str = str; - base64Count = 0; -} -function readBase64(){ - if (!base64Str) return END_OF_INPUT; - if (base64Count >= base64Str.length) return END_OF_INPUT; - var c = base64Str.charCodeAt(base64Count) & 0xff; - base64Count++; - return c; -} -function encodeBase64(str){ - setBase64Str(str); - var result = ''; - var inBuffer = new Array(3); - var lineCount = 0; - var done = false; - while (!done && (inBuffer[0] = readBase64()) != END_OF_INPUT){ - inBuffer[1] = readBase64(); - inBuffer[2] = readBase64(); - result += (base64Chars[ inBuffer[0] >> 2 ]); - if (inBuffer[1] != END_OF_INPUT){ - result += (base64Chars [(( inBuffer[0] << 4 ) & 0x30) | (inBuffer[1] >> 4) ]); - if (inBuffer[2] != END_OF_INPUT){ - result += (base64Chars [((inBuffer[1] << 2) & 0x3c) | (inBuffer[2] >> 6) ]); - result += (base64Chars [inBuffer[2] & 0x3F]); - } else { - result += (base64Chars [((inBuffer[1] << 2) & 0x3c)]); - result += ('='); - done = true; - } - } else { - result += (base64Chars [(( inBuffer[0] << 4 ) & 0x30)]); - result += ('='); - result += ('='); - done = true; - } - lineCount += 4; - if (lineCount >= 76){ - result += ('\n'); - lineCount = 0; - } - } - return result; -} -function readReverseBase64(){ - if (!base64Str) return END_OF_INPUT; - while (true){ - if (base64Count >= base64Str.length) return END_OF_INPUT; - var nextCharacter = base64Str.charAt(base64Count); - base64Count++; - if (reverseBase64Chars[nextCharacter]){ - return reverseBase64Chars[nextCharacter]; - } - if (nextCharacter == 'A') return 0; - } - return END_OF_INPUT; -} - -function ntos(n){ - n=n.toString(16); - if (n.length == 1) n="0"+n; - n="%"+n; - return unescape(n); -} - -function decodeBase64(str){ - setBase64Str(str); - var result = ""; - var inBuffer = new Array(4); - var done = false; - while (!done && (inBuffer[0] = readReverseBase64()) != END_OF_INPUT - && (inBuffer[1] = readReverseBase64()) != END_OF_INPUT){ - inBuffer[2] = readReverseBase64(); - inBuffer[3] = readReverseBase64(); - result += ntos((((inBuffer[0] << 2) & 0xff)| inBuffer[1] >> 4)); - if (inBuffer[2] != END_OF_INPUT){ - result += ntos((((inBuffer[1] << 4) & 0xff)| inBuffer[2] >> 2)); - if (inBuffer[3] != END_OF_INPUT){ - result += ntos((((inBuffer[2] << 6) & 0xff) | inBuffer[3])); - } else { - done = true; - } - } else { - done = true; - } - } - return result; -} -