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