Initialer Commit in GIT
This commit is contained in:
393
public/js/aeo.js
Normal file
393
public/js/aeo.js
Normal file
@ -0,0 +1,393 @@
|
||||
var map;
|
||||
|
||||
onReadyAeo(function() {
|
||||
aeo_dom_ready();
|
||||
});
|
||||
|
||||
function aeo_dom_ready() {
|
||||
if (window.MooTools) {
|
||||
doWithMootols();
|
||||
} else if (window.jQuery) {
|
||||
doWithJQuery();
|
||||
}
|
||||
}
|
||||
|
||||
function doWithMootols() {
|
||||
$$('a').filter(function(el) {
|
||||
return el.getAttribute('name') != null &&
|
||||
el.getAttribute('name').match('^aeo-obfuscated-') == 'aeo-obfuscated-'
|
||||
}).each(function(el) {
|
||||
if (!el.hasClass('aeo-with-title')) {
|
||||
el.setAttribute('title',tooltip_js_on);
|
||||
}
|
||||
aeo_prepare_link(el);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function doWithJQuery() {
|
||||
jQuery('a[name^="aeo-obfuscated-"]').each(function(i, el) {
|
||||
if (!$(el).hasClass('aeo-with-title')) {
|
||||
$(el).attr('title',tooltip_js_on);
|
||||
}
|
||||
aeo_prepare_link(el);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function aeo_prepare_link(el) {
|
||||
el.setAttribute('href', 'javascript:aeo_link_decode(\'' + el.getAttribute('href') + '\');');
|
||||
}
|
||||
|
||||
function rot13init() {
|
||||
this.map = new Array();
|
||||
var s = "abcdefghijklmnopqrstuvwxyz";
|
||||
for (var i = 0 ; i < s.length ; i++)
|
||||
this.map[s.charAt(i)] = s.charAt((i+13)%26);
|
||||
for (var i = 0 ; i < s.length ; i++)
|
||||
this.map[s.charAt(i).toUpperCase()] = s.charAt((i+13)%26).toUpperCase();
|
||||
}
|
||||
|
||||
function str_rot13(a) {
|
||||
if (this.map === undefined) {
|
||||
rot13init();
|
||||
}
|
||||
|
||||
var s = "";
|
||||
for (var i = 0 ; i < a.length ; i++) {
|
||||
var b = a.charAt(i);
|
||||
s += (b>='A' && b<='Z' || b>='a' && b<='z' ? this.map[b] : b);
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
function base64_decode (data) {
|
||||
// Decodes string using MIME base64 algorithm
|
||||
//
|
||||
// version: 1109.2015
|
||||
// discuss at: http://phpjs.org/functions/base64_decode
|
||||
// + original by: Tyler Akins (http://rumkin.com)
|
||||
// + improved by: Thunder.m
|
||||
// + input by: Aman Gupta
|
||||
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
|
||||
// + bugfixed by: Onno Marsman
|
||||
// + bugfixed by: Pellentesque Malesuada
|
||||
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
|
||||
// + input by: Brett Zamir (http://brett-zamir.me)
|
||||
// + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
|
||||
// - depends on: utf8_decode
|
||||
// * example 1: base64_decode('S2V2aW4gdmFuIFpvbm5ldmVsZA==');
|
||||
// * returns 1: 'Kevin van Zonneveld'
|
||||
// mozilla has this native
|
||||
// - but breaks in 2.0.0.12!
|
||||
// if (typeof this.window['btoa'] == 'function') {
|
||||
// return btoa(data);
|
||||
// }
|
||||
var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
|
||||
var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,
|
||||
ac = 0,
|
||||
dec = "",
|
||||
tmp_arr = [];
|
||||
|
||||
if (!data) {
|
||||
return data;
|
||||
}
|
||||
|
||||
data += '';
|
||||
|
||||
do { // unpack four hexets into three octets using index points in b64
|
||||
h1 = b64.indexOf(data.charAt(i++));
|
||||
h2 = b64.indexOf(data.charAt(i++));
|
||||
h3 = b64.indexOf(data.charAt(i++));
|
||||
h4 = b64.indexOf(data.charAt(i++));
|
||||
|
||||
bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;
|
||||
|
||||
o1 = bits >> 16 & 0xff;
|
||||
o2 = bits >> 8 & 0xff;
|
||||
o3 = bits & 0xff;
|
||||
|
||||
if (h3 == 64) {
|
||||
tmp_arr[ac++] = String.fromCharCode(o1);
|
||||
} else if (h4 == 64) {
|
||||
tmp_arr[ac++] = String.fromCharCode(o1, o2);
|
||||
} else {
|
||||
tmp_arr[ac++] = String.fromCharCode(o1, o2, o3);
|
||||
}
|
||||
} while (i < data.length);
|
||||
|
||||
dec = tmp_arr.join('');
|
||||
dec = this.utf8_decode(dec);
|
||||
|
||||
return dec;
|
||||
}
|
||||
|
||||
function utf8_decode (str_data) {
|
||||
// Converts a UTF-8 encoded string to ISO-8859-1
|
||||
//
|
||||
// version: 1109.2015
|
||||
// discuss at: http://phpjs.org/functions/utf8_decode
|
||||
// + original by: Webtoolkit.info (http://www.webtoolkit.info/)
|
||||
// + input by: Aman Gupta
|
||||
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
|
||||
// + improved by: Norman "zEh" Fuchs
|
||||
// + bugfixed by: hitwork
|
||||
// + bugfixed by: Onno Marsman
|
||||
// + input by: Brett Zamir (http://brett-zamir.me)
|
||||
// + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
|
||||
// * example 1: utf8_decode('Kevin van Zonneveld');
|
||||
// * returns 1: 'Kevin van Zonneveld'
|
||||
var tmp_arr = [],
|
||||
i = 0,
|
||||
ac = 0,
|
||||
c1 = 0,
|
||||
c2 = 0,
|
||||
c3 = 0;
|
||||
|
||||
str_data += '';
|
||||
|
||||
while (i < str_data.length) {
|
||||
c1 = str_data.charCodeAt(i);
|
||||
if (c1 < 128) {
|
||||
tmp_arr[ac++] = String.fromCharCode(c1);
|
||||
i++;
|
||||
} else if (c1 > 191 && c1 < 224) {
|
||||
c2 = str_data.charCodeAt(i + 1);
|
||||
tmp_arr[ac++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));
|
||||
i += 2;
|
||||
} else {
|
||||
c2 = str_data.charCodeAt(i + 1);
|
||||
c3 = str_data.charCodeAt(i + 2);
|
||||
tmp_arr[ac++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
|
||||
i += 3;
|
||||
}
|
||||
}
|
||||
|
||||
return tmp_arr.join('');
|
||||
}
|
||||
|
||||
function strpos (haystack, needle, offset) {
|
||||
// Finds position of first occurrence of a string within another
|
||||
//
|
||||
// version: 1109.2015
|
||||
// discuss at: http://phpjs.org/functions/strpos
|
||||
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
|
||||
// + improved by: Onno Marsman
|
||||
// + bugfixed by: Daniel Esteban
|
||||
// + improved by: Brett Zamir (http://brett-zamir.me)
|
||||
// * example 1: strpos('Kevin van Zonneveld', 'e', 5);
|
||||
// * returns 1: 14
|
||||
var i = (haystack + '').indexOf(needle, (offset || 0));
|
||||
return i === -1 ? false : i;
|
||||
}
|
||||
|
||||
function html_entity_decode (string, quote_style) {
|
||||
// Convert all HTML entities to their applicable characters
|
||||
//
|
||||
// version: 1109.2015
|
||||
// discuss at: http://phpjs.org/functions/html_entity_decode
|
||||
// + original by: john (http://www.jd-tech.net)
|
||||
// + input by: ger
|
||||
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
|
||||
// + revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
|
||||
// + bugfixed by: Onno Marsman
|
||||
// + improved by: marc andreu
|
||||
// + revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
|
||||
// + input by: Ratheous
|
||||
// + bugfixed by: Brett Zamir (http://brett-zamir.me)
|
||||
// + input by: Nick Kolosov (http://sammy.ru)
|
||||
// + bugfixed by: Fox
|
||||
// - depends on: get_html_translation_table
|
||||
// * example 1: html_entity_decode('Kevin & van Zonneveld');
|
||||
// * returns 1: 'Kevin & van Zonneveld'
|
||||
// * example 2: html_entity_decode('&lt;');
|
||||
// * returns 2: '<'
|
||||
var hash_map = {},
|
||||
symbol = '',
|
||||
tmp_str = '',
|
||||
entity = '';
|
||||
tmp_str = string.toString();
|
||||
|
||||
if (false === (hash_map = this.get_html_translation_table('HTML_ENTITIES', quote_style))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// fix & problem
|
||||
// http://phpjs.org/functions/get_html_translation_table:416#comment_97660
|
||||
delete(hash_map['&']);
|
||||
hash_map['&'] = '&';
|
||||
|
||||
for (symbol in hash_map) {
|
||||
entity = hash_map[symbol];
|
||||
tmp_str = tmp_str.split(entity).join(symbol);
|
||||
}
|
||||
tmp_str = tmp_str.split(''').join("'");
|
||||
|
||||
return tmp_str;
|
||||
}
|
||||
|
||||
function get_html_translation_table (table, quote_style) {
|
||||
// Returns the internal translation table used by htmlspecialchars and htmlentities
|
||||
//
|
||||
// version: 1109.2015
|
||||
// discuss at: http://phpjs.org/functions/get_html_translation_table
|
||||
// + original by: Philip Peterson
|
||||
// + revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
|
||||
// + bugfixed by: noname
|
||||
// + bugfixed by: Alex
|
||||
// + bugfixed by: Marco
|
||||
// + bugfixed by: madipta
|
||||
// + improved by: KELAN
|
||||
// + improved by: Brett Zamir (http://brett-zamir.me)
|
||||
// + bugfixed by: Brett Zamir (http://brett-zamir.me)
|
||||
// + input by: Frank Forte
|
||||
// + bugfixed by: T.Wild
|
||||
// + input by: Ratheous
|
||||
// % note: It has been decided that we're not going to add global
|
||||
// % note: dependencies to php.js, meaning the constants are not
|
||||
// % note: real constants, but strings instead. Integers are also supported if someone
|
||||
// % note: chooses to create the constants themselves.
|
||||
// * example 1: get_html_translation_table('HTML_SPECIALCHARS');
|
||||
// * returns 1: {'"': '"', '&': '&', '<': '<', '>': '>'}
|
||||
var entities = {},
|
||||
hash_map = {},
|
||||
decimal = null;
|
||||
var constMappingTable = {},
|
||||
constMappingQuoteStyle = {};
|
||||
var useTable = {},
|
||||
useQuoteStyle = {};
|
||||
|
||||
// Translate arguments
|
||||
constMappingTable[0] = 'HTML_SPECIALCHARS';
|
||||
constMappingTable[1] = 'HTML_ENTITIES';
|
||||
constMappingQuoteStyle[0] = 'ENT_NOQUOTES';
|
||||
constMappingQuoteStyle[2] = 'ENT_COMPAT';
|
||||
constMappingQuoteStyle[3] = 'ENT_QUOTES';
|
||||
|
||||
useTable = !isNaN(table) ? constMappingTable[table] : table ? table.toUpperCase() : 'HTML_SPECIALCHARS';
|
||||
useQuoteStyle = !isNaN(quote_style) ? constMappingQuoteStyle[quote_style] : quote_style ? quote_style.toUpperCase() : 'ENT_COMPAT';
|
||||
|
||||
if (useTable !== 'HTML_SPECIALCHARS' && useTable !== 'HTML_ENTITIES') {
|
||||
throw new Error("Table: " + useTable + ' not supported');
|
||||
// return false;
|
||||
}
|
||||
|
||||
entities['38'] = '&';
|
||||
if (useTable === 'HTML_ENTITIES') {
|
||||
entities['160'] = ' ';
|
||||
entities['161'] = '¡';
|
||||
entities['162'] = '¢';
|
||||
entities['163'] = '£';
|
||||
entities['164'] = '¤';
|
||||
entities['165'] = '¥';
|
||||
entities['166'] = '¦';
|
||||
entities['167'] = '§';
|
||||
entities['168'] = '¨';
|
||||
entities['169'] = '©';
|
||||
entities['170'] = 'ª';
|
||||
entities['171'] = '«';
|
||||
entities['172'] = '¬';
|
||||
entities['173'] = '­';
|
||||
entities['174'] = '®';
|
||||
entities['175'] = '¯';
|
||||
entities['176'] = '°';
|
||||
entities['177'] = '±';
|
||||
entities['178'] = '²';
|
||||
entities['179'] = '³';
|
||||
entities['180'] = '´';
|
||||
entities['181'] = 'µ';
|
||||
entities['182'] = '¶';
|
||||
entities['183'] = '·';
|
||||
entities['184'] = '¸';
|
||||
entities['185'] = '¹';
|
||||
entities['186'] = 'º';
|
||||
entities['187'] = '»';
|
||||
entities['188'] = '¼';
|
||||
entities['189'] = '½';
|
||||
entities['190'] = '¾';
|
||||
entities['191'] = '¿';
|
||||
entities['192'] = 'À';
|
||||
entities['193'] = 'Á';
|
||||
entities['194'] = 'Â';
|
||||
entities['195'] = 'Ã';
|
||||
entities['196'] = 'Ä';
|
||||
entities['197'] = 'Å';
|
||||
entities['198'] = 'Æ';
|
||||
entities['199'] = 'Ç';
|
||||
entities['200'] = 'È';
|
||||
entities['201'] = 'É';
|
||||
entities['202'] = 'Ê';
|
||||
entities['203'] = 'Ë';
|
||||
entities['204'] = 'Ì';
|
||||
entities['205'] = 'Í';
|
||||
entities['206'] = 'Î';
|
||||
entities['207'] = 'Ï';
|
||||
entities['208'] = 'Ð';
|
||||
entities['209'] = 'Ñ';
|
||||
entities['210'] = 'Ò';
|
||||
entities['211'] = 'Ó';
|
||||
entities['212'] = 'Ô';
|
||||
entities['213'] = 'Õ';
|
||||
entities['214'] = 'Ö';
|
||||
entities['215'] = '×';
|
||||
entities['216'] = 'Ø';
|
||||
entities['217'] = 'Ù';
|
||||
entities['218'] = 'Ú';
|
||||
entities['219'] = 'Û';
|
||||
entities['220'] = 'Ü';
|
||||
entities['221'] = 'Ý';
|
||||
entities['222'] = 'Þ';
|
||||
entities['223'] = 'ß';
|
||||
entities['224'] = 'à';
|
||||
entities['225'] = 'á';
|
||||
entities['226'] = 'â';
|
||||
entities['227'] = 'ã';
|
||||
entities['228'] = 'ä';
|
||||
entities['229'] = 'å';
|
||||
entities['230'] = 'æ';
|
||||
entities['231'] = 'ç';
|
||||
entities['232'] = 'è';
|
||||
entities['233'] = 'é';
|
||||
entities['234'] = 'ê';
|
||||
entities['235'] = 'ë';
|
||||
entities['236'] = 'ì';
|
||||
entities['237'] = 'í';
|
||||
entities['238'] = 'î';
|
||||
entities['239'] = 'ï';
|
||||
entities['240'] = 'ð';
|
||||
entities['241'] = 'ñ';
|
||||
entities['242'] = 'ò';
|
||||
entities['243'] = 'ó';
|
||||
entities['244'] = 'ô';
|
||||
entities['245'] = 'õ';
|
||||
entities['246'] = 'ö';
|
||||
entities['247'] = '÷';
|
||||
entities['248'] = 'ø';
|
||||
entities['249'] = 'ù';
|
||||
entities['250'] = 'ú';
|
||||
entities['251'] = 'û';
|
||||
entities['252'] = 'ü';
|
||||
entities['253'] = 'ý';
|
||||
entities['254'] = 'þ';
|
||||
entities['255'] = 'ÿ';
|
||||
}
|
||||
|
||||
if (useQuoteStyle !== 'ENT_NOQUOTES') {
|
||||
entities['34'] = '"';
|
||||
}
|
||||
if (useQuoteStyle === 'ENT_QUOTES') {
|
||||
entities['39'] = ''';
|
||||
}
|
||||
entities['60'] = '<';
|
||||
entities['62'] = '>';
|
||||
|
||||
|
||||
// ascii decimals to real symbols
|
||||
for (decimal in entities) {
|
||||
if (entities.hasOwnProperty(decimal)) {
|
||||
hash_map[String.fromCharCode(decimal)] = entities[decimal];
|
||||
}
|
||||
}
|
||||
|
||||
return hash_map;
|
||||
}
|
75
public/js/onReadyAeo.js
Normal file
75
public/js/onReadyAeo.js
Normal file
@ -0,0 +1,75 @@
|
||||
var readyListAeo = [];
|
||||
|
||||
function onReadyAeo(handler) {
|
||||
|
||||
function executeHandlers() {
|
||||
for ( var i = 0; i < readyListAeo.length; i++) {
|
||||
readyListAeo[i]();
|
||||
}
|
||||
}
|
||||
|
||||
if (!readyListAeo.length) { // set handler on first run
|
||||
bindReady(executeHandlers);
|
||||
}
|
||||
|
||||
readyListAeo.push(handler);
|
||||
}
|
||||
|
||||
function bindReady(handler) {
|
||||
|
||||
var called = false;
|
||||
|
||||
function ready() {
|
||||
if (called)
|
||||
return
|
||||
|
||||
called = true;
|
||||
handler();
|
||||
}
|
||||
|
||||
if (document.addEventListener) { // native event
|
||||
document.addEventListener("DOMContentLoaded", ready, false);
|
||||
} else if (document.attachEvent) { // IE
|
||||
|
||||
try {
|
||||
var isFrame = window.frameElement != null;
|
||||
} catch (e) {
|
||||
}
|
||||
|
||||
// IE, the document is not inside a frame
|
||||
if (document.documentElement.doScroll && !isFrame) {
|
||||
function tryScroll() {
|
||||
if (called)
|
||||
return;
|
||||
try {
|
||||
document.documentElement.doScroll("left");
|
||||
ready();
|
||||
} catch (e) {
|
||||
setTimeout(tryScroll, 10);
|
||||
}
|
||||
}
|
||||
tryScroll();
|
||||
}
|
||||
|
||||
// IE, the document is inside a frame
|
||||
document.attachEvent("onreadystatechange", function() {
|
||||
if (document.readyState === "complete") {
|
||||
ready();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Old browsers
|
||||
if (window.addEventListener)
|
||||
window.addEventListener('load', ready, false);
|
||||
else if (window.attachEvent)
|
||||
window.attachEvent('onload', ready);
|
||||
else {
|
||||
var fn = window.onload; // very old browser, copy old onload
|
||||
window.onload = function() { // replace by new onload and call the
|
||||
// old one
|
||||
fn && fn();
|
||||
ready();
|
||||
};
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user